为多显示器配置分配键盘快捷键

Bor*_*ion 6 nvidia 10.10

使用 Ubuntu 10.10。我有一个外部屏幕,经常把我的电脑搬进搬出房间。

nvidia-settings每次我需要将笔记本电脑带出房间时,有没有办法避免手动配置?

希望能够按Ctrl+1并仅激活笔记本电脑屏幕,Ctrl+2仅用于外部,而Ctrl+3用于 TwinView。

Oli*_*ver 1

我的答案可能并不 100% 适合您的情况,因为我使用 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
Run Code Online (Sandbox Code Playgroud)

将脚本存储在某个目录中,赋予其执行权限并定义启动它的键盘快捷键。至少在这里运作良好。


小智 1

我使用分散:https://launchpad.net/~分散-dev/+archive/ppa 。您可以将该命令分配disper -s给仅用于主显示器、disper -S仅用于辅助显示器、disper -e扩展桌面以及disper -c两个显示器上的克隆的快捷方式。我必须稍微调整一下,才能将我的主显示器设置为适合我使用命令的扩展桌面disper -d CRT-1,DFP-0 -e,其中 CRT-1 和 DFP-0 是使用 找到的显示器的名称disper -l