Таймер, который автоматически блокирует экран, чтобы отдохнуть от компьютера?

Таймер, который автоматически блокирует экран, чтобы отдохнуть от компьютера?

Я ищу графическую или командную программу, которая обеспечит мне следующий рабочий процесс:

  1. Начните 25-минутный сеанс
  2. Через 25 минут экран автоматически блокируется на 5 минут (или просто становится черным?)
  3. Теперь мне помогают сделать перерыв, потому что я не могу ничего делать перед компьютером, кроме как смотреть на черный или заблокированный экран :)
  4. Через 5 минут экран автоматически возвращается, и я могу продолжить работу.

Есть ли программа, которая делает именно это?

решение1

TakeaBreak

TakeaBreak уже в эфирестартовая площадка

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

Недавно (также) продвигали 18.04 / 18.10 / 19.04


Отказ от ответственности: Я являюсь автором

Не стесняйтесь сообщать об ошибках и т.п.здесь, или комментарийздесь. Спасибо orschiro за хороший вопрос и Rinzwind за поддержку!


оставшиеся секунды перерыва (используя опцию обратного отсчета)

введите описание изображения здесь

Настройки

введите описание изображения здесь

введите описание изображения здесь


РЕДАКТИРОВАТЬ

Теперь доступна интегрированная и модернизированная версия для Ubuntu Budgie:

введите описание изображения здесьвведите описание изображения здесь


введите описание изображения здесь


Этот апплет, скорее всего, будет доступен по умолчанию в Ubuntu Budgie 19.04, но теперь его можно получитьздеськак экспериментальный.

решение2

Вы также можете рассмотретьWorkrave. Я нашел его простым в использовании и очень настраиваемым. Он также имеет некоторые довольно приятные статистические данные о том, как вы используете компьютер и сколько перерывов вы делаете. Наконец, я считаю, что он также может синхронизироваться между многими компьютерами, что полезно, если, например, вы работаете и на ноутбуке, и на школьном компьютере.

Workrave подсказка для перерыва на отдых

EDIT: У него есть много других функций, о которых я не упомянул, например, предложение упражнений для вас, пока экран заблокирован. И он может учитывать только время, когда вы используете компьютер, поэтому он не будет предлагать вам сделать перерыв, когда вы вернетесь из туалета :)

ПРАВКА 2:

Обязательно ознакомьтесь с режимом «Чтение»!

Вышеособенностьподсчет только времени, когда вы активно используете компьютер, может рассматриваться как ошибка, если вы не делаете много (без мыши, без событий клавиатуры), поскольку он будет запрашивать перерыв только когда вы накопите 1 час использования (или сколько времени вы установили). В таких ситуациях включение режима «Чтение» заставит его запрашивать точное время, независимо от использования.

решение3

Грубый, минималистский, командно-строчный способ:

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

Это также можно превратить в ярлык на рабочем столе или превратить в функцию в.bashrc

Почему 1500 и 300? Потому что это секунды, 1500 секунд/60 секунд в минуте = 25 минут.


Ниже представлен скрипт для таймера, позволяющий устанавливать переменное время сеанса и перерыва, а также способы сигнализации о перерыве.

Помните, что любой скрипт в Linux должен быть сохранен как файл и иметь права на исполнение, установленные с помощью chmod +x /path/to/script.sh. После этого вы можете привязать скрипт к ярлыку, как показано вКак привязать файлы .sh к сочетанию клавиш?или создайте ярлык на рабочем столе, как показано на рисункеКак создать лаунчеры на рабочем столе?

При запуске скрипта вы должны увидеть такое меню:

введите описание изображения здесь

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

решение4

я использовалxwritsв течение многих лет для этой цели.

sudo apt-get install xwrits

По умолчанию перерыв составляет 5 минут каждые 55 минут, но согласностраница руководстваэти времена настраиваются с помощью параметров командной строки breaktimeи typetimeсоответственно. Вы также можете контролировать, будет ли он блокировать экран, используя +lockпараметр. Таким образом, чтобы установить его на 5-минутный перерыв каждые 25 минут, блокируя вас, вы должны запустить его следующим образом

xwrits typetime=25 breaktime=5 +lock &

Связанный контент