Update vom 4. Juni 2018
Es wurde ein viel besseres Programm namens multi-timer
erstellt: Ein Timer zum gleichzeitigen Einrichten verschiedener Alarme
Bildschirm-Timer sperren
Erstellen Sie Ihren eigenen Bildschirmsperr-Timer anstelle von Anwendungen von Drittanbietern
Obwohl es dafür Anwendungen von Drittanbietern gibt, können Sie Ihre eigenen erstellen. Zusammenfassung der Schritte:
- Verwenden Sie gedit, um ein Skript zu erstellen
lock-screen-timer
- Kopieren Sie Code aus diesem Fenster und fügen Sie ihn in ein
lock-screen-timer
- Mark
lock-screen-timer
als ausführbares
- Probier es aus!
- Konfigurieren Sie Nautilus so, dass Bash-Skripte ausgeführt werden
- Erstellen Sie einen Desktop-Verknüpfungslink
- Überwachen Sie die verbleibende Zeit
Bearbeiten 1 (19. November 2016): Endgültige Version. Bevorstehende Sperrwarnungen nach 15, 10, 5, 3, 2 und 1 Minute (n) verbleiben mit Nachricht und Ton. Verwenden Sie Zenity, um die Anzahl der Minuten zu ermitteln (standardmäßig 30).
Bearbeiten 2 (20.11.2016): Codeänderung zum Beenden des vorherigen Schlafskripts .
Bearbeiten 3 (20. Januar 2017): Überarbeiten Sie das Beenden des vorherigen Skriptcodes . Informationsmeldung hinzufügen, wenn die vorherige Version bereits ausgeführt und beendet wurde.
Bearbeiten 4 (4. Februar 2017): Führen Sie eine Schleife für mehrere Countdowns aus, ohne erneut auf das Desktop-Symbol klicken zu müssen. dh Wäsche Nacht - 16 Minuten zum Spülen (Weichspüler), 13 Minuten zum Laden des Trockners, 58 Minuten zum Herausnehmen aus dem Trockner.
Bearbeiten 5 (11. Februar 2017): Schreiben Sie die verbleibenden Minuten an
/tmp/lock-screen-timer-remaining
. Dadurch können andere Programme die Zeit anzeigen, bevor der Bildschirm gesperrt ist.
Bearbeiten 6 (Aug 07,2017): Ändern Sie die /tmp/
Arbeitsdatei so ~/.
, dass mehrere Benutzer im Netzwerk unterstützt werden.
BEARBEITEN: Beachten Sie, dass das Skript von ogg123 abhängt, um den Erinnerungston abzuspielen. Dieses Programm ist Teil des Vorbis-Tool-Pakets aus dem Universum-Repository. Das hier vorgestellte Skript versucht auch, das hier gefundene hotplugtv-Skript zu verwenden .
Edit 8 (Nov 12,2017): Unterstützung für WSL (Windows 10 Subsystem für Linux) hinzufügen . Beachten Sie, dass Sie hinzufügen VcXsrv
und / ubuntu-desktop
oder xubuntu-desktop
(bevorzugt) Linux-GUI in WSL verwenden müssen. Die Anzeige der verbleibenden Zeit in der Taskleiste / im Benachrichtigungsbereich von Windows 10 erfordert eine Ergänzung indicator-sysmonitor
der Funktionen unter Linux. Für die powershell.exe
Unterstützung des Windows 10-Benachrichtigungsbereichs ist ein zukünftiges Skript geplant.
Bearbeiten 9 (19. Februar 2008): Die Animation wurde korrigiert\
, bei der die Sequenz "|, /, ─, \" der sich drehenden Pizza fehlte .
Verwenden Sie gedit, um ein Skript zu erstellen lock-screen-timer
Öffnen Sie das Terminal
using Ctrl+ Alt+ Tund geben Sie Folgendes ein:
gedit lock-screen-timer
Kopieren Sie den Code aus dem folgenden Fenster und fügen Sie ihn ein lock-screen-timer
Wechseln Sie zurück zu diesem Bildschirm und kopieren Sie den folgenden Code, indem Sie ihn markieren und Ctrl+ drücken 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.
Wechseln Sie dann zurück zum leeren gedit
Fenster und fügen Sie den Code mit Ctrl+ ein V. Speichern Sie die Datei und beenden Sie den Editor zurück zur Eingabeaufforderung.
Mark lock-screen-timer
als ausführbares
Jetzt müssen wir das Skript ausführbar machen, indem wir Folgendes eingeben:
chmod +x lock-screen-timer
Probier es aus!
Bevor wir das Skript über die GUI aufrufen, rufen wir es vom Terminal aus auf, damit wir sehen können, ob Fehlermeldungen angezeigt werden:
~/lock-screen-timer
Sie werden aufgefordert, die Anzahl der Minuten einzugeben:
Stellen Sie die gewünschte Anzahl von Minuten ein und klicken Sie auf OK, um den Timer zu starten. Wenn noch 15, 10, 5, 3, 2 und 1 Minute (n) übrig sind, ertönt ein Systemton und eine Meldungsblase zeigt an, wann der Bildschirm gesperrt wird. Nachdem der Bildschirm gesperrt ist, müssen Sie Ihr Passwort eingeben, um den Bildschirm zu entsperren.
Konfigurieren Sie Nautilus so, dass Bash-Skripte ausgeführt werden
Nautilus definiert, was passiert, wenn wir auf ein ausführbares Skript doppelklicken, wenn es sich um das Anzeigefenster für Dateien oder einen Link auf dem Desktop handelt. Normalerweise wird das Skript mit bearbeitet gedit
. Wir möchten dieses Verhalten so ändern, dass es ausgeführt wird.
Starten Sie Nautilus und navigieren Sie zu dem Verzeichnis, das enthält lock-screen-timer
. Klicken Sie einmal mit der linken Maustaste darauf, um den Fokus zu erhalten. Bewegen Sie die Maus über die obere Menüleiste, bis das Menü "Datei bearbeiten ..." angezeigt wird. Verwenden Sie:
- Klicken Sie auf das
Edit
Dropdown-Menü
- Klicken Sie auf die
Properties
Option
- Klicken Sie auf die
Behavior
Registerkarte
- Beachten Sie die Optionsfelder unter
Executable Text Files
- Aktivieren Sie das Optionsfeld
Run executable text files when they are opened
Erstellen Sie einen Desktop-Verknüpfungslink
Aus dem vorherigen Abschnitt hat lock-screen-timer
noch Fokus. Wenn nicht, navigieren Sie zum Skript und klicken Sie einmal mit der linken Maustaste darauf, um es zu fokussieren. Dann benutze:
- Klicken Sie mit der rechten Maustaste auf die Datei und die Kontextmenüoptionen werden angezeigt.
- Wählen Sie aus dem Menü
Make Link
.
- Ein neues Symbol wird angezeigt
Link to lock-screen-timer
.
- Klicken Sie mit der linken Maustaste auf das neue Symbol und ziehen Sie es von Nautilus auf Ihren Desktop.
Jetzt können Sie auf den Desktop-Verknüpfungslink doppelklicken und das Skript wird ausgeführt. Ein Dialogfeld wird angezeigt, in dem die Anzahl der Minuten angezeigt wird. Es werden zwei Schaltflächen angezeigt Cancelund OK. Wenn Sie auf klicken X
, um das Fenster zu schließen, entspricht dies der Auswahl Cancel.
Nachdem der Timer läuft und Sie erneut darauf doppelklicken, wird die erste laufende Kopie "getötet". Sie können jetzt einen neuen Countdown Cancelfür die Scren-Sperre starten oder auf "Kein Countdown" klicken .
Anzeige der verbleibenden Zeit im Systray- / Benachrichtigungsbereich
Während der Timer für den Sperrbildschirm ausgeführt wird, wird aufgezeichnet, wie viele Minuten noch in der Datei verbleiben ~/.lock-screen-timer-remaining
. Sie können diese Datei mit dem watch
Befehl anzeigen oder in der Taskleiste / Anwendungsanzeigeleiste von Ubuntu anzeigen, wie oben in dieser Antwort gezeigt. Befolgen Sie die Anweisungen in diesem Q & A, um die im Benachrichtigungsbereich verbleibende Zeit anzuzeigen: ( Kann BASH als Anwendungsindikator in Systray angezeigt werden? ).