Một bộ đếm thời gian tự động khóa màn hình để nghỉ ngơi khỏi máy tính?


63

Tôi đang tìm kiếm một chương trình đồ họa hoặc dòng lệnh cung cấp cho tôi quy trình làm việc sau:

  1. Bắt đầu một phiên 25 phút
  2. Sau 25 phút màn hình sẽ tự động bị khóa trong 5 phút (hoặc có thể chỉ chuyển sang màu đen?)
  3. Bây giờ tôi đã được nghỉ ngơi vì tôi không thể làm gì trước máy tính ngoài việc nhìn vào màn hình đen hoặc bị khóa :)
  4. Sau 5 phút, màn hình tự động trở lại và tôi có thể tiếp tục làm việc

Có một chương trình làm chính xác điều này?


Là một tính năng mặc định, ý bạn là gì?
orschiro

Xin chào orschiro, đã xong! Xem chỉnh sửa mới nhất ...
Jacob Vlijm

@JacobVlijm vừa cài đặt phiên bản PPA. Thật là một ứng dụng đẹp mà bạn đã tạo ra. Cảm ơn một lần nữa rất nhiều!
orschiro

@orschiro Cảm ơn bạn vì câu hỏi hay! Thật sự rất thú vị khi làm việc và xin vui lòng nếu bạn tìm thấy lỗi hoặc nếu bạn có đề xuất, đừng ngần ngại đề cập đến nó trên launchpad (liên kết lỗi hoặc liên kết câu hỏi).
Jacob Vlijm

Câu trả lời:


86

Nghỉ ngơi một lát

TakeaBreak hiện đã có trên launchpad

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

Gần đây (cũng) được đẩy cho 18.04 / 18.10 / 19.04


Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả

Vui lòng gửi các lỗi vv ở đây , hoặc bình luận ở đây . Cảm ơn orschiro vì câu hỏi hay và Rinzwind đã khích lệ!


thời gian nghỉ còn lại (sử dụng tùy chọn đếm ngược)

nhập mô tả hình ảnh ở đây

Cài đặt

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


BIÊN TẬP

Phiên bản tích hợp & hiện đại hóa cho Ubuntu Budgie hiện đã có:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


nhập mô tả hình ảnh ở đây


Applet này rất có thể sẽ có sẵn theo mặc định trong Ubuntu Budgie 19.04, nhưng bây giờ có thể đạt được ở đây dưới dạng thử nghiệm.


Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
Thomas Ward

23

Bạn cũng có thể muốn xem xét Workrave , mặc dù nó không còn được phát triển nữa. Tôi thấy nó dễ sử dụng và tùy biến cao. Nó cũng có một số thống kê tốt đẹp về cách bạn sử dụng máy tính và số lần nghỉ. Cuối cùng, tôi tin rằng nó cũng có thể tự đồng bộ giữa nhiều máy tính, điều này rất hữu ích nếu, ví dụ, bạn làm việc cả trên máy tính xách tay và trên máy tính của trường.

nhắc nhở nghỉ ngơi

EDIT: Nó có nhiều tính năng khác mà tôi chưa đề cập, như gợi ý một số bài tập để bạn thực hiện trong khi màn hình bị chặn. Và nó chỉ có thể tính đến thời gian bạn sử dụng máy tính, vì vậy nó sẽ không nhắc bạn nghỉ ngơi khi bạn quay lại từ nhà vệ sinh :)

EDIT 2:

Hãy chắc chắn rằng bạn kiểm tra chế độ "Đọc"!

Tính năng trên chỉ tính thời gian bạn tích cực sử dụng máy tính có thể được coi là một lỗi nếu bạn không làm việc nhiều (không có chuột, không có sự kiện bàn phím) vì nó sẽ chỉ nhắc bạn nghỉ khi bạn tích lũy 1h sử dụng (hoặc bạn đã thiết lập bao nhiêu thời gian). Trong những tình huống này, việc bật chế độ "Đọc" sẽ khiến nó nhắc nhở vào thời điểm chính xác, bất kể việc sử dụng.


