2009-01-05 20 views
5

El sonido de inicio/inicio de sesión de Ubuntu puede ser muy fuerte, pero me gusta tenerlo. Escribí un script que usa amixer para configurar el volumen al 25%. Este es el nivel en el que me gusta tenerlo, pero cuando uso la salida de TV o los auriculares, tengo que subir el volumen. Parece que no puedo ejecutar el script antes de que se reproduzca el sonido de inicio de sesión. He intentado hacer un cron @reboot y poner un enlace simbólico al script en /etc/rc3.d/, y en mi script .bash_profile. Solo el 3er método realmente establece el volumen correctamente, pero después de que se reproduce el sonido de inicio de sesión.Establecer Ubuntu Sound Volume en el arranque

Lo ideal es que la secuencia de comandos se ejecute cuando cierro sesión por la noche o justo antes de que aparezca la pantalla de inicio de sesión de ubuntu.

Este es el comando para establecer el volumen:

`/usr/bin/amixer -c 0 sset Master,0 25% > /dev/null` 

Sugerencias para otros métodos para tratar son apreciados.

+0

Pregunta similar: http://askubuntu.com/a/136832/75050 (respuesta más reciente, funcionó para mí). – fuenfundachtzig

Respuesta

2

Es posible que desee intentar agregar esa línea a su gusto al /etc/rc.local Sin embargo, esto puede no ser lo suficientemente pronto, ya que se llamará a rc.local después de gdm.

También tenga en cuenta, el nivel de ejecución por defecto en Ubuntu es , no . Su enlace en rc3.d probablemente no funcionó simplemente porque no estaba usando el nivel de ejecución 3. El nivel de ejecución predeterminado está configurado por /etc/event.d/rc-default

+0

Agregando la secuencia de comandos a runlevel 2 funcionó. Gracias por la ayuda – Rob

+0

Este método dejó de funcionar para mí en Ubuntu 9.04 y en 9.10. Todavía no lo he intentado en 10.04 – Rob

+0

Agregarlo al nivel de ejecución 2 me ha funcionado solo parcialmente. Este sonido que escucho cuando puedo ingresar la Contraseña ahora está al 25% del volumen, pero después de iniciar sesión está en el mismo volumen de sonido que cuando cerré la computadora. Creé el enlace simbólico con 'sudo ln -s /etc/init.d/sound.sh/etc/rc2.d/S20sound', ¿es correcto? –

0

He usado el método this para lograr eso antes , pero en Arch Linux. Ahora, no estoy muy familiarizado con el sistema init que utiliza Ubuntu, pero supongo que podrías intentar adaptar esto a Ubuntu.

0

Creo que las secuencias de comandos de inicio de Ubuntu ya incluyen una "restauración alsactl". Debería poder ejecutar "alsactl store" con el volumen ya configurado en 25% y afectar a todos los reinicios futuros.

1

Ahh, sí, pero ¿también contienen una "tienda alsactl" en el cierre?

0

Lo que puede hacer es escribir un script para bajar el volumen cuando apaga su computadora. Algo como esto:

#!/bin/sh 

amixer -- sset Master playback -40dB 

exit 1 

continuación, ejecute este script al apagar el equipo.

1

Rob,

estoy tratando de resolver el mismo problema. Tomé la línea "amixer" arriba y estudié mucho sobre los niveles de ejecución, las carpetas /etc/rc#.d y el comando update-rc.d. No es perfecto Todavía no se ejecuta durante un reinicio de la manera que yo quisiera, pero es un comienzo.

Las sugerencias para mejorarlo serían bienvenidas.

Y, aquí está mi código de abajo .....

sudo echo "#!/Bin/bash"> /etc/init.d/lowvol.sh

sudo echo "/ usr/bin/amixer -c 0 sset Master, 0 35%>/dev/null ">> /etc/init.d/lowvol.sh

sudo chmod + x /etc/init.d/lowvol.sh

sudo chown root: root /etc/init.d/lowvol.sh

sudo update-rc.d lowvol.sh stop 20 0 6.

+0

Desafortunadamente, nunca resolví este problema después de actualizar Ubuntu a una nueva versión. Buena suerte – Rob

0

Cree una configuración de unidad y habilite para el inicio.

Suponiendo ALSA y systemd (Ubuntu usa la versión systemd después del 14 en adelante)

/etc/systemd/system/alsavolume.service

Crear un archivo de unidad aquí. Puede ajustar el comando para ejecutar /usr/bin/amixer sset PCM -- 97%. Recuerde no utilizar citas (de lo contrario, systemd interpretará todo como un comando).

[Unit] 
Description="Set volume level." 
After=sound.target 

[Service] 
Type=simple 
ExecStart=/usr/bin/amixer sset PCM -- 97% 

[Install] 
WantedBy=multi-user.target 

Enable (esto significa crear un enlace simbólico a /etc/systemd/system/multi-user.target.wants para ejecutarse al inicio, pero los siguientes comandos cuidar de él para usted.)

  1. demonios Actualizar

    systemctl daemon-reload

  2. Habilitar servicio

    systemctl enable alsavolume.service

    Puede agregar el parámetro --now para ejecutar la unidad inmediatamente.