Boot fixes, scratch windows
This commit is contained in:
parent
8aa1f8a8a6
commit
d3de780583
9 changed files with 740 additions and 0 deletions
64
config/mpd/rc.mpd
Executable file
64
config/mpd/rc.mpd
Executable file
|
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
# rc.mpd - Music Player Daemon for Slackware
|
||||
# Only starts if /mnt/media is mounted (NFS share must be available)
|
||||
|
||||
MPD=/usr/bin/mpd
|
||||
CONF=/home/green/.config/mpd/mpd.conf
|
||||
PIDFILE=/var/run/mpd/mpd.pid
|
||||
|
||||
start() {
|
||||
if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then
|
||||
echo "mpd is already running"
|
||||
return
|
||||
fi
|
||||
echo "Starting mpd..."
|
||||
mkdir -p /var/run/mpd
|
||||
chown green:users /var/run/mpd
|
||||
# Ensure user runtime dir exists (normally created by pam_systemd on login,
|
||||
# but we start before login so we create it manually)
|
||||
mkdir -p /run/user/1000
|
||||
chown green:users /run/user/1000
|
||||
chmod 700 /run/user/1000
|
||||
# Wait for Tailscale to have connectivity to tower specifically
|
||||
echo "Waiting for Tailscale connectivity to tower..."
|
||||
for i in $(seq 1 30); do
|
||||
tailscale ping --c 1 100.73.64.64 &>/dev/null && break
|
||||
sleep 1
|
||||
done
|
||||
# Now trigger autofs mount
|
||||
echo "Waiting for /mnt/media/Music..."
|
||||
for i in $(seq 1 15); do
|
||||
ls /mnt/media/Music &>/dev/null && break
|
||||
sleep 1
|
||||
done
|
||||
if ! ls /mnt/media/Music &>/dev/null; then
|
||||
echo "WARNING: /mnt/media/Music not accessible after wait, starting MPD anyway"
|
||||
fi
|
||||
sudo -u green XDG_RUNTIME_DIR=/run/user/1000 $MPD $CONF
|
||||
echo "mpd started"
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then
|
||||
echo "Stopping mpd..."
|
||||
sudo -u green $MPD --kill $CONF
|
||||
else
|
||||
echo "mpd is not running"
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then
|
||||
echo "mpd is running (pid $(cat $PIDFILE))"
|
||||
else
|
||||
echo "mpd is not running"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start) start ;;
|
||||
stop) stop ;;
|
||||
restart) stop; sleep 1; start ;;
|
||||
status) status ;;
|
||||
*) echo "Usage: $0 {start|stop|restart|status}" ;;
|
||||
esac
|
||||
Loading…
Add table
Add a link
Reference in a new issue