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
-tparámetro (y el tiempo en milisegundos) con elnotify-sendcomando, 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..filas declaraciones en los scripts de shell operan en el estado de salida de los comandos, por lo quepgrep -fdevolver 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-sysmonitorSuena ú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.shestá el que quieres indicar?Captura de pantalla realizada justo cuando
script.shfinaliza:Alternativamente, puede colocar el script
/usr/local/binpara 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_catPuede usar
paquete, por ejemplo:
osd_catdesde elxosd-binEsto muestra "carreras" con tamaño de fuente
100durante5segundos en la posición20,50en la pantalla y comienzafirefoxcuando está listo; no es necesariosleepcon este enfoque. Puede usarxfontselpara obtener el Descriptor de fuente lógica X (esta-*-*-…cosa rara ) para la-fopción, por ejemplo, si desea usar una fuente diferente. Leaman osd_catpara más opciones.Con
yadPuede usar
lo siguiente:
yadEsto tiene la ventaja de que puede abortar el comando o ejecutarlo inmediatamente, si no hace nada, se cerrará después de
5segundos en este ejemplo.fuente
yadventana puede ser minimizada, el texto osd no.Puede tomar esta secuencia de comandos que ya funciona
multi-timery eliminar la mayor parte para obtener un temporizador de cuenta regresiva genérico:Utiliza lo mismo
indicator-sysmonitordescrito en la respuesta de Serge.La parte Systray
Brightness: 2344tambié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-sleepcon la funcionalidad limitada necesaria. Simplemente publique un comentario a continuación.fuente