恢复多显示器设置

恢复多显示器设置

这是对上一个问题的跟进(保存显示器设置?),我们了解到配置保存在文件中~/.config/monitors.xml

我的问题是我的配置通常是不总是恢复。也就是说,我上班时经常需要调用显示 capplet 来重新配置 3 个显示器。这很繁琐,我想避免这种情况。

我可以保存monitors.xml文件,这样即使 ubuntu 覆盖了它,我也可以恢复它。但是问题是:我该如何告诉 ubuntu文件?我不想注销或者重新启动。

附注:System76 Gazelle Pro、Ubuntu 15.10、Unity。

PPS。配置如下:

  <configuration>
      <clone>no</clone>
      <output name="eDP1">
          <vendor>CMN</vendor>
          <product>0x15bb</product>
          <serial>0x00000000</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>1080</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="HDMI1">
          <vendor>DEL</vendor>
          <product>0xa07a</product>
          <serial>0x354c3553</serial>
          <width>1920</width>
          <height>1200</height>
          <rate>60</rate>
          <x>3000</x>
          <y>0</y>
          <rotation>left</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VGA1">
          <vendor>DEL</vendor>
          <product>0x4071</product>
          <serial>0x414b314c</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>left</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VIRTUAL1">
      </output>
  </configuration>

PPPS.xrandr 输出:

$ xrandr
Screen 0: minimum 8 x 8, current 4200 x 1920, maximum 32767 x 32767
eDP1 connected primary 1920x1080+1080+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     60.01*+  59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      60.00  
   1280x1024     60.02  
   1440x900      59.89  
   1280x960      60.00  
   1368x768      60.00  
   1360x768      59.80    59.96  
   1152x864      60.00  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   640x360       60.00  
HDMI1 connected 1200x1920+3000+0 left (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.00  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     60.02  
   1280x960      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00  
   720x400       70.08  
VGA1 connected 1080x1920+0+0 left (normal left inverted right x axis y axis) 510mm x 287mm
   1920x1080     60.00*+
   1280x1024     75.02    60.02  
   1152x864      75.00  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

答案1

假设你不需要更换显示器解决(如果是的话,只要提到它),并且您的设置存在于从左到右排列它们,(相当长:))命令:

xrandr --output VGA1 --pos 0x0  --rotate left &&\
xrandr --output eDP1 --pos 1080x0 --rotate normal &&\
xrandr --output HDMI1 --pos 3000x0 --rotate left

应该按照您想要的方式创建安排。

解释:

从 的输出来看xrandr,每个屏幕都有一个字符串,如下所示:

VGA-1 connected 1280x1024+1680+0

这为我们提供了有关屏幕在“整个画面”中的位置的信息,正如解释的那样这里。随后,您可以通过以下命令排列您的屏幕:

xrandr --output <screenname> --pos <xxy> 

并旋转:

xrandr --output <screenname> --rotate left

三个屏幕中的两个。--rotate normal屏幕 1 应该不是必需的,但要确保...

就像在(这个)答案中的命令中使用的那样。

重要的提示

如果你进行这样的设置,那么设置屏幕就很重要从左到右,这意味着命令需要按照该顺序排列。

将命令添加到快捷键

为了方便起见,您可以将命令添加到快捷键:选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”。单击“+”并添加命令:

/bin/bash -c "xrandr --output VGA1 --pos 0x0  --rotate left && xrandr --output eDP1 --pos 1080x0 --rotate normal && xrandr --output HDMI1 --pos 3000x0 --rotate left"

到捷径。

相关内容