VNC Access to Sailfish
Virtual Network Computing (VNC) is a graphical desktop program and protocol that allows to remotely control another networked device, in this context a Sailfish OS device.
This document describes how to prepare a Sailfish OS device for VNC and how to connect to it from a VNC client running on a desktop computer.
NOTE: Don’t install this package if you care about security. There is no protection in this VNC server.
Do the following with the root permissions:
pkcon install lipstick2vnc
The following packages have to be installed:
libvncserver-0.9.10+git2-1.2.3.jolla.aarch64 a library to make writing a vnc server easy
lipstick2vnc-0.10.0-1.5.1.jolla.aarch64 A VNC server for Sailfish OS QA
Proceed with changes? [N/y] y
The VNC server is installed now.
There are many options for VPN clients available. When writing this document, Vinagre was used on a Ubuntu desktop.
Before a connection from Vinagre to the Sailfish device can be made the systemd socket listener must be started - do it as the ‘defaultuser’:
systemctl --user start vnc.socket
Next, decide which connection medium you want to use and set the connection address accordingly.
Connect the Sailfish device with a USB cable to the desktop computer. Choose “Developer mode” on the phone at the moment of connection. This assigns the default USB IP address of
192.168.2.15 for the Sailfish OS device.
Skip to chapter Establish the connection from the VNC client to the phone.
If you want to connect over WLAN you will need to check the WLAN address of the Sailfish device in the menu “Settings > System > Developer tools > WLAN IP addess”.
In addition, as
lipstick2vnc has been hardcoded to use the localhost (or usbnet), an SSH tunnel must be created. Create it with the following command from the PC to the phone:
ssh -L 5900:localhost:5900 firstname.lastname@example.org
## Replace 220.127.116.11 with the WLAN IP address of the phone!
On Ubuntu Vinagre (or another VNC client), choose “VNC” for the protocol. Next, open the Connect dialogue and type the host address:
a) when using USB
b) when using WLAN
The current view of the Sailfish display should appear now on the desktop screen, too.
The first picture shows the Vinagre user-interface with the projection of the Sailfish display.
The picture below introduces the thumb-shaped cursor that appears when the desktop cursor is moved above the Sailfish display. It is possible to control the phone remotely by clicking the Sailfish items with the desktop mouse, even type some text with the Sailfish virtual keypad. Edge-swiping may be difficult but possible in theory.
pkcon remove lipstick2vnc libvncserver
Check that the removal worked - the command below should not print anything:
rpm -qa |grep vnc