在16.04上设置主监视器

所有窗口都在左侧显示器上打开,所有新文件都保存在那里,我希望我的右侧显示器作为我的主显示器,所以这一切都发生在那里。

如下图所示,我已将启动器设置在我的右侧显示器上,但这对我的问题没有帮助。

显示设置

我有同样的问题,以及与多个监视器有关的其他一些问题。

事实certificate这是Ubuntu的一个未解决的漏洞; 意味着上面评论中发布的解决方案链接实际上并不包含完全有效的解决方案。 请参阅此处的开放式错误报告: https : //bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1425000

幸运的是,我花了很多时间搞清楚如何配置这个以及登录屏幕的方向,但是在另一个线程中解释了(我有四个显示器和登录方向错误但是现在全部排序,如果你也有这个问题在这里看到解决方案: Unity / Unity-Greeter从哪里加载X配置? )

无法设置默认显示的问题的快速简单解决方案,和/或重启后重置的默认显示是放置一个简短的shell命令,将主监视器更改为“启动应用程序”之一,它将自动每次登录时运行 (这应该适用于运行Unity显示管理器的任何最近的Ubuntu,它是默认的显示管理器,可能是其他DM,但我没有测试):

1)首先,您需要安装arandr以轻松找到您的监视器显示名称,在shell中运行:

 sudo apt-get install arandr --upgrade 

2)接下来,运行arandr命令并查看它加载的用户界面(由于你还没有配置任何东西,它可能会加载到错误的屏幕上)。

3)现在,记下哪个显示(名称应该类似于HDMI – #用于hdmi或DP – #用于显示端口, DVI -I-用于数字video等)。 一旦你运行arandr,标签应该是大而明显的。 您可以记下显示名称,或者只保持arnadr窗口打开,这样您就可以看到它,并在需要下一部分时启动一个新的shell。 我的默认显示称为DP-4 ,在下一个示例中使用,但毫无疑问,您的默认显示会有所不同,请注意下一步。

4)接下来,加载“启动应用程序”工具。 您可以通过转到破折号并键入“启动应用程序”找到它,Ubuntu会为您找到它,或者您可以在shell中运行此命令:

 gnome-session-properties 

5)现在,在启动应用程序工具中,单击“添加”按钮并添加一个新程序以在登录时运行。将弹出一个窗口,询问您要运行的内容,以下是要键入的内容:

  • 名称:设置默认监视器

  • (注意:输入你想要的任何名字)

  • 命令: xrandr --output DP-4 --primary

  • (注意:在运行* arandr时, DP-4 * 更改为您希望成为默认显示的监视器代码)

  • 评论:留空或稍后提醒自己这是做什么的。

重新启动以完全测试它是否有效,这应该可以解决问题。 如果您不确定该命令是否有效并且想先测试它,您可以从shell运行xrandr --output DP-4 --primary (再次,用默认监视器替换DP-4 )然后启动一个窗口并查看它是否显示在正确的默认监视器上。 但是为了每次都能保存和工作,要解决这个问题,你需要将该命令添加到启动应用程序中

更新 :这似乎是这个解决方案的第二步/第二部分,以使其完全起作用。 在Ubuntu 16.04上进行了几天的测试后,我发现还需要修改~/.config/monitors.xml来指定主监视器。 如果未在~/.config/monitors.xml设置主监视器,则会显示某些窗口和/或程序遵循xrandr命令,而某些窗口和/或程序则不遵循xrandr命令。 要执行此步骤,您需要做的就是在文本编辑器(如gedit )中打开~/.config/monitors.xml ,并将标记设置为yes以便将显示监视器设置为主要显示监视器,而将所有其他显示监视器设置为no显示器。 以下是步骤:

1)在shell中,首先备份现有的monitors.xml文件,以便在编辑过程中出现意外错误时可以恢复它:

 cp ~/.config/monitors.xml ~/.config/monitors_OLD.xml 

2)在gedit打开monitors.xml以更改配置设置标记:

 gedit ~/.config/monitors.xml 

