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

Qubes gui daemon doesn't work with startx #2195

Closed
jaspertron opened this Issue Jul 23, 2016 · 4 comments

Comments

Projects
None yet
5 participants
@jaspertron

Disabling lightdm and using startx instead causes the gui daemon to fail because user can't create /var/run/shm.id:

shmoverride constructor running
shmoverride creating /var/run/shm.id: Permission denied
user@dom0 ~> qvm-start work
---snip---
--> Starting Qubes GUId...
Connecting to VM's GUI agent: .Missing /var/run/shm.id; run X with preloaded shmoverride
exiting
ERROR(work): Cannot start qubes-guid!

Would it make sense to use something like /var/run/qubes/shm.id instead?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 24, 2016

Member

I don't really see why you'd want to disable graphical login manager just to start X right after login from text console...

But if you really like, feel free to send a patch (pull request). Make sure to adjust all the places:

[user@devel builder]$ make grep 'shm\.id'
qubes-src/core-admin/core-modules/000QubesVm.py:        elif not os.path.exists('/var/run/shm.id'):
qubes-src/core-admin/core-modules/01QubesDisposableVm.py:        if kwargs.get('start_guid', True) and os.path.exists('/var/run/shm.id'):
qubes-src/core-admin/core-modules/01QubesDisposableVm.py:        if kwargs.get('start_guid', True) and os.path.exists('/var/run/shm.id'):
qubes-src/gui-daemon/gui-daemon/xside.c:        f = fopen("/var/run/shm.id", "r");
qubes-src/gui-daemon/gui-daemon/xside.c:                    "Missing /var/run/shm.id; run X with preloaded shmoverride\n");
qubes-src/gui-daemon/gui-daemon/xside.c:                    "Invalid or stale shm id 0x%x in /var/run/shm.id\n",
qubes-src/gui-daemon/gui-daemon/xside.h:    uint32_t cmd_shmid;     /* shared memory id - received from shmoverride.so through shm.id file */
qubes-src/gui-daemon/shmoverride/README:(cmd_pages) and writes its shmid to /var/run/shm.id. All instances of
qubes-src/gui-daemon/shmoverride/shmoverride.c:#define SHMID_FILENAME "/var/run/shm.id"
Member

marmarek commented Jul 24, 2016

I don't really see why you'd want to disable graphical login manager just to start X right after login from text console...

But if you really like, feel free to send a patch (pull request). Make sure to adjust all the places:

[user@devel builder]$ make grep 'shm\.id'
qubes-src/core-admin/core-modules/000QubesVm.py:        elif not os.path.exists('/var/run/shm.id'):
qubes-src/core-admin/core-modules/01QubesDisposableVm.py:        if kwargs.get('start_guid', True) and os.path.exists('/var/run/shm.id'):
qubes-src/core-admin/core-modules/01QubesDisposableVm.py:        if kwargs.get('start_guid', True) and os.path.exists('/var/run/shm.id'):
qubes-src/gui-daemon/gui-daemon/xside.c:        f = fopen("/var/run/shm.id", "r");
qubes-src/gui-daemon/gui-daemon/xside.c:                    "Missing /var/run/shm.id; run X with preloaded shmoverride\n");
qubes-src/gui-daemon/gui-daemon/xside.c:                    "Invalid or stale shm id 0x%x in /var/run/shm.id\n",
qubes-src/gui-daemon/gui-daemon/xside.h:    uint32_t cmd_shmid;     /* shared memory id - received from shmoverride.so through shm.id file */
qubes-src/gui-daemon/shmoverride/README:(cmd_pages) and writes its shmid to /var/run/shm.id. All instances of
qubes-src/gui-daemon/shmoverride/shmoverride.c:#define SHMID_FILENAME "/var/run/shm.id"
@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Jul 27, 2016

Member

Thanks!
Since we want to release R3.2-rc2 today, it is too late for have it here. But if it will not be the final version (so there will be rc3), we can include it there.

Member

marmarek commented Jul 27, 2016

Thanks!
Since we want to release R3.2-rc2 today, it is too late for have it here. But if it will not be the final version (so there will be rc3), we can include it there.

@jpouellet

This comment has been minimized.

Show comment
Hide comment
@jpouellet

jpouellet Nov 11, 2016

Contributor

Is this ready to be merged?

Contributor

jpouellet commented Nov 11, 2016

Is this ready to be merged?

@marmarek

This comment has been minimized.

Show comment
Hide comment
@marmarek

marmarek Nov 11, 2016

Member

Just merged to master - will be in R4.0. But will not be backported to R3.2.

Member

marmarek commented Nov 11, 2016

Just merged to master - will be in R4.0. But will not be backported to R3.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment