Algunos Scripts
Hola a todos, bueno esta entrada es para mostrar algunos scripts que he hecho, hay algunos que sirven bastante, así como otros que tal vez les parezcan innecesarios. El objetivo de esto es agregar “funcionalidades” a gestores de ventanas ya que los entornos de escritorio ya cuentan con ello.
Lo primero seria instalar notify-osd ya que casi todo lo que sigue tiene que ver con eso, lo instalamos desde aur con
yaourt -S notify-osd
Volumen en notify-osd
Al salir ubuntu 9.04 hace tiempo, lo probé en live cd y me gusto que mostrara el nivel de volumen en las notificaciones, intente hacerlo en arch, en ese tiempo ya usaba openbox, pero encontré algunos programas de gnome parcheados para que funcionaran así, lo cual no me dejo contento y me dispuse a hacer un script que muestra el volumen en notify-osd.
El script pueden descargarlo de aquí, le dan permisos de ejecución con
chmod +x /ruta/archivo
Remplazando al ruta y el nombre del archivo, luego para utilizarlo debemos agregar el script a las teclas multimeda, siendo la orden (comando), suponiendo que la ruta es “~/.bin/volume”
~/.bin/volume 3- # Combinación de teclas para bajar volumen
~/.bin/volume 3+ # Combinación de teclas para subir volumen
~/.bin/volume toggle # Combinación de teclas para mute
De esta forma al bajar, subir o silenciar el audio con las teclas multimedia en nuestro escritorio nos mostrara una notificación como esta
EDITO: Por lo que me dijo Coniglio en debian el script no funciona bien, por lo anterior un amigo de él lo modifico para que funcionara, así que si tienen problemas con el script pueden descargar la modificación desde aquí.
Brillo en notify-osd
Esto es lo mismo que en el caso anterior, solo que mostrara el brillo de nuestra pantalla, aunque hay que tener un par de consideraciones. El script lo pueden descarga desde aquí, le dan permisos de ejecución
chmod +x /ruta/archivo
Remplazando al ruta y el nombre del archivo, para utilizarlo debemos agregarlo a las teclas multimedia, suponiendo que esta en “~/.bin/brightness”, en la combinación de teclas para subir y bajar el brillo hacemos que ejecuten
~/.bin/brightness
Este script muestra solo el brillo actual, ya que (según he probado) en todos los notebooks, el brillo funciona independientemente. Si tenemos problemas y no funciona debemos comprobar que la ruta “/sys/class/backlight/acpi_video0/actual_brightness”, existe y ademas muestra el brillo actual, esto lo vemos con
cat /sys/class/backlight/acpi_video0/actual_brightness
Lo cual nos debiese dar un numero, en caso de que al tener el brillo en lo máximo lo anterior nos de un numero distinto de 9, debemos modificar el script y en la linea
brillo=`expr $brightness "*" 100 "/" 9`
Cambiar el 9, por el numero que nos haya dado. Si todo salio bien al cambiar el brillo con la combinación de teclas veremos
Screenshots
Bueno sin duda la forma mas fácil de sacar screenshots, es agregando scrot (programa para tomar screenshots desde una consola) a una combinación de teclas o simplemente lanzandolo desde un terminal, hace un tiempo hice un script que nunca logre hacer que funcionara totalmente como quería (tal vez alguien me pueda ayudar en eso), la idea era que tomara screenshot y guardara en mi home, con el nombre “screenshot-numero.png”, aumentando siempre el numero… Solo logre que tomara 10 screenshots y luego sobrescribe el ultimo, pero en todo caso funciona jejejej.
Lo pueden descargar desde aquí, le dan permisos de ejecución y lo agregan a la combinación de teclas que quieran.
EDITO: Gracias a Jose Javier quien modifico este script y lo hizo funcionar hasta 99! (dudo que alguien saque mas de 99 screenshots sin borrar las anteriores…), pueden descargar esta versión desde aquí, y muchas gracias nuevamente por la ayuda
Programar apagado y verlo en notify-osd
Muchas veces veo videos en mi arch en la noche y quiero que se apague solo después, para esto simplemente se puede usar “sudo shutdown -h TIME” remplazando TIME por el tiempo en minutos en que queremos que nuestro computador se apague, es algo simple y funciona muy bien, pero en ocasiones quería saber cuanto le quedaba para apagarse o quería que de alguna forma me avisara en cuanto se apagaría, por eso hice un script que cumple esta función.
Lo pueden descargar desde aquí, si quieren que solo funcione con un comando pueden guardarlo en “/usr/bin/xhalt”, el xhalt lo pueden cambiar por lo que quieran, darle permisos de ejecución
sudo chmod +x /usr/bin/xhalt
Y luego lo utilizan con “xhalt TIME”, remplazando TIME por el tiempo, por ejemplo si queremos que se apague en media hora quedara
xhalt 30
Al pasar el tiempo ira mostrando notificaciones de este tipo
Bueno espero les sirva de algo, se que algunos tienen bastante detalles, pero funcionan, cualquier duda sugerencia o lo que sean díganmelo. Saludos, gracias a todos y hasta la próxima.
XaBz







