Troubleshooting
Common issues and solutions for sysc-greet.
Common issues and solutions for sysc-greet.
Greeter Won't Start
Check greetd Service Status
sudo systemctl status greetdExpected output: Active: active (running)
If inactive, start the service:
sudo systemctl start greetdView greetd Logs
journalctl -u greetd -n 50Look for:
- IPC socket creation errors
- Permission denied errors
- Compositor startup failures
Verify Configuration
Check that greetd config exists at /etc/greetd/config.toml:
cat /etc/greetd/config.tomlExpected content:
[terminal]
vt = 1
[default_session]
command = "niri -c /etc/greetd/niri-greeter-config.kdl"
user = "greeter"IPC Client Errors
"FATAL: Failed to create IPC client"
This error means sysc-greet cannot communicate with greetd.
Causes:
- Running sysc-greet directly without greetd (not in production mode)
GREETD_SOCKenvironment variable not set- greetd socket doesn't exist
Solutions:
-
Verify greetd is running:
sudo systemctl status greetd -
Check if socket exists:
ls -la /run/greetd/ -
Test with greetd directly:
sudo -u greeter sysc-greet
Wallpaper Issues
gSlapper Not Working
Check gSlapper status:
ps aux | grep gslapperView gSlapper debug log:
cat /tmp/sysc-greet-wallpaper.logVerify compositor config starts gSlapper:
# For niri
cat /etc/greetd/niri-greeter-config.kdl
# For cagebreak
cat /etc/greetd/cagebreak-greeter-config
# For sway
cat /etc/greetd/sway-greeter-config
# For mango
cat /etc/greetd/mango-greeter-config.conf
# For Hyprland 0.55+
cat /etc/greetd/hyprland-greeter-config.luaLook for gSlapper startup command.
Install gSlapper if missing:
# Arch Linux
sudo pacman -S gslapper
# Build from source
git clone https://github.com/Nomadcxx/gSlapper
cd gSlapper
make
sudo make installWallpapers Not Appearing
Check for themed wallpapers:
ls -la /usr/share/sysc-greet/wallpapers/Ensure sysc-greet-{theme}.png files exist for your selected theme.
Check permissions:
ls -la /var/lib/greeter/Pictures/wallpapers/
sudo chown -R greeter:greeter /var/lib/greeter/Pictures/wallpapers/Compositor Issues
Screen Remains Black
Check compositor logs:
Compositors run as user processes, not systemd services. Check greetd logs which include compositor output:
journalctl -u greetd -n 50For compositor-specific debugging, check their log files or stderr output in greetd logs.
Verify compositor config syntax:
# Test niri config
niri -c /etc/greetd/niri-greeter-config.kdl --check
# Check Hyprland 0.55+ Lua config syntax
luac -p /etc/greetd/hyprland-greeter-config.luaCagebreak has no syntax-check flag. Run it from a TTY to see parse errors — a bad config makes it exit immediately, so greetd relaunches the greeter in a loop:
cagebreak -e -c /etc/greetd/cagebreak-greeter-configStuck at a black screen after login (cagebreak): verify socat is installed. Without it the compositor never quits and greetd waits forever.
Check the mango greeter config (unknown keys fail the parse):
mango -c /etc/greetd/mango-greeter-config.conf -pStuck at a black screen after login (mango): verify mmsg is installed (it ships with mangowm) and /etc/greetd/mango-greeter-session.sh is executable.
Kitty Terminal Issues
If kitty doesn't start:
# Check kitty config exists
cat /etc/greetd/kitty.conf
# Test kitty independently
kitty --start-as=fullscreen --config /etc/greetd/kitty.conf sysc-greet --testThe greeter config disables kitty's keyboard shortcuts and mouse actions. sysc-greet still receives keyboard input and mouse events.
An upgrade needs the updated kitty and compositor configs as well as the binary. If your package manager keeps a modified config, merge the changes while preserving your keyboard layout. The kitty config needs clear_all_shortcuts yes, clear_all_mouse_actions yes and allow_remote_control no. Compositor launches should use XDG_CACHE_HOME=/var/lib/greeter/.cache. Void packages use /etc/greetd/sysc-greet/ and /var/lib/_greeter/ instead.
Debug Mode
sysc-greet opens a debug log only with --debug:
sysc-greet --test --debugView the log under the home directory of the account running sysc-greet:
cat "$HOME/.cache/sysc-greet/debug.log"The production greeter uses the greeter account's home. If sysc-greet cannot open that log, it tries /tmp/sysc-greet-debug.log with the same private-file checks.
Debug logs append and can contain usernames and session details. Remove old logs if you no longer need them; disabling debug mode leaves existing files intact.
Debug logs include:
- Key press events
- Mode transitions
- Animation state changes
- IPC communication
- Wallpaper commands
Cache Issues
If preferences aren't being saved:
# Check cache directory exists and has correct permissions
ls -la /var/cache/sysc-greet/
sudo chown -R greeter:greeter /var/cache/sysc-greet/
sudo chmod 755 /var/cache/sysc-greet/Clear cache if needed:
sudo rm -rf /var/cache/sysc-greet/*Getting Help
For unresolved issues:
- Check existing GitHub Issues
- Enable debug mode and collect logs
- Review Architecture Documentation
- Check greetd documentation: https://git.sr.ht/~kennylevinsen/greetd/
