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

63

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

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

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

orschiro
источник
В качестве функции по умолчанию вы имеете в виду?
Орширо
Привет, Орширо, готово! Смотрите последние изменения ...
Джейкоб Влейм
@JacobVlijm только что установил версию PPA. Какое прекрасное приложение вы создали. Еще раз большое спасибо!
Орширо
@orschiro Спасибо за хороший вопрос! Работать было действительно здорово, и, если вы обнаружите ошибки или у вас есть предложения, не стесняйтесь упоминать об этом на панели запуска (либо ссылку на ошибку, либо ссылку на вопрос).
Джейкоб Влейм

Ответы:

86

TakeaBreak

TakeaBreak теперь на панели запуска

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

Недавно (также) выдвинуто на 18.04 / 18.10 / 19.04


Отказ от ответственности: я автор

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


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

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

настройки

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

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


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

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

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


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


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

Якоб Влейм
источник
Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
Томас Уорд
23

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

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

РЕДАКТИРОВАТЬ: у него есть много других функций, которые я не упомянул, например, предложить некоторые упражнения для вас, когда экран заблокирован. И он может учитывать только время, в течение которого вы используете компьютер, поэтому он не подскажет вам перерыв, когда вы вернетесь из туалета :)

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

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

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

Ciprian Tomoiagă
источник
Спасибо! Среди функций, он может таким образом черный или заблокировать мой экран во время перерыва?
Орширо
2
это может определенно заблокировать это. не уверен насчет черноты.
Ciprian Tomoiagă
Это кошмар для установки.
bartekbrak
1
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă
12

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

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 ###########
Сергей Колодяжный
источник
Мне нравится видеть разные способы, которыми люди поступают с этими вещами. Поговорка о том, что кошка может быть более чем одним способом, кажется уместной. Может быть, выяснить, как связать это или как сделать ярлык на рабочем столе, возможно? (Предполагая, что завершенность является вашей целью.)
KGIII
10

Вот еще один инструмент под названием Safe Eyes для той же цели.

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

Safe Eyes Short Break Screen

Функции:

  • Короткие перерывы с упражнениями для глаз
  • Длинные перерывы, чтобы изменить физическое положение и разогреть
  • Строгий перерыв для тех, кто зависим от компьютера
  • Не беспокоить при работе с полноэкранными приложениями (например: просмотр фильмов)
  • Отключить клавиатуру во время перерыва
  • Уведомления перед каждым перерывом
  • Поддержка нескольких дисплеев
  • Автоматическая пауза, если система простаивает
  • Дополнительный звуковой сигнал в конце перерывов
  • Многоязычная поддержка

Для получения более подробной информации: https://github.com/slgobinath/SafeEyes

Gobinath
источник
1
Люблю это так сильно!
Асалле
6

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

sudo apt-get install xwrits

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

xwrits typetime=25 breaktime=5 +lock &
Майкл Мандель
источник