Split monitor in two

The accepted answer did not work for me. What has worked though was adding virtual monitors in XRandR 1.5.

To split the monitor do the following:

  1. 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.

  2. 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
    
  3. 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.


It seems compiz has support for this. Under "General Options" in CompizConfig, on the "Display Settings" tab, it is possible to manually specify the "monitors" to use for maximizing windows. There is an issue with Adobe Flash and fullscreen, but overall it works quite well.

Since my graphics card merges three monitors into a single large one, this is very useful

Step by step instructions:

  1. Open a terminal by pressing Ctrl+Alt+T.
  2. Enter sudo apt-get install compizconfig-settings-manager and press enter. Fill out your password when requested. No asterisks will be displayed when entering the password.
  3. When the installation is done, launch the application "CompizConfig Settings Manager".
  4. Click "General Options" under the section "General".
  5. Select the tab "Display Settings".
  6. Uncheck "Detect Outputs".
  7. Edit the list of outputs as desired. Each line is one monitor. The syntax is WIDTHxHEIGHT+X+Y.
  8. See if works right away. You might need to log in and log out again.

Sample configuration for three classic 19-inch monitors in a horizontal row:

1280x1024+0+0
1280x1024+1280+0
1280x1024+2560+0