From 74339ff6b3f5156bee3182c2eff5f0c3fafb99ab Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Tue, 4 Dec 2018 17:04:01 +0100 Subject: [run-virt] Linsux scripts: Sound: alsa tested as poss., polished --- .../vmchooser/data/linux/includes/70_mutesound.inc | 60 ++++++++++++---------- 1 file changed, 32 insertions(+), 28 deletions(-) (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/data/linux') diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc index 542b50d7..bba384bd 100644 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc @@ -6,24 +6,25 @@ local AMIXER=$(which amixer) local SYSTEM=alsa local PACTLERR local AMIXERERR +local time -if [[ -z "$AMIXER" && -z "$PACTL" ]]; then +if [[ -z "${AMIXER}" && -z "${PACTL}" ]]; then logger "openslx sound muter: Neither pactl (pulseaudio) nor amixer (alsa) found. Exiting." return 1 fi -if [ -n "$PACTL" ]; then +if [ -n "${PACTL}" ]; then SYSTEM=pulse logger "openslx sound muter: pulseaudio seems to be installed..." - x=2 - # while [ $(su -c "pulseaudio --check" "$LOCALUSER") ]; do + time=2 + # while [ $(su -c "pulseaudio --check" "${LOCALUSER}") ]; do while [ -z "$(ps aux|grep /pulseaudio|grep -v grep)" ]; do if [ "$x" -gt 30 ]; then - logger "openslx sound muter: Waited $x sec for pulseaudio, giving up." + logger "openslx sound muter: Waited ${time} sec for pulseaudio, giving up." break fi - sleep $x; x=$((x + 2)) + sleep ${time}; time=$((time + 2)) logger "openslx sound muter: Waited $x seconds for pulseaudio..." done else @@ -36,41 +37,44 @@ fi # a command works within different distributions, esp. alsamixer commands # tend to successfully mute but not unmute. So we (at this stage) just # hammer known commands through - one will work, hopefully. -case $MUTESOUND in 0) - logger "openslx sound muter: Unmuting sound, using $SYSTEM." +case "${MUTESOUND}" in 0) + logger "openslx sound muter: Unmuting sound, using ${SYSTEM}." case $SYSTEM in pulse) - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$PACTL set-sink-mute 0 0" "$LOCALUSER" + XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "${PACTL} set-sink-mute 0 0" "${LOCALUSER}" PACTLMUTEERR=$? - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$AMIXER -q -D pulse sset Master unmute" "$LOCALUSER" + XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "${AMIXER} -q -D pulse sset Master unmute" "${LOCALUSER}" AMIXERMUTEERR=$? - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$PACTL set-sink-volume 0 100%" "$LOCALUSER" + XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "${PACTL} set-sink-volume 0 ${SOUNDVOL}" "${LOCALUSER}" PACTLVOLERR=$? - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$AMIXER -D pulse sset Master 100%" "$LOCALUSER" + XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "${AMIXER} -D pulse sset Master ${SOUNDVOL}" "${LOCALUSER}" PACTLVOLERR=$? - logger "openslx sound muter: Sound hopefully unmuted, pactl: $PACTLMUTEERR, amixer: $AMIXERMUTEERR." - logger "openslx sound muter: Volume set, pactl: $PACTLVOLERR, amixer: $AMIXERVOLERR." + logger "openslx sound muter: Sound hopefully unmuted, pactl: ${PACTLMUTEERR}, amixer: ${AMIXERMUTEERR}." + logger "openslx sound muter: Volume set, pactl: ${PACTLVOLERR}, amixer: $AMIXERVOLERR}." ;; - alsa) "$AMIXER set Master unmute" - AMIXERERR=$? - logger "openslx sound muter: Sound hopefully unmuted, amixer: $AMIXERERR." + alsa) "${AMIXER} set Master unmute" + AMIXERMUTEERR=$? + "${AMIXER} set Master ${SOUNDVOL}" + AMIXERVOLERR=$? + logger "openslx sound muter: Sound hopefully unmuted, amixer: ${AMIXERMUTEERR}." + logger "openslx sound muter: Volume set, amixer: ${AMIXERVOLERR}." ;; esac ;; 1) - logger "openslx sound muter: Muting sound, using $SYSTEM" - case $SYSTEM in pulse) - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$PACTL set-sink-mute 0 1" "$LOCALUSER" - PACTLERR=$? - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$AMIXER -q -D pulse sset Master mute" "$LOCALUSER" - AMIXERERR=$? - logger "openslx sound muter: Sound hopefully unmuted, pactl: $PACTLERR, amixer: $AMIXERERR." + logger "openslx sound muter: Muting sound, using ${SYSTEM}" + case "${SYSTEM}" in pulse) + XDG_RUNTIME_DIR=/run/user/$(id -u ${LOCALUSER}) su -c "${PACTL} set-sink-mute 0 1" "${LOCALUSER}" + PACTLMUTEERR=$? + XDG_RUNTIME_DIR=/run/user/$(id -u ${LOCALUSER}) su -c "${AMIXER} -q -D pulse sset Master mute" "${LOCALUSER}" + AMIXERMUTEERR=$? + logger "openslx sound muter: Sound hopefully unmuted, pactl: ${PACTLMUTEERR}, amixer: ${AMIXERVOLERR}." ;; - alsa) "$AMIXER" set Master mute - AMIXERERR=$? - logger "openslx sound muter: Sound hopefully unmuted, amixer: $AMIXERERR." + alsa) "${AMIXER}" set Master mute + AMIXERMUTEERR=$? + logger "openslx sound muter: Sound hopefully unmuted, amixer: ${AMIXERMUTEERR}." ;; esac ;; - *) logger "openslx sound muter: Unknown muteSound option $MUTESOUND" + *) logger "openslx sound muter: Unknown muteSound option ${MUTESOUND}." ;; esac logger "openslx sound muter: end." -- cgit v1.2.3-55-g7522