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.
Control Panel
The KasmVNC client control panel provides the user with many options to control and interact with their session.
```{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.
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.
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.
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.
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. |