28 lines
858 B
Bash
28 lines
858 B
Bash
#!/bin/sh
|
|
|
|
# we must exit if cinnamon desktop detected
|
|
if [ "$XDG_CURRENT_DESKTOP" == "X-Cinnamon" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# We need to kill any existing pipewire instance to restore sound
|
|
pkill -u "${USER}" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1
|
|
pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1
|
|
pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1
|
|
pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1
|
|
|
|
exec /usr/bin/pipewire &
|
|
|
|
# wait for pipewire to start before attempting to start related daemons
|
|
while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do
|
|
sleep 1
|
|
done
|
|
|
|
if [ -x /usr/bin/wireplumber ]; then
|
|
exec /usr/bin/wireplumber &
|
|
elif [ -x /usr/bin/pipewire-media-session ]; then
|
|
exec /usr/bin/pipewire-media-session &
|
|
fi
|
|
|
|
[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire-pulse &
|