
                            VNC Client And Server

Contents
--------

   - Installation.
   - VNC Viewer - client to access remote desktop service.
   - VNC Server - graphical desktop sharing.
   - Keyboard Map Utility.



Installation
------------

1. You need RPM/YUM. Type command:

       yum install libc libgcc1 openssl zlib pthread libjpeg libpng

   or use Arca Noae Package Manager to install these packages.

2. It is recommended to use Extended System Tray Widget (by Dmik) for
   eCenter/XCenter with VNC Server:

       ftp://ftp.netlabs.org/pub/qt4/xsystray/xsystray-0_1_1.wpi

   or System Tray Widget ver. 0.3 (by ErOs2).

3. Install vnc.wpi WarpIn package. After installation, the folder "VNC" will
   appear on the desktop. If component VNC Viewer was selected, the VNC Viewer
   template appears in the list of system templates.


VNC Viewer - client to access remote desktop service
----------------------------------------------------

This package provides a VNC-client for OS/2 Presentation Manager, you can
connect to a VNC-server somewhere in the network and display its content in a
window. VNC stands for Virtual Network Computing. 

VNC Viewer supports UltraVNC advanced features such as file franfering and
chat.

Command line switches for VNC Viewer

  vncviewer.exe [[-h|-l] [-ravcdeoqtER] ...]

  -h host[:display]          - VNC server. Can be specified multiple times.
  -l [ipaddr|*|any][:port]   - The addresses and port where VNC Viewer will
                               listen for server connection. You may specify
                               this switch multiple times.
  -r <1|Y|YES|ON|0|N|NO|OFF> - Use (1/y/yes/on) stored password or prompt user
                               (0/n/no/off) for the password.
  -a NN                      - Connection attempts (1..10).
  -v <1|Y|YES|ON|0|N|NO|OFF> - View-only mode.
  -c <8|16|32|TrueColor>     - Color depth (TrueColor is 32 BPP).
  -d host[:port]             - Destination host.
  -s <1|Y|YES|ON|0|N|NO|OFF> - Request shared session.
  -e "enc1 enc2 ..."         - Support encodings:
                                 RAW COPYRECT TIGHT HEXTILE ZLIB ZLIBHEX
                                 ZRLE TRLE ZYWRLE ULTRA CORRE RRE.
                               First encoding is most prfered.
  -o N                       - Compress level for encodings: TIGHT, ZLIB and
                               ZLIBHEX (0..9).
  -q N                       - Quality level for TIGHT and ZYWRLE (0..9).
  -t "Window title"          - Window title.
  -E charset                 - Server character encoding (for filenames, chat).

  -R                         - Reset fonts & colors in the dialog boxes
                               modified via the Font Palette and the
                               Color Palette.

  For all the unspecified switches -ravcdeoq previously stored in GUI or the
  default values will be used.

Examples:

  vncviewer.exe -h 192.168.1.10 -c 16 -o7 -q4
  vncviewer.exe -h 192.168.1.10 -r No -t "Host A" -h myhostb -vON -t "Host B"
  vncviewer.exe -lAny -c32 -eTight

This program based on LibVNCClient library licensed under the GPL.


VNC Server - graphical desktop sharing
--------------------------------------

VNC Server transmits a duplicate of the remote computer's display screen to the
viewer. It also interprets commands coming from the viewer and carries them out
on the remote computer.

VNC Server supports UltraVNC advanced features such as file franfering and
chat.

This program based on LibVNCServer library licensed under the GPL.


Command line switches for VNC Server

  -s <properties-open properties-close show hide shutdown>

  -s                         - Send command to the running instanse.
    properties-open          - Open properties notebook.
    properties-close         - Close properties notebook.
    show                     - Show system tray/floating icon.
    hide                     - Hide system tray/floating icon.
    shutdown                 - Shutdown server.


Web Browser Access

Users may access their desktops from any computer with any modern HTML5-capable
Web browser, without installing any software on the client computer. VNC
displays a desktop within a browser window uses noVNC Open Source VNC client.
noVNC is a browser based VNC client implemented using HTML5 Canvas and
WebSockets.


Enabling WebSockets encryption

To enable WebSockets encryption for clients such as noVNC, open the properties
notebook and go to the General page 2 "WebSockets". Specify a files that
contains SSL certificate and private key.

You can use the OpenSSL utility to generate a Private Key and Self-Signed
Certificate:

>openssl req -x509 -newkey rsa:2048 -days 3650 -nodes -keyout vncs.key
           -out vncs.crt


Keyboard Map Utility
--------------------

Client sends keyboard events to the server. The key itself is specified using
the "keysym" values defined by the X Window System, even if the client or
server is not running the X Window System.

VNC Server and VNC Viewer provided by this package use correspondence tables
to translate system keyboard events to "keysym" values and back. Usualy two
tables are used: "local" table for national keys and additional "general" table
for standart keyboard. Keyboard Map Utility is a program to edit correspondence
tables.

Tables are held in text files .\keysym\*.xk . VNC Server and VNC Viewer will
try to load files in order: user.xk, NNN.xk, general.xk (where NNN is a system
local page number). Each next loaded file complements common table in memory.
user.xk - top priority, it can be used for your experiments or external
non-standard keypads.

When "local" table (NNN.xk) does not exist, VNC Server and VNC Viewer will try
to use unicode-related "keysym" values for keys which generate characters.
RFC 6143, "7.5.4. KeyEvent":
  "Modern versions of the X Window System handle keysyms for Unicode
  characters, consisting of the Unicode character with the hex
  1000000 bit set."

Adding support for a new language with Keyboard Map Utility:

  - Open (empty) local table: File -> Open -> Local table (NNN).
  - Record all national characters keys (Record -> Start - many keys).
  - Hold Shift and record all these keys again.
  - Stop recording.
  - Set correspond XK_xxxxx value for each event (Double click on records or
    press enter).
  - Save table: File -> Save.

Note that not all other VNC clients/servers supports national keyboards.
For more detailed information see RFC 6143, 7.5.4. KeyEvent.


---

http://os2.snc.ru/product-VNC.html

Andrey Vasilkin, 2017-2023
E-mail: digi@os2.snc.ru
