Subject: GuixSD - problem with X11 forwarding

From: myglc2 <[email-masked]>
Date: Thu, 21 Jul 2016 12:49:07 -0400

This is still open so I am moving it from user to bugs ...

From: myglc2 <[email-masked]>
Subject: Re: guixSD - problem with X11 forwarding
Newsgroups: gmane.comp.gnu.guix.user
To: [email-masked]
Date: Mon, 29 Feb 2016 21:12:51 -0500 (20 weeks, 2 days, 14 hours ago)

[email-masked] (Ludovic Courtès) writes:

> myglc2 <[email-masked]> skribis:
>
>> On guixSD, with no packages installed in the login user profile, I get
>> 'X11 forwarding request failed on channel 0'
>
> [...]
>
>> debug1: channel 0: new [client-session]
>> debug1: Entering interactive session.
>> debug1: Requesting X11 forwarding with authentication spoofing.
>> debug1: Sending environment.
>> debug1: Sending env LANG = en_US.UTF-8
>> X11 forwarding request failed on channel 0
>
> Right, I see that as well.
>
> lshd gives some clues in /var/log/messages:
>
> Feb 23 18:14:09 localhost lshd[430]: lshd: Updating utmp for login failed (errno = 2): No such file or directory 
> Feb 23 18:14:09 localhost lshd[430]: lshd: xauth invocation failed: exit code: 127 
> Feb 23 18:14:33 localhost lshd[430]: lshd: Updating utmpx for logout failed (errno = 2): No such file or directory 
> Feb 23 18:14:33 localhost lshd[430]: lshd: write_buffer: Attempt to write data to closed buffer. 
> Feb 23 18:14:33 localhost lshd[430]: lshd: Disconnect for reason 11: disconnected by user 
>
> Indeed, server_x11.c in lsh reads:
>
> #ifndef XAUTH_PROGRAM
> # define XAUTH_PROGRAM "/usr/X11R6/bin/xauth"
> #endif
>
> I believe this is fixed by commit da35acf.

[...]

Not, at lease, in my setup. I am running GuixSD built from git checkout ...

b006ba5 [behind 15] pull:  Update the version string.
  
On the client, ssh produces ...

'X11 forwarding request failed on channel 0'

On the headless server (g1) in /var/log/messages ...

Jul 21 12:24:51 localhost lshd[381]: lshd: Failed to cd to `/tmp/.X11-unix' (errno = 2): No such file or directory 
Jul 21 12:24:51 localhost lshd[381]: lshd: Updating utmp for login failed (errno = 2): No such file or directory 

With this workaround ...

sudo mkdir /tmp/.X11-unix
sudo chmod 777 /tmp/.X11-unix

... if I log out and back in X11 forwarding "works" and in
/var/log/messages ...

Jul 21 12:33:44 localhost lshd[381]: lshd: Updating utmp for login failed (errno = 2): No such file or directory

When I logout, in /var/log/messages I see ...

Jul 21 12:36:06 localhost lshd[381]: lshd: Updating utmpx for logout failed (errno = 2): No such file or directory 
Jul 21 12:36:06 localhost lshd[381]: lshd: write_buffer: Attempt to write data to closed buffer. 
Jul 21 12:36:06 localhost lshd[381]: lshd: Disconnect for reason 11: disconnected by user

Of course, the workaround needs to be re-applied each time the server is
rebooted.

The system and user configs are attached below ;-)