headless ubuntu server with desktop gui with working gpu

I've ordered a dedicated (headless) server with an nvidia GeForce GT 710B GPU at ikoula (offsite data center). Now I am trying to get a full blown desktop gui to run on it so I can actually run what I want to run on it (streaming an AI learning a task using OBS). I got a desktop with TightVNC but it doesn't have access to the GPU using that method and thus OBS will not start.
xrdb installs and I can get a login window but when I login I simply get the default blue screen. (see images)

I have created a virtual monitor using the following command:

sudo nvidia-xconfig -a --allow-empty-initial-configuration \
--use-display-device="DFP-0" --connected-monitor="DFP-0" \
--custom-edid="DFP-0:/home/$USER/edid.txt"

and I am able to run startx without problem I just can't seem to login to a desktop.

my current /etc/X11/xorg.conf file generated from the above code: http://paste.ubuntu.com/p/HdWpJfzPvx/

I tried logging in onto root and I got a desktop. So somehow in my config I get a desktop for root but not for other users...

Ps. a monitor emulator plug is "not possible in my price range"

edit: it runs sometimes but it is very random. Does ANYONE know a proper way to boot mate or xfce4 on a remote ubuntu server with xrdp??? It just doesn't seem to work for me....

enter image description here enter image description here enter image description here

Edit: I really need help with this guys......I am about to just delete everything and leave it. I had it working yesterday but it seems to be really really inconsistent. I had it working on display :11.0 but now I can't even get it to open a display....

If anyone can get this to work I'll be eternally grateful.

/var/log/Xorg.0.log
/var/log/Xorg.1.log
/var/log/xrdp.log
/var/log/xrdp-sesman.log
/etc/X11/xorg.conf
/etc/xrdp/startwm.sh

What it currently does when I connect to xrdp and login is hang for 20 seconds and then I am back to the login screen. If you require more data let me know. enter image description here

Edit: tried x2go as suggested but got this error: enter image description here


I fixed it.

I supplied a EDID file from https://github.com/linuxhw/EDID/tree/master/Digital/Nvidia I configured Xorg using this nvidia-xconfig line:

sudo nvidia-xconfig -a --allow-empty-initial-configuration --use-display-device=None \
--virtual=1920x1200 --busid {busid} --use-display-device="DFP-0" \ 
--connected-monitor="DFP-0" --custom-edid="DFP-0:/etc/X11/edid.txt"

Where busid = gpu bus id

After that simply start x sudo startx and login.

later on I found that TurboVNC works a bit more stable. I installed VirtualGL and TurboVNC

made sure to forward the gpu to the VNC session and ran this:

sudo dpkg -i virtualgl_*.deb
sudo -i
/opt/VirtualGL/bin/vglserver_config

rmmod nvidia-nomode
rmmod nvidia-nvm
rmmod nvidia
reboot
xauth merge /etc/opt/VirtualGL/vgl_xauth_key
sudo dpkg -i turbovnc_*.deb
/opt/TurboVNC/bin/vncserver -geometry 1920x1080

Final xorg.conf


I had similar problems in the past. I don't know the exact solution to you're specific problem but these might help you.

  • Install the desktop version of Linux. You can always change the systemd default boot target to prevent the GUI on the host server. You don't need a running graphical gui on the host server to use XRDP.
  • Always make sure you fully logged out before connecting via XRDP, maybe consider creating an additional user only for XRDP. It's not like Windows where you can steal a session.
  • You might need to create a .Xauthority file in the users home directory (I'm not sure about this one)
  • If you have on-board graphics, use these first to configure XRDP, When this is stable. You can make the change to the other GPU. As far as I can see, the problems you have now are not GPU related.
  • In your log files. I see often following message Cannot read private key file /etc/xrdp/key.pem: Permission denied You should check the permissions on that key.pem file. I've looked on my system and this permissions should work.

     User@UbuntuUEFI:~$ ls -la /etc/xrdp/key*
     lrwxrwxrwx 1 root root 38 Feb 24 18:47 /etc/xrdp/key.pem -> /etc/ssl/private/ssl-cert-snakeoil.key
     User@UbuntuUEFI:~$ ls -la  /etc/ssl/certs/ssl-cert*
     -rw-r--r-- 1 root root 1070 Feb 11 11:35 /etc/ssl/certs/ssl-cert-snakeoil.pem
     User@UbuntuUEFI:~$
    
  • In some cases it helps to try it first on a local virtual machine before using remote hardware. It could help you find the problem.