CentOS 6 でのVNCServerのインストールと設定 (TigerVNC Serverのインストール)

CentOS 6でVNCServerをインストールします。
パッケージマネージャーでvnc-serverで検索をします。


TigerVNC Serverをインストールします。(tigervnc-server-1.0.90-0.10.20100115svn3945.el6(x86_64)パッケージです。)


コマンドラインからインストールする場合

コマンドラインからインストールする場合は以下のyumコマンドを実行します。
yum -y install tigervnc-server

依存関係のチェックが実行され追加でインストールされるパッケージが表示されます。問題がなければ[インストール]ボタンをクリックしてインストールします。


パッケージの信頼確認ダイアログが表示されます。[はい]ボタンをクリックしてインストールを続行します。


インストールが終了すると
/etc/rc.d/init.d/vncserver
コマンドが使えるようになります。下図は
/etc/rc.d/init.d/vncserver status
を実行してVNCServerの起動状態を取得した画面です。


vncservers の修正

/etc/sysconfig/vncservers ファイルを修正します。

修正前

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.  
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see this URL:
# http://kbase.redhat.com/faq/docs/DOC-7028

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

修正後

# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).  You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.  
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see this URL:
# http://kbase.redhat.com/faq/docs/DOC-7028

# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.

# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

VNCSERVERS="1:penta"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
VNCSERVERS="1:penta"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
の2行を追加します。
  • localhost は記載しないでください。これを記載するとこのPC以外の他のPCからは接続できなくなります。(-localhost を指定するとlocalhostからのVNC接続しか受けつけません。)

注意

VNCSERVERS="1:root"
と記述しrootでVNCにログインできる設定にした場合、VNCServerの起動時にエラーになり起動できません。
VNCSERVERS="1:penguin"
のように、一般ユーザーのアカウントを入力します。

VNCパスワードの設定

vncpasswd
コマンドを実行しVNCのパスワードを設定します。


VNCは一般ユーザーでログインすることが推奨になっていますので
su penta
vncpasswd
のようにVNCでログインする一般ユーザーに切り替えてvncpasswdコマンドを実行したほうが良いです。

ファイアーウォールの設定

続いてファイアーウォールの設定をします。[システム]>[管理]>[ファイアーウォール]メニューからファイアーウォールの設定をします。


設定画面の左側の[その他のポート]をクリックします。


右側の[追加]ボタンをクリックします。[ポートとプロトコル]ダイアログが開きます。ポート一覧からポート5900番を選んでもよいのですが、今回は複数のポートを開放するので下の[ユーザー定義]チェックボックスにチェックをします。


[ポート/ポート範囲]のテキストボックスに"5900-5910"を入力します。
今回は/etc/sysconfig/vncserversで
VNCSERVERS="1:penta"
を指定したため、ポートの5901だけを開けば接続できます。複数のディスプレイ番号を利用できるように5900~5910を開いておきます。


tcpとudpを設定しました。設定後ツールバーの[適用]ボタンをクリックします。


本当に反映してよいかのダイアログが表示されます。[はい]をクリックして設定を反映します。


vncserverサービスの起動

/etc/rc.d/init.d/vncserver start
コマンドを実行してvncserverを起動します。

クライアントからの接続

クライアントPCからVNC Viewerを使って接続をします。VNC Viewerのインストール手順についてはこちらの記事を参照してください。
(サーバーのIPアドレス):(ディスプレイ番号)
で接続します

例 サーバーのIPが192.168.0.16の場合

VNCViewerの接続先で
192.168.0.16:1
を指定します。

/etc/sysconfig/vncserversで
VNCSERVERS="1:penta"
を指定したためディスプレイ番号の1番が有効になっています。

暗号化されていない旨のダイアログが表示されますが、[Continue]ボタンをクリックして続行します。


下図の認証ダイアログが表示されます。ユーザー名は、vncserversでディスプレイ番号に対応するユーザー名が設定されているため、Usernameの欄は入力できない状態になっています。vncserversで設定したユーザー名のパスワード(今回の例では、ユーザー"penta"のパスワード)を入力します。


認証ができると、Linuxの画面が表示されます。


著者
かつて日本を代表したスーパーエンジニア (自称)
ハードウェア、電気設備、ガーデニング関係の記事を担当。
掲載日: 2011-07-16
iPentec all rights reserverd.