Me ha pasado que mientras la gente estaba durmiendo en horas de la madrugada, yo escuchaba música heavy a todo volumen y por error desconecte los audífonos lo que hizo que se sonara por toda la casa (creo que en ese momento me odiaron jaja). Así que programe un pequeño script que cuando se desconectan, pone en mute el volumen:
Lo primero fue instalar alsa-utils para poder manejar el volumen desde comandos de forma fácil:
sudo pacman -S alsa-utils
Lo siguiente fue descubrir por medio de una búsqueda en Google que alsa guarda en archivos de texto plano (se puede leer con cualquier editor de texto, en Windows todo esto sería mucho mas complicado) el estado de las tarjetas de sonido y que solo hace falta copiar el archivo y luego comparar los cambios.
El archivo es:
/proc/asound/card0/codec#0
Esto puede variar en algunos casos por ejemplo si tenemos mas de una tarjeta de sonido. Si quieren saber mas dejo el enlace de la documentación de alsa: http://alsa.opensrc.org/Proc_asound_documentation
Conecto los audífonos y copio el archivo:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"
Luego desconecto los audífonos y utilizo el comando diff que muestra las lineas diferentes entre los dos archivos:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"
hay algunos datos que no nos interesan asi que hay que filtrar con grep para que solo muestre las lineas que tienen la palabra “Pin-ctls”.
diff "/proc/asound/card0/codec#0" ".audifonos/con" | grep Pin-ctls
en caso de que el comando no muestre nada por pantalla significa que tenemos puestos los audifonos. como no puede devolver nada nos devuelve error.
Para ver este error tecleamos:
echo $?
si nos muestra un uno por pantalla nos indica sobre el error.
por otro lado si cuando ejecutamos esto nos devuelve algo entonces tenemos los audifonos desconectados en cuyo caso no devolverá error:
echo $?
ya con esto en mente y conociendo bash es facil hacerlo:
Lo descargo, doy permisos de ejecución para abrirlo por primera vez para que se “instale”(solo pide que conecten audífonos y copia el archivo que que explique al inicio)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh
Para terminar hago que inicie de forma automática cada vez que prendo el pc
Desde Xfce me voy a aplicaciones > configuración > Sesión e inicio > autoarranque de aplicaciones > añadir y coloco el script
¿De casualidad usas algún WM? Es que al menos en Arch con Gnome-Shell 3.16 conserva los cambios que haya en los controles de volumen, por ejemplo, cuando conecto el HDMI me muestra el máximo de volumen, cuando conecto audífonos me muestra volumen muy bajo y en las bocinas integradas casi lo máximo.
Aunque de hecho estuve en algún tiempo buscando hacer eso, era una joda tener que bajar el volumen para poder usar las bocinas y que el sonido no fuese estridente o molesto para los demás. Muchas gracias por el aporte.
por nada 🙂 , uso xfce 😛
Acabo de recordar que una vez estaba viendo p0rn y tenía los audífonos y los hdp se desconectaron y escucharon los gemidos de Shyla :c
Lo bueno es que solo fue un fragmento de al menos un eterno segundo y sonaba como a las pelis de terror cuando mataban a una prosti XD
Pensandolo bien lo voy a agregar a favoritos
Jajajajajaja a mi me paso lo mismo cuando una vez como a media noche lo desconecte sin querer y sonó un buen Hard Core a todo volumen XD mi familia quedo asustada :v
Buena la información me sera útil en algún momento. muchas gracias
A mi no me engañas, tú estabas viendo por*o gay en español y se desconectaron tus audífonos xD
Gracias por el aporte, en Linux Mint se conserva el volumen, por ejemplo si pongo mute y luego conecto los audífonos, en los audífonos tendré sonido y sin ellos no.
Saludos.
jajaja, no pero en esos casoss tambien sirve(?)
Sí, también sirve en esos casos ( ͡° ͜ʖ ͡°)
Buena la información, una sugerencia, si el sistema soporta ‘devd’ como procedo a copiar o crear este archivo?
[code] $PREFIX/share/examples/cups/ulpt-cupsd.conf a $PREFIX/etc/devd/ [/code]
no sabria decirte, no es suficiente con el comando cp?
No, dice que directorio no existe y tampoco no se como crear..
Jejejej pues si te digo a mí me ha pasado en más de una ocasión y con la misma música así que lo apunto para instalarlo después. Un saludo y en nombre del Heavy Metal gracias.
…… ~ $ sudo pacman -S alsa-utils
[sudo] password for david:
sudo: pacman: command not found