You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
4.1 KiB
Markdown

3 years ago
# VNC
10 months ago
As an alternative to the Web UI, a regular VNC client can be used to access to the PiKVM.
10 months ago
The main advantage of VNC over the browser is the ability to expand the image to the full screen,
10 months ago
as well as complete interception of all keyboard shortcuts. In some cases, VNC will be more responsive
10 months ago
than the browser, especially on weak client computers.
3 years ago
!!! warning
10 months ago
Don't use VNC without X.509 or TLS encryption on untrusted networks!
Otherwise your password will be transmitted over the network in plain text.
Unfortunately, this is the reality of the VNC protocol.
10 months ago
!!! note
The performance of VNC on PiKVM does not make sense to compare with regular VNC servers
or a similar remote access tool at the OS level.
PiKVM will run a little slower due to the fact that access is done at the hardware level.
A typical video processing chain looks like this:
1 year ago
10 months ago
* Regular VNC/RDP/TeamViewer/Etc: `OS -> Remote access server -> Network -> Client`.
* PiKVM: `OS -> Video card -> PiKVM video capture -> PiKVM server -> Network -> Client`.
3 years ago
10 months ago
-----
3 years ago
## Enabling VNC on the PiKVM side
10 months ago
1. The recommended client is [TigerVNC](https://github.com/TigerVNC/tigervnc/releases).
3 years ago
10 months ago
2. Switch the PiKVM filesystem to read-write mode using command `rw`.
3. ??? tip "Optional for *non-TigerVNC* clients: Change the keybobard layout for non-US keyboard"
10 months ago
This step is nessessory if you're using a client that does not support
the direct keyboard access.
3 years ago
10 months ago
In this case you can force the client layout in `/etc/kvmd/override.yaml`:
3 years ago
10 months ago
```yaml
vnc:
keymap: /usr/share/kvmd/keymaps/ru
```
3 years ago
10 months ago
All available keymaps are located in `/usr/share/kvmd/keymaps`:
<img src="keymaps.png" />
3 years ago
10 months ago
4. ??? warning "Optional for *non-TigerVNC* and NOT RECOMMENDED: Enable VNCAuth method"
10 months ago
This step is nessessory if you're using a client that does not support the user/password
auth method like TightVNC (don't confuse it with TigerVNC).
10 months ago
10 months ago
In this case you can enable VNCAuth passphrases mode in `/etc/kvmd/override.yaml`:
3 years ago
10 months ago
```yaml
vnc:
auth:
vncauth:
enabled: true
```
3 years ago
10 months ago
To set passphrases edit the file `/etc/kvmd/vncpasswd`.
10 months ago
10 months ago
**But once again: THIS IS AN UNSAFE AUTHORIZATION METHOD and it is better to use TigerVNC.**
3 years ago
10 months ago
5. Enable `kvmd-vnc` daemon. VNC will be available on the port 5900: `systemctl enable --now kvmd-vnc`.
3 years ago
10 months ago
6. Switch filesystem back to read-only: `ro`.
3 years ago
1 year ago
!!! note
10 months ago
With enabled [2FA](auth.md#two-factor-authentication), you will need to append the one-time code
to the password without spaces. That is, if the password is `foobar` and the code is `123456`,
then the string `foobar123456` should be used as a password.
Also note that `vncauth` (step 3) will not work with 2FA.
1 year ago
3 years ago
10 months ago
-----
3 years ago
## Configuring the client
10 months ago
We recommend [TigerVNC](https://tigervnc.org) for a better experience on a desktop.
3 years ago
10 months ago
If you're using PiKVM V3+ or DIY based on CSI bridge, you can try
the [latest version (>= 1.13.0) of TigerVNC with H.264 support](https://github.com/TigerVNC/tigervnc/releases).
It will improve performance and save traffic.
1 year ago
10 months ago
H.264 video mode is available in binary builds for Windows, for other OS it needs to be compiled manually
(`ffmpeg` libraries required to build).
1 year ago
3 years ago
Here are our recommended settings for TigerVNC:
1 year ago
| Compression tab | Security tab |
|-----------------|--------------|
1 year ago
| <img src="tigervnc_compression.png" width="300" /> | <img src="tigervnc_security.png" width="300" /> |
1 year ago
| If your client does not support H.264, choose **Tight** | |
3 years ago
For iOS and Android the recommended application is bVNC:
* [Google Play](https://play.google.com/store/apps/details?id=com.iiordanov.bVNC)
* [App Store](https://apps.apple.com/us/app/bvnc-pro/id1506461202)
10 months ago
-----
3 years ago
## Unsupported clients
* **RealVNC** - Does not support most widely used open VNC protocol extensions.
1 year ago
* **Remmina** - Slightly imperfect algorithms for matching settings with the server, we are working on it.
3 years ago
* **Guacamole** - Incorrectly implements vencrypt, no JPEG compression.
1 year ago
* **Vinagre** - Incorrectly implements vencrypt, dead.