॥ श्री ॥

Remote Desktop

Networking 2026-04-18

Remote Desktop — RDP & VNC

Shani OS includes both client and server tools for graphical remote desktop access. All tools are pre-installed.

---

Client — Connect to a Remote Desktop

FreeRDP (RDP Client)

Connect to Windows machines or any RDP-capable server:

# Basic RDP connection
xfreerdp /v:192.168.1.100 /u:username /p:password /dynamic-resolution /gfx /rfx

# Full-screen, multi-monitor
xfreerdp /v:server.example.com /u:me /f /multimon

# RDP over SSH tunnel (recommended for untrusted networks)
ssh -L 3389:192.168.1.100:3389 jumphost &
xfreerdp /v:localhost /u:username

VNC Client

Any VNC viewer can connect to a VNC server:

vncviewer hostname:5900

---

Server — Share Your Desktop

KDE Edition: kRDP (RDP Server)

Enable in Settings → System → Remote Desktop → Enable Remote Desktop.

# Or enable via systemd
systemctl --user enable --now plasma-remotedesktop

Once enabled, your desktop is accessible from Windows Remote Desktop Connection or any RDP client using your machine's IP address.

KDE Edition: krfb (VNC Server)

# Enable the VNC server
systemctl --user enable --now krfb

# Connect from any VNC viewer
vncviewer hostname:5900

krfb can also be configured to prompt for permission each time someone connects — enable this in System Settings → Remote Desktop → Ask for confirmation.

GNOME Edition: gnome-remote-desktop

Pre-installed on the GNOME edition. Enable in Settings → Sharing → Remote Desktop.

# Enable RDP and set credentials
grdctl rdp enable
grdctl rdp set-credentials username password

# Check status
grdctl status

Supports both RDP and VNC protocols simultaneously.

---

Firewall

Open the required ports if you are accepting remote desktop connections:

# RDP (port 3389)
sudo firewall-cmd --add-service=rdp --permanent

# VNC (port 5900; adjust if using a different display number)
sudo firewall-cmd --add-port=5900/tcp --permanent

sudo firewall-cmd --reload

Security: Avoid exposing RDP or VNC directly to the internet. Instead, connect via Tailscale or tunnel over SSH (ssh -L 3389:localhost:3389 yourserver). See the OpenSSH wiki page for SSH tunnel details.

---

Troubleshooting

| Issue | Solution | |-------|----------| | Cannot connect (connection refused) | Check that the server service is running: systemctl --user status plasma-remotedesktop or grdctl status; verify the firewall port is open | | Black screen on connect | Log out of any active local session first — some RDP implementations cannot share a session that is already displayed on a local monitor | | Poor performance / lag | Use RDP instead of VNC for LAN connections — RDP is hardware-accelerated; for VNC, enable compression in your viewer | | Windows RDP client shows certificate warning | This is expected for self-signed certificates — accept and remember the certificate | | krfb prompts "someone is trying to connect" every time | Disable confirmation in System Settings → Remote Desktop → Ask for confirmation |