28

I am running Ubuntu 12.04 (beta) with a triple head setup and GNOME 3 desktop (i.e. "GNOME" selected not "Ubuntu" at login screen). It seems that it handles multiple monitors by blessing one monitor to receive the Activities bar, Clock, Login Menu, etc. Let's call this the "primary" monitor. How do I change it (permanently) ?

Update: Ok so:

$ xrandr --output DFP4 --primary

Does the trick temporarily. How do I make it permanent? I'm using latest fglrx ATI Catalyst driver

0xC0000022L
  • 5,870

6 Answers6

42

By opening System Settings > Displays you can change your "primary" screen by dragging the black little bar to the display you want and hit the Apply button. Restarted my PC and i didn't have to use xrandr anymore ^_^

Better explanation than mine you can find here: http://www.thebinaryidiot.com/archives/2011/11/11/gnome-shell-3-2-and-multiple-monitors/

Eliah Kagan
  • 119,640
krum85
  • 566
7

What I did:

places>home folder. Under view, check show hidden files. find monitors.xml and open it with text editor. make a copy just to be safe.

identify the monitor you want to be primary (vendor brand, resolution etc) and look for the command line < primary>no< /primary>. change it to < primary>yes< /primary>

Save the doc and reboot to see if it took.

hope that helps someone out there.

muru
  • 207,228
3

echo -e "xrandr --output DFP2 --primary" >> ~/.bashrc

Or add xrandr --output DFP2 --primary at the end of .bashrc

pl1nk
  • 6,667
2

I have a Three monitor Layout in Ubuntu 14 LTS. One monitor is positioned Vertical. I plugged the monitors in a way that the log on screen is in one of the horizontial monitors!

I used arandr (apt-get install arandr) to adjust the monitors layout and saved the layout file, for example /home/username/.monitor_setup.sh.

I had only to add --primary to the desired monitor and put the file to the Startup Applications of Ubuntu! (At the command field of 'Add Startup Program' just point and klick your edited layout file!

xrandr --output VGA-0 --mode 1920x1080 --pos 3000x532 \
  --rotate normal --output DVI-D-0 --mode 1920x1080 \
  --pos 1080x532 --rotate normal --primary \
  --output DVI-D-1 --mode 1920x1080 --pos 0x0 \
  --rotate left --output HDMI-0 --off
muru
  • 207,228
Kostas
  • 21
1

Grab my simple xmonitor shell script... https://antofthy.gitlab.io/software/#xmonitor This lets you easily layout all active monitors without needing to figure out complex xrandr commands for each machine you deal with.

anthony
  • 334
1

I'm going to build on @pl1nk's answer. It's correct but assumes a few things that aren't the safest to assume. Especially in my case. My display names were different.

  1. Run xrandr --current to get a list of displays and their names.

    Sample output:

    xrandr --current 
    Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
    LVDS-1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
       1366x768      60.05 +
       1024x768      60.04*   60.00  
       960x720       60.00  
       ...
       320x240       60.05  
    VGA-1 disconnected (normal left inverted right x axis y axis)
    HDMI-1 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
       1920x1080     60.00    59.94    30.00    24.00    29.97    23.98  
       1920x1080i    60.00    59.94  
       1280x1024     60.
       ...  
    DP-1 disconnected (normal left inverted right x axis y axis)
    
  2. Pick the one you want to set as primary. In my case, I want HDMI-1 as my primary. You may have a different name or want a different monitor. LVDS is my laptop monitor.

  3. Now that you have the name, the xrandr --output [name of display] --primary command, (don't include the brackets), will set the display you want as primary.

  4. Running the echo -e xrandr --output [name of display] --primary" >> ~/.bashrc command saves it to be run when you log in to your user account.

If you want to set this on boot-up, you'll have to add it to the startup scripts folder. Those instructions change based on your distro.

karel
  • 122,292
  • 133
  • 301
  • 332
ThinkDigital
  • 113
  • 4