2010年02月22日

ubuntu間でX windowを使ったリモートデスクトップ

Intel Core i7を搭載した新しいPCが来た。
古いPCは引き続き端末として使い、処理は新しいPCに集中させることにする。
家族には、新PCのコンソールをwindowsで使ってもらい、ぼくは裏でリモートデスクトップで旧PCを使う計画。
アーキテクチャは、下図のようになる。
旧PCは、X端末としてディスプレイサーバのみとし、ウィンドウ処理含めてアプリケーション稼働は新PCにする。



原理は以下のとおり。
旧PCをローカルPCといい、X windowのディスプレイサーバが動作している。ローカルPCは画面描画機能および入出力を利用者に提供する。
新PCをリモートPCといい、ウィンドウ制御、アプリケーションが動作しする。利用者との入出力は、XプロトコルでローカルPCと通信をする。

手順は、ローカルPCでディスプレイマネージャを起動し、sshでリモートPCにログインする。
リモートPC上でウィンドウマネージャを起動し、Xプロトコルで表示をローカルPCに飛ばすこととなる。

例として、以下のIPで詳細の手順を示す。

    ・ローカルPC:192.168.1.1
    ・リモートPC:192.168.1.2

ローカルPCとリモートPCでは、共にubuntu9.10が起動している。

(1)ローカルPCのGUI(X window)を落とす

端末を開いて、以下のコマンドを入れる。

local_PC$ sudo /etc/init.d/gdm stop

テキストコンソールが表示される。

(2)ローカルPCでディスプレイマネージャを起動
local_PC$ xinit

ルートウィンドウが表示され、枠のないxtermウィンドウが開く。ウィンドウマネージャが起動していないので、ウィンドウ操作はできない。
マウスカーソルをxtermに合わせて、コマンド入力できるようにする。

(3)ディスプレイマネージャへのリモートPCからアクセス許可
local_PC$ xhost +

リモートPCのXクライアントが、ローカルPC上のディスプレイを使うことを許可する。

(4)リモートPCにログインする
local_PC$ ssh -X Userid@192.168.1.2

ーXオプションをつけることで、ログインしたリモートPCからのXプロトコル通信をsshコネクションに乗せて通信することが可能となる。X protcol port forwarding機能。

補足-Xオプションをつけずにログインして、DISPLAY変数を以下のように設定することでも、リモートデスクトップは成立する。$ export DISPLAY=192.168.1.1:0

(5)ウィンドウマネージャを起動する
remote_PC$ /etc/gdm/Xsession

これで、gnomeおよび関連ソフトが起動し、その表示はローカルPCにforwardingされてくる。


終了する時は、(2)で開いたウィンドウをCTRL+Cして、exitすると、ローカルPCのテキストコンソールに戻る。

基本的な手順は、以上であるが、はじめからテキストコンソールで起動するとか、リモートPCに自動ログインするなど、実用にはもっと手順を自動化させる工夫が必要である。



sylphide_ffr31mr at 23:56コメント(0)トラックバック(0)技術  

トラックバックURL

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
プロフィール

やすき

月別アーカイブ
  • ライブドアブログ