Ubuntu Internal error when selecting desktop sharing in settings.
Hi, I am trying to setup desktop sharing mainly to run the Jetson Nano board via VNC in headless mode without a monitor. But everytime I select the Desktop Sharing icon in System Settings menu, I get error: "Sorry, Ubuntu 18.04 has experienced an internal error." Is this a known issue with this initial release? If not, can someone please let me know what the issue may be. Thanks.
Hi,

I am trying to setup desktop sharing mainly to run the Jetson Nano board via VNC in headless mode without a monitor.
But everytime I select the Desktop Sharing icon in System Settings menu, I get error:
"Sorry, Ubuntu 18.04 has experienced an internal error."

Is this a known issue with this initial release? If not, can someone please let me know what the issue may be.
Thanks.

#1
Posted 03/28/2019 11:11 PM   
Just discovered the README-vnc.txt instructions in the L4T-README folder and tried to follow the instructions. However the command, "settings set org.gnome.Vino enabled true" returns 'No such key "enabled". Any help setting up VNC server on Jeson Nano will be greatly appreciated!
Just discovered the README-vnc.txt instructions in the L4T-README folder and tried to follow the instructions.
However the command,
"settings set org.gnome.Vino enabled true" returns 'No such key "enabled".

Any help setting up VNC server on Jeson Nano will be greatly appreciated!

#2
Posted 03/28/2019 11:47 PM   
Hi, I have tried the same on Jetson TX2 with JetPack 4.2 and failed. There seems to be no key named 'enabled'. You can create that key, but vino-server will still refuse to start. I gave up on that and after one day of head scratching I found an alternative solution: 1. Install TigerVNC server: [code]$ sudo apt install tigervnc-standalone-server tigervnc-xorg-extension -y[/code] 2. Set a password for the VNC server: [code]$ vncpasswd[/code] 3. Create the file "/home/nvidia/.vnc/xstartup" with the following content: [code]#!/bin/sh export XDG_RUNTIME_DIR=/run/user/1000 export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS xrdb /home/nvidia/.Xresources xsetroot -solid grey gnome-session &[/code] 4. Create the empty file ".Xresources" in your user's home directory: [code]$ touch /home/nvidia/.Xresources[/code] 5. Create the file "/etc/systemd/system/vncserver@.service" with the following content: [code][Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=nvidia Group=nvidia WorkingDirectory=/home/nvidia PIDFile=/home/nvidia/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -localhost no -depth 24 -geometry 1280x720 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target[/code] 6. Make sure the VNC server starts after system boot: [code]$ sudo systemctl daemon-reload $ sudo systemctl enable vncserver@1[/code] 7. Configure auto-login with GDM3. Open "/etc/gdm3/custom.conf" and uncomment or change the following lines: [code]AutomaticLoginEnable=true AutomaticLogin=nvidia[/code] 8. Reboot the system and try to reach the VNC server at port 5901. Warning: You have to open GNOME settings immediately and disable the screen saver and screen locking. If the session is locked you cannot enter your password (reasons unknown). Please report back.
Hi,

I have tried the same on Jetson TX2 with JetPack 4.2 and failed. There seems to be no key named 'enabled'. You can create that key, but vino-server will still refuse to start. I gave up on that and after one day of head scratching I found an alternative solution:

1. Install TigerVNC server:

  1. $ sudo apt install tigervnc-standalone-server tigervnc-xorg-extension -y


2. Set a password for the VNC server:

  1. $ vncpasswd


3. Create the file "/home/nvidia/.vnc/xstartup" with the following content:

  1. #!/bin/sh
  2. export XDG_RUNTIME_DIR=/run/user/1000
  3. export XKL_XMODMAP_DISABLE=1
  4. unset SESSION_MANAGER
  5. unset DBUS_SESSION_BUS_ADDRESS

  6. xrdb /home/nvidia/.Xresources
  7. xsetroot -solid grey

  8. gnome-session &


4. Create the empty file ".Xresources" in your user's home directory:

  1. $ touch /home/nvidia/.Xresources


5. Create the file "/etc/systemd/system/vncserver@.service" with the following content:

  1. [Unit]
  2. Description=Start TightVNC server at startup
  3. After=syslog.target network.target

  4. [Service]
  5. Type=forking
  6. User=nvidia
  7. Group=nvidia
  8. WorkingDirectory=/home/nvidia
  9. PIDFile=/home/nvidia/.vnc/%H:%i.pid
  10. ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
  11. ExecStart=/usr/bin/vncserver -localhost no -depth 24 -geometry 1280x720 :%i
  12. ExecStop=/usr/bin/vncserver -kill :%i

  13. [Install]
  14. WantedBy=multi-user.target


6. Make sure the VNC server starts after system boot:

  1. $ sudo systemctl daemon-reload
  2. $ sudo systemctl enable vncserver@1


7. Configure auto-login with GDM3. Open "/etc/gdm3/custom.conf" and uncomment or change the following lines:

  1. AutomaticLoginEnable=true
  2. AutomaticLogin=nvidia


8. Reboot the system and try to reach the VNC server at port 5901.

Warning: You have to open GNOME settings immediately and disable the screen saver and screen locking. If the session is locked you cannot enter your password (reasons unknown).

Please report back.

#3
Posted 03/29/2019 10:18 AM   
First thing I noticed, nvidia defaults to the 'old' ubuntu desktop, which makes the "Desktop Sharing" application crash. When logging in and entering your password, you can click on a settings button and change the desktop to be loaded. A more simple way (using GUI) is to install dconf-editor (sudo apt install dconf-editor) and use this tool to enable vnc/vino and disable encryption (encryption apparently gives issues with windows connections).
First thing I noticed, nvidia defaults to the 'old' ubuntu desktop, which makes the "Desktop Sharing" application crash. When logging in and entering your password, you can click on a settings button and change the desktop to be loaded.

A more simple way (using GUI) is to install dconf-editor (sudo apt install dconf-editor) and use this tool to enable vnc/vino and disable encryption (encryption apparently gives issues with windows connections).

#4
Posted 03/29/2019 01:09 PM   
@IceBlackz: Thanks for pointing this out. I tried to change the session to the 'real' GNOME 3 desktop (no Unity) and I could finally enable the vino server. It worked great until I disconnected the monitor and rebooted. After the reboot the vino server is brought up again, but after connecting to it I only saw the NVIDIA logo, but no GNOME desktop. It seems that GNOME has issues if Xorg does not provide a proper modeline (this seems to be a major difference compared to JetPack 3.3). My approach in #2 has the disadvantage of increased memory usage (actually you are running two GNOME sessions in parallel), but it is a way out of this situation. Another solution would be to install the 'xserver-xorg-video-dummy' package and run with a dummy session when there is no monitor available. Can someone from the NVIDIA staff reproduce this issue and maybe offer some xorg.conf tricks?
@IceBlackz: Thanks for pointing this out. I tried to change the session to the 'real' GNOME 3 desktop (no Unity) and I could finally enable the vino server. It worked great until I disconnected the monitor and rebooted. After the reboot the vino server is brought up again, but after connecting to it I only saw the NVIDIA logo, but no GNOME desktop. It seems that GNOME has issues if Xorg does not provide a proper modeline (this seems to be a major difference compared to JetPack 3.3).

My approach in #2 has the disadvantage of increased memory usage (actually you are running two GNOME sessions in parallel), but it is a way out of this situation. Another solution would be to install the 'xserver-xorg-video-dummy' package and run with a dummy session when there is no monitor available.

Can someone from the NVIDIA staff reproduce this issue and maybe offer some xorg.conf tricks?

#5
Posted 03/30/2019 08:46 PM   
Thanks guys for the responses. @klicker100, I too experienced the issue of being able to connect on VNC with desktop in non-unity mode. This works as long as desktop user is logged in and monitor is connected. As soon as desktop user session is disconnected, VNC refuses to connect. I would like to try your steps in #2 to get VNC to work. Should this be done in "Unity mode" or "Ubuntu mode"? Not really sure what the differences between the two modes are. Thanks.
Thanks guys for the responses.

@klicker100, I too experienced the issue of being able to connect on VNC with desktop in non-unity mode. This works as long as desktop user is logged in and monitor is connected. As soon as desktop user session is disconnected, VNC refuses to connect.

I would like to try your steps in #2 to get VNC to work. Should this be done in "Unity mode" or "Ubuntu mode"? Not really sure what the differences between the two modes are.

Thanks.

#6
Posted 03/31/2019 05:08 AM   
@animan9: Please select the "Ubuntu" session at the login screen and log in to this session one time with a monitor attached. You can then try the instructions in #2. Good luck! The difference between the two options is the "Unity" session being a home grown desktop developed by Canonical (Ubuntu sponsor) based on GNOME, while the "Ubuntu" session is the 'real' GNOME 3 shell. Starting from Ubuntu 18.04 Canonical has abandoned their Unity desktop in favor of the GNOME 3 shell. If you find the memory usage of the solution in #2 as being too high (it adds ~400 MB) you can also try these steps: 1. Attach a monitor, log into the "Ubuntu" session, go to Settings -> Sharing -> Screen Sharing -> turn on screen sharing -> set 'Access Options' to 'Require a password' and set a password Close all dialogs afterwards. 2. Install the Xorg dummy: [code]$ sudo apt install xserver-xorg-video-dummy -y[/code] 3. Modify the file "/etc/X11/xorg.conf" to look like this: [code]# Copyright (c) 2011-2013 NVIDIA CORPORATION. All Rights Reserved. # # This is the minimal configuration necessary to use the Tegra driver. # Please refer to the xorg.conf man page for more configuration # options provided by the X server, including display-related options # provided by RandR 1.2 and higher. # Disable extensions not useful on Tegra. Section "Module" Disable "dri" SubSection "extmod" Option "omit xfree86-dga" EndSubSection EndSection Section "Device" Identifier "Tegra0" Driver "nvidia" # Allow X server to be started even if no display devices are connected. Option "AllowEmptyInitialConfiguration" "true" # Suppress an error in Xorg log Option "ConnectToAcpid" "Off" EndSection # Dummy for headless mode Section "Device" Identifier "Dummy0" Driver "dummy" VideoRam 16384 EndSection Section "Monitor" Identifier "Monitor0" HorizSync 5.0-1000.0 VertRefresh 5.0-200.0 Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841 EndSection Section "Screen" Identifier "Screen0" Monitor "Monitor0" Device "Dummy0" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 1280 800 EndSubSection EndSection[/code] 4. Disconnect the monitor, reboot the Jetson and try to connect to port 5900 with your favorite VNC viewer. This way you can use the vino server. The downside is that you cannot attach a monitor to the Jetson after this modification. If you want to attach a monitor you have to comment out all the lines below the "# Dummy for headless mode" line. I am still looking for a solution to have the two drivers ("nvidia" and "dummy") coexist peacefully.
@animan9: Please select the "Ubuntu" session at the login screen and log in to this session one time with a monitor attached. You can then try the instructions in #2. Good luck!

The difference between the two options is the "Unity" session being a home grown desktop developed by Canonical (Ubuntu sponsor) based on GNOME, while the "Ubuntu" session is the 'real' GNOME 3 shell. Starting from Ubuntu 18.04 Canonical has abandoned their Unity desktop in favor of the GNOME 3 shell.

If you find the memory usage of the solution in #2 as being too high (it adds ~400 MB) you can also try these steps:

1. Attach a monitor, log into the "Ubuntu" session, go to

Settings -> Sharing -> Screen Sharing -> turn on screen sharing -> set 'Access Options' to 'Require a password' and set a password

Close all dialogs afterwards.

2. Install the Xorg dummy:

  1. $ sudo apt install xserver-xorg-video-dummy -y


3. Modify the file "/etc/X11/xorg.conf" to look like this:

  1. # Copyright (c) 2011-2013 NVIDIA CORPORATION. All Rights Reserved.

  2. #
  3. # This is the minimal configuration necessary to use the Tegra driver.
  4. # Please refer to the xorg.conf man page for more configuration
  5. # options provided by the X server, including display-related options
  6. # provided by RandR 1.2 and higher.

  7. # Disable extensions not useful on Tegra.
  8. Section "Module"
  9. Disable "dri"
  10. SubSection "extmod"
  11. Option "omit xfree86-dga"
  12. EndSubSection
  13. EndSection

  14. Section "Device"
  15. Identifier "Tegra0"
  16. Driver "nvidia"
  17. # Allow X server to be started even if no display devices are connected.
  18. Option "AllowEmptyInitialConfiguration" "true"
  19. # Suppress an error in Xorg log
  20. Option "ConnectToAcpid" "Off"
  21. EndSection

  22. # Dummy for headless mode

  23. Section "Device"
  24. Identifier "Dummy0"
  25. Driver "dummy"
  26. VideoRam 16384
  27. EndSection

  28. Section "Monitor"
  29. Identifier "Monitor0"
  30. HorizSync 5.0-1000.0
  31. VertRefresh 5.0-200.0
  32. Modeline "1280x800" 24.15 1280 1312 1400 1432 800 819 822 841
  33. EndSection

  34. Section "Screen"
  35. Identifier "Screen0"
  36. Monitor "Monitor0"
  37. Device "Dummy0"
  38. DefaultDepth 24
  39. SubSection "Display"
  40. Depth 24
  41. Virtual 1280 800
  42. EndSubSection
  43. EndSection


4. Disconnect the monitor, reboot the Jetson and try to connect to port 5900 with your favorite VNC viewer.

This way you can use the vino server. The downside is that you cannot attach a monitor to the Jetson after this modification. If you want to attach a monitor you have to comment out all the lines below the "# Dummy for headless mode" line.

I am still looking for a solution to have the two drivers ("nvidia" and "dummy") coexist peacefully.

#7
Posted 03/31/2019 07:17 AM   
@klicker100 Thank you for the detailed instructions and for all the help!
@klicker100 Thank you for the detailed instructions and for all the help!

#8
Posted 04/02/2019 01:06 AM   
Scroll To Top

Add Reply

AAAAAAAAAA