Index | Thread | Search

From:
Landry Breuil <landry@openbsd.org>
Subject:
Re: [new/wip] wayland/waypipe for ssh -X-like forwarding
To:
Matthieu Herrb <matthieu@openbsd.org>
Cc:
ports@openbsd.org
Date:
Wed, 12 Nov 2025 15:25:20 +0100

Download raw body.

Thread
Le Wed, Nov 12, 2025 at 02:00:36PM +0000, Matthieu Herrb a écrit :
> On Wed, Nov 12, 2025 at 01:44:07PM +0000, Matthieu Herrb wrote:
> > On Tue, Nov 11, 2025 at 06:44:08PM +0100, Landry Breuil wrote:
> > > Le Fri, Nov 10, 2023 at 12:18:34PM +0100, Landry Breuil a écrit :
> > > > hi,
> > > > 
> > > > $waypipe -s /tmp/socket-local client
> > > > 
> > > > in a term and
> > > > 
> > > > $ssh -R /tmp/socket-remote:/tmp/socket-local -t localhost env XDG_RUNTIME_DIR=/tmp/run/1000 waypipe -s /tmp/socket-remote server -- foot
> > > > 
> > > > in another correctly spawns a foot window in the running wayland/sway version.
> > > 
> > > Two years later, same spot, but updated to the latest upstream, in the
> > > meantime it's been rewritten in rust but the C version is still
> > > available, so let's stick to it for now.
> > > 
> > > we're soon getting proper XDG_RUNTIME_DIR support, but with
> > > XDG_RUNTIME_DIR=/home/landry/.local/run/ in ~/.ssh/environment
> > > i've been able to 'waypipe ssh localhost foot' (sorry, only have one
> > > wayland-enabled laptop right now..) and the new wayland client is
> > > properly displayed over ssh.
> > > 
> > > more testing welcome.
> > 
> > 
> > when you run "ssh host command", setusercontext() is not called. So you
> > need to setup the XDG_RUNTIME_DIR in .ssh/environment (and set
> > PermitUserEnvironment yes in sshd_config...)  anyways. Unless
> > I'm missing an option to cause 'command' to be executed in a login
> > shell with ssh.
> 
> I sent the mail a bit fast. Wanted to add that with the above handled,
> I can run firefox remotely over waypipe, and even play videos, with
> the fun fact that of course the audio still goes to the remote
> machine.
> 
> xfce-terminal, swayimg and foot also work.

nice, thanks for testing :)

so, how about this pkg/MESSAGE? (yeah, i've used the upcoming value for
XDG_RUNTIME_DIR)

$cat pkg/MESSAGE
To transparently use waypipe, it is necessary to, on the remote machine:

- add XDG_RUNTIME_DIR=/tmp/run/user/<uid> to ~/.ssh/environment
- add PermitUserEnvironment XDG_RUNTIME_DIR to /etc/ssh/sshd_config