Pregunta

El sonido de inicio / inicio de sesión de Ubuntu puede ser muy alto, pero me gusta tenerlo. Escribí una secuencia de comandos que utiliza un mezclador para establecer 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 probado un cron @reboot y he puesto un enlace simbólico al script en /etc/rc3.d/, y en mi script .bash_profile. Solo el tercer método en realidad establece el volumen correctamente, pero después de que se reproduce el sonido de inicio de sesión.

Lo ideal es que el script se ejecute cuando me desconecto por la noche, o justo antes de que aparezca la pantalla de inicio de sesión de Ubuntu.

Aquí está el comando para configurar el volumen:

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

Se aprecian sugerencias para probar otros métodos.

¿Fue útil?

Solución

Es posible que desees intentar agregar esa línea a tu me gusta a /etc/rc.local . Sin embargo, puede que esto no sea lo suficientemente rápido, ya que se llamará a rc.local después de gdm.

También tenga en cuenta que el nivel de ejecución predeterminado en Ubuntu es 2 , no 3 . Es probable que su enlace en rc3.d no haya funcionado simplemente porque no usó el nivel de ejecución 3. El nivel de ejecución predeterminado se configura mediante /etc/event.d/rc-default

Otros consejos

Creo que los scripts de inicio de Ubuntu ya incluyen un " alsactl restore " ;. Debería poder ejecutar " tienda alsactl " con el volumen ya establecido en 25% y afectará a todos los reinicios futuros.

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

Rob,

Estoy tratando de resolver el mismo problema. Te llevé " amixer " la línea de arriba e hizo muchos intentos de aprender 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 forma que yo quisiera, pero es un comienzo.

Las sugerencias para mejorarlo serían bienvenidas.

Y, aquí está mi código a continuación ...

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

sudo echo " / usr / bin / amixer -c 0 sset Master, 0 35% > / dev / nulo " > > /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.

He usado este método para lograrlo antes, pero en Arch Linux. Ahora, no estoy muy familiarizado con el sistema de inicio que usa Ubuntu, pero supongo que podrías intentar adaptar esto a Ubuntu.

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

#!/bin/sh

amixer -- sset Master playback -40dB

exit 1 

luego ejecute este script al apagar.

Cree una configuración de unidad y habilítela para el inicio.

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

/etc/systemd/system/alsavolume.service

Crea 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

Habilítelo (esto significa crear un enlace simbólico para /etc/systemd/system/multi-user.target.wants para que se ejecute al inicio, pero los siguientes comandos se encargan de ello por usted). )

  1. Recargar demonios

    systemctl daemon-reload

  2. Habilitar servicio

    systemctl enable alsavolume.service

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top