OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2014/12/28

OSSでLinuxサーバ構築

TigerVNC 1.1.0のCentOS 6.6へのインストールと初期設定

トップページOSSでLinuxサーバ構築 > TigerVNC 1.1.0のCentOS 6.6へのインストールと初期設定
このエントリーをはてなブックマークに追加

概要

 Windows上のVNCクライアント(RealVNC)からVNCサーバ(TigerVNC)にリモート接続してGUI環境を利用するための設定を行います。 接続する際のユーザは uvnc に限定するものとします。

構成

サーバ構成

OSバージョン

CentOS 6.6 x86_64

ソフトウェア・パッケージ一覧

xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm ・・・tigervnc-serverの依存パッケージ
tigervnc-server-1.1.0-16.el6.x86_64.rpm

クライアント構成

OSバージョン

Windows 7 Ultimate Service Pack 1 64bit

ソフトウェア・パッケージ一覧

VNC Viewer for Windows 64-bit 5.2.2

サーバ構築

インストール

 VNCサーバに必要なパッケージを2つインストールします。 その他Linuxインストール時のソフトウェア選択によって必要なパッケージが異なってきますので、 依存関係でエラーになった場合は適宜前提パッケージをインストールしてください。 DVDドライブにCentOS 6.6のDVD-ROM1をセットし、以下のコマンドを実行します。

# mount /dev/cdrom /media/cdrom
# cd /media/cdrom/Packages/
# rpm -ihv xorg-x11-fonts-misc-7.2-9.1.el6.noarch.rpm
準備中...                ########################################### [100%]
   1:xorg-x11-fonts-misc    ########################################### [100%]
# rpm -ihv tigervnc-server-1.1.0-16.el6.x86_64.rpm
準備中...                ########################################### [100%]
   1:tigervnc-server        ########################################### [100%]
# cd /
# umount /media/cdrom 

設定

(1) VNC接続用ユーザの作成

 VNC接続用のLinuxユーザ(ユーザ名:uvnc)を作成します。

# groupadd -g 20001 admin
# useradd -u 20001 uvnc
# passwd uvnc
ユーザー uvnc のパスワードを変更。
新しいパスワード: ←パスワードを入力(文字は表示されません)
新しいパスワードを再入力してください: ←パスワードを入力(文字は表示されません)
passwd: 全ての認証トークンが正しく更新できました。

(2) TigerVNCの設定

 viエディタで設定ファイル(vncservers)を開き、設定を変更します。

# cd /etc/sysconfig/
# vi vncservers
ファイル名:/etc/sysconfig/vncservers
※ファイルの末尾に追加※

VNCSERVERS="1:uvnc"
VNCSERVERARGS[1]="-geometry 1024x768"

(3) VNCパスワードファイルの作成

 VNCクライアントから接続する際に認証で使用されるパスワードは Linuxのパスワードではなく、VNC用のパスワードです。 パスワードはLinuxユーザ毎に作成されるので混同しないようにしてください。

# su - uvnc
$ vncpasswd
Password: ←パスワードを入力(文字は表示されません)
Verify: ←パスワードを入力(文字は表示されません)
$ exit
logout

(4) 起動スクリプトの作成

 VNCサーバの起動スクリプトを作成します。 一度起動すると自動でデフォルトの起動スクリプトが生成されますので、 それを利用します。

# service vncserver start
VNC サーバー を起動中: 1:uvnc xauth:  creating new authority file /home/uvnc/.Xauthority
xauth: (stdin):1:  bad display name "linuxsvr:1" in "add" command

New 'linuxsvr:1 (uvnc)' desktop is linuxsvr:1

Creating default startup script /home/uvnc/.vnc/xstartup
Starting applications specified in /home/uvnc/.vnc/xstartup
Log file is /home/uvnc/.vnc/linuxsvr:1.log

                                                           [  OK  ]
# service vncserver stop
VNC サーバー を停止中: 1:uvnc                              [  OK  ]
# cd /home/uvnc/.vnc/
# vi xstartup
ファイル名:/home/uvnc/.vnc/xstartup ※uvncはVNC接続用に作成したLinuxユーザ名です
※以下、該当箇所のみ変更※
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
   ↓変更
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &

(5) ホスト名の登録

 VNCサーバ起動時に「xauth: (stdin):1: bad display name "linuxsvr:1" in "add" command」のような メッセージが表示された場合、ホスト名の名前解決に失敗している可能性があります。 hostsファイル、もしくはDNSサーバで名前解決できるように登録してください。 以下はhostsファイルに登録する際の手順です。

# cd /etc/
# vi hosts
ファイル名:/etc/hosts
※ファイルの末尾に追加※
192.168.0.104   linuxsvr ←あくまでサンプルです

(6) 自動起動の設定

 Linux起動時にVNCサーバも自動で起動するよう設定を変更します。

# chkconfig --list vncserver
vncserver       0:off   1:off   2:off   3:off   4:off   5:off   6:off
# chkconfig vncserver on
# chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off

(7) VNCサーバの起動

 設定が終わったらVNCサーバを起動します。

# service vncserver start
VNC サーバー を起動中: 1:uvnc
New 'linuxsvr:1 (uvnc)' desktop is linuxsvr:1

Starting applications specified in /home/uvnc/.vnc/xstartup
Log file is /home/uvnc/.vnc/linuxsvr:1.log

                                                           [  OK  ]

クライアント設定

