月曜日 1 21, 2013

Solaris Zones で GDM (GNOME Display Manager) を動かす Xvnc 編

Xephyr よりVNC だろ?と言われ、言い返せなかったので Xvnc について書き加えて行きたいと思います。

前回のエントリとなるSolaris Zones で GDM (GNOME Display Manager) を動かす」ですが、この設定を完了後、Xvnc の SMF サービスを有効にするだけです。
Xvnc も SMF サービス管理されていますが、こちらは inetd にてコントロールされるサービスで、標準では disable となっています。
Xvnc を有効にするには、下記のコマンドを実行します。

# svcadm enable xvnc-inetd

# svcs -a | grep xvnc
online 11:16:56 svc:/application/x11/xvnc-inetd:default (online になったことを確認します)

サービスが開始されるので、後は VNC クライアントから接続するだけです。
ちなみに、inetd コントロールされるので、inetadm の出番です。

 root@solaris:~#   inetadm -l xvnc-inetd
SCOPE    NAME=VALUE
         name="vnc-server"
         endpoint_type="stream"
         proto="tcp"
         isrpc=FALSE
         wait=FALSE
         exec="/usr/bin/Xvnc -inetd -query localhost -once securitytypes=none"
         user="noaccess"
default  bind_addr=""
default  bind_fail_max=-1
default  bind_fail_interval=-1
default  max_con_rate=-1
default  max_copies=-1
default  con_rate_offline=-1
default  failrate_cnt=40
default  failrate_interval=60
default  inherit_env=TRUE
default  tcp_trace=FALSE
default  tcp_wrappers=FALSE
default  connection_backlog=10
default  tcp_keepalive=FALSE

いえ、、、特になにかしたかったわけでもなく・・・
接続にパスワードを用いたり、Xvnc のオプションを変更する場合は、exec プロパティを書き換えます。
たとえば、デスクトップのデフォルトの大きさを 1280x800 に指定する(大抵の場合は、クライアントから操作できるが、できないクライアントもあります)には、下記のように実行します。
inetd からキックされるサービスなので、特にリフレッシュも必要ありません。(svccfg でも変更できます)

# inetadm -m xvnc-inetd exec="/usr/bin/Xvnc -inetd -query localhost -once securitytypes=none -geometry 1280x800"

また、default では、VNC クライアントを終了させると同時にセッションも終了し、毎回ログインのしなおしとなります。
クライアントとのコネクションが切れても、セッションを継続動作させるには、下記を追加で実行します。
なんちゃって SunRay 環境っぽくなります。

# inetadm -m xvnc-inetd wait=true
# inetadm -m xvnc-inetd exec="/usr/bin/Xvnc -inetd -query localhost -once securitytypes=none -geometry 1280x800 -DisconnectClients=no"

Mac OS X 10.6.8 の画面共有アプリケーションにはクライアント機能があり、FInder に統合されているのですがうまく接続することができず、TightVNC Java Viewer version 2.6.2
また、Solaris 11.1 の TigerVNC クライアント(/usr/bin/vncviewer) 問題なく接続できました。

のあたりの設定も、カスタマイズしはじめるとキリがありません
というわけで、
Xephyr に続き VNCクライアントでの接続方法の紹介でした。

後日追加:使い方に注意点があるので、気がついたら追加してゆきます。

  • コピー & ペーストができない
    Solaris 側で、/usr/bin/vncconfig を実行してください。このプログラムが起動中は、コピー & ペースト可能です。
    正しく動作することを確認できたら、バックグラウンドで動作させておきます。
  • UltraVNC クライアントから接続すると、"The Server running as Application" と表示されてしまう。
    とりあえず、既存セッションへの接続の場合は、クライアント側で接続速度を低いものにしてみる
  • Mac OS X 10.6.8 の画面共有クライアントから接続できなかったのは、Xvnc 側でパスワードを設定していないためでした。パスワーファイルを設定し認証を行うようにすることで問題なくアクセスできます。
About

Search

Archives
« 1月 2013 »
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
22
23
24
25
26
27
28
29
30
31
  
       
今日