RustConn is a Linux GTK4 application and has no native Windows port (GTK4 + VTE on Windows is not in a usable state). The supported way to run RustConn on a Windows machine is WSL2 with WSLg, which renders Linux GUI apps as regular Windows windows — including Start menu integration, Alt-Tab, and shared clipboard.
This guide follows Microsoft's Run Linux GUI apps with WSL tutorial and adds the RustConn-specific setup that is easy to miss (systemd, D-Bus, and secret storage).
- Windows 10 Build 19044+ or Windows 11. WSLg (the GUI layer) ships with WSL 0.47.1+ on these builds.
- WSL 2 only. Linux GUI apps do not work in WSL 1. Convert an existing
distro with
wsl --set-version <distro> 2if needed. - GPU driver with vGPU support for hardware-accelerated OpenGL (recommended, not strictly required): Intel, AMD, NVIDIA.
Fresh install (admin PowerShell, then reboot):
wsl --installAfter the reboot, Ubuntu finishes installing and asks for a Linux username and password.
Existing WSL install — make sure WSLg is present:
wsl --update
wsl --shutdown # restart WSL so the update takes effectVerify with wsl --version — the output should list a WSLg version.
RustConn relies on a D-Bus session bus for the Secret Service (saved passwords via GNOME Keyring), desktop portals (the SFTP file-manager integration), and notifications. The easiest way to get a working session bus in WSL is to enable systemd.
Inside the distro, create or edit /etc/wsl.conf:
[boot]
systemd=trueThen restart WSL from PowerShell:
wsl --shutdownThis step is the most common reason RustConn "doesn't work" under WSL — without it the app starts, but saving passwords and opening SFTP in a file manager fail.
Inside Ubuntu (24.04 LTS shown; for other releases see INSTALL.md):
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/ /' \
| sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/Release.key \
| gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update
sudo apt install rustconnOr install the .deb from
GitHub Releases:
sudo apt install ./rustconn_*_amd64.debBoth paths pull in the GTK4/libadwaita/VTE runtime automatically. Optional
external clients (freerdp3-x11, tigervnc-viewer, virt-viewer,
picocom) are Recommends — install the ones you need.
For the default GNOME Keyring backend:
sudo apt install gnome-keyringOn first password save, the keyring prompts you to set (or confirm) a keyring password. If you prefer not to run a keyring daemon under WSL, pick a CLI backend instead in Settings → Secrets (KeePassXC, Bitwarden, 1Password, pass) — see USER_GUIDE.md.
From the Ubuntu terminal:
rustconnor from the Windows Start menu → Ubuntu → RustConn. The window behaves like a native Windows app (Alt-Tab, taskbar pinning, clipboard sharing).
- No system tray. WSLg has no StatusNotifier host, so the tray icon and minimize-to-tray are unavailable; the window close button quits the app.
- Emoji icons may not render — WSLg ships a limited set of fonts and may
lack full color emoji coverage. Smart Folder and connection icons set to
emoji may appear as blank boxes. Use GTK icon names (e.g.
network-server-symbolic) as an alternative, or install a Noto Color Emoji font:sudo apt install fonts-noto-color-emoji && fc-cache -f. - Embedded RDP may fail with "decode error" — the built-in IronRDP
client does not yet support all RDP extensions. If the embedded client
fails, RustConn automatically falls back to FreeRDP. Install it:
sudo apt install freerdp3-x11(orfreerdp2-x11on older distros). Alternatively, use an external RDP session (right-click → Connect External). - Embedded RDP/VNC rendering is slower than on native Linux — WSLg adds a compositing hop (RDP-over-vsock). For heavy remote-desktop work prefer the Windows native clients, or accept the overhead.
- libEGL / MESA warnings in the log — WSLg uses software rendering via
d3d12orllvmpipewhen no vGPU driver is installed. These warnings are cosmetic and do not affect functionality; install a vGPU driver to silence them and get hardware acceleration. - Audio (RDP/SPICE audio redirection) goes through WSLg's PulseAudio server; it works but adds latency.
- Serial ports require attaching USB devices to WSL via usbipd-win.
- Wake-on-LAN packets originate from the WSL NAT network; in the default
networking mode they may not reach your LAN. Use
networkingMode=mirrored(Windows 11 22H2+) in.wslconfigif you need WoL.
- "cannot open display" / blank window — see the official WSLg guide:
Diagnosing "cannot open display" issues.
Check that
echo $DISPLAYprints:0andecho $WAYLAND_DISPLAYprintswayland-0inside the distro. - GUI apps don't start at all — confirm WSL 2 (
wsl -l -v) and thatwsl --versionshows a WSLg version; update Windows if the build is older than 19044. - Passwords are not saved / Secret Service errors — systemd is not
enabled (Step 2) or
gnome-keyringis missing (Step 4). Verify withsystemctl is-system-runningandbusctl --user list | grep secrets. - SFTP "Open in file manager" does nothing — install a file manager
(
sudo apt install nautilus) and the GVFS SFTP backend (sudo apt install gvfs-backends); requires the session bus from Step 2. - Fonts look wrong / tofu glyphs —
sudo apt install fonts-dejavu fonts-noto-color-emojiinside the distro.