Hic, không có xiền mua con LCD mà ngồi, ngồi CRT lâu mỏi mắt :(.
Mò kiếm cái chương trình để thông báo nghỉ ngơi, cài lỗi lèo nhèo nhác sửa, viết đại cái script.
#!/bin/bash
#Nghỉ ngơi script
xs='xscreensaver -nosplash'
xl='xscreensaver-command -lock'
kx='killall xscreensaver'
zenity --info --text="Chương trình nghỉ ngơi."
while (true); do
sleep 30m
zenity --question\
--text="Đến lúc nghỉ 3 phút.\n Nhấn OK để nghỉ, Cancel để huỷ"
if [ "$?" -eq "1" ]; then
zenity --question --text="Thoát chương trình?"
if [ "$?" -eq "0" ]; then break; $xs; fi
else
$xs &
$xl
sleep 3m
$kx > /dev/null
zenity --info --text="Nghỉ xong"
fi
done
30 phút nhìn, nghỉ 3 phút rồi tiếp tục, để kiếm coi có lệnh gì beep phát để báo, thế sẽ tiện hơn.
Edit: đã chỉnh lại theo hướng dẫn của anh Pcloud, có vẻ xịn hơn :D.
To Pcloud: zenity hình như không "hợp" lắm với fluxbox, dùng --notification nó chỉ hiện cái icon ở systray, rà chuột qua mới hiện cái thông báo, nên không gây được chú ý.
Edit 2: Tiếp tục sửa, giờ chia thành 2 bản, ai chơi cái nào thì chơi.
Bản 1: Giống cái trên, chỉ sửa 1 tý:
#!/bin/bash
#Nghỉ ngơi script
xs='xscreensaver -nosplash'
xl='xscreensaver-command -lock'
kx='killall xscreensaver'
zenity --info --text="Chương trình nghỉ ngơi."&
sleep 3s; kill $! 2>/dev/null
while (true); do
sleep 30m
zenity --question\
--text="Đến lúc nghỉ 5 phút.\n Nhấn OK để nghỉ, Cancel để huỷ"
if [ "$?" -eq "1" ]; then
zenity --question --text="Thoát chương trình?"
if [ "$?" -eq "0" ]; then break; $xs; fi
else
$xs &
$xl
sleep 5m
$kx > /dev/null
zenity --info --text="Nghỉ xong"&
sleep 3s; kill $! 2>/dev/null
fi
Bản 2: Sửa nhiều hơn chút. Bản này mạnh tay hơn, không cho chọn gì sất, báo xong lát là tự động khoá, tuy nhiên vẫn có thể trốn bằng cách nhập mật khẩu của ngưòi dùng, hùm :(
#!/bin/bash
#Nghỉ ngơi script
xs='xscreensaver -nosplash'
xl='xscreensaver-command -lock'
kx='killall xscreensaver'
zenity --info --text="Chương trình nghỉ ngơi."&
sleep 2s; kill $! 2>/dev/null
while (true); do
sleep 30m
zenity --info --text="Đến lúc nghỉ 5 phút."&
sleep 5s
kill $! 2>/dev/null
$xs &
$xl
sleep 5m
$kx > /dev/null
zenity --info --text="Nghỉ xong"&
sleep 2s; kill $! 2>/dev/null
done
1 Comentário:
gnome có sẵn typing break applet.
Còn không dùng gnome thì có thể dùng zenity để hiện cái cảnh báo nho nhỏ trên systray trước khi ra tay.
Ra tay bằng xmessage thì nhẹ quá. Dùng xscreensaver-command -lock (nếu nhớ ko nhầm) để nó khoá màn hình luôn :D