¿Un temporizador que bloquea automáticamente la pantalla para alejarse de la computadora?

63

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

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

¿Hay algún programa que haga exactamente esto?

orschiro
fuente
¿Como una característica predeterminada quieres decir?
orschiro
Hola orschiro, ya está hecho! Ver última edición ...
Jacob Vlijm
@JacobVlijm acaba de instalar la versión PPA. Qué hermosa aplicación creaste. Muchas gracias de nuevo!
orschiro
@orschiro Gracias por la buena pregunta! Fue realmente divertido trabajar en él, y si encuentra errores o si tiene sugerencias, no dude en mencionarlo en el launchpad (ya sea el enlace de error o el enlace de pregunta).
Jacob Vlijm

Respuestas:

86

Tomar un descanso

TakeaBreak ahora está en la plataforma 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 comentar aquí . ¡Gracias a orschiro por la buena 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í

Configuraciones

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í


Es muy probable que este applet esté disponible por defecto en Ubuntu Budgie 19.04, pero ahora se puede lograr aquí como uno experimental.

Jacob Vlijm
fuente
Los comentarios no son para discusión extendida; Esta conversación se ha movido al chat .
Thomas Ward
23

Es posible que también desee considerar Workrave , aunque ya no está en desarrollo. Lo encontré fácil de usar y altamente personalizable. También tiene algunas estadísticas bastante bonitas sobre cómo usa la computadora y cuántos descansos toma. 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 de descanso de trabajo

EDITAR: tiene muchas otras características que no he mencionado, como sugerirle que haga algunos ejercicios mientras la pantalla está bloqueada. Y puede tener en cuenta solo el tiempo que está usando la computadora, por lo que no le pedirá un descanso cuando regrese del baño :)

EDITAR 2:

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

La característica anterior de contar solo el tiempo que ha estado usando la computadora activamente puede verse como un error si no está haciendo mucho (sin mouse, sin eventos de teclado) porque solo provocará su descanso cuando acumule 1 hora de uso (o cuánto tiempo has configurado). En estas situaciones, habilitar el modo "Lectura" lo hará aparecer en el momento exacto, independientemente del uso.

Ciprian Tomoiagă
fuente
¡Gracias! Entre las características, ¿puede bloquear o bloquear mi pantalla durante el tiempo de descanso?
orschiro
2
definitivamente puede bloquearlo. No estoy seguro de ennegrecerlo.
Ciprian Tomoiagă
Es una pesadilla instalarlo.
bartekbrak
1
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă
12

Forma cruda, minimalista y 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 de escritorio o en 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 pausa, así como métodos para señalar la pausa.

Recuerde que cualquier script en Linux debe guardarse como un archivo y tener permisos ejecutables establecidos 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 la combinación de teclado? o crear un acceso directo de 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 ###########
Sergiy Kolodyazhnyy
fuente
Disfruto viendo las diferentes formas en que las personas hacen estas cosas. El adagio sobre que hay más de una forma de desollar a un gato parece apropiado. ¿Quizás pensar cómo vincularlo o cómo hacer un acceso directo de escritorio? (Suponiendo que su meta sea la integridad.)
KGIII
10

Aquí hay otra herramienta llamada Safe Eyes para el mismo propósito.

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

Pantalla de descanso corto Safe Eyes

caracteristicas:

  • Breves descansos con ejercicios oculares
  • Pausas largas para cambiar de posición física y para calentarse.
  • Estricto descanso para aquellos que son adictos a la computadora
  • No molestar cuando trabaje con aplicaciones de pantalla completa (por ejemplo: ver películas)
  • Deshabilitar el teclado durante el descanso
  • Notificaciones antes de cada descanso
  • Soporta múltiples pantallas
  • Pausa automáticamente si el sistema está inactivo
  • Alerta audible opcional al final de los descansos
  • Soporte multi-idioma

Para más detalles: https://github.com/slgobinath/SafeEyes

Gobinath
fuente
1
¡Lo amo tanto!
Asalle
6

He usado xwrits durante muchos años para este propósito.

sudo apt-get install xwrits

El valor predeterminado es un descanso de 5 minutos cada 55 minutos, pero según la página del manual, estos tiempos se pueden personalizar a través de las opciones de línea de comandos breaktimey typetime, respectivamente. También puede controlar si bloquea la pantalla usando la +lockopción. Entonces, para configurarlo para un descanso de 5 minutos cada 25 minutos que lo bloquea, debe ejecutarlo así

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