Scroll to navigation

headmore(1) Virtual Network Computing headmore(1)

NAME

headmore - VNC client for character terminals

SYNOPSIS

headmore host_or_ip:port_number

DESCRIPTION

headmore is a client for Virtual Network Computing (VNC), it is designed for running in character terminals such as Linux VT, xterm, or any other terminal emulator. headmore is fully capable of directing keyboard input to VNC and control mouse cursor movements.

CONTROLS

headmore offers comprehensive keyboard and mouse input controls. The back-tick key switches input between viewer/mouse control and VNC desktop.

For QWERTY keyboard users, the left hand side controls are:

Switch keyboard input between viewer/mouse control and VNC desktop. When you have just connected, your keyboard input is directed at viewer/mouse control.
Type a back-tick in VNC desktop.
Pan viewer up, left, down, or right.
Zoom out or in on the viewer.
Toggle display mouse pointer locally. Mouse pointer is always displayed locally if current zoom is very far out.

And the right hand side controls are:

Disconnect from VNC server and leave the viewer immediately.
Move mouse cursor up, left, down, or right. Cursor speed is determined by current zoom, it move slower when zoomed in.
Click left or right mouse button.
7, 8, 9
Toggle hold left, middle, or right mouse button.
0
Click middle mouse button.
Instantly zoom in on where mouse cursor currently is.

And finally these keys toggle hold modifier keys in VNC desktop:

Toggle hold left or right side Control key.
Toggle hold left or right side Shift key.
Toggle hold left or right side Alt key.
Toggle hold left Meta key (Mac/Windows key).

INPUT QUIRKS

While nearly all keyboard input will be successfully sent to VNC desktop, bear in mind several quirks caused by limitations of character terminal, universal to all terminal emulators:

If you have a computer mouse and your terminal forwards mouse input headmore, headmore may react with random key input or quit unexpectedly.
Meta key combinations such as Meta+D cannot be directly typed into VNC, you have to toggle hold Meta key and then type the modified key.
Other modifier keys (Control and Alt) only work with lower case letters a-z. For other combinations such as Alt+F4 or Ctrl+Shift+A, toggle hold the modifier key and then press the modified key.
Rapid input of Alt key combinations may occasionally result in the modified being typed without Alt modifier. Type Alt key combinations slowly to avoid encountering this issue.
Typing escape key and another key in short succession may result in an Alt combination being typed unexpectedly. Wait a short while after the escape key to avoid encountering this issue.
While most control characters such as Ctrl+C and Ctrl+D work reliably in VNC input, a few of them (such as Ctrl+Z) do not work in certain terminal emulators, in such cases you have to toggle hold Ctrl and then press the letter key.

DESIGN RATIONALE

headmore uses LibVNCClient (from LibVNCServer project) to connect to server in 32bit RGB colour mode, a colour space so deep helps dithering algorithm to produce smooth image; connection will still succeed even if server cannot offer 32bit colours.

If the VNC server is secured by password authentication, password entry will be prompted before establishing connection, this security mechanism is also known as "VncAuth". Unfortunately the client cannot yet perform certificate based authentication, which is also known as "X509Vnc".

Dithering of VNC image, terminal drawing, and keyboard interactivity are provided by libcaca (from Caca Labs). The latest image from VNC are drawn (dithered) on terminal at a constant frame rate of approximately 10FPS using Floyd-Steinberg algorithm. The terminal does not redraw in presence of keyboard input.

FILES

$HOME/.headmore.log
Somewhat verbose messages from LibVNCClient and headmore are placed here, might come in handy for debugging connection troubles.

FEEDBACK

You are most welcomed to file bug report, feature request, and questions in the project's Github page (https://github.com/HouzuoGuo/headmore), you may also direct any inquiry to the author in Email.

AUTHOR

Howard Guo <guohouzuo@gmail.com>, 2017

headmore