Debian GNU/Linux に TigerVNC の最新バージョンをインストールして TigerVNC Viewer を使用する方法

  • このエントリーをはてなブックマークに追加
TigerVNC_1

VNC を 使うなら TigerVNC をおすすめする理由

ネットワーク経由で PCを遠隔操作することを可能とするリモートデスクトップツールとしては、「VNC(Virtual Network Computing)」が定番です。このVNCには独自に改良が加えられた派生版や移植版などいくつかの種類がありますが、ここで紹介する TigerVNCもその一つです。VNCの第4世代に基づいて高度なVNCの実装が行われています。TigerVNC には、TightVNC と TurboVNC 両プロジェクトからの機能も含まれており、JPEG圧縮が強化されています。また、TigerVNC では、最新のX.OrgのXサーバをサポートしています。TightVNC の特徴としては、Server – Client 間の通信データを圧縮して送受信することで、快適な動作を実現した点があり、その流れを汲む TigerVNC は、高性能VNC として、そのレスポンス、フィーリング共に、従来のVNCに比べて格段に操作感の向上を感じることができます。

また、通常の VNC : 仮想ネットワークコンピューティングサーバソフトウェア の通信内容は、平文でやりとりされていますので、SSHを介したポートフォワーディングを行うなど、VNCセッションをトンネリングする必要がありますが、TigerVNC には、標準で暗号化通信を行う機能が実装されています。そのため、TigerVNC では、サーバ側 と ビューワー側 の両方が TLS をサポートしていれば、ソフトウェアの組み合わせによらず、自動的に TLS を使ったセッションが確立されます。例えば、私の場合、サーバ側にて x11vnc を起動して、クライアントの TigerVNC Viewer を使ってリモートデスクトップ接続をしたりすることがありますが、x11vnc を SSL モードで起動しておけば、双方が暗号化に対応しているため、ちゃんと自動的に TLS で通信が確立されています。

CentOS や RHEL では、リポジトリに あらかじめ TigerVNC が用意されています。しかし、Debian GNU/Linux (以下、Debian)の公式リポジトリにて、パッケージ(Package)として提供されているVNCアプリケーションソフトは、jessie バージョンの時点では、vnc4server(4.1.1+X4.3.0-37.6)、および tightvncserver(1.3.9-6.5)で、TigerVNC は入っていません。そのため、現状、Debian ユーザーは、apt-get コマンドで簡単に TigerVNC をインストールして利用することはできない状況です。

 

 

Debian GNU/Linux に TigerVNC をインストールする方法

