How to enable monitor from terminal?

138,382

Solution 1

  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.

Solution 2

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.

Solution 3

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 

Solution 4

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

Solution 5

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 ?)

Share:
138,382

Related videos on Youtube

Seung
Author by

Seung

Updated on September 18, 2022

Comments

  • Seung
    Seung over 1 year

    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.

    • steeldriver
      steeldriver over 10 years
      Try xrandr from the Ctrl-Alt-F1 virtual terminal again, but this time add an explicit display argument e.g. xrandr -d :0
    • falconer
      falconer over 10 years
      xrandr -d :0 --auto ?
    • web.learner
      web.learner over 10 years
      What xset commands did you try?
    • steeldriver
      steeldriver over 10 years
      You need to specify an output device for the --auto directive e.g. xrandr -d :0 --output LVDS1 --auto
    • Seung
      Seung over 10 years
      For xset, see edit #3
    • Pavel Šimerda
      Pavel Šimerda over 9 years
      I also can't run most xrandr commands from VT. Typically --auto or --off won't work, while --primary works and actually works around another bug. I'm using Gentoo on Lenovo T420s, though.
  • Seung
    Seung over 10 years
    Output of this command is the same as in edit #2 in my question. See edit #3
  • steeldriver
    steeldriver over 10 years
    Perhaps we should take a step back - how exactly did you "accidentally disable" your monitors?
  • Seung
    Seung over 10 years
    I had connected a projector. When finished watching I opened display settings, chose the projector entry and clicked "do not use this" (don't remember exact wording). I'm not sure if I accidentally clicked on both, anyway my screen went blank. Can't remember for sure now if I used tty login to reboot (I think I did) or if I did a hard reboot by power button.
  • steeldriver
    steeldriver over 10 years
    Have you tried moving or renaming your ~/.config/monitors.xml file (e.g. mv ~/.config/monitors.xml ~/.config/monitors.xml.bak)? BTW does logging into to a different account or guest account work?
  • Seung
    Seung over 10 years
    I don't find a ~/.config/monitors.xml file on my system.
  • Seung
    Seung over 10 years
    Guest account is working fine. I can also use my profile through advanced options in the boot menu. Choosing recovery mode, then resuming normal boot. This gives a warning that some graphical drivers may not load properly, ironically meaning it works for me, without possibilities to change resolution, etc.
  • Pavel Šimerda
    Pavel Šimerda over 9 years
    This doesn't answer how to get around the xrandr from VT issue, does it?
  • billyjmc
    billyjmc over 7 years
    Brilliant in its simplicity. Solved my problem.
  • zygimantus
    zygimantus about 7 years
    What it does? Waits for 5 secs and then what?
  • Martin Marčan
    Martin Marčan about 7 years
    Then it runs xrandr (required command), while you switch back to graphical virtual console tty7 (:0 display), that you want to turn on again. That worked for me.
  • Tron
    Tron almost 7 years
    This guy saved me. 1. Login to TTY by using ctrl-alt-F1 2. Run his sleep ... command 3. ctrl-alt-F7 to return to my blank screen before the 5 seconds are up 4. the screen appears after 5 seconds!
  • bli
    bli about 6 years
    Somewhat similar approach (on MX Linux 17) via ssh: ssh to the computer (I had to sudo apt install openssh-server before in VT1), ctrl-alt-F7 (on the computer itself, to be on the graphical console which happens to be VT7 in my case). Then, in the ssh session: export DISPLAY=:0.0, xrandr -display :0.0 --output eDP-1 --auto.
  • EL_DON
    EL_DON over 5 years
    Note that LVDS is specific and your display may be named something different. Find out with xrandr -d :0 -q from @steeldriver's answer.
  • EL_DON
    EL_DON over 5 years
    This worked for me when I used sleep 5 && ... before it, then switched to the main screen before the 5 seconds were up (from @Martin Marcan's answer)
  • golimar
    golimar almost 4 years
    In my case it failed with LVDS so just removed the --output LVDS and it worked
  • golimar
    golimar almost 4 years
    But answers "how to enable monitor from terminal"
  • baptx
    baptx over 2 years
    It worked but you can avoid the sleep by using the chvt command like mentioned in the answer of cyberbrain.