(無償) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

2012年6月11日月曜日

【Linux CentOS 6.2 64bit 版】TurboVNC Serverのインストールと設定

CentOS 6.2 64bit版に、TurboVNC 1.1 Serverをインストールしたときのメモ


Turbo VNCは、公開されているRPMパッケージで導入できた。

ただいくつかの問題点に気が付いた。
インストールする前に、次に挙げる不具合を確認したほうがいい。

「ただし、このブログ記事は、2012年のものなのでとても古いです。
現在の新しいパッケージでは、不具合が解決されているかもしれません。試していません。」


(不具合)
・gnome上で、ファイルアイコンの右クリックメニューを表示させたとき、しばしばメニュー一番目にある項目が勝手に選択実行されてしまった。
そのため、ファイルで右クリックを押しただけでそのメニュー一番目に「アプリケーションで開く」があれば勝手にファイルが開いてしまうし、
デスクトップ上の何もないところで右クリックを押しただけで、そのメニューの一番目にある「フォルダを新規作成」が勝手に選択実行されて、フォルダが作成されてしまった。
(回避策: 右クリックで表示されるメニューを使わないこと。代わりに、デスクトップをHOMEフォルダから開いてウインドウ表示させ、その編集メニューにあるコピーや、貼り付けなどの機能を用いる。)

・このインストール環境で試したところ、gnome上でファイルのドラッグアンドドロップ操作ができなかった。
(回避策: ウインドウ上部バー編集メニューにあるコピーアンドペーストを使う。)

・システム起動時のタイミングでtvncserverを自動起動させると、gnomeが日本語モードにならなかったので注意。
(回避策: 手動で起動すれば問題なかった。対応方法などは後述)


今後の、バージョンアップに期待して前向きに。



□インストール手順

(注意事項)
・設定ファイル名や実行ファイルの位置などが、yumでインストールできるvnc serverとは異なっていたので注意。

<前提>

・CentOS 6.2 64bit版は、インストーラーで「デスクトップ」を選択して導入したものを用いた。
・SELinuxは解除した。
・簡単のためにファイアウォールは無効にした。


1、rpmファイルのダウンロードを行った

http://sourceforge.net/projects/virtualgl/files/TurboVNC/1.1/ からrpmファイルをダウンロードした。
[root@local software]# ls
turbovnc-1.1.x86_64.rpm

2、必要なパッケージをインストールした

[root@local software]# yum install libXaw
Installed:
  libXaw.x86_64 0:1.0.6-4.1.el6

Complete!

3、rpmコマンドを使って、ダウンロード済みのturbovnc-1.1.x86_64.rpmをインストールした
[root@local software]# rpm -ivh turbovnc-1.1.x86_64.rpm
準備中...                ########################################### [100%]
   1:turbovnc               ########################################### [100%]



□設定手順

<前提>
・ログインできてgnomeが使用可能な「LINUXユーザー」(例として、userA、userB)があること
・そのユーザーで一度以上ログインしgnomeを使用しており、ホームディレクトリに関係ファイルが配置されていること


0、設定に必要なファイルの位置や名前を確認した

