diff options
author | Christian Rößler | 2018-12-04 15:44:45 +0100 |
---|---|---|
committer | Christian Rößler | 2018-12-04 15:44:45 +0100 |
commit | 2f54068fa1a4c4c17ea47eb987df213370707bca (patch) | |
tree | 035cf6f5b834c67dd6b963c090f3df19a100de5a /core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc | |
parent | [run-virt] Linux scripts sound mute - aaaargh bug fixed. (diff) | |
download | mltk-2f54068fa1a4c4c17ea47eb987df213370707bca.tar.gz mltk-2f54068fa1a4c4c17ea47eb987df213370707bca.tar.xz mltk-2f54068fa1a4c4c17ea47eb987df213370707bca.zip |
[run-virt] Linux scripts: Sound vol. to 100%, if unmuted
Diffstat (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc')
-rw-r--r-- | core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/70_mutesound.inc | 84 |
1 files changed, 47 insertions, 37 deletions
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 3b1c4c76..542b50d7 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 @@ -19,49 +19,59 @@ if [ -n "$PACTL" ]; then x=2 # while [ $(su -c "pulseaudio --check" "$LOCALUSER") ]; do while [ -z "$(ps aux|grep /pulseaudio|grep -v grep)" ]; do - logger "openslx sound muter: Waiting for pulseaudio..." if [ "$x" -gt 30 ]; then logger "openslx sound muter: Waited $x sec for pulseaudio, giving up." - [ -n "$AMIXER" ] && SYSTEM=alsa || SYSTEM="" # unset -v SYSTEM break fi sleep $x; x=$((x + 2)) + logger "openslx sound muter: Waited $x seconds for pulseaudio..." done +else + SYSTEM=alsa + logger "openslx sound muter: alsa seems to be installed..." fi - # MUTESOUND: Sound 1=aus, 0=an - # This is a bit problematic as there is no way to actually know whether - # 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 $SYSTEM in pulse) XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "pactl set-sink-mute 0 0" "$LOCALUSER" - PACTLERR=$? - XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$AMIXER -q -D pulse sset Master unmute" "$LOCALUSER" - AMIXERERR=$? - logger "openslx sound muter: Sound hopefully unmuted, pactl: $PACTLERR, amixer: $AMIXERERR." - ;; - alsa) "$AMIXER set Master unmute" - AMIXERERR=$? - logger "openslx sound muter: Sound hopefully unmuted, amixer: $AMIXERERR." - ;; - 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." - ;; - alsa) "$AMIXER" set Master mute - AMIXERERR=$? - logger "openslx sound muter: Sound hopefully unmuted, amixer: $AMIXERERR." - ;; - esac - ;; - *) logger "openslx sound muter: Unknown muteSound option $MUTESOUND" - ;; - esac - logger "openslx sound muter: end." +# MUTESOUND: Sound 1=aus, 0=an +# This is a bit problematic as there is no way to actually know whether +# 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 $SYSTEM in pulse) + 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" + AMIXERMUTEERR=$? + XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$PACTL set-sink-volume 0 100%" "$LOCALUSER" + PACTLVOLERR=$? + XDG_RUNTIME_DIR=/run/user/$(id -u $LOCALUSER) su -c "$AMIXER -D pulse sset Master 100%" "$LOCALUSER" + PACTLVOLERR=$? + 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." + ;; + 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." + ;; + alsa) "$AMIXER" set Master mute + AMIXERERR=$? + logger "openslx sound muter: Sound hopefully unmuted, amixer: $AMIXERERR." + ;; + esac ;; + *) logger "openslx sound muter: Unknown muteSound option $MUTESOUND" +;; +esac +logger "openslx sound muter: end." } |