いつの間にかAmazon Linux 2の正式版が公開されていた
んですね。数日経過してから気づきました。
AWSのブログ(長期サポート (LTS) を付随した Amazon Linux 2 が一般公開)を見ると、
Amazon Linux 2 の Extras メカニズムとは、Amazon Linux 2 の安定した基盤上で動く最新のアプリケーションソフトウェアのことです。Extras には、AWS の厳選したソフトウェアバンドル (例えば、MATE デスクトップ環境、Python、MariaDB、Node.js などの一般的なソフトウェアパッケージの最新バージョン) を選択するトピックが用意されています。
らしいです。つまり、PHP7.2 を導入する場合、Amazon Linux(無印)では
$ sudo yum install php72
としていたところを、Amazon Linux 2では
$ sudo amazon-linux-extras install php7.2
というふうになるみたいですね。
・・・ん?MATEデスクトップ?
デスクトップ化
ということでEC2に建てたAmazon Linux 2にMATEをインストールしてVNC接続を試してます。
MATEのインストール
まずはMATEのインストールから
$ sudo amazon-linux-extras install mate-desktop1.x
Installing marco, mesa-dri-drivers, mate-session-manager, mate-terminal, dejavu-sans-fonts, caja, mate-panel, dejavu-sans-mono-fonts, dejavu-serif-fonts
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 2.4 kB 00:00:00
amzn2extra-docker | 1.3 kB 00:00:00
amzn2extra-mate-desktop1.x | 1.3 kB 00:00:00
amzn2extra-mate-desktop1.x/2/x86_64/primary_db | 130 kB 00:00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ caja.x86_64 0:1.20.2-1.amzn2 を インストール
︙
トランザクションの要約
===============================================================================================================
インストール 9 パッケージ (+146 個の依存関係のパッケージ)
総ダウンロード容量: 86 M
インストール容量: 375 M
Is this ok [y/d/N]: y
Downloading packages:
(1/155): adwaita-cursor-theme-3.22.0-1.amzn2.noarch.rpm | 641 kB 00:00:00
︙
完了しました!
0 ansible2 available [ =2.4.2 ]
1 emacs available [ =25.3 ]
2 memcached1.5 available [ =1.5.1 ]
3 nginx1.12 available [ =1.12.2 ]
4 postgresql9.6 available [ =9.6.6 =9.6.8 ]
5 python3 available [ =3.6.2 ]
6 redis4.0 available [ =4.0.5 ]
7 R3.4 available [ =3.4.3 ]
8 rust1 available [ =1.22.1 =1.26.0 ]
9 vim available [ =8.0 ]
10 golang1.9 available [ =1.9.2 ]
11 ruby2.4 available [ =2.4.2 =2.4.4 ]
12 nano available [ =2.9.1 ]
13 php7.2 available [ =7.2.0 =7.2.4 =7.2.5 ]
14 lamp-mariadb10.2-php7.2 available \
[ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5 ]
15 libreoffice available [ =5.0.6.2_15 ]
16 gimp available [ =2.8.22 ]
17 docker=latest enabled [ =17.12.1 =18.03.1 ]
18 mate-desktop1.x=latest enabled [ =1.19.0 =1.20.0 ]
19 GraphicsMagick1.3 available [ =1.3.29 ]
20 tomcat8.5 available [ =8.5.31 ]
VNCサーバの構築
TigerVNCを使います。
インストール
$ sudo yum install tigervnc-server
︙
完了しました!
設定
$ sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
$ vncpasswd
Password: <-- パスワードを設定
Verify: <-- パスワード確認
Would you like to enter a view-only password (y/n)? n
$ sudo vi /etc/systemd/system/vncserver@:1.service
vncserver@:1.serviceを以下のように<USER>
のところをec2-user
に変更。
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=ec2-user
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/home/ec2-user/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
変更後、サービスに登録
$ sudo systemctl daemon-reload
ec2-userの環境設定
$ vi ~/.vnc/xstartup
以下を記述
#! /bin/sh
exec mate-session &
編集後、実行権限を付与
$ chmod +x ~/.vnc/xstartup
サービスの起動
サービスの起動と自動起動設定を行います。
$ sudo systemctl start vncserver@:1.service
$ sudo systemctl enable vncserver@:1.service
接続してみる
予め、EC2インスタンスのセキュリティグループでTCPのポート5901を開放してあげてください。
あとはVNCクライアントから接続するだけです。今回はmacOS標準のVNCクライアント「画面共有」で接続してみます。
Finder > 移動 > サーバへ接続... をクリックします。
サーバアドレスにvnc://<EC2のパブリックIP>:5901
と入力し、接続をクリックします。
パスワードが聞かれるのでvncpasswd
コマンドで入力したパスワードを入力します。
接続できました。