3

I have a Ubuntu machine that I use as a Plex and data server. There is no monitor connected to it. This wasn't a problem with Ubuntu 16.04, but now, with 18.04, it is and it shows a black screen whenever I connect using VNC.

I've already created the virtual display using the answer to this question: Add virtual output to Xorg

Create a 20-intel.conf file:

sudo vi /usr/share/X11/xorg.conf.d/20-intel.conf

Add the following configuration information into the file:

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

This tells the Intel GPU to create 2 virtual displays. You can change the number of VirtualHeads to your needs.

Then I made a shell script (don't forget to set executable) and put that in Startup Applications:

#! /bin/bash
/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"

After this, it still shows a black screen when I connect using VNC. BUT, when I run this with SSH:

export DISPLAY=:0
xrandr

After that, I can see my desktop in VNC... Any ideas on how to fix this? Also, when I see my desktop after all this, the dock is missing and all the icons are in the same spot.

1

I added /usr/bin/xrandr to the end of the script:

#! /bin/bash

/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"
/usr/bin/xrandr

That way, VIRTUAL1 is set as output and connected. At boot, a new mode (found using cvt 1600 900) is being created and appointed to VIRTUAL1.

Only issue with this is: dock is missing at reboot... Haven't solved that yet.

| improve this answer | |
  • 2
    Add killall -3 gnome-shell at the end to restart GNOME - it brings back the panel. The line --output VIRTUAL1 --primary --auto seems to be not necessary for me, the --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$ gives errors, so I had to regenerate with cvt. Other thing is that the new screens are placed one alongside another by default. – Velkan Nov 26 '18 at 16:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.