Linux
AWS
Ubuntu
vmware
VNC

AWSのUbuntuLinuxにVNCを“まともに”インストールする方法

More than 3 years have passed since last update.

Amazon Web ServiceのEC2のUbuntuLinuxにTigerVNCを“まともに”インストールする方法です。


はじめに


今回の“まともに”とは


1. AWS上のLinuxをリモートからGUIで操作できる

vncserverが起動すればOK


2. RStudioなどQtを使用するGUIアプリ普通に使える

vnc4serverが抱えているQtが落ちる問題の回避


3. VMWarePlayerで仮想のWindowsが動作する

TigerVNCのインストール方法/環境によってビデオデバイス周りで発生するバグの回避

(AWSがXenで構成されている関係で、VirtualBoxは動きません)

X環境や、ウィンドウマネージャのインストール・設定およびVNCの設定は省略します。あくまでインストールと起動確認までです。

単純にapt-getするだけなら記事にする必要もないのですが、これをやって大いにハマったので現状での解決策をメモします。


実行環境は

「Ubuntu Linux(Ubuntu Server 14.04 LTS (HVM), SSD Volume Type - ami-a1124fa0)」(64bit)です。

インスタンスタイプはc3.xlargeを選択。


インストール手順


1. gdebiをまだ入れていない場合はインストール。

[user@test ~]# sudo apt-get install gdebi


2. TigerVNCのサイトで、対象ファイルのURLを調べる。

http://tigervnc.sourceforge.net/tiger.nightly/

今回の場合は

http://tigervnc.sourceforge.net/tiger.nightly/ubuntu-14.04LTS/amd64/tigervncserver_1.3.80+20140921git2607a0ef-3ubuntu1_amd64.deb

(URLは2014/09現在、活発に更新されているようです。上記サイトでの確認は必須と思います。)


3. ファイルを取得

次のコマンドでファイルを取得

[user@test ~]# wget 対象ファイルのURL

今回の場合は

[user@test ~]# wget http://tigervnc.sourceforge.net/tiger.nightly/ubuntu-14.04LTS/amd64/tigervncserver_1.3.80+20140921git2607a0ef-3ubuntu1_amd64.deb


4. インストールの実行

[user@test ~]# sudo gdebi 取得したファイルのファイル名


5. vncserverを起動

次のコマンドでvncserverを起動

[user@test ~]# vncserver

パスワードを2回入力して起動すればOK


6. 接続確認

WindowsなどのクライアントにTigerVncViewer(Tiger以外のものでも接続可能)をインストールし、

対象インスタンスのアドレス::5901

で接続できればOK


手順に至るまでの経緯(失敗例)


1. vnc4serverではQtが落ちる

まず、apt-getで入れられるvnc4serverをインストール。

普通に起動し、Windowsからの接続もOK

あれ!?、Unityが起動しない?

Xfceだと動くからまあいいか。GUIのコンフィグ画面がいくつか落ちるけど、これは我慢できる。

あれ!?、RStudioが「Segmentation fault」で起動しない?

-> これは我慢できない(涙。

海外の掲示板を見ていると、どうもVNCとQtの相性が悪いらしい


2. TigerVNCをapt-getでインストール、は“使えない”!

どうやらTigerVNCというのがあるらしい。

昔出ていたTightVNCなどの良いとこ取りらしい。

ググってインストール完了。

普通に起動し、接続もOK

RStudioも無事に起動!

CTRL-Spaceのインプットメソッド切り替えが効かなくなったけど、まあいいか。

VMWarePlayerで仮想マシンを起動すると「ビデオデバイスの検出に失敗したよ!」とか見慣れないメッセージが出る?

仮想マシンでエフェクトっぽい画像処理が入るとVNCを巻き込んでフリーズする

-> 使えない(涙。

始めはVMWare周りを疑って試行錯誤するも、治らない。

前出の方法でTigerVNCを入れなおして解決。


最後に

AWS上のLinuxにVMWareを入れてWindowsを動かすというのはレアケースと思いますが、最近はメモリやコア数が多くて安いインスタンスタイプがあるので、実機より便利なのではと妄想した結果の記事です。

Windows ServerのインスタンスやAmazon WorkSpacesもありますが、今回はあくまでAWS上にGUIのLinux環境を構築するついでとしてVMWareで遊ぼうとした結果です。

VNC経由での仮想マシンの使用感ですが、ウィンドウを移動させる際などでもたつきますが、まあまあ使えるレベルと感じました(通信環境にも依存します。クライアントのWindows側のタスクマネージャーではTigerVNCViewerが最大6Mbpsくらいで通信していました)。マシン自体はXeonで構成されている比較的ハイエンドなものなので、重いプログラムの実行などCPUパワーが必要なシーンでの処理速度は普段使っているノートPCよりも高速な印象です。

( 色々試行錯誤した結果です、誤りや、もっと良い方法があればコメントでご指摘ください m(_ _)m )