「VNC」の版間の差分

提供: Wikinote
移動: 案内検索
(サーバ側)
 
(同じ利用者による、間の3版が非表示)
行1: 行1:
 
あっさり使えた VNC に感動したので記しておく。
 
あっさり使えた VNC に感動したので記しておく。
 
サーバ:CentOS 5、クライアント:Mac OS X Snow Leopard
 
  
 
== サーバ側 ==
 
== サーバ側 ==
  
 +
=== 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 と同様だ。デフォルトで <code>-nolisten tcp</code> と
 +
<code>-localhost</code> というオプションが指定されているが、両方とも外す。
 +
<code>-nolisten tcp</code> は man を見ても意味が分からない。
 +
<code>-localhost</code> は 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 パッケージがインストールされていれば良い。
 
vnc-server パッケージがインストールされていれば良い。
 
なければ yum か [http://ftp.riken.jp/Linux/centos/ このへん] から取ってきてインストールする。
 
なければ yum か [http://ftp.riken.jp/Linux/centos/ このへん] から取ってきてインストールする。

2014年6月10日 (火) 21:32時点における最新版

あっさり使えた 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 で "ホスト名:ポート番号" へ接続すればよい。

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