Stellen Sie die Lautstärke am Terminal ein

83

Ist es möglich, die Lautstärke über das Terminal einzustellen, anstatt auf das Lautsprechersymbol in der oberen Leiste zu klicken?

Der Grund, warum ich das tun möchte, ist, dass meine Tastatur keine Tasten zum Erhöhen / Verringern der Lautstärke hat und ich finde es ärgerlich, nach der Maus zu greifen.

Tristian
quelle
1
Lesen Sie den Master- amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }' Lautstärkepegel in Prozent 0% -100%: Erhöhen Sie den Master-Lautstärkepegel um 10%:amixer -q sset Master 10%+
Eric Leschinski

Antworten:

97

Für die interaktive Nutzung können Sie verwenden alsamixer. Für Skripte (zB das Binden an Tastenkombinationen) schauen Sie sich an amixer.

alsamixer ist in den meisten Systemen standardmäßig enthalten.


So stellen Sie die Hauptlautstärke ein:

# Gets a list of simple mixer controls
$ amixer scontrols 

Stellen Sie dann als Beispiel die gewünschte Lautstärke ein

$ amixer sset 'Master' 50%
Renan
quelle
1
Was ist der Unterschied zwischen "sset" und "set". (Ich versuchte beide und beide Arbeit)
Venryx
@Venryx man amixerschlägt vor, dass sie gleichwertig sind und dass das "s" in "sset" für "simple" steht. Es gibt auch ein "cset", das den Inhalt der Kartensteuerung festlegt.
Matthias Braun
42

Gefunden in der Openbox Konfigurationsdatei rc.xml:

# increase by 3%
amixer -q sset Master 3%+

# decrease by 3%
amixer -q sset Master 3%-

# mute/unmute
amixer -q sset Master toggle

amixer Handbuchseite kann weitere Details geben.

Enzotib
quelle
21

Wenn Ihr System verwendet, können pulseaudioSie Folgendes verwenden pactl:

pactl set-sink-volume 0 +15%

oder

pactl set-sink-volume 0 -5dB

Sie können jedoch auch eine Ganzzahl oder einen linearen Faktor angeben:

set-sink-volume SINK VOLUME [VOLUME ...]
          Set the volume of the specified sink (identified by its symbolic name or numerical index). VOLUME can be speci‐
          fied as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a
          decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume  adjustment  will  be
          relative to the current sink volume. A single volume value affects all channels; if multiple volume values are
          given their number has to match the sink's number of channels.
don_crissti
quelle
2
Hinweis aus dem Wiki von Arch Linux : pactlBefehle, die negative prozentuale Argumente verwenden, schlagen mit dem Fehler "ungültige Option" fehl. Verwenden Sie das Standard-Shell- --Pseudoargument, um die Argumentanalyse vor dem negativen Argument zu deaktivieren. zBpactl set-sink-volume 1 -- -5%
Jamie Cockburn
2
@ JamieCockburn - Ich bin nicht sicher, wann das geschrieben wurde, aber ich verwende Archlinux und es gibt absolut keine Notwendigkeit für die zusätzlichen --mit negativen Werten (Prozent, DB, Ganzzahlen ... sie alle funktionieren gut). In der Tat ist es ganz im Gegenteil : Wenn ich --nach dem Wiki benutze, pactl set-sink-volume 1 -- -3% bekomme ich zB Invalid volume specification.
don_crissti
Muss man dann auf Shell angewiesen sein? Ich bin mit Xfce auf Ubuntu 14.04 und führe den Befehl von bash (4.3.11) aus. Wenn ich das weglasse --, erhalte ich eine ungültige Option.
Jamie Cockburn
1
@JamieCockburn - Ich denke nicht, dass die Shell relevant ist (für die Aufzeichnung, es funktioniert gut für mich mit beiden bashund zsh). Wahrscheinlich hatten frühere Versionen von pactldieses Problem und haben es höchstwahrscheinlich behoben (ich verwende Version 6.0).
don_crissti
1
@JamieCockburn Ich verwende Ubuntu 16.04 XFCE Bash, und es funktioniert perfekt ohne "-", nur eine Anmerkung.
Reishin
9

Ich weiß, das ist alt. Da Alsa und pulseaudio so miteinander verbunden sind, hat mir diese Antwort von askubuntu geholfen, die Lautstärke sowohl über meinen Hauptsound als auch über HDMI zu regeln :

Lautstärke erhöhen

amixer -q -D pulse sset Master 10%+

Lautstärke verringern

amixer -q -D pulse sset Master 10%-

Stumm schalten

amixer -q -D pulse sset Master toggle

Andere amixer sset Befehle funktionieren auch.

Mathter
quelle
7

Diese sind "natürlicher für das menschliche Ohr".

Um den Master in die alsamixer-Einheiten zu bekommen, verwenden Sie:

amixer -M get Master

So erhöhen Sie die Lautstärke in den alsamixer-Einheiten um 5%:

amixer -M set Master 5%+

https://bbs.archlinux.org/viewtopic.php?id=135348

Robson
quelle
6

Verwenden Sie unter OS X Folgendes:

# highest
osascript -e "set Volume 7"
# lowest
osascript -e "set Volume 1"
# middle
osascript -e "set Volume 3.5"  

Sie können die Lautstärke auch auf andere Bruchzahlen einstellen:

# 25%
osascript -e "set Volume 1.75"
1 ''
quelle
@Wildcard Die Lautstärketasten des Mac sind nur in Schritten von 0,25
1 ''
4

Sie können auch versuchen pamixer, ein aktuelles Projekt, das genau das tut, was Sie wollen. Es befindet sich im gleichnamigen ArchLinux AUR-Repository.

Fradeve
quelle
Es ist jetzt sogar im Community-Repository
Michal Polovka