今回は、VNCを使ってリモートデスクトップを実現してみましょう。
Virtual Network Computingの略で、直訳すると仮想ネットワークコンピューティング・・・そのまんま。
ネットワークに繋がった他のコンピュータの画面を遠隔操作するソフトウェア。イギリスのOlivetti Research Laboratory(1999年1月にAT&T Laboratoryが吸収)が開発し、フリーソフトウェアとして無償で配布している。
リモートデスクトップとは、
手元のコンピューターからネットワークで接続された他のコンピューターのGUIを操作する技術の総称である。
Windowsでは、この機能が、そのままサービス名みたいに使われていますので、よく知られるところとなりました。
出典:ウィキペディア、IT用語辞典
さて、今回は、評判のさくらのVPS
を使って、実現してみます。
本来、さくらのVPSは、所詮、VPSですから、GUIでの操作をメインに考えられたスペックでもないように思います。
でも、SSHで接続して、ひたすらCUIでセッティングするのも、ちょっと、疲れてしまいます。
少し楽しみながらセッティングを行いたい場合や、GUI関連の開発を行いたい場合、
さらには、そもそもサーバーとしてではなくリモートディスクトップして使いたい場合など、
用途はさまざまですが、CentOSを使ってリモートデスクトップを実現してみましょう。
※お試し期間中は、OP25B設定、データ転送帯域に制約がありますから注意してください。
VPS(CentOS)の環境設定
まずは、GUIが使える環境をサーバー側に構築してあげる必要があります。
VNC(正確には、vnc-server)は、Linuxでは、”X Window System” , “GNOME Desktop Environment” をインストールしておけばデフォルトでインストールされます。
インストールされているかどうかは、rpmで確認しましょう。
$ rpm -qa|grep vnc vnc-server-4.1.2-14.el5_5.4 $
上記のように表示されれば、すでにインストールされています。
以降は、
VNC、デスクトップの環境が何も設定されていないような場合についてのインストール、環境設定について解説します。
- デスクトップ環境をインストールする
サーバーとしてのみ利用されている場合は、無駄なパッケージはインスールしていないケースもあると思います。
せっかくGUIを使うので、ちゃんとGNOMEぐらいは使いたいと思われる方、
そうでなく、最小限のインストールにしたいと思われる方
それぞれいらっしゃると思います。
ここでは、それぞれの場合で簡単に解説してみます。
GNOMEのデスクトップ環境を使いたい場合
この場合、以下のようにデスクトップの環境一式をインストールします。
GNOMEのかわりにKDEでも利用できます。KDEを使いたい場合は、ここで、GNOMEの代わりにKDEをインストールしましょう。
※vnc-serverまで、これで一気にインストールされます。$ yum groupinstall "X Window System" "GNOME Desktop Environment"
KDEの場合、
と日本語パッケージ(Japanese Support) も同時にインストールすると良いでしょう。$ yum groupinstall "X Window System" "KDE (K Desktop Environment)" "Japanese Support"
必要最小限のインストールで済ませたい場合
この場合、以下のようにxtermの環境だけをインストール(単純なX-Windows環境)します。
$ yum -y install xterm twm vnc-server Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile : : Installed: xorg-x11-twm.x86_64 1:1.0.1-3.1 xterm.x86_64 0:215-8.el5_4.1 vnc-server.x86_64 0:4.1.2-14.el5_5.4 Dependency Installed: libXaw.x86_64 0:1.0.2-8.1 libXft.x86_64 0:2.1.10-1.1 libXrender.x86_64 0:0.9.1-3.1 chkfontpath.x86_64 0:1.10.1-1.1 libFS.x86_64 0:1.0.0-3.1 libXfont.x86_64 0:1.2.2-1.0.3.el5_1 libXmu.x86_64 0:1.0.2-5 libXtst.x86_64 0:1.0.1-3.1 libfontenc.x86_64 0:1.0.2-2.2.el5 ttmkfdir.x86_64 0:3.0.9-23.el5 xorg-x11-font-utils.x86_64 1:7.1-2 xorg-x11-fonts-base.noarch 0:7.1-2.1.el5 xorg-x11-xauth.x86_64 1:1.0.1-2.1 xorg-x11-xfs.x86_64 1:1.0.2-4 Complete! $
- VNC-Serverの環境設定を行う
VNC-Serverの環境設定は、概ね以下の2点ぐらいでしょう。
- VNCを利用するユーザ設定
VNC-Serverへアクセスするユーザを設定します。
ここで設定して初めてVNC-Serverを利用できるようになります。
ここでは、$ vim /etc/sysconfig/vncservers : # VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost" VNCSERVERS="5:taro" VNCSERVERARGS[5]="-geometry 1024x768 -nohttpd" : $
ディスプレイ番号 : 5
ユーザ名 : taro
初期画面サイズ : 1024×768 px
HTTPでのアクセス : 不可 (-nohttpd)
としています。
ここで指定するtaroというユーザは、OSのユーザになります。
もし、存在しないユーザを指定した場合は、ユーザを作成しておきましょう。
ユーザ登録コマンドイメージ
$ useradd taro $ passwd taro Changing password for user taro. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. $
VNCSERVERARGS には、上記以外にもパラメータを指定することができます。
各パラメータとその意味は以下のとおりです。
- -nolisten tcp
: 接続に TCP を利用しない。
- -nohttpd
: Webブラウザ※ での接続 WebブラウザによるVNC接続について を禁止する。
- -localhost
: 自ホスト以外からの接続を禁止する。
- -nolisten tcp
- VNC-ServerのTCPポート変更(必要な方だけ)
VNC-ServerのTCPポート番号は、デフォルトでは、5900番台が使われます。
最後の下1桁が、上記で設定したユーザ番号に相当します。
上記の設定例では、ユーザ名 : taro さんは、TCPポート番号は、5905となります。
ここでは、この5900番台を9900番台へ変更してみましょう。
$vncPortに数値(ここでは、9900)を設定するだけです。$ vi /usr/bin/vncserver : # $vncPort = 5900 + $displayNumber; $vncPort = 9900 + $displayNumber; :
また、IPテーブルなどでポートをふさいでいる場合は、上記で利用するポートを空けて(公開して)おきましょう。
以下は、IPテーブルでのポート番号 : 9505 を空ける場合の例です。
ここで、:5は、ディスクプレイ番号になります。$ /sbin/iptables -A INPUT -p tcp --dport 9905 -j ACCEPT </li> </ul> </li> <!-- VNC-Serverの環境設定を行う --> <li class="step2">VNC-Serverを起動する<br /> 先の設定したユーザで、まずは、VNC-Serverの初期化を行います。<br /> <pre lang="bash"> $ su taro [taro]$ vncserver :5 You will require a password to access your desktops. Password: Verify: xauth: creating new authority file /home/taro/.Xauthority New 'host.example.com:5 (taro)' desktop is host.example.com:5 Creating default startup script /home/taro/.vnc/xstartup Starting applications specified in /home/taro/.vnc/xstartup Log file is /home/taro/.vnc/host.example.com:1.log [taro]$
必ず、初回起動でパスワードの設定を促され、そのあと、VNC用設定ファイルをユーザカレントディレクトリに保存します。
ここで、VNCでログインした際に使用するデスクトップは、twmになっています。
つまり、必要最小限のインストールをした設定になっています。
その設定をGNOMEを使う場合は、以下のように設定を変更します。
以下の箇所をコメントアウト(先頭に#)して、$ vi ~taro/.vnc/xstartup #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & # xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & # twm & gnome-session &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” & twm &
gnome-session &
のように変更します。
KDEの場合、
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” & twm &
kinput2 -wnn -jserver localhost:1 & startkde &
のように変更します。
1行目は日本語入力を可にしています。
最後に、VNC-Serverを起動します。(root権限で実行します)
また、再起動しても起動するように設定しておきます。$ /etc/init.d/vncserver start VNC サーバー を起動中: 5:taro New 'host.example.com:5 (taro)' desktop is host.example.com:5 Starting applications specified in /home/taro/.vnc/xstartup Log file is /home/taro/.vnc/host.example.com:5.log [ OK ] $
$ chkconfig vncserver on $ chkconfig --list vncserver vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off $
- VNCを利用するユーザ設定
VNCビューア(クライアント)の環境設定
ここまでで、サーバー側の設定が完了しました。
ここからは、クライアント側(接続する側)の設定を解説します。
以降は、Windows XP に VNC をインストールして実際に接続するまでを解説します。
ここで用いるソフトウェアは、UltraVNCです。
ダウンロードは、http://www.uvnc.com:8080/downloads.htmlからできます。
もちろん無料です。
- まずは、インストールです。
基本的に、ダウンロードしたUltraVNC_x.x.x.x_Setup.exeを実行して、セットアップ画面に従うだけです。

Nextをクリックします。

GNUライセンスの同意画面です。
特に問題なければ、I Accept … を選択して、Nextをクリックします。

必要な他のソフトウェア等のお知らせ画面です。
特に問題なければ、Nextをクリックします。

インストール先ディレクトリを指定します。
指定を終えたら、Nextをクリックします。

インストールするサービスを指定します。問題なければFull Versionで可です。
選択を終えたら、Nextをクリックします。

プラグラム名を指定します。
指定を終えたら、Nextをクリックします。

Vistaに必要なDLLファイルを同時にダウンロードするか指定します。ここでは、XPを使っていますので、チェックを外しました。
指定を終えたら、Nextをクリックします。

これは、ビデオカードのミラードライバーソフトです。
このドライバーソフトをインストールすると早く感じるでしょう。ただし、すべてのディスプレイに対応している訳ではないので注意が必要です。
ここでは、動作確認をしたいだけなので、安全のためチェックをはずしておきました。

このソフトウェアのインストール環境の設定です。
こkでは、単純なクライアント接続だけしか利用しませんから、デスクトップへのアイコン登録以外は、すべてチェックを外しました。
指定を終えたら、Nextをクリックします。

設定内容の確認画面です。
特に問題なければ、Nextをクリックします。

インストール中の画面です。

ドキュメントの表示画面です。
特に問題なければ、Nextをクリックします。

完了画面です。
Finishをクリックします。
- UltraVNC Viewer を実行します。
[ スタート ] – [ プログラム ] – [ UltraVNC ] – [ UltraVNC Viewer ] で実行します。
実行すると以下の画面が表示されます。

設定する箇所は、
VNC Server : host.example.com::9905
のようにホスト名(or IPアドレス)+ポート番号 を指定します。
::(コロンが2つ)であることに注意してください。::の場合、以降の数値は、TCPポート番号として扱われます。
:(コロン)が1つの場合は、ディスプレイ番号として取り扱われます。
[GNOMEのデスクトップ環境を使った場合の接続後の画面]

GNOMEの画面です。
[KDEのデスクトップ環境を使った場合の接続後の画面]

KDEの画面です。
[必要最小限のインストールで済ませたい場合の接続後の画面]

シンプルなX Window画面が表示されました。メニューが左クリック長押しで表示されます。
[必要最小限のインストールで済ませたい場合でxtearm , twm をインストールしなかった場合の接続後の画面]

単純に、サーバー側で、vnc-serverのみをインストールした状態です。
当たり前ですが、xtearm , twm をインストールしていないので真っ暗で、何も表示されません。
しかし、ちゃんと接続できるんですね。
上記のような接続画面が表示されないような場合は、ほとんどサーバー側の設定に誤りがあるでしょう。
まずは、サーバーの設定を確認して、VNC-Serverの再起動をしてみましょう。
※設定を変更したときは、再起動が必要です。
$ /etc/init.d/vncserver restart
使った感じでは、(サーバーによると思いますけど)かなり軽い感じがします。それに、VMWare のゲストOSの操作に比べれば、使い勝手が非常に良いです。
まずは、お試しあれ。
この記事は、さくらのVPSを使って試した結果を元に書かれました。
さくらのVPS を試してみたい方は、さくらのVPS ページ
※お試し期間中は、OP25B設定、データ転送帯域に制約がありますから注意してください。
タグ: さくらのVPS



2011年5月21日, 2:08 PM
[...] さくらVPSを使ってVNCを使ってリモートデスクトップの環境を設定してみる [...]
2011年12月19日, 2:54 AM
[...] 参考)■[Mac]Mac – bash入門 Mac OS XでTomcat (Java ServletとJSP) Mac OS XにMySQLをインストールしよう Mac OS 10.5にMySQLインストール ・Eclipseのカスタマイズ CheckStyle, FindBugs,TomcatPlugin,Subclipsの追加、strutsのインストール。 サンプルアプリケーションの作成と動作確認実施 #Eclipseのコードアシストのショートカットが デフォルトだとSpotlightの呼び出しとかぶっていたので変更 →同時にさくらVPSにSVN,JAVA,Tomcatをインスト。 #次回課題:jenkins, jBossのインスト。EJB使った開発の実践。 これも試してみたいっす。(VNC使用したリモートデスクトップ接続) [...]