Um temporizador que bloqueia automaticamente a tela para fazer uma pausa no computador?

63

Estou procurando um programa gráfico ou de linha de comando que me forneça o seguinte fluxo de trabalho:

  1. Iniciar uma sessão de 25 minutos
  2. Após 25 minutos, a tela é bloqueada automaticamente por 5 minutos (ou talvez apenas fique preta?)
  3. Agora sou ajudado a fazer uma pausa porque não posso fazer nada na frente do computador além de olhar para uma tela preta ou bloqueada :)
  4. Após 5 minutos, a tela retorna automaticamente e posso continuar trabalhando

Existe um programa que faz exatamente isso?

orschiro
fonte
Como recurso padrão, você quer dizer?
orschiro
Oi orschiro, está feito! Veja a edição mais recente ...
Jacob Vlijm
@JacobVlijm acabou de instalar a versão do PPA. Que aplicativo bonito você criou. Muito obrigado novamente!
Orschiro 5/12
@orschiro Obrigado pela boa pergunta! Foi realmente muito divertido trabalhar, e por favor, se você encontrar bugs ou tiver sugestões, não hesite em mencioná-lo na barra de lançamento (o link do bug ou o link da pergunta).
precisa saber é o seguinte

Respostas:

86

Dar um tempo

O TakeaBreak está agora na barra de lançamento

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

Recentemente (também) enviado para 18.04 / 18.10 / 19.04


Disclaimer: Eu sou o autor

Sinta-se à vontade para arquivar bugs etc. aqui ou comentar aqui . Agradeço a orschiro pela boa pergunta e a Rinzwind pelo incentivo!


segundos de intervalo restantes (usando a opção contagem regressiva)

insira a descrição da imagem aqui

Configurações

insira a descrição da imagem aqui

insira a descrição da imagem aqui


EDITAR

Uma versão integrada e modernizada para o Ubuntu Budgie já está disponível:

insira a descrição da imagem aqui insira a descrição da imagem aqui


insira a descrição da imagem aqui


Este applet provavelmente estará disponível por padrão no Ubuntu Budgie 19.04, mas agora pode ser alcançado aqui como experimental.

Jacob Vlijm
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Thomas Ward
23

Você também pode considerar o Workrave , embora não esteja mais em desenvolvimento. Achei fácil de usar e altamente personalizável. Ele também possui algumas estatísticas interessantes sobre como você usa o computador e quantas pausas você faz. Por fim, acredito que ele também pode se sincronizar entre muitos computadores, o que é útil se, por exemplo, você trabalha no laptop e no computador da escola.

prompt de pausa para descanso

EDIT: Ele tem muitos outros recursos que eu não mencionei, como sugerir alguns exercícios para você fazer enquanto a tela está bloqueada. E isso pode levar em consideração apenas o tempo em que você estiver usando o computador, para que não seja interrompido quando você voltar do banheiro :)

EDIT 2:

Certifique-se de verificar o modo "Leitura"!

O recurso acima , que conta apenas o tempo em que você está ativamente usando o computador, pode ser visto como um erro se você não estiver fazendo muito (sem mouse, sem eventos de teclado), porque só solicitará sua interrupção quando você acumular 1 hora de uso (ou quanto tempo você configurou). Nessas situações, a ativação do modo "Leitura" fará com que seja solicitado no momento exato, independentemente do uso.

Ciprian Tomoiagă
fonte
Obrigado! Entre os recursos, ele pode ficar preto ou bloquear minha tela durante o intervalo?
orschiro
2
definitivamente pode bloqueá-lo. não tenho certeza sobre o escurecimento.
Ciprian Tomoiagă 11/11
É um pesadelo para instalar.
bartekbrak
11
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă
12

Maneira bruta, minimalista e de linha de comando:

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

Isso também pode ser transformado em atalho na área de trabalho ou em função .bashrc

Por que 1500 e 300? porque isso é segundos, 1500 segundos / 60 segundos por minuto = 25 minutos.


Abaixo está um script para um cronômetro que permite definir sessões variáveis ​​e tempo de pausa, bem como métodos de sinalizar a pausa.

Lembre-se de que qualquer script no linux deve ser salvo como um arquivo e ter permissões executáveis ​​definidas com chmod +x /path/to/script.sh. Feito isso, você pode vincular o script a um atalho, como mostrado em Como vincular arquivos .sh à combinação de teclado? ou crie um atalho na área de trabalho, como mostrado em Como criar lançadores na minha área de trabalho?

Ao iniciar o script, você verá um menu como este:

insira a descrição da imagem aqui

#!/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
fonte
Gosto de ver as diferentes maneiras pelas quais as pessoas lidam com essas coisas. O ditado sobre a existência de mais de uma maneira de esfolar um gato parece apropriado. Talvez saiba como vinculá-lo ou como criar um atalho na área de trabalho, talvez? (Supondo que a
perfeição
10

Aqui está outra ferramenta chamada Safe Eyes para o mesmo objetivo.

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

Tela Safe Break Short Break

Recursos:

  • Pausas curtas com exercícios para os olhos
  • Pausas longas para mudar de posição física e aquecer
  • Intervalo estrito para quem é viciado em computador
  • Não perturbe ao trabalhar com aplicativos em tela cheia (por exemplo: assistindo filmes)
  • Desativar o teclado durante o intervalo
  • Notificações antes de cada intervalo
  • Suporte a vários monitores
  • Pausar automaticamente se o sistema estiver ocioso
  • Alerta sonoro opcional no final dos intervalos
  • Suporte multilíngue

Para mais detalhes: https://github.com/slgobinath/SafeEyes

Gobinath
fonte
11
Amo tanto!
Asalle
6

Eu tenho usado xwrits por muitos anos para esse fim.

sudo apt-get install xwrits

O padrão é uma pausa de 5 minutos a cada 55 minutos, mas, de acordo com a página de manual, esses horários são personalizáveis ​​pelas opções de linha de comando breaktimee typetime, respectivamente. Você também pode controlar se ele bloqueia a tela usando a +lockopção Portanto, para definir uma pausa de 5 minutos a cada 25 minutos, você deve executá-lo assim

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