keke's diary

おめでとうございます!

Rocky Linux / AlmaLinux on Hyper-V で拡張セッションを動かす

Hyper-V には拡張セッションという、仮想マシンへの RDP 接続支援機能が実装されています。
この記事は拡張セッションを Rocky Linux / AlmaLinux 8.4 で利用するための設定メモです。

主に Minimal でインストールした Rocky Linux で動作確認をしていますが、おそらく RHEL8 相当のディストリビューションであれば同様に利用できるのかなと思います。

環境

$ cat /etc/redhat-release 
Rocky Linux release 8.4 (Green Obsidian)
$ dnf list installed xrdp
Installed Packages
xrdp.x86_64                         1:0.9.17-2.el8                         @epel
$ 

やりかた

Minimal では GNOME がインストールされないので、まずは普通にインストールします。

sudo dnf -y group install "Server with GUI"
echo "gnome-session" > ~/.xsession
chmod +x ~/.xsession
sudo systemctl set-default graphical.target
sudo reboot

xrdp を利用するために EPEL を有効にして GitHub にある Fedora/CentOS 用の拡張セッション用シェルスクリプトをダウンロードして実行します。

sudo dnf install -y epel-release
curl -L https://github.com/secana/EnhancedSessionMode/blob/master/install_esm_fedora3x.sh -o install_esm.sh
chmod +x install_esm.sh
./install_esm.sh

Hyper-V の設定を変更するために仮想マシンを一度停止します。

sudo poweroff

管理者権限で PowerShell を開き、対象となる仮想マシンについて Hyper-V の拡張セッションの設定を行います。

Set-VM -VMName "VM-NAME" -EnhancedSessionTransportType HvSocket
# VM-NAME は Hyper-V 上の対象となる仮想マシン名

以上で必要な設定は完了です。仮想マシンを起動すると拡張セッション接続用のダイアログが表示されるようになります。

その他の設定

GNOME Classic を使いたい

以下のように X11 の設定ファイルを修正しましょう。

cat <<EOL > ~/.xsession
export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
export GNOME_SHELL_SESSION_MODE=classic
exec gnome-session --session=gnome-classic
EOL