Skip to main content
Topic: dinit-userservd doesn't spawn user dinit (Read 2651 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: dinit-userservd doesn't spawn user dinit

Reply #15
Please note that dinit-userservd has never been supported, and the "Artix fork" of it has been unmaintained for some time. However, turnstile nowadays is practically distro-neutral and has distro interoperability as its priority.

Hence, to make it easier for all interested users to try it (and also that I actually am using it right now to test it), I've added all turnstile-related packages along with some example services (dbus, pipewire, wireplumber, mpd) that actually works in my case to the [galaxy] repo under the turnstile-experimental group, so you would need to enable it in /etc/pacman.conf. I hope the addition becomes a useful data point for turnstile developers for bugs, quirks, and whatnot. Also, if possible (albeit unrelated to dinit), I hope it gets another service manager backend (such as s6).

Please note that this does not mean I'm officially supporting turnstile (yet, at least).
now only the dinit guy in artix

Re: dinit-userservd doesn't spawn user dinit

Reply #16
Please note that dinit-userservd has never been supported, and the "Artix fork" of it has been unmaintained for some time. However, turnstile nowadays is practically distro-neutral and has distro interoperability as its priority.

Hence, to make it easier for all interested users to try it (and also that I actually am using it right now to test it), I've added all turnstile-related packages along with some example services (dbus, pipewire, wireplumber, mpd) that actually works in my case to the [galaxy] repo under the turnstile-experimental group, so you would need to enable it in /etc/pacman.conf. I hope the addition becomes a useful data point for turnstile developers for bugs, quirks, and whatnot. Also, if possible (albeit unrelated to dinit), I hope it gets another service manager backend (such as s6).

Please note that this does not mean I'm officially supporting turnstile (yet, at least).

thanks. just did a quick test (installed and enabled turnstile-experimental and all modules) and session appears to be working fine after login/logout and login back.

Re: dinit-userservd doesn't spawn user dinit

Reply #17
Since turnstile-0.1.8-3, the system dinit service of turnstile has been separated from the turnstile main package (it should be on turnstile-dinit now), you will need to install it separately.

Also, because turnstile is primarily concerned with user services, there's no reason to restrict turnstile to depend on dinit, preventing users with other init systems to try it. Therefore all user service packages and turnstile itself will only depend on dinit-base so you would only need the dinit binaries (also the fact that dinit is the only turnstile backend, for now).

On an aside note (albeit unrelated to dinit), turnstile-openrc package has been added to galaxy so users with OpenRC as their init system can try it.
now only the dinit guy in artix

Re: dinit-userservd doesn't spawn user dinit

Reply #18
I installed turnstile, enabled the service and rebooted.

User dinit cannot conncet to the socket, there is no dinit process at all, but dinitctl shows it fine:
Code: [Select]
[{+}     ] turnstiled (pid: 579)

Re: dinit-userservd doesn't spawn user dinit

Reply #19
I installed turnstile, enabled the service and rebooted.

User dinit cannot conncet to the socket, there is no dinit process at all, but dinitctl shows it fine:
Code: [Select]
[{+}     ] turnstiled (pid: 579)


Have you set the PAM config? Either install pambase-turnstile or edit /etc/pam.d/system-login directly.
now only the dinit guy in artix

Re: dinit-userservd doesn't spawn user dinit

Reply #20
I now installed pambase-turnstile and it is as before.
I also rebooted.

Re: dinit-userservd doesn't spawn user dinit

Reply #21
What's the output of these commands?
$ cat /etc/pam.d/system-login
# cat /var/log/turnstiled.log
now only the dinit guy in artix

Re: dinit-userservd doesn't spawn user dinit

Reply #22
turnstile-0.1.8-3 works fine on my end. no real complains for now. will probably soon move my user-daemons there and others...

Re: dinit-userservd doesn't spawn user dinit

Reply #23
I was using turnstile-0.1.8-2, now I updated to turnstile-0.1.8-3.
There is a problem with some KDE things that prevented me to update:
Code: [Select]
:: Starting full system upgrade...
[...]
:: knotifications5 and knotifications are in conflict. Remove knotifications? [y/N] y
:: kwindowsystem5 and kwindowsystem are in conflict. Remove kwindowsystem? [y/N] y
:: kconfig5 and kconfig are in conflict. Remove kconfig? [y/N]