TigerVNC の公式サイト(http://tigervnc.org)の記載にある通り、最新バージョンは GitHub にて公開されています。
The latest release of TigerVNC can be downloaded from our GitHub release page. Self-contained binaries for 64-bit and 32-bit Linux (GLIBC 2.3.2 and later) are provided, as well as installers for 64-bit and 32-bit Windows and a universal binary for Intel-based Macs.

GitHub(上記ページのリンクから)
https://github.com/TigerVNC/tigervnc/releases
(ここで直接落とせるようになっているzipファイルは「ソースコード」です。)
このページ内に、バイナリへのリンクが記載されています。
Binaries are available from bintray: 【← これが目印】
リンク先は bintray.com 、TigerVNC の Stable version の公開ページに飛ぶことができます。
TigerVNC の Latest release of Stable version は、最終的にここで入手することができます。
Debian (64 bit) にインストールしたい場合は、tigervnc-Linux-x86_64-x.x.x.tar.gz をダウンロードします(x.x.xの部分はバージョンによって可変パラメータとなっているので、都度、最新のファイル名を確認ください)。

サーバー側

ルートに移動
$ cd /
$ pwd
/

TigerVNC の最新バージョンを公式サイトからダウンロードする(例: tigervnc 1.5.0)
$ sudo wget -np https://bintray.com/artifact/download/tigervnc/stable/tigervnc-Linux-x86_64-1.5.0.tar.gz

カレントディレクトリにダウンロードされます
$ ls -la
-rw-r–r– 1 root root 19405691 7月 13 06:32 tigervnc-Linux-x86_64-1.5.0.tar.gz

解凍します(「ルート直下」で解凍すれば、ちょうど etc と usr に上書き追加されるので便利です)
$ sudo tar zvxf tigervnc-Linux-x86_64-1.5.0.tar.gz
./etc/
./etc/sysconfig/
./etc/sysconfig/vncservers
./etc/init.d/
./etc/init.d/vncserver
./usr/
./usr/lib64/
./usr/lib64/tigervnc/
./usr/lib64/tigervnc/libGL.so.1.2.0
./usr/lib64/tigervnc/libdricore9.2.5.so.1
./usr/lib64/tigervnc/libdricore9.2.5.so
./usr/lib64/tigervnc/dri/
./usr/lib64/tigervnc/dri/swrast_dri.so
./usr/lib64/tigervnc/libGL.so.1
./usr/lib64/tigervnc/libGL.so
./usr/lib64/tigervnc/libdricore9.2.5.so.1.0.0
./usr/bin/
./usr/bin/vncserver
./usr/bin/Xvnc
./usr/bin/vncconfig
./usr/bin/x0vncserver
./usr/bin/vncviewer
./usr/bin/vncpasswd
./usr/share/
./usr/share/applications/
./usr/share/applications/vncviewer.desktop
./usr/share/doc/
./usr/share/doc/tigervnc-license-1.5.0/
./usr/share/doc/tigervnc-license-1.5.0/LICENCE.TXT
./usr/share/doc/tigervnc-server-applet-1.5.0/
./usr/share/doc/tigervnc-server-applet-1.5.0/README
./usr/share/doc/tigervnc-1.5.0/
./usr/share/doc/tigervnc-1.5.0/README.txt
./usr/share/icons/
./usr/share/icons/hicolor/
./usr/share/icons/hicolor/24×24/
./usr/share/icons/hicolor/24×24/apps/
./usr/share/icons/hicolor/24×24/apps/tigervnc.png
./usr/share/icons/hicolor/22×22/
./usr/share/icons/hicolor/22×22/apps/
./usr/share/icons/hicolor/22×22/apps/tigervnc.png
./usr/share/icons/hicolor/16×16/
./usr/share/icons/hicolor/16×16/apps/
./usr/share/icons/hicolor/16×16/apps/tigervnc.png
./usr/share/icons/hicolor/48×48/
./usr/share/icons/hicolor/48×48/apps/
./usr/share/icons/hicolor/48×48/apps/tigervnc.png
./usr/share/icons/hicolor/scalable/
./usr/share/icons/hicolor/scalable/apps/
./usr/share/icons/hicolor/scalable/apps/tigervnc.svg
./usr/share/icons/hicolor/32×32/
./usr/share/icons/hicolor/32×32/apps/
./usr/share/icons/hicolor/32×32/apps/tigervnc.png
./usr/share/vnc/
./usr/share/vnc/classes/
./usr/share/vnc/classes/index.vnc
./usr/share/vnc/classes/VncViewer.jar
./usr/share/locale/
./usr/share/locale/tr/
./usr/share/locale/tr/LC_MESSAGES/
./usr/share/locale/tr/LC_MESSAGES/tigervnc.mo
./usr/share/locale/el/
./usr/share/locale/el/LC_MESSAGES/
./usr/share/locale/el/LC_MESSAGES/tigervnc.mo
./usr/share/locale/eo/
./usr/share/locale/eo/LC_MESSAGES/
./usr/share/locale/eo/LC_MESSAGES/tigervnc.mo
./usr/share/locale/nl/
./usr/share/locale/nl/LC_MESSAGES/
./usr/share/locale/nl/LC_MESSAGES/tigervnc.mo
./usr/share/locale/uk/
./usr/share/locale/uk/LC_MESSAGES/
./usr/share/locale/uk/LC_MESSAGES/tigervnc.mo
./usr/share/locale/bg/
./usr/share/locale/bg/LC_MESSAGES/
./usr/share/locale/bg/LC_MESSAGES/tigervnc.mo
./usr/share/locale/sk/
./usr/share/locale/sk/LC_MESSAGES/
./usr/share/locale/sk/LC_MESSAGES/tigervnc.mo
./usr/share/locale/ru/
./usr/share/locale/ru/LC_MESSAGES/
./usr/share/locale/ru/LC_MESSAGES/tigervnc.mo
./usr/share/locale/pl/
./usr/share/locale/pl/LC_MESSAGES/
./usr/share/locale/pl/LC_MESSAGES/tigervnc.mo
./usr/share/locale/da/
./usr/share/locale/da/LC_MESSAGES/
./usr/share/locale/da/LC_MESSAGES/tigervnc.mo
./usr/share/locale/sv/
./usr/share/locale/sv/LC_MESSAGES/
./usr/share/locale/sv/LC_MESSAGES/tigervnc.mo
./usr/share/locale/it/
./usr/share/locale/it/LC_MESSAGES/
./usr/share/locale/it/LC_MESSAGES/tigervnc.mo
./usr/share/locale/fr/
./usr/share/locale/fr/LC_MESSAGES/
./usr/share/locale/fr/LC_MESSAGES/tigervnc.mo
./usr/share/locale/pt_BR/
./usr/share/locale/pt_BR/LC_MESSAGES/
./usr/share/locale/pt_BR/LC_MESSAGES/tigervnc.mo
./usr/share/locale/es/
./usr/share/locale/es/LC_MESSAGES/
./usr/share/locale/es/LC_MESSAGES/tigervnc.mo
./usr/share/locale/fi/
./usr/share/locale/fi/LC_MESSAGES/
./usr/share/locale/fi/LC_MESSAGES/tigervnc.mo
./usr/share/locale/de/
./usr/share/locale/de/LC_MESSAGES/
./usr/share/locale/de/LC_MESSAGES/tigervnc.mo
./usr/share/man/
./usr/share/man/man1/
./usr/share/man/man1/x0vncserver.1.gz
./usr/share/man/man1/vncconfig.1.gz
./usr/share/man/man1/vncserver.1.gz
./usr/share/man/man1/vncpasswd.1.gz
./usr/share/man/man1/Xvnc.1.gz
./usr/share/man/man1/vncviewer.1.gz

 

確認
$ ls -la /etc/sysconfig
-rw-r–r– 1 root root 765 7月 13 05:03 vncservers

$ ls -la /usr/lib64/tigervnc
合計 30740
drwxr-xr-x 3 root root 4096 7月 13 05:03 .
drwxr-xr-x 3 root root 4096 7月 13 05:03 ..
drwxr-xr-x 2 root root 4096 7月 13 05:03 dri
lrwxrwxrwx 1 root root 14 7月 13 05:03 libGL.so -> libGL.so.1.2.0
lrwxrwxrwx 1 root root 14 7月 13 05:03 libGL.so.1 -> libGL.so.1.2.0
-rwxr-xr-x 1 root root 10301224 7月 13 05:03 libGL.so.1.2.0
lrwxrwxrwx 1 root root 24 7月 13 05:03 libdricore9.2.5.so -> libdricore9.2.5.so.1.0.0
lrwxrwxrwx 1 root root 24 7月 13 05:03 libdricore9.2.5.so.1 -> libdricore9.2.5.so.1.0.0
-rwxr-xr-x 1 root root 21161727 7月 13 05:03 libdricore9.2.5.so.1.0.0

この辺りが、存在すれば、tar展開〜追加がうまくいったということになる。

 

インストールした時点では、実行権限が無い状態なので、パーミッションを追加する
$ ls -la /etc/init.d/vncserver
-rw-r–r– 1 root root 1977 7月 13 05:03 vncserver

$ sudo chmod 755 /etc/init.d/vncserver

$ ls -la /etc/init.d/vncserver
-rwxr-xr-x 1 root root 1977 7月 13 05:03 vncserver

 

Chkconfig の設定
$ sudo chkconfig -l | grep vnc
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off

$ sudo chkconfig –level 2345 vncserver on

$ sudo chkconfig -l | grep vnc
vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off

 

自動でデフォルトの起動スクリプトを生成 + パスワード登録 のため、一度起動する
$ cd /etc/init.d/
$ vncserver :1

You will require a password to access your desktops.

Password:

New ‘マシン名:1 (ユーザー名)’ desktop is マシン名:1

Creating default startup script /home/ユーザー名/.vnc/xstartup
Starting applications specified in /home/ユーザー名/.vnc/xstartup
Log file is /home/ユーザー名/.vnc/マシン名:1.log

 

サーバー側
パスワードファイル (※ パスワードを変更したい時だけ)
/usr/bin/vncpasswd

 

一旦停止(落として)、次の設定ファイルを編集に移ります
$ vncserver -kill :1

 

接続時にメニューが出るように調整します。
$ cd /home/ユーザー名/.vnc/
$ sudo vi xstartup

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
OS=`uname -s`
if [ $OS = ‘Linux’ ]; then
case “$WINDOWMANAGER” in
*gnome*)
if [ -e /etc/SuSE-release ]; then
PATH=$PATH:/opt/gnome/bin
export PATH
fi
;;
esac
fi
if [ -x /etc/X11/xinit/xinitrc ]; then
exec /etc/X11/xinit/xinitrc
fi
if [ -f /etc/X11/xinit/xinitrc ]; then
exec sh /etc/X11/xinit/xinitrc
fi
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
twm &
exec gnome-session &

