Ubuntu – Dual-display solution (other than ARandR) on Lubuntu/Xubuntu

lubuntumultiple-monitorsxubuntu

What I want to achieve is an elegant way to use my two screens on Lubuntu or Xubuntu. Being elegant means: 1) Working in the same extended-display mode as in ubuntu-desktop (the common Unity Ubuntu) or Windows, or 2) Some other workaround that limit my LXDE or XFCE desktop on one screen and see something else (e.g. TTY or xterm) on the other screen.

The story comes below…


This is on an old DELL LATITUDE D600 laptop. It has a 1024×768 LCD and a VGA output.

I installed Xubuntu 12.04 LTS on this laptop and later changed to LXDE by installing lubuntu-desktop and removing most of XFCE packages.
Now it has lightdm (with unity-greeter) and LXDE.

When I attached a secondary screen to the laptop's VGA output, the two screens were working in mirror mode, whether I was in TTY, unity-greeter, or LXDE desktop.
This behavior was different from my previous experience on some other laptop. On that other laptop, I have ever had Ubuntu 12.04 LTS, Ubuntu 13.10, and Ubuntu 14.04 LTS installed. TTY is usually displayed only on the external screen, and unity-greeter should work in extended mode, where the login dialog is only displayed on one of the screens, leaving the other screen nothing but an Ubuntu icon as well as the greeter's wallpaper.

Let alone the different behavior here, I found that neither of XFCE or LXDE has built-in support for extended mode. Thus I was wondering if the behavior I observed above is laptop-dependent or actually distribution-dependent.

Having read lots of articles I found on Google, I got to know ARandR. However ARandR worked inelegantly, and also appeared different from dual-screen solutions in Ubuntu ubuntu-desktop or Windows. When I use the Print Screen key for screen-shot I got this:

Empty desktop using ARandR

Looks normal? Not at all. Since my external display was 1024×1280 (a vertically placed 1280×1024 LCD), the two screens didn't really form a rectangle shape when placed together. If I had two windows maximized on the two screens the screen-shot would look like this:

Two windows maximized using ARandR

The upper right corner was not seen on any screen. This was why I said ARandR was inelegant and behaved differently from the extended mode in Ubuntu ubuntu-desktop and that in Windows. If you've never seen the extended mode in ubuntu-desktop or Windows I could post an image for them later.

The biggest problem was that, though I cannot move my cursor into the non-existing region of the ARandR desktop (e.g. the upper right corner in my screen-shots), the desktop was rendered on the entire rectangle region. This means, if the bottom line of my two screens are not of the same vertical coordinate (i.e. if my screens are not aligned to bottom), I will lose half of my task bar (depending on which screen is placed higher)!

And also, I found everything displayed extremely slowly on the vertical external screen. For example, when I open Firefox, first the frame of the window and the blank page is flashed up to down, then the contents of the new-tab page the same way… But things appeared OK on the laptop screen.


Story ends. Please refer to the first paragraph for my objectives. Achieving one of the two objectives will be good enough.

I've read this article: https://superuser.com/questions/562657/x-on-one-monitor-a-bare-tty-terminal-on-another-linux for using xterm on one display while running the desktop on the other. However, xsetroot -display :0.1 -solid darkblue failed because it "cannot open display :0.1".

Output of xrandr --query:

Screen 0: minimum 320 x 200, current 2048 x 1280, maximum 4096 x 4096
VGA-0 connected 1024x1280+0+0 left (normal left inverted right x axis y axis) 376mm x 301mm
   1280x1024      60.0*+   75.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
DVI-0 disconnected (normal left inverted right x axis y axis)
LVDS connected 1024x768+1024+512 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768       60.0*+
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  
S-video disconnected (normal left inverted right x axis y axis)

I don't really know how to identify my two screens using the numbers like :0 or :0.0, etc.

Best Answer

What you are asking is fully reasonable and sensible, and I wish I knew all details about X configuration to just tell you how. Basically, what you have is one Screen in one X display server, and what you want is either two servers or two "Screens" in one server. In either case, it'll require you to set up the X server configuration(s); the so named /etc/X11/xorg.conf.

In X land, you have names of format "host:display.screen" that refer to the software structuring for how programs make their output, whereas the actual physical outputs are known as "Monitors", that are tied to screens through "Heads". Thus, in your case, you have a single screen "localhost:0.0" with two monitors (VGA-0 and LVDS). Most often there is singularity in monitors and heads and screens and displays and hosts, and everything is easy, but this is not your case.

I'm afraid there is no short cut for this, by you need to learn about configuring X. Essentially: firstly, you obtain the default configuration that your X server is using in the absence of an /etc/X11/xorg.conf, by entering console mode, killing X, then starting X with a special command line that writes the configuration to a file. Next, you edit that file by adding a Screen stanza, and bind each screen to its own head.

Maybe that very, very brief outline helps you move forward. I'm out of time.