-
Notifications
You must be signed in to change notification settings - Fork 2
NoMachine Setup for Headless Server
This is a quick tutorial to setup a NoMachine VNC instance on Ubuntu 22.04. Note that doing these steps will make the X Server run in headless mode, meaning that connecting an external display will not work anymore. It is still possible to connect a screen if you connect it before Linux boots.
To install NoMachine, download and follow the instructions here. It should enable a service to launch it automatically on startup, so all good on that side.
Since we want to display the computer's screen, but there is none, we need to configure Linux to run as "headless", meaning that it will create a dummy monitor for itself. To do that run the following:
sudo apt update
sudo apt install xserver-xorg-video-dummy x11-xserver-utils
Then, write the following to the file /etc/X11/xorg.conf
:
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
EndSection
Section "Device"
Identifier "Device0"
Driver "dummy"
VideoRam 256000
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
EndSection
Finally, to make the headless X server start automatically, create a systemd service.
sudo nano /etc/systemd/system/headless-x.service
And add the following content:
[Unit]
Description=Headless X Server
After=multi-user.target
[Service]
ExecStart=/usr/bin/X :0
User=<your_username>
Restart=always
[Install]
WantedBy=multi-user.target
Then enable and start it:
sudo systemctl enable headless-x
sudo systemctl start headless-x
Install NoMachine on your own computer and try to connect to your headless server. Press ADD in the top left corner, give a name to the remote computer, enter its IP address and confirm with ADD. Make sure you are on the same network and double-click on the device icon to connect to it. Enter the user's credentials and check the box to memorize it for later.
If USB forwarding is not working (no devices are displayed), follow this guide to install the kernel module: https://kb.nomachine.com/AR12J00658
- Warthog Teach and Repeat (ROS1)
- Warthog Teach and Repeat (ROS2)
- Time Synchronization (NTP)
- Time Synchronization (PTP)
- Deployment of Robotic Total Stations (RTS)
- Deployment of the backpack GPS
- Warthog Emlid GPS
- Atlans-C INS
- How to use a CB Radio when going in the forest
- IP forwarding
- Emlid Data Postprocessing (PPK)
- Setting up a reliable robot communication with Zenoh
- Zenoh rmw
- Lessons Learned
- Robots' 3D Models
- Order Management
- Fast track Master → PhD
- Intellectual Property
- Repository Guidelines
- TF Cheatsheet
- Montmorency Forest Wintertime Dataset
- RTS-GT Dataset 2023
- Deschenes2021 Dataset
- TIGS Dataset
- DRIVE Datasets
- BorealHDR
- TimberSeg 1.0
- DARPA Subterranean Challenge - Urban Dataset
- How to upload a dataset to VALERIA
- ROS1 Bridge
- Migrating a repository to ROS2 (Humble)
- ROS2 and rosbags
- MCAP rosbags
- DDS Configuration (work in progress)
- Using a USB Microphone with ROS2
- ROS2 in VSCode
- ROS2 Troubleshooting