You are not logged in.
Hi everyone, I'm very new to arch and I've been having some annoying issues with greetd.
This has taken me on a huge rabbit hole.
A stock install of greetd and agreety with
pacman -S greetd && systemctl enable greetd results in this on tty0 at startup:
How can I find out what is wrong with greetd or agreety and fix it?
I am also running arch with the t2 linux kernel on a Macbook Pro 2018 installed using the latest t2 archiso, in case that could be a problem.
Checking journalctl with
journalctl -b | grep greetdresults in:
Jun 06 17:40:18 LAPTOP greetd[659]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: false }, general: ConfigGeneral { source_profile: true, runfile: "/run/greetd.run", service: "greetd" }, default_session: ConfigSession { command: "", user: "", service: "" }, initial_session: None }, internal: ConfigInternal { session_worker: 12 } }
Jun 06 17:40:28 LAPTOP greetd[659]: pam_unix(greetd:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= user=Albert
Jun 06 17:40:30 LAPTOP greetd[659]: error: authentication error: pam_authenticate: AUTH_ERR
Jun 06 17:40:30 LAPTOP greetd[557]: client loop failed: i/o error: Broken pipe (os error 32)
Jun 06 17:40:33 LAPTOP greetd[685]: config: Config { file: ConfigFile { terminal: ConfigTerminal { vt: None, switch: false }, general: ConfigGeneral { source_profile: true, runfile: "/run/greetd.run", service: "greetd" }, default_session: ConfigSession { command: "", user: "", service: "" }, initial_session: None }, internal: ConfigInternal { session_worker: 12 } }
Jun 06 17:40:38 LAPTOP greetd[559]: pam_unix(greetd:session): session closed for user greeter
Jun 06 17:40:38 LAPTOP greetd[685]: pam_unix(greetd:session): session opened for user Albert(uid=1000) by Albert(uid=0)
I think agreety is not being run, and then agetty is instead? I tried disabling getty@tty1, no luck.
I also thought it might be to do with PAM, but i have no idea where to even start with that, here is /etc/pam.d/greetd:
#%PAM-1.0
auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
account include system-local-login
session include system-local-login
I'm completely stumped. Any help is really appreciated, if anyone wants to see more logs please do let me know.
Last edited by Kalinovka (2024-06-06 23:11:38)
“Trying is the first step toward failure.” —Homer J Simpson, The Simpsons
Offline
Okay I solved it finally...
So I'm pretty sure it was agetty and greetd being run at the same time, but I thought that since greetd.service looks like this:
[Albert@LAPTOP ~]$ cat /usr/lib/systemd/system/greetd.service
[Unit]
Description=Greeter daemon
After=systemd-user-sessions.service plymouth-quit-wait.service
After=getty@tty1.service
Conflicts=getty@tty1.service[Service]
Type=simple
ExecStart=greetd
IgnoreSIGPIPE=no
SendSIGHUP=yes
TimeoutStopSec=30s
KeyringMode=shared
Restart=always
RestartSec=1
StartLimitBurst=5
StartLimitInterval=30[Install]
Alias=display-manager.service
The After=getty@tty1 would force getty to run, and then Conflicts=getty@tty1 would stop getty and start greetd.
For some reason this didn't happen, but the solution for me was to create another drop in file and delay the service for greetd using
systemctl edit greetdHere is the drop in file:
[Service]
ExecStartPre=/bin/sleep 0.2
By delaying the service, it seems to fix the problem entirely, my hypothesis is that both agetty and greetd ran and exactly the same time?
I'll find a way to mark this as solved/fixed, but could anyone give a suggestion as to why this behaviour occurs?
Last edited by Kalinovka (2024-06-06 23:09:25)
“Trying is the first step toward failure.” —Homer J Simpson, The Simpsons
Offline