hypr-rdpを使ってヘッドレスのHyprland環境にWindowsとLinuxから接続してみました。
https://github.com/MuNeNiCK/hypr-rdp
https://www.munenick.me/blog/hypr-rdp/

環境

サーバ

  • Arch Linux
    • gdm 50.1
    • gnome-shell 50.3
    • gnome-remote-desktop 50.1
    • hyprland 0.55.4
    • hypr-rdp 0.1.3

GDM/GNOME Shell環境へはGNOME Remote Desktop(3389/tcp)に接続
GNOME Remote Desktopの環境設定はこちら
https://ktkr3d.github.io/2025/03/30/GNOME-Remote-Desktop/

Hyprland環境へはhypr-rdp(13389/tcp)に接続

クライアント

  • Windows 11
    • mstsc 10.0.26.100
  • CachyOS
    • remmina 1.4.43

構築

hypr-rdpの設定

  1. インストール
    paru -S hypr-rdp
  2. 設定ファイル
    ~/.config/hypr-rdp/config.toml
    bind = "0.0.0.0:13389"
    username = "user"
    password = "pass"
    # resolution = "1920x1080"
    capture_mode = "wlr"
    bitrate = 10000000
    quality = 23
    fps = 30
    egfx_codec = "avc420"
    # audio_mode = "redirect"
    # keyboard_layout_policy = "client"
    # output = "DP-1"
  3. 自動起動設定
    ~/.config/caelestia/hypr-user.lua
    hl.on("hyprland.start", function ()
    hl.exec_cmd("hypr-rdp")
    end)
  4. GDM自動ログイン設定
    /etc/gdm/custom.conf
    [daemon]
    AutomaticLoginEnable=True
    AutomaticLogin=user
    /var/lib/AccountsService/users/user
    [User]
    Session=hyprland
  5. VKMSの有効化
    /etc/modules-load.d/vkms.conf
    vkms
  6. OS再起動
    sudo reboot

利用

RDPクライアントプログラムでRDP接続(13389/tcp)します。
利用終了時はサインアウトせずコネクションを切断します。サインアウトしてしまった場合はGDMにRDP接続(3389/tcp)してOS再起動します。

Windowsからの接続

  1. リモートデスクトップ接続(mstsc.exe)を起動
  2. 接続の設定

    「オプションの表示」-「ローカルリソース」で「Windowsのキーの組み合わせを割り当てます」に「リモートコンピューター」を指定する。
    .rdpファイルではkeyboardhook:i:2を指定する。

  3. 接続
  4. プロファイルを使って直接接続するには
    保存した.rdpファイルを実行

Linuxからの接続

  1. Remminaを起動
  2. 接続プロファイルを作成

    基本設定の色数にGFX RFXまたはGFX RFX Progressiveを指定する。それ以外の場合は、キー入力はできるものの真っ白な画面になってしまった。

  3. 接続
  4. プロファイルを使って直接接続するには
    remmina -c ~/.local/share/remmina/profile-id.remmina