4 de junio de 2018 Actualización
Se multi-timer
ha creado un programa llamado muy superior : un temporizador para configurar diferentes alarmas simultáneamente
Temporizador de pantalla de bloqueo
Cree su propio temporizador de bloqueo de pantalla en lugar de aplicaciones de terceros
Aunque hay aplicaciones de terceros para hacer esto, puede crear las suyas propias. Resumen de pasos:
- Use gedit para crear script
lock-screen-timer
- Copie y pegue el código de esta ventana a
lock-screen-timer
- Marcar
lock-screen-timer
como ejecutable
- ¡Pruébalo!
- Configure Nautilus para ejecutar scripts bash
- Crear enlace de acceso directo de escritorio
- Monitorear el tiempo restante
Edición 1 (19 de noviembre de 2016): versión final. Advertencias de bloqueo inminentes a los 15, 10, 5, 3, 2 y 1 minuto (s) restantes usando mensaje y sonido. Use zenity para obtener la cantidad de minutos (el valor predeterminado es 30).
Edición 2 (20 de noviembre de 2016): cambio de código para eliminar el script anterior para dormir.
Edición 3 (20 de enero de 2017): Revise la eliminación del código de script anterior. Agregue un mensaje de información si la versión anterior ya se estaba ejecutando y finalizó.
Edición 4 (4 de febrero de 2017): Ejecutar en bucle para cuentas regresivas múltiples sin tener que volver a hacer clic en el icono del escritorio. es decir, noche de lavado: 16 minutos para el ciclo de enjuague (suavizante de telas), 13 minutos para cargar la secadora, 58 minutos para sacarla de la secadora.
Edición 5 (11 de febrero de 2017): escriba los minutos restantes para
/tmp/lock-screen-timer-remaining
. Esto permite que otros programas muestren la cantidad de tiempo antes de que la pantalla esté bloqueada.
Edición 6 (07 de agosto de 2017): cambie el /tmp/
archivo de trabajo a ~/.
para admitir múltiples usuarios en la red.
EDITAR: tenga en cuenta que el script depende de ogg123 para reproducir el sonido del recordatorio. Este programa es parte del paquete vorbis-tool del repositorio de universos. El script tal como se presenta aquí también intenta usar el script hotplugtv que se encuentra aquí.
Edición 8 (12 de noviembre de 2017): agregue compatibilidad con WSL (Subsistema de Windows 10 para Linux). Tenga en cuenta que necesita agregar VcXsrv
y / ubuntu-desktop
o xubuntu-desktop
(preferido) para usar Linux GUI en WSL. La pantalla restante del tiempo del área de notificación / bandeja del sistema de Windows 10 requiere complementar lo que indicator-sysmonitor
hace en Linux. Se powershell.exe
planea un script futuro para el soporte del área de notificación de Windows 10.
Edición 9 (19 de febrero de 2018): se corrigió la animación que faltaba en la \
secuencia "|, /, ─, \" de la pizza giratoria.
Use gedit para crear script lock-screen-timer
Abra el Terminal
uso de Ctrl+ Alt+ Ty escriba:
gedit lock-screen-timer
Copie y pegue el código de la ventana de abajo para lock-screen-timer
Vuelva a esta pantalla y copie el siguiente código resaltándolo y presionando Ctrl+ C:
#!/bin/bash
# NAME: lock-screen-timer
# PATH: $HOME/bin
# DESC: Lock screen in x minutes
# CALL: Place on Desktop or call from Terminal with "lock-screen-timer 99"
# DATE: Created Nov 19, 2016. Last revision May 30, 2018.
# UPDT: Updated to support WSL (Windows Subsystem for Linux)
# Remove hotplugtv. Replace ogg with paplay.
# Cohesion with multi-timer. New sysmonitor indicator style.
# NOTE: Time defaults to 30 minutes.
# If previous version is sleeping it is killed.
# Zenity is used to pop up entry box to get number of minutes.
# If zenity is closed with X or Cancel, no screen lock timer is launched.
# Pending lock warning displayed on-screen at set intervals.
# Write time remaining to ~/.lock-screen-timer-remaining
MINUTES="$1" # Optional parameter 1 when invoked from terminal.
# if no parameters set default MINUTES to 30
if [ $# == 0 ]; then
MINUTES=30
fi
DEFAULT="$MINUTES" # When looping, minutes count down to zero. Save deafult for subsequent timers.
# Check if lock screen timer already running
pID=$(pgrep -f "${0##*/}") # All PIDs matching lock-screen-timer name
PREVIOUS=$(echo "$pID" | grep -v ^"$$") # Strip out this running copy ($$$)
if [ "$PREVIOUS" != "" ]; then
kill "$PREVIOUS"
rm ~/.lock-screen-timer-remaining
zenity --info --title="Lock screen timer already running" --text="Previous lock screen timer has been terminated."
fi
# Running under WSL (Windows Subsystem for Linux)?
if cat /proc/version | grep Microsoft; then
WSL_running=true
else
WSL_running=false
fi
while true ; do # loop until cancel
# Get number of minutes until lock from user
MINUTES=$(zenity --entry --title="Lock screen timer" --text="Set number of minutes until lock" --entry-text="$DEFAULT")
RESULT=$? # Zenity return code
if [ $RESULT != 0 ]; then
break ; # break out of timer lock screen loop and end this script.
fi
DEFAULT="$MINUTES" # Save deafult for subsequent timers.
if [[ $MINUTES == 0 ]] || [[ $MINUTES == "" ]]; then
break ; # zero minutes considered cancel.
fi
# Loop for X minutes, testing each minute for alert message.
(( ++MINUTES ))
while (( --MINUTES > 0 )); do
case $MINUTES in 1|2|3|5|10|15|30|45|60|120|480|960|1920)
notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/appointment-soon.png "Locking screen in ""$MINUTES"" minute(s)." ;
if [[ $WSL_running == true ]]; then
powershell.exe -c '(New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();'
else
paplay /usr/share/sounds/freedesktop/stereo/complete.oga ;
fi
;;
esac;
# Record number of minutes remaining to file other processes can read.
echo "Lock screen in: $MINUTES Minutes" > ~/.lock-screen-timer-remaining
sleep 60
done
rm ~/.lock-screen-timer-remaining # Remove work file others can see our progress with
if [[ $WSL_running == true ]]; then
# Call lock screen for Windows 10
rundll32.exe user32.dll,LockWorkStation
else
# Call screen saver lock for Ubuntu versions > 14.04.
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
fi
done # End of while loop getting minutes to next lock screen
exit 0 # Closed dialog box or "Cancel" selected.
Luego vuelva a la gedit
ventana vacía y pegue el código usando Ctrl+ V. Guarde el archivo y salga del editor nuevamente al símbolo del sistema.
Marcar lock-screen-timer
como ejecutable
Ahora necesitamos hacer que el script sea ejecutable escribiendo:
chmod +x lock-screen-timer
¡Pruébalo!
Antes de llamar al script desde la GUI, lo llamaremos desde la terminal para que podamos ver si se muestran mensajes de error:
~/lock-screen-timer
Se le solicita la cantidad de minutos:
Establezca el número deseado de minutos y haga clic en Aceptar para iniciar el temporizador. Cuando quedan 15, 10, 5, 3, 2 y 1 minuto (s), se escucha un sonido del sistema y aparece una burbuja de mensaje que le informa cuándo se bloqueará la pantalla. Después de bloquear la pantalla, debe ingresar su contraseña para desbloquearla.
Configure Nautilus para ejecutar scripts bash
Nautilus define lo que sucede cuando hacemos doble clic en un script ejecutable cuando se trata de la ventana de visualización de archivos o un enlace en el escritorio. El comportamiento normal es editar el script usando gedit
. Queremos cambiar este comportamiento para que se ejecute.
Inicie Nautilus y navegue al directorio que contiene lock-screen-timer
. Haga clic izquierdo sobre él una vez para enfocarlo. Pase el mouse sobre la barra de menú superior hasta que aparezca el menú "Editar archivo ...", use:
- Haga clic en el
Edit
menú desplegable
- Haga clic en la
Properties
opción
- Haga clic en la
Behavior
pestaña
- Observe los botones de opción de radio debajo
Executable Text Files
- Comprobar botón de radio
Run executable text files when they are opened
Crear enlace de acceso directo de escritorio
De la sección anterior lock-screen-timer
todavía tiene foco. De lo contrario, navegue hasta el script y haga clic izquierdo sobre él una vez para enfocarlo. Luego use:
- Haga clic derecho en el archivo y aparecerán las opciones del menú contextual.
- Desde el menú seleccionar
Make Link
.
- Aparece un nuevo icono llamado
Link to lock-screen-timer
.
- Haga clic izquierdo en el nuevo icono y arrástrelo desde Nautilus a su escritorio.
Ahora puede hacer doble clic en el enlace de acceso directo del escritorio y se ejecuta el script. Aparece un cuadro de diálogo para obtener el número de minutos. Se presentan dos botones Cancely OK. Si hace clic en X
para cerrar la ventana, es lo mismo que seleccionar Cancel.
Después de que el temporizador se esté ejecutando y haga doble clic en él nuevamente, la primera copia en ejecución se "eliminará". Ahora puede comenzar una nueva cuenta regresiva del bloqueo de pantalla o hacer clic Cancelpara que no haya una cuenta regresiva.
Mostrar tiempo restante en el área de bandeja del sistema / notificación
Mientras se ejecuta el temporizador de la pantalla de bloqueo, registra cuántos minutos quedan en el archivo ~/.lock-screen-timer-remaining
. Puede mirar este archivo con el watch
comando o mostrarlo en la barra indicadora de la aplicación / bandeja del sistema de Ubuntu como se muestra en la parte superior de esta respuesta. Para mostrar el tiempo restante en el área de notificación, siga las instrucciones de estas preguntas y respuestas: ( ¿Puede BASH mostrarse en la bandeja del sistema como indicador de la aplicación? ).