Layar tidak mati saat tidak aktif

11

Baru-baru ini saya perhatikan bahwa pengaturan kecerahan dan kunci untuk mematikan layar setelah periode tidak aktif diabaikan.

Saya memiliki pengaturan saya pada 1 menit dan untuk mengunci layar ketika layar mati tetapi komputer saya sepertinya tidak pernah mematikan layar.

Saya telah melihat pertanyaan serupa di mana orang memperhatikan masalah di mana layar kembali menyala dan layar kunci ditampilkan tetapi saya tidak mendapatkan komputer untuk mengunci sama sekali.

masukkan deskripsi gambar di sini

Joe W
sumber

Jawaban:

1

Saya dapat menawarkan solusi untuk ini


Jangankan pengaturan di GUI, Anda dapat mengunci layar Anda dan mengirim layar Anda ke siaga melalui baris perintah


Untuk mengunci layar Anda, Anda dapat menggunakan

gnome-screensaver-command -l

atau (jika tidak menggunakan gnome3)

xdg-screensaver lock

dan untuk mematikan monitor Anda (siaga) yang bisa Anda gunakan

xset dpms force off

Sekarang, karena Anda tidak ingin melakukan ini secara manual, tetapi setelah beberapa menit waktu menganggur, kami perlu mengetahui berapa lama Anda telah menganggur. Ini bisa dilakukan denganxprintidle

sudo apt-get install xprintidle

xprintidle akan mengembalikan milidetik dari (xserver) idletime

Sekarang, mari gabungkan ini menjadi skrip (*). Gunakan editor favorit Anda untuk menyalin / menempel yang berikut ini, memodifikasi IDLE_TIMEsesuai keinginan Anda

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

Kemudian membuatnya bisa dieksekusi dengan

chmod +x /home/yourusername/idle_stby_lock_screen.sh

Anda dapat mengujinya di commandline

/home/yourusername/idle_stby_lock_screen.sh

jika Anda puas dengannya, Anda dapat menambahkannya ke startup Ubuntu Anda, seperti dijelaskan dalam jawaban ini di sini atau dengan aplikasi "Startup" di Ubuntu - pastikan untuk menggunakan jalur absolut ke skrip Anda.

Robert Riedl
sumber
Sementara solusi ini akan bekerja, saya tidak yakin seberapa layaknya ketika penguncian layar / screen saver seharusnya merupakan fitur bawaan Ubuntu.
Joe W
@ JoW, seperti yang saya katakan: solusi
Robert Riedl
Juga, saya menggunakan ini untuk memastikan layar saya tetap dalam keadaan siaga, karena kadang-kadang mereka bangun, untuk alasan apa pun ...
Robert Riedl