AWSなどで利用できるAmazon Linux 2はサーバー用OSなので、デフォルトではCUIのみが利用可能な環境になっています。
しかし、AWSでGUIを使った作業や検証をしたい場合など、GUIが欲しくなるケースもあるかと思います。
実はAmazon Linux 2にはGUIをVNC経由で利用できるようにする方法があり、設定方法がAWSの公式ドキュメントやQiitaなどで紹介されていましたので、今回はこちらを試していきたいと思います。
まず、AmazonLinux 2を起動し、下記のコマンドを入力します。
sudo amazon-linux-extras install mate-desktop1.x
すると、GUIデスクトップ環境の一つである”MATE”(マテ)のインストールが始まります。
インストールが完了したら、MATEをデフォルトのデスクトップ環境として設定します。
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
次に、リモートからVNC経由でAmazon Linux上のデスクトップにアクセスできるように、Tiger VNC サーバーをインストールします。
sudo yum install tigervnc-server
インストールが完了したら、VNCでアクセスするときのパスワードを設定します。
vncpasswd
$ vncpasswd
vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n #見る専用のパスワード。通常は"n"でスキップしてOK
A view-only password is not used
Systemdの設定を行い、OS起動時に自動的にvnc-serverが立ち上がるように設定します。
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service #ec2-userの部分は、今AmazonLinux上で使用しているユーザー名を設定します。
Systemdをリロードします。
sudo systemctl daemon-reload
vncserverの自動起動を有効化し、サービスを起動します。
sudo systemctl enable vncserver@:1
sudo systemctl start vncserver@:1
これでデスクトップ環境が使えるようにはなりましたが、まだ日本語が使える状態になっていないので、引き続き日本語が使えるようにしていきます。
まず、日本語を扱えるように日本語入力可能なIMEと、日本語フォントをインストールします。
sudo yum install ibus-kkc
sudo yum install google-noto-sans-japanese-fonts
~/.bashrc (/home/ユーザー名/.bashrc)ファイルに次の記述をコピペします。
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
OSに言語設定をします。
sudo localectl set-locale LANG=ja_JP.UTF-8
日本語配列のキーボードを使用している場合は、日本語キーボードが正しく認識されるように設定します。
sudo localectl set-keymap jp106
sudo localectl set-keymap jp-OADG109A
ここまで出来たら一度OSを再起動します。
sudo shutdown -r now
OSが立ち上がったら、いよいよVNCを接続してみます。
クライアントとなる自分のPCにVNCクライアントアプリをインストールします。
Windowsの場合は、UltraVNCがよくお勧めされています。
VNCクライアントが準備できたら、Amazon Linux 2のサーバーのIPアドレスを指定して接続します。
AWS上で動かしている場合は、”127.0.0.20″の部分に代わりにElastic IPを指定します。
※あらかじめ、特定のポートの開放をOSとAWS側両方で行う必要があります。
SSH ポートフォワーディングでVNCを使う – penguin’s campus note
うまく接続できれば、パスワード入力欄が出てきます。
先程vncpasswdコマンドで設定したパスワードを入力して、ログインします。
こんな感じでデスクトップが表示されれば成功です!
あとはお好きなアプリを追加して、色々動作を試してみてください。
参考サイト:
Amazon Linux 2 を実行している Amazon EC2 インスタンスに GUI をインストールする方法を教えてください。 – AWS
Amazon Linux2(CentOS)をGUI化する – Qiita