Establecer volumen desde terminal


83

¿Es posible configurar el volumen de audio usando el terminal en lugar de hacer clic en el icono del altavoz en la barra superior?

La razón por la que quiero hacer esto es que mi teclado no tiene botones de aumento / disminución de volumen y me resulta molesto alcanzar el mouse.


1
Lea el nivel de volumen maestro en porcentaje numérico 0% -100%: amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'amixer -q sset Master 10%+
aumente el

Respuestas:


97

Para uso interactivo que puede usar alsamixer. Para las secuencias de comandos (por ejemplo, vinculación a combinaciones de teclas), eche un vistazo amixer.

alsamixer se incluye por defecto en la mayoría de los sistemas.


Para configurar el uso del volumen maestro:

# Gets a list of simple mixer controls
$ amixer scontrols 

Luego ajústelo al volumen deseado, como ejemplo

$ amixer sset 'Master' 50%

1
¿Cuál es la diferencia entre "sset" y solo "set"? (
Probé

@Venryx man amixersugiere que son equivalentes y que la "s" en "sset" significa "simple". También hay un "cset" que establece el contenido de control de la tarjeta.
Matthias Braun

42

Encontrado en el archivo de configuración de Openbox 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 La página del manual puede dar más detalles.


21

Si su sistema está usando pulseaudio, puede usar pactl:

pactl set-sink-volume 0 +15%

o

pactl set-sink-volume 0 -5dB

aunque también podría especificar un número entero o un factor lineal:

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.

2
Nota de arch linux wiki : los pactlcomandos que toman argumentos de porcentaje negativo fallarán con un error de 'opción no válida'. Use el --pseudo argumento de shell estándar para deshabilitar el análisis de argumentos antes del argumento negativo. por ejemplopactl set-sink-volume 1 -- -5%
Jamie Cockburn

2
@JamieCockburn: no estoy seguro de cuándo se escribió eso, pero uso archlinux y no hay absolutamente ninguna necesidad de --valores adicionales con valores negativos (porcentaje, db, enteros ... todos funcionan bien). De hecho, es todo lo contrario : si uso --según el wiki, por ejemplo pactl set-sink-volume 1 -- -3% , obtengo Invalid volume specification.
don_crissti

¿Debe ser dependiente de la cáscara entonces? Estoy en ubuntu 14.04, con Xfce, y ejecuto el comando desde bash (4.3.11). Si omito el --, obtengo una opción no válida.
Jamie Cockburn

1
@JamieCockburn - No creo que el shell sea relevante (para el registro, funciona bien para mí con ambos bashy zsh). Probablemente las versiones anteriores de pactltenían este problema y lo más probable es que lo resolviera (estoy usando la versión 6.0).
don_crissti

1
@JamieCockburn estoy ejecutando ubuntu 16.04 xfce bash, y funciona perfectamente sin "-", solo una nota.
Reishin

9

Sé que este es viejo. Dado que Alsa y pulseaudio están tan conectados, esta respuesta de askubuntu me ayudó a administrar el volumen tanto de mi sonido principal como del HDMI:

aumenta el volumen

amixer -q -D pulse sset Master 10%+

bajar volumen

amixer -q -D pulse sset Master 10%-

alternar silencio

amixer -q -D pulse sset Master toggle

Otros comandos sset de amixer también funcionan.




4

También puedes probar pamixer, un proyecto reciente que hace exactamente lo que quieres. Está en el repositorio ArchLinux AUR con el mismo nombre.


incluso está en el repositorio de la comunidad ahora
Michal Polovka
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.