我想创建一个bash脚本,使我可以:
将屏幕的模式从扩展模式更改为重复模式,反之亦然。
我的键盘没有功能键,我想创建一个脚本来切断此操作,但我不知道该怎么做
非常感谢!
答案 0 :(得分:1)
要制定bash功能,首先需要使用此命令了解连接的屏幕。
xrandr --current
它将显示类似于此的输出
Screen 0: minimum 8 x 8, current 1600 x 900, maximum 32767 x 32767
eDP1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 380mm x 210mm
1600x900 60.04*+ 59.82 39.99
1400x900 59.96 59.88
1368x768 60.00 59.88 59.85
1280x800 59.81 59.91
1280x720 59.86 60.00 59.74
1024x768 60.00
1024x576 60.00 59.90 59.82
960x540 60.00 59.63 59.82
800x600 60.32 56.25
864x486 60.00 59.92 59.57
800x450 60.00
640x480 59.94
720x405 59.51 60.00 58.99
640x360 59.84 59.32 60.00
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
如您所见,我有2个输出eDPI1
(我的笔记本电脑屏幕)和HDMI1
我的外接显示器(当前已断开连接)。
有了这些变量,我现在可以编写一个从镜像切换为扩展和返回的函数。
#!/bin/bash
export SCREEN_STATE="extended"
function screenToggle() {
if [[ $SCREEN_STATE == "extended" ]]; then
xrandr --output eDPI1 --output HDMI1 --same-as eDPI1
export SCREEN_STATE="mirrored"
else
xrandr --output eDPI1 --output HDMI1 --left-of eDPI1
export SCREEN_STATE="extended"
fi
}
请注意,我尚未测试此代码,并且在第一轮运行时,由于第二行的原因,显示器将进入镜像模式,并且您无法更改其行为。
有关控制分辨率所需的更多值,请参见man xrandr
和this similar question。