Skip to main content
Topic: Issues with turnstile (Read 1022 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Issues with turnstile

turnstiled service is shown fine in dinitctl output but it doesn't spawn any dinit instance, there is no dinit process.
/var/log/turnstiled.log is empty.

I have turnstile-dinit, pambase-turnstile, turnstile and some user services installed.

Also sometimes, like 50% of the times,  it makes the machine hang at boot for 1 maybe 2 minutes with some error:

Re: Issues with turnstile

Reply #1
On another machine:
I was using this 2 service fine when launching dinit manually before turnstile:
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

pasystray log:
Code: [Select]
option parsing failed: Cannot open display:

picom log:
Code: [Select]
[ 10/05/23 20:41:34.074 main FATAL ERROR ] Can't open display.
I use fork with experimental features and crash like 4 times per minute.

/var/log/turnstiled.log just states:
Code: [Select]
[  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
dinit: Service pasystray restarting too quickly; stopping.
[STOPPD] pasystray

I have turnstile-dinit, pambase-turnstile, turnstile and some user services installed.
Other services are fine:
Code: [Select]
[[+]     ] boot
[{+}     ] system
[{+}     ] pipewire (pid: 735)
[{+}     ] dbus (pid: 725)
[     {X}] picom (exit status: 1)
[     {X}] pasystray (exit status: 1)
[{+}     ] wireplumber (pid: 737)
[{+}     ] pipewire-pulse (pid: 736)

Re: Issues with turnstile

Reply #2
running services on turnstile/dinitctl is not exporting user environmment variables. for picom's sake, it at least needs thew variable DISPLAY to be set but its not.

Re: Issues with turnstile

Reply #3
Can I fix environment variables somehow?

On one machine turnstile doesn't work at all.

I use this workaround that seems perfect, in the autostart:
Code: [Select]
pkill dinit &
[...]
dinit -u &

 

Re: Issues with turnstile

Reply #4
i am not sure as of how specific variable are derived in user environment. as a workaround run picom as a script, check if DISPLAY is empty, and if it is then set it to DISPLAY=:0 before running picom. again this is just a workaround and may not work in most cases.

Code: [Select]
pkill dinit &
[...]
dinit -u &

using this will make the usage of turnstile unnecessary as this is basically what turnstile do (somewhat but run with a system-service instead).

Re: Issues with turnstile

Reply #5
using this will make the usage of turnstile unnecessary as this is basically what turnstile do (somewhat but run with a system-service instead).

I did that because on one device turnstile doesn't work at all.

I can use that to workaround picom and pasystray (instead of using turnstile) on other device too.

Re: Issues with turnstile

Reply #6
From your screenshot, you're logging in as root. Please note that user session manager is by default disabled for root user.

I do NOT recommend you to use root for daily use for obvious reasons, but if you insist, you need to enable it manually on /etc/turnstile/turnstiled.conf by changing root_session = no to root_session = yes.
now only the dinit guy in artix

Re: Issues with turnstile

Reply #7
That was the problem of dinit not starting there.

Still:
Code: [Select]
[     {X}] picom (exit status: 1)
[     {X}] pasystray (exit status: 1)

It is not a server.

Re: Issues with turnstile

Reply #8
Now "pkill dinit" kills the system init so I use this script.

In case of very slow devices a "sleep 0.5" after may be needed.