ひでっぷの技術メモ

はてなダイアリーから移行しました

VNCサーバーの設定

インストールは順調にいったVNCですがクライアントから接続すると灰色の画面がでるだけ(Xが立ち上がっているだけ)のようで使い物になりません。
ってことで調べながらVNCの設定をしました。
Xが立ち上がった時にWindowManagerが起動していないみたいです。
なのでGNOMEが立ち上がるようにxstartupをへんしゅ・・・・ん?~/.vnc/xstartupがない!

こんな情報がありました。
以下抜粋

Debianのvncserverはちょっと手が加えられており、ほかのディストリビューション
ではそのまま呼び出しているvncserverの実体の代わりに、Perlのラッパーで
くるんでいますね。何も設定をしない状態ではDebianのX起動ルーチンである
Xsessionが呼ばれるようになっています。
このため、xstartupは作られません。

1. ~/.vncrc というファイルを作り、ここに
「$vncStartup="$ENV{HOME}/.vnc/xstartup"」という内容を書く。
(そのほかにもいくつかのオプションを書けます。/etc/vnc.confを参照)
2. ~/.vnc/xstartupを新規に作成し、ウィンドウマネージャ/セッション
マネージャを起動するようにする。

ということで自分でxstartupを作成
xstartupにはTurboLinuxのxstartupを参考に以下のように書きました。


#!bin/bash
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
exec gnome-session

さてvncserverを起動し、vncviewerで接続・・・したのはいいんですがやっぱり画面が変・・・。
半端にgnomeが立ち上がりしばらくすると落ちると言った感じ。
そこでvncのログ(~/.vnc/ホスト名:1.log)をみてみると・・・・


Error: Cairo does not yet support the requested image format:
Depth: 32
Alpha mask: 0x00000000
Red mask: 0x000000ff
Blue mask: 0x0000ff00
Green mask: 0x00ff0000
Please file an enhacement request (quoting the above) at:

どうも解像度に問題があるようです。
そこで/etc/vnc.confに以下の設定を追加。


$geometry="1024x768"
$depth="16"

これでvncサーバーを起動すると無事に画面が表示されました!

f:id:hidepon_mory:20080422194825j:image

ちなみにvncたちあげっぱなしは何かと怖いので社外から接続する場合は

  1. sshでログイン
  2. vncサーバー起動
  3. 終わったらvncサーバー停止
  4. sshログオフ

とするつもりです。
vncを起動するのにいちいち vncserver :1 とか vncserver -kill :1とうつのが面倒なのでaliasを設定しました。
.basrcに以下のように書いておきます。


alias vncstart='vncserver :1'
alias vncstop='vncserver -kill :1'

これで起動時はvncstart、停止時はvncstopとうてばOKです。
vncサーバーの落とし忘れだけは気をつけないとなあ・・・