インストール

 RealVNCのサイトからVNC Viewerをダウンロードし、Windows上の任意の場所に配置します。 exeファイルはスタンドアローン形式なので、インストールは不要です。

【URL】
 Download VNC Viewer
【ファイル名】
 VNC-Viewer-5.2.2-Windows-64bit.exe

動作テスト

(1) プロセス確認

 TigerVNCのプロセスを確認します。 関係ないプロセスも表示されていますが、多数の関連プロセスが起動しています。 (各プロセスの詳細は未確認です)

# ps -ef | grep vnc
uvnc      2648     1  0 Dec28 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
uvnc     12596     1  0 04:59 ?        00:00:00 /usr/bin/Xvnc :1 -desktop rah81s1:1 (uvnc) -auth /home/uvnc/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /home/uvnc/.vnc/passwd -rfbport 5901 -fp catalogue:/etc/X11/fontpath.d -pn
uvnc     12603     1  0 04:59 ?        00:00:00 /usr/bin/ck-xinit-session /usr/bin/ssh-agent /etc/X11/xinit/Xclients
uvnc     12605 12603  0 04:59 ?        00:00:00 vncconfig -iconic
uvnc     12614     1  0 04:59 ?        00:00:00 dbus-launch --sh-syntax --exit-with-session
uvnc     12615     1  0 04:59 ?        00:00:00 /bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
uvnc     12634 12603  0 04:59 ?        00:00:00 /usr/bin/gnome-session
uvnc     12636 12634  0 04:59 ?        00:00:00 /usr/bin/ssh-agent /etc/X11/xinit/Xclients
uvnc     12643     1  0 04:59 ?        00:00:00 /usr/libexec/gconfd-2
uvnc     12649     1  0 04:59 ?        00:00:00 /usr/libexec/gnome-settings-daemon
uvnc     12651     1  0 04:59 ?        00:00:00 gnome-keyring-daemon --start
uvnc     12658     1  0 04:59 ?        00:00:00 seahorse-daemon
uvnc     12661     1  0 04:59 ?        00:00:00 /usr/libexec/gvfsd
uvnc     12678 12634  0 04:59 ?        00:00:00 metacity
uvnc     12680 12634  0 04:59 ?        00:00:00 nautilus
uvnc     12685 12634  0 04:59 ?        00:00:00 gnome-power-manager
uvnc     12689     1  0 04:59 ?        00:00:00 /usr/libexec/im-settings-daemon
uvnc     12691 12634  0 04:59 ?        00:00:00 bluetooth-applet
uvnc     12694 12634  0 04:59 ?        00:00:00 gnome-volume-control-applet
uvnc     12698 12634  0 04:59 ?        00:00:00 /usr/libexec/gdu-notification-daemon
uvnc     12701 12634  0 04:59 ?        00:00:00 /usr/libexec/polkit-gnome-authentication-agent-1
uvnc     12718     1  0 04:59 ?        00:00:00 /usr/libexec/gvfsd-trash --spawner :1.9 /org/gtk/gvfs/exec_spaw/0
uvnc     12728     1  0 04:59 ?        00:00:00 /usr/libexec/gvfs-gdu-volume-monitor
uvnc     12788     1  0 04:59 ?        00:00:00 /usr/libexec/gvfs-afc-volume-monitor
uvnc     12799     1  0 04:59 ?        00:00:00 /usr/libexec/gvfs-gphoto2-volume-monitor
uvnc     12888 12689  0 04:59 ?        00:00:00 /usr/bin/ibus-daemon -r --xim
uvnc     12891     1  0 04:59 ?        00:00:00 /usr/libexec/gconf-im-settings-daemon
uvnc     12892 12888  0 04:59 ?        00:00:00 /usr/libexec/ibus-gconf
uvnc     12894 12888  0 04:59 ?        00:00:00 python /usr/share/ibus/ui/gtk/main.py
uvnc     12896     1  0 04:59 ?        00:00:00 /usr/libexec/ibus-x11 --kill-daemon
uvnc     12897 12888  0 04:59 ?        00:00:00 python /usr/share/ibus-anthy/engine/main.py --ibus
uvnc     12902     1  0 04:59 ?        00:00:00 /usr/libexec/gvfsd-burn --spawner :1.9 /org/gtk/gvfs/exec_spaw/1
root     12954  3045  0 05:03 pts/0    00:00:00 grep vnc

(2) ポート確認

 TigerVNCがリッスンしているポートを確認します。 5901/tcpでリッスンしているのが確認できれば正常に動作しています。

# netstat -tanp | grep vnc
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      12596/Xvnc  
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      12596/Xvnc  
tcp        0      0 :::6001                     :::*                        LISTEN      12596/Xvnc  

利用方法

 Windows上で VNC-Viewer-5.2.2-Windows-64bit.exe ファイルを実行すると、初回起動時に以下のようなライセンス同意画面が表示されます。 [I have read and accept these terms and conditions.]をチェックし、[OK]ボタンをクリックします。

 [VNC Server]にVNCサーバのIPアドレスとポート番号を入力し、[Connect]ボタンをクリックします。 ポート番号は /etc/sysconfig/vncservers で設定した VNCSERVERARGS[] の[]内の値(今回は1)+5900 となるため、5901です。

 通信を暗号化していないため以下のような警告が表示されますが、[Continue]ボタンをクリックします。

 認証画面が表示されるので、vncpasswd で設定した uvnc ユーザのパスワードを入力して[OK]ボタンをクリックします。

 以下のようにデスクトップが表示されたらVNCでの接続は成功です。

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会


第000414号