It works as dinit-userserv the same service that normally works are now failing.
Does it need to run dbus service? I am using instead "exec dbus-launch --exit-with-session bspwm".


Code: [Select]
  cat /etc/pam.d/system-login
#%PAM-1.0

auth       required   pam_shells.so
auth       requisite  pam_nologin.so
auth       include    system-auth

account    required   pam_access.so
account    required   pam_nologin.so
account    include    system-auth

password   include    system-auth

session    optional   pam_loginuid.so
session    optional   pam_keyinit.so       force revoke
session    include    system-auth
session    optional   pam_motd.so
session    optional   pam_mail.so          dir=/var/spool/mail standard quiet
session    optional   pam_umask.so
-session   optional   pam_turnstile.so
-session   optional   pam_elogind.so
session    required   pam_env.so           user_readenv=1
-session    optional   pam_rundir.so

Code: [Select]
cat /var/log/turnstiled.log
srv: pam_close_session: Cannot make/remove an entry for the specified sessiondinit: In multiple cgroups, cannot determine cgroup root path
dinit: Could not open dependency directory '/usr/lib/dinit.d/user/boot.d' for system service.
[  OK  ] system
[  OK  ] picom
[  OK  ] pipewire.user
[  OK  ] pasystray
[  OK  ] pipewire-pulse.user
[  OK  ] wireplumber.user
[  OK  ] boot
Service 'boot' started.
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
[  OK  ] pasystray
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
[  OK  ] pasystray
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
dinit: Service wireplumber.user process terminated with exit code 70
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
dinit: Service picom restarting too quickly; stopping.
[STOPPD] picom
[  OK  ] pasystray
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user restarting too quickly; stopping.
dinit: Service wireplumber.user restarting too quickly; stopping.
[STOPPD] wireplumber.user
dinit: Service pasystray process terminated with exit code 1
dinit: Service pasystray restarting too quickly; stopping.
[STOPPD] pasystray
[  OK  ] wireplumber.user
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user restarting too quickly; stopping.
dinit: Service wireplumber.user restarting too quickly; stopping.
[STOPPD] wireplumber.user
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
dinit: Service picom restarting too quickly; stopping.
[STOPPD] picom
[  OK  ] pasystray
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
[  OK  ] pasystray
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
[  OK  ] pasystray
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
[  OK  ] pasystray
dinit: Service pasystray process terminated with exit code 1
dinit: Service pasystray restarting too quickly; stopping.
[STOPPD] pasystray
[STOPPD] boot
[STOPPD] system
[STOPPD] pipewire.user
[STOPPD] pipewire-pulse.user
dinit: In multiple cgroups, cannot determine cgroup root path
dinit: Could not open dependency directory '/usr/lib/dinit.d/user/boot.d' for system service.
[  OK  ] system
[  OK  ] pipewire.user
[  OK  ] pasystray
[  OK  ] picom
[  OK  ] pipewire-pulse.user
[  OK  ] wireplumber.user
[  OK  ] boot
Service 'boot' started.
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
[  OK  ] picom
[  OK  ] pasystray
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user process terminated with exit code 70
[  OK  ] picom
[  OK  ] pasystray
dinit: Service picom process terminated with exit code 1
[STOPPD] picom
dinit: Service pasystray process terminated with exit code 1
[STOPPD] pasystray
dinit: Service wireplumber.user process terminated with exit code 70
[  OK  ] pasystray
[  OK  ] picom
dinit: Service picom process terminated with exit code 1
dinit: Service picom restarting too quickly; stopping.
[STOPPD] picom
dinit: Service pasystray process terminated with exit code 1
dinit: Service pasystray restarting too quickly; stopping.
[STOPPD] pasystray
dinit: Service wireplumber.user process terminated with exit code 70
dinit: Service wireplumber.user restarting too quickly; stopping.
dinit: Service wireplumber.user restarting too quickly; stopping.
[STOPPD] wireplumber.user
[STOPPD] boot
[STOPPD] system
[STOPPD] pipewire-pulse.user
[STOPPD] pipewire.user

