จับเวลาที่ล็อคหน้าจอโดยอัตโนมัติเพื่อหยุดพักจากคอมพิวเตอร์?


63

ฉันกำลังมองหาโปรแกรมกราฟิกหรือบรรทัดคำสั่งที่ให้ฉันกับเวิร์กโฟลว์ต่อไปนี้:

  1. เริ่มเซสชัน 25 นาที
  2. หลังจากหน้าจอ 25 นาทีถูกล็อคโดยอัตโนมัติเป็นเวลา 5 นาที (หรืออาจกลายเป็นสีดำ?)
  3. ตอนนี้ฉันช่วยหยุดพักเพราะฉันไม่สามารถทำอะไรต่อหน้าคอมพิวเตอร์ได้นอกจากมองหน้าจอสีดำหรือถูกล็อค :)
  4. หลังจาก 5 นาทีหน้าจอจะกลับมาโดยอัตโนมัติและฉันสามารถทำงานต่อไปได้

มีโปรแกรมที่ทำสิ่งนี้หรือไม่?


ในฐานะที่เป็นคุณสมบัติเริ่มต้นคุณหมายถึงอะไร
orschiro

สวัสดี orschiro ก็ทำได้แล้ว! ดูการแก้ไขล่าสุด ...
Jacob Vlijm

@JacobVlijm เพิ่งติดตั้งรุ่น PPA แอพพลิเคชั่นที่สวยงามที่คุณสร้างขึ้น ขอบคุณอีกครั้งมาก!
orschiro

@orschiro ขอบคุณสำหรับคำถามที่ดี! มันสนุกมากที่ได้ทำงานและโปรดหาข้อบกพร่องหรือหากคุณมีข้อเสนอแนะอย่าลังเลที่จะพูดถึงมันบน launchpad (ทั้งบั๊กลิงก์หรือคำถามลิงก์)
Jacob Vlijm

คำตอบ:


86

หยุดพัก

TakeaBreak เปิดตัวLaunchpad แล้ว

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 แต่ตอนนี้สามารถทำได้ที่นี่เป็นรุ่นทดลอง


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
โธมัสวอร์ด

23

คุณอาจต้องการพิจารณาWorkraveแม้ว่าจะไม่อยู่ในระหว่างการพัฒนาอีกต่อไป ฉันพบว่าใช้งานง่ายและปรับแต่งได้สูง นอกจากนี้ยังมีสถิติที่ดีน่ากลัวเกี่ยวกับวิธีการใช้คอมพิวเตอร์และจำนวนการหยุดพักของคุณ สุดท้ายฉันเชื่อว่ามันสามารถซิงค์ตัวเองระหว่างคอมพิวเตอร์หลายเครื่องซึ่งมีประโยชน์ถ้าเช่นคุณทำงานทั้งบนแล็ปท็อปและคอมพิวเตอร์ในโรงเรียน

พักการแก้ไขให้พร้อมพัก

แก้ไข: มันมีคุณสมบัติอื่น ๆ อีกมากมายที่ฉันไม่ได้พูดถึงเช่นแนะนำการออกกำลังกายบางอย่างให้คุณทำในขณะที่หน้าจอถูกบล็อก และอาจต้องคำนึงถึงเฉพาะเวลาที่คุณใช้คอมพิวเตอร์ดังนั้นมันจะไม่เตือนให้คุณหยุดพักเมื่อคุณกลับมาจากห้องน้ำ :)

แก้ไข 2:

ให้แน่ใจว่าคุณตรวจสอบโหมด "อ่าน"!

คุณสมบัติด้านบนของการนับเวลาที่คุณใช้คอมพิวเตอร์อย่างจริงจังเท่านั้นที่จะถูกมองว่าเป็นข้อผิดพลาดหากคุณไม่ได้ทำอะไรมากมาย (ไม่มีเมาส์ไม่มีเหตุการณ์แป้นพิมพ์) เพราะมันจะทำให้คุณหยุดพักเมื่อคุณสะสม 1 ชั่วโมง (หรือเวลาที่คุณตั้งค่า) ในสถานการณ์เหล่านี้การเปิดใช้งานโหมด "การอ่าน" จะทำให้พร้อมท์ตามเวลาที่แน่นอนโดยไม่คำนึงถึงการใช้งาน


ขอบคุณ! ในบรรดาคุณสมบัติต่าง ๆ มันสามารถเป็นสีดำหรือล็อคหน้าจอของฉันในช่วงพัก
orschiro

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

ทำไมต้อง 1,500 และ 300 เพราะนั่นคือวินาที 1,500 วินาที / 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


1
รักมาก!
Asalle

6

ฉันใช้xwrits มานานหลายปีเพื่อจุดประสงค์นี้

sudo apt-get install xwrits

ค่าเริ่มต้นคือการหยุดพัก 5 นาทีทุก ๆ 55 นาที แต่ตามหน้า manครั้งเหล่านี้สามารถปรับแต่งได้ผ่านตัวเลือกbreaktimeและtypetimecommandline ตามลำดับ คุณสามารถควบคุมว่าจะล็อคหน้าจอโดยใช้+lockตัวเลือก ดังนั้นในการตั้งค่าสำหรับการหยุดพัก 5 นาทีทุก ๆ 25 นาทีที่ล็อคคุณคุณควรเรียกใช้เช่นนี้

xwrits typetime=25 breaktime=5 +lock &

0

drwright เป็นส่วนประกอบของตัวแบ่งการพิมพ์ที่เคยเป็นส่วนหนึ่งของ gnome: http://zeroset.mnim.org/2012/05/11/drwright-a-typing-break-application-for-gnome-and-unity-on-gnome อูบุนตู-12-04 /

และมี ppa อยู่ (แม้ว่าฉันจะไม่ได้ใช้โพสต์ -12.04): https://launchpad.net/~drwright/+archive/ubuntu/stable

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.