技術的雑談-Linux上でXServerの代わりにVNCServerを使う
環境
- 使用OS:RedHat Enterprise Linux 3
- アプリケーション:VNCServer(OSにくっついてくるヤツ) ver.4.0b4
目的
- GUI操作が必要だが、モニターとキーボードがサーバについていない
- ネットワークサーバとして使っているので、リソース節約でXWindowを上げておきたくない
- マシンがヘボイからXWindowがあがらない
手順
※本当は最新版のRealVNC 1.1.1をコンパイルして使おうとしたのですが、gcc/g++のv2.9でしかコンパイルが通らないらしい。OS側で「compat-gc++-2.93〜.rpm」を入れておけばいいようだが、良くわからなかったので今回はパス。ちなみにRHELのgc++はv.3.2.3
- RHELのOSインストール時にVNCServerを含めておいてください。ない場合は後から追加も可能なようです。
- VNCServerを立ち上げたいユーザのhomeに「.vnc」ディレクトリを作ります。
- 「~/.vnc/xstartup」というファイルを作成し、「chmod +x xstartup」で実行権限をつけます。
- xstartupはVNCServerを立ち上げるときにxinitrcの代わりになるようです。例えば以下の例のように記述するとgnome-sessionが立ち上がります。
- /etc/sysconfig/vncserversファイルに「VNCSERVERS="99:root"」という1行を追加します。99はDisplay番号(Xが上がっていないのであれば0も使えるが、0以外にしておくのが無難)、rootはVNCServerを立ち上げるユーザID(先程のxstartupを作ったホームディレクトリのユーザとあわせる必要がある)。
- VNCServerを立ち上げるユーザ権限で「vncpasswd」を実行し、VNCServerに接続する為のパスワードを設定します。
- /sbin/service vncserver startを実行し、VNCServerを立ち上げます。
- 他のサーバ上からVNCClientを実行し、「VNCServerのHost:5900 + Display番号」に接続し、GUI画面が見えることを確認します。(例:先程のようにDisplay番号に99を指定した場合、ポート5999にアクセスします。)
- デフォルトの状態だと5800 + Display番号にhttp接続すると、ブラウザで動くVNCClientが立ち上がります。これなら事前にVNCClientをInstallしておかなくても大丈夫です。(例:http://xxx.xxx.xxx.xxx:5899/)
履歴
2005/12/27 -- 初版
技術的雑談へ戻る