Un timer che blocca automaticamente lo schermo per staccare dal computer?


63

Sto cercando un programma grafico o da riga di comando che mi fornisca il seguente flusso di lavoro:

  1. Inizia una sessione di 25 minuti
  2. Dopo 25 minuti lo schermo viene automaticamente bloccato per 5 minuti (o forse è diventato nero?)
  3. Ora sono aiutato a fare una pausa perché non posso fare nulla davanti al computer se non guardare uno schermo nero o bloccato :)
  4. Dopo 5 minuti, lo schermo ritorna automaticamente e posso continuare a lavorare

Esiste un programma che fa esattamente questo?


Come caratteristica predefinita intendi?
Orschiro,

Ciao Orschiro, è fatto! Vedi l'ultima modifica ...
Jacob Vlijm,

@JacobVlijm ha appena installato la versione PPA. Che bella applicazione che hai creato. Grazie ancora!
Orschiro,

@orschiro Grazie per la bella domanda! È stato davvero divertente lavorare su, e per favore se trovi bug o se hai suggerimenti, non esitare a menzionarlo sul launchpad (sia il link dei bug o il link delle domande).
Jacob Vlijm,

Risposte:


86

Fare una pausa

TakeaBreak è ora sul launchpad

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

Di recente (anche) spinto per il 18.04 / 18.10 / 19.04


Disclaimer: sono l'autore

Sentiti libero di archiviare bug ecc. Qui o commentare qui . Grazie a orschiro per la bella domanda e Rinzwind per l'incoraggiamento!


secondi di pausa rimanenti (usando l'opzione conto alla rovescia)

inserisci qui la descrizione dell'immagine

impostazioni

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


MODIFICARE

Una versione integrata e modernizzata per Ubuntu Budgie è ora disponibile:

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine


inserisci qui la descrizione dell'immagine


Molto probabilmente questa applet sarà disponibile di default in Ubuntu Budgie 19.04, ma ora può essere raggiunta qui come sperimentale.


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Thomas Ward

23

Puoi anche prendere in considerazione Workrave , anche se non è più in fase di sviluppo. L'ho trovato facile da usare e altamente personalizzabile. Ha anche delle belle statistiche preatty su come usi il computer e quante pause fai. Infine, credo che possa anche sincronizzarsi tra molti computer, il che è utile se, ad esempio, lavori sia sul laptop che su un computer scolastico.

richiesta di pausa per il resto del lavoro

EDIT: Ha molte altre funzionalità che non ho menzionato, come suggerire alcuni esercizi da fare mentre lo schermo è bloccato. E può prendere in considerazione solo il tempo in cui stai usando il computer, quindi non ti chiederà una pausa quando torni dalla toilette :)

MODIFICA 2:

Assicurati di dare un'occhiata alla modalità "Lettura"!

La funzione precedente di contare solo il tempo in cui stai attivamente utilizzando il computer può essere vista come un bug se non stai facendo molto (niente mouse, niente eventi da tastiera) perché ti chiederà l'interruzione solo quando accumuli 1 ora di utilizzo (o quanto tempo hai impostato). In queste situazioni, l'attivazione della modalità "Lettura" lo farà richiedere all'ora esatta, indipendentemente dall'uso.


Grazie! Tra le funzionalità, può quindi oscurare o bloccare il mio schermo durante l'intervallo?
Orschiro,

2
può sicuramente bloccarlo. non sono sicuro di annerirlo.
Ciprian Tomoiagă,

È un incubo da installare.
Bartekbrak,

1
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă,

12

Modo grezzo, minimalista, da riga di comando:

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

Questo può anche essere trasformato in un collegamento sul desktop o trasformato in funzione in .bashrc

Perché 1500 e 300? perché sono secondi, 1500 secondi / 60 secondi al minuto = 25 minuti.


Di seguito è riportato uno script per un timer che consente di impostare la sessione variabile e il tempo di interruzione, nonché i metodi per segnalare l'interruzione.

Ricorda che qualsiasi script su Linux deve essere salvato come file e avere permessi eseguibili impostati con chmod +x /path/to/script.sh. Una volta fatto, puoi associare lo script a una scorciatoia come mostrato in Come legare i file .sh alla combinazione di tastiera? o creare un collegamento sul desktop come mostrato in Come posso creare lanciatori sul mio desktop?

Quando avvii lo script dovresti vedere un menu come questo:

inserisci qui la descrizione dell'immagine

#!/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 ###########

Mi piace vedere i diversi modi in cui le persone affrontano queste cose. Il adagio sul fatto che ci sia più di un modo per scuoiare un gatto sembra appropriato. Forse chiarire come legarlo o come creare un collegamento sul desktop forse? (Supponendo che la completezza sia il tuo obiettivo.)
KGIII,

10

Ecco un altro strumento chiamato Safe Eyes per lo stesso scopo.

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

Schermo Safe Eyes Short Break

Caratteristiche:

  • Brevi pause con esercizi per gli occhi
  • Lunghe pause per cambiare posizione fisica e riscaldarsi
  • Rottura rigorosa per coloro che sono dipendenti dal computer
  • Non disturbare quando si lavora con applicazioni a schermo intero (ad esempio: visione di filmati)
  • Disabilita la tastiera durante la pausa
  • Notifiche prima di ogni pausa
  • Supporta display multipli
  • Pausa automatica se il sistema è inattivo
  • Avviso acustico opzionale alla fine delle pause
  • Supporto multilingue

Per maggiori dettagli: https://github.com/slgobinath/SafeEyes


1
Lo adoro così tanto!
Asalle,

6

Per questo scopo ho usato xwrits per molti anni.

sudo apt-get install xwrits

L'impostazione predefinita è una pausa di 5 minuti ogni 55 minuti, ma in base alla pagina man questi tempi sono personalizzabili rispettivamente tramite le opzioni della riga di comando breaktimee typetime. Puoi anche controllare se blocca lo schermo usando l' +lockopzione. Quindi per impostarlo per una pausa di 5 minuti ogni 25 minuti bloccandoti, dovresti eseguirlo in questo modo

xwrits typetime=25 breaktime=5 +lock &

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.