¿Un temporizador que bloquea automáticamente la pantalla para tomar un descanso del ordenador?

¿Un temporizador que bloquea automáticamente la pantalla para tomar un descanso del ordenador?

Estoy buscando un programa gráfico o de línea de comandos que me proporcione el siguiente flujo de trabajo:

  1. Iniciar una sesión de 25min
  2. Después de 25 minutos, la pantalla se bloquea automáticamente durante 5 minutos (¿o tal vez simplemente se vuelve negra?)
  3. Ahora me ayudan a tomar un descanso porque no puedo hacer nada frente a la computadora más que mirar una pantalla negra o bloqueada :)
  4. Después de 5 minutos, la pantalla regresa automáticamente y puedo continuar trabajando.

¿Existe algún programa que haga exactamente esto?

Respuesta1

Tomar un descanso

TakeaBreak ya está en marchaplataforma de lanzamiento

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

Recientemente (también) presioné para 18.04 / 18.10 / 19.04


Descargo de responsabilidad: soy el autor

Siéntase libre de presentar errores, etc.aquí, o comentaraquí. ¡Gracias a Orschiro por la linda pregunta y a Rinzwind por el aliento!


segundos de descanso restantes (usando la opción de cuenta regresiva)

ingrese la descripción de la imagen aquí

Ajustes

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí


EDITAR

Ya está disponible una versión integrada y modernizada para Ubuntu Budgie:

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí


Este subprograma probablemente estará disponible de forma predeterminada en Ubuntu Budgie 19.04, pero ahora se puede lograraquícomo experimental.

Respuesta2

Quizás también quieras considerartrabajorave. Lo encontré fácil de usar y altamente personalizable. También tiene algunas estadísticas bastante interesantes sobre cómo usas la computadora y cuántos descansos tomas. Por último, creo que también puede sincronizarse entre muchas computadoras, lo cual es útil si, por ejemplo, trabajas tanto en la computadora portátil como en la computadora de la escuela.

aviso de descanso workrave

EDITAR: Tiene muchas otras características que no he mencionado, como sugerir algunos ejercicios para que hagas mientras la pantalla está bloqueada. Y puede tener en cuenta sólo el tiempo que estás usando la computadora, por lo que no te pedirá un descanso cuando regreses del baño :)

EDITAR 2:

¡Asegúrate de revisar el modo "Lectura"!

Lo anteriorcaracterísticacontar solo el tiempo que ha estado usando activamente la computadora puede verse como un error si no está haciendo mucho (sin mouse, sin eventos de teclado) porque solo solicitará su descanso cuando acumule 1 hora de uso (o cómo cuánto tiempo has configurado). En estas situaciones, habilitar el modo "Lectura" hará que se le indique en el momento exacto, independientemente del uso.

Respuesta3

Manera tosca y minimalista de línea de comandos:

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

Eso también se puede convertir en un acceso directo en el escritorio o en una función en.bashrc

¿Por qué 1500 y 300? porque son segundos, 1500 segundos/60 segundos por minuto = 25 minutos.


A continuación se muestra un script para un temporizador que permite configurar sesiones variables y tiempos de descanso, así como métodos para señalar el descanso.

Recuerde que cualquier script en Linux debe guardarse como un archivo y tener permisos ejecutables configurados con chmod +x /path/to/script.sh. Una vez hecho esto, puede vincular el script a un acceso directo como se muestra en¿Cómo vinculo archivos .sh a una combinación de teclado?o cree un acceso directo en el escritorio como se muestra en¿Cómo puedo crear lanzadores en mi escritorio?

Cuando inicie el script, debería ver un menú como este:

ingrese la descripción de la imagen aquí

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

Respuesta4

He usadoescrituras xdurante muchos años con este fin.

sudo apt-get install xwrits

Por defecto es un descanso de 5 minutos cada 55 minutos, pero según elpágina de manualEstos tiempos se pueden personalizar mediante las opciones de línea de comando breaktimey typetime, respectivamente. También puedes controlar si bloquea la pantalla usando la +lockopción. Entonces, para configurarlo para un descanso de 5 minutos cada 25 minutos y bloquearte, debes ejecutarlo así

xwrits typetime=25 breaktime=5 +lock &

información relacionada