8

When I disconnect my monitor from my laptop, Ubuntu still seems to think that it is plugged in and does't update the display. This issue is Ubuntu specific (not occuring in windows) and my monitor worked fine with another laptop (Ubuntu 13.04, exact same drivers).

The quickfix:

  • open system settings
  • click Displays

Useful specs:

  • Graphics drivers: nvidia-313 (problem also occurs with the other propriatary drivers)
  • Graphics card: Nvidia Quadro K1000M
  • Monitor: Benq ET-0019-N
  • Cable: VGA D-sub DE15
  • OS: Ubuntu 13.04

I would like Ubuntu to update the display settings automagically whenever the monitor cable gets disconnected. How would I do that?

Joren
  • 5,023
  • 8
  • 38
  • 54
  • What monitor is it? Some older monitors don't send any [signal](http://en.wikipedia.org/wiki/EDID) so the computer doesn't know whether it's there, but I don't think there are many left in service. Also what exact model of graphics card do you have, and are you using the proprietary driver or the free driver? – Gilles 'SO- stop being evil' Aug 22 '13 at 20:30
  • I've edited my question to answer yours. – Joren Aug 22 '13 at 20:42
  • 1
    The display settings are updated when you start the computer without the cable, and then attach it? If not, are they updated when you issue the command `xrandr` manually? – Jorge Suárez de Lis Sep 09 '13 at 09:58
  • Can't you try another monitor and cable? I know that it's working on Windows, byt maybe Windows is using another method for autodetection. – Jorge Suárez de Lis Sep 12 '13 at 12:35
  • I don't have another monitor :( – Joren Sep 12 '13 at 12:36

3 Answers3

2

There is an old bug on Launchpad - bug #306735 - which was marked invalid, the explanation being that it is a known problem but fairly complex (more explanation here).

So, as far as I know, there is not an automatic method for what you asked in the true sense. But you can use autorandr (you have to install disper first - run sudo apt-get install disper from terminal), a script by Stefan Tomanek. Using this script (autorandr) you can add a keyboard shortcut for autorandr --change command and all you have to do when you connect or disconnect an external monitor is to press that keyboard shortcut. All of these are explained very nice in this answer (I just tested in Ubuntu 13.04 and everything goes well).

After you test the script in terminal, you must to see the following post if you want to add a custom keyboard shortcut for the script:

Radu Rădeanu
  • 166,822
  • 48
  • 327
  • 400
  • I had disper already installed but autorand wasn't found – Joren Sep 14 '13 at 10:00
  • @Joren What do you mean by was'n found? It is a script at the [given link](https://raw.github.com/wertarbyte/autorandr/master/autorandr) in the answer. Do you need help about how to use or run it? – Radu Rădeanu Sep 14 '13 at 11:05
  • Oh nevermind, I thought it came automagically with disper – Joren Sep 14 '13 at 11:15
  • @Joren No, it doesn't (I thought that my answer was clear). You have to manually create a file script named `autorandr` or `autodisper`, put inside all the text from [here](https://raw.github.com/wertarbyte/autorandr/master/autorandr) exactly as it is and save it in your `~/bin` directory. Don't forget to make it executable with: `chmod +x ~/bin/autorandr` (or `chmod +x ~/bin/autodisper`) and then just run `autorandr --help` (or `autodisper --help`) for further help. – Radu Rădeanu Sep 14 '13 at 11:40
  • 1
    I still had this problem using 16.04! =/ The `disper` is still around but I had to run something like `disper -e` and everything got back to work, even the Display application. – Nigini Dec 07 '16 at 20:13
1

If you are running some flavour of nvidia's proprietary driver, then, as mentioned in Jorge's answer, just running xrandr on its own seems to fix the issue.

ccpizza
  • 1,422
  • 17
  • 18
1

From the Appendix B in the NVIDIA driver README:

Option "UseHotplugEvents" "boolean"

When this option is enabled, the NVIDIA X driver will generate RandR display changed events when displays are plugged into or unplugged from an NVIDIA GPU. Some desktop environments will listen for these events and dynamically reconfigure the desktop when displays are added or removed.

Disabling this option suppresses the generation of these RandR events for non-DisplayPort displays, i.e., ones connected via VGA, DVI, or HDMI. Hotplug events cannot be suppressed for displays connected via DisplayPort.

Note that probing the display configuration (e.g. with xrandr or nvidia-settings) may cause RandR display changed events to be generated, regardless of whether this option is enabled or disabled. Additionally, some VGA ports are incapable of hotplug detection: on such ports, the addition or removal of displays can only be detected by re-probing the display configuration.

Default: on. The driver will generate RandR events when displays are added or removed.

So, assuming you have not disabled this option, the problem narrows to one of these alternatives:

  • The VGA cable or the VGA connector on the card have some DDC pins broken (either pin 12, pin 15 or pin 9). Please attach another VGA cable and try again.

  • Your Nvidia Quadro K1000M based video card has a connector that does NOT support this detection, and invoking xrandr or equivalents (as opening the Display Settings) fire this detection. If that is the case, this will never work --but the detection shouldn't work either on other Operative Systems. Never seen this in person, though.

  • Or maybe there is some bug on the NVIDIA driver that prevents this detection from working properly. Try another driver versions (such as 304) and see if the problem persists.

ccpizza
  • 1,422
  • 17
  • 18
Jorge Suárez de Lis
  • 2,826
  • 3
  • 21
  • 34
  • Thank you for your answer, but as I stated in my question: The issue does not occur when I boot my machine in Windows. So we can exclude the first two alternatives. I've also tried the third alternative and it didn't work. – Joren Sep 09 '13 at 10:43
  • Ok. This isn't a valid answer, but to try to help you: while you wait for an answer, ask also on the [NVIDIA Linux forum](https://devtalk.nvidia.com/default/topic/522835/linux/if-you-have-a-problem-please-read-this-first/). – Jorge Suárez de Lis Sep 09 '13 at 14:19
  • Thank you for the suggestion. (https://devtalk.nvidia.com/default/topic/606465/linux/not-updating-display-settings-when-disconnecting-external-monitor/) – Joren Sep 09 '13 at 14:41