How to vertically split widescreen into two virtual workspaces on Ubuntu/Gnome?
Solution 1
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.
Solution 2
To expand on akira's tip above on using Lubos Lunak's "fake xinerama", here's exactly how I made it work for me:
- I downloaded this Xinerama.c file from the Fake Xinerama site.
- I opened a terminal, and navigated to the folder folder where I saved Xinerama.c.
- I executed:
gcc -O2 -Wall Xinerama.c -fPIC -o libXinerama.so.1.0.0 -shared
- I opened up nautilus (the gnome file explorer) as root, by typing Alt-F2 and then:
gksu nautilus
- I navigated to /usr/lib, found libXinerama.so.1.0.0 and made a back up copy of it.
- 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).
- 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.
Solution 3
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.
Solution 4
This can be done in XRandR 1.5 without additional software. While neither fakexinerama nor FakeXRandR have worked for me on Xubuntu, this solution has finally split the screen into two.
To split the monitor do the following:
-
Enter
xrandr
into the terminal to check the output name and current resolution of the display you want to split.
On my system the result was:Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767 HDMI1 disconnected (normal left inverted right x axis y axis) HDMI2 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm 1920x1080 60.00*+ 50.00 59.94 1920x1080i 60.00 50.00 59.94 1600x900 60.00 1280x1024 75.02 60.02 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.08 60.00 800x600 75.00 60.32 720x576 50.00 720x576i 50.00 720x480 60.00 59.94 720x480i 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 VGA1 disconnected (normal left inverted right x axis y axis) VIRTUAL1 disconnected (normal left inverted right x axis y axis)
We can see that my monitor is connected to HDMI2 and the resolution is set to 1920x1080.
-
Add 2 virtual monitors with the
xrandr --setmonitor
command ensuring that they overlap with your physical display and are placed next to each other. The syntax of the command is (without quotes):xrandr --setmonitor "monitor_name" "width_px"/"width_mm"x"height_px"/"height_mm"+"x_offset_px"+"y_offset_px" "output_name"
For my system it was:
xrandr --setmonitor HDMI2~1 960/254x1080/286+0+0 HDMI2 xrandr --setmonitor HDMI2~2 960/255x1080/286+960+0 none
-
While the above has already configured the virtual monitors on my system the changes haven't been applied until I have executed (it seems to refresh xrandr):
xrandr --fb 1921x1080 xrandr --fb 1920x1080
To persist the changes after reboot you would want to execute these commands when you login. You can do so by appending the commands at the end of your ~/.profile
file.
Solution 5
I came across an article on omgubuntu that gives a pretty easy way to mimic the Windows Snap functionality in Ubuntu/Gnome using the Compiz control panel. This Windows Snap leaves me with one widescreen desktop, but windows themselves can be easily docked to fill either half screen. (That's not exactly what I was looking for originally, but still pretty handy.)
Related videos on Youtube
Alexander Schmidt
Updated on September 17, 2022Comments
-
Alexander Schmidt over 1 year
I added a link-type with Forward=Task and Reverse=User Story using a Dependency. I uploaded this to my collection successfully.
Now I delete the link type and upload the template successfully again.
When I now want to create a new link type containing "Task" as Forward I get the error:
TF201006: The link type NEWNAME conflicts with link type OLDNAME. The name Task is already being used. (type ProvisionValidationException)
I don't see how to remove the OLDNAME.xml on my TFS because I don't know, where those uploaded templates are stored. Obviously the ProcessEditor will leave those files even if you remove a link type.
-
kynan about 12 yearsIf you're using compiz you may find the grid plugin more straightforward, see my answer below.
-
-
David about 14 yearsThanks, this works perfectly, and better than I'd hoped actually. My docks, panel bars, and floating windows span the physical screen, but maximized and "full screen" apps (including my vmware guest instances) politely keep to their half of the screen. I'm pretty new to linux, so hacking at my display settings felt a bit risky, but there's not really much work involved. I'm documenting my exact steps for other linux amateurs (like myself) in an additional answer below.
-
Kyle Brandt almost 14 yearsThis helped me out a lot with a three head display. Xinerama is pretty slow with three desktop so using this allowed me to put two of them in twinview without the annoying maximize to both issue and have the third as a separate X screen joined to the twinview with Xinerama. Thanks for taking the time to write out the steps David!
-
Maxime over 10 yearsLink is broken. Any idea where I could find this software?
-
nert about 6 yearsIt's is good that it exists right in xrandr, great. But it makes only the left side of my monitor usable, the right part doesn't show anything. And I get no error shown. -- Oh, it looks like Awesome WM doesn't support the monitors, but uses the outputs only. So you need support in the WM as well.
-
nert about 6 yearsOh, nevermind, awesome has support for xrandr's monitors, it just didn't work for me. But awesome can do this by itself: awesomewm.org/apidoc/classes/screen.html#screen:fake_add
-
JAponte over 5 yearsI used fakexrandr successfully once in a while. Unfortunately my screen turns scrambled when I have xorg.conf (which I need for a custom resolution for my ultrawide monitor). I'm forced to delete the fakexrandr config, restart X and reconfigure fakexrandr.