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....
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.
Edit: tried x2go as suggested but got this error:
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.