# 最終行に以下を追記するだけで良い(すぐ上が 例)
exec gnome-session &

 

TigerVNC設定ファイルの編集を行います(既定値の設定)。
$ sudo vi /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 800×600 -nolisten tcp -localhost”

VNCSERVERS=”1:ユーザー名”
VNCSERVERARGS[1]=”-geometry 1024×768 -depth 24″

適当な解像度をデフォルト登録しておく depthは 24bitカラーを意味する

-localhost は記載しないでください。これを記載するとこのPC以外の他のPCからは接続できなくなります。
(-localhost を指定すると localhostからのVNC接続しか受け付けません。)

 

TigerVNC を起動する。
$ vncserver :1

New ‘マシン名:1 (ユーザー名)’ desktop is マシン名:1

Starting applications specified in /home/ユーザー名/.vnc/xstartup
Log file is /home/ユーザー名/.vnc/マシン名:1.log

 

VNCサーバ起動状態確認 (vncserver が killされている状態の時は何も表示されない)
Linuxマシン上でVNCサーバがLISTENしているか確認する
“5801” はブラウザ(Java Applet)アクセス
“5901”はVNCクライアントアクセス

$ sudo netstat -lntp | egrep “:590|:580”
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 3305/Xvnc
tcp 0 0 0.0.0.0:5801 0.0.0.0:* LISTEN 3305/Xvnc

