Aggiornamento del 4 giugno 2018
È multi-timer
stato creato un programma molto superiore chiamato : un timer per impostare contemporaneamente diversi allarmi
Blocco schermo timer
Crea il tuo timer di blocco schermo anziché applicazioni di terze parti
Sebbene ci siano applicazioni di terze parti per farlo, puoi crearne una tua. Riepilogo dei passaggi:
- Usa gedit per creare uno script
lock-screen-timer
- Copia e incolla il codice da questa finestra in
lock-screen-timer
- Segna
lock-screen-timer
come eseguibile
- Provalo!
- Configurare Nautilus per eseguire script bash
- Crea collegamento sul desktop
- Monitorare il tempo rimanente
Modifica 1 (19 novembre 2016): versione finale. Avvisi di blocco imminenti a 15, 10, 5, 3, 2 e 1 minuto / i rimanenti utilizzando messaggi e audio. Usa zenity per ottenere il numero di minuti (il valore predefinito è 30).
Modifica 2 (Nov 20,2016): modifica del codice per eliminare il precedente copione dormiente.
Modifica 3 (20 gennaio 2017): rivedi l' uccisione del precedente codice di script. Aggiungi un messaggio informativo se la versione precedente era già in esecuzione e terminata.
Modifica 4 (4 febbraio 2007): esegui in loop per più conto alla rovescia senza dover fare nuovamente clic sull'icona del desktop. cioè Notte della biancheria - 16 minuti per lavare il ciclo (ammorbidente), 13 minuti per caricare l'asciugatrice, 58 minuti per estrarla.
Modifica 5 (11 febbraio 2017): Scrivi i minuti rimanenti su
/tmp/lock-screen-timer-remaining
. Ciò consente ad altri programmi di visualizzare la quantità di tempo prima che lo schermo sia bloccato.
Modifica 6 (ago 07,2017): modifica il /tmp/
file di lavoro in modo ~/.
da supportare più utenti in rete.
EDIT: Nota che lo script dipende da ogg123 per riprodurre il suono del promemoria. Questo programma fa parte del pacchetto vorbis-tool dal repository universe. Lo script qui presentato tenta anche di utilizzare lo script hotplugtv trovato qui.
Modifica 8 (12 novembre 2017): aggiungi il supporto WSL (sottosistema Windows 10 per Linux). Si noti che è necessario aggiungere VcXsrv
e ubuntu-desktop
o xubuntu-desktop
(preferito) utilizzare la GUI di Linux in WSL. La visualizzazione del tempo restante nell'area di notifica / area di notifica di Windows 10 richiede l'integrazione di ciò che indicator-sysmonitor
accade in Linux. È powershell.exe
previsto uno script futuro per il supporto dell'area di notifica di Windows 10.
Modifica 9 (febbraio 19,2018): correzione dell'animazione mancante della \
sequenza "|, /, ─, \" di spinning pizza.
Usa gedit per creare uno script lock-screen-timer
Apri Terminal
utilizzando Ctrl+ Alt+ Te digita:
gedit lock-screen-timer
Copia e incolla il codice dalla finestra in basso a lock-screen-timer
Torna a questa schermata e copia il seguente codice evidenziandolo e premendo 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.
Quindi tornare alla gedit
finestra vuota e incollare il codice usando Ctrl+ V. Salvare il file e uscire dall'editor al prompt dei comandi.
Segna lock-screen-timer
come eseguibile
Ora dobbiamo rendere eseguibile lo script digitando:
chmod +x lock-screen-timer
Provalo!
Prima di chiamare lo script dalla GUI, lo chiameremo dal terminale in modo da poter vedere se vengono visualizzati messaggi di errore:
~/lock-screen-timer
Viene richiesto il numero di minuti:
Impostare il numero desiderato di minuti e fare clic su OK per avviare il timer. Quando mancano 15, 10, 5, 3, 2 e 1 minuto, viene emesso un suono di sistema e viene visualizzato un fumetto che avvisa quando lo schermo verrà bloccato. Dopo aver bloccato lo schermo, è necessario inserire la password per sbloccare lo schermo.
Configurare Nautilus per eseguire script bash
Nautilus definisce cosa succede quando facciamo doppio clic su uno script eseguibile quando si tratta della finestra di visualizzazione dei file o di un collegamento sul desktop. Il comportamento normale è modificare lo script usando gedit
. Vogliamo cambiare questo comportamento in modo che venga eseguito.
Avviare Nautilus e navigare nella directory contenente lock-screen-timer
. Fai clic sinistro su di esso una volta per dargli fuoco. Passa il mouse sulla barra dei menu in alto fino a quando appare il menu "Modifica file ...", usa:
- Fai clic
Edit
sul menu a discesa
- Fare clic
Properties
sull'opzione
- Fare clic sulla
Behavior
scheda
- Osservare i pulsanti di opzione radio sotto
Executable Text Files
- Controlla il pulsante di opzione
Run executable text files when they are opened
Crea collegamento sul desktop
Dalla sezione precedente è lock-screen-timer
ancora attivo. In caso contrario, vai allo script e fai clic con il pulsante sinistro del mouse una volta per attivarlo. Quindi utilizzare:
- Fare clic con il tasto destro sul file e vengono visualizzate le opzioni del menu contestuale.
- Dal menu selezionare
Make Link
.
- Viene visualizzata una nuova icona chiamata
Link to lock-screen-timer
.
- Fai clic con il pulsante sinistro del mouse sulla nuova icona e trascinala da Nautilus sul desktop.
Ora puoi fare doppio clic sul collegamento di collegamento sul desktop e lo script viene eseguito. Viene visualizzata una finestra di dialogo per ottenere i minuti numerici. Sono presenti due pulsanti Cancele OK. Se si fa clic su X
per chiudere la finestra, equivale a selezionare Cancel.
Dopo che il timer è in esecuzione e fai di nuovo doppio clic su di esso, la prima copia in esecuzione viene "uccisa". Ora puoi avviare un nuovo conto alla rovescia per il blocco dello scren o fare clic Cancelper nessun conto alla rovescia.
Visualizza tempo rimanente nell'area systray / notifica
Mentre il timer della schermata di blocco è in esecuzione, registra quanti minuti rimangono nel file ~/.lock-screen-timer-remaining
. Puoi guardare questo file con il watch
comando o visualizzarlo sulla barra delle applicazioni / barra degli indicatori dell'applicazione di Ubuntu come mostrato nella parte superiore di questa risposta. Per visualizzare il tempo rimanente nell'area di notifica, seguire le istruzioni in queste domande e risposte : ( BASH può essere visualizzato nel systray come indicatore dell'applicazione? ).