浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

Amazon Linux 2 でGUIを有効化する

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がよくお勧めされています。

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

  • この記事いいね! (0)