Làm cách nào tôi có thể làm trống màn hình từ dòng lệnh qua SSH?


12

Tôi cần một cách để hiển thị màn hình đen bằng cách chạy lệnh trong bảng điều khiển bằng cách sử dụng kết nối SSH. Màn hình không nên chuyển sang chế độ chờ Tôi chỉ cần một màn hình đen để ẩn mọi thứ trên màn hình. Màn hình nên có màu đen cho đến khi tôi đưa ra một lệnh khác để hiển thị nội dung màn hình.

Bổ sung: Sẽ rất tốt nếu lệnh hoạt động trong Ubuntu, Lubfox và Xubfox.

Ngoài ra 2: Tôi cũng có một máy chiếu cần làm trống. Tôi muốn sử dụng SSH để kết nối với máy chủ của mình và hiển thị màn hình trống. Nếu tôi cố tắt nguồn máy chiếu, "Không có tín hiệu" được hiển thị trên màn hình.


Câu trả lời:


16

Câu trả lời ngắn:

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

DVI-I-1tên màn hình của bạn ở đâu

Cách khác xung quanh:

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

để thiết lập lại độ sáng bình thường.

Để có được tên của màn hình

Đơn giản chỉ cần chạy lệnh:

xrandr

Trong đầu ra, bạn sẽ tìm thấy tên của màn hình, trong dòng, bao gồm connected

Kịch bản nhỏ để làm tối màn hình hoặc đặt nó trở lại bình thường

Tập lệnh có thể được sử dụng để đặt (tất cả) màn hình được kết nối thành màu đen và ngược lại. Kịch bản tìm màn hình của bạn tự động.

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

Chạy

  • Sao chép tập lệnh vào một tập tin trống, lưu nó dưới dạng set_black.py
  • Chạy nó với:

    python3 /path/to/set_black.py black
    

    làm tối màn hình, hoặc

    python3 /path/to/set_black.py normal
    

    để đặt độ sáng trở lại bình thường.


Trong khi câu trả lời ở trên nên chạy tốt trên tất cả Ubuntu distro là cục bộ , câu hỏi hóa ra là trên ssh / từ xa (thông tin đã được chỉnh sửa vào câu hỏi).

Trong trường hợp từ xa, chúng ta cần đặt $DISPLAYbiến chính xác. Nếu biến hiển thị là ví dụ :0, chúng ta cần chạy tập lệnh với:

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

Các biến không nhất thiết phải :0mặc dù. Bài đăng này trên U & L có vẻ là một bài tuyệt vời đặt DISPLAYbiến trên máy từ xa.


Nhưng bạn có phải gõ lệnh một cách mù quáng để đưa nó trở lại không?
AreAGitForNotUsingGit

@AndroidDev Tôi cho rằng đó là kịch bản.
Jacob Vlijm

2
@JacobVlijm Có vẻ như 'HIỂN THỊ =: 0 xrandr' và 'HIỂN THỊ =: 0 xrandr --output HDMI1 - độ chính xác 0' đang hoạt động. Cảm ơn!
JPX

1
Nhưng tôi đã đặt tập lệnh của mình thành + x
Terrance

1
@JPX Tôi sẽ sử dụng đường dẫn đầy đủ, vì chúng tôi không biết mình đang ở đâu :)
Jacob Vlijm

3

Chỉnh sửa: Câu hỏi đã được thay đổi kể từ khi tôi cung cấp câu trả lời này. Tôi sẽ để câu trả lời này đứng vững vì nó cung cấp một số thông tin có thể được sử dụng.

Nếu bằng bàn điều khiển, bạn có nghĩa là một trong các bảng điều khiển ảo ô ký tự, sau đó cài đặt vlock:

sudo apt-get -y install vlock

Sau đó, bạn có thể bôi đen và khóa bảng điều khiển ảo của mình:

vlock

Khi mở khóa bàn điều khiển, màn hình không được khôi phục. Nếu bạn không muốn mất nội dung của màn hình, tôi đề nghị đăng nhập vào bảng điều khiển thứ hai; Khi bạn muốn khóa màn hình, hãy di chuyển đến bàn điều khiển thứ hai đó và nhập

vlock -a

Điều này sẽ khóa tất cả các bảng điều khiển và ngăn chặn chuyển đổi giao diện điều khiển. Sau khi mở khóa bảng điều khiển, bạn có thể chuyển trở lại bàn điều khiển công việc chính và tìm thấy nội dung màn hình của bạn nguyên vẹn.


Một tùy chọn tốt hơn để khôi phục phiên trước đó để sử dụng bộ ghép kênh đầu cuối như tmux hoặc màn hình và tách phiên, khóa bàn điều khiển và sau đó gắn lại vào phiên trước đó. Phần thưởng: bạn có thể đăng xuất hoặc ngắt kết nối hoàn toàn và vẫn tiếp tục phiên sau đó.
David foerster

2

Đơn giản chỉ cần chạy:

gnome-screensaver-command -a

Lưu ý: Điều này cũng sẽ gọi màn hình khóa trừ khi bạn tắt tùy chọn "Khóa" trong cài đặt hệ thống:

nhập mô tả hình ảnh ở đây


Điều này cũng sẽ gọi màn hình khóa.
Jacob Vlijm

@JacobVlijm - Nó không dành cho tôi.
AreAGitForNotUsingGit

@ AndroidDev Thật kỳ lạ, Ubuntu 16.04 ở đây.
Jacob Vlijm

Nó phụ thuộc vào cách bạn đã cấu hình "Cài đặt hệ thống → Độ sáng & Khóa". Cài đặt "Khóa BẬT / TẮT" và "Khóa màn hình sau ..." điều khiển hành vi.
Chỉ huy Byte

@JacobVlijm - Đã chỉnh sửa
You'reAGitForNotUsingGit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.