Open6
Almalinux 9 の Minimal ISO で構築した Hyper-V VM で拡張セッションを有効にするまでの手順
注意) リモートからのリモートデスクトップ接続と拡張セッションは両立しない
VM は用意されている前提。VM作成の手順はこちらの方の記事が詳しい。
GUI の有効化
- 必要なパッケージのインストール
800個以上のパッケージがインストールされる。
sudo dnf update -y
sudo dnf groupinstall "Server with GUI" -y
- 起動
startx # GUI の起動
systemctl set-default graphical.target # 常にGUIでサーバーを起動する
xrdp のインストール
- epel レポジトリの有効化
sudo dnf install -y epel-release
以降 hu-ximing/Hyper-V-RHEL-Fedora-enhanced-session | GitHub の手順に従う
- xrdp などのインストール
sudo dnf install -y hyperv-tools xrdp xrdp-selinux
拡張セッション有効化のための設定
- xrdpなどの設定を変更する
wget https://raw.githubusercontent.com/uoya/Hyper-V-RHEL-Fedora-enhanced-session/main/install-config.sh
sudo bash ./install-config.sh
- Powershell で VM の設定を変更
Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
# 設定状態確認用
Get-VM | Where-Object { $_.EnhancedSessionTransportType -eq "HvSocket"}
- VM を再起動する。OSだけの再起動ではだめ。
ウィンドウサイズ調整のダイアログがでれば成功
制限事項
拡張セッションとtcp経由でのRDP接続は両立できないらしい。
遠隔からの操作も必要な場合は拡張セッションは有効化せず、通常のRDPのみ許可する方が良い。
xrdp は 3389 ポートを tcp で待ち受けつつ、socat で vsock へ転送すると拡張セッションと rdp の両立ができる。
xrdp.ini
[Globals]
ports=tcp://3389
socat
socat vsock-listen:3389,fork tcp-connect:localhost:3389