Is there a way to autodetect when a display is disconnected?
Solution 1
First install disper, then download autorandr and follow these instructions:
-
When the external monitor is undocked, run the following command in terminal:
auto-disper.sh --save undocked
-
When the external monitor is docked and configured as you want (with Nvidia X Server Settings), run:
auto-disper.sh --save docked
-
Try:
auto-disper.sh --change
with docked and undocked monitor. It should detect the state and change the configuration.
- Finaly make a keyboard shortcut for
auto-disper.sh --change
I tried to make a script that run it every 3 seconds, so auto-dectection works, but use too much ressource. Hope that can help!
Solution 2
I'm in about the same situation. I use a laptop which is sometimes connected to my external monitor. When it is, I usually want to use only this monitor (because I have it hooked up to an external keyboard & mouse also).
What I found, is that if you have a file called .xprofile, it is called every time the display is initialized (by X.org?). Here is the contents of my file. As you can see, I adapted it from here.
What you should do is save it to ~/.xprofile and then make it runnable (chmod +x .xprofile). Check how your internal and your external monitors are called - do this by running xrandr with no arguments. Mine are VGA1 and LVDS1 respectively. The last thing is to set the EXTERNAL_RES variable to the native resolution of your external monitor.
Now on boot up, the connected monitor will be used if it is connected. The tricky part is automation (such as removing the cable while Ubuntu is running). I haven't found a very good solution for this, but it seems that switching to a virtual console and back does the trick (Ctrl-Alt-F1 and then Ctrl-Alt-F7). It's a bit quicker than cycling through all the possibilities with the Fn key (which also sometimes messes up the display).
Solution 3
This is a limitation of Nvidia Twinview on Linux. The open source driver will work as expected (though you'll lose 3D acceleration and Compiz).
Solution 4
Use disper. After installing it, you may want to create two shortcuts:
- To switch to extrnal display at max resolution: CTRL+E -->
disper "max" -S
- to go back to PRimary display : CTRL+P -->
disper "max" -s
Related videos on Youtube
Diego
Updated on September 17, 2022Comments
-
Diego over 1 year
I am running Ubuntu on a Dell Latitude with the latest Nvidia drivers. Basically what I want is when I disconnect my external display that everything goes back to the main one without having to change the config every time.
Any help is welcome!
-
Diego over 13 yearsThat doesn't work on my computer. The FN keys don't do anything. Do you know what could be?
-
belacqua about 13 yearsThis project has been merged into autorandr and is only available to keep links working. Please check autorandr. github.com/wertarbyte/autorandr
-
belacqua about 13 yearsdisper is not in the 10.10 repositories. It is available as a ppa: launchpad.net/~disper-dev/+archive/ppa
-
John G about 6 years@Diego for me just using F8 worked fine. without using the function key in conjunction.