我需要一种方法来通过使用 SSH 连接在控制台中运行命令来显示黑屏。显示器不应进入待机状态,我只需要一个黑屏来隐藏屏幕上的所有内容。屏幕应该是黑色的,直到我发出另一个命令来显示屏幕内容。
补充:如果该命令可以在 Ubuntu、Lubuntu 和 Xubuntu 中运行就好了。
补充 2:我还有一台需要消隐的投影仪。我想使用 SSH 连接到我的服务器并显示空白屏幕。如果我尝试关闭投影仪,屏幕上会显示“无信号”。
答案1
简短回答:
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 发行版上正常运行本地,问题原来是关于 ssh/remote 的(该信息被编辑到问题中)。
如果是远程情况,我们需要$DISPLAY
正确设置变量。如果显示变量是:0
,我们需要使用以下命令运行脚本:
DISPLAY=:0 python3 /path/to/script.py black
但变量不一定是:0
。U&L 上的这篇文章DISPLAY
似乎在远程机器上设置了一个非常好的变量。
答案2
编辑:自从我提供此答案以来,问题已经更改。我将保留此答案,因为它提供了一些可能有用的信息。
如果你指的是字符单元虚拟控制台,那么请安装vlock
:
sudo apt-get -y install vlock
然后您可以关闭并锁定您的虚拟控制台:
vlock
解锁控制台时,屏幕不会恢复。如果您不想丢失屏幕内容,我建议登录第二个控制台;当您想要锁定屏幕时,请移至那第二个控制台并输入
vlock -a
这将锁定所有控制台并阻止控制台切换。解锁控制台后,您可以切换回主工作控制台并发现屏幕内容完好无损。
答案3
答案4
超级用户的这个答案也许也会有所帮助:https://superuser.com/a/374661/958509
它在本地终端上运行,但我不确定是否可以通过 ssh 运行。(至少在 Ubuntu 20 上它不需要安装新包即可运行)