#概要
AmazonLinux2にMATEを入れてRDPで接続する
所用時間:5分くらい
#作り方
2018/7/11現在、インスタンス作成ウィザードの先頭に出ている ami-e99f4896 を使って作ってみる
インスタンスタイプは t2.microを利用
インスタンスからインターネット接続できること(yumを使うので)
SSHで接続後、
vi install.sh
で、下記スクリプトファイルを作る
#!/bin/sh
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum groupinstall -y "MATE Desktop" --skip-broken
yum --enablerepo=epel install -y xrdp
echo mate-session > /etc/X11/xinit/Xclients
chmod +x /etc/X11/xinit/Xclients
systemctl enable xrdp
systemctl start firewalld
firewall-cmd --permanent --add-port=3389/tcp
yum install -y ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
yum install -y ibus ibus-kkc
mkdir /usr/share/mate/autostart
echo [Desktop Entry] > /usr/share/mate/autostart/ibus-daemon.desktop
echo Type=Application >> /usr/share/mate/autostart/ibus-daemon.desktop
echo Exec=ibus-daemon -drx >> /usr/share/mate/autostart/ibus-daemon.desktop
echo Hidden=false >> /usr/share/mate/autostart/ibus-daemon.desktop
echo X-MATE-Autostart-enabled=true >> /usr/share/mate/autostart/ibus-daemon.desktop
echo Name=ibus >> /usr/share/mate/autostart/ibus-daemon.desktop
localectl set-locale LANG=ja_JP.utf8
timedatectl set-timezone Asia/Tokyo
実行権限をつけて、実行する
chmod u+x install.sh
sudo ./install.sh
後始末
rm install.sh
GUIログイン用パスワードを設定する
sudo passwd ec2-user
再起動
sudo reboot
##接続してみる
クライアントから、RDPで接続。ユーザ名は ec-user2 パスワードは上記で決めたもの。
ドヤ
#スクリプトの解説
###EPEL リポジトリを有効にする
これ→AWS公式:EPEL リポジトリを有効にする方法
# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
↑これをすると、
yum group list
Available Groups:
AWS Tools
Development Tools
↑これだけしか出ないのが ↓こうなる
Available Environment Groups:
Cinnamon Desktop
MATE Desktop
Available Groups:
AWS Tools
Backup Client
Console internet tools
Development Tools
E-mail server
Educational Software
:(略)
になる
###MATEとxRDPをインストールする
# yum groupinstall -y "MATE Desktop" --skip-broken
# yum --enablerepo=epel install -y xrdp
X Windows Systemはいらない
2018/7/31 EPELが新しくなったらしく、>yum group list の表示内容が変わった
その影響か、何やらエラーが出るので --skip-broken を追加した
###RDP接続されたときのセッションを決める
# echo mate-session > /etc/X11/xinit/Xclients
# chmod +x /etc/X11/xinit/Xclients
全ユーザにMATEを使うように設定した。
全ユーザに適用 | ログインユーザごとに適用 |
---|---|
/etc/X11/xinit/Xclients | ~/.Xclients |
###xRDPを起動して、自動起動にしておく
# systemctl enable xrdp
OS再起動するので、start は入れていない。
###ファイヤーウォールの穴をあける
# systemctl start firewalld
# firewall-cmd --permanent --add-port=3389/tcp
AmazonLinux2をAMIから作成した直後は、ファイヤーウォールが機能していない感じがする
ファイヤーウォールポリシーはサービス起動していないとできないみたいなので
firewalldを起動→TCP3389(リモートデスクトップのデフォルトポート)を定義
OS再起動するので、reload や restartは入れていない
###日本語化
フォントを入れる
# yum install -y ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts
ibus と ibus-kkc を入れる
yum install -y ibus ibus-kkc
ibusとは… WindowsIMEのようなもの ->Wikipedia
ibus-kkcとは… Japanese Kana Kanji input method for ibus → ibus用日本語カナ入力システム的なもの
タスクバー(?)に表示されているのがibusで
その中に、「あ 日本語」と表示されているのがibus-kkc だと思う
ibus と ibus-kkcを入れただけでは、タスクバーに表示されないので、
###ibus をタスクバーに表示する
mkdir /usr/share/mate/autostart
echo [Desktop Entry] > /usr/share/mate/autostart/ibus-daemon.desktop
echo Type=Application >> /usr/share/mate/autostart/ibus-daemon.desktop
echo Exec=ibus-daemon -drx >> /usr/share/mate/autostart/ibus-daemon.desktop
echo Hidden=false >> /usr/share/mate/autostart/ibus-daemon.desktop
echo X-MATE-Autostart-enabled=true >> /usr/share/mate/autostart/ibus-daemon.desktop
echo Name=ibus >> /usr/share/mate/autostart/ibus-daemon.desktop
↓こんな感じの設定ファイルを作っています
[Desktop Entry]
Type=Application
Exec=ibus-daemon -drx
Hidden=false
X-MATE-Autostart-enabled=true
Name=ibus
このファイルの置き場所によって対象が、全ユーザorログインユーザになる
全ユーザに適用 | ログインユーザごとに適用 |
---|---|
/usr/share/mate/autostart | ~/.config/autostart |
ちなみに、GUIから
設定→ユーザ向け→自動起動するアプリ
追加で、コマンド ibus-daemon -drx
これを登録すると、~/.config/autostart に ibus-daemon.desktop が作成される
###ロケーションの変更
で、最後に
# localectl set-locale LANG=ja_JP.utf8
確認
# localectl
を実行すると
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a
↑これが、↓こうなる
System Locale: LANG=ja_JP.utf8
VC Keymap: n/a
X11 Layout: n/a
###タイムゾーン変更
timedatectl set-timezone Asia/Tokyo
#課題
現時点では以下のような問題がある
- GUIからシャットダウンを選択しても落ちない
- メモ帳アプリで右クリックするとメモ帳が落ちる
- 何かの拍子で(多分xrdp)が無応答になって、EC2インスタンスの削除しようとしても10分くらい待つことになる
- EC2作成時のUserDataでインストールスクリプトを流したら、xrdpはOKだがエラーが出る
- AMIでインスタンス複製しても上記と同じようなエラーが出る
ユーザがWindows代わりに長期的に使う用途には向かないかな。。
しかし
ブラウザを使ってちょっとした確認をしたい時などであれば、Windowsインスタンスを立てるよりは早くできる