Summary: | sys-auth/elogind: make daemon installation optional (was: sys-auth/seatd[elogind] should not install the entire elogind package) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Cavernosa <cvrns> |
Component: | Current packages | Assignee: | Andreas Sturmlechner <asturm> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | arthurzam, contact, gentoo, jstein, kensington, proxy-maint, slashbeast |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Cavernosa
2022-11-01 02:33:05 UTC
(In reply to Cavernosa from comment #0) > sys-auth/seatd with USE="elogind" should only require the elogind libs, not > the entire elogind. Why would this be beneficial? I doubt that more divergence with upstream logind is worthwhile. What's the issue with the init script? (In reply to Sam James from comment #2) > What's the issue with the init script? There is an initscript in /usr/share/dbus-1/system-services/ which starts elogind-daemon when something needs it, ignoring that seatd is already running. Which makes seatd pretty useless at that point. Actually I deleted that dbus initscript manually and elogind-daemon no longer starts automatically but seatd still doesn't work with libelogind, can't open X.org... but with elogind-daemon it works. :/ (In reply to Matt Turner from comment #1) > Why would this be beneficial? I guess it would be easier to use seatd with libelogind instead of elogind-daemon. Because right now I have to manually patch elogind-daemon to make seatd with libelogind run without elogind-daemon just running on top of it. (In reply to Cavernosa from comment #3) > Actually I deleted that dbus initscript manually and elogind-daemon no > longer starts automatically but seatd still doesn't work with libelogind, > can't open X.org... but with elogind-daemon it works. :/ If you removing the dbus service does not fix your issue, I doubt that ebuild does not installing it in first place would yield any different results too. As far as Xorg is concerned, what elogind does is assigning you permissions in /dev to input devices and gpu and tty, as well as some other external devices like disk drives, if such exist. The seatd does not seems to do either, so you'd need to grant the permissions yourself I suspect. I'd be okay with adding 'minimal' IUSE flag that would install only library and not daemon and dbus service, but you'd need to help get this operational with seatd to make it worthwhile. Then seatd users can setup this flag on elogind and do not ran into clash of logind interface. (In reply to Piotr Karbowski from comment #4) > (In reply to Cavernosa from comment #3) > > Actually I deleted that dbus initscript manually and elogind-daemon no > > longer starts automatically but seatd still doesn't work with libelogind, > > can't open X.org... but with elogind-daemon it works. :/ > > If you removing the dbus service does not fix your issue, I doubt that > ebuild does not installing it in first place would yield any different > results too. Yeah, there's 2 issues. elogind-daemon spawning on top of seatd, and seatd not working. > As far as Xorg is concerned, what elogind does is assigning you permissions > in /dev to input devices and gpu and tty, as well as some other external > devices like disk drives, if such exist. The seatd does not seems to do > either, so you'd need to grant the permissions yourself I suspect. You mean the groups right? I added myself to video and input but it still doesn't work, it gives fatal error "Cannot open /dev/tty0 (Permission denied)" I tried to add myself to tty group but then it gives a different error "Cannot open virtual console 7 (Permission denied)" Weird because my Artix system works flawlessly with the same configuration. > I'd be okay with adding 'minimal' IUSE flag that would install only library and not > daemon and dbus service, but you'd need to help get this operational with seatd to make > it worthwhile. Then seatd users can setup this flag on elogind and do not ran into clash > of logind interface. I'm fine with that. Historically Xorg running as root were opening /dev/tty7 and above and starting X there, with root-less X we use the login tty, and elogind or systemd-logind grants the ownership of $TTY. This is via the PAM integration with elogind via sys-auth/pambase[elogind]. For more information see https://wiki.gentoo.org/wiki/Non_root_Xorg I think you should resolve your seatd-rootless-X in separated bug, and then poke this one once you get it figured out, if you can get it working, we can then get minimal IUSE added here, otherwise I do not consider it to be elogind problem if seatd do not work with its interfaces, since the actual elogind works flawlessly. |