Hello Elegos!
Full disclosure, I am very new Linux user and have been tooling around with various distros to find what works for my system. I am also not at all technically gifted in coding. As such, when i ran into repeated issues trying to get this app working, i poured many hours into Gemini and seem to have found an error that I wanted to share with you. I tried to sufficiently prompt and craft this report to give you the full context of my situation. If it makes sense to you, I hope it helps! Thank you for putting together this app and for making my experience with Linux even better! 💃
I am reporting a path mismatch in the distrobox.sh installation script that prevents the lam-daemon from starting on immutable operating systems. While the script correctly exports the binaries to the user's local path, the generated systemd service file still points to a non-existent root directory path.
This issue was identified and resolved through a collaborative troubleshooting session with Google Gemini.
Environment:
OS: Bazzite Linux (GNOME Edition)
Architecture: Immutable / Atomic (rpm-ostree)
Installation Method: Official distrobox.sh develop script
Device: SteelSeries Arctis Nova Pro Wireless Headset
The Problem:
After running the installer, systemctl --user status lam-daemon.service returns:
Main PID: XXXXX (code=exited, status=203/EXEC)
Process: XXXXX ExecStart=/usr/bin/lam-daemon (code=exited, status=203/EXEC)
The script successfully places the binary in ~/.local/bin/lam-daemon, but the systemd service file is hardcoded to look in /usr/bin/lam-daemon. Since /usr/bin/ is read-only on Bazzite, the file does not exist there, causing an infinite crash/restart loop and desktop notification spam.
The Solution (Workaround):
We successfully restored functionality by creating a systemd drop-in override to point the service to the correct local binary:
Bash
Create the override directory
mkdir -p ~/.config/systemd/user/lam-daemon.service.d
Inject the correct path
echo -e "[Service]\nExecStart=\nExecStart=$HOME/.local/bin/lam-daemon" > ~/.config/systemd/user/lam-daemon.service.d/override.conf
Reload and restart
systemctl --user daemon-reload
systemctl --user restart lam-daemon.service
Suggested Fix for distrobox.sh:
The script should be updated to ensure that when exporting the lam-daemon.service to the host, the ExecStart path is dynamically set to the user's local bin directory (e.g., using $HOME/.local/bin/lam-daemon or the systemd variable %h/.local/bin/lam-daemon) rather than the standard /usr/bin/ path.
Hello Elegos!
Full disclosure, I am very new Linux user and have been tooling around with various distros to find what works for my system. I am also not at all technically gifted in coding. As such, when i ran into repeated issues trying to get this app working, i poured many hours into Gemini and seem to have found an error that I wanted to share with you. I tried to sufficiently prompt and craft this report to give you the full context of my situation. If it makes sense to you, I hope it helps! Thank you for putting together this app and for making my experience with Linux even better! 💃
I am reporting a path mismatch in the distrobox.sh installation script that prevents the lam-daemon from starting on immutable operating systems. While the script correctly exports the binaries to the user's local path, the generated systemd service file still points to a non-existent root directory path.
This issue was identified and resolved through a collaborative troubleshooting session with Google Gemini.
Environment:
The Problem:
After running the installer, systemctl --user status lam-daemon.service returns:
Main PID: XXXXX (code=exited, status=203/EXEC)
Process: XXXXX ExecStart=/usr/bin/lam-daemon (code=exited, status=203/EXEC)
The script successfully places the binary in ~/.local/bin/lam-daemon, but the systemd service file is hardcoded to look in /usr/bin/lam-daemon. Since /usr/bin/ is read-only on Bazzite, the file does not exist there, causing an infinite crash/restart loop and desktop notification spam.
The Solution (Workaround):
We successfully restored functionality by creating a systemd drop-in override to point the service to the correct local binary:
Bash
Create the override directory
mkdir -p ~/.config/systemd/user/lam-daemon.service.d
Inject the correct path
echo -e "[Service]\nExecStart=\nExecStart=$HOME/.local/bin/lam-daemon" > ~/.config/systemd/user/lam-daemon.service.d/override.conf
Reload and restart
systemctl --user daemon-reload
systemctl --user restart lam-daemon.service
Suggested Fix for distrobox.sh:
The script should be updated to ensure that when exporting the lam-daemon.service to the host, the ExecStart path is dynamically set to the user's local bin directory (e.g., using $HOME/.local/bin/lam-daemon or the systemd variable %h/.local/bin/lam-daemon) rather than the standard /usr/bin/ path.