I'll include a pic of what I mean to clarify:
That very wide monitor on the right is actually two physical monitors. The graphics card just treats them as one monitor.
Obviously this is pretty annoying since I can only full-screen things on the far left monitor.
I've been googling for a solution to this for some time and have given up a few times. I tried using fakexrandr but that just made a total mess and I had to ssh in to fix that.
I've seen people suggest using tiled window managers for this, but that doesn't seem like a great solution.
It feels like telling the unity "treat this as two separate desktops" shouldn't be too hard. I've consistently failed to find a solution though.
I'm currently on Ubuntu 16.10 using Unity window manager.
42 Answers
CompizConfig appears to have the tools you need for three monitors. An overview including installation can be found here. A youtube video showing three monitors in action, including the middle monitor being set to full screen can be found here.
As per the link you already visited and commented on here you need to start CompizConfig and select (CCSM->General->Display Settings->Outputs). Then as a user suggested here add these outputs to it and deselected "Detect Outputs":
1280x1024+0+0
1280x1024+1280+0
1280x1024+2560+0His setup was three 1280x1024 monitors so you would need to adjust your settings accordingly.
Unfortunately I do not have three monitors and my dual monitor setup works perfectly so I have no need of CompizConfig nor can I test it for your environment.
You can try to do this with XRandR 1.5. I have managed to do this albeit with single monitor, maybe doing the steps just for the wider monitor will be enough.
To split the monitor do the following:
Enter
xrandrinto the terminal to check the output name 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.
Add 2 virtual monitors with the
xrandr --setmonitor. Assuming your first monitor is 1920x1080 and the second one is to the right, replace HDMI2 with the output name of your monitor and execute:xrandr --setmonitor HDMI2~1 1920/509x1080/286+1920+0 HDMI2 xrandr --setmonitor HDMI2~2 1920/509x1080/286+3840+0 noneChange
noneon the second monitor to different value if the joined monitors has assigned multiple output connection.
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"While the above has already configured the virtual monitors on my system the changes haven't been applied until I have executed the following commands (it seems to refresh xrandr):
xrandr --fb 5761x1080 xrandr --fb 5760x1080[replace the resolution with the total size of your screen estate in pixels (if it's different than 5760x1080)]
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.