[winswitch] /run/xpra directory permissions

Antoine Martin antoine at nagafix.co.uk
Fri Feb 17 07:28:15 GMT 2017


On 17/02/17 02:15, Stroller via shifter-users wrote:
> I'll respond to my other thread momentarily, but I now have xpra running, and thank Antoine for his help.
> 
> In the process of this, I got this error:
>    
>    $ xpra start :100 --start-child=xterm
>    $ Entering daemon mode; any further errors will be reported to:
>      /home/stroller/.xpra/:100.log
>    
>    $ tail -n 100 -f /home/stroller/.xpra/\:100.log
>    
>    X.Org X Server 1.18.4
>    Release Date: 2016-07-19
>    X Protocol Version 11, Revision 0
>    Build Operating System: Linux 4.9.4-gentoo x86_64 Gentoo
>    Current Operating System: Linux alrai 4.9.4-gentoo #2 SMP Fri Jan 20 08:38:04 GMT 2017 x86_64
>    Kernel command line: BOOT_IMAGE=/kernel-4.9.4-gentoo root=/dev/sda4 ro
>    Build Date: 16 February 2017  06:34:00PM
>    
>    Current version of pixman: 0.34.0
>            Before reporting problems, check http://wiki.x.org
>            to make sure that you have the latest version.
>    Markers: (--) probed, (**) from config file, (==) default setting,
>            (++) from command line, (!!) notice, (II) informational,
>            (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
>    (++) Log file: "/home/stroller/.xpra/Xorg.:100.log", Time: Thu Feb 16 18:39:49 2017
>    (++) Using config file: "/etc/xpra/xorg.conf"
>    2017-02-16 18:39:51,748 Warning: failed to create socket directory '/run/xpra'
>    2017-02-16 18:39:51,749  [Errno 13] Permission denied: '/run/xpra'
>    2017-02-16 18:39:51,750 Error: failed to create socket '/run/xpra/alrai-100':
>    2017-02-16 18:39:51,750  [Errno 2] No such file or directory
>    xpra initialization error:
>     failed to create socket /run/xpra/alrai-100
>    2017-02-16 18:39:51,752 killing xvfb with pid 31722
>    (II) Server terminated successfully (0). Closing log file.
Failure to write to the "shared socket" folder should not be fatal, we
just assumed that this folder was "/var/run/xpra" but it is "/run/xpra"
on your system. This is now fixed and will be in the next update:
http://xpra.org/trac/changeset/15096/xpra

****

Socket issues seem to have bitten a number of people running xpra on the
"not officially supported" distributions (or on the ones I fail to test
fully before the release...) and is often purely a packaging issue.

So here is more information on what is going on.

* legacy location: "~/.xpra/"
Since the very first version, xpra has been placing its server sockets
in "~/.xpra/". It still does, though it may get phased out eventually.

* XDG_RUNTIME_DIR (usually "/var/run/user/$UID/xpra/")
Then came along the "XDG Base Directory Specification":
https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
So we decided to follow the "new and improved" (..) standard location:
https://www.xpra.org/trac/ticket/1129
This also fixes problems for those that mount $HOME using network
filesystems:
https://www.xpra.org/trac/ticket/888

* group sharing (usually "/var/run/xpra/")
We also wanted to make it easier to setup session sharing across users
via unix group membership, so we added "/var/run/xpra" via tmpfiles.d:
https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html
This one may fail: you should not be able to write to "/var/run/xpra" if
you are not a member of the xpra group for example.
(the bug you hit failed to recognise this socket location as optional)


So now xpra should create its server sockets in 3 locations.

We have to keep the legacy location in the default settings because
older clients may not be able to connect to xpra via ssh without it.

The XDG_RUNTIME_DIR is also a bit of a mess, especially for users who
rely on "sudo" or "su" to launch sessions as most distributions do not
create this directory properly (..).
Until distributions sort this out - and well after that, we will
continue to support the legacy location.

Cheers
Antoine


> I was able to resolve this by creating a /run/xpra directory and I temporarily gave it permissions 777.
> 
> As I said before, I'm running Gentoo xpra-1.0.3, installed with the latest x11-wm/xpra ebuild currently in the Portage tree.
> 
> The ebuild creates an xpra group (in /etc/group) when the package is installed on the system.
> 
> I'm thinking the install should also create a /run/xpra directory on installation, with permissions that members of the xpra group can write to it (but not other users). Does this sound reasonable? If so, I'll file a bug to this effect with Gentoo.
> 
> I do appreciate all your hard work,
> 
> Stroller.
> 
> 
> _______________________________________________
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
> http://lists.devloop.org.uk/mailman/listinfo/shifter-users
> 




More information about the shifter-users mailing list