Using Cage for a seamless remote Wayland session April 23, 2019 on Drew DeVault's blog

Congratulations to Jente Hidskes on the first release of Cage! Cage is a Wayland compositor designed for kiosks - though, as you’ll shortly find out, is useful in many unexpected ways. It launches a single application, in fullscreen, and exits the compositor when that application exits. This lets you basically add a DRM+KMS+libinput session to any Wayland-compatible application (or X application via XWayland) and run it in a tiny wlroots compositor.

I actually was planning on writing something like this at some point (for a project which still hasn’t really come off the ground yet), so I was excited when Jente announced it in December. With the addition of the RDP backend in wlroots, I thought it would be cool to combine these to make a seamless remote desktop experience. In short, I installed FreeRDP and Cage on my laptop, and sway on my desktop. On my desktop, I generated TLS certificates per the wlroots docs and ran sway like so:

WLR_RDP_TLS_CERT_PATH=$HOME/tls.crt \
WLR_RDP_TLS_KEY_PATH=$HOME/tls.key \
WLR_BACKENDS=rdp \
sway

Then, on my laptop, I can run this script:

#!/bin/sh
if [ $# -eq 0 ]
then
	export XDG_RUNTIME_DIR=/tmp
	exec cage sway-remote launch
else
	sleep 3
	exec xfreerdp \
		-v homura \
		--bpp 32 \
		--size 1280x800 \
		--rfx
fi

The first branch is taken on the first run, and it starts up cage and asks it to run this script again. The second branch then starts up xfreerdp and connects to my desktop (its hostname is homura). xfreerdp is then fullscreened and all of my laptop’s input events are directed to it. The result is an experience which is basically identical to running sway directly on my laptop, except it’s actually running on my desktop and using the remote desktop protocol to send everything back and forth.

This isn’t especially practical, but it is a cool hack. It’s definitely not network transparency like some people want, but I wasn’t aiming for that. It’s just a neat thing you can do now that we have an RDP backend for wlroots. And congrats again to Jente - be sure to give Cage a look and see if you can think of any other novel use-cases, too!

Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~sircmpwn/public-inbox@lists.sr.ht [mailing list etiquette]

Articles from blogs I read Generated by openring

SourceHut API 2.0 dev log

Completing the project now known as “API 2.0” is one of the most important steps in finalizing the sr.ht beta, and I’ve been trying to keep the community abreast of developments, especially on the sr.ht-dev mailing list. I’m summarizing for the blog as well t…

via Blogs on Sourcehut September 25, 2020

People expect technology to suck because it actually sucks

I get at least 27 tech annoyances on a single day

via tonsky.me September 25, 2020

Rewriting the Technical Interview

Frigitt, vi danser For et øyeblikk, vi leker Vi tusen små bladskiper Gleder oss, på det klare morgenlys The mothercone unfurls her softening scales, and in the time of days I am emancipated. Adrift in the chill dawn light, my siblings flutter, slender forms c…

via Aphyr: Posts September 18, 2020