Une minuterie qui verrouille automatiquement l'écran pour prendre une pause de l'ordinateur?

63

Je recherche un programme graphique ou en ligne de commande qui me fournit le flux de travail suivant:

  1. Démarrer une session de 25min
  2. Après 25 minutes, l'écran est automatiquement verrouillé pendant 5 minutes (ou peut-être juste devenu noir?)
  3. Maintenant, je suis aidé à faire une pause car je ne peux rien faire devant l'ordinateur autre que de regarder un écran noir ou verrouillé :)
  4. Après 5 minutes, l'écran revient automatiquement et je peux continuer à travailler

Y at-il un programme qui fait exactement cela?

Orschiro
la source
Par défaut, vous voulez dire?
Orschiro
Salut Orschiro, c'est fait! Dernière modification ...
Jacob Vlijm
@JacobVlijm vient d'installer la version de PPA. Quelle belle application que vous avez créée. Merci encore beaucoup!
Orschiro
@orschiro Merci pour la belle question! C'était vraiment très amusant de travailler dessus, et s'il vous plaît, si vous trouvez des bogues ou si vous avez des suggestions, n'hésitez pas à les mentionner sur le tableau de bord (le lien du bogue ou le lien de la question).
Jacob Vlijm

Réponses:

86

Prendre une pause

TakeaBreak est maintenant sur le tableau de bord

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

Récemment (aussi) poussé pour 18.04 / 18.10 / 19.04


Disclaimer: je suis l'auteur

N'hésitez pas à déposer des bogues, etc. ici , ou à commenter ici . Merci à orschiro pour la bonne question et à Rinzwind pour les encouragements!


secondes restantes (en utilisant l'option compte à rebours)

entrez la description de l'image ici

Paramètres

entrez la description de l'image ici

entrez la description de l'image ici


MODIFIER

Une version intégrée et modernisée pour Ubuntu Budgie est maintenant disponible:

entrez la description de l'image ici entrez la description de l'image ici


entrez la description de l'image ici


Cette applet sera probablement disponible par défaut dans Ubuntu Budgie 19.04, mais peut maintenant être réalisée ici à titre expérimental.

Jacob Vlijm
la source
Les commentaires ne sont pas pour une discussion prolongée; cette conversation a été déplacée pour discuter .
Thomas Ward
23

Vous voudrez peut-être aussi envisager Workrave , bien que celui-ci ne soit plus en développement. Je l'ai trouvé facile à utiliser et hautement personnalisable. Il contient également quelques statistiques intéressantes sur votre utilisation de l'ordinateur et le nombre de pauses que vous effectuez. Enfin, je pense qu’il peut également se synchroniser entre de nombreux ordinateurs, ce qui est utile si, par exemple, vous travaillez à la fois sur un ordinateur portable et sur un ordinateur à l’école.

invite de pause de travail

EDIT: Il a beaucoup d'autres fonctionnalités que je n'ai pas mentionnées, comme suggérer des exercices à faire pendant que l'écran est bloqué. Et il ne peut prendre en compte que le temps que vous utilisez sur votre ordinateur, il ne vous demandera donc pas de pause à votre retour des toilettes :)

EDIT 2:

Assurez-vous de vérifier le mode "Lecture"!

La fonctionnalité ci-dessus consistant à ne compter que le temps d'utilisation active de l'ordinateur peut être considérée comme un bogue si vous ne faites pas beaucoup (pas de souris, pas d'événements de clavier), car elle ne fera que rappeler votre pause lorsque vous cumulez 1 heure d'utilisation (ou combien de temps vous avez mis en place). Dans ces situations, l'activation du mode "Lecture" le fera apparaître rapidement à l'heure exacte, indépendamment de l'utilisation.

Ciprian Tomoiagă
la source
Merci! Parmi les fonctionnalités, il peut donc noir ou verrouiller mon écran pendant les pauses?
Orschiro
2
ça peut définitivement le bloquer. pas sûr de le noircir.
Ciprian Tomoiagă
C'est un cauchemar à installer.
bartekbrak
1
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă 23/03/17
12

Brut, minimaliste, en ligne de commande:

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

Cela peut également être transformé en un raccourci sur le bureau ou transformé en fonction dans .bashrc

Pourquoi 1500 et 300? parce que c'est secondes, 1500 secondes / 60 secondes par minute = 25 minutes.


Vous trouverez ci-dessous un script pour un minuteur qui permet de définir une session et une heure de pause variables, ainsi que des méthodes de signalisation de la pause.

N'oubliez pas que tous les scripts sous Linux doivent être enregistrés dans un fichier et dotés d'autorisations exécutables chmod +x /path/to/script.sh. Une fois que cela est fait, vous pouvez lier le script à un raccourci comme indiqué dans Comment lier des fichiers .sh à une combinaison de clavier? ou créer un raccourci sur le bureau, comme indiqué dans Comment créer des lanceurs sur mon bureau?

Lorsque vous lancez le script, vous devriez voir un menu comme celui-ci:

entrez la description de l'image ici

#!/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
la source
J'aime voir les différentes façons dont les gens abordent ces choses. L'adage selon lequel il y a plus d'une façon de peler un chat semble approprié. Peut-être que vous pouvez expliquer comment le lier ou comment créer un raccourci sur le bureau? (En supposant que votre objectif soit la complétude.)
KGIII
10

Voici un autre outil appelé Safe Eyes dans le même but.

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

Écran Safe Eyes Short Break

Fonctionnalités:

  • Courtes pauses avec exercices oculaires
  • Longues pauses pour changer de position physique et pour s'échauffer
  • Pause stricte pour ceux qui sont accro à l'ordinateur
  • Ne pas déranger lorsque vous travaillez avec des applications plein écran (Ex: Regarder des films)
  • Désactiver le clavier pendant la pause
  • Notifications avant chaque pause
  • Soutenir plusieurs écrans
  • Mettre automatiquement en pause si le système est inactif
  • Alerte sonore optionnelle à la fin des pauses
  • Prise en charge multilingue

Pour plus de détails: https://github.com/slgobinath/SafeEyes

Gobinath
la source
1
J'aime beaucoup!
Asalle
6

J'ai utilisé xwrits pendant de nombreuses années à cette fin.

sudo apt-get install xwrits

La pause par défaut est de 5 minutes toutes les 55 minutes, mais selon la page de manuel, ces heures sont personnalisables via les options en ligne de commande breaktimeet typetime. Vous pouvez également contrôler si l'écran est verrouillé à l'aide de l' +lockoption. Donc, pour le régler sur une pause de 5 minutes toutes les 25 minutes, vous devriez le lancer comme ceci

xwrits typetime=25 breaktime=5 +lock &
Michael Mandel
la source