GNOME Remote Desktop
LinuxにGNOME Remote Desktopサービスを導入してクライアントからRDP接続してみました。接続するとGDM画面からログインできます。
https://gitlab.gnome.org/GNOME/gnome-remote-desktop
環境と動作確認結果(途中)
3つのモードがあるようです。
- Remote assistance / Desktop sharing
既存のユーザセッション画面を共有する。 - Headless multi user remote login / Remote login
画面のサイズ指定可能。GDMから操作可能。 - Headless (single user)
画面のサイズ指定可能。既存のユーザセッション画面とは別に画面表示する(セッション情報は共有しているっぽい)。
Server | OS | RA | HL-M | HL-S |
---|---|---|---|---|
PC | Arch | OK | OK | OK |
Ubuntu | OK | OK | 未 | |
Fedora | 未 | 未 | 未 | |
RPi 4B | Arch | OK | 未 | OK |
Ubuntu | OK | OK | 未 | |
VBox | Arch | OK | OK | 未 |
Ubuntu | 未 | 未 | 未 | |
Fedora | 未 | 未 | 未 |
構築 - GUIの場合
Desktop Sharing
Remote Login
Remote Loginを有効にするとDesktop Sharingのポート番号が変更される。
構築 - CUIの場合
GRD - Remote assistance
Generate a TLS key and certificate.
mkdir -p ~/.local/share/gnome-remote-desktop/
openssl req -new -newkey rsa:4096 -days 720 -nodes -x509 -subj /C=SE/ST=NONE/L=NONE/O=GNOME/CN=$(hostname) -out ~/.local/share/gnome-remote-desktop/tls.crt -keyout ~/.local/share/gnome-remote-desktop/tls.keyConfigure GNOME Remote Desktop:
grdctl rdp set-tls-key ~/.local/share/gnome-remote-desktop/tls.key
grdctl rdp set-tls-cert ~/.local/share/gnome-remote-desktop/tls.crt
grdctl rdp set-credentials # Enter credentials via standard input
grdctl rdp enable
grdctl rdp disable-view-onlyEnable remote assistance user service.
systemctl --user enable --now gnome-remote-desktop.service
Disable remote assistance user service.
systemctl --user disable --now gnome-remote-desktop.service
GRD - Headless multi user remote login
Generate a TLS key and certificate.
sudo -u gnome-remote-desktop sh -c 'mkdir -p ~/.local/share/gnome-remote-desktop/'
sudo -u gnome-remote-desktop sh -c "openssl req -new -newkey rsa:4096 -days 720 -nodes -x509 -subj /C=SE/ST=NONE/L=NONE/O=GNOME/CN=$(hostname) -out ~/.local/share/gnome-remote-desktop/tls.crt -keyout ~/.local/share/gnome-remote-desktop/tls.key"/var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/
に格納されます。Configure GNOME Remote Desktop:
sudo grdctl --system rdp set-tls-key ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key
sudo grdctl --system rdp set-tls-cert ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt
sudo grdctl --system rdp set-credentials # Enter credentials via standard input
sudo grdctl --system rdp enableEnable system remote login service.
sudo systemctl enable --now gnome-remote-desktop.service
Disable system remote login service.
sudo systemctl disable --now gnome-remote-desktop.service
GRD - Headless (single user)
Generate a TLS key and certificate.
mkdir -p ~/.local/share/gnome-remote-desktop/
openssl req -new -newkey rsa:4096 -days 720 -nodes -x509 -subj /C=SE/ST=NONE/L=NONE/O=GNOME/CN=$(hostname) -out ~/.local/share/gnome-remote-desktop/tls.crt -keyout ~/.local/share/gnome-remote-desktop/tls.keyConfigure GNOME Remote Desktop:
grdctl --headless rdp set-tls-key ~/.local/share/gnome-remote-desktop/tls.key
grdctl --headless rdp set-tls-cert ~/.local/share/gnome-remote-desktop/tls.crt
grdctl --headless rdp set-credentials # Enter credentials via standard input
grdctl --headless rdp enableEnable headless single user service.
systemctl --user enable --now gnome-remote-desktop-headless.service
Disable headless single user service.
systemctl --user disable --now gnome-remote-desktop-headless.service
利用
- Windows
- リモートデスクトップ接続(mstsc)
- Linux
- remmina
- gnome-connetions