背景
笔记本环境ubuntu2204,谷歌拼音
问题
系统终端能切换中英文输入法,但是vscode / cursor无法切换
解决方式
强行使用x11
命令行方式:
cpp
code --ozone-platform=x11
cursor --ozone-platform=x11
图标启动永久生效方式,以cursor为例:
powershell
ylh@y:~$ cat /usr/share/applications/cursor.desktop
[Desktop Entry]
Name=Cursor
Comment=The AI Code Editor.
GenericName=Text Editor
Exec=/usr/share/cursor/cursor --ozone-platform=x11 %F
Icon=co.anysphere.cursor
Type=Application
StartupNotify=false
StartupWMClass=Cursor
Categories=TextEditor;Development;IDE;
MimeType=application/x-cursor-workspace;
Actions=new-empty-window;
Keywords=cursor;
[Desktop Action new-empty-window]
Name=New Empty Window
Name[cs]=Nové prázdné okno
Name[de]=Neues leeres Fenster
Name[es]=Nueva ventana vacía
Name[fr]=Nouvelle fenêtre vide
Name[it]=Nuova finestra vuota
Name[ja]=新しい空のウィンドウ
Name[ko]=새 빈 창
Name[ru]=Новое пустое окно
Name[zh_CN]=新建空窗口
Name[zh_TW]=開新空視窗
Exec=/usr/share/cursor/cursor --new-window %F
Icon=co.anysphere.cursor
也就是将Exec=/usr/share/cursor/cursor %F 修改为
Exec=/usr/share/cursor/cursor --ozone-platform=x11 %F
vscode图标永久生效方式修改类似
效果

根本原因
Ubuntu 22.04 默认使用 Wayland,但 vscode/cursor 在 Wayland 下的输入法支持一直不完善。强制让它运行在传统的 X11 兼容层下,能直接解决问题(来自deepseek)