Hyper-V 上の Linux VM に音付きで RDP 接続する
読了まで:約4分
と
準備 (用意したモノ)
- [[Hyper-V]] が
使える Windows 10 の Edition (自分の 環境だと [[Windows 10 Pro]] ) - [[Antergos]] ( [[Archlinux]] の
派生ディストリ) の VM イメージ
今回の流れ
- Linux VM ( [[Antergos]] ) に
[[xrdp]] と [[xorgxrdp]] を インストール - [[xrdp]] と
[[xrdp-sesman]] の サービスを 有効化 - [[pulseaudio]] の
xrdp モジュールを コンパイルして システムに 追加 .xinitrc
経由でDesktop Session を 起動する 様に 設定
詳細
1. [Linux [[VM]] に [[xrdp]] と [[xorgxrdp]] を入れる]
これに
xrdp
xrdpxorg-git
を、
2. xrdp と xrdp-sesman のサービスを有効化
次に、
# xrdp を起動し有効化
$ sudo systemctl start xrdp
$ sudo systemctl enable rdp
# xorgxrdp を起動し有効化
$ sudo systemctl start xrdp-sesman
$ sudo systemctl enable xrdp-sesman
と
3. [pulseaudio の [[xrdp]] モジュールをコンパイル]
これに
- pulseaudio と
xrdp の PKGBUILD
+ 付属ファイルをArchlinux の リポジトリから 取得 - pulseaudio と
xrdp の PKGBUILD
を元に makepkg -sLf
でコンパイルのみを 実行 - xrdp の
src
ディレクトリ以下のxrdp/sesman/chansrv/pulse
に入る - 次の
コマンドで モジュールを build: make PULSE_DIR=pulseaudioのsrc directory
- 出来上がった
*.so
モジュールを/usr/lib/pulse-$version/modules/
へ追加 - 以上
4. [.xinitrc 経由で [[Desktop Session]] が起動する様に設定]
まず、sesman
/etc/X11/Xwrapper.config
allowed_users=anybody
をsesman
startx
を実行し、 .xinirc
経由で[[Desktop Session]] を 起動する
と
#!/usr/bin/env bash
# lcoale 等の設定
export LANG=ja_JP.UTF-8
export LC_ALL=ja.JP.UTF-8
# 既存の pulseaudio を kill してから、新しく pulseaudio を起動し直す
pulseaudio -k
pulseaudio -D
# DBus 経由で gnome-session (gnome3) の binary を起動
# ちなみに gnome-session という shell script だと上手く動かないらしい
exec dbus-run-session -- /usr/lib/gnome-session-binary
とchmod +x ~/.xinitrc
すれば
以上
で、
音付きで
[[Hyper-V]] 上の [[Linux VM]] に [[RDP 接続]] が 可能な 環境が 出来上がる
ハズ……です。
な
- Antergos は
Hyper-V 2nd Gen を ベースに UEFI + GPT な 環境で systemd-boot
をbootloader と して 使用 - RemoteFX の
Graphics Device を 追加し、 3840x2160
なDisplay Resolution を 許可 - それと
Hyper-V の Network は 手動で NAT を 構成し、 IP も 手動で 割り 振り
と
また、
なんか
RDP で 接続は 出来るけど 、 Desktop Session が 起動しない……
って
$ sudo rm -rf /tmp/.xrdp
してやると、
あと、
とり
と