3)现在,在gedit编辑器窗口内,找到标记为您想要成为主要监视器的输出标记,然后在该块下,将标记更改为yes请务必查看所有其他监视器,并将所有其他监视器的主标记更改为no

对我来说,做到这两件事已经解决了我到目前为止所遇到的所有情况。

除了etron的回答 – 这对我来说不起作用,我的二级屏幕(HDMI1)位于左侧,仍然会在重启后表现为主要(HDMI2)的右侧,即使它是在我的monitors.xml中都正确。 对我来说有用的是etron描述的,但我在我的启动应用程序中添加了以下命令:

 xrandr --output HDMI2 --pos 1920x0 --output HDMI1 --pos 0x0 

这会强制我的主(HDMI2)在右侧(水平偏移x = 1920)和次级(HDMI1)在左侧(x = 0)

您还可以尝试在显示配置中关闭和打开当前主显示器,如下所示: 是否有能力设置我的主显示器?

操作系统: Ubuntu Studio 16.04 LTS

问题是我的配置是通过默认显示程序保存我的显示设置,虽然没有在启动时正确应用“主要”设置。

我的笔记本电脑在右侧,主屏幕在左侧,我将左侧显示器配置为主显示器。

在启动时,它显示右侧的顶部工具栏,而os(鼠标)认为它在左侧,因此使用顶部工具栏,我不得不盲目地导航(估计)到菜单项的位置在右侧屏幕上并在左侧使用鼠标。 我可以通过改变至少一个屏幕上的旋转,应用设置,然后再将它们放回去来克服这个问题。 然后,顶部工具栏将正确设置为我的主(左)屏幕。

下面的过程现在自动为我做这件事( 非常感谢etron的post ):

  1. 安装arandr以轻松查找和配置显示名称。

     sudo apt-get install arandr --upgrade 
  2. 从shell运行arandr命令以配置和标识您的显示。
    – 对于布局,您可以拖动显示器。
    – 对于活动,主要,分辨率和方向设置,转到菜单选项Outputs > %Display

  3. 根据需要设置上述内容后,转到菜单选项Layout > Save as:并在名称字段中输入~/.screenlayout/ScreenLayout.sh

  4. 在文本编辑器中编辑~/.screenlayout/ScreenLayout.sh文件,并复制(复制和粘贴)整个xrandr行。

  5. 现在修改第一个xrandr行中的值。
    我将--rotate normal选项值更改为--rotate left 。 当此脚本运行时,它将暂时更改左旋转,然后恢复正常,重新激活配置。 与我上面所述的手动操作相同。
    我的ScreenLaout.sh文件现在看起来像这样:

     #!/bin/sh xrandr --output LVDS-1 --mode 1680x1050 --pos 1680x0 --rotate left --output HDMI-1 --off --output VGA-1 --primary --mode 1680x1050 --pos 0x0 --rotate normal xrandr --output LVDS-1 --mode 1680x1050 --pos 1680x0 --rotate normal --output HDMI-1 --off --output VGA-1 --primary --mode 1680x1050 --pos 0x0 --rotate normal 
  6. 接下来,加载“启动应用程序”工具。 您可以通过转到破折号并键入“启动应用程序”找到它,Ubuntu会为您找到它,或者您可以在shell中运行此命令:

     gnome-session-properties 
  7. 现在,从会话和启动工具中,导航到“Applcation Autostart”选项卡,单击“添加”按钮并添加一个新程序,以便在登录时运行。将弹出一个窗口,询问您要运行什么,这是什么输入:
    名称:设置默认监视器(注意:输入您想要的任何名称)
    描述: 留空或稍后提醒自己这是做什么的。
    命令: ~/.screenlayout/ScreenLayout.sh

  8. 重新启动以完全测试它是否有效。

注意:如果您不确定该命令是否有效并且想要先测试它,您可以手动运行脚本,即在我的情况下,我会在shell中运行~/.screenlayout/ScreenLayout.sh 。 此外,如果你更喜欢使用键绑定来设置多个配置,我相信你可以在arandr中做到这一点,虽然它需要Metacity,我没有调查过你所以你自己在这里。