Cảm ơn! Trong số các tính năng, nó có thể đen hoặc khóa màn hình của tôi trong thời gian nghỉ?
orschiro

2
nó chắc chắn có thể chặn nó. không chắc chắn về việc bôi đen nó.
Ciprian Tomoiagă

Đó là một cơn ác mộng để cài đặt.
bartekbrak

1
@bartekbrak sudo apt-get install workrave?
Ciprian Tomoiagă

12

Đường lối thô lỗ, tối giản, dòng lệnh:

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

Điều đó cũng có thể được biến thành một phím tắt trên máy tính để bàn hoặc biến thành chức năng trong .bashrc

Tại sao 1500 và 300? bởi vì đó là giây, 1500 giây / 60 giây mỗi phút = 25 phút.


Dưới đây là một kịch bản cho một bộ đếm thời gian cho phép thiết lập phiên và thời gian nghỉ thay đổi, cũng như các phương pháp báo hiệu sự cố.

Hãy nhớ rằng bất kỳ tập lệnh nào trên linux phải được lưu dưới dạng tệp và có các quyền thực thi được đặt chmod +x /path/to/script.sh. Khi đã xong, bạn có thể liên kết tập lệnh vào một phím tắt như hiển thị trong Làm cách nào để liên kết các tệp .sh với tổ hợp bàn phím? hoặc tạo một lối tắt trên màn hình như được hiển thị trong Làm cách nào tôi có thể tạo các trình khởi chạy trên máy tính để bàn của mình?

Khi bạn khởi chạy tập lệnh, bạn sẽ thấy một menu như thế này:

nhập mô tả hình ảnh ở đây

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

Tôi thích nhìn thấy những cách khác nhau mà mọi người đi về những điều này. Câu ngạn ngữ về việc có nhiều hơn một cách để lột da một con mèo có vẻ phù hợp. Có lẽ loại bỏ làm thế nào để liên kết nó hoặc làm thế nào để tạo một lối tắt máy tính để bàn có lẽ? (Giả sử rằng sự hoàn thiện là mục tiêu của bạn.)
KGIII

10

Đây là một công cụ khác gọi là Mắt an toàn cho cùng một mục đích.

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

Màn hình ngắn mắt an toàn

Đặc trưng:

  • Nghỉ ngắn với bài tập mắt
  • Nghỉ dài để thay đổi vị trí vật lý và để làm nóng
  • Phá vỡ nghiêm ngặt cho những người nghiện máy tính
  • Không làm phiền khi làm việc với các ứng dụng toàn màn hình (Ví dụ: Xem phim)
  • Vô hiệu hóa bàn phím trong giờ nghỉ
  • Thông báo trước mỗi giờ nghỉ
  • Hỗ trợ nhiều màn hình
  • Tạm dừng tự động nếu hệ thống không hoạt động
  • Cảnh báo âm thanh tùy chọn vào cuối giờ nghỉ
  • Hỗ trợ đa ngôn ngữ

Để biết thêm chi tiết: https://github.com/slgobinath/SafeEyes


1
Yêu nó rất nhiều!
Asalle

6

Tôi đã sử dụng xwrits trong nhiều năm cho mục đích này.

sudo apt-get install xwrits

Nó mặc định nghỉ 5 phút cứ sau 55 phút, nhưng theo trang man, những lần này có thể tùy chỉnh thông qua các tùy chọn breaktimetypetimedòng lệnh tương ứng. Bạn cũng có thể kiểm soát xem nó có khóa màn hình hay không bằng cách sử dụng +locktùy chọn. Vì vậy, để thiết lập thời gian nghỉ 5 phút cứ sau 25 phút khóa bạn, bạn nên chạy nó như thế này

xwrits typetime=25 breaktime=5 +lock &

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.