ฉันจะทำให้หน้าจอว่างจากบรรทัดคำสั่งผ่าน SSH ได้อย่างไร


12

ฉันต้องการวิธีแสดงหน้าจอสีดำโดยใช้คำสั่งในคอนโซลโดยใช้การเชื่อมต่อ SSH จอภาพไม่ควรไปสแตนด์บายฉันแค่ต้องการหน้าจอสีดำเพื่อซ่อนทุกอย่างที่อยู่บนหน้าจอ หน้าจอควรเป็นสีดำจนกว่าฉันจะให้คำสั่งอื่นเพื่อแสดงเนื้อหาของหน้าจอ

เพิ่มเติม: มันจะดีถ้าคำสั่งทำงานใน Ubuntu, Lubuntu และ Xubuntu

เพิ่มเติม 2: ฉันยังมีโปรเจคเตอร์ที่ต้องการ blanking ฉันต้องการใช้ SSH เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของฉันและแสดงหน้าจอว่างเปล่า หากฉันพยายามปิดเครื่องโปรเจคเตอร์ "ไม่มีสัญญาณ" ปรากฏขึ้นบนหน้าจอ


คำตอบ:


16

คำตอบสั้น ๆ :

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

DVI-I-1ชื่อหน้าจอของคุณอยู่ที่ไหน

วิธีอื่น ๆ :

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

เพื่อตั้งค่าความสว่างปกติอีกครั้ง

เพื่อรับชื่อของหน้าจอ

เพียงเรียกใช้คำสั่ง:

xrandr

ในผลลัพธ์คุณจะพบชื่อของหน้าจอในบรรทัดรวมถึง connected

สคริปต์ขนาดเล็กเพื่อทำให้หน้าจอมืดลงหรือตั้งกลับเป็นปกติ

สคริปต์สามารถใช้ในการตั้งค่าหน้าจอที่เชื่อมต่อ (ทั้งหมด) เป็นสีดำและในทางกลับกัน สคริปต์ค้นหาหน้าจอของคุณโดยอัตโนมัติ

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

วิ่ง

  • คัดลอกสคริปต์ลงในไฟล์เปล่าบันทึกเป็น set_black.py
  • รันด้วย:

    python3 /path/to/set_black.py black
    

    เพื่อทำให้หน้าจอมืดลงหรือ

    python3 /path/to/set_black.py normal
    

    เพื่อตั้งค่าความสว่างให้เป็นปกติอีกครั้ง


ในขณะที่คำตอบข้างต้นควรจะทำงานได้ดีในทุก Ubuntu distro เป็นท้องถิ่นคำถามที่จะออกมาเป็นใน SSH / ระยะไกล (ข้อมูลที่ได้รับการแก้ไขเป็นคำถาม)

ในกรณีของสถานการณ์ระยะไกลเราต้องตั้งค่า$DISPLAYตัวแปรให้ถูกต้อง หากตัวแปรการแสดงผลเป็นเช่น:0เราจะต้องเรียกใช้สคริปต์ด้วย:

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

ตัวแปรไม่จำเป็น:0ว่า โพสต์ใน U&L นี้ดูเหมือนว่ายอดเยี่ยมตั้งค่าDISPLAYตัวแปรบนเครื่องระยะไกล


แต่คุณไม่ต้องพิมพ์คำสั่งเพื่อนำกลับมาหรือไม่
You'reAGitForNotUsingGit

@AndroidDev ฉันคิดว่าเป็นสคริปต์
Jacob Vlijm

2
@JacobVlijm ดูเหมือนว่า 'DISPLAY =: 0 xrandr' และ 'DISPLAY =: 0 xrandr --outout HDMI1 --brightness 0' กำลังทำงาน ขอบคุณ!
JPX

1
แต่ฉันตั้งสคริปต์เป็น + x
Terrance

1
@JPX ฉันต้องการใช้เส้นทางแบบเต็มเนื่องจากเราไม่ทราบว่าเรามีความ :)
จาค็อบ Vlijm

3

แก้ไข: คำถามมีการเปลี่ยนแปลงตั้งแต่ฉันได้ให้คำตอบนี้ ฉันจะให้คำตอบนี้ยืนเพราะให้ข้อมูลบางอย่างที่อาจมีการใช้งาน

หากโดยคอนโซลคุณหมายถึงหนึ่งในคอนโซลเสมือนของเซลล์อักขระให้ติดตั้งvlock:

sudo apt-get -y install vlock

จากนั้นคุณสามารถดับและล็อคคอนโซลเสมือนของคุณ:

vlock

เมื่อปลดล็อกคอนโซลหน้าจอจะไม่ถูกกู้คืน หากคุณไม่ต้องการสูญเสียเนื้อหาของหน้าจอฉันแนะนำให้ลงชื่อเข้าใช้คอนโซลที่สอง เมื่อคุณต้องการล็อคย้ายหน้าจอเพื่อที่คอนโซลสองและป้อน

vlock -a

สิ่งนี้จะล็อคคอนโซลทั้งหมดและป้องกันการสลับคอนโซล หลังจากปลดล็อกคอนโซลคุณสามารถสลับกลับไปยังคอนโซลงานหลักและค้นหาเนื้อหาบนหน้าจอของคุณเหมือนเดิม


ตัวเลือกที่ดีกว่าในการกู้คืนเซสชันก่อนหน้านี้เพื่อใช้งานเทอร์มินัลมัลติเพล็กเซอร์เช่น tmux หรือหน้าจอและแยกเซสชั่นล็อคคอนโซลจากนั้นใส่กลับไปที่เซสชันก่อนหน้า โบนัส: คุณสามารถออกจากระบบหรือยกเลิกการเชื่อมต่อทั้งหมดและยังคงกลับมาทำงานต่อในภายหลัง
David Foerster

2

เพียงแค่เรียกใช้:

gnome-screensaver-command -a

หมายเหตุ:สิ่งนี้จะเรียก lockscreen นอกจากว่าคุณจะปิดใช้งานตัวเลือก "ล็อค" ในการตั้งค่าระบบ:

ป้อนคำอธิบายรูปภาพที่นี่


สิ่งนี้จะเรียกหน้าจอล็อค
Jacob Vlijm

@JacobVlijm - มันไม่ได้สำหรับฉัน
You'reAGitForNotUsingGit

@ AndroidDev นั่นแปลก, Ubuntu 16.04 ที่นี่
Jacob Vlijm

ขึ้นอยู่กับวิธีที่คุณกำหนดค่า "การตั้งค่าระบบ→ความสว่าง & ล็อค" การตั้งค่า "ล็อคเปิด / ปิด" และ "ล็อคหน้าจอหลังจาก ... " ควบคุมพฤติกรรม
ผู้บัญชาการ Byte

@JacobVlijm - แก้ไขแล้ว
You'reAGitForNotUsingGit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.