mviereck / dockerfile-x11docker-deepin

3D desktop deepin from China
MIT License
33 stars 11 forks source link

The softlink of x11docker folder apprear recursively. #44

Closed hongyi-zhao closed 3 years ago

hongyi-zhao commented 3 years ago

With --home option, I find the x11docker folder will be soft linked recursively as shown below:

$ ls -l ~/x11docker
$ ls -l ~/x11docker/x11docker

But it seems that this problem has been fixed, presumably by the latest commits relative to this issue.

mviereck commented 3 years ago

That fix should be unrelated; however, maybe you once run --home=~/x11docker? That might have caused a recursive softlink.

hongyi-zhao commented 3 years ago

But even after I've removed the folder, it will be created again:

werner@X10DAi:~$ ls -l ~/x11docker/x11docker
lrwxrwxrwx 1 werner werner 1 Dec  7 16:15 /home/werner/x11docker/x11docker -> .
mviereck commented 3 years ago

But it seems that this problem has been fixed But even after I've removed the folder, it will be created again

So the issue isn't fixed? Which command does recreate the softlink?

hongyi-zhao commented 3 years ago

So the issue isn't fixed?

Yes.

Which command does recreate the softlink?

x11docker --runasroot 'sed -r "s/^[[:blank:]]*[|]//" <<-EOF > /etc/sudoers
        |#$ sudo grep -Ev '\''^[ ]*(#|$)'\'' /etc/sudoers  
        |Defaults   env_reset
        |Defaults   mail_badpass
        |Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
        |root   ALL=(ALL:ALL) ALL
        |%admin ALL=(ALL) ALL
        |%sudo  ALL=(ALL:ALL) ALL
        |$USER ALL=(ALL) NOPASSWD:ALL
    EOF' --network=host --pulseaudio --xoverip --home --share=$HOME --sudouser -c --desktop --init=systemd -- --cap-add=ALL -- hongyizhao/deepin-wine:apricot
mviereck commented 3 years ago

The related options are --home --share=$HOME. But I cannot reproduce the issue, have started this several times:

x11docker --desktop --home --share=$HOME  x11docker/xfce
hongyi-zhao commented 3 years ago

Based on my tries, your image x11docker/xfce doesn't have this problem.

And furthermore, I failed to start my image with the above mentioned options:

$ x11docker --desktop --home --share=$HOME hongyizhao/deepin-wine:apricot
x11docker WARNING: User werner is member of group docker.
  That allows unprivileged processes on host to gain root privileges.

x11docker note: Using X server option --xephyr

x11docker note: Xephyr is a quite stable nested X server.
  Less stable, but directly resizeable is nxagent with option --nxagent.
  Resizing of the Xephyr window is possible with xrandr, arandr or lxrandr.

<error> xsettings.go:310: Start xsettings failed: dial unix /var/run/dbus/system_bus_socket: connect: no such file or directory
  ->  main.go:240
  ->  proc.go:201
  ->  asm_amd64.s:1333
<warning> main.go:242: dial unix /var/run/dbus/system_bus_socket: connect: no such file or directory
<warning> session.go:568: dial unix /var/run/dbus/system_bus_socket: connect: no such file or directory
<warning> main.go:250: export session sessionManager failed: v is not a struct pointer
<warning> manager.go:236: dial unix /var/run/dbus/system_bus_socket: connect: no such file or directory
<warning> util.go:451: failed to get current using graphics card pci id
<warning> util.go:451: failed to get current using graphics card pci id
<warning> manager.go:1089: failed to set brightness for default: The output(916) has invalid gamma size
<info> handle_event.go:198: redo map touch screen
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
backend_syslog.go:45: <info> syslog is not available: Unix syslog delivery error
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x79ce65]

goroutine 1 [running]:
main.(*SessionManager).launchWaitAux(0x0, 0x8bab59, 0x4, 0x8c3490, 0x16, 0x0, 0x0, 0x0, 0x1a13b8600, 0xc0002b80e0, ...)
    /build/startdde-5.6.0.28/session_process.go:77 +0x185
main.(*SessionManager).launchWaitCore(0x0, 0x8bab59, 0x4, 0x8c3490, 0x16, 0x0, 0x0, 0x0, 0x1a13b8600, 0xc0002b80e0)
    /build/startdde-5.6.0.28/session_process.go:129 +0x9e
main.launchCoreComponents.func1(0x8c3490, 0x16, 0x0, 0x0, 0x0, 0x8bab59, 0x4, 0x1, 0xc0002ec080)
    /build/startdde-5.6.0.28/main.go:112 +0x10d
main.launchCoreComponents(0x0)
    /build/startdde-5.6.0.28/main.go:132 +0x35f
main.main()
    /build/startdde-5.6.0.28/main.go:267 +0x5bd
mviereck commented 3 years ago

I've tried with your full command and x11docker/deepin image and still cannot reproduce the issue:

x11docker --runasroot 'sed -r "s/^[[:blank:]]*[|]//" <<-EOF > /etc/sudoers
        |#$ sudo grep -Ev '\''^[ ]*(#|$)'\'' /etc/sudoers  
        |Defaults   env_reset
        |Defaults   mail_badpass
        |Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
        |root   ALL=(ALL:ALL) ALL
        |%admin ALL=(ALL) ALL
        |%sudo  ALL=(ALL:ALL) ALL
        |$USER ALL=(ALL) NOPASSWD:ALL
    EOF' --network=host --pulseaudio --xoverip --home --share=$HOME --sudouser -c --desktop --init=systemd -- --cap-add=ALL -- x11docker/deepin

And furthermore, I failed to start my image with the above mentioned options:

Of course it fails. deepin needs --init=systemd and --cap-add=IPC_LOCK.

hongyi-zhao commented 3 years ago

I've tried with your full command and x11docker/deepin image and still cannot reproduce the issue:

Maybe it only can be reproduced with my image. But I'm afraid that it's time-consuming for you to pull the image in your network environment.

$ docker images | grep hongyi
hongyizhao/deepin-wine   apricot                                                          3256a712a268        2 days ago          4.2GB
mviereck commented 3 years ago

Maybe it only can be reproduced with my image.

That is quite unlikely. Just in case, run x11docker --cleanup to remove possible old containers that might be around and cause issues.

hongyi-zhao commented 3 years ago

Just in case, run x11docker --cleanup to remove possible old containers that might be around and cause issues.

I confirm this problem is caused by the bug in one of my self-customized script. So, it does nothing with your x11docker. Sorry for my delay in identifying the source of the problem.