SSH üzerinden ekranı komut satırından nasıl boşaltabilirim?


12

SSH bağlantısı kullanarak konsolda komut çalıştırarak siyah ekran göstermenin bir yoluna ihtiyacım var. Monitör bekleme moduna geçmemeli Ekrandaki her şeyi gizlemek için sadece siyah bir ekrana ihtiyacım var. Ekran içeriğini göstermek için başka bir komut verene kadar ekran siyah olmalıdır.

Ek: Komutun Ubuntu, Lubuntu ve Xubuntu'da çalışması iyi olurdu.

Ek 2: Ayrıca körleme gerektiren bir projektör var. Sunucuma bağlanmak ve boş ekran göstermek için SSH kullanmak istiyorum. Projektörü kapatmaya çalışırsam, ekranda "Sinyal yok" mesajı görüntülenir.


Yanıtlar:


16

Kısa cevap:

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

DVI-I-1ekranınızın adı nerede .

Diğer taraftan:

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

tekrar normal parlaklığa ayarlamak için.

Ekranın adını almak için

Sadece komutu çalıştırın:

xrandr

Çıktıda, ekranın adını, hatta dahil olmak üzere satırda bulacaksınız. connected

Ekranı koyulaştırmak veya normale döndürmek için küçük komut dosyası

Komut dosyası, bağlı ekran (lar) ı siyah veya tam tersi şekilde ayarlamak için kullanılabilir. Komut dosyası ekranlarınızı otomatik olarak bulur.

#!/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])

Koşmak

  • Komut dosyasını boş bir dosyaya kopyalayın, set_black.py
  • Aşağıdakilerden birini kullanarak çalıştırın:

    python3 /path/to/set_black.py black
    

    ekranı karartmak için veya

    python3 /path/to/set_black.py normal
    

    parlaklığı tekrar normale ayarlamak için.


Yukarıdaki yanıt yerel olarak tüm Ubuntu dağıtımlarında düzgün çalışsa da , soru ssh / remote'da (bilgi soruda düzenlendi) ortaya çıkıyor.

Uzak bir durumda, $DISPLAYdeğişkeni doğru şekilde ayarlamamız gerekir . Display değişkeni örneğin ise :0, komut dosyasını şu şekilde çalıştırmamız gerekir:

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

Değişken mutlaka gerekli değildir :0. U&L üzerindeki bu yazıDISPLAY , uzak makinedeki değişkeni ayarlayan mükemmel bir yazı gibi görünüyor .


Ama geri getirmek için körü körüne yazmanız gerekmez mi?
You'reAGitForNotUsingGit

@AndroidDev Bunun senaryo olduğunu varsayıyorum.
Jacob Vlijm

2
@JacobVlijm Görünüşe göre 'DISPLAY =: 0 xrandr' ve 'DISPLAY =: 0 xrandr - çıkış HDMI1 - parlaklık 0' çalışıyor. Teşekkürler!
JPX

1
Ama senaryomu + x olarak ayarladım
Terrance

1
@JPX Nerede olduğumuzu bilmediğimiz için tam yolu kullanırım :)
Jacob Vlijm

3

Düzenleme: Soru bu cevabı verdiğimden beri değiştirildi. Bu cevabın ayakta kalmasına izin vereceğim çünkü yararlı olabilecek bazı bilgiler sağlıyor.

Konsol ile karakter hücresi sanal konsollarından birini kastediyorsanız, yükleyin vlock:

sudo apt-get -y install vlock

Daha sonra sanal konsolunuzu karartıp kilitleyebilirsiniz:

vlock

Konsolun kilidini açarken ekran geri yüklenmez. Ekranın içeriğini kaybetmek istemiyorsanız, ikinci bir konsola giriş yapmanızı öneririm; Eğer ekran hareket kilitlemek istediğinizde o ikinci konsolu ve girmek

vlock -a

Bu, tüm konsolları kilitler ve konsol geçişini önler. Konsolların kilidini açtıktan sonra ana çalışma konsoluna geri dönebilir ve ekran içeriklerinizi olduğu gibi görebilirsiniz.


Önceki oturumu geri yüklemek için daha iyi bir seçenek, tmux veya ekran gibi bir terminal çoklayıcı kullanmak ve oturumu ayırmak, konsolu kilitlemek ve önceki oturuma yeniden takmaktır. Bonus: Oturumu tamamen kapatabilir veya bağlantısını kesebilir ve daha sonra oturuma devam edebilirsiniz.
David Foerster

2

Basitçe çalıştırın:

gnome-screensaver-command -a

Not: Bu, sistem ayarlarında "Kilitle" seçeneğini devre dışı bırakmadığınız sürece kilit ekranını da çağıracaktır:

resim açıklamasını buraya girin


Bu aynı zamanda kilit ekranını çağırır.
Jacob Vlijm

@JacobVlijm - Benim için değil.
You'reAGitForNotUsingGit

@ AndroidDev Bu çok garip, Ubuntu 16.04 burada.
Jacob Vlijm

Bu, "Sistem Ayarları → Parlaklık ve Kilitleme" işlevini nasıl yapılandırdığınıza bağlıdır. "Kilitleme AÇIK / KAPALI" ve "Ekranı sonra kilitle" ayarı davranışı kontrol eder.
Byte Komutanı

@JacobVlijm - Düzenlendi
YouAGitForNotUsingGit
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.