Hatena::Grouplinux2

Going My Linux Way このページをアンテナに追加 RSSフィード

2012年05月17日(木)

Ubuntu Linux 12.04 のデスクトップに、リモートの Ubuntu Linux の Firefox を表示させる

22:42 | Ubuntu Linux 12.04 のデスクトップに、リモートの Ubuntu Linux の Firefox を表示させる - Going My Linux Way を含むブックマーク はてなブックマーク - Ubuntu Linux 12.04 のデスクトップに、リモートの Ubuntu Linux の Firefox を表示させる - Going My Linux Way Ubuntu Linux 12.04 のデスクトップに、リモートの Ubuntu Linux の Firefox を表示させる - Going My Linux Way のブックマークコメント

Ubuntu Linux 12.04 のデスクトップに、リモートの Ubuntu LinuxFirefox を表示させてみます。

X サーバ側の Ubuntu Linux の設定

まず X サーバになる側の Ubuntu Linux の設定を行います。

Ubuntu Linux 12.04 desktop では、通常 TCP listen が無効になっています。

ディスプレイマネージャ lightdm の設定で、これを有効にします。

以下の記事を参考にしました。

/etc/lightdm/lightdm.conf に「xserver-allow-tcp=true」の一行を追加します。

私の環境では以下のようになりました。

[SeatDefaults]
user-session=ubuntu
greeter-session=unity-greeter
xserver-allow-tcp=true           # この行を追加

変更を反映させるために lightdm をリスタートします。(デスクトップ再起動)

$ suto restart lightdm

確認してみると、x11 (6000 番ポート) が listen されています。

$ netstat -ta
稼働中のインターネット接続 (サーバと確立)
Proto 受信-Q 送信-Q 内部アドレス            外部アドレス            状態      
tcp        0      0 *:x11                   *:*                     LISTEN     
   :

リモート側の Ubuntu Linux の設定

X サーバ側に接続を許可してもらえるように Xauth の設定をします。

まず、X サーバ側(X が起動している状態)で xauth コマンドを実行して Cookie を調べます。

$ xauth list
mylinux01/unix:0  MIT-MAGIC-COOKIE-1  21eb999b56ccec7eccdb38d288d2678f

最左のカラム(mylinux01/unix:0)が DISPLAY を示しています。

  • mylinux01 は Xサーバ側ホストのホスト名です
  • /unix が付いているのは UNIX ドメインソケットでも通信しているからです(多分)
  • :0 は DISPLAY 番号です。0番を示しています

MIT-MAGIC-COOKIE-1 〜」が Cookie になります。

この Cookie をリモート側の Ubuntu Linux に設定します。

リモートの Linuxssh で(コンソールからでもいいですが)ログインします。

ログインしたら xauth コマンドで Cookie を設定します。

$ xauth add mylinux01:0 MIT-MAGIC-COOKIE-1  21eb999b56ccec7eccdb38d288d2678f

(この時 sshログインしているほうが、コピペなどで楽に設定できます)

もし、リモート側が mylinux01 の名前解決がされない環境の場合は IPアドレスで指定してください。

$ xauth add 192.168.1.101:0 MIT-MAGIC-COOKIE-1  21eb999b56ccec7eccdb38d288d2678f

(私の環境では、mylinux01 の IP アドレスは 192.168.1.101 です)

設定したら、確認してみます。

$ xauth list
mylinux01:0  MIT-MAGIC-COOKIE-1  21eb999b56ccec7eccdb38d288d2678f
vlinux01/unix:0  MIT-MAGIC-COOKIE-1  c31d49539ec9e9a30bd75af56fa491c2

設定されています。

2行目の「vlinux01/unix:0 〜」はリモートホスト自身の Cookie です。ここではリモートホスト自身も X を起動しているので設定されています。

これで準備 OK です。

尚、Xauth Cookie は通常 X が起動している間有効ですが、X サーバ再起動したら変更されるので、その際は再設定が必要になります。

Firefox 起動

リモート側で DISPLAY 環境変数を mylinux01 に向けて設定します。

$ export DISPLAY=mylinux01:0  # DISPLAY に mylinux01 のディスプレイ 0 番を指定

mylinux01 が名前解決可能でない場合は以下のように設定します。

export DISPLAY=192.168.1.101:0

後は普通に Firefox を起動します。

$ firefox

すると、リモート側の Firefox が mylinux01 のデスクトップに、mylinux01 ローカルのアプリケーションと同じような感じで起動したと思います。

もちろん、firefox 以外の X クライアントでも起動できます。

$ gimp

$ gnome-terminal

$ gvim

$ libreoffice

$ blender

$ inkscape

コマンドラインで都度 DISPLAY を指定する場合は以下のようにします。

$ DISPLAY=mylinux01:0 eclipse

X クライアントによっては、-display オプションで DISPLAY を指定できます。

$ xterm -display 192.168.1.101:0

とりあえず、ここまでのまとめ

これらの仕組みは Ubuntu 固有でなく X Window System の仕組みなので、他の UNIX/Linux 同士でも同じことができます。

ただし、lightdm は Ubuntu Linux で採用している DM です。DM 関連の設定はそれぞれの DM に従ってください。

基本的に以下の2つの設定をすればよいです。

トラックバック - http://linux2.g.hatena.ne.jp/lnznt/20120517