Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

How do I change my primary monitor without using the command line?

share|improve this question

8 Answers 8

up vote 3 down vote accepted

Until Ubuntu Brainstorm Idea #17526 becomes a reality, it seems there is no way for non-NVIDIA users to change the primary display (not just move the panels) without resorting to the command line.


Edit 2014-05-30: That answer is a little outdated now. Ubuntu Brainstorm no longer exists. And other answers to this question have better solutions, both for Ubuntu, and other distros.

In MATE, "Preferences > Monitors" has a "Make Default" button. That's what you're looking for.

In GNOME 3, "Settings > Display" doesn't have a "Make Default" button. Instead it has a toolbar-looking bar at the top of one of the displays. Drag that to the display that you want to be primary.

I believe Unity is similar to GNOME 3, but the toolbar is on the side -- I don't know for sure though; I'm not running Unity myself.

In KDE, under "System Settings > Display and Monitor" there is a star on each display that you can click to set which is primary.

share|improve this answer
    
"Until Ubuntu Brainstorm Idea #17526 becomes a reality" Just a note that this link is no longer live. –  James Mar 2 at 0:23
    
Thanks James. Link removed. –  kaapstorm May 30 at 11:33

I was having problems with the primary monitor reverting on reboot. Was getting pretty annoying. So I did some searching around and was able to find a solution of my own.

First select your primary display.

Select primary display

Make sure you save your settings, then close.

Next you need to edit the monitors configuration file.

gedit ~/.config/monitors.xml

Find the display you wish to make primary, and change to

<primary>yes</primary>

And make sure to change the other monitor to

<primary>no</primary>

Now save the files, and reboot.

Example config

<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="DVI-I-0">
      </output>
      <output name="DVI-I-1">
      </output>
      <output name="TV-0">
      </output>
      <output name="DVI-I-2">
          <vendor>SYN</vendor>
          <product>0x0022</product>
          <serial>0x00000326</serial>
          <width>1360</width>
          <height>768</height>
          <rate>60</rate>
          <x>0</x>
          <y>312</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="DVI-I-3">
          <vendor>ACI</vendor>
          <product>0x24f2</product>
          <serial>0x01010101</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>1360</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
  </configuration>
</monitors>

Now when you reboot the display should be selected as primary.

My setup is as follows:

  • Ubuntu 12.04.1 (64-bit)
  • nVidia GTX 260 (using latest drivers)
share|improve this answer

For most video cards:

Go to the monitors preference panel. On a default desktop install this is: System - Preferences - Monitors

Uncheck the "Same image in all monitors" box and hit "Apply".

Hold the Alt key and drag the top and bottom panels to the screen that you want to be the primary display.

For NVidia video cards:

Run the NVidia settings tool. On a default desktop install with the NVidia proprietary drivers enabled, this is: System - Administration - NVIDIA X Server Settings

Select "X Server Display Configuration".

Choose the display you want to be the primary display and check "Make this the primary display for the X screen" and hit "Apply".

share|improve this answer
    
this does not actually change the primary monitor, Applications still start on the wrong monitor and full screen video playback etc happens on the wrong monitor. –  trampster Aug 4 '10 at 21:42
    
Applications should start on the display that was clicked most recently. (I tested this by launching a slow-starting application from the menu on my primary display and quickly clicking on a window on my secondary display.) Similarly, full-screen video should happen on whichever display you were using when you caused the video player to go full screen. Could you provide more information about your setup and the applications you're using? –  fader Aug 4 '10 at 21:46
1  
Flash videos for example will play full screen on the primary monitor, some of the linux video applications do the same. –  trampster Aug 4 '10 at 22:06
    
OpenOffice presentations also are displayed according to what the primary monitor is. –  trampster Aug 4 '10 at 22:11

I just deleted ~/.config/monitors.xml and logged out and back in, then went to Setting / Monitors and re-saved. This created a new monitors.xml file - and that fixed the problem.

share|improve this answer

In Ubuntu this can be solved as follows:

Click on the Gear Icon on the Unity launcher (the bar on the left side of the screen). The icon is labeled System Settings

Look under the Hardware Section and click the Displays icon

Turn off Mirror Displays (optional)

CLick on one of the display rectangles and drag the displays around to whatever order you prefer

Set any other desired options. For example, you can set the Launcher to only show up on one display

Click Apply

You will now have the primary monitor setup as desired - all without using the command line as mentioned in your question.

share|improve this answer
1  
This lets you move the monitors around, but it doesn't change which is considered 'primary'. –  Joseph Garvin Feb 20 at 17:27

To move them all at once, turn off the secondary monitor, confirm, and turn it on again - and all programs will be on the primary monitor.

share|improve this answer

Worked for Xubuntu 14.04 Trusty tahr nvidia gtx 760 using proprietary driver 331.38 on x86_64.

"Settings manager" -> "Session and Startup" -> "Application Autostart" register -> add following command:

 xrandr --output HDMI-0 --primary

specify title yourself so you recognize if changed later on. You can give even further arguments to it.

To know which monitor is which you can either call xrandr -q on the commandline or install arandr (available in the settings-manager too) to list the monitors.

share|improve this answer

In the Screen Display manager, both your monitors must be shown side-by-side. You can drag the left one to the right side to switch the primary monitor between them.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.