如何通过SSH从命令行清除屏幕?


12

我需要一种通过使用SSH连接在控制台中运行命令来显示黑屏的方法。显示器不应该进入待机状态,我只需要一个黑屏即可隐藏屏幕上的所有内容。屏幕应该是黑色的,直到我发出另一个命令来显示屏幕内容。

另外:如果该命令可以在Ubuntu,Lubuntu和Xubuntu中运行,那将是很好的。

补充2:我还有一台需要消隐的投影仪。我想使用SSH连接到服务器并显示空白屏幕。如果我尝试关闭投影机的电源,屏幕上会显示“无信号”。


Answers:


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发行版的本地版本上都可以正常运行,但问题出在ssh / remote上(信息已编辑成问题)。

如果是远程情况,我们需要$DISPLAY正确设置变量。如果显示变量为eg :0,则需要使用以下命令运行脚本:

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

:0尽管不一定是变量。关于U&L的这篇文章似乎很好DISPLAY,它在远程计算机上设置了变量。


但是,您是否不必盲目键入命令以将其恢复?
You'reAGitForNotUsingGit

@AndroidDev我假设是脚本。
Jacob Vlijm '17

2
@JacobVlijm似乎'DISPLAY =:0 xrandr'和'DISPLAY =:0 xrandr --output HDMI1 --brightness 0'正常工作。谢谢!
JPX

1
但是我将脚本设置为+ x
Terrance

1
@JPX我会使用完整路径,因为我们不知道我们在哪里:)
Jacob Vlijm

3

编辑:自从我提供了此答案以来,问题已更改。我将保留这个答案,因为它提供了一些可能有用的信息。

如果通过控制台表示字符单元虚拟控制台之一,则安装vlock

sudo apt-get -y install vlock

然后,您可以中断并锁定虚拟控制台:

vlock

解锁控制台时,屏幕不会恢复。如果您不想丢失屏幕内容,则建议登录第二个控制台。当你想锁定屏幕移动到第二个控制台,然后输入

vlock -a

这将锁定所有控制台并阻止控制台切换。解锁控制台后,您可以切换回主工作控制台并完整地找到屏幕内容。


一个更好的选择是使用终端多路复用器(如tmux或screen)将其还原到先前的会话,并分离该会话,锁定控制台,然后重新连接到先前的会话。奖励:您可以注销或完全断开连接,但以后仍可以继续会话。
David Foerster,2017年

2

只需运行:

gnome-screensaver-command -a

注意:除非您在系统设置中禁用“锁定”选项,否则这也会调用锁定屏幕:

在此处输入图片说明


这也将称为锁定屏幕。
Jacob Vlijm '17

@JacobVlijm-不适合我。
You'reAGitForNotUsingGit

@ AndroidDev这很奇怪,Ubuntu 16.04在这里。
Jacob Vlijm '17

这取决于您如何配置“系统设置→亮度和锁定”。设置“锁定开/关”和“ ...后锁定屏幕”控制行为。
字节指挥官

@JacobVlijm-编辑
-You'reAGitForNotUsingGit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.