GNU bug report logs - #22930
X11 forwarding fails without /tmp/.X11-unix directory

Previous Next

Package: guix;

Reported by: myglc2 <myglc2 <at> gmail.com>

Date: Mon, 7 Mar 2016 01:09:01 UTC

Severity: normal

Merged with 23960, 24049

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#23960: closed (lshd: X11 forwarding request failed on channel 0)
Date: Tue, 06 Oct 2020 04:05:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 06 Oct 2020 00:04:26 -0400
with message-id <87h7r8huet.fsf <at> gmail.com>
and subject line Re: bug#24049: GuixSD - problem with X11 forwarding
has caused the debbugs.gnu.org bug report #22930,
regarding lshd: X11 forwarding request failed on channel 0
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
22930: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22930
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: myglc2 <myglc2 <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: lshd: X11 forwarding request failed on channel 0
Date: Tue, 12 Jul 2016 16:46:26 -0400
[Message part 3 (text/plain, inline)]
From 'Re: guixSD - problem with X11 forwarding' in help-guix <at> gnu.org

myglc2 <myglc2 <at> gmail.com> writes:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> myglc2 <myglc2 <at> gmail.com> 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.
>>
>> To give it a try, you can run (as root):
>>
>>   # guix pull
>>   # herd stop ssh-daemon
>>   # guix system reconfigure your-config.scm
>
> I tried the above. 'ssh -v ...' still produces results quoted above and
> I see in /var/log/messages:
>
> Feb 29 20:43:54 localhost lshd[6959]: lshd: Failed to cd to `/tmp/.X11-unix' (errno = 2): No such file or directory 
> Feb 29 20:43:54 localhost lshd[6959]: lshd: Updating utmp for login failed (errno = 2): No such file or directory 
> Feb 29 20:45:35 localhost lshd[6959]: lshd: Updating utmpx for logout failed (errno = 2): No such file or directory 
> Feb 29 20:45:35 localhost lshd[6959]: lshd: write_buffer: Attempt to write data to closed buffer. 
> Feb 29 20:45:35 localhost lshd[6959]: lshd: Disconnect for reason 11: disconnected by user 
> Feb 29 20:45:47 localhost lshd[6959]: lshd: Failed to cd to `/tmp/.X11-unix' (errno = 2): No such file or directory 
> Feb 29 20:45:47 localhost lshd[6959]: lshd: Updating utmp for login failed (errno = 2): No such file or directory 
>
> I tried 'sudo mkdir /tmp/.X11-unix' which changed /var/log/messages to:
>
> Feb 29 20:54:04 localhost lshd[6959]: lshd: Updating utmp for login failed (errno = 2): No such file or directory 
> Feb 29 20:54:09 localhost lshd[6959]: lshd: Updating utmpx for logout failed (errno = 2): No such file or directory 
> Feb 29 20:54:09 localhost lshd[6959]: lshd: write_buffer: Attempt to write data to closed buffer. 
> Feb 29 20:54:09 localhost lshd[6959]: lshd: Disconnect for reason 11: disconnected by user 
>
> and 'ssh -v ...' still produces the results quoted above.

Don't think this is fixed yet. ssh in to GuixSD gives ...

'X11 forwarding request failed on channel 0'

... and on GuixSD in /var/log/messages I see ...

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

... or after ...

sudo mkdir /tmp/.X11-unix

... I see ...

Jul 12 16:21:53 localhost lshd[384]: lshd: Updating utmpx for logout failed (errno = 2): No such file or directory 
Jul 12 16:21:53 localhost lshd[384]: lshd: write_buffer: Attempt to write data to closed buffer. 
Jul 12 16:21:53 localhost lshd[384]: lshd: Disconnect for reason 11: disconnected by user 
Jul 12 16:22:00 localhost lshd[384]: lshd: Updating utmp for login failed (errno = 2): No such file or directory 

I am running from a git checkout ...

g1 <at> g1 ~/src/guix$ git branch -av | grep '* master'
* master                                   0885881 gnu: obs: Remove compiler flags for non-Intel hardware.
g1 <at> g1 ~/src/guix$ stat /home/g1/.config/guix/latest | grep File:
  File: ‘/home/g1/.config/guix/latest’ -> ‘../../src/guix’


system and user configs attached. TIA - George

[g1.scm (application/octet-stream, attachment)]
[system.scm (application/octet-stream, attachment)]
[Message part 6 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: myglc2 <myglc2 <at> gmail.com>, 24049-done <at> debbugs.gnu.org,
 22930-done <at> debbugs.gnu.org
Subject: Re: bug#24049: GuixSD - problem with X11 forwarding
Date: Tue, 06 Oct 2020 00:04:26 -0400
[Message part 7 (text/plain, inline)]
Hello,

ludo <at> gnu.org (Ludovic Courtès) writes:

[...]

> I believe this is a bug in lshd fixed by something along the lines of
> the attached patch.
>
> Niels, what do you think?
>
> (Strangely I can’t find equivalent code in OpenSSH.)
>
> Thanks,
> Ludo’.
>
> --- /tmp/lsh-2.1/src/server_x11.c	2016-08-01 11:58:54.714647794 +0200
> +++ /tmp/lsh-2.1/src/server_x11.c.new	2016-08-01 11:58:46.606563478 +0200
> @@ -151,7 +151,7 @@ DEFINE_COMMAND(open_forwarded_x11)
>  #define X11_MIN_DISPLAY 10
>  #define X11_MAX_DISPLAY 1000
>  
> -/* FIXME: Create the /tmp/.X11-unix directory, if needed. Figure out
> +/* FIXME: Figure out
>   * if and how we should use /tmp/.X17-lock. Consider using display
>   * "unix:17" instead of just ":17".
>   */
> @@ -253,6 +253,7 @@ open_x11_socket(struct ssh_channel *chan
>  
>    old_umask = umask(0077);
>    
> +  mkdir(X11_SOCKET_DIR, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX);
>    old_cd = lsh_pushd(X11_SOCKET_DIR, &dir, 0, 0);
>    if (old_cd < 0)
>      {

I tried the above fix and ran a VM with the attached config (the custom
kernel stuff was to try something else at the same time).  It fixes the
error about the directory, but it would still fail at X11 forwarding
(there was an error message: "Can't find any xauth information for X11
display").

I ended up figuring out it needed libxau to work; combined with your
patch, this fixes X11 forwarding.

Fixed in commit 0ec195ff02.

For the record, I've done the tests in a VM using the attached system
config.  The custom kernel stuff is unrelated.

Thanks,

Closing,

Maxim

[config-custom-kernel.scm (text/plain, attachment)]

This bug report was last modified 4 years and 226 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.