How to vertically split widescreen into two virtual workspaces on Ubuntu/Gnome?

you can use 'fakexinerama' for achieving what you want:

 Fake Xinerama is a replacement libXinerama library that instead 
 of querying the XServer reads ~/.fakexinerama and provides fake 
 information about Xinerama screens based on this file. It can be 
 used to fake a Xinerama setup even on computers with just one monitor
 or to fake Xinerama setup other than one specified in the XServer 
 configuration (e.g. making one screen smaller when using two same 
 screens). It's probably only useful for developers.

To expand on akira's tip above on using Lubos Lunak's "fake xinerama", here's exactly how I made it work for me:

  1. I downloaded this Xinerama.c file from the Fake Xinerama site.
  2. I opened a terminal, and navigated to the folder folder where I saved Xinerama.c.
  3. I executed:
    gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
  4. I opened up nautilus (the gnome file explorer) as root, by typing Alt-F2 and then:
    gksu nautilus
  5. I navigated to /usr/lib, found libXinerama.so.1.0.0 and made a back up copy of it.
  6. I copied the libXinerama.so.1.0.0 from my download directory into the /usr/lib directory, overriding the copy there (which I had just backed up in step 5, so I could undo this later if need be.) To keep things clear it was helpful to note that the file size of the "fake" version was bigger (12.6 kb) than the "real" version I was replacing (8.6 kb).
  7. I created a new text file called .fakexinerama in my /home/dave directory and put this in it: (based on my 1440x900 physical screen size)
    2
    0 0 720 900
    720 0 720 900

Fake Xinerama lets you define any kind of virtual screen set up you want, but I just want a vertical split screen. To achieve that on your monitor, X by Y pixels in size, looking at my file example, just replace 720 with X/2 and replace 900 with Y.

That's it. I logged out and back in, and was up and running.

Thanks again to Lubos Lunak for creating this mod and to akira for pointing me at it.


There is now a new project called FakeXRandR that works really straight forward.

This is a tool to cheat an X11 server to believe that there are more monitors than there actually are. It hooks into libXRandR and libXinerama and replaces certain, configurable monitor configurations with multiple virtual monitors. A tool that comes with this package can be used to configure how monitors are split.