ฉันสามารถเสนอวิธีแก้ปัญหานี้
ไม่ต้องสนใจการตั้งค่าใน GUI คุณสามารถล็อคหน้าจอและส่งหน้าจอเข้าสู่โหมดสแตนด์บายผ่านบรรทัดคำสั่ง
เพื่อล็อคหน้าจอของคุณคุณสามารถใช้
gnome-screensaver-command -l
หรือ (ถ้าไม่ใช้ gnome3)
xdg-screensaver lock
และเพื่อปิดจอภาพของคุณ (สแตนด์บาย) คุณสามารถใช้
xset dpms force off
ขณะนี้เนื่องจากคุณไม่ต้องการทำสิ่งนี้ด้วยตนเอง แต่หลังจากไม่ได้ใช้งานสองสามนาทีเราจึงต้องค้นหาว่าคุณว่างอยู่นานแค่ไหน ซึ่งสามารถทำได้ด้วยxprintidle
sudo apt-get install xprintidle
xprintidle
จะส่งคืน milletec ของวินาที (xserver)
ทีนี้มารวมกันเป็นสคริปต์ (*) ใช้โปรแกรมแก้ไขรายการโปรดของคุณเพื่อคัดลอก / วางสิ่งต่อไปนี้เพื่อปรับเปลี่ยนIDLE_TIME
ความชอบของคุณ
nano /home/yourusername/idle_stby_lock_screen.sh
#!/bin/sh
# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((5*60*1000)) # replace the '5' with how many minutes you'd like
# Sequence to execute when timeout triggers.
trigger_cmd() {
echo "Triggered action $(date)"
}
sleep_time=$IDLE_TIME
triggered=false
while sleep $(((sleep_time+999)/1000)); do
idle=$(xprintidle)
if [ $idle -ge $IDLE_TIME ]; then
if ! $triggered; then
gnome-screensaver-command -l
export DISPLAY=:0; xset dpms force off
triggered=true
sleep_time=$IDLE_TIME
fi
else
triggered=false
# Give 150 ms buffer to avoid frantic loops shortly before triggers.
sleep_time=$((IDLE_TIME-idle+150))
fi
done
จากนั้นทำให้สามารถเรียกใช้งานได้ด้วย
chmod +x /home/yourusername/idle_stby_lock_screen.sh
คุณสามารถทดสอบมันได้ที่ commandline
/home/yourusername/idle_stby_lock_screen.sh
หากคุณมีเนื้อหาคุณสามารถเพิ่มลงในการเริ่มต้นของ Ubuntu เช่นที่อธิบายไว้ในคำตอบเหล่านี้ได้ที่นี่หรือกับแอป "เริ่มต้น" ใน Ubuntu - ตรวจสอบให้แน่ใจว่าใช้เส้นทางที่แน่นอนไปยังสคริปต์ของคุณ