Added configure_pipewire.sh
This commit is contained in:
parent
a0de790154
commit
959fecedf9
84
tools/configure_pipewire.sh
Executable file
84
tools/configure_pipewire.sh
Executable file
@ -0,0 +1,84 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script configures pipewire to work both in the graphical environment and in the console with root apps.
|
||||
|
||||
if [[ $(whoami) != "root" ]]; then
|
||||
# Get the current user's XDG_HOME
|
||||
xdgPath="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
mkdir -p "$xdgPath/pipewire/pipewire-pulse.conf.d"
|
||||
|
||||
# Warn user if we are going to overwrite an existing default.pa
|
||||
if [ -f "$xdgPath/pipewire/pipewire-pulse.conf.d/10-console_audio.conf" ]; then
|
||||
read -p "This will replace the current file located at $xdgPath/pipewire/pipewire-pulse.conf.d/10-console_audio.conf, press enter to continue or control+c to abort. " continue
|
||||
fi
|
||||
echo 'context.modules = [
|
||||
{ name = libpipewire-module-protocol-pulse
|
||||
args = {
|
||||
server.address = [
|
||||
"unix:/tmp/pulse.sock"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
context.exec = [
|
||||
{ path = "pactl" args = "load-module module-switch-on-connect" }
|
||||
]' > $xdgPath/pipewire/pipewire-pulse.conf.d/10-console_audio.conf
|
||||
echo "If you have not yet done so, please run this script as root to write the client.conf file."
|
||||
else
|
||||
# This section does the root part:
|
||||
xdgPath="/root/.config"
|
||||
mkdir -p "$xdgPath/pulse"
|
||||
|
||||
# Warn user if we are going to overwrite an existing default.pa
|
||||
if [ -f "$xdgPath/pulse/default.pa" ]; then
|
||||
read -p "This will replace the current file located at $xdgPath/pulse/default.pa, press enter to continue or control+c to abort. " continue
|
||||
fi
|
||||
|
||||
cat << EOF > "$xdgPath/pulse/client.conf"
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
|
||||
## more information. Default values are commented out. Use either ; or # for
|
||||
## commenting.
|
||||
|
||||
; default-sink =
|
||||
; default-source =
|
||||
default-server = unix:/tmp/pulse.sock
|
||||
; default-dbus-server =
|
||||
|
||||
autospawn = no
|
||||
; autospawn = yes
|
||||
; daemon-binary = /usr/bin/pulseaudio
|
||||
; extra-arguments = --log-target=syslog
|
||||
|
||||
; cookie-file =
|
||||
|
||||
; enable-shm = yes
|
||||
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
|
||||
|
||||
; auto-connect-localhost = no
|
||||
; auto-connect-display = no
|
||||
EOF
|
||||
echo "If you have not yet done so, run this script as your normal user to write the user default.pa"
|
||||
fi
|
||||
|
||||
# If there were no errors tell user to restart, else warn them errors happened.
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "Configuration created successfully, please restart Pulseaudio or your system, for changes to take affect."
|
||||
else
|
||||
echo "Errors were encountered whilst writing the configuration, please correct them manually."
|
||||
fi
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user