Um cronômetro que bloqueia automaticamente a tela para fazer uma pausa no computador?

Um cronômetro que bloqueia automaticamente a tela para fazer uma pausa no computador?

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

  1. Inicie 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 fui ajudado a fazer uma pausa porque não consigo 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?

Responder1

Dar um tempo

TakeaBreak está agora no arplataforma de lançamento

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

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


Isenção de responsabilidade: eu sou o autor

Sinta-se à vontade para registrar bugs, etc.aquiou comenteaqui. Obrigado a orschiro pela bela pergunta e a Rinzwind pelo incentivo!


segundos de intervalo restantes (usando a opção de 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 Ubuntu Budgie já está disponível:

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


insira a descrição da imagem aqui


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

Responder2

Você também pode querer considerarWorkrave. Achei fácil de usar e altamente personalizável. Ele também tem algumas estatísticas muito interessantes sobre como você usa o computador e quantas pausas você faz. Por último, acredito que ele também pode sincronizar-se entre vários computadores, o que é útil se, por exemplo, você trabalha tanto no laptop quanto no computador escolar.

prompt de pausa para descanso no workrave

EDIT: Tem muitos outros recursos que não mencionei, como sugerir alguns exercícios para você fazer enquanto a tela está bloqueada. E pode levar em consideração apenas o tempo que você está usando o computador, para não solicitar uma pausa quando você voltar do banheiro :)

EDITAR 2:

Certifique-se de verificar o modo "Leitura"!

O de cimarecursocontar apenas o tempo que você está usando ativamente o computador pode ser visto como um bug se você não estiver fazendo muito (sem mouse, sem eventos de teclado) porque isso só solicitará sua pausa quando você acumular 1h de uso (ou como muito tempo que você configurou). Nessas situações, habilitar o modo “Leitura” fará com que ele seja solicitado no momento exato, independente do uso.

Responder3

Maneira grosseira e minimalista de linha de comando:

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

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

Por que 1500 e 300? porque são segundos, 1.500 segundos/60 segundos por minuto = 25 minutos.


Abaixo segue um script de cronômetro que permite definir tempo variável de sessão e intervalo, bem como métodos de sinalização de intervalo.

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 emComo vinculo arquivos .sh à combinação do teclado?ou crie um atalho na área de trabalho conforme mostrado emComo posso criar lançadores na minha área de trabalho?

Ao iniciar o script, você deverá 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 ###########

Responder4

Eu tenho usadoxwriteshá muitos anos para esse fim.

sudo apt-get install xwrits

O padrão é um intervalo de 5 minutos a cada 55 minutos, mas de acordo com opágina de manualesses horários são personalizáveis ​​por meio das opções de linha de comando breaktimee typetime, respectivamente. Você também pode controlar se a tela será bloqueada usando a +lockopção. Então, para configurá-lo para um intervalo de 5 minutos a cada 25 minutos bloqueando você, você deve executá-lo assim

xwrits typetime=25 breaktime=5 +lock &

informação relacionada