Pembaruan 4 Juni 2018
Program yang jauh lebih unggul disebut multi-timer
telah dibuat: Timer untuk mengatur alarm yang berbeda secara bersamaan
Timer Layar Kunci
Buat Timer Lock Screen Anda sendiri dan bukan aplikasi Pihak ke-3
Meskipun ada aplikasi Pihak ke-3 untuk melakukan ini, Anda dapat membuatnya sendiri. Ringkasan langkah-langkah:
- Gunakan gedit untuk membuat skrip
lock-screen-timer
- Salin dan tempel kode dari jendela ini ke
lock-screen-timer
- Tandai
lock-screen-timer
sebagai yang dapat dieksekusi
- Menguji!
- Konfigurasikan Nautilus untuk menjalankan skrip bash
- Buat tautan pintasan desktop
- Pantau sisa waktu
Sunting 1 (19 Nov 2016): Versi final. Peringatan kunci yang akan datang pada 15, 10, 5, 3, 2 dan 1 menit tersisa menggunakan pesan dan suara. Gunakan zenity untuk mendapatkan jumlah menit (default ke 30).
Sunting 2 (20 Nov.2016): Perubahan kode untuk mematikan skrip tidur sebelumnya.
Sunting 3 (Jan 20.2017): Merevisi pembunuhan kode skrip sebelumnya. Tambahkan pesan informasi jika versi sebelumnya sudah berjalan dan dihentikan.
Sunting 4 (4 Februari 2016): Jalankan dalam lingkaran untuk beberapa hitungan mundur tanpa harus mengklik kembali ikon desktop. yaitu malam laundry - 16 menit untuk membilas siklus (pelembut kain), 13 menit untuk memuat pengering, 58 menit untuk mengeluarkan pengering.
Sunting 5 (11 Feb.2017): Sisa menit untuk menulis
/tmp/lock-screen-timer-remaining
. Ini memungkinkan program lain untuk menampilkan jumlah waktu sebelum layar dikunci.
Sunting 6 (Agustus 07.2017): Ubah /tmp/
file kerja ke ~/.
untuk mendukung banyak pengguna di jaringan.
EDIT: Perhatikan bahwa skrip tergantung pada ogg123 untuk memutar suara pengingat. Program ini adalah bagian dari paket alat-vorbis dari repositori semesta. Skrip seperti yang disajikan di sini juga mencoba menggunakan skrip hotplugtv yang ditemukan di sini.
Sunting 8 (12 Nov.2017): Tambahkan dukungan WSL (Windows 10 Subsystem untuk Linux). Catatan Anda perlu menambahkan VcXsrv
dan ubuntu-desktop
atau xubuntu-desktop
(lebih disukai) untuk menggunakan Linux GUI di WSL. Tampilan sisa waktu baki sistem Windows 10 sistem / area memerlukan pelengkap apa yang indicator-sysmonitor
ada di Linux. Sebuah masa depan powershell.exe
skrip direncanakan untuk mendukung Windows 10 area notifikasi.
Sunting 9 (19 Feb.2018): Perbaiki animasi yang hilang \
dari urutan pemintalan pizza "|, /, ─, \".
Gunakan gedit untuk membuat skrip lock-screen-timer
Buka + + Terminal
menggunakan dan ketik:CtrlAltT
gedit lock-screen-timer
Salin dan tempel kode dari jendela di bawah ke lock-screen-timer
Beralih kembali ke layar ini dan salin kode berikut dengan menyorotnya dan menekan 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.
Kemudian beralih kembali ke gedit
jendela kosong dan tempel kode menggunakan Ctrl+ V. Simpan file dan keluar dari editor kembali ke command prompt.
Tandai lock-screen-timer
sebagai yang dapat dieksekusi
Sekarang kita perlu membuat skrip dapat dieksekusi dengan mengetik:
chmod +x lock-screen-timer
Menguji!
Sebelum memanggil skrip dari GUI, kami akan memanggilnya dari terminal sehingga kami dapat melihat apakah ada pesan kesalahan yang ditampilkan:
~/lock-screen-timer
Anda diminta untuk jumlah menit:
Atur jumlah menit yang diinginkan dan klik OK untuk memulai timer. Ketika ada 15, 10, 5, 3, 2 dan 1 menit tersisa suara sistem terdengar dan gelembung pesan muncul memberi tahu kapan layar akan dikunci. Setelah layar terkunci, Anda harus memasukkan kata sandi untuk membuka kunci layar.
Konfigurasikan Nautilus untuk menjalankan skrip bash
Nautilus mendefinisikan apa yang terjadi ketika kita mengklik dua kali pada skrip yang dapat dieksekusi ketika jendela tampilan file atau tautan di desktop. Perilaku normal adalah mengedit skrip menggunakan gedit
. Kami ingin mengubah perilaku ini sehingga dijalankan.
Mulai Nautilus dan arahkan ke direktori yang berisi lock-screen-timer
. Klik kiri sekali untuk memberi fokus. Arahkan mouse ke bilah menu atas hingga menu "File Edit ..." muncul, gunakan:
- Klik
Edit
menu tarik-turun
- Klik
Properties
opsi
- Klik
Behavior
tab
- Amati tombol opsi radio di bawah
Executable Text Files
- Periksa tombol radio
Run executable text files when they are opened
Buat tautan pintasan desktop
Dari bagian sebelumnya lock-screen-timer
masih fokus. Jika tidak, navigasikan ke skrip dan klik kiri sekali untuk memberi fokus. Kemudian gunakan:
- Klik kanan pada file dan opsi menu konteks muncul.
- Dari menu pilih
Make Link
.
- Ikon baru muncul yang disebut
Link to lock-screen-timer
.
- Klik kiri pada ikon baru dan seret dari Nautilus ke desktop Anda.
Sekarang Anda dapat mengklik dua kali pada tautan pintasan desktop dan skrip dijalankan. Kotak dialog muncul untuk mendapatkan nomor menit. Dua tombol disajikan Canceldan OK. Jika Anda mengklik X
untuk menutup jendela itu sama dengan memilih Cancel.
Setelah penghitung waktu berjalan dan Anda klik dua kali di atasnya lagi salinan berjalan pertama "terbunuh". Anda sekarang dapat memulai hitung mundur kunci scren baru atau klik Canceltanpa hitung mundur.
Tampilan Sisa Waktu di area systray / notifikasi
Saat pengunci layar berjalan, ia mencatat berapa menit yang tersisa dalam file ~/.lock-screen-timer-remaining
. Anda dapat melihat file ini dengan watch
perintah atau menampilkannya di baki sistem / indikator aplikasi Ubuntu seperti yang ditunjukkan di bagian atas jawaban ini. Untuk menampilkan waktu yang tersisa di area notifikasi, ikuti instruksi di T&J ini: ( Bisakah BASH tampil di systray sebagai indikator aplikasi? ).