search
LoginSignup
10

More than 3 years have passed since last update.

posted at

updated at

AmazonLinux2 に リモートデスクトップ接続 ( MATE )

概要

AmazonLinux2にMATEを入れてRDPで接続する
所用時間:5分くらい
image.png

作り方

2018/7/11現在、インスタンス作成ウィザードの先頭に出ている ami-e99f4896 を使って作ってみる
インスタンスタイプは t2.microを利用
インスタンスからインターネット接続できること(yumを使うので)

SSHで接続後、

vi install.sh

で、下記スクリプトファイルを作る

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 パスワードは上記で決めたもの。
image.png
image.png

ドヤ

スクリプトの解説

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 だと思う
image.png

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

↓こんな感じの設定ファイルを作っています

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から
設定→ユーザ向け→自動起動するアプリ
image.png
追加で、コマンド ibus-daemon -drx
image.png

これを登録すると、~/.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インスタンスを立てるよりは早くできる

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
10