In this article, we use x2go to connect to a remote system and run a demo, Security Barrier Camera. The demo will be launched on the IEI Tank* AIoT Developer Kit (target) running Linux* from the Developer Workstation (host).
When you run the demo, the command will run on the target from the host and the results will display on the host machine using the x2go client or viewer.
|Host Device||Your Development Environment Machine - For example, your dev laptop or dev desktop machine|
|Target Device||IEI Tank* AIoT Developer Kit|
|vnc||virtual network computing|
|nxproxy||tool allows user to tunnel X sessions through the NX compression library nxproxy is a backend app used by client applications like X2Go Client|
|X2Go||graphical remote desktop|
Note: VNC server products such as RealVNC offer enterprise editions and licenses for a fee.
For this article, the following recommended requirements are listed in the table below.
Host Device Requirements
Target Device Requirements
To install and run the demo application, you will need:
Familiarity with Linux* commands
In this article, we will explore using x2go to remotely run the toolkit demo. The host and target in this example are on the same network.
|Step 1: Setup Connection Between Target and Host||Setup x2go server on the target. Connect via viewer from the host.|
|Step 2: Run the Security Barrier Demo Remotely from Host Development Environment - CPU||Open Security Barrier Demo Remotely using your Host Machine to run on Target, viewing these actions in x2go on the Host Machine.|
Security Barrier Camera Demo
The demo you will run is the Security Barrier Camera Demo included in the Intel® Distribution of OpenVINO™ toolkit. This demo runs multiple deep learning models, including license plate detection, vehicle attributes, and license plate recognition.
The host system connected to the target system, will be used to run the demo.
Note: The security barrier demo is located at /opt/intel/openvino/deployment_tools/demo
Below is an example of the security barrier demo output.
Step 1: Setup a x2go Connection Between the Target and Host
In this step you will be setting up a connection between your host and target systems. This connection is required. This example scenario includes physical access to the target for setup.
Physical access: Connect a keyboard, monitor, and mouse to your target system.
Install x2go Server
Connect your target system to same network as your host system.
- On your target system, install x2go server. This is not installed by default. If you do not have add-apt, install software properties.
sudo apt-get install software-properties-common
- To add the repo to the sources.list, run the following command:
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
- Install the server:
sudo apt-get install x2goserver x2goserver-xsession
- Obtain the IP address of the target system (IEI Tank*) using ip or ifconfig:
Check the server is running. Run the following command to see if the server is running:
service --status-all | grep x2go
The server is running if your results are:
[ + ] x2goserver
Tip: If your server is not running, start the service:
service x2goserver start
Install x2go client
To install the x2go client on your workstation, run the following command:
sudo apt install x2goclient
Open the x2go client on the developer workstation.
When you first start x2goclient, session preferences display. Enter the IP address and username (login).
These can be edited in future sessions.
You can choose from different desktop environments under Session type. Several Desktop environments are listed in preferences:
In this example, we used xfce as the desktop environment. Click OK. The session begins.
There are several options for security.
Note: Without physical access, there are a few ways to discover the IP: Running a port scan, or if you have router access, you can use this to discover the IP address.
Step 2: Run the Security Barrier Camera Demo - CPU
The Security Barrier demo script in the Intel® Distribution of OpenVINO™ toolkit:
- initializes the environment
- downloads the models
- runs the security barrier demo
- Run this command in the terminal to change to the demo directory.
- Run the following command to run the demo
The results display with a car being identified in the frame with an overlay of the frames per second.
Because the target device is set at run-time, you can use the same binary to run on CPU, GPU, or other Intel® Vision Accelerator Design product. Run the same demo, but with the GPU to compare performance.
# On your target system, install x2go server.If you do not have add-apt, install software properties. sudo apt-get install software-properties-common # To add the repo to the sources.list, run the following command: sudo add-apt-repository ppa:x2go/stable # Update: sudo apt-get update # Install the server: sudo apt-get install x2goserver x2goserver-xsession # Obtain the IP address of the target system (IEI Tank*) using ip or ifconfig: ip a # Check the server is running. Run the following command to see if the server is running: service --status-all | grep x2go # The server is running if your results are: # [ + ] x2goserver # Tip: If your server is not running, start the service: service x2goserver start # Install x2go client sudo apt install x2goclient # change to the demo directory. cd /opt/intel/openvino/deployment_tools/demo # run the demo ./demo_security_barrier_camera.sh