Remote desktop

From Take-Air Wiki
Revision as of 17:11, 26 October 2021 by Alexis.Tantot (talk | contribs)
Jump to navigation Jump to search

Reference tutorial: here

  1. You will need to connect to the Jetson module over SSH, it requires to know its IP address (e.g. 192.168.1.15) and your username <username>. In a terminal:
    ssh <username>@192.168.1.15
  2. Use your login and password.
  3. Install nano, tigervnc-standalone-server and autocutsel:
    sudo apt install nano tigervnc-standalone-server autocutsel
  4. Set a password for the VNC server:
    vncpasswd
  5. Create the file ~/.vnc/xstartup using nano:
    nano ~/.vnc/xstartup
  6. Edit with the following content:
    !/bin/sh
    export XDG_RUNTIME_DIR=/run/user/1000
    export XKL_XMODMAP_DISABLE=1
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    xrdb $HOME/.Xresources
    xsetroot -solid grey
    # copy/paste enablement
    vncconfig -nowin &
    autocutsel -forkgnome-session &
    startlxde &
  7. Save and exit nano: Ctrl+o (o as in Oscar) to save, press Enter to continue, then Ctrl+x to exit
  8. Make xstartup executable:
    chmod +x ~/.vnc/xstartup
  9. Check if .Xresources exists:
    ls -al ~/.Xresources
  10. If it does not exist, create it:
    touch ~/.Xresources
  11. Create a service to make VNC server start automatically:
    sudo nano /etc/systemd/system/vncserver@.service
  12. Open VNC conf file:
    sudo nano /etc/vnc.conf
  13. Check if $localhost = "no"; is NOT commented.
  14. Set up the autologin using GDM3:
    sudo nano /etc/gdm3/custom.conf
  15. Set up the autologin using GDM3:
    sudo nano /etc/gdm3/custom.conf
  16. Uncomment the following lines (replace <username> by your username):
    AutomaticLoginEnable=true
    AutomaticLogin=<your username>
  17. Save and exit nano: Ctrl+o (o as in Oscar) to save, press Enter to continue, then Ctrl+x to exit
  18. Create a service to make VNC server start automatically:
    sudo nano /etc/systemd/system/vncserver@.service
  19. Add the following content, and replace <username> by your username :
    [Unit]
    Description=Start TigerVNC Server at startup
    After=syslog.target network.target
    
    [Service]
    Type=forking
    User=<username>
    Group=<username>
    WorkingDirectory=/home/<username>
    PIDFile=/home/<username>/.vnc/%H:%i.pid
    ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
    ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp
    ExecStop=/usr/bin/vncserver -kill :%i
    
    [Install]
    WantedBy=multi-user.target
  20. Save and exit nano: Ctrl+o (o as in Oscar) to save, press Enter to continue, then Ctrl+x to exit
  21. Load the new service:
    sudo systemctl daemon-reload
    sudo systemctl enable vncserver@1
    sudo systemctl start vncserver@1
  22. Service status can be checked using:
    systemctl status vncserver@1