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.

Every time I reboot my laptop, even if I haven't unplugged the external monitor, it sets the external monitor back to overlapping with the laptop screen. I want them to stay 'side by side'.

Running Ubuntu 12.10, with Unity for my environment, and all current security updates.

If you need more information, please ask.

Upon bootup this morning:

csjewell@curtislap:~$ ls -al .config/monitors.xml 
-rw-rw-r-- 1 csjewell csjewell 1019 Jan  4 09:52 .config/monitors.xml
csjewell@curtislap:~$ cat .config/monitors.xml 
<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="LVDS1">
         <vendor>LGD</vendor>
          <product>0x0259</product>
          <serial>0x00000000</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>1920</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VGA1">
          <vendor>DEL</vendor>
          <product>0xa079</product>
          <serial>0x3255544c</serial>
          <width>1920</width>
          <height>1200</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="HDMI1">
      </output>
      <output name="DP1">
      </output>
  </configuration>
</monitors>

After changing it back to side-by-side:

csjewell@curtislap:~$ ls -al .config/monitors.xml 
-rw-rw-r-- 1 csjewell csjewell 1019 Jan  7 08:55 .config/monitors.xml
csjewell@curtislap:~$ cat .config/monitors.xml
<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="LVDS1">
          <vendor>LGD</vendor>
          <product>0x0259</product>
          <serial>0x00000000</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>1920</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VGA1">
          <vendor>DEL</vendor>
          <product>0xa079</product>
          <serial>0x3255544c</serial>
          <width>1920</width>
          <height>1200</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="HDMI1">
      </output>
      <output name="DP1">
      </output>
  </configuration>
</monitors>

Hopefully this helps.

I ended up finding my problem. I had installed Jupiter and it was setting the monitor back on boot, because its settings said to do so. Uninstalling Jupiter fixed the problem (because Jupiter had no concept of me wanting the laptop on the right, but the bar on the left.)

Thanks for the help, anyway!

share|improve this question
    
So, first thing to note is that your configs are the same (except for a space before the first <vendor>). Both are set side-by-side. –  jmendeth Jan 8 '13 at 17:57
    
The second thing to note is that, on my 12.04, screens are automatically set up to overlap on boot. However, if I unplug and plug the monitor again (leaving some seconds between), they get to use my side-by-side config. Try doing that, just for curiosity. –  jmendeth Jan 8 '13 at 18:00
    
That said, maybe the solution would be to modify the system-wide config (the one that's applied at boot?) –  jmendeth Jan 8 '13 at 18:01

1 Answer 1

So this is probably more technical than a good solution would be, but if all else fails you can execute this code in a terminal (with your external monitor plugged in):

if [ "$(xrandr|grep -c 'connected')" > 2 ]; then xrandr --output LVDS1 --mode 1920x1080 --right-of VGA1; xrandr --output VGA1 --mode 1920x1200; fi

This will use xrandr to readjust your monitor settings.

You could also look into getting this to run automatically when you log in.

I would wait a little bit to see if someone comes up with a better solution.

p.s. you can replace --right-of in the command with --left-of depending on which side you have your laptop on.

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.