|
||
|
VNCをxinetd経由で動作させる(XDM/GDMセッション)CentOSのVNCサービスの起動には三種類があります。 違いの説明は別ページに掲載します。 VNCを動作させる(解説) VNCをxinetdサービスとして起動させる流れは、以下のようになります。 1.xinetdをインストールする 2.xinetedにvncを登録する 3.servicesファイルを編集してxinetdで待ち受けるポートを指定する 4.ファイアウォール解放する 5.XDM認証を有効にする 6.設定を有効にするためGDMを再起動 7.VNC接続をする 8.rootアクセスを許可する 9.GDMを有効にする 1.xinetdをインストールするCentOSはデフォルトではxinetdがインストールされていません。しかしよく使われるサービスなので、インストールされているか確認しましょう。 #services xinetd status 状態が表示されればインストールされています。その場合は手順2へ進みます。 認識されないサービスなら、xinetdをインストールします。 コマンドではyumを使用します。いくつかの同意をする必要があります。 #yum install xinetd GUIでインストールする場合は、アプリケーションの追加と削除を使用して、xinetdを検索します。 2.xinetdにvncを登録する/etc/xinetd.d/vncファイルを作成し、以下の内容を入力します。service vnc { socket_type = stream wait = no user = nobody server = /usr/bin/Xvnc server_args = -inetd -query localhost -once -geometry 800x600 -depth 16 -SecurityTypes none log_on_failure += USERID disable = no } 「SecurityTypes none」を使用しない場合は、アクセス権644のvnc用のパスワードファイルを指定する必要があります。 3.servicesファイルを編集してxinetdで待ち受けるポートを指定する/etc/servicesファイルを編集し、末尾に以下の行を追加します。vnc 5900/tcp ここで指定する「vnc」の文字列は、手順2で指定したファイルの「service vnc」と一致している必要があります。 ポート番号は何でもいいのですが、ここは伝統に乗っ取って5900番としました。 画像では一番下へ行くのがメンドかったので、一番上に追記してます。 4.ファイアウォールを解放するコマンドがGUIで実施します。GUからの方が簡単でしょう。[システム]-[管理]-[セキュリティレベルとファイアウォールの設定]を起動します。 その他のポートの追加で5900を追加します。 これでOKですが、この時点でアクセスしても、未だディスプレイに接続されていないので、真っ灰色な画面が表示されるだけです。 ちなみにコマンドから解放する場合はiptablesファイルを編集します。 #vi /etc/sysconfig/iptables そして一番下のREJECT行の上に、5900番ポートを許可します。 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5901 -j ACCEPT 保存した後、iptablesを再起動します。 #service iptables restart ※iptableコマンドで5900番を許可すれば良さそうなものですが、実はうまく行きません。 iptable -Lを実行すればわかりますが、よくあるように #iptables -A INPUT -p tcp --dport 5901 -j ACCEPT と入力しても、実際に記述されるのはINPUTテーブルの「RH-Firewall-1-INPUT」の次に追加されます。 つまり評価されません。 ならばと #iptables -A RH-Firewall-1-INPUT -p tcp --dport 5901 -j ACCEPT と記述しても、今度は「REJECT」行の次に追加されるので、やはり評価されません。 ファイルを直接記述しましょう。 5.XDM認証を有効にする/etc/gdm/custom.confを編集します。[xdmcp]セクションに「Enable=true」を追加します。 [xdmcp] Enable=true 6.設定を有効にするためGDMを再起動するコマンドからGDM(GnomeDisplayManager)を再起動します。# kill -HUP `cat /var/run/gdm.pid` この手のシステムでよく使われる、そしてよく勘違いされるコマンドです。 「cat /var/run/gdm.pid」の前後をくくっているのは「バッククォーテーション」です。 シフトキーを押しながらアットーマークキーを押して出る文字です。 バッククォーテーションで囲まれたコマンドは、コマンド結果を使用します。 下のようにcatコマンドとkillコマンドを別々に使用しても同じです。 # cat /var/run/gdm.pid 3350 # kill -HUP 3350 コマンド実行後、数秒するとGDMが再起動します。 7.VNC接続をするこの時点でVNCを接続すると、XDMによる認証画面が表示されます。見たことのない古臭い画面ですが、このままでも利用できなくもありません。 8.rootアクセスを許可するしかしrootでアクセスをすると、拒否されます。(見切れてますが)これを許可するため、再度/etc/gdm/custom.confを編集します。 [security]のセクションに「AllowRemoteRoot=true」を追加します。 再度コマンドからGDMを再起動します。 # kill -HUP `cat /var/run/gdm.pid` 再度VNCで接続すると、今度はrootでログインできます。 9.GDMを有効にするここまでくると欲が出てきます。もっと見栄えの良いログイン画面が欲しいです。つまりデフォルトのGDMです。 さらに/etc/gdm/custom.confを編集します。 [daemon]のセクションに以下の行を追加します。 [daemon] GtkModulesList= AddGtkModules=false RemoteGreeter=/usr/libexec/gdmgreeter 三度GDMを再起動します。 # kill -HUP `cat /var/run/gdm.pid` VNCで接続すると、麗しいGDMが表示されます。 ログインできることを確認しましょう。 実際、openSUSEやUbuntuのように使用する人にとっては、このアクセス方法が一番しっくりきます。 しかしサーバOSとして多数のユーザがアクセスし分けることを想定していないCentOSにはそぐわないのが、簡単にVNCが利用できない設計思想かもしれません。 サービスとして動作させたり、ユーザプロセスとして動作させる場合はVNCを動作させる(解説)を参照してください。 |
|