Jetson Nano Installation

During my visit at the 2019 NVIDIA GPU Technology Conference (GTC) in San Jose I bought two Jetson Nano development boards.

The Jetson Nano is a small computer which has a similar form factor like the Raspberry Pi 3 Model B+, but is much more powerful.

I will highlight a couple of differences between the Raspberry Pi 3 Model B+ and the Jetson Nano.

The Getting Started with Jetson Nano Guide explains how to install the Image to a MicroSD card. Connect the Jetson Nano to a Monitor, Keyboard and Mouse and complete the initial Configuration.

Then update the installation:
ubuntu@jetson1:~$ sudo apt-get update
ubuntu@jetson1:~$ sudo apt-get upgrade

Now you have a running system.

Enable Remote Login via VNC

I want to operate my Jetson Nano headless. So I need to be able to access the X-Window using the RDP or VNC protocol.

There is an issue with using gdm3 as display manager with Ubuntu 18.04 and using X11. When you log in from the display manager, an additional X11 is started and the VNC viewer does not display anything anymore.

One way to resolve this issue is to use lightdm, because it uses the same X11 session for the login screen and the user desktop.
ubuntu@jetson:~# sudo apt install lightdm
During the configuration you have to select lightdm as the display manager to use.

Now we can install x11vnc:
ubuntu@jetson:~# sudo apt install x11vnc

The last thing is now to configure the config for x11vnc:
ubuntu@jetson:~# sudo vi /etc/init/x11vnc.conf

# description “Start x11vnc on system boot”
description “x11vnc”
start on runlevel [2345]
stop on runlevel [^2345]
console log
respawn
respawn limit 20 5
exec /usr/bin/x11vnc -display :0 -auth /var/run/lightdm/root/:0 -noxdamage -nowf -noxfixes -ncache 10

To enable Autostart:
ubuntu@jetson:~# sudo vi /etc/systemd/system/x11vnc.service
[Unit]
Description=x11vnc remote desktop server
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -loop -noxdamage -repeat -rfbport 5900 -shared -desktop “Jetson Nano” -geometry 1680×1050
Restart=on-failure

[Install]
WantedBy=multi-user.target

Let’s enable the system:
ubuntu@jetson:~# sudo systemctl daemon-reload
ubuntu@jetson:~# sudo systemctl enable x11vnc
ubuntu@jetson:~# sudo systemctl start x11vnc
ubuntu@jetson:~# sudo systemctl status x11vnc

Now you can access the Jetson X-Desktop using a VNC Viewer (tested with the RealVNC viewer from Mac OS).

If no monitor is attached to the Jetson Nano, the X11 server defaults to 640×480.

To access the Remote Desktop you also can use the RDP protocol:

ubuntu@jetson:~# sudo apt install xrdp
ubuntu@jetson:~# sudo systemctl enable xrdp
Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable xrdp
ubuntu@jetson:~# sudo systemctl start xrdp

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.