Hatena::ブログ(Diary)

rderaログ Twitter



2009-09-12

CentOS5.3にVNCでアクセスできるようにした。

VNCで接続したい、すべての人の参考になれば。

以前にも書いたんですが、もう一回、整理して書いてみます。

CentOS5.2にVNCサーバ環境を構築した。 - rderaログ


初めに

VNCでPCに接続するにはvncserverを起動させておく必要があります。

# /etc/rc.d/init.d/vncserver start
# chkconfig --list vncserver

ただ、この方法はVNCを使わないときでもVNCデーモンが起動している状態であり、

リソースの無駄なんです。

そこで、xinetdを利用してVNCデーモンを起動します。


xinetdとは?

以下に非常に詳しい説明がなされています。

403 Forbidden

簡単に言ってしまえば、デーモンに要求があったときに起動させる仕組みのことです。

それでは、実際に設定をしていきます。


必要なものをインストール

# yum -y install xinetd vnc vnc-server

xinetd経由で提供するサービス名を記述

/etc/servicesを編集する

# vi /etc/services 

以下の記述を追記する。

vnc 5900/tcp # VNC Server


設定ファイルを作成する

/etc/xinetd.d/下に起動ファイルを作る。

起動ファイル名は先程、設定したサービス名と一致させる必要がある。

# vi /etc/xinetd.d/vnc 
service vnc
{
	disable		= no
	socket_type	= stream
	wait		= no
	user		= nobody
	instance	= 3
	server		= /usr/bin/Xvnc
	server_args	= -inetd -query localhost -once -geometry 800x600 -depth 16 -SecurityTypes None
	only_from	= 192.168.24.0/24 127.0.0.1
	log_on_success  += DURATION
	log_on_failure  += HOST
}
disableこのサービスをxinetd経由で起動させるか?noで起動。yesで起動しない。
socket_typeソケットタイプの指定。TCPは、「stream」。UDPは「dgram」を指定
waityes ならシングルスレッド。no ならマルチスレッド
userサービスの実行ユーザを指定
instances同時にいくつサービスできるかを指定。数字か無制限を表すUNLIMITEDを指定可能
serverそのサービスのために実行するプログラムを指定
only_fromサービスを可能にするリモートホストを指定。ex)192.168.24.0/24は192.168.24サブネットのすべてのホストに合致
server_argsサービスに渡される引数。以下を参照
no_access使用できないリモートホストを指定
access_timesサービスが使用できる時間間隔を指定
log_on_success起動時と終了時にどの情報をログ出力するか。以下を参照
log_on_failure起動できなかった場合にどの情報をログ出力するか。以下を参照

log_on_successとlog_on_failureで指定できる値

指定可能なオプション
PIDサーバプロセスID
HOSTリモートホストのアドレス
USERIDident(identification) プロトコルを使い、リモートユーザのユーザ ID
EXIT終了ステータスまたは終了シグナル
DURATIONセッションの時間
ATTEMPT失敗があったこと

sever_argsで指定できる値

-inetdXvncをinetd経由で起動させる(必須)
-query localhostXDMCP(X Display Manager Control Protocol)を使ってユーザー認証を行う。localhostを指定
-oncexsessionが終了した時点でVNCサーバを終了する
-geometry サイズデスクトップのサイズ。defaultは1024x768
-depth 色数色数の指定。defaultは16。他に8,15,24を指定可能。
-SecurytyTypes NoneVNC Passwordはかけない。

XDMCPを許可する

リモートからでも、グラフィカルログインできるようにXDMCP を許可する。

CentOS5.3では/etc/gdm/custom.conf

# vi /etc/gdm/custom.conf

以下の記述をする。

[security]
AllowRemoteRoot=false

[xdmcp]
Enable=true

[gui]

[greeter]
IncludeAll=false
AllowRemoteRoot=falseリモートからのrootでのログイン禁止
Enable=trueグラフィカルログイン許可
IncludeAll=falseログイン画面でユーザリストを表示しない

設定を反映

# /etc/rc.d/init.d/xinetd restart
# reboot

接続

設定したサーバのポートの5900に接続すると画面が飛んでくる。

MacのChicken of the VNCを使って、接続してみる。

f:id:rdera:20090913013445p:image

接続。

f:id:rdera:20090913013444p:image



ハマるところ。

以下注意


参考にしたページ

VNC Serverをxinetd経由で立てる方法 [Fedora 10] - Kerosoft : Modus Operandi

OpenSSHをxinetd経由で起動する。 - いがっちの日記

404 - エラー: 404

@IT:telnetで接続可能な時間を限定するには

@IT:telnetで接続するクライアントを限定するには

Linux Memorization VNC設定

no title

no title

403 Forbidden

Xinetdとは - OSS用語 Weblio辞書

inetdとは

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証