Re: dinit-userservd doesn't spawn user dinit

Reply #24
I was using turnstile-0.1.8-2, now I updated to turnstile-0.1.8-3.
There is a problem with some KDE things that prevented me to update:
Code: [Select]
:: Starting full system upgrade...
[...]
:: knotifications5 and knotifications are in conflict. Remove knotifications? [y/N] y
:: kwindowsystem5 and kwindowsystem are in conflict. Remove kwindowsystem? [y/N] y
:: kconfig5 and kconfig are in conflict. Remove kconfig? [y/N]

It works as dinit-userserv the same service that normally works are now failing.
Does it need to run dbus service? I am using instead "exec dbus-launch --exit-with-session bspwm".


Re: KDE things, try again. We just updated a bunch of its packages and it might take a while until it reaches your mirror.

Do you have turnstiled system service enabled? From your turnstile log that looks like the turnstiled service isn't enabled at all.

Also, dbus, pipewire{,-pulse}, and wireplumber, have dinit user service package in [galaxy], you can use it and enable them instead of making your own (from your logs it looks like you made your own pipewire/wireplumber service). (Also the dbus user service package eliminates the need to use dbus-launch, you should be able to just startx).
now only the dinit guy in artix

Re: dinit-userservd doesn't spawn user dinit

Reply #25
I just tried KDE packages still as before.
Did Arch renamed k... to k...5 maybe?

As I said before I enabled the service:
Code: [Select]
[{+}     ] turnstiled (pid: 579)
I use tinydm that uses autologin under the hood.

I am now using the services from galaxy, do you need to copy them in ~/.config/dinit/? I did that.

Can't use picom and pasystray:
Code: [Select]
[[+]     ] boot
[{+}     ] system
[{+}     ] pipewire (pid: 594)
[{+}     ] dbus (pid: 584)
[     {X}] picom (exit status: 1)
[     {X}] pasystray (exit status: 1)
[{+}     ] wireplumber (pid: 596)
[{+}     ] pipewire-pulse (pid: 595)

Still no picomn log I think it is as before, related to the display as pasystray, latter's log is as before:
Code: [Select]
option parsing failed: Cannot open display: 

And I can't use epiphany not sure if it is related to dbus:
Code: [Select]
(epiphany:3469): libenchant-WARNING **: 21:49:58.636: Error loading plugin: libvoikko.so.1: cannot open shared object file: No such file or directory

src/nv_gbm.c:99: GBM-DRV error (nv_gbm_bo_create): DRM_IOCTL_NVIDIA_GEM_ALLOC_NVKMS_MEMORY failed (ret=-1)

Failed to create GBM buffer of size 1952x888: Invalid argument
src/nv_gbm.c:99: GBM-DRV error (nv_gbm_bo_create): DRM_IOCTL_NVIDIA_GEM_ALLOC_NVKMS_MEMORY failed (ret=-1)

Failed to create GBM buffer of size 1952x888: Invalid argument
src/nv_gbm.c:99: GBM-DRV error (nv_gbm_bo_create): DRM_IOCTL_NVIDIA_GEM_ALLOC_NVKMS_MEMORY failed (ret=-1)

Failed to create GBM buffer of size 1952x888: Invalid argument
Failed to create EGL images for DMABufs with file descriptors -1, -1 and -1


Re: dinit-userservd doesn't spawn user dinit

Reply #26
is you picom and pasystray service files even have logging enabled? and is the binary itself run with verbose/debug options?

Re: dinit-userservd doesn't spawn user dinit

Reply #27
Code: [Select]
type = process
command = picom
logfile = $HOME/.local/share/dinit/picom.log
restart = true

type = process
command = pasystray --notify=all
logfile = $HOME/.local/share/dinit/pasystray.log
restart = true

I can launch them manually fine.
They used to work before.
picom log:
Code: [Select]
[ 10/05/23 20:41:34.074 main FATAL ERROR ] Can't open display.

I checked epiphany again I can't use it also when starting dbus differently.
Some time ago I was using since a problem with librewolf but recently I never used it.

Very nice to have user dinit instance spawned automatically and dbus service I don't need anymore the wrapper to start bspwm.