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?


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.


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.


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

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


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 &

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.