2014年02月17日

Fedora20 リモートデスクトップまとめ(XDMCP & VNC)

BegleBone Black にインストールしたFedora20のデスクトップをリモート表示する。Fedora20のインストールはこちら

デスクトップのリモート表示は、XDMCP接続と、VNC接続(2通り)の計3通りあるので、それぞれの方法についてまとめた。

ちなみに、インストールしたFedora20は、GNOMEデスクトップ版だったんだけど、どうしてもGNOMEのデスクトップをリモート表示できなかったので、後からXfceデスクトップをインストールした。
BegleBone BlackのFedora20 GNOMEのデスクトップをリモート表示できた方いましたら、教えていただけると幸いです。。。

本記事内の構成

・前準備(XDMCP、VNC共通)
・XDMCP接続するための設定
・VNC接続するための設定 その1(マルチユーザ対応)
・VNC接続するための設定 その2(シングルユーザ対応)

・各接続方法に関する考察


前準備(XDMCP、VNC共通)

■Xfceデスクトップのインストール
# yum -y groupinstall "XFCE Desktop"
いっしょにlightdmもインストールされる。

■gdmサービス無効化
# systemctl stop gdm.service
# systemctl disable gdm.service

■lightdmサービス有効化
# systemctl enable lightdm.service
# systemctl start lightdm.service

■操作をする側(Windows側)の準備
XDMCP用には、適当なX接続ツールを用意。
当方はASTEC-X(有償)を用意。
http://www.astec-x.com/

VNC用には、UltraVNC Viewer (v1.1.9.3)を用意。
http://www.forest.impress.co.jp/library/software/ultravnc/


XDMCP接続するための設定

■lightdmの設定
/etc/lightdm/lightdm.conf の追加箇所
[SeatDefaults]
xserver-allow-tcp=true

[XDMCPServer]
enabled=true
port=177

lightdmの再起動
# systemctl restart lightdm.service

■ASTEC-XによるXDMCP接続
ASTEC-Xの設定は以下のXDMCPの箇所だけ。


接続するとlightdmのログイン画面が表示される。

右上のリストボックスで、GNOMEかXfceを選択できるので、Xfceを選択してログイン。

ログイン後、こんな感じでXDMCP接続でのデスクトップを利用可能。


使用感はというと、もっさりすぎて全く実用に耐えまへん。
とりあえず接続できて満足して終わり、と言った感じですw

ASTEC-Xを終了させると、デスクトップ上のプロセスも全て終了する。


VNC接続するための設定 その1(マルチユーザ対応)

■lightdmの設定
/etc/lightdm/lightdm.conf の追加箇所
[LightDM]
start-default-seat=false

[VNCServer]
enabled=true
command=Xvnc
port=5900
width=1024
height=768
depth=24

lightdmの再起動
# systemctl restart lightdm.service

ここでUltraVNC Viewerにて接続するわけだが、この状態で接続しても、UltraVNCがパスワードを要求してきて接続できない。
さらにこのパスワードを設定する方法をあれこれ調べてみたがよくわからない。
結局、先人様のサイトを参考に、VNC接続時に呼び出される/usr/bin/Xvnc をラップして、パスワードを訊かせないようにすることで対処。

パスワードを訊いてこないように/usr/bin/Xvncをラップ
# mv /usr/bin/Xvnc /usr/bin/Xvnc.bin
# echo exec /usr/bin/Xvnc.bin $@ -SecurityTypes none > /usr/bin/Xvnc
# chmod ogu+x /usr/bin/Xvnc
参考サイト:http://so-young-aws.blog.so-net.ne.jp/2014-01-18

■UltraVNC ViewerによるVNC接続
UltraVNC Viewerを起動し、VNC Server 欄に、host:display の形式で以下のように記述。


接続するとlightdmのログイン画面が表示される。

右上のリストボックスで、GNOMEかXfceを選択できるので、Xfceを選択してログイン。

ログイン後、こんな感じでVNC接続でのデスクトップを利用可能。


使用感はというと、こちらももっさりすぎて全く実用に耐えまへん。
XDMCPよりは軽いけど、実用に耐えない点では同じ。
XDMCPと同様、とりあえず接続できて満足して終わり、と言った感じですw
ちなみに、XDMCPより50MBほど多くメモリを消費してます。(BeagleBone Black上)

UltraVNC Viewerを終了させると、デスクトップ上のプロセスも全て終了する。


VNC接続するための設定 その2(シングルユーザ対応)
その2では、セッション断後もデスクトップは保持され続けるようにするための設定。

■X11vncのインストール
# yum -y install x11vnc

任意のユーザアカウントにて、Xfce用の.xinitrcを作成
$ echo exec /usr/bin/xfce4-session > ~/.xinitrc

同ユーザにてstartx
$ startx &

さらに同ユーザにてx11vncを起動する。
$ x11vnc -display :0 -forever &

この状態で、Windowsより UltraVNC Viewer にて接続する。

■UltraVNC ViewerによるVNC接続
UltraVNC Viewerを起動し、VNC Server 欄に、host:display の形式で以下のように記述。


接続すると、startx を実行したユーザでログインした状態となる。


使用感はVNCその1と同じ。

なお、この接続の場合、パスワードなしで接続できてしまうが、UltraVNCにてパスワードを利かせるようにするには、過去記事を参照。

本接続の場合、UltraVNC Viewerを終了させても、デスクトップ上のプロセスは残ったままとなる。

以上。


各接続方法に関する考察

今回試した接続方法は以下の3つ。
(1).XDMCP接続
(2).VNC接続その1(Xvnc)
(3).VNC接続その2(X11vnc)

それぞれ一長一短があり、まとめると以下の通り。
(1).XDMCP接続
 マルチユーザ、超もっさり、メモリ小、セッション断でデスクトップ消滅

(2).VNC接続その1(Xvnc)
 マルチユーザ、もっさり、メモリ大、セッション断でデスクトップ消滅

(3).VNC接続その2(X11vnc)
 シングルユーザ、もっさり、メモリ大、セッション断でもデスクトップは維持


以上、リソースを抑えたい場合は「XDMCP接続」、セッション断後もデスクトップで処理を継続させたい場合は、「X11vnc接続」といった感じだろうか。

あと「X11vnc接続」は、以前のデスクトップが継続しているので、再接続時のデスクトップ形成は圧倒的に早い。

ただ、いずれも、もっさりすぎて常用には耐えない。
一時的な設定にGUIを使いたいだけであればどの方式でもいいし、デスクトップに常駐が必要なもの(wine経由のアプリ等)であれば、「X11vnc接続」という使い分けだろう。



posted by frogie at 00:43 | Comment(0) | TrackBack(0) | BeagleBone Black | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
   
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック