首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

x11vnc 無法識別 Caps Lock 大寫鎖定鍵的解決方法

     編輯:Java 綜合教學

x11vnc 無法識別 Caps Lock 大寫鎖定鍵的解決方法

現象:通過 x11vnc 遠程桌面連接 Linux 時,按 Caps Lock 切換大小寫無效,始終輸入小寫字母,必須按住 Shift 才能輸入大寫。

原因分析

x11vnc 默認不同步鍵盤 LED 狀態(Caps Lock、Num Lock、Scroll Lock),導致服務端 X 服務器認為鎖定鍵未按下,繼續發送小寫鍵碼。

解決方法

啟動 x11vnc 時添加 -capslock 參數:

x11vnc -capslock -display :0 -auth /var/run/lightdm/root/:0 -forever -loop -noxdamage -repeat -rfbauth /home/user/.vnc/passwd -rfbport 5900

或寫入 systemd 服務單元:

[Unit]
Description=x11vnc VNC Server
After=graphical.target

[Service]
Type=simple
User=user
ExecStart=/usr/bin/x11vnc -capslock -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/user/.vnc/passwd -rfbport 5900
Restart=on-failure

[Install]
WantedBy=multi-user.target

參數說明

  • -capslock:同步 Caps Lock 狀態(核心修復)。
  • -display :0:目標 X 顯示器。
  • -auth guess:自動尋找 Xauthority 文件(支持 GDM/LightDM/SDDM)。
  • -forever -loop:持續運行,客戶端斷開後繼續監聽。
  • -noxdamage:禁用 XDamage 擴展(兼容性更好)。
  • -repeat:啟用按鍵重複。
  • -rfbauth:VNC 密碼文件(vncpasswd 生成)。
  • -rfbport 5900:VNC 端口。

客戶端推薦

  • Windows:RealVNC Viewer、TightVNC Viewer、MobaXterm。
  • 跨平台:Remmina (Linux/Windows/macOS)、Vinagre (GNOME)。

其他常見問題

參考文檔

添加 -capslock 參數後,遠程桌面大小寫切換即可正常工作,體驗與本地操作一致。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
問題解決
鍵盤佈局錯誤服務端 setxkbmap us 或客戶端設置正確佈局
滾動條/滑鼠卡頓啟用 -noxdamage、調整編碼 -encoding tight
無法輸入中文服務端啟用 fcitx/ibus,環境變量 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
安全性僅綁定 localhost + SSH 隧道轉發 ssh -L 5900:localhost:5900 user@server