Solaris 10 8/07でVNCを使ってみよう その4
Solaris 10 8/07でVNCを使ってみよう その1
Solaris 10 8/07でVNCを使ってみよう その2
Solaris 10 8/07でVNCを使ってみよう その3
の続きです。
その3で課題となっていた
- デスクトップがディスプレイ接続時と微妙に違う(IMEウィンドウが起動していなかったり、Sun Update Managerが見えなかったりします。iiimdの起動オプションが何か違うような気がするので要調査かと)
が解決しました。あの後ネットを調べていたらまさにこの件を解決できる方法が書いてある素晴らしいサイトがありました。
こちらです。
http://sunsabc.its-abc.net/modules/xfsection/article.php?articleid=18
こちらに記述してある手順を実施したところ、VNC経由でログイン画面にアクセスでき、ログアウトするとVNCアクセスが切断される、というような挙動になり、かつ画面もディスプレイ接続時と同じ環境にすることが出来ました。
大体同じですが以下が実施した手順です。
1.Companion CDからVNCをインストール
Solaris 10 8/07でVNCを使ってみよう その2で書いている手順と同じですので割愛します。
2.inetd関連設定
この手順ではinetdからXvncを実行する事でvncサーバを起動しますので、inetdから操作するための設定が必要です。
まず、/etc/inet/servicesを以下の通り編集します。
bata64% su - # cd /etc/inet # vi services 最終行に以下を追記 #for VNC vnc-1024x768x8 5950/tcp vnc-1024x768x24 5951/tcp
次に/etc/inetd.confを以下の通り編集します。
# cd /etc/ # vi inetd.conf 最終行に以下を追記(一行が長いので\で改行をエスケープしています。) #for VNC vnc-1024x768x8 stream tcp nowait nobody /opt/sfw/bin/Xvnc \ Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 8 -cc 3 vnc-1024x768x24 stream tcp nowait nobody /opt/sfw/bin/Xvnc \ Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 24
編集後、これらの設定をSMF(solaris10から導入されたサービス管理機構)にて制御するために、変換を行います。
# inetconv inetconv: 注意: 100235/1 のサービスマニフェストはすでに \ /var/svc/manifest/network/rpc/100235_1-rpc_ticotsord.xml として生成されています。スキップします vnc-1024x768x8 -> /var/svc/manifest/network/vnc-1024x768x8-tcp.xml vnc-1024x768x8-tcp.xml をインポートしています ...完了 vnc-1024x768x24 -> /var/svc/manifest/network/vnc-1024x768x24-tcp.xml vnc-1024x768x24-tcp.xml をインポートしています ...完了
3.dt関連設定
次にdt関連の設定(/etc/dt以下の設定ファイル設定)を行います。
書いていて「dtって何?」と思ってしまったので調べてみたところ、
このsunのサイトによると、
http://docs.sun.com/app/docs/doc/805-0022/6j03fopdf?l=it&a=view
/etc/dt このディレクトリには、カスタマイズされた、ワークステーション固有の構成ファイルが入っています。これらのファイルを使用して、次のようにユーザの環境をカスタマイズできます。 * X サーバ構成オプションの設定 * 複数画面の使用 * ワークステーションのアクション・ファイル、データ・タイプ、アイコン、フォントのカスタマイズ
との事です。
まず、/etc/dt/config/を作成して関連ファイルをコピーします。
# mkdir -p /etc/dt/config/ # cd /etc/dt/config/ # cp /usr/dt/config/Xservers ./ # cp /usr/dt/config/Xsetup ./
次に/etc/dt/config/Xserversの修正を行います。EQUIUM5060では必要ありませんでしたが、参考元サイトによるとディスプレイの無いサーバ(Sun Fire V100など)の場合は、vncビューアからのアクセスがすぐに切断されるという現象が起きるため以下の設定が必要、との事です。ご参考まで。
# cd /etc/dt/config/ # vi Xservers 以下の変更を実施 編集前 :0 Local local_uid@console root /usr/X11/bin/Xserver :0 -nobanner 編集後 # :0 Local local_uid@console root /usr/X11/bin/Xserver :0 -nobanner
次に/etc/dt/config/Xsetupファイルの修正を行います。こちらはどの場合でも実施してください。
# cd /etc/dt/config/ # vi Xsetup 最終行に以下を追記 #for VNC chmod o+w /tmp/.X11-unix
4.設定反映のためのOS再起動
設定を反映するためにOSを再起動します。
bata64% su - # sync;sync;init 6
再起動した後正常にOSが起動したら再度ログインし、設定反映の確認を行います。
bata64% svcs -a|grep vnc SMFに登録された事を確認 online 15:35:19 svc:/network/vnc-1024x768x8/tcp:default online 15:35:19 svc:/network/vnc-1024x768x24/tcp:default
5.クライアントの設定
Solaris 10 8/07でVNCを使ってみよう その2で書いている手順と同じですので割愛します。
6. VNCクライアントからアクセス
これもほぼ同じ手順となります。アクセスする際のポートが二つ用意されています。
50を指定:1024x768、8ビットカラーで接続
51を指定:1024x768、24ビットカラーで接続
となります。特に支障なければ51を指定すればよいと思います。
ちなみに知りませんでしたが、接続ポートは、5900+ディスプレイ番号となるそうです。51と指定すると5901ポートにアクセスする事になります。これまでどおりそのまま指定しても良いみたいです。
今度はパスワードは聞かれずに、以下のようにデスクトップのログイン画面が表示されるはずです。
これまで説明していた方法より、こちらの方が使いやすいと思います。もっと早くにこのサイトを知っていたら・・・。
ただし、各種設定ファイルが勝手にいじれない環境の場合はxstartupを設定する方法も有効だと思います。VNCさえ入っていれば、rootパスワード知らなくてもビューアからアクセスできますから。
でもこっちの方法を普段は使います。より良い環境になりました。
で、課題についてです。
前回残った課題
については、VNCのバージョンによるようです。RedhatEL3にインストールされているVNCは4.xで、これ以降に用意されているvncconfigというプロセスを起動するとクリップボードが共有できるようです。
一方、companion CDに入っていたVNCのバージョンは
bata64% pkginfo -l SFWvnc PKGINST: SFWvnc NAME: vnc - Virtual Network Computing CATEGORY: system ARCH: i386 VERSION: 3.3.7,REV=2008.08.23.02.00 BASEDIR: /opt VENDOR: http://www.realvnc.com DESC: vnc - Virtual Network Computing PSTAMP: freeware20080823030342 INSTDATE: 1月 06 2009 15:00 HOTLINE: Please contact the owners of this software STATUS: 完全にインストールされました。 FILES: 29 のインストールされたパス名 5 の共有パス名 7 のディレクトリ 5 の実行可能ファイル 3212 ブロック (概算値) が使われました
という事で3.3.7でした。という事はvncconfigは使えません。何てことだ。
一応realvncのサイトからソースが取得できる(Solaris版パッケージはSolaris7版、しかもSPARCのみだった)ので、これをコンパイルしてビルドすれば良さそうですが、何か設定が自動で書き換わるみたいなので既存VNCとの兼ね合いが気になってまだやっていません。とりあえずはこの環境を楽しみたいです。
そして以外な課題がありました。Firfox3.0.5をインストールしたらgnome-sessionが致命的なエラーを吐いて起動しないという事態に陥ったのです。しかもVNC経由でなくてディスプレイから、アクセスできなくなってしまいました。スーパユーザでも駄目です。OS再起動しても状況は変わりません。かなり焦りました。
調べたところ、Firfox3.0.5を直前にインストールしていた事に気づきました。
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.5/contrib/solaris_pkgadd/
以下にあるfirefox-3.0.5.en-US.solaris-10-fcs-i386-pkg.bz2
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.5/contrib/solaris_pkgadd/firefox-3.0.5.en-US.solaris-10-fcs-i386-pkg.bz2
をダウンロードして解凍(bzip2 -d)してpkgaddしておりましたが、この中には
# pkgadd -d ./firefox-3.0.5.en-US.solaris-10-fcs-i386-pkg The following packages are available: 1 SFWatk ATK - Accesibility Toolkit Libraries (i386) 1.20.0,REV=2008.06.24.01.43.37 2 SFWcairo Vector graphics library (i386) 1.4.12,REV=2008.06.24.01.47.32 3 SFWdbus Simple IPC library based on messages (i386) 1.1.20,REV=2008.06.24.06.33.34 4 SFWdbus-glib Glib bindings for D-Bus (i386) 0.74,REV=2008.06.24.06.36.25 5 SFWfirefox Mozilla Firefox Web browser (i386) 3.0.5,REV=2008.12.23.17.19.04 6 SFWglib2 Low level core compatibility library for GTK+ and GNOME (i386) 2.14.4,REV=2008.07.12.01.19.27 7 SFWgtk2 GTK+ - GIMP Toolkit Library for creation of graphical user interfaces (i386) 2.12.3,REV=2008.07.12.01.23.33 8 SFWpango Library for layout and rendering of internationalized text (i386) 1.18.3,REV=2008.06.25.01.02.57 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]:
というように複数パッケージがインストールされるのですが、どうもこの中の/opt/sfw/lib以下にインストールされるもの(SFWglib2、SFWgtk2、SFWpango)が干渉しているようで、これらをアンインストールすると再度gnome-sessionが使用できました。ただしこれらが無いとFirefox3.0.5が動きません・・・。
で、解決策としては、/etc/profileに書いていたLD_LIBRARY_PATHから/opt/sfw/libを削除してみました。
変更前 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/sfw/lib:/opt/sfw/lib:/usr/local/lib:\ /usr/lib:/lib:/etc/lib:/usr/local/ssl/lib:/usr/X11/lib 変更後 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/sfw/lib:/usr/local/lib:/usr/lib:/lib:\ /etc/lib:/usr/local/ssl/lib:/usr/X11/lib
こうすれば問題なくVNCからのgnomeも、Firefox3.0.5も起動できました。いやー焦った焦った。
Firfox3.0.5もセットアップしたし、本格的にSolaris10デスクトップ環境が使えますわー。メモリ少ないから重いけど。
ではー。