Skip to content

cyberbsd/kindlevncviewer

 
 

Repository files navigation

This is a VNC viewer for e-book devices
Copyright (c) 2011 Hans-Werner Hilse <hilse@web.de>

It works on the framebuffer, using the einkfb API from e-ink devices (einkfb.h) to do screen refreshs.
This is based on LibVNCclient (part of the LibVNCserver project, see http://libvncserver.sourceforge.net/.


There's a discussion thread at
http://www.mobileread.com/forums/showthread.php?t=150434


Configuration:
--------------

There are a few hard-compiled config items. See the #define statements in kindlevncviewer.c
Most notable is the "endless reconnect" feature. It will try to make a new connection to the VNC server if the old connection died. This seems to be needed on the author's Kindle DX as the device will kill TCP connections after a while.

Now it supports input handling using a Lua config file (config.lua). Edit this to create different keyboard layouts or similar things.


Building:
---------

It is suggested to compile LibVNCclient in a very minimal version. Personally, I use the following call to configure:

    PKG_CONFIG_PATH=/home/hw/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sys-root/usr/lib/pkgconfig/ \
    ./configure --without-gcrypt --without-client-gcrypt \
                --without-gnutls --without-client-tls \
                --without-ipv6 --host=arm-unknown-linux-gnueabi \
                 --host=arm-unknown-linux-gnueabi \
                --prefix=/home/hw/x-tools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sys-root/usr/

LibVNCclient will have dependencies on libjpeg and libz in this case.
Of course, you will have to alter that to read path names that point to your own cross toolchain.

In order to build kindlevncviewer, you should just edit the Makefile, adapt it to your toolchain name and path, and then just issue

    make

and it should build an executable.


Running:
--------

You need to copy the program and the libraries it needs (you can just try running it without and it will show you which libraries are missing) onto your ebook device. Then call (from a launcher app or a shell)

    LD_LIBRARY_PATH=. kindlevncviewer -config config.lua 192.168.2.1:1

(you will need to put in the correct server address or name and screen number).

With the source code, a shell script is provided that will do the setup of LD_LIBRARY_PATH properly (kvncviewer.sh).
Also, a config file for the "launchpad" application on Kindle is provided which makes use of the shell script.

You can pass parameters to the executable, most notably a password.

These are the options:

-password <passwordstring>

	Allows to specify a password for password based authentification.  Note that this might show up in process lists of your device.  Typically, for ebook readers this should be of great concern, since no other users will be on the "machine" at the same time.

-readpassword

	This is slightly more secure as it will read the password from standard input, so it will not show in process lists.

-config <file>

	Parses Lua configuration file

Also, libvncclient will allow for some further options, but the author of this viewer did not yet find the time to fetch their syntax from available documentation, sorry. There are options for selecting VNC encodings, setting compression and to do scaling (though it's unclear if that would actually work).

Licensing/Copying:
------------------

This software is licensed under the GPLv2 (see file COPYING).

About

A VNC viewer for ebook readers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published