動作テスト
VNCサーバが起動して5801ポートでリスニングしているかを確認します。 (vncserver が killされている状態の時は何も表示されない)
(VNCクライアントソフトから接続するときは5901ポート、ブラウザから接続するときは5801ポートになります。)
sudo
$ sudo netstat -tanp | grep vnc
tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 7460/Xvnc
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 7460/Xvnc
tcp 0 0 0.0.0.0:5801 0.0.0.0:* LISTEN 7460/Xvnc
tcp 0 0 :::6001 :::* LISTEN 7460/Xvnc


$ sudo service –status-all コマンドでは、起動状態が確認できないので、これらの方法が一番確実。

 

 

Debian GNU/Linux で TigerVNC Viewer を使用する方法

【これは viewer 側(クライアントマシン)のファイル設定です】
マウスカーソルを表示する(VNC接続時に)
$ sudo vi ~/.vnc/default.tigervnc
DotWhenNoCursor=1
に変更する(デフォルトは0)

TigerVNC Viewer を起動する
$ vncviewer

TigerVNC Viewer 64-bit v1.5.0
Built on: 2015-07-12 15:54
Copyright (C) 1999-2015 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.

接続先 IPアドレス:5901

サーバ側で設定したパスワードを入力してGO!

現在の VNC 通信セッションが TLS で暗号化されているかどうかは
F8 キー → Connection info…
で、接続情報を表示することで確認できます。
Security method が TLS または x509 で始まっていれば、通信が TLS で暗号化されています。

 

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

*

人気記事ランキング

  • SEOブログパーツ
ページ上部へ戻る