[root@local software]# find / -name "*vnc*"
/usr/share/doc/turbovnc-1.1
/usr/share/doc/turbovnc-1.1/turbovnc.css
/usr/share/doc/turbovnc-1.1/turbovnc3.png
/usr/share/doc/turbovnc-1.1/turbovnc1.png
/usr/share/doc/turbovnc-1.1/turbovnc6.png
/usr/share/doc/turbovnc-1.1/turbovnc5.png
/usr/share/doc/turbovnc-1.1/turbovnc4.png
/usr/share/doc/turbovnc-1.1/turbovnc2.png
/usr/share/applications/tvncviewer.desktop
/root/software/turbovnc-1.1.x86_64.rpm
/opt/TurboVNC/man/man1/vncserver.1
/opt/TurboVNC/man/man1/vncviewer.1
/opt/TurboVNC/man/man1/vncpasswd.1
/opt/TurboVNC/man/man1/vncconnect.1
/opt/TurboVNC/man/man1/Xvnc.1
/opt/TurboVNC/vnc
/opt/TurboVNC/vnc/classes/index.vnc
/opt/TurboVNC/bin/vncpasswd
/opt/TurboVNC/bin/vncconnect
/opt/TurboVNC/bin/tvncconfig
/opt/TurboVNC/bin/Xvnc
/opt/TurboVNC/bin/vncviewer
/opt/TurboVNC/bin/vncserver
/etc/sysconfig/tvncservers
/etc/rc.d/rc5.d/K35tvncserver
/etc/rc.d/rc4.d/K35tvncserver
/etc/rc.d/rc1.d/K35tvncserver
/etc/rc.d/rc2.d/K35tvncserver
/etc/rc.d/rc0.d/K35tvncserver
/etc/rc.d/rc6.d/K35tvncserver
/etc/rc.d/rc3.d/K35tvncserver
/etc/rc.d/init.d/tvncserver
/etc/turbovncserver.conf
/etc/turbovncserver-auth.conf

1、LINUXユーザーのホームディレクトリに、.vnc 隠しディレクトリを作成した

作成する.vncディレクトリは、userAがリード・ライトできるようにした

[root@local software]# cd /home/userA
[root@local software]# su userA
bash-4.1$ mkdir .vnc

同様にして、userBについても設定を行う


2、VNCパスワードを設定した(VNC ViewerでVNC Serverにアクセスするときに求められる)

(注意) su userAのままなので、userA用パスワードを作成することになる

bash-4.1$ /opt/TurboVNC/bin/vncpasswd
Password:  ←設定するパスワードを入力した
Verify:    ←確認のためもう一度入力した
Would you like to enter a view-only password (y/n)? n  ← yにすると、view-only用になってしまうので注意

3、VNCサーバの設定を行った

(注意)rootに戻っておく

設定ファイル内の例に倣って設定を行った
[root@local ~]# vim /etc/sysconfig/tvncservers
一部抜粋

# VNCSERVERS="1:myusername"
# VNCSERVERARGS[1]="-geometry 800x600 -nohttpd -localhost"
#
VNCSERVERS="1:userA 2:userB"

1:userAの1や、2:userBの2は、VNCのディスプレイ番号である。
ディスプレイ番号は重ならないように指定すること。

(注意)
ディスプレイ番号は、VNCクライアントが接続してくる「待ち受けポート番号」に関係する。
待ち受けポート番号 = 5900 + ディスプレイ番号になっている。

ディスプレイ番号によっては、(システム予約され)使用できないポート番号と重なってしまい、VNCSERVERの起動に失敗してしまう。

たとえば、ディスプレイ番号、53や、102に設定すると、VNCSERVERの起動に失敗した。
この場合、別の番号を指定すると問題なく起動することができた。



4、VNC Serverを起動した

[root@local ~]# service tvncserver start
TurboVNC server を起動中: 1:userA 2:userB                         [  OK  ]

5、システム起動時に自動的にスタートするように設定した

[root@local ~]# chkconfig tvncserver on

システム起動時のタイミングでtvncserverを起動すると、gnomeが日本語モードにならなかったので注意。
rc.localに起動コマンドを記述する方法でも同様に、gnomeが日本語にならなかった。
gnomeで日本語を使いたい場合は、自動スタートの設定をせずに、
システム起動後にターミナルから手動でservice tvncserver startすると良い。



□動作テスト

今回のインストール作業で専用Viewerもインストールされており、GNOMEのメニューから利用可能だった。

動作テストでは、クライアントソフトのVNC Viewer (Windows版)からアクセスした。
TurboVNC専用のクライアントソフトを使うと、ローカルで操作しているみたいにとても快適だった。

VNC Viewerには、サーバマシンIPv4アドレスと接続ポートを指定した。
接続ポート番号で、VNCのディスプレイ番号とLINUXユーザーが区別される。
接続ポート番号は、5900に「VNCのディスプレイ番号」を加算した数になる。

(例)userAのVNCディスプレイ番号にアクセスする場合
VNC Serverアドレス:5901