Soy muy, muy nuevo en las secuencias de comandos. Aquí está el script simple (que funciona) que he escrito, que muestra una imagen cuando han pasado 5 minutos:
sleep 300 && firefox file:///home/tasks/fiveminutes.jpg
Aquí está mi pregunta: a veces no recuerdo si he iniciado el temporizador. ¿Hay alguna forma de agregar una indicación de texto o ícono (idealmente en la barra de tareas, pero en cualquier lugar sería genial) que aparece durante 5 minutos (desde el momento en que inicio el temporizador hasta el momento en que lo finalizo)?
Muchas gracias por las sugerencias.
Respuestas:
Puede mostrar una notificación emergente cuando comienza el proceso. Simplemente cambie su guión a
Puede establecer la duración de la burbuja de notificación con el
-t
parámetro (y el tiempo en milisegundos) con elnotify-send
comando, por ejemplo, para establecer la duración durante 5 minutos de usopero este parámetro puede ignorarse por completo dependiendo de su entorno de escritorio (vea esto ).
fuente
Es suficiente tener un script como este:
Esta es una forma muy típica y de uso frecuente en los scripts de shell. Lo que esto hace es ejecutarse continuamente, y cada cuarto de segundo comprueba si su script se ejecuta a través de
pgrep -f
.if..fi
las declaraciones en los scripts de shell operan en el estado de salida de los comandos, por lo quepgrep -f
devolver un estado de salida exitoso significa que encontró el proceso de su script y se está ejecutando. De lo contrario, vamos a la declaración else.En ambos casos imprimimos una línea de texto que le dice al usuario si se está ejecutando o no. También se agregó
printf "\r%b" "\033[2K"
para imprimir una secuencia de escape para borrar la línea (solo para una salida más limpia).A partir de ahí, el cielo es el límite. Puede pasar ese texto a otro proceso en la terminal a través de una tubería o puede pasar la salida del script de monitoreo al indicador-sysmonitor , que permite mostrar información personalizada en el indicador. Se puede instalar a través de
Después de eso, simplemente configure el indicador para mostrar un comando personalizado que sería el script de supervisión. Puede encontrar un ejemplo de configuración de un comando personalizado aquí .
Por supuesto, uno podría escribir su propio indicador en Python, pero esto podría ser una exageración cuando ya hay una herramienta para eso.
fuente
indicator-sysmonitor
Suena útil, debería intentarlo.Aquí está el iniciador de Python, basado en esta respuesta y una investigación adicional en Internet, que funciona bien en Ubuntu 16.04:
Cree un archivo ejecutable y coloque las líneas anteriores como su contenido. Supongamos que se llama al archivo
script-indicator.py
. Dependiendo de sus necesidades y de la naturaleza de su script, puede usar este lanzador de una de las siguientes maneras:script.sh
está el que quieres indicar?Captura de pantalla realizada justo cuando
script.sh
finaliza:Alternativamente, puede colocar el script
/usr/local/bin
para que sea accesible como sistema de comando de shell en todo el sistema. Puede descargarlo desde este dedicado GitHub Gist:Lo probé con la siguiente sintaxis:
fuente
Con
osd_cat
Puede usar
osd_cat
desde elxosd-bin
paquete, por ejemplo:Esto muestra "carreras" con tamaño de fuente
100
durante5
segundos en la posición20,50
en la pantalla y comienzafirefox
cuando está listo; no es necesariosleep
con este enfoque. Puede usarxfontsel
para obtener el Descriptor de fuente lógica X (esta-*-*-…
cosa rara ) para la-f
opción, por ejemplo, si desea usar una fuente diferente. Leaman osd_cat
para más opciones.Con
yad
Puede usar
yad
lo siguiente:Esto tiene la ventaja de que puede abortar el comando o ejecutarlo inmediatamente, si no hace nada, se cerrará después de
5
segundos en este ejemplo.fuente
yad
ventana puede ser minimizada, el texto osd no.Puede tomar esta secuencia de comandos que ya funciona
multi-timer
y eliminar la mayor parte para obtener un temporizador de cuenta regresiva genérico:Utiliza lo mismo
indicator-sysmonitor
descrito en la respuesta de Serge.La parte Systray
Brightness: 2344
también se muestra con el mismo script.Si eliminar partes innecesarias del código bash es demasiado difícil para los nuevos usuarios, me complacería publicar un script aquí llamado
show-sleep
con la funcionalidad limitada necesaria. Simplemente publique un comentario a continuación.fuente