Repository navigation
Releases: billsecond/consolerdp
Release list
ConsoleRDP 1.0.5
ConsoleRDP 1.0.5 — defensive .deb install + comprehensive verification
If a fresh Kubuntu 26.04 happens to have a stock krdp or kpipewire* package whose version number is higher than our patched ones, apt-get install on our local .debs would silently keep the stock package, the patches wouldn't apply, and the install would appear successful while mstsc still failed at NLA. This release closes that hole.
Changes
Defensive .deb install. install.sh now uses --allow-downgrades --reinstall -o Dpkg::Options::=--force-overwrite when installing the bundled .debs. apt is forced to replace whatever's on disk with our patched version regardless of version comparison.
Per-package version verification. After the .deb install, install.sh confirms each of the 7 bundled packages is at a version containing +consolerdp (or is the consolerdp orchestrator itself). Hard-fails with the exact wrong package name if not.
Comprehensive final-summary check. Step 6/6 is now per-component:
kcm_krdpserver.sopresent? (System Settings → Remote Desktop)/usr/bin/krdpservercarries the consolerdp build marker?consolerdp.serviceactive?krdpserverrc+ TLS cert provisioned for the seat user?tcp/3389listening?ufwallows 3389/tcp (if active)?
Each gets a separate ✓ / ! line. You can see at a glance what worked and what didn't on the last screenful of install output, instead of having to dig through consolerdp-doctor afterward.
consolerdp-configure step 7/8 race fix. Now waits up to 5s for /run/user/$UID/bus after loginctl enable-linger (was racing systemd before), prefers systemctl --user --machine="$user@.host" (systemd 248+) over sudo+env-vars, and verifies the unit actually came up.
Upgrade
Same recipe — re-run the bootstrap on top of any 1.0.x install:
curl -fsSL https://github.com/billsecond/consolerdp/releases/latest/download/install-remote.sh -o /tmp/install-remote.sh
sudo bash /tmp/install-remote.shAfter install
Watch the last screenful. If you see a row of ✓ lines and no ! warnings, you're done — open mstsc with your Linux user/password and connect. If you see any ! lines, paste them and I'll debug from there.
ConsoleRDP 1.0.4
ConsoleRDP 1.0.4 — tolerate transient apt mirror failures
Bug
If the target box had a broken IPv6 route to us.archive.ubuntu.com (common on shared-wifi, VPN, or minimal IPv6-less networks), or if security.ubuntu.com was mid-mirror-sync (giving a file-size mismatch on its Commands-amd64.xz CNF cache), apt-get update returned non-zero, set -euo pipefail killed the bootstrap script at step 1, and you were left staring at your shell prompt with nothing installed.
Seen in the wild as:
W: Failed to fetch http://us.archive.ubuntu.com/... Cannot initiate the connection ... (Network is unreachable)
E: Failed to fetch http://security.ubuntu.com/... File has unexpected size (744 != 968). Mirror sync in progress?
W: Some index files failed to download.
Fix
install-remote.shandinstall.shnow warn-and-continue onapt-get updatenon-zero exit. The actual package archives (*.deb) are still reachable over IPv4 in both failure modes.install-remote.shonly callsapt-get installfor its three bootstrap utilities (curl,jq,tar) if they're actually missing from PATH. On stock Kubuntu 26.04 all three are present, so we skip apt entirely in the common case.- If a package genuinely can't be fetched,
apt-get installstill hard-fails loudly, so we don't silently paper over a truly broken mirror.
Upgrade / retry
On the fresh box, re-run the exact command you had before:
curl -fsSL https://github.com/billsecond/consolerdp/releases/latest/download/install-remote.sh -o /tmp/install-remote.sh
sudo bash /tmp/install-remote.shIf the CNF size mismatch is still there a few hours from now, that's an Ubuntu mirror issue unrelated to ConsoleRDP; sudo apt-get update alone will clear up once the upstream sync completes.
ConsoleRDP 1.0.3
ConsoleRDP 1.0.3 — fully automated RDP setup
The biggest pain point in 1.0.0–1.0.2: after install you still had to open Plasma's System Settings → Remote Desktop, toggle it on, set a username/password, and apply. mstsc would not connect until you did that. 1.0.3 removes that step entirely.
What changed
consolerdp-configure now has a step 7/8 that:
- Generates a self-signed RSA-2048 TLS cert (10-year validity) at
~/.local/share/krdpserver/krdp.{crt,key}— required for NLA, no
warning prompt at first connect. - Writes
~/.config/krdpserverrcwithSystemUserEnabled=trueand
Autostart=true. With the NLA patch in ourkrdpbuild, this means
mstsc authenticates against PAM — the seat user's Linux password
is the RDP password. No KCM-managed user, no KWallet entry. - Runs
loginctl enable-lingerso the user manager survives reboots. - Runs
systemctl --user enable --now app-org.kde.krdpserver.service.
install.sh adds openssl to its apt package list (always present on
Kubuntu but pinned explicitly for minimal ubuntu + kubuntu-desktop
installs).
After install
Open mstsc on Windows:
| Field | Value |
|---|---|
| Computer | <linux-host-ip>:3389 |
| Username | your Linux username (the --user you passed) |
| Password | your Linux password (same one as SDDM/sudo) |
That's it. mstsc will warn about the self-signed cert on first connect; tick "Don't ask again for this computer" and it never warns again.
Upgrade from 1.0.x
Re-run the bootstrap on top of the existing install:
curl -fsSL https://github.com/billsecond/consolerdp/releases/latest/download/install-remote.sh -o /tmp/install-remote.sh
sudo bash /tmp/install-remote.shIt's idempotent — won't overwrite an existing TLS cert, won't change consolerdp.conf if you've edited it.
ConsoleRDP 1.0.2
ConsoleRDP 1.0.2
Bug fix
Drop nonexistent plasma-remotedesktop dependency.
install.sh v1.0.0 and v1.0.1 told apt to install a package called plasma-remotedesktop, which is a Plasma-5-era leftover that does not exist on Kubuntu 26.04 / Plasma 6. Installs failed with:
E: Unable to locate package plasma-remotedesktop
The System Settings RDP page (kcm_krdpserver.so) actually ships inside the patched krdp .deb itself, so no separate Plasma-side package is required. v1.0.2 removes the bad reference from install.sh and from the consolerdp .deb's Recommends:.
Upgrading
If your earlier install failed, just re-run the bootstrap:
curl -fsSL https://github.com/billsecond/consolerdp/releases/latest/download/install-remote.sh -o /tmp/install-remote.sh
sudo bash /tmp/install-remote.shIf your v1.0.1 install partially completed (some packages installed, then it bailed at the apt step), the new install is idempotent and will pick up where it left off.
ConsoleRDP 1.0.1
ConsoleRDP 1.0.1
Bugfix
install.shandinstall-remote.shnow reattach stdin to/dev/ttywhen invoked viacurl ... | sudo bash. Previously the script's stdin was the curl pipe, so any prompt (sudo password, y/n confirmations) silently read from the consumed pipe and the user saw a blank terminal.
Documentation
-
INSTALL.mdnow recommends downloading the bootstrap then running it, instead of piping curl intosudo bash. The two-command form is more reliable across terminals:curl -fsSL https://github.com/billsecond/consolerdp/releases/latest/download/install-remote.sh -o /tmp/install-remote.sh sudo bash /tmp/install-remote.sh
-
install-remote.shnow prints a "ConsoleRDP bootstrap" banner so users see the script has actually started.
Upgrading from 1.0.0
sudo apt-mark unhold consolerdp
sudo apt install ./release/consolerdp_1.0.1_all.deb
sudo apt-mark hold consolerdpOr just re-run the new bootstrap on top of the old install — the .deb upgrade is in-place and idempotent.
ConsoleRDP 1.0.0
ConsoleRDP 1.0.0
First public release. Windows-style RDP for Kubuntu 26.04 LTS amd64 with KDE Plasma 6 Wayland.
Features
- Single-seat takeover — RDP connects share the live Plasma session (not a new one). Local login evicts the RDP user; mstsc reconnect evicts the local user. Whoever authenticates last wins, just like Windows.
- NLA authentication — mstsc password = Linux password. No double-prompt.
- Color-correct mstsc rendering — patched
kpipewirewrites BT.601 H.264 VUI metadata so mstsc decodes YUV→RGB correctly. No more washed-out blacks. - Auto-unlock on reconnect — the daemon calls
loginctl unlock-sessionafter NLA validates, so reconnect skips the Plasma lockscreen. - VT switching — physical display flips to a "this seat is in use remotely" greeter on tty8 during RDP; flips back to Plasma on disconnect.
- Disconnect debounce — 1.5 s debounce in the watcher prevents spurious release events during mstsc's NLA TCP bounce.
Install on a fresh Kubuntu 26.04 box
curl -fsSL https://github.com/billsecond/consolerdp/releases/download/v1.0.0/install-remote.sh | sudo bashOr manually:
git clone https://github.com/billsecond/consolerdp.git
cd consolerdp
sudo ./install.sh --user $(whoami)See INSTALL.md for the full compatibility matrix and options.
What's in the tarball
- 7 prebuilt
.debpackages (release/*.deb) - Source tree (orchestrator + helper scripts in
bin/, systemd units, config templates) - Patches against upstream
krdp 6.6.4(8 patches) andkpipewire 6.6.4(1 patch) install.sh,uninstall.sh,INSTALL.md,README.md
Compatibility
| Target | Supported? |
|---|---|
| Kubuntu 26.04 LTS amd64 | ✅ |
| Ubuntu 26.04 + kubuntu-desktop | |
| Anything else | ❌ rebuild required |
Known issues
See docs/known-issues.md in the repo.