コンピュータから離れて休憩するために画面を自動的にロックするタイマーですか?

コンピュータから離れて休憩するために画面を自動的にロックするタイマーですか?

次のワークフローを提供するグラフィカル プログラムまたはコマンド ライン プログラムを探しています。

  1. 25分のセッションを開始する
  2. 25 分後、画面は自動的に 5 分間ロックされます (または単に黒くなるだけでしょうか?)
  3. 今は、黒い画面やロックされた画面を見ること以外、コンピューターの前で何もできないので、休憩を取るのに役立っています :)
  4. 5分後、画面は自動的に戻り、作業を続行できます。

まさにこれを実行するプログラムはありますか?

答え1

休憩する

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

検討したいのは以下の点ですワークレイブ使いやすく、カスタマイズ性も高いと感じました。また、コンピューターの使用方法や休憩回数に関する非常に優れた統計情報も表示されます。最後に、複数のコンピューター間で同期することもできると思います。これは、たとえば、ラップトップと学校のコンピューターの両方で作業する場合に便利です。

ワークレイブ休憩プロンプト

編集: 画面がブロックされている間に行うエクササイズを提案するなど、私が言及していない他の多くの機能があります。また、コンピューターを使用している時間のみを考慮できるため、トイレから戻ったときに休憩を促すことはありません:)

編集2:

ぜひ「読書」モードをチェックしてみてください!

上記特徴コンピューターをアクティブに使用している時間のみをカウントするという設定は、あまり操作していない (マウスやキーボード イベントがない) 場合はバグとみなされる可能性があります。これは、使用時間が 1 時間 (または設定した時間) に達したときにのみ休憩を促すためです。このような状況では、「読み取り」モードを有効にすると、使用状況に関係なく、正確な時間にプロンプ​​トが表示されます。

答え3

粗雑でミニマリストなコマンドライン方式:

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

これをデスクトップのショートカットにしたり、.bashrc

なぜ 1500 と 300 なのでしょうか? それは秒数だからです。1500 秒 / 1 分あたり 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

デフォルトでは55分ごとに5分間の休憩が設けられていますが、マニュアルページbreaktimeこれらの時間は、それぞれおよびコマンドラインオプションでカスタマイズできますtypetime。 オプションを使用して、画面をロックするかどうかも制御できます+lock。したがって、25 分ごとに 5 分間の休止を設定してロックアウトするには、次のように実行します。

xwrits typetime=25 breaktime=5 +lock &

関連情報