Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x11docker ERROR: Xpra server startup failed. #69

Closed
cloudcalvin opened this issue Jul 19, 2018 · 9 comments
Closed

x11docker ERROR: Xpra server startup failed. #69

cloudcalvin opened this issue Jul 19, 2018 · 9 comments
Labels

Comments

@cloudcalvin
Copy link

cloudcalvin commented Jul 19, 2018

Hello,

Thanks for the work you have done, its got me quite excited!

Running on Arch Linux, most of the examples shown in the readme give an error as in the following example :

$ sudo x11docker x11docker/xfce xfce4-terminal
x11docker WARNING: Your terminal seems to be not POSIX compliant.
  Command 'logname' does not return a value.
  Consider to use another terminal emulator.
  Fallback: Will try to check $SUDO_USER and $PKEXEC_UID.

x11docker note: Will use $SUDO_USER = userd as host user.

x11docker note: You are running a beta version of x11docker.
  Beta versions change often and may introduce temporary new bugs.
  If you prefer latest stable release, run 'x11docker --update'.
  If you prefer to follow development, run 'x11docker --update-master'.

  You can contribute to x11docker if you find bugs and report them at:
    https://github.com/mviereck/x11docker

x11docker note: Using X server option --xpra

x11docker note: Xpra startup is rather slow. For faster startup
  with seamless applications,   try --nxagent.
  If security is not a concern, try --hostdisplay.

x11docker note: Stay tuned, xpra will start soon.


x11docker ERROR: Xpra server startup failed.
  Last lines of Xpra server log:
  File "/usr/lib/python2.7/site-packages/xpra/scripts/main.py", line 75, in main
    return run_mode(script_file, err, options, args, mode, defaults)
  File "/usr/lib/python2.7/site-packages/xpra/scripts/main.py", line 372, in run_mode
    return run_server(error_cb, options, mode, script_file, args, current_display)
  File "/usr/lib/python2.7/site-packages/xpra/scripts/server.py", line 879, in run_server
    local_sockets = setup_local_sockets(opts.bind, opts.socket_dir, opts.socket_dirs, display_name, clobber, opts.mmap_group, opts.socket_permissions, username, uid, gid)
  File "/usr/lib/python2.7/site-packages/xpra/server/socket_util.py", line 289, in setup_local_sockets
    os.unlink(sockpath)
OSError: [Errno 13] Permission denied: '/run/xpra/userd-100'

  Type 'x11docker --help' for usage information
  For debugging, run x11docker in terminal and/or enable option '--verbose'
  or look afterwards at logfile /home/userd/.cache/x11docker/x11docker.log
  Please report issues at https://github.com/mviereck/x11docker


Have I missed some xpra post-install configuration?

Regards
Calvin

@cloudcalvin cloudcalvin changed the title /usr/lib/Xorg.wrap: Only console users are allowed to run the X server x11docker ERROR: Xpra server startup failed. Jul 19, 2018
@cloudcalvin
Copy link
Author

cloudcalvin commented Jul 19, 2018

The steps I used to install are :

  1. clone from master branch.
  2. cd into dir
  3. sudo ./x11docker --install
  4. sudo pacman -S xpra
  5. yay -S xorg-server-xvfb

The permissions of the file '/run/xpra/userd-100' :
srw------- 1 root xpra 0 Jul 19 11:19 /run/xpra/userd-100

@mviereck
Copy link
Owner

Thank you for reporting!

So far your setup looks correct.
Can you tell me your xpra version? xpra --version

I have xpra v2.4-r19886 and it creates a socket in HOME: ~/.xpra/buster-100.
Some previous versions created more than one socket, and at least one worked automatically.

You can probably avoid the error if you add your user to group xpra, but that should not be needed and has not been needed before.

Depending on your version of xpra, I may have to write a bug report at https://xpra.org/.

@mviereck mviereck added the bug label Jul 19, 2018
@cloudcalvin
Copy link
Author

Thanks for the feedback!

I had xpra-2.3.2-1 r19729 installed via pacman, but I tried the version from SVN, xpra-svn-r19937-1, just now but x11docker complains that it has a cookie problem! And it still has the same error :P

I then added myself to the xpra group and tried both versions, but it makes no difference unfortunately.

Luckily what I want to use x11docker for works fine with --nxagent so I'm happy, but it is a puzzle as to why xpra doesnt have the permission necessary..

@mviereck
Copy link
Owner

Strange ...
Can you please run the SVN version of --xpra with --verbose and store the output at https://pastebin.com/ ?
(You can also use the file ~/.cache/x11docker/x11docker.log after closing the error message).

@totaam
Copy link

totaam commented Jul 19, 2018

The arch package is broken, don't use it. This is not an xpra problem, it's a packaging problem.
(IIRC, the xvfb config uses the wrong path for Xorg, pointing to the suid binary)

@mviereck
Copy link
Owner

I did a test in an Arch VM with xpra v2.3.2-r19729, it runs well.
Interestingly, the log shows:

2018-07-20 00:03:31,949 created unix domain socket: /run/user/1000/xpra/myarch-100
2018-07-20 00:03:31,955 created unix domain socket: /home/lauscher/.xpra/myarch-100
2018-07-20 00:03:31,955 cannot create group socket '/run/xpra/myarch-100'

It fails to create the socket in /run/xpra, the one that exists on your system and causes error message:

OSError: [Errno 13] Permission denied: '/run/xpra/userd-100'

I am not sure what is going on here.

the xvfb config uses the wrong path for Xorg, pointing to the suid binary

This is not an issue here because x11docker always sets up a custom --xvfb for xpra and uses Xvfb instead of Xdummy in this case. Thank you for having a look at this thread!

@mviereck
Copy link
Owner

@cloudcalvin I've made an update in master branch that specifies x11docker cache folder as socket directory for xpra. Can you test if that works on your system, please?

@totaam
Copy link

totaam commented Jul 20, 2018

The socket in /run/xpra/ is for group access - you need to be a member of the "xpra" group, just ignore the warning if you don't intend to share your sockets with other users.

@cloudcalvin
Copy link
Author

Thank @mviereck, after the update it works for me with version v2.3.2-r19729.
I appreciate the quick fix!

Greetings from South Africa.
Calvin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants