Bagaimana saya bisa mengosongkan layar dari baris perintah melalui SSH?

12

Saya perlu cara untuk menunjukkan layar hitam dengan menjalankan perintah di konsol dengan menggunakan koneksi SSH. Monitor seharusnya tidak pergi ke siaga saya hanya perlu layar hitam untuk menyembunyikan semua yang ada di layar. Layar harus hitam sampai saya memberikan perintah lain untuk menampilkan konten layar.

Tambahan: Akan lebih baik jika perintah bekerja di Ubuntu, Lubuntu dan Xubuntu.

Tambahan 2: Saya juga memiliki proyektor yang perlu dikosongkan. Saya ingin menggunakan SSH untuk terhubung ke server saya dan menampilkan layar kosong. Jika saya mencoba untuk mematikan proyektor "Tidak ada sinyal" ditampilkan di layar.

JPX
sumber
3
Kemungkinan duplikat dari Cara mematikan layar atau memulai screensaver dengan tombol pintas?
You'reAGitForNotUsingGit

Jawaban:

16

Jawaban singkat:

xrandr --output DVI-I-1 --brightness 0

dimana DVI-I-1nama layar kamu

Sebaliknya:

xrandr --output DVI-I-1 --brightness 1

untuk mengatur kecerahan normal lagi.

Untuk mendapatkan nama layar

Cukup jalankan perintah:

xrandr

Dalam output, Anda akan menemukan nama layar, di baris, termasuk connected

Skrip kecil untuk menggelapkan layar atau mengembalikannya ke normal

Skrip dapat digunakan untuk mengatur (semua) layar yang terhubung ke hitam dan sebaliknya. Script menemukan layar Anda secara otomatis.

#!/usr/bin/env python3
import subprocess
import sys

arg = sys.argv[1]

screens = [l.split()[0] for l in subprocess.check_output("xrandr").decode("utf-8").splitlines()
           if " connected" in l]

val = "0" if arg == "black" else "1"
for s in screens:
    subprocess.Popen(["xrandr", "--output", s, "--brightness", val])

Untuk berlari

  • Salin skrip ke file kosong, simpan sebagai set_black.py
  • Jalankan baik dengan:

    python3 /path/to/set_black.py black
    

    untuk menggelapkan layar, atau

    python3 /path/to/set_black.py normal
    

    untuk mengatur kecerahan kembali normal.


Sementara jawaban di atas akan berjalan baik di semua distro Ubuntu lokal , pertanyaannya ternyata pada ssh / remote (informasi diedit ke pertanyaan).

Jika ada situasi yang jauh, kita perlu mengatur $DISPLAYvariabel dengan benar. Jika variabel tampilan adalah mis :0, kita perlu menjalankan skrip dengan:

DISPLAY=:0 python3 /path/to/script.py black

Variabel belum tentu :0. Posting ini di U&L tampaknya sangat bagus mengatur DISPLAYvariabel pada mesin jarak jauh.

Yakub Vlijm
sumber
Tapi bukankah Anda harus mengetik secara buta perintah untuk mengembalikannya?
You'reAGitForNotUsingGit
@AndroidDev Saya menganggap itu ditulis skrip.
Jacob Vlijm
2
@JacobVlijm Tampaknya 'DISPLAY =: 0 xrandr' dan 'DISPLAY =: 0 xrandr --output HDMI1 --brightness 0' bekerja. Terima kasih!
JPX
1
Tapi saya mengatur skrip saya ke + x
Terrance
1
@ JPX Saya akan menggunakan path lengkap, karena kita tidak tahu di mana kita berada :)
Jacob Vlijm
3

Sunting: Pertanyaan telah diubah sejak saya memberikan jawaban ini. Saya akan membiarkan jawaban ini bertahan karena memberikan beberapa informasi yang mungkin berguna.

Jika dengan konsol yang Anda maksud adalah salah satu konsol virtual sel-karakter, maka instal vlock:

sudo apt-get -y install vlock

Anda kemudian dapat mematikan dan mengunci konsol virtual Anda:

vlock

Saat membuka kunci konsol, layar tidak dikembalikan. Jika Anda tidak ingin kehilangan konten layar, saya sarankan untuk masuk ke konsol kedua; ketika Anda ingin mengunci layar pindah ke yang kedua konsol dan masukkan

vlock -a

Ini akan mengunci semua konsol dan mencegah switching konsol. Setelah membuka kunci konsol, Anda dapat kembali ke konsol kerja utama dan menemukan konten layar Anda utuh.

AlexP
sumber
Pilihan yang lebih baik untuk mengembalikan sesi sebelumnya untuk menggunakan terminal multiplexer seperti tmux atau layar dan lepaskan sesi, kunci konsol dan kemudian pasang kembali ke sesi sebelumnya. Bonus: Anda dapat keluar atau memutuskan sambungan sepenuhnya dan masih melanjutkan sesi nanti.
David Foerster
2

Cukup jalankan:

gnome-screensaver-command -a

Catatan: Ini juga akan memanggil layar kunci kecuali Anda menonaktifkan opsi "Kunci" dalam pengaturan sistem:

masukkan deskripsi gambar di sini

You'reAGitForNotUsingGit
sumber
Ini juga akan memanggil layar kunci.
Jacob Vlijm
@ JacobVlijm - Tidak cocok untuk saya.
You'reAGitForNotUsingGit
@ AndroidDev Aneh, Ubuntu 16.04 di sini.
Jacob Vlijm
Itu tergantung pada bagaimana Anda mengonfigurasi "Pengaturan Sistem → Kecerahan & Kunci". Pengaturan "Kunci ON / OFF" dan "Kunci layar setelah ..." mengontrol perilaku.
Byte Commander
@JacobVlijm - Diedit
You'reAGitForNotUsingGit