VNC Server is a pre-installed app on Kano OS which allows a user to see and control their Kano OS system remotely, on another device, as explained in this 2015 Kano Computing Wiki article on GitHub.
I am unable to access my Kano OS system following those instructions. Upon running the app, after typing in a password, I see this:
Even though that displayed the hostname as
kano.local, fortunately I already know the IP address assigned to my Kano OS on my local network.
I tried using the built-in VNC viewer on my Mac (Go > Connect to Server in the Finder and then entering vnc://xxx.xxx.xxx.xxx) and also using the latest version of RealVNC’s VNC Viewer app. I tried just connecting to the IP address alone, and also with the port as well as the screen number (e.g., xxx.xxx.xxx.xxx:5900, and xxx.xxx.xxx.xxx:0), but none of those worked.
When I tried command line method of typing
kano-vnc start to run the VNC server as explained in the above linked Wiki article, I initially saw two errors:
WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
With some searching, I was able to address the first error message by installing at-spi2-core with the command
sudo apt-get install at-spi2-core. I am not sure what to do about the second message. Regardless, using the command-line
kano-vnc start in terminal did not work for me either.
Interestingly, since the above-linked Wiki entry mentions that the Kano VNC server app uses x11vnc, I tried running it instead of
kano-vnc in a terminal window. Although just typing
x11vnc in terminal fires up a VNC server without any password, I was finally able to connect to my Kano OS using the RealVNC’s VNC Viewer app.
However, connecting to the x11vnc server running on the Kano machine only displays the background wallpaper image of the Dashboard view, and nothing else:
Curious as to whether this has to do with the way the Dashboard is rendered, I tried running synaptic (a GUI for installing/managing software packages mentioned in this Kano support article which I had already installed.) And behold, the Synaptic window was rendered in my VNC display:
So maybe VNC is just unable to display the Dashboard overlay?
As a last ditch attempt to get the VNC display fully working, I followed the instructions on the official Raspberry Pi website for enabling the VNC server that is included with Raspbian. I didn’t want to mess with the authentication scheme, so I just tried using the RealVNC viewer on my Mac to connect. That worked, but again only displaying the clouds background wallpaper image, and no part of the Dashboard interface.
The VNC setup documentation page also mentions an “experimental direct capture mode” which can be enabled to view apps that use a “directly rendered overlay”, but since the Kano OS is a customization of Raspberian, the VNC Server dialog is not available to turn on that experimental mode easily.
However, after a bunch of Google searching, I found a way to turn on the experimental capture mode in terminal, by switching to the root user and adding these lines to the configuration file
CaptureTech=raspi ExperimentalRaspiCapture=1 ServerPreferredEncoding=JPEG
This finally enabled me to view the Kano OS Dashboard… but without any control of the mouse cursor:
My setup is Kano OS 4.2 running on a RPi 3B+
Any help or advice would be greatly appreciated.
So I decided to try switching from the Dashboard view to “Classic Mode” and then connecting again. Also, on the off chance that the command line method of starting the Kano VNC server is actually, I tried doing that directly in Terminal on the Kano computer itself instead of via an SSH connection.
This time in addition to the “GtkDialog mapped without a transient parent.” error, I also saw errors that
ifconfig was missing. Knowing that
ifconfig is the “Interface Configuration” command line utility that is used for network interface configuration, I guess that its absence probably accounted for the hostname being listed as
kano.local instead of my Kano computer’s local IP address.
So to make
ifconfig available, I needed to install
net-tools, by typing
sudo apt-get install net-tools in terminal. After doing this, when I ran the VNC server on the Kano computer in “Classic Mode” and typed a password, I finally saw the correct IP for the Kano machine listed:
And… both my Mac’s built-in VNC viewer and the RealVNC Viewer app can connect to, display, and interact with the Kano’s “Classic Mode” desktop correctly (although somewhat slowly)!
So, it would seem that the Kano OS Dashboard just won’t display correctly via VNC. However, it’s strange that I needed to install at-spi2-core and net-tools (to get ifconfig) in order to get Kano’s built-in VNC server to work as expected.