使用 Ubuntu 10.10。我有一个外接屏幕,并且经常将我的电脑移进移出房间。
有没有办法避免nvidia-settings
每次我需要将笔记本电脑带出房间时都进行手动配置?
希望能够按下Ctrl+1仅激活笔记本电脑屏幕,按下Ctrl+2仅激活外部屏幕,按下Ctrl+3激活 TwinView。
答案1
由于我使用的是 ATI 驱动程序,因此我的答案可能并不完全适合您的情况,但我使用了一个小脚本,该脚本可以检测外部显示器,然后使用 xrandr 命令行工具启用它。然后我创建了一个运行它的快捷键。
如果 xrandr 也在您的配置上运行,您可以使用它的修改版本。xrandr 包含在包“x11-xserver-utils”中,因此您可能首先需要在控制台中运行“sudo apt-get install x11-xserver-utils”。
脚本中需要修改的内容:
- 首先在控制台中运行“xrandr -q”以找出主显示器和外接显示器的名称。我的是“LVDS”和“DisplayPort-0”。
- 将脚本中的 EXT_DISPLAY 设置为外接显示器的名称
- 将脚本中的 MAIN_DISPLAY 设置为主显示器的名称
- 将 EXT_POS 保留为“右”,以使外接显示器位于主显示器的右侧,将其替换为“左”(或其他任何值)以使其位于左侧
剧本:
#!/bin/bash
EXT_DISPLAY="DisplayPort-0"
MAIN_DISPLAY="LVDS"
EXT_POS="right"
EXT_OUTPUT="NONE"
xrandr -q > /var/tmp/xrandr.log
STATUS_DISPLAYPORT=$(xrandr -q | sed -n "s/${EXT_DISPLAY} \([a-z]*\).*/\1/p")
if [ "$STATUS_DISPLAYPORT" = "connected" ]; then
echo "Detected external monitor on $EXT_DISPLAY"
EXT_OUTPUT="$EXT_DISPLAY"
fi
if [ "$EXT_OUTPUT" = "NONE" ]; then
echo "LCD only"
else
echo "Enabling external monitor $EXT_OUTPUT"
if [ "$EXT_POS" = "right" ]; then
xrandr --output $MAIN_DISPLAY --pos 0x0 --preferred --output $EXT_OUTPUT --right-of $MAIN_DISPLAY --preferred
else
xrandr --output $EXT_OUTPUT --pos 0x0 --preferred --output $MAIN_DISPLAY --right-of $EXT_OUTPUT --preferred
fi
fi
将脚本存储在某个目录中,赋予其执行权限并定义启动它的键盘快捷键。至少在这里效果很好。
答案2
我使用分散器:https://launchpad.net/~disper-dev/+archive/ppa. 您可以将命令指定disper -s
为仅用于主显示器、disper -S
仅用于辅助显示器、disper -e
用于扩展桌面以及disper -c
用于两个显示器上的克隆的快捷方式。我不得不稍微调整一下以将主显示器设置为适合扩展桌面,我使用命令disper -d CRT-1,DFP-0 -e
,其中 CRT-1 和 DFP-0 是使用 找到的显示器的名称disper -l
。