[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