Skip to content

[BUG] Bulgarian input produces arabic text? #56

@karamanliev

Description

@karamanliev

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

This problem was not the case with kasm vnc. It started after the addition of selkies.

I'm a bulgarian and have a phonetic keyboard layout, besides the english one. When I try to write in bulgarian arabic letters are produced instead. I've tried to set -e LC_ALL=bg_BG.UTF-8 or explicitly -e LC_ALL=en_US.UTF-8 but it doesn't seem like it does much. By setting -e LC_ALL=ru_RU.UTF-8 I was able to produce bulgarian keyboard, but then english stops working, like at all. I'm using vim mode, which makes it even more complicated - when using the russian LC_ALL all the keymaps are shuffled.

Expected Behavior

Switch to bulgarian language - bulgarian (cyrillic) letters are produced.

Steps To Reproduce

  1. Run docker container
  2. Try to write in bulgarian
  3. Arabic letters are produced

Environment

- OS:Debian 12
- How docker service was installed: Proxmox LXC container

CPU architecture

x86-64

Docker creation

My compose file:

services:
  obsidian:
    image: lscr.io/linuxserver/obsidian:latest
    container_name: obsidian
    security_opt:
      - seccomp:unconfined #optional
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Sofia
      - NO_DECOR=true
      - DISABLE_IPV6=true
      - DRINODE=/dev/dri/renderD128
      - TITLE=Obsidian
      - FM_HOME=/vaults
      - LC_ALL=bg_BG.UTF-8
    volumes:
      - ./config:/config
      - ./vaults:/vaults
    ports:
      - 3850:3000
      - 3851:3001
      - 27123:27123 # for api server
    devices:
      - /dev/dri:/dev/dri
    shm_size: 1gb
    restart: unless-stopped
networks:
  obsidian:
    external: true

Container logs

obsidian  | [migrations] started
obsidian  | [migrations] no migrations found
obsidian  | ───────────────────────────────────────
obsidian  | 
obsidian  |       ██╗     ███████╗██╗ ██████╗
obsidian  |       ██║     ██╔════╝██║██╔═══██╗
obsidian  |       ██║     ███████╗██║██║   ██║
obsidian  |       ██║     ╚════██║██║██║   ██║
obsidian  |       ███████╗███████║██║╚██████╔╝
obsidian  |       ╚══════╝╚══════╝╚═╝ ╚═════╝
obsidian  | 
obsidian  |    Brought to you by linuxserver.io
obsidian  | ───────────────────────────────────────
obsidian  | 
obsidian  | To support LSIO projects visit:
obsidian  | https://www.linuxserver.io/donate/
obsidian  | 
obsidian  | ───────────────────────────────────────
obsidian  | GID/UID
obsidian  | ───────────────────────────────────────
obsidian  | 
obsidian  | User UID:    1000
obsidian  | User GID:    1000
obsidian  | ───────────────────────────────────────
obsidian  | mknod: /dev/input/js0: Operation not permitted
obsidian  | mknod: /dev/input/js1: Operation not permitted
obsidian  | mknod: /dev/input/js2: Operation not permitted
obsidian  | mknod: /dev/input/js3: Operation not permitted
obsidian  | mknod: /dev/input/event1000: Operation not permitted
obsidian  | mknod: /dev/input/event1001: Operation not permitted
obsidian  | mknod: /dev/input/event1002: Operation not permitted
obsidian  | mknod: /dev/input/event1003: Operation not permitted
obsidian  | chmod: cannot access '/dev/input/js*': No such file or directory
obsidian  | chmod: cannot access '/dev/input/event*': No such file or directory
obsidian  | [custom-init] No custom files found, skipping...
obsidian  | _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
obsidian  | screen 0 shmid 0
obsidian  | [ls.io-init] done.
obsidian  | 17
obsidian  | 18
obsidian  | INFO:data_websocket:pcmflux library found. Audio capture is available.
obsidian  | INFO:data_websocket:pixelflux library found. Striped encoding modes available.
obsidian  | INFO:root:Expected C js_config_t size (from ctypes): 1354 bytes
obsidian  | INFO:main:Upload directory ensured: /config/Desktop
obsidian  | INFO:main:Starting Selkies (WebSocket Mode) with args: Namespace(encoder='x264enc', framerate=60, video_bitrate=16000, dri_node='', audio_device_name='', h264_crf=25, h264_fullcolor=False, h264_streaming_mode=False, watermark_path='', watermark_location=-1, debug=False)
obsidian  | INFO:main:Initial Encoder: x264enc, Framerate: 60, Bitrate: 16000kbps
obsidian  | INFO:main:SelkiesStreamingApp initialized: encoder=x264enc, display=1024x768
obsidian  | INFO:main:All main components initialized. Running server...
obsidian  | INFO:webrtc_input:Resetting keyboard modifiers.
obsidian  | INFO:webrtc_input:Initializing 4 persistent gamepad instances...
obsidian  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js0): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)
obsidian  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js0.sock, EVDEV socket: /tmp/selkies_event1000.sock. Using fixed config: Microsoft X-Box 360 pad
obsidian  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 0 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js0.sock, EVDEV: /tmp/selkies_event1000.sock).
obsidian  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js1): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)
obsidian  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js1.sock, EVDEV socket: /tmp/selkies_event1001.sock. Using fixed config: Microsoft X-Box 360 pad
obsidian  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 1 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js1.sock, EVDEV: /tmp/selkies_event1001.sock).
obsidian  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js2): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)
obsidian  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js2.sock, EVDEV socket: /tmp/selkies_event1002.sock. Using fixed config: Microsoft X-Box 360 pad
obsidian  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 2 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js2.sock, EVDEV: /tmp/selkies_event1002.sock).
obsidian  | INFO:root:Packed js_config payload for 'Microsoft X-Box 360 pad' (js3): len=1360 bytes. Name='Microsoft X-Box 360 pad', Vendor=0x045e, Product=0x028e, Version=0x0100, Reported Buttons=11 (Array capacity: 512), Reported Axes=8 (Array capacity: 64)
obsidian  | INFO:selkies_gamepad:Gamepad configured. JS socket: /tmp/selkies_js3.sock, EVDEV socket: /tmp/selkies_event1003.sock. Using fixed config: Microsoft X-Box 360 pad
obsidian  | INFO:webrtc_input:Initialized and started persistent gamepad instance for index 3 (Name: 'Microsoft X-Box 360 pad', JS: /tmp/selkies_js3.sock, EVDEV: /tmp/selkies_event1003.sock).
obsidian  | INFO:webrtc_input:Starting clipboard monitor
obsidian  | INFO:webrtc_input:Found XFIXES version 4.0
obsidian  | INFO:webrtc_input:starting cursor monitor
obsidian  | INFO:webrtc_input:watching for cursor changes
obsidian  | WARNING:data_websocket:Cannot broadcast cursor data: no clients connected or server not ready.
obsidian  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js0.sock: Event processor started.
obsidian  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js0.sock
obsidian  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js1.sock: Event processor started.
obsidian  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js1.sock
obsidian  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js2.sock: Event processor started.
obsidian  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js2.sock
obsidian  | INFO:selkies_gamepad:Gamepad /tmp/selkies_js3.sock: Event processor started.
obsidian  | INFO:selkies_gamepad:JS interposer server listening on /tmp/selkies_js3.sock
obsidian  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1000.sock
obsidian  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1001.sock
obsidian  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1002.sock
obsidian  | INFO:selkies_gamepad:EVDEV interposer server listening on /tmp/selkies_event1003.sock
obsidian  | INFO:data_websocket:Data WebSocket Server listening on port 8082

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions