42

I accidentally disabled my monitors, so when I log in I land on a blank, back-lit screen. I can open terminals with Ctrl+Alt+F#, so how do I enable the monitor from terminal?

I tried xrandr, but it can't open display. xset does not work either. I found this question which closely resembles my problem. The answer provides a script to be put in /etc/X11/Xreset.d.

Running it does not solve my problem (though it is likely I don't understand how to use it properly). I think I somehow made the new default to be "disable monitors".

Running Ubuntu Studio 13.10. I do not have nVidia drivers. I can't find an xorg.conf file to remove. Thankful for any and all input!

  • Output of command xrandr -d :0:

    Screen 0: minimum 320x200, current 1366 x 768, maximum 32767 x 32767
    LVDS1 connected 1366x768+-32768+-32768 (normal left inverted right x axis y axis) 344mm x 192mm
        1366x768    60.0*
        1360x768    59.8    60.0
        1024x768    60.0
        800x600     60.3    56.2
        640x480     59.9
    VGA1 disconnected (normal left inverted right x axis y axis)
    HDMI1 disconnected (normal left inverted right x axis y axis)
    DP1 disconnected (normal left inverted right x axis y axis)
    VIRTUAL1 disconnected (normal left inverted right x axis y axis)
    

    Still being a CLI beginner I fail to understand from man xrandr how to switch on (there is an off option) or enable displays.

  • Output of:

    xrandr --auto
    

    is:

    Can't open display
    
  • Output of xrandr -d :0 --auto:

    Configure crtc 0 failed
    

    Maybe I just have to reinstall X11?

  • Outputs of suggested commands / which xset commands I tried:

    $xrandr -d :0 output LVDS1 --auto
    configure crtc 0 failed
    

    xset q and xset dpms force on both return:

    unable to open display ''''
    

No difference for sudo commands.

More futile attempts and the potential discovery of a security issue:

  1. I've tried to reinstall Xorg and X11, then I ran:

    sudo apt-get install --reinstall xserver*
    

    which failed with this output:

    (many versions of this:)
        Note, selecting 'xserver-xorg-something' for regex 'xserver*'
    (next:)
        Some packages could not be installed. This may mean that you have
        requested an impossible situation or if you are using the unstable
        distribution that some required packages have not yet been created
        or been moved out of Incoming.
    
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
    xserver-xorg-input-mtrack : Conflicts: xserver-xorg-input-multitouch
    but 1.0~rc2+git20110312-2build4 is to be installed
    E: Unable to correct problems, you have held broken packages.
    

  2. Next I logged in as guest and logged in as myself through TTY Ctrl+Alt+F# and ran the same xrand commands as above, with the same output as far as I can see.

  3. Then I created a new user with full admin rights and repeated 4.2 via TTY.

  4. SECURITY ISSUE? No, just a need of awareness. Not related to this subject, details at launchpad.

It begins looking like a system reinstall is necessary.

Al F
  • 1,189

7 Answers7

23

After running this command switch immediately to the tty where the screen is black, and after 5 seconds the screen should show up.

sleep 5 && xrandr -d :0 --output LVDS --auto

The xrandr command will turn on your main screen. It only seems to work if you're currently on the tty where your display manager is run, hence the sleep to give you some time to be able to switch.

8
  1. Figure out that the offending settings are stored in a file called displays.xml.

    I won't detail here how I guessed it, though the comment about deleting monitors.xml proved helpful. It also involved manual comparing of several .config subdirectories.

    Of course, what I should have done was ask my search engine "where does xubuntu store display settings" and find this thread at ubuntuforums...

  2. Log in to your blank display and use CTRL+ALT+F# to enter command line.

  3. sudo find . -type f -name "*displays*"

  4. mv ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml.bak

  5. sudo reboot

I hope this quest may help somebody.

Al F
  • 1,189
7

You should be able to open (and set properties for) a display via the virtual terminal console provided you know the display number for the running X session. That's usually :0 for the primary physical display but that's not always the case. For example, to query display :0

xrandr -d :0 -q

To re-enable a display that's been turned off, it's usually sufficient to use the --auto e.g. to turn the LVDS1 output device on display :0 back on

xrandr -d :0 --output LVDS1 --auto 
steeldriver
  • 142,475
3

I would extend the answer of Martin Marčan by replacing the sleep with a command that switches to the black console:

chvt 7 && xrandr -d :0 --output LVDS --auto

where 7 is the number of the console used for X11 (usually 7 or 8) and LVDS is the name of the output you want to reconfigure. You can retrieve the list of outputs first with

xrandr -d :0
2

I solved this problem in Lubuntu 18.04 like this:

If you boot into a screen, which is turned of, open a terminal blindly with CTR-ALT-T. Since you cannot see the terminal and what you write, type very carefully

xrandr --output "nameYourScreen" --auto

Hit Enter. Voila.

(BTW: In my case, entering such code in tty1 or any virtual terminal did not work. I tried various things, people mention above, but when switching back to the running session or after reboot, nothing changed. Maybe the problem is that xrandr can execute this command properly for some hardware only within a running x-session ?)

Thomas
  • 6,433
sverris
  • 21
2

This works for enable two external monitors on my computer (Ubuntu with i3wm):

xrandr --auto

That turns on all the monitors.

Then I disable the duplicate desktop and setup the resolution (eDP-1 - my laptop monitor, DP-1-1 and DP-1-2 - my external monitors connected via thunderbolt):

xrandr --output DP-1-2 --mode 1920x1080 --left-of eDP-1
xrandr --output DP-1-1 --mode 1920x1080 --left-of DP-1-2
0

Try this:

xrandr --output "nameYourVGA" --mode "yourResolution"

For example:

xrandr --output VGA1 --mode 1366x768

See if that works.

Carl H
  • 6,316
  • 6
  • 28
  • 42