Penghitung waktu yang secara otomatis mengunci layar untuk melepaskan diri dari komputer?

63

Saya mencari program grafis atau baris perintah yang memberi saya alur kerja berikut:

  1. Mulai sesi 25 menit
  2. Setelah 25 menit layar secara otomatis terkunci selama 5 menit (atau mungkin hanya berubah menjadi hitam?)
  3. Sekarang saya dibantu untuk istirahat karena saya tidak bisa melakukan apa pun di depan komputer selain melihat layar hitam atau terkunci :)
  4. Setelah 5 menit, layar otomatis kembali dan saya dapat terus bekerja

Apakah ada program yang melakukan ini?

orschiro
sumber
Maksud Anda sebagai fitur default?
orschiro
Hai orschiro, sudah selesai! Lihat hasil edit terbaru ...
Jacob Vlijm
@JacobVlijm baru saja menginstal versi PPA. Sungguh aplikasi yang indah yang Anda buat. Sekali lagi terima kasih banyak!
orschiro
@orschiro Terima kasih atas pertanyaannya! Sangat menyenangkan untuk dikerjakan, dan tolong jika Anda menemukan bug atau jika Anda memiliki saran, jangan ragu untuk menyebutkannya di launchpad (baik tautan bug atau tautan pertanyaan).
Jacob Vlijm

Jawaban:

86

Istirahat

TakeaBreak sekarang ada di launchpad

sudo add-apt-repository ppa:vlijm/takeabreak
sudo apt-get update
sudo apt-get install takeabreak

Baru-baru ini (juga) mendorong untuk 18,04 / 18,10 / 19,04


Penafian: Saya penulis

Jangan ragu untuk melaporkan bug dll di sini , atau komentari di sini . Terima kasih kepada orschiro untuk pertanyaan yang bagus, dan Rinzwind atas dorongannya!


sisa break- detik (menggunakan opsi hitung mundur-)

masukkan deskripsi gambar di sini

Pengaturan

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


SUNTING

Versi terpadu & modern untuk Ubuntu Budgie sekarang tersedia:

masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini


masukkan deskripsi gambar di sini


Applet ini kemungkinan besar akan tersedia secara default di Ubuntu Budgie 19.04, tetapi sekarang dapat dicapai di sini sebagai yang eksperimental.

Yakub Vlijm
sumber
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Thomas Ward
23

Anda mungkin juga ingin mempertimbangkan Workrave , meskipun tidak lagi dalam pengembangan. Saya merasa mudah digunakan dan sangat dapat dikustomisasi. Ini juga memiliki beberapa statistik bagus tentang bagaimana Anda menggunakan komputer dan berapa banyak istirahat yang Anda ambil. Terakhir, saya percaya ini juga dapat menyinkronkan dirinya dengan banyak komputer, yang berguna jika, misalnya, Anda bekerja di laptop dan di komputer sekolah.

istirahat istirahat prompt

EDIT: Ini memiliki banyak fitur lain yang belum saya sebutkan, seperti menyarankan beberapa latihan untuk Anda lakukan saat layar diblokir. Dan itu hanya dapat memperhitungkan waktu Anda menggunakan komputer, sehingga tidak akan membuat Anda istirahat ketika Anda kembali dari toilet :)

EDIT 2:

Pastikan Anda memeriksa mode "Membaca"!

Di atas fitur dari hanya menghitung waktu yang Anda telah aktif menggunakan komputer dapat dilihat sebagai bug jika Anda tidak melakukan banyak (tidak ada mouse, tidak ada peristiwa keyboard) karena hanya akan meminta istirahat Anda ketika Anda mengumpul 1h penggunaan (atau berapa banyak waktu yang telah Anda atur). Dalam situasi ini, mengaktifkan mode "Membaca" akan membuatnya meminta pada waktu yang tepat, terlepas dari penggunaan.

Ciprian Tomoiagă
sumber
Terima kasih! Di antara fitur-fiturnya, dengan demikian dapat hitam atau mengunci layar saya selama waktu istirahat?
orschiro
2
itu pasti bisa memblokirnya. tidak yakin tentang menghitamkannya.
Ciprian Tomoiagă
Ini mimpi buruk untuk diinstal.
bartekbrak
1
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă
12

Mentah, minimalis, cara baris perintah:

sleep 1500; gnome-screensaver-command -l; sleep 300; killall gnome-screensaver

Itu juga bisa diubah menjadi pintasan desktop atau diubah menjadi fungsi dalam .bashrc

Mengapa 1500 dan 300? karena itu detik, 1500 detik / 60 detik per menit = 25 menit.


Di bawah ini adalah skrip untuk penghitung waktu yang memungkinkan pengaturan sesi variabel dan waktu istirahat, serta metode pensinyalan istirahat.

Ingatlah bahwa skrip apa pun di linux harus disimpan sebagai file dan memiliki izin yang dapat dieksekusi chmod +x /path/to/script.sh. Setelah selesai, Anda dapat mengikat skrip ke pintasan seperti yang ditunjukkan pada Bagaimana saya mengikat file .sh ke kombinasi keyboard? atau buat pintasan desktop seperti yang ditunjukkan pada Bagaimana cara membuat peluncur di desktop saya?

Saat Anda meluncurkan skrip, Anda akan melihat menu seperti ini:

masukkan deskripsi gambar di sini

#!/bin/bash

