Ich habe eine Textstatusleiste in einem Fenstermanager für Kacheln und benutze tcl, um ihm Informationen zuzuführen. Im Moment brauche ich eine Kommandozeile, die den Lautstärkepegel von 0% bis 100% ausgibt. Ich benutze Arch Linux.
Ich habe eine Textstatusleiste in einem Fenstermanager für Kacheln und benutze tcl, um ihm Informationen zuzuführen. Im Moment brauche ich eine Kommandozeile, die den Lautstärkepegel von 0% bis 100% ausgibt. Ich benutze Arch Linux.
Antworten:
Ein Einzeiler zum Parsen amixer
der Ausgabe nach Volumen in einer Statusleiste:
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)
[][]
bedeuten?
]
oder fest [
.
F
vol=$(awk '/%/ {gsub(/[\[\]]/,""); print $4}' <(amixer sget Master))
Sie können dazu verwenden amixer
.
$ amixer get Master
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 65536 [100%] [off]
Front Right: Playback 65536 [100%] [off]
Sie können es auch wie folgt ändern und stumm schalten:
eingestellte Lautstärke 75%
$ amixer set Master 75%
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 49152 [75%] [on]
Front Right: Playback 49152 [75%] [on]
Stumm / Laut
$ amixer set Master toggle
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
Sie können die Ausgabe beruhigen, wenn Sie nichts davon mit dem --quiet
Schalter sehen möchten .
$ amixer --quiet set Master 75%
$
Richtig
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
85%
Links
amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
Sound Server
Wenn Sie pulseaudio nicht als Standard verwenden, können Sie angeben, mit amixer
welchem Server Sie arbeiten möchten-D pulse
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
/var/lib/alsa/asound.state
.