Bagaimana cara mencegah screensaver kosong saat menggunakan pintasan keyboard untuk mengunci komputer?

12

Saya sering mengunci komputer saya, dan bertanya-tanya apakah ada cara untuk mendapatkan layar kunci ketika saya menekan Ctrl+ Alt+ L. Saat ini ketika saya menggunakan kombinasi tombol itu mengubah layar menjadi hitam, dan saya harus menekan tombol atau klik untuk membuka layar di mana ia menunjukkan pilihan untuk memasukkan kata sandi Anda atau beralih pengguna, serta menampilkan latar belakang desktop di belakangnya .

Apakah ada cara untuk menghindari keharusan menekan tombol tambahan itu, untuk membuka layar yang saya inginkan? Dan apakah ada cara lain untuk tetap seperti itu? Ini benar-benar masalah preferensi pribadi, dan saya tidak melihat alasan mengapa tidak membuatnya tetap seperti monitor saya akhirnya dimatikan dan / atau komputer saya ditangguhkan.

pengguna81572
sumber

Jawaban:

17

Sayangnya, utilitas layar kunci gnome-screensaver-command, yang menggunakan pintasan Ctrl+ Alt+ L, juga akan mengaktifkan "screensaver" layar kosong setiap kali diperintahkan untuk mengunci layar.

Triknya adalah dengan "memalsukan" keystroke segera setelah layar dikunci untuk menyingkirkan layar kosong dan membiarkan layar kunci tetap hidup. Kami akan melakukan ini dengan xdotool, utilitas baris perintah kecil yang memungkinkan otomatisasi klik dan gerakan keyboard dan mouse.

  1. Instal xdotooldengan

    sudo apt-get install xdotool
    
  2. Paste berikut ke file dalam direktori home Anda, seperti locknoblank.sh:

    #! / bin / bash
    gnome-screensaver-command -l tombol xdotool sleep 1 Ctrl
    • Ini cukup mengunci layar secara normal, tetapi satu detik kemudian, mengirim Ctrlkeystroke dummy untuk "membuka blokir" layar.
    • Jadikan file dapat dieksekusi dengan

      chmod +x ~/locknoblank.sh
      
  3. Buka Pengaturan Sistem ... Keyboard ... Pintasan dan hapus Ctrl+ Alt+ Lsebagai pintasan layar kunci agar kami dapat menggunakannya kembali untuk perintah khusus kami. Klik "Sistem" di bilah sisi kiri, lalu klik di kanan "Layar Kunci" di mana dikatakan "Ctrl + Alt + L"; sekarang akan tertulis "Akselerator Baru ...". Tekan Backspaceuntuk menghapus pintasan.

    masukkan deskripsi gambar di sini

  4. Sekarang pergi ke Kustom Shortcuts di sebelah kiri, dan menambahkan shortcut, penamaan itu apa pun yang Anda ingin dengan perintah sebagai /home/username/locknoblank.sh. Klik Terapkan, lalu klik di sebelah kanan di mana dikatakan "Nonaktif" untuk mendapatkan "Akselerator Baru", dan tekan Ctrl+ Alt+ L.

    masukkan deskripsi gambar di sini

Tutup Pengaturan Sistem, dan Anda selesai!


Untuk mencegah pengaktifan ulang screensaver (idle timeout)

Buka terminal, dan ketik / tempel:

gsettings set org.gnome.desktop.session idle-delay 7200

Ini mengatur waktu aktivasi screensaver menjadi 2 jam (atau 7200 detik). Anda dapat mengaturnya untuk apa pun yang Anda inginkan; standarnya adalah 600.


Catatan: Untuk Ubuntu 18.04, gunakan

xdg-screensaver lock

bukannya gnome-screensaver-command -l.

ish
sumber
Terima kasih banyak! Itu bekerja dengan sempurna ... pada awalnya. Saya juga bertanya apakah ada cara untuk tetap seperti itu untuk sementara waktu (misalnya 1 jam). Saya pikir screen saver diinisialisasi ulang setelah satu atau dua menit. Saya baru mengenal scripting, tetapi apakah mungkin ada cara untuk mengulang penekanan tombol palsu untuk, katakanlah, dan jam? Atau mungkin saya bisa menonaktifkan / memperpanjang waktu yang diperlukan untuk screensaver untuk menginisialisasi ulang? Saya mencari-cari file konfigurasi dan tidak dapat menemukannya.
user81572
Maaf, saya melewatkan ini. Silakan lihat edit di bagian bawah jawaban tentang cara mencegah pengaktifan ulang screensaver.
ish
Terima kasih atas tipnya, tetapi sayangnya sepertinya tidak berhasil untuk saya. Saya baru mengenal Linux, tetapi seorang programmer yang rajin (mengapa saya pindah ke Linux) dan saya membuat for for di skrip bash yang meng-loop xdotools. Namun, pintasan tidak berfungsi dan saya merasa agak rumit untuk mengunci komputer saya dengan menjalankan skrip. Apakah ada cara untuk menyingkirkan screensaver gnome? Saya tidak benar-benar melihat kegunaannya, karena saya biasanya tutup saja atau matikan laptop saya ketika tidak menggunakannya. Saya tidak terbiasa dengan gsettings juga, jadi saya tidak tahu di mana saya bisa menemukan simpul yang tepat.
user81572
3
Hanya ingin tahu apakah Anda berencana memperbarui jawaban ini untuk 2018 dan Gnome di bawah Ubuntu 18.04? Itu muncul beberapa kali di Tanya Ubuntu dan saya sudah mulai meneliti itu. Saya suka kebanyakan orang akan segera menggunakan 18,04 dan telah bermain dengan Gnome DM belakangan ini ...
WinEunuuchs2Unix
4
Untuk Ubuntu 18.04, gunakan xdg-screensaver locksebagai gantignome-screensaver-command -l
Dejv