VNC

提供: Wikinote
移動: 案内検索

あっさり使えた VNC に感動したので記しておく。

サーバ側

RHEL7

RHEL7 でも RHEL6 と同様に tigervnc-server である。

# rpm -q tigervnc-server
tigervnc-server-1.2.80-0.30.20130314svn5065.el7.x86_64

まず、vncpasswd で ~/.vnc/passwd ファイルを作成しておく。

$ vncpasswd
Password:
Verify:

下記のファイルをコピーして、ユーザに合わせて変更する。

# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
# vi /etc/systemd/system/vncserver@:2.service
...
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l <ユーザ名> -c "/usr/bin/vncserver %i"
PIDFile=/home/<ユーザ名>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

systemctl でサービスを有効にして、起動する。

# systemctl daemon-reload
# systemctl enable vncserver@:2.service
ln -s '/etc/systemd/system/vncserver@:2.service' '/etc/systemd/system/multi-user.target.wants/vncserver@:2.service'
# systemctl start vncserver@:2.service 
# systemctl status vncserver@:2.service 
vncserver@:2.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled)
   Active: active (running) since 火 2014-06-10 21:30:58 JST; 3s ago
…


CentOS 6

CentOS 6 (RHEL6) では、tigervnc-server というパッケージになっている。

[root@courier ~]# rpm -q tigervnc-server
tigervnc-server-1.0.90-0.10.20100115svn3945.el6.x86_64

設定自体は、CentOS 5 と同様だ。デフォルトで -nolisten tcp-localhost というオプションが指定されているが、両方とも外す。 -nolisten tcp は man を見ても意味が分からない。 -localhost は localhost からしかアクセスできなくなる。

[root@courier ~]# vi /etc/sysconfig/vncservers
 ...
VNCSERVERS="2:hagio"
VNCSERVERARGS[2]="-geometry 1024x768"

vncpasswd コマンドでユーザのパスワードを設定しておく。

[hagio@courier ~]$ vncpasswd
Password:
Verify:

vncserver サービスを起動する。自動起動も有効にしておこう。

[root@courier ~]# service vncserver start
VNC サーバー を起動中: 2:hagio 
New 'courier.hagio.org:2 (hagio)' desktop is courier.hagio.org:2

Starting applications specified in /home/hagio/.vnc/xstartup
Log file is /home/hagio/.vnc/courier.hagio.org:2.log

                                                           [  OK  ]
[root@courier ~]# chkconfig vncserver on
[root@courier ~]# chkconfig vncserver --list
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off

CentOS 5

vnc-server パッケージがインストールされていれば良い。 なければ yum か このへん から取ってきてインストールする。

[root@lab ~]# rpm -qa | grep vnc
vnc-server-4.1.2-9.el5

使用するユーザの設定を行う。/etc/sysconfig/vncservers に以下を追加する。 設定の詳細は man Xvnc を参照のこと。

VNCSERVERS="2:hagio"
VNCSERVERARGS[2]="-geometry 1280x1024 -rfbport 12345" # これはお好みに応じて。

ユーザ hagio になり、VNC のパスワードを設定する。

[hagio@lab ~]$ vncpasswd

設定が終わったら、vncserver を起動する。

# service vncserver start

起動時に自動的に vncserver を起動するようにする場合は、例によって以下を実行する。

# chkconfig vncserver on

vncserver を終了すると、~/.vnc/xstartup が作成されているので、 KDE を起動するように修正する。xterm もいらないのでコメントアウトしておいた。

# service vncserver stop
$ vi ~/.vnc/xstartup
  :
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
exec startkde

GNOME の場合は、exec gnome-session らしい。(未確認 確認済み)

クライアント側

Mac OS X

Snow Leopard なら特に設定はいらない。

  1. Snow Leopard なら、Finder で ⌘K、あるいはメニューから「移動」→ 「サーバへ接続...」する。
  2. サーバアドレスに vnc://ホスト名:12345/ と入力して接続。
    • -rfbport オプションを指定していないなら、ポート番号は (5900 + ディスプレイ番号) である。
  3. パスワードを聞かれるので入力して接続。

RHEL

vnc パッケージに入っている vncviewer を用いる。

Windows

RealVNC というソフトを利用する。 インストール後、VNC Viewer で "ホスト名:ポート番号" へ接続すればよい。

なお、デュアルディスプレイに対応していないようなので注意。(いったん終了すれば元に戻る)