# Author: Serg Kolo
# Date : Nov 17th, 2015
# Purpose: pomodoro timer script,
# with bunch of options
# Written for: https://askubuntu.com/q/696620/295286

#####################################################
# screenSaver function
# this one uses gnome-screensaver-command for locking
# and killall for unlocking the screen;
# $1 is provided from chooseBreakMethod function
#####################################################

function screenSaver
{
  gnome-screensaver-command -l; sleep $1 ; killall gnome-screensaver 
}


##############################################
# dialogBreak function
# this serves as "screensaver". The screen is never 
# actually locked but rather we open terminal window 
# with a simple command line dialog
# in full sccrean mode
# $1 provided in chooseBreakMethod function
##################################################
function dialogBreak
{
 gnome-terminal --full-screen  -e  "bash -c 'sleep $1 | dialog --progressbox \"TAKE A BREAK\" 100 100 ' "
}

#################################################################
# dimScreen function 
# dims the screen using xrandr; the --brightness 
# can be configured
# for full or partial dimming using decimal values
# from 1 to 0
# $1 is provided from chooseBreakMethod function
################################################################

function dimScreen
{
  xrandr  | awk '$2 == "connected" {print $1}' | xargs -I % xrandr --output % --brightness 0.5
  notify-send 'Take a Break'
  sleep $1
  xrandr  | awk '$2 == "connected" {print $1}' | xargs -I % xrandr --output % --brightness 1
}

##############################
# getSettings function
# This is where the user enters 
# the settings they want
# All the values must be integers
#############################
function getSettings
{
  FORM=$(zenity --forms \ --title="Sergiy's Tomato Script" --text="Choose this session options" \
   --add-entry="Number of Sessions (how many loops)" \
   --add-entry="Session time (minutes)" \
   --add-entry="Break time (minutes)" \
   --add-entry="Dim,dialog,or screensaver? (1,2,3)" \
   --separator=" " )  

  [ $? -eq 0 ] || exit 1

   echo $FORM
}

################################
# chooseBreakMethod function
# A helper function that calls appropriate
# break method, based on the value we got
# from getSettings function
# Because dialogBreak calls gnome-terminal
# this function exits, so it doesn't wait
# Therefore we need to add additional sleep
# command
###############################

function chooseBreakMethod
{

 # $1 is method passed from  ${SETS[3]}
 # $2 is break time passed from ${SETS[2]}
  case $1 in
    1) dimScreen $2 ;;
        2) dialogBreak $2 ; sleep $2 ;;
    3) screenSaver $2 ;;
  esac

}


function minutesToSeconds
{
  echo $(($1*60))
}

#################
# MAIN
#################

# get user settings and store them into array
# Item 0 : num sessions
# Item 1 : session duration
# Item 2 : break duration
# Item 3 : break method - lockscreen, dialog, or just
# turn off the screen 
# SETS == settings
SETS=( $(getSettings) )

COUNTER=${SETS[0]}

#######################################
# This is where most of the job is done
# we loop according to number of session
# specified in the  getSettings function
#########################################

notify-send 'Session started'
while [ $COUNTER -ne 0  ]; do

  sleep $( minutesToSeconds ${SETS[1]} ) # session timer
  chooseBreakMethod ${SETS[3]} $( minutesToSeconds ${SETS[2]} )
  COUNTER=$(($COUNTER-1))
done

notify-send "tomatoScript is done"
####### END OF SCRIT ###########
Sergiy Kolodyazhnyy
sumber
Saya menikmati melihat berbagai cara orang melakukan hal-hal ini. Pepatah tentang ada lebih dari satu cara untuk menguliti kucing tampaknya tepat. Mungkin menguraikan cara mengikatnya atau cara membuat pintasan desktop mungkin? (Dengan anggapan bahwa kelengkapan adalah tujuan Anda.)
KGIII
10

Berikut adalah alat lain yang disebut Mata Aman untuk tujuan yang sama.

sudo add-apt-repository ppa:slgobinath/safeeyes
sudo apt-get update
sudo apt-get install safeeyes

Layar Istirahat Pendek Mata Aman

Fitur:

  • Istirahat pendek dengan latihan mata
  • Istirahat panjang untuk mengubah posisi fisik dan pemanasan
  • Istirahat ketat bagi mereka yang kecanduan komputer
  • Jangan ganggu saat bekerja dengan aplikasi layar penuh (Misalnya: Menonton film)
  • Nonaktifkan keyboard saat istirahat
  • Pemberitahuan sebelum istirahat
  • Mendukung banyak tampilan
  • Jeda secara otomatis jika sistem idle
  • Peringatan terdengar opsional di akhir jeda
  • Dukungan multi-bahasa

Untuk detail lebih lanjut: https://github.com/slgobinath/SafeEyes

Gobinath
sumber
1
Sangat menyukainya!
Asalle
6

Saya telah menggunakan xwrits selama bertahun-tahun untuk tujuan ini.

sudo apt-get install xwrits

Defaultnya adalah istirahat 5 menit setiap 55 menit, tetapi menurut halaman manual kali ini dapat disesuaikan melalui opsi breaktimedan baris typetimeperintah, masing-masing. Anda juga dapat mengontrol apakah itu mengunci layar menggunakan +lockopsi. Jadi, untuk istirahat 5 menit setiap 25 menit mengunci Anda, Anda harus menjalankannya seperti ini

xwrits typetime=25 breaktime=5 +lock &
Michael Mandel
sumber