Set up a Q4OS remote Desktop server, administrator manual, rev. 03/2017


Set up a Q4OS remote Desktop server

administrator manual

1. Introduction
2. Installing Application Server
3. Set up Application Server
4. Client side


1. Introduction

This paper describes how to build VDI, virtual desktop infrastructure, for business, small company, hospitals, schools, or another various ICT environments. Q4OS is designed to be optimal solution for cloud computing and virtualization due to its low hardware, low network bandwidth requirements. Q4OS Application Server uses NX protocol, which allows clients secure graphical access to a remote desktop over a low speed Internet connections as well as fast broadband LAN networks, communication is ssh tunneled, fully encrypted.

You can turn almost any PC into the Server or Client, see the chapters below. Application Server could be virtualized, if a host computer has force enough. Depending on the Server's hardware it is possible to operate up to hundreds of clients for one server. Minimum HW requirements for the Server meets minimum requirements for Q4OS system and applications being used.


2. Installing Application Server

Local Server installation

Launch X2Go Server installation from the Q4OS Software Centre and follow setup instructions. Computer is ready to act as a Q4OS Application Server using NX protocol immediately after installation.

Installation on a VPS, or any other remote computer

If you have no local access to the Server machine available, you can install Q4OS Desktop using ssh connection. This is mainly useful for public VPS (virtual private server) hosting services or headless virtualized servers. Since many of providers offer a Debian based VPS service, it's possible to use it as a fast, multi-user, remote desktop. The performance is excellent, very close to a local computer, the only thing needed is a Debian based remote machine with ssh enabled.

At first, login to your VPS, or another Debian based remote computer, over ssh and launch root shell:

$ ssh [remote-adminuser]@[remote-ip-address]
$ su

or alternatively login directly as root:

$ ssh root@[remote-ip-address]

If there is no ordinary user account on the remote machine, you will have to create it using 'adduser' command. Download and run Q4OS setup script, the setup process will take a while. After installation close ssh connection:

# wget q4os.org/downloads/q4os-setup.sh
# sh q4os-setup.sh
# exit
$ exit

Login as the first ordinary user again:

$ ssh -l [remote-adminuser] -X -C [remote-ip-address]

You will see a few warnings and the ssh gui performance could be a bit weak, you can safely ignore it for now.

Run the Q4OS desktop profiler and apply the 'Pure' profile:

$ swprofiler.exu

Run the Q4OS Software Centre and perform X2Go Server installation from it:

$ swcentre.exu

Once the job finishes, you can move on to setup the Server now, see the next chapter.


3. Set up Application Server

It is possible to use the Server without additional configuration as it is ready to operate immediately after installation. You can optionally proceed some additional steps to adapt Server to your production environment, see bellow.

Set static IP address

We advice you to set a fixed IP address for this machine, to be able make permanent settings for all clients, there is '/etc/network/interfaces.d/.fixed-ip-eth0.example' file as a basic example. Simply edit the file to configure Server's IP address and rename it for example to 'fixed-ip-eth0'. You can perform the procedure in terminal:

$ cd /etc/network/interfaces.d
$ sudo nano .fixed-ip-eth0.example
$ sudo mv .fixed-ip-eth0.example fixed-ip-eth0

New IP configuration will be set after reboot.

Alternatively clients may refer Server by a network name, using DHCP and dynamic DNS is a feasible way.

Remove Network Manager service

'Network Manager' service takes care about dynamic events like manual cable plug or wireless networks managing. You could safely remove it, if the Server uses network interfaces with fixed IP configuration only. Type in terminal:

$ sudo systemctl disable NetworkManager.service
$ sudo systemctl stop NetworkManager.service

If you want to disable network manager applet icon from system tray:

$ sudo kwriteconfig --file "/etc/trinity/tdenetworkmanagerrc" --group "General" --key "Autostart" "false"
$ sudo chmod a+r /etc/trinity/tdenetworkmanagerrc

Disable GUI

You should disable Server's graphical user interface, if you don't need it. Type in terminal:

$ sudo systemctl mask tdm-trinity.service
$ sudo systemctl mask tdm.service
$ sudo reboot

After reboot you will have remote NX, ssh and local console login to the Server available.

Create users

Create users profiles standard way, using control panel or command line tool 'adduser', for help see 'man adduser'. Default users are allowed to establish remote NX desktop sessions, if you want to fine tune user's session settings see point bellow 'Advanced settings'.

Advanced settings

Load balancing, file sharing, printing and other extending functionality is available, if you want to fine tune, monitor or control Server operation see X2Go detailed documentation at x2go.org wiki. Please keep Debian commands all the way. Additional packages are directly installable as the repository is already included in the system. Use 'apt' command to manage packages, example to install broker agent package:

$ sudo apt install x2gobroker

4. Client side

Workstations can be provided by a hardware minimized thin-clients, low cost computers, desktop client software as well as tablets, phones. Desktop session is adjustable accepting connections from low speed modem bandwith up to LAN wideband networks.

You can securely access Application Server anywhere in Internet or local network, you only need to know Server's IP address and login credentials.


4.1. Hardware ThinClients

It is possible to access a Server using any ThinClient workstation equipped with NX/X2Go protocol. While we have no compatibility list, we don't guarantee proper functionality for any third-party model yet.


4.2. Software Clients

The most applicable software client is X2Go client, available for all major operating systems. It is sufficient to fill Server IP, username and password to reach a Q4OS Application Server in a network, although there are plenty of other options to adjust a connection in addition.

4.2.1 X2Go Client for Q4OS

You can use any Q4OS computer as a client, please find convenient installer of the standard X2Go client in Q4OS Software Centre. First run wizard will help you to enter the basic Client settings.

4.2.2 X2Go Client for Windows, OS X, Linux

Find X2Go Client downloads and installation instructions here. In order to establish a connection with Q4OS Server, you have to enter the needed basic configuration in 'Session preferences' dialog, the 'Session' tab:

Host: [ Server's IP address ]
Login: [ User name ]
Session type: 'Custom desktop'
Command: 'start-q4os-x2go'

The 'start-q4os-x2go' command is essential. You are free to adjust additional advanced Client settings, for example network bandwidth limits and more, see documentation here.

4.2.3 Client for tablets and phones

Android/IOS/Windows based clients are not available now, they are planned to be released.




Set up a Q4OS remote Desktop server, administrator manual, rev. 03/2017