Gracias, te cogo prestado el último, que me ha resultado la mar de interesante y útil.
Saludos.
Muy interesante. Me ha servido de inspiración, para escribir un post sobre notify-osd en Gnome
.
Saludos!!
Remplazando al ruta y el nombre del archivo, luego para utilizarlo debemos agregar el script a las teclas multimeda, siendo la orden (comando), suponiendo que la ruta es “~/.bin/volume”
esta parte no entiendo como agrego el script a las teclas multimedia estoy usando openbox.
tambien tengo otro problema con openbox… wicd no aparece en el tray y lo tengo en los demonios en lxde y kde si sale
Para openbox, instala obkey (en arch “obkey-git” con yaourt) como explique en
http://archxz.wordpress.com/2009/09/12/guia-openbox/
Pon la combinación de teclas y en donde dice “command:” pon
~/.bin/volume 3-~/.bin/volume 3+
~/.bin/volume toggle
Según corresponda a la combinación. Para lo de wicd, edita el archivo “~/.config/openbox/autostart.sh” con
nano ~/.config/openbox/autostart.shY al final agrega
wicd-client &Saludo y ojala te funcione.
gracias
no se como tu blog no tiene mas visitas eres un genio y son posts que realmente valen la pena
perdon por espamear
pero el script de sonido no me funciona el de brillo si… si baja y sube el sonido pero no hay notificacion…
interfiere volwheel?
Volwheel no debería interferir yo también lo uso y todo funciona bien… Intenta ejecutar el script desde un terminal suponiendo la misma ruta “~/.bin/volume” pon
~/.bin/volume 3-Y ve que pasa si aparece la notificación entonces debiese ser un error de la configuración en la combinación de teclas (aunque no creo que sea eso ya que el volumen cambia). En caso de no aparecer fíjate que el archivo tenga permisos de ejecución y que sea el mismo que aparece en el link, descargarlo de nuevo porque encontré un error que tenia, tal vez ahora te funcione.
Saludos y esperemos funcione.
si baja y sube el volukmen pero no muestra notificacion, esto sale en la terminal:
[chupy35@myhost ~]$ ~/.bin/volume 3-
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 74
Mono:
Front Left: Playback 60 [81%] [-14.00dB] [on]
Front Right: Playback 60 [81%] [-14.00dB] [on]
expr: error de sintaxis
/home/chupy35/.bin/volume: line 11: [: -gt: se esperaba un operador unario
/home/chupy35/.bin/volume: line 14: [: -gt: se esperaba un operador unario
/home/chupy35/.bin/volume: line 17: [: -gt: se esperaba un operador unario
/home/chupy35/.bin/volume: line 20: [: =: se esperaba un operador unario
Mmm prueba con el que subí ahora
http://www.fileden.com/files/2009/10/26/2620904/archxz/volume
Debiese funcionar, saludos.
gracias pero sigue sin salir, me da esto:
[chupy35@myhost ~]$ ~/.bin/volume 3-
Simple mixer control ‘Master’,0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left – Front Right
Limits: Playback 0 – 74
Mono:
Front Left: Playback 68 [92%] [-6.00dB] [on]
Front Right: Playback 68 [92%] [-6.00dB] [on]
expr: error de sintaxis
Jejejej, al menos va dando menos errores
, lo extraño es que a mi siempre me a funcionado…
Mira ahora solo da un error al calcular el porcentaje con expr, estuve probando y la única forma de que de ese error es con el signo por *, intenta esto edita el archivo y en la linea 5 cambia las dobles comillas ” por simples ‘, ademas cambia el 64 por 74, ya que es el limite de tu tarjeta.
volume_level=`expr $volume "*" 100 "/" 64`Quedando así
volume_level=`expr $volume '*' 100 '/' 74`En todo caso lo cambie en el link, así que puedes descargarlo desde ahí también. Sino funciona prueba calcular un producto desde terminal con expr, algo tipo
expr 63 '*' 10Me cuentas que pasa para ir mejorando el script ojala funcione
Saludos
ya me baje el nuevo y con el anterior y me sigue saliendo el mismo resultado de error de sintaxis
al poner:
[chupy35@myhost ~]$ expr 63 ‘*’ 10
630
sale bien…..
jajajaj has de decir que que molesto
Jejejej no te preocupes…. ya se la solución xD no me había fijado pero la salida de amixer en tu computador es distinta a la de la mía. Descarga este archivo y estoy casi seguro que funcionara. Saludos
http://www.fileden.com/files/2009/10/26/2620904/archxz/volume
no pues ya muestra notifiacacion
pero ahora no sube ni baja el volumen lol
Que raro debiese andar, seguro agregaste el argumento al comando???
3+, 3- o toggle según corresponda, porque tal como esta debiese funcionar.
Saludos
si, pero deja el volumen tal cual como esta
Fíjate que la segunda linea sea
amixer sset Master $1Y pega acá lo que sale al ejecutarlo en un terminal. Saludos
si lo dice pero no sube n baja el volumen
Pega la salida del terminal “~/.bin/volume” saludos
[chupy35@myhost ~]$ ~/.bin/volume
Specify what you want to set…
La única linea que interviene en cambiar el volumen es la segunda “amixer sset Master $1″, ese mensaje solo aparece si esa linea no tiene argumento, lo que puede pasar si en la segunda linea del archivo no esta el “$1″. o si “~/.bin/volume” no tiene argumento. Revisa el script debe estar el “$1″ y si nada funciona pega la salida de “~/.bin/volume 3-”
Saludos
[chupy35@myhost ~]$ ~/.bin/volume 3-
Simple mixer control ‘Master’,0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left – Front Right
Limits: Playback 0 – 65536
Mono:
Front Left: Playback 42625 [65%] [on]
Front Right: Playback 42625 [65%] [on]
jajajaj si esta $ en la 2a linea WTF
gracias por vuestra atencion caballero
:S creo que algo extraño paso con tu computador, si te fijas en la parte de limites, el limite cambio de 74 a 65536, por eso al subir o bajar solo 3, que es lo que haces con el argumento 3- 3+, no se nota. Envés de 3 pon 2656 así
~/.bin/volume 2656- # Bajar volumen~/.bin/volume 2656+ # Subir volumen
~/.bin/volume toggle # Mute
Saludos y espero resulte.
wow wow wow sos un genio :O
gracias por perder tu tiempo con algguien como yo
esnesrio gracias por tu atencion
Estaba viendo blogs de temas variados y en la búsqueda con google me he encontrado con el tuyo, me parace interesante y muy bien gestionado,sigue así suerte.
el ultimo me gsto, lo voy a probar
salu2
Hola que tal? El script del volumen funciona cuando lo ejecuto desde la consola perfectamente, pero quiero saber donde configuro la tecla para que al apretarla aparezca? Eso no entendi.
En combinaciones de tecla de gnome no tengo para poner el comando. Gracias
Disculpa ya vi donde es jaja. Por apurado me pasa. Saludos, exelente blog
Buenas, me paso por aca porque no sabia muy bien donde preguntarte xD,tengo una duda, en tu ultimo screenshoot teness conky nightdrive, lo busque y lo instale en kde, logre que se vea el wallper de atras, pero todavia tengo un problema, las fuentes se ven mal. :S, la hora sale corrida y las otras fonts estan por debajo del conky, probe incluso instalarlo en gnome, y me hace lo mismo, las funtes estan por debajo del conky, desde ya, graciasss (Y)
hola! tus guias están geniales, te agregué hace rato a mi blogroll!
Una pregunta, si la linea: /sys/class/backlight/acpi_video0/actual_brightness
no existe, como hago?
probe el del sonido y anda re bien..el del brillo todavía no lo prove, pero haciendo la prueba con “cat” me dice que no existe. O.o
Y eso que anda, o sea, si aprieto la combinación del brillo me baja y sube la luminosidad sin las notificas.
Gracias.
hola! resolví! te dejo el resultado aca por si sirve a alguien.
la questión es que lo estoy usando con un un eeepc. Entonces tube que modificar el script y en lugar de esta linea:
/sys/class/backlight/acpi_video0/actual_brightness
puse esta:
/sys/class/backlight/eeepc/actual_brightness
despues subi el brillo al maximo, y para controlar di este comando:
cat /sys/class/backlight/eeepc/actual_brightness
y me respondió 15 en vez de 9. Entonces modifiqué la linea que le corresponde así:
brillo=`expr $brightness “*” 100 “/” 15`
Lo unico es que no encuentro los iconos pero ahora me fijo bien, tenes idea de donde puedan estar?
Gracias
Hola disculpa por la demora en la respuesta, veo que ya solucionaste lo primero
. Si usas archlinux puedes instalar los iconos desde aur instalando el paquete “notify-osd-icons”, en caso contrario puedes copiar los mismos iconos a la carpeta “/usr/share/notify-osd/icons/gnome”, espero te sirva. Saludos
Hola, muy buen post… espero esto ayude, modifique el script para el screenshot ahora llega hasta 99 imagenes
… te lo copio abajo:
#/bin/bash
numero=`ls -c ~/ | grep screenshot | cut -b12 | awk ‘{printf $1}’ | cut -b1`
numero_digito=`ls -c ~/ | grep screenshot | cut -b13 | awk ‘{printf $1}’ | cut -b1`
if [ $numero_digito != "." ]
then
numero=`expr $numero “*” 10`
numero=`expr $numero “+” $numero_digito`
fi
numero=`expr $numero “+” 1`
scrot screenshot-${numero}.png
Muchas gracias, lo acabo de probar y funciona muy bien
, edite la entrada para agregarlo. Saludos y gracias.
hola otra vez! gracias por lo de los íconos, al final también lo encontré en un forum.
Escribo en un blog italiano para netbooks y incluimos tu tip, lo traduci yo mismo
obviamente te citamos con un link y aclaramos que es tuyo.
http://linux4netbook.blogspot.com/2010/09/openbox-notifiche-osd-del-volume-e-la.html
te contactaba porque un amigo, tiene un problema
el script del volumen no le anda, le da esto:
~$ volume 3-
Simple mixer control ‘Master’,0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left – Front Right
Limits: Playback 0 – 31
Mono:
Front Left: Playback 11 [35%] [-30.00dB] [on]
Front Right: Playback 11 [35%] [-30.00dB] [on]
/home/domenico/bin/volume: 14: [[: not found
/home/domenico/bin/volume: 14: [[: not found
expr: errore di sintassi
/home/domenico/bin/volume: 36: [[: not found
/home/domenico/bin/volume: 36: [[: not found
/home/domenico/bin/volume: 36: [[: not found
/home/domenico/bin/volume: 36: [[: not found
/home/domenico/bin/volume: 36: [[: not found
Tenes alguna idea de que pueda llegar a ser?
Gracias.
Hola, muchas gracias por ponerlo en el blog en que escribes y mas aun porque llega a mas personas que hablan otros idiomas. Estuve analizando el error que da e incluso intente ejecutar el script con la salida que dejaste, pero no veo errores todo funciona bien, lo que se me ocurre es que no haya descargado el archivo sino copiado su contenido y tal vez falto copiar algo… Los errores que da son al final de los “if” linea 14 y 36. Puedes decirle que para evitar if borre las lineas 5,6,10,11,12,13,14 eso por la salida que da amixer, así los primeros 3 errores no se producirían, los últimos deben ser por un error de copia, dile que lo descargue de nuevo o que se fige que las 2 ultimas lineas del script contienen un “fi”, es decir que van 2…
Bueno espero sea de algo de ayuda y ojala pueda solucionarlo. Saludos
Hola otra vez! me tengo que disculpar porque no te avisé de una cosa importante: mi amigo usa Debian.
Además como no aguantó a que respondieras, se puso a modificarlo, y lo logro hacer funcionar!
Te dejo aca el script y como lo modificó:
http://dl.dropbox.com/u/2088794/volume-doc
Te cuento que además lo prové en Archlinux y me funciona también a mí!
le pregunté que había modificado, me dijo que le parece que usan diferentes versiones de bash, y que si no está equivocado Debian usa Dash. La cosa es que a mi con arch me funciona igual. No sé, seguramente dandole una ojeada vos lo vas a entender mejor.
Siempre Doc (el usuario que lo modificó) me dijo que no sabe por qué, pero, en LXDE el script es más reactivo
Teniamos pensado probarlo en otras distros siempre con openbox, te decimos si anda
Nos tenemos en contacto! Chau!
Interesante… Cuando hice el script no me funcionaba con un solo paréntesis cuadrado en los if, pero con 2 si. Así que lo deje con dos, por lo que veo el cambio fue eso, dejar todos los if con un paréntesis cuadrado, es extraño que de un error por eso, pero igual lo probé y funciona, así que dejare ambos en la entrada, por si alguien tiene el mismo problema..
Y con respecto a los DE o gestores de ventanas, yo he probado el script en gnome, xfce, openbox, compiz standalone y actualmente en pekwm y siempre a funcionado bien, no debiese depender de eso, solo de alsamixer… Bueno eso. Saludos y muchas gracias por comentar la solución a ese problema
Que onda!! Oye super interesantisimo tu post solo que tengo un problema con el brillo al poner la ruta que indicas “/sys/class/backlight/acpi_video0/actual_brightness” me aparece un mensaje que no existe o.O intente probar con la solucion de Conejo pero tampoco me funciono nose si pudieras ayudarme, por cierto uso ArchLinux con LXDE en una AAO, el brillo me funciona bien si presiono la combinación de teclas si me sube o baja el brillo pero el problema es la ruta que indicas espero puedas ayudarme. Gracias de antemano.
Hola, la ruta en realidad depende de tu computador algo genérico seria usar la ruta “/sys/class/backlight/*/actual_brightness”, prueba poniendo en un terminal “cat /sys/class/backlight/*/actual_brightness” si muestra algún numero entonces esta bien y en el script debes modificar la ruta por esa.
Bueno eso espero te sirva, saludos.
Lo intente pero me volvió a salir el mismo mensaje que no existe nose de que otra manera se pueda hacer. Gracias de antemano y disculpa por las molestias
Mmm lo que puedes hacer es ir con el explorador de archivos a /sys/class/backlight y ver que sale, si hay un directorio entrar en el y ver, debiese haber un archivo que se llame brightness o algo así,si existe alguno así usa esa ruta. Si no, debe debiese estar en alguna de las carpetas que hay en /sys/class, tambien podrias probar con “cat /sys/*/*/*/actual_brightness” o “cat /sys/*/*/*/brightness”, ojala sirva. Saludos
Bueno pues he probado con el segundo comando “cat /sys/*/*/*/brightness” y me dio en consola dos números 255 y 0 e intente poner esa ruta en la combinación de teclas pero no me muestra nada y e intentado buscar por todos lados en el explorador de archivos pero no encuentro la dirección exacta para ponerla en la combinación de teclas y que funcione bien.
anda todo, salvo que el volumen me baja 3/4 parte y ya es el minimo que da.
si cambio el valor del ultimo if -gt 70 a uno menor sigue mostrando hasta ese porcentaje, pero cuando se hace cero no hace el mutte
Estimado muchas gracias por el post.
La solución funciona de maravillas!
Thanks!
El script me funcionaba bien siempre, pero ahora último que he formateado mi pc, no me funciona, no sé si será algo del notify-osd que tendrá problemas en alguna actualización reciente.
Lo que me sucede es que cambia el volumen pero no me muestra la notificación, pruebo ejecutando en consola notify-send ” ” -i notification-audio-volume-high -h int:value:70 -h string:x-canonical-private-synchronous:volume y no me muestra nada.
Hola, puede ser un error en la codificación del texto (por las comillas) o sino es error de notify-osd, prueba instalando notify-osd-customizable desde aur, es el que tengo instalado actualmente y funciona bien. Espero te sirva de algo. Saludos
Hola xabz, ¿el notify-osd no te entra en conflicto con xfce4-notifyd? ¿O el notify-osd hace las todas las funciones de xfce4-notify?
Si, entran en conflicto ambos, notify-osd cumple casi todas las funciones de xfce4-notify, excepto las que involucran diálogos con botones. Pero si no utilizas eso no tendrás problemas en remplazarlo. Saludos
Hola xabz, estoy instalandome un sistema minimalista con compiz standalone y me seria muy util poder manejar asi el volumen y el brillo de mi pc, pero los script ya no estan accesibles, te agradeceria que los resubieras, gracias.
Hola, fileden esta en mantenimiento en poco tiempo mas debiesen volver a la normalidad. Saludos
Muchas gracias, esperare.