我有一台运行Kubuntu Precise(12.04)的笔记本,偶尔会用来观看视频。完成后,我插入连接有A / V接收器的HDMI电缆,并连接了HDMI监视器。
当我以这种方式观看视频时,与系统进行交互以控制播放等时,仍然需要使用笔记本显示器。
当我插入HDMI电缆时,Kubuntu会检测到它,但是我必须经历一个奇怪的舞蹈序列(该序列有效,但令人费解),才能每次正确设置视频和音频。为了解决这个问题,我正在尝试编写一个bash脚本xrandr
以使其在第一次就正确执行。
我从Peoro的标题为“ U&L问答”的答案中得到了一个基本思想:当插入外部显示器时,该工具可以自动应用RandR配置。
关于我的剧本
我的脚本(包括在下面)可以工作,但是需要改进。
它为HDMI监视器正确设置了视频模式,但是LVDS1监视器(在笔记本电脑上)更改为仅显示桌面的左上部分-这是一个问题,因为它切断了右侧的窗口滚动条和底部。
我尝试使用修复此问题--scale
,但第一次尝试将事情弄得一团糟,以至于我不得不重新启动才能恢复正常的显示。
有没有一种方法可以使两个显示器显示相同的内容,但是每个显示器都使用各自独立的首选分辨率?
或者至少是一种设置笔记本电脑显示器的方式,以便在使用HDMI显示器时仍可访问整个台式机?
由于我正在调试脚本,因此尚未清除。我可能想稍后再做。
我的剧本
#!/bin/bash
## hdmi_set
## Copyleft 11/13/2013 JPmicrosystems
## Adapted from
## /unix/4489/a-tool-for-automatically-applying-randr-configuration-when-external-display-is-p
## Answer by peoro
# setting up new mode for my VGA
##xrandr --newmode "1920x1080" 148.5 1920 2008 2052 2200 1080 1089 1095 1125 +hsync +vsync
##xrandr --addmode VGA1 1920x1080
##source $HOME/bin/bash_trace
# default monitor is LVDS1
MONITOR=LVDS1
# functions to switch from LVDS1 to HDMI and vice versa
function ActivateHDMI {
echo "Switching to HDMI"
##xrandr --output HDMI1 --mode 1920x1080 --dpi 160 --output LVDS1 --off
##xrandr --output HDMI1 --same-as LVDS1
xrandr --output HDMI1 --mode 1920x1080
xrandr --output LVDS1 --mode 1366x768
MONITOR=HDMI1
}
function DeactivateHDMI {
echo "Switching to LVDS1"
xrandr --output HDMI1 --off --output LVDS1 --auto
MONITOR=LVDS1
}
# functions to check if VGA is connected and in use
function HDMIActive {
[ $MONITOR = "HDMI1" ]
}
function HDMIConnected {
! xrandr | grep "^HDMI1" | grep disconnected
}
## MONITOR doesn't do anything because it's not preserved between script executions
# actual script
##while true
##do
if HDMIConnected
then
ActivateHDMI
fi
if ! HDMIConnected
then
DeactivateHDMI
fi
##sleep 1s
##done
xrandr的输出
这是xrandr看到的:
bigbird@ramdass:~$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected (normal left inverted right x axis y axis)
1920x1080 60.0 +
1680x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x720 60.0
1024x768 60.0
800x600 60.3
720x480 59.9
640x480 60.0
720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)