Client Side

The proceeding sections cover KasmVNC’s web native client, which can be accessed by using most modern browsers.

System Requirements

Chromium based browsers such as Google Chrome, Microsoft Edge, Brave, and Chromium are preferred. Chromium based browsers support all features of KasmVNC and perform the best. Firefox is also supported, however, some features do not work. Safari is not supported when connecting directly to KasmVNC, due to the lack of Safari’s support for Basic Auth on web socket connections.

The recommended minimum compute requirements are 4 CPU cores and 4GB of RAM. While the client can be used on systems with less resources

Authentication

KasmVNC utilizes HTTPS Basic Authentication. When users connect, their browser will automatically prompt the user to login. Subsequent connections will not prompt the user to login, unless the login credentials are no longer valid.

_images/login.png

Login

Control Panel

The KasmVNC client control panel provides the user with many options to control and interact with their session.

Control Panel ```{figure} images/stream_quality.png :align: center :width: 25%

Stream Quality


### Keys
The keys panel provides users with click buttons for common control keys such as Control, Alt, Esc, and the Windows key. This is useful for users on mobile devices without a full keyboard. In addition, this panel provides users with the ability to pop the on screen keyboard on mobile devices.

```{figure} images/keys.png
:align: center
:width: 25%

**Control Panel - Keys**

Clipboard

The clipboard panel provides users with the ability to transfer text to and from the server desktop. This is not necessary on Chromium based browsers such as Google Chrome and Microsoft Edge, as they support seamless clipboard. Firefox and non-Chromium based browsers do not support seamless clipboard transfer, therefore, users must use the clipboard control panel to interact with the server-side clipboard. Placing text in this textbox will transfer the text to the server’s clipboard. You will then be able to paste the text to applications running inside the desktop. When a user copies text inside an application running on the remote desktop, the text will appear in this clipboard textbox.

_images/clipboard.png

Control Panel - Clipboard

Game Cursor Mode

Game cursor mode is used for first person shooters and other games that require a relative cursor. When engaged, the cursor is set to center screen and relative moments are provided to the remote desktop. The cursor is typically hidden in games when in relative cursor mode. Pressing the escape key will pause Game cursor mode and unlock the cursor. Many games may switch back to absolute cursor position when in the game menu and then back to relative when in game play. This requires the user to switch in and out of Game Cursor Mode.

Settings

The settings panel allows users to define many configuration settings. The client can be configured to ignore many of these setting. See the server-side configuration for more details.

_images/settings.png

Control Panel - Settings

Shared Mode

Allow other users to connect to the same session at the same time. KasmVNC supports allowing multiple concurrent users. Users can have read-only or read/write access. Kasm supports multiple settings on the server-side that determine the behavior when session sharing is disabled. See the server-side configuration for more details.

Clipboard Up

Allow clipboard data to be sent from the client to the server.

Clipboard Down

Allow clipboard data to be sent from the server to the client.

Clipboard Seamless

Enable seamless clipboard interaction. If disabled, users will need to use the clipboard textbox in the control panel to interact with the server clipboard. This option is only supported on Chromium based browsers.

Translate Keyboard Shortcuts

Automatically translate local Operating System shortcut keys to Linux shortcuts. For example, if the user is connected from a MacOS local system, the KasmVNC client will translate Cmd+C to Ctrl+C on the Linux desktop. This allows users to interact with the remote system with more familiar key combinations.

Enable WebRTC UDP Transit

KasmVNC supports UDP transit via WebRTC for better performance over high latency. See the server-side docs for more details.

Enable WebP Compression

KasmVNC supports webp image compression. WebP consumes approximately 30% lower bandwidth. The server-side automatically mixes jpeg and webp in order to optimize server-side compute usage. Lower-end clients may wish to disable webp for a higher framerate.

Enable Performance Stats

The performance stats counter gets displayed in the top right portion of the screen. The counter includes an FPS (Frames Per Second) counter. KasmVNC does not send data when there is no change on the screen, so the FPS counter will be very low when there is little to no change on the screen. The network and CPU stats each have two numbers. The first number is the current snapshot in time value and the second is averaged over time. Values range from 0 to 10 with 10 representing no constraints. The lower the number, the more constrained that resources is. When the frame rate drops, the bottleneck stats should help identify if the bottleneck is server side CPU or the network.

_images/preformance_stats.png

Performance Stats

Enable Pointer Lock

Pointer lock keeps the cursor inside the browser window. This may be used in combination with full screen, to give the user the appearance that the desktop is running locally. Cursor log is dis-engaged by pressing the escape key.

IME Input Mode

IME input mode allows the client to support specialized keyboard input modes that support languages with far more characters that there are keys, such as Japanese or Hindi.

Sow Virtual Keyboard Control

Show the virtual keyboard button in the lower right hand of the screen. This button makes it easier to work with on mobile clients.

Toggle Control Panel via Keystrokes

Use KasmVNC shortcuts to interact with KasmVNC. When enabled the following shortcuts are supported.

Key Combination

Action Description

Ctrl+Shift+1

Open the KasmVNC Control Panel

Ctrl+Shift+2

Enter/Exit Game Mode

Ctrl+Shift+2

Enter/Exit Pointer Lock

Idle Timeout

After this many minutes of no interaction, automatically disconnect.

Scaling Mode

  • Remote Resizing - Automatically resize the server-side resolution to fit the client’s window size

  • Local Scaling - Scale the image to fit the client’s resolution.

Stream Quality

KasmVNC provides a variety of controls to tune the rendering settings, which can effect quality and bandwidth usage.

_images/stream_quality.png

Stream Quality

Present Modes

The preset modes provide a quick and easy way for users to adjust the rending to meet their needs.

Mode

Description

Static

Sets a static resolution of 720p server-side and scales the image to fit the client.

Low

Users settings to maximize bandwidth savings.

Medium

A balance of bandwidth savings and rendering quality.

High

Great quality without completely ignoring bandwidth requirements.

Extreme

Maximum quality using lossy image compression.

Lossless

Local LAN only, not available on all clients.