我有一台旧笔记本电脑联想 E330,运行 Xubunu 16.04
我已经连接了 2 个外部显示器,一个带有 VGA,另一个带有 HDMI 线。
我正在尝试编写一个简单的命令来将我的桌面扩展到两个外部显示器,盖子将保持关闭状态,因此我将同时运行两个显示器。
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 293mm x 165mm
1366x768 60.03*+
1360x768 59.80 59.96
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
960x600 60.00
960x540 59.99
800x600 60.00 60.32 56.25
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
720x450 59.89
640x480 60.00 59.94
680x384 59.80 59.96
576x432 60.06
512x384 60.00
400x300 60.32 56.34
320x240 60.05
VGA-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+
1680x1050 59.95
1280x1024 75.02 60.02
1440x900 74.98 59.89
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 72.81 66.67 59.94
720x400 70.08
HDMI-1 connected (normal left inverted right x axis y axis)
1920x1080 60.00 +
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 74.98 59.90
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 72.81 66.67 59.94
720x400 70.08
DP-1 disconnected (normal left inverted right x axis y axis)
该命令应该是像其中之一一样简单的命令。
xrandr --auto --output VGA-1 --mode 1920x1080 --right-of HDMI-1
或者
xrandr --output LVDS-1 --off
xrandr --output VGA-1 --mode 1920x1080
xrandr --output HDMI-1 --mode 1920x1080
正确的脚本应该是什么样的?
断开外接显示器后是否可以启用笔记本电脑屏幕?因为目前即使我断开外接显示器并重新启动系统,它仍然保持关闭状态 ;(
答案1
您必须制作两个脚本才能实现您的目标。
一个用于打开两个外接显示器,一个用于关闭笔记本电脑显示器。
另一个用于撤销脚本一所做的更改。
因此,使用以下内容创建script1.sh
并使其可执行。
#!/bin/bash
xrandr --output LVDS-1 --off
xrandr --output VGA-1 --mode 1920x1080 --auto
xrandr --output HDMI-1 --mode 1920x1080 --auto
并script2.sh
添加以下内容并使其可执行。
#!/bin/bash
xrandr --output VGA-1 --off
xrandr --output HDMI-1 --off
xrandr --output LVDS-1 --mode 1366x768 --auto
您可以在连接外部显示器后运行scipt1.sh
,并且必须script2.sh
在移除外部显示器之前运行。
请注意,上述方法会同时将您的屏幕镜像到两个单独的屏幕上。如果您需要单独的屏幕而不是镜像,则可以使用或 --left-of
选项--right-of
并提供相应的设备名称。
您还可以通过打开笔记本电脑显示屏和两个显示器来检查您的硬件是否同时支持三个显示屏。
答案2
首先打开 电源设置实用程序并选择没做什么当笔记本电脑盖子关闭时。 所有设置 > 电源
然后只需添加几个别名即可.bash_aliases
# 表示盖子关闭,这将是扩展显示,
alias 2mon='xrandr --output HDMI-1 --auto --primary --rotate normal --output VGA-1 --preferred --rotate normal --left-of VGA-1 --output LVDS-1 --off'
# 仅限笔记本电脑在断开外部监视器之前运行:
alias 1mon='xrandr --output LVDS-1 --auto --rotate normal --output HDMI-1 --off --output VGA-1 --off'
答案3
我现在正在使用这个。它在 Xubuntu 上与 awesome-wm 配合使用。这些 xrandr 函数可切换显示器并让 wm 移动标签,这些标签类似于 alt 桌面;它们显示为沿顶部边缘的文件夹选项卡。就像我的情况一样,有时窗口管理器不喜欢被告知将其打包并移动。
这个想法是,在您再次移动屏幕之前重新启动窗口管理器。因此,每次调用 xrandr 时,请确保重新启动窗口管理器。
我正在使用我的 ZSH shell将这些行放入你的 .zshrc 中,或者它可能也可以在 bashrc 中工作,但我还没有尝试过。
switch1() {
xrandr --output VGA1 --mode 1920x1080 --primary --output HDMI-1 --mode 1920x1080 --left-of LVDS1 --output LVDS1 --mode 1280x800 --left-of VGA1;
sleep 2;
echo 'customization.orig.restart()' | awesome-client;
xrandr --output VGA1 --mode 1920x1080 --output HDMI-1 --mode 1920x1080 --left-of LVDS1 --output LVDS1 --primary --mode 1280x800 --left-of VGA1;
sleep 2;
echo 'customization.orig.restart()' | awesome-client;
xrandr --output VGA1 --off --output HDMI1 --off;
echo 'customization.orig.restart()' | awesome-client;
sleep 1;
}
switch2() {
xrandr --output VGA1 --mode 1920x1080 --output HDMI-1 --mode 1920x1080 --left-of LVDS1 --output LVDS1 --primary --mode 1280x800 --left-of VGA1;
sleep 2;
echo 'customization.orig.restart()' | awesome-client;
xrandr --output VGA1 --mode 1920x1080 --primary --output HDMI-1 --mode 1920x1080 --left-of LVDS1 --output LVDS1 --mode 1280x800 --left-of VGA1;
sleep 2;
echo 'customization.orig.restart()' | awesome-client;
xrandr --output LVDS1 --off;
echo 'customization.orig.restart()' | awesome-client;
sleep 1;
}
接下来解释定制。orig.restart() 只是我所拥有的一个特殊部分。awesome.restart()
对于那些不使用修改后的 rc.lua 配置的人来说,AwesomeWM 函数将起作用。
为了让你拥有我发现的一切这关于将标签移动到新屏幕的讨论,并使用命名标签移动器函数这里它可以放在 rc.lua 中的任何位置,也可以包含 custom.lua 文件,用于添加您可能添加的额外功能。确保 custom.lua 包含在 rc.lua 文件中。