Description:
While running kasmVNC, I'm encountering recurring errors related to WebRTC connectivity and Unix relay subscriptions:
uname -a
Linux 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
But the same is working when executed using root, but root is not recommended for vnc session.
Web client error
Unix relay subscription failed, No such unix channel webutil-DUkojxeL.js:4:7012
WebRTC: ICE failed, add a TURN server and see about:webrtc for more details
Expected Behavior:
- Unix relay should successfully subscribe to the relevant channel.
- WebRTC should establish peer connections using available ICE candidates or fallback to a TURN server.
Actual Behavior:
- The system logs a failure to find the expected Unix channel (
webutil-DUkojxeL.js).
- ICE negotiation fails, suggesting a TURN server may be missing or not properly configured.
Steps to Reproduce:
- Deploy or access a kasmVNC session
- Connect to the session through the web client.
- Monitor browser console and logs.
- Observe the Unix relay and WebRTC ICE errors.
Environment:
- kasmVNC Version: 1.3.4
- Deployment Method: Kasmvnc debian
- Browser: Firefox
- OS: mxlinux
Additional Context:
- This may indicate a misconfiguration or a race condition where the Unix channel isn’t created before subscription is attempted.
- The WebRTC ICE failure may be due to lack of a properly defined TURN server in the ICE configuration.
- See also: about:webrtc for more insights on connection failure.
cat ~/.vnc/kasmvnc.yaml
desktop:
resolution:
width: 1024
height: 768
allow_resize: true
pixel_depth: 24
gpu:
hw3d: false
drinode: /dev/dri/renderD128
network:
protocol: http
interface: 0.0.0.0
websocket_port: auto
use_ipv4: true
use_ipv6: true
udp:
public_ip: auto
port: auto
payload_size: auto
stun_server: auto
ssl:
pem_certificate: /etc/ssl/certs/ssl-cert-snakeoil.pem
pem_key: /etc/ssl/private/ssl-cert-snakeoil.key
require_ssl: true
# unix_relay:
# name:
# path:
user_session:
new_session_disconnects_existing_exclusive_session: false
concurrent_connections_prompt: false
concurrent_connections_prompt_timeout: 10
idle_timeout: never
keyboard:
remap_keys:
ignore_numlock: false
raw_keyboard: false
pointer:
enabled: true
runtime_configuration:
allow_client_to_override_kasm_server_settings: true
allow_override_standard_vnc_server_settings: true
allow_override_list:
- pointer.enabled
- data_loss_prevention.clipboard.server_to_client.enabled
- data_loss_prevention.clipboard.client_to_server.enabled
- data_loss_prevention.clipboard.server_to_client.primary_clipboard_enabled
logging:
log_writer_name: all
log_dest: logfile
level: 30
security:
brute_force_protection:
blacklist_threshold: 5
blacklist_timeout: 10
data_loss_prevention:
visible_region:
# top: 10
# left: 10
# right: 40
# bottom: 40
concealed_region:
allow_click_down: false
allow_click_release: false
clipboard:
delay_between_operations: none
allow_mimetypes:
- chromium/x-web-custom-data
- text/html
- image/png
server_to_client:
enabled: true
size: unlimited
primary_clipboard_enabled: false
client_to_server:
enabled: true
size: unlimited
keyboard:
enabled: true
rate_limit: unlimited
logging:
level: off
watermark:
# image: /etc/kasmvnc/picture.png
# location: 10,10
# tint: 255,20,20,128
# repeat_spacing: 10
# text:
# template: "${USER} %H:%M"
# font: auto
# font_size: 48
# timezone_name: Australia/Adelaide
# angle: 0
encoding:
max_frame_rate: 60
full_frame_updates: none
rect_encoding_mode:
min_quality: 7
max_quality: 8
consider_lossless_quality: 10
rectangle_compress_threads: auto
video_encoding_mode:
jpeg_quality: -1
webp_quality: -1
max_resolution:
width: 1920
height: 1080
enter_video_encoding_mode:
time_threshold: 5
area_threshold: 45%
exit_video_encoding_mode:
time_threshold: 3
logging:
level: off
scaling_algorithm: progressive_bilinear
compare_framebuffer: auto
zrle_zlib_level: auto
hextile_improved_compression: true
server:
http:
headers:
- Cross-Origin-Embedder-Policy=require-corp
- Cross-Origin-Opener-Policy=same-origin
httpd_directory: /usr/share/kasmvnc/www
advanced:
x_font_path: auto
kasm_password_file: ${HOME}/.kasmpasswd
x_authority_file: auto
auto_shutdown:
no_user_session_timeout: never
active_user_session_timeout: never
inactive_user_session_timeout: never
command_line:
prompt: true
Description:
While running kasmVNC, I'm encountering recurring errors related to WebRTC connectivity and Unix relay subscriptions:
But the same is working when executed using root, but root is not recommended for vnc session.
Web client error
Expected Behavior:
Actual Behavior:
webutil-DUkojxeL.js).Steps to Reproduce:
Environment:
Additional Context: