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.
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.
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!
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.
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:
6. Make sure the VNC server starts after system boot:
$ sudo systemctl daemon-reload
$ sudo systemctl enable vncserver@1
7. Configure auto-login with GDM3. Open "/etc/gdm3/custom.conf" and uncomment or change the following lines:
AutomaticLoginEnable=true
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).
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).
@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?
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.
@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.
@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:
$ sudo apt install xserver-xorg-video-dummy -y
3. Modify the file "/etc/X11/xorg.conf" to look like this:
# 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.
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.
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.
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!
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:
2. Set a password for the VNC server:
3. Create the file "/home/nvidia/.vnc/xstartup" with the following content:
4. Create the empty file ".Xresources" in your user's home directory:
5. Create the file "/etc/systemd/system/vncserver@.service" with the following content:
6. Make sure the VNC server starts after system boot:
7. Configure auto-login with GDM3. Open "/etc/gdm3/custom.conf" and uncomment or change the following lines:
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.
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).
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?
@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.
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:
3. Modify the file "/etc/X11/xorg.conf" to look like this:
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.