2011/01/11 CentOS5.5





VNCを動作させる(解説)

CentOSでVNCを利用可能にします。
設定項目とGUIの統合の弱いCentOSでは、VNC一つとってもクリック一つというわけにはいきません。
GUIでもCUIでも大きな違いはないように、ということかもしれません。

CentOS5.5ではデフォルトでvncserverがインストールされているので、インストール確認などは省きます。
で、CentOSで行うVNCの接続ですが、いくつものやり方があり、ハッキリ言ってどれもメンドくさいです。

現時点で試してみた三種類の方法を比較してみます。

1.VNCをサービスとして動作させる(デスクトップセッション)
 /etc/sysconfig/vncserverを設定変更し、vncserverサービスを有効にします。

2.VNCをxinetd経由で動作させる(XDM/GDMセッション)
 xinetdにvncサーバを登録し、gdmセッションを変更します。 

3.VNCをユーザプロセスとして動作させる(デスクトップセッション)
 ユーザの権限でvncserverを起動します。


デスクトップセッションへの接続
 特定のポート番号が特定のユーザのデスクトップへ接続されています
 ユーザが設定したVNCパスワードが認証に使われます

XDMセッション
 VNC接続時にユーザ認証画面を表示させます
 接続にはCentOS上のユーザアカウントを入力します

非常にややこしいのですが、とりあえずいずれかを選択してみなくてはなりません。
選択のためには比較が必要です。そもそも違いはなんでしょう。

1.サービスとしてvncserverを実行する
 接続しただけでデスクトップが表示されるので容易です。
 ポート番号一つに付き、特定のユーザのデスクトップへ接続されます。
 ポート番号は5900番+ディスプレイ番号となります。
 接続先デスクトップの変更には設定ファイルの変更が必要です。
 常にサービスとしてVNCが起動しています。
 誤ってログアウトしてしまうとデスクトップセッションが終了するため、サービスの再起動が必要です。
 認証には、各ユーザが設定したVNCパスワードが用いられます。


2.xinetd経由でvncserverを実行する
 xinetdサービスを用意する必要があります。
 xinetdにより、接続時のみVNCが起動します。
 ポート番号は自由に選択できます。VNCのデフォルトは5900番が使われます。
 使用するまでにある程度の手間がかかります。
 どのユーザのデスクトップにもログインができます。
 Windowsのリモートデスクトップに近いです。
 誤ってログアウトせずに切断すると、ログインセッションが内部に残ってしまいます。
 XDMセッション経由により、OSによりユーザ認証が行われます。


3.ユーザのプロセスとしてvncserverを実行します
 接続しただけでデスクトップが表示されるので容易です。
 ポート番号一つに付き、特定のユーザのデスクトップへ接続されます。
 ポート番号は5900+ディスプレイ番号となります。
 いずれかのユーザがコマンドなどによりVNCを起動させておきます。
 通常デスクトップのユーザはログインしておく必要があります。
 常に待機のため、VNCが起動しています。
 ファイアウォールのポートさえ解放されていれば、ユーザ権限で設定も起動も容易です。 
 誤ってログアウトしてしまうとデスクトップセッションが終了するため、再度vncserverの起動が必要です。


検証として、管理者だけが恒常的にアクセスしたいのなら1がいいでしょう。
Windowsのリモートデスクトップのように使いたい、複数のユーザで接続したい。という要望には2がおすすめです。
検証として、あるいは一時的にリモートから作業がしたいだけなら、簡単な3がいいでしょう。

SSHに並び、リモートアクセスの手法なので用途とリスクに合わせて検討しましょう。





prev.gif