As Good A Place As Any
Tim Thomas's Blog
VNC サーバーと GDM の OpenSolaris 2008.05 向け構成例
私が目標としていたのは、OpenSolaris 2008.05 が動作しているシステムに VNC クライアントを接続し、root としてログインできるようにすることでした。オリジナルの OpenSolaris 2008.05 バイナリディストリビューションが動作しているシステム上でもうまくできましたし、snv_91 にフルイメージアップデートを実行したあとの OpenSolaris 2008.05 システム上でもうまくできました。
1. VNC サーバーがインストールされていることを確認
これは 2008.05 バイナリディストリビューションの一部なので存在するはずですが、確認しました。
# pkg info SUNWxvnc
Name:SUNWxvnc
Summary:X11/VNC server
State:Installed
Authority:opensolaris.org (preferred)
Version:4.1.2
Build Release:5.11
Branch:0.91
Packaging Date:Fri Jun 13 17:49:25 2008
Size:6.3 MB
FMRI:pkg:/SUNWxvnc@4.1.2,5.11-0.91:20080613T174925Z
2. 次の行を /etc/services に追加
vnc-server 5900/tcp # Xvnc
3. /etc/X11/gdm/custom.conf を次のように編集
[xdmcp]
Enable=true
[security]
DisallowTCP=false
AllowRoot=true
AllowRemoteRoot=true
4. サービスを有効化
# svcadm enable xvnc-inetd
# svcs xvnc-inetd
STATE STIME FMRI
online 16:22:30 svc:/application/x11/xvnc-inetd:default
# svcadm enable gdm
# svcs gdm
STATE STIME FMRI
online 14:43:13 svc:/application/graphical-login/gdm:default
5. VNC クライアントでディスプレイに接続
これで、<ホスト名>:5900 で接続できるようになったため、GDM のログイン画面が表示されるはずです。
もし接続できない場合、次のようにサービスを停止してから開始してみてください。
# svcadm disable xvnc-inetd gdm
# svcadm enable xvnc-inetd gdm
1 つ不満な点があります。VNC クライアントを閉じると、ディスプレイに関連したログインセッションが終了してしまいます。この問題は、GDM ではなく dtlogin を使用している Solaris 10 と Solaris Express では発生していませんでした。もし解決策が見つかれば、この記事に修正方法を投稿します。
Posted at 08:23AM Sep 16, 2008 in VNC |
Solaris 10 5/08 と Solaris Express (Nevada) で VNC サーバーを構成するスクリプト
今まで私は Solaris Express (Nevada) で VNC サーバーのディスプレイを構成するのに、あるスクリプトを使っていました。Solaris 10 5/08 (Solaris 10 Update 5) には同じく Xvnc が含まれているため、このスクリプトが動作することがわかりました。
私はいつも Solaris をフルインストールします。もし読者がフルインストールしていない場合、Xvnc は使用中のシステムにインストールされていないことがあります。これは次の方法で簡単に確認できます。
# pkginfo | grep xvnc
system SUNWxvnc X11/VNC server
OS のインストールが完了したら、次のスクリプトを実行します。このスクリプトでは VNC ディスプレイを 2 つ設定するので、VNC クライアントを使うと <ホスト名>:1 と <ホスト名>:2 という形式でディスプレイに接続できます。2 つ目のディスプレイは共有です。
#!/bin/sh
#
# config_Xvnc_s10+snv.sh
#
# このスクリプトは OS のインストールが完了してから実行します。
#
# Solaris 10 5/08 および Solaris Express (Nevada) b87 以降でテスト済みです。
#
#VNC ディスプレイ 1 を追加
svccfg -s application/x11/x11-server add display1
svccfg -s application/x11/x11-server:display1 addpg options application
svccfg -s application/x11/x11-server:display1 addpropvalue options/server astring:"/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display1 addpropvalue options/server_args astring:'"SecurityTypes=None"'
#VNC ディスプレイ 2 を追加 (共有)
svccfg -s application/x11/x11-server add display2
svccfg -s application/x11/x11-server:display2 addpg options application
svccfg -s application/x11/x11-server:display2 addpropvalue options/server astring:"/usr/X11/bin/Xvnc"
svccfg -s application/x11/x11-server:display2 addpropvalue options/server_args astring:'"SecurityTypes=None"'
svccfg -s application/x11/x11-server:display2 addpropvalue options/server_args astring:'"-alwaysshared"'
# 開始するために dtlogin を設定
if [ !-d /etc/dt/config ] ; then
mkdir -p /etc/dt/config
fi
if [ !-f /etc/dt/config/Xservers ] ; then
cp /usr/dt/config/Xservers /etc/dt/config/Xservers
fi
echo " :1 Local local_uid@none root /usr/X11/bin/Xserver :1" >> /etc/dt/config/Xservers
echo " :2 Local local_uid@none root /usr/X11/bin/Xserver :2" >> /etc/dt/config/Xservers
pkill -HUP dtlogin
#終了
VNC クライアントの接続を切ってもディスプレイはそのまま維持されます。そのため、あとでセッションに復帰することができ、ウィンドウとアプリケーションはすべて切断時のままとなります。開始したジョブはずっと実行されます。
VNC クライアントのソフトウェアは http://www.realvnc.com から入手できます。Free Edition と、機能が強化された Personal Edition があり、後者にはライセンスが必要です。
5/08 より古い Solaris 10 のリリースを使用している場合、VNC の構成方法は私の以前のブログ記事を参照してください。
Posted at 08:21AM Sep 16, 2008 in VNC | Comments[1]