Mise à jour du 4 juin 2018
Un programme appelé bien supérieur multi-timer
a été créé: Une minuterie pour configurer simultanément différentes alarmes
Minuterie d'écran de verrouillage
Créez votre propre minuterie de verrouillage d'écran au lieu d'applications tierces
Bien qu'il existe des applications tierces pour ce faire, vous pouvez créer la vôtre. Résumé des étapes:
- Utilisez gedit pour créer un script
lock-screen-timer
- Copiez et collez le code de cette fenêtre vers
lock-screen-timer
- Marquer
lock-screen-timer
comme exécutable
- Essaye-le!
- Configurer Nautilus pour exécuter des scripts bash
- Créer un lien de raccourci sur le bureau
- Surveiller le temps restant
Edit 1 (19 novembre 2016): version finale. Avertissements de verrouillage imminents à 15, 10, 5, 3, 2 et 1 minute (s) restants à l'aide du message et du son. Utilisez la zénité pour obtenir le nombre de minutes (par défaut à 30).
Edit 2 (20 novembre 2016): changement de code pour tuer le script de sommeil précédent.
Édition 3 (20 janvier 2017): révision de la suppression du code de script précédent. Ajoutez un message d'information si la version précédente était déjà en cours d'exécution et terminée.
Edit 4 (4 février 2017): exécuter en boucle pour plusieurs comptes à rebours sans avoir à re-cliquer sur l'icône du bureau. c.-à-d. nuit de lavage - 16 minutes pour rincer le cycle (assouplissant), 13 minutes pour charger la sécheuse, 58 minutes pour sortir de la sécheuse.
Edit 5 (11 février 2017): Ecrivez les minutes restantes à
/tmp/lock-screen-timer-remaining
. Cela permet à d'autres programmes d'afficher la durée avant le verrouillage de l'écran.
Edit 6 (août 07,2017): changez le /tmp/
fichier de travail pour ~/.
prendre en charge plusieurs utilisateurs sur le réseau.
EDIT: Notez que le script dépend de ogg123 pour jouer le son de rappel. Ce programme fait partie du package vorbis-tool du référentiel de l'univers. Le script tel que présenté ici tente également d'utiliser le script hotplugtv qui se trouve ici.
Edit 8 (12 novembre 2017): ajout de la prise en charge WSL (sous-système Windows 10 pour Linux). Notez que vous devez ajouter VcXsrv
et ubuntu-desktop
ou xubuntu-desktop
(de préférence) pour utiliser l'interface graphique Linux dans WSL. L'affichage du temps restant dans la barre d'état système / zone de notification de Windows 10 nécessite de compléter ce qui indicator-sysmonitor
fonctionne sous Linux. Un futur powershell.exe
script est prévu pour la prise en charge de la zone de notification Windows 10.
Edit 9 (19 février 2018): correction de l'animation manquante dans la \
séquence de rotation de pizza "|, /, ─, \".
Utilisez gedit pour créer un script lock-screen-timer
Ouvrez l' Terminal
aide de Ctrl+ Alt+ Tet tapez:
gedit lock-screen-timer
Copiez et collez le code de la fenêtre ci-dessous vers lock-screen-timer
Revenez à cet écran et copiez le code suivant en le mettant en surbrillance et en appuyant sur 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.
Revenez ensuite à la gedit
fenêtre vide et collez le code à l'aide de Ctrl+ V. Enregistrez le fichier et quittez l'éditeur à l'invite de commande.
Marquer lock-screen-timer
comme exécutable
Maintenant, nous devons rendre le script exécutable en tapant:
chmod +x lock-screen-timer
Essaye-le!
Avant d'appeler le script depuis l'interface graphique, nous l'appellerons depuis le terminal afin que nous puissions voir si des messages d'erreur sont affichés:
~/lock-screen-timer
Vous êtes invité à indiquer le nombre de minutes:
Définissez le nombre de minutes souhaité et cliquez sur OK pour démarrer le chronomètre. Lorsqu'il reste 15, 10, 5, 3, 2 et 1 minute (s), un son du système se fait entendre et une bulle de message s'affiche pour vous indiquer quand l'écran sera verrouillé. Une fois l'écran verrouillé, vous devez entrer votre mot de passe pour déverrouiller l'écran.
Configurer Nautilus pour exécuter des scripts bash
Nautilus définit ce qui se passe lorsque nous double-cliquons sur un script exécutable lorsque c'est la fenêtre d'affichage des fichiers ou un lien sur le bureau. Le comportement normal consiste à modifier le script à l'aide de gedit
. Nous voulons changer ce comportement de sorte qu'il soit exécuté.
Démarrez Nautilus et accédez au répertoire contenant lock-screen-timer
. Faites un clic gauche dessus une fois pour lui donner le focus. Passez la souris sur la barre de menu supérieure jusqu'à ce que le menu "File Edit ..."
- Cliquez
Edit
sur le menu déroulant
- Cliquez sur l'
Properties
option
- Cliquez sur l'
Behavior
onglet
- Observez les boutons d'option radio sous
Executable Text Files
- Vérifier le bouton radio
Run executable text files when they are opened
Créer un lien de raccourci sur le bureau
De la section précédente a lock-screen-timer
toujours le focus. Sinon, accédez au script et faites un clic gauche dessus pour lui donner le focus. Utilisez ensuite:
- Faites un clic droit sur le fichier et les options du menu contextuel apparaissent.
- Dans le menu, sélectionnez
Make Link
.
- Une nouvelle icône apparaît appelée
Link to lock-screen-timer
.
- Faites un clic gauche sur la nouvelle icône et faites-la glisser de Nautilus vers votre bureau.
Vous pouvez maintenant double-cliquer sur le lien de raccourci du bureau et le script est exécuté. Une boîte de dialogue apparaît pour obtenir le nombre de minutes. Deux boutons sont présentés Cancelet OK. Si vous cliquez sur X
pour fermer la fenêtre, cela revient à sélectionner Cancel.
Une fois le chronomètre exécuté et que vous double-cliquez à nouveau dessus, la première copie en cours d'exécution est «tuée». Vous pouvez maintenant démarrer un nouveau compte à rebours de verrouillage de scren ou cliquer Cancelpour aucun compte à rebours.
Afficher le temps restant dans la zone de notification / système
Pendant que la minuterie de l'écran de verrouillage fonctionne, elle enregistre le nombre de minutes restantes dans le fichier ~/.lock-screen-timer-remaining
. Vous pouvez consulter ce fichier avec la watch
commande ou l'afficher sur la barre d'état système / barre d'indication d'Ubuntu comme indiqué en haut de cette réponse. Pour afficher le temps restant dans la zone de notification, suivez les instructions de ce Q&R: ( BASH peut-il s'afficher dans la barre d'état système comme indicateur d'application? ).