wiki/linux/GnomeRdp.md

90 lines
1.9 KiB
Markdown
Raw Normal View History

2024-01-26 18:35:03 +03:00
# Gnome built-in RDP fix. Ffs they are stupid.
This is possible; after a bunch of research I have these working steps (most recently tested on Fedora 38 installer, user 'liveuser'):
1. SSH to remote host
```text
ssh liveuser@localhost-live
```
2. Install prerequisite/useful packages
```text
sudo dnf install openssl screen htop
```
3. Desktop access
Ensure host desktop is unlocked (grdctl and other gnome commands require that the desktop is not locked to operate properly)
```text
# list available sessions
loginctl list-sessions
# unlock session for ttyN (usually '1' for liveuser)
loginctl unlock-session 1
```
4. Unlock gnome-keyring
necessary if no user has logged in to the running session recently
```text
pkill -9 -f gnome-keyring-daemon
echo -n "liveuser" | gnome-keyring-daemon --unlock
```
5. Create key and certificate for gnome-remote-desktop TLS
```text
mkdir tmp
cd tmp
openssl genrsa -out rdp-tls.key 4096
openssl req -new -key rdp-tls.key -subj "/C=US" | openssl x509 -req -days 730 -signkey rdp-tls.key -out rdp-tls.crt
mkdir -p /home/liveuser/.local/share/gnome-remote-desktop/
mv rdp-tls.key rdp-tls.crt /home/liveuser/.local/share/gnome-remote-desktop/
```
6. Configure gnome-remote-desktop
```text
grdctl status
grdctl rdp set-tls-cert /home/liveuser/.local/share/gnome-remote-desktop/rdp-tls.crt
grdctl rdp set-tls-key /home/liveuser/.local/share/gnome-remote-desktop/rdp-tls.key
grdctl rdp set-credentials liveuser liveuser
grdctl rdp disable-view-only
grdctl status
```
7. Start services
```text
grdctl rdp enable
systemctl --user start gnome-remote-desktop.service
```
8. Verification
```text
grdctl status --show-credentials
systemctl --user status gnome-remote-desktop.service
```
9. Remote access
Gnome Connections do work.
As root:
```text
dnf install xfreerdp
```
As normal user:
```text
xfreerdp /u:liveuser /p:liveuser /v:localhost-live
```