~kennylevinsen/greetd#26: 
agreety and tuigreet mixed with output from systemd

Howdie, firstly, I want to thank you for sharing greetd, it's working very well for me

One minor nuisance is that, when launched by systemd (I'm using Archlinux), I see the last few messages from systemd printed on top of the output from agreety and tuigreet

I think this is caused by greetd.service starting before the rest of my enabled units are finished starting

I have mostly fixed this by overriding the systemd unit for greetd, and wonder if maybe this should be included in the systemd unit file that you provide in this repository:

systemctl edit greetd.service

[Unit]
After=multi-user.target

I do also need to add After=tlp.service, because I see one last output from systemd about that service, but that seems very system-specific

It's possible that including Wants=multi-user.target would more generally solve the sequence issue here, I should investigate

Status
RESOLVED NOT_OUR_BUG
Submitter
~jokeyrhyme
Assigned to
No-one
Submitted
3 months ago
Updated
2 months ago
Labels
No labels applied.

~jokeyrhyme 3 months ago

Okay, I've tested with this and I still get the tlp.service output:

[Unit]
After=multi-user.target
Wants=multi-user.target

I think one other approach might be for terminal greeters to fully redraw themselves, but every terminal greeter would have to implement that (although perhaps it's firmly the responsibility of the frontend and not a greetd backend issue?)

I noticed this is reported over here as well: https://github.com/apognu/tuigreet/issues/17

~jokeyrhyme 3 months ago

Okay, after reading through https://github.com/apognu/tuigreet/issues/17 and https://www.freedesktop.org/software/systemd/man/systemd.service.html#Options , I have found a solution that works for me:

[Unit]
After=multi-user.target

[Service]
Type=idle

~kennylevinsen REPORTED NOT_OUR_BUG 2 months ago

tty1 is usually the console, which is the kernel log and where things like systemd write their messages. No amount of clearing the screen or redraw will stop a future log message from being shown - for reference, greetd clears the screen just before starting the greeter.

Your idle trick does work fine for avoiding most of the messages, but if you want to avoid all risk, either set the console to be a different TTY (this is done on the kernel command line), or run the greeter from e.g. tty2.

Closing as this is just Linux kernel behavior.

Register here or Log in to comment, or comment via email.