Select the version of your OS from the tabs below. If you don't know the version you are using, run the command cat /etc/os-release
or cat /etc/issue
on the board.
Remember that you can always refer to the Torizon Documentation, there you can find a lot of relevant articles that might help you in the application development.
This guide describes how to enable a VNC or an RDP backend in a Weston Debian Container for Torizon. You can choose one of them at your discretion, but you can't use both at the same time. Both protocols can provide graphical access to a remote device, displaying your Graphical User Interface and transmitting the keyboard and mouse events. It can be enabled by passing an environment variable when starting the Weston container.
This article complies to the Typographic Conventions for Torizon Documentation.
Remote Weston via VNC
In case you're using the Visual Studio Code Extension for Torizon, you need to create your own docker-compose.yml
file for the weston container
and then add the environment variable that you want to use:
ENABLE_VNC=1
ENABLE_RDP=1
After creating the file, set it as the default one in the configuration view of the extension, this process is described in the Multi Container Services with Docker Compose section of the Visual Studio Code Extension for Torizon article.
Creating and using your own docker-compose file
When starting the container, you just need to pass the environment variable of the backend that you want to enable:
ENABLE_VNC=1
ENABLE_RDP=1
From the command line, that means adding the parameter --env ENABLE_VNC=1
or --env ENABLE_RDP=1
to the docker run
as explained on Debian Containers for Torizon. See the examples:
VNC:
Pull the latest torizon/weston
container image:
# docker pull torizon/weston:$CT_TAG_WESTON
Start the weston
container:
# docker run -d --rm --name=weston --net=host --env ENABLE_VNC=1 --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston:$CT_TAG_WESTON --developer weston-launch --tty=/dev/tty7 --user=torizon
Pull the latest torizon/weston
container image:
# docker pull torizon/weston:$CT_TAG_WESTON
Start the weston
container:
# docker run -d --rm --ipc=host --name=weston --net=host --env ENABLE_VNC=1 --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston:$CT_TAG_WESTON --developer weston-launch \
--tty=/dev/tty7 --user=torizon -- --use-pixman
Pull the latest torizon/weston-vivante
container image:
# docker pull torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE
Start the weston
container:
# docker run -e ACCEPT_FSL_EULA=1 -d --rm --name=weston --net=host --env ENABLE_VNC=1 --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE --developer weston-launch \
--tty=/dev/tty7 --user=torizon
RDP:
Pull the latest torizon/weston
container image:
# docker pull torizon/weston:$CT_TAG_WESTON
Start the weston
container:
# docker run -d --rm --name=weston --net=host --env ENABLE_RDP=1 --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston:$CT_TAG_WESTON --developer weston-launch --tty=/dev/tty7 --user=torizon
Pull the latest torizon/weston
container image:
# docker pull torizon/weston:$CT_TAG_WESTON
Start the weston
container:
# docker run -d --rm --ipc=host --name=weston --net=host --env ENABLE_RDP=1 --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston:$CT_TAG_WESTON --developer weston-launch \
--tty=/dev/tty7 --user=torizon -- --use-pixman
Pull the latest torizon/weston-vivante
container image:
# docker pull torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE
Start the weston
container:
# docker run -e ACCEPT_FSL_EULA=1 -d --rm --name=weston --net=host --env ENABLE_RDP=1 --cap-add CAP_SYS_TTY_CONFIG \
-v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ \
--device-cgroup-rule='c 4:* rmw' --device-cgroup-rule='c 13:* rmw' \
--device-cgroup-rule='c 199:* rmw' --device-cgroup-rule='c 226:* rmw' \
torizon/weston-vivante:$CT_TAG_WESTON_VIVANTE --developer weston-launch \
--tty=/dev/tty7 --user=torizon
On the client-side, install your favorite VNC remote-control software and run the following command (change to your IP address):
$ vncviewer <IP_ADDRESS>
In case you are searching for a VNC Client:
On the client-side, install your favorite RDP remote-control software and run the following command (change to your IP address):
$ xfreerdp /v:<IP_ADDRESS> /sec:tls
In case you are searching for an RDP Client:
In case you don't know how to find the board's IP address, please read the Scan your local network to find the board IP and MAC address article.