Oracle Cloud InfrastructureのArmインスタンスでリモートデスクトップしたいのでxrdpを使う: Oracle Linux編
Page content
はじめに
Oracle Cloud Infrastructure (OCI) のheadlessな、下記のインスタンスでGUIを使おうと思い、xrdpを導入する手順の記録です。手順の中の「000.000.000.000」は、対象インスタンスのIPアドレスです。
- 対象インスタンス: Oracle Cloud Infrastructure (OCI) 上の「OCI Ampere A1 Compute」の、
- a) Oracle Linux 7.9 (aarch64)
- b) Oracle Linux 8.3 or 8.4 (aarch64)
手元の作業PCは、SSHでのX転送が可能な状態を前提としています。また、リモートデスクトップとしては、個人的には「Chrome Remote Desktop」を最も使い慣れているのですが、LinuxのARM (aarch64) 向けのGoogle公式パッケージが現時点では存在せず、非公式パッケージで多少試しましたが導入は無理そうだったので、xrdpに至っています。
かなり我流でやってみた手順ですので、妙なところがあるかもしれません。参考程度にどうぞお願いします。
a) xrdp導入手順 (Oracle Linux 7.9の場合)
ここではFedora Projectの「epel」を利用しました。Oracle Linuxに用意されている「ol7_developer_EPEL」を用いると、途中のxorgxrdp-0.2.10-1.el7.aarch64
導入時に依存関係で引っかかるようでしたので。
1. X Window SystemとXfceを導入
- Xfce公式サイト: https://www.xfce.org/
# 作業PC
ssh opc@000.000.000.000
# 対象インスタンス
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 以降epelが有効な状態になる
sudo yum update
sudo yum groupinstall "X Window System" "Xfce"
# 対象インスタンス
sudo vim /etc/pam.d/xserver # ←「auth required pam_console.so」を「auth required pam_permit.so」へ変更する
sudo vim /etc/X11/Xwrapper.config # ←「allowed_users=anybody」を追記する
sudo vim /etc/ssh/sshd_config # ←「X11UseLocalhost no」を設定する
sudo systemctl reload-or-try-restart sshd
echo "xfce4-session" > ~/.Xclients
chmod +x ~/.Xclients
startx # →プロセスがエラー終了しないならとりあえずOK、Ctrl+Cで止める
exit
# 作業PC
ssh -O exit opc@000.000.000.000
2. X転送でxcalcをテスト
# 作業PC
ssh -Y opc@000.000.000.000 # →「X11 forwarding request failed」のエラーが出ないことを確認する
# 対象インスタンス
sudo yum install xcalc # XアプリならもちろんxcalcじゃなくてもOK
xcalc # 作業PCの画面にxcalcが表示されたらXは動いている
exit
# 作業PC
ssh -O exit opc@000.000.000.000
3. xrdpを導入してテスト
# 作業PC
ssh -L 3389:localhost:3389 opc@000.000.000.000
# 対象インスタンス
sudo yum install xrdp
sudo systemctl enable --now xrdp
sudo passwd opc
# 作業PC
# RDP接続ソフト (例: remmina) で、localhost:3389へ接続して動作確認する
b) xrdp導入手順 (Oracle Linux 8.3 or 8.4の場合)
- GNOME公式サイト: https://www.gnome.org/
1. X Window SystemとGNOMEを導入
# 作業PC
ssh opc@000.000.000.000
# 対象インスタンス
sudo yum update
sudo yum groupinstall "Server with GUI"
# 対象インスタンス
sudo vim /etc/X11/Xwrapper.config # ←「allowed_users=anybody」を追記する
startx # →プロセスがエラー終了しないならとりあえずOK、Ctrl+Cで止める
exit
# 作業PC
ssh -O exit opc@000.000.000.000
2. X転送でxcalcをテスト
# 作業PC
ssh -Y opc@000.000.000.000 # →「X11 forwarding request failed」のエラーが出ないことを確認する
# 対象インスタンス
sudo yum --enablerepo=ol8_developer_EPEL install xcalc # XアプリならもちろんxcalcじゃなくてもOK
xcalc # 作業PCの画面にxcalcが表示されたらXは動いている
exit
# 作業PC
ssh -O exit opc@000.000.000.000
3. xrdpを導入してテスト
# 作業PC
ssh -L 3389:localhost:3389 opc@000.000.000.000
# 対象インスタンス
sudo yum --enablerepo=ol8_developer_EPEL install xrdp
sudo systemctl enable --now xrdp
sudo passwd opc
# 作業PC
# RDP接続ソフト (例: remmina) で、localhost:3389へ接続して動作確認する
追記 [2021-06-14]
Oracle Linux編に続き、Ubuntu編も書きました。
参考リンク
Oracle Cloud Infrastructure (OCI)
「Always Free Arm」の無料枠が、4Core・24GBの大盤振る舞いです。Instanceを複数台作ったら、この枠の中で各スペックを調整できます。
- オラクル、Armベースのプロセッサのパワーをコア時間あたり1セントで提供、エコシステムを拡張し、 アプリ開発を迅速化 | Oracle 日本
- ASCII.jp:オラクル、OCIで“1コア=1セント/時間”のArmベースインスタンスを発表
EPELリポジトリ
chrome-remote-desktop
Oracle Linuxのchrome-remote-desktop-88.0.4324.150-1.0.1.el8.aarch64
で、下記の現象に引っかかった気がします。