如何使用shell脚本和'xrandr' Linux命令打开/关闭屏幕显示器?

3
我将尝试使用按键绑定在Ubuntu14.04中打开和关闭屏幕监视器。
我尝试了以下shell脚本:

#!/bin/sh 
output=$(xrandr | grep ' connected ' | awk '{print $1}' | head -1)
screenSize=$(xrandr | awk 'BEGIN {foundOutput=0}
/ '$output' / {foundOutput=1}
/\*\+/ {print $1}
/^[^ ]/ {if(foundOutput) exit 0}')
if [ "$screenSize" != "" ]; then
   xrandr --output $output --fb $screenSize --off
   espeak "Monitor off"
else
   xrandr --output $output --auto
   espeak "Monitor on"
fi

1) 这个脚本在Ubuntu 10.04上运行良好,但在Ubuntu 14.04上无法正常工作。

2) 我将此脚本绑定在Ctrl+Alt+M键上。

3) 当我按下这个快捷键时,它会关闭显示器,但再次按下这个快捷键时,它不会重新开启屏幕监视器。

4) 我尝试运行这个命令

xrandr --output $output --auto

或者

xrandr --output LVDS-1 --auto

但是什么都没有发生。

5) 我也试过这个命令。

xset dpms force off

如果按下任何按键,它将启动屏幕监视器。

那么我应该如何使用shell脚本打开或关闭屏幕监视器呢?


1
我认为更适合在AskUbuntu上提问。 - 4ae1e1
1
@4ae1e1 我不确定,因为涉及到脚本,所以我认为这属于编程。 - martin
2
@martin 我并不是说这个问题应该被关闭;只是建议它可能更相关,并且在AskUbuntu上会吸引更好的答案。有一个脚本,但脚本并不难 —— 它主要是关于可用工具的。 - 4ae1e1
你是想完全关闭它,还是将亮度调暗到零就足够了?我有一个脚本适用于我的笔记本电脑,当外接显示器连接时,它会降低显示器的亮度;当未连接时,它会降低内置屏幕的亮度。如果你需要类似的功能,请告诉我。 - MichalH
请尝试执行以下命令:xrandr --output LVDS-1 --mode 1366x768 --primary - Carlos Porta
显示剩余2条评论
1个回答

1
通常情况下,笔记本电脑会有自己的屏幕快捷键来开启和关闭显示器。如果你的笔记本没有这样的键,可以尝试搜索除 xrandr 之外的其他程序来实现你想要的功能。Ubuntu 的默认屏幕保护程序可以分配一个按键来自动关闭并锁定屏幕。
以下是操作步骤:
  1. 导航至系统设置 > 键盘 > 快捷键 > 系统。
  2. 单击 +,将自定义快捷方式命名为任何你想要的名称,并将命令设置为 gnome-screensaver-command -la
  3. 单击 应用,然后分配你想要添加的快捷键。
这些说明也可以在这里找到(带有图片):askubuntu.com/questions/446601/how-can-i-lock-and-blank-the-screen-from-the-keyboard-in-14-04 你甚至可以尝试使用设置管理器使 xrandr 工作,但我不确定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接