学習環境が欲しくて、EC2にGUI環境を構築したら、思いのほか苦戦したのでメモ。
環境
サーバー : Amazon Linux 2
クライアント : Mac
事前準備
・AWSのアカウント作成
・EC2作成
・EC2にSSH接続
GUI環境構築
公式から、ほぼコピペして進める。
# MATEデスクトップ環境のインストール
$ sudo amazon-linux-extras install mate-desktop1.x
# 全てのユーザーにMATEをデフォルト設定
$ sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
# TigerVNCをインストール
$ sudo yum install tigervnc-server
# VNCのパスワード設定をした後に画面表示専用のパスワードを聞かれるので「n」で入力
$ vncpasswd
起動時に常にVNCサーバーを起動するように設定。
$ sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
$ sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable vncserver@:1
$ sudo systemctl start vncserver@:1
xstartupファイルにMATEを実行するコマンドを追加する。(これを追加しないと繋がっても真っ黒い画面になり操作できない・・・ここで苦戦した)
~/.vnc/xstartup
#!/bin/sh
exec mate-session
〜(以下略)〜
VNCサーバーを再起動。
$ sudo systemctl daemon-reload
$ sudo systemctl restart vncserver@:1
Google Chromeのインストール
公式から引用。
$ sudo amazon-linux-extras install epel
$ sudo yum install chromium
Macからリモート接続
sshでポートフォワーディングを有効にするオプションを付けて繋ぎなおす。
PEM_FILE : 鍵のパス
INSTANCE_IP : 接続先IP
ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP
接続するとパスワードを聞かれるので、先ほど設定したVNCのパスワードを入力する。
ログインに成功すると以下の画面になる。
終わりに
無事に作業環境を構築できて良かった〜!
余裕があれば他のOSも挑戦したい。