麒麟系统无法输入@符号的根本原因是键盘布局误设为英式(UK)等非美式变体,必须将系统级物理键盘布局强制设为美式(US)才能恢复Shift+2标准映射;若布局正确仍无效,则需重启fcitx5服务、修复GTK/Qt环境变量及DBus会话,并可临时使用Win+.符号面板、fcitx5软键盘或Alt+64输入。

麒麟系统无法输入@符号,通常是因为键盘布局被误设为英式(UK)或其他非美式变体,导致Shift+2映射到下划线(_)而非@,此时即使切换输入法也无效,必须修正系统级物理键盘布局才能恢复标准映射。
确认并强制设置为美式键盘(US)布局
这一步是根本解法,不改布局,所有后续操作都只是临时绕过。
点击任务栏右下角输入法图标→右键→「设置」→进入「语言和区域」→在「首选语言」中点击「英语(美国)」→点击「选项」→检查下方「键盘」列表是否仅剩「美式键盘」;若存在「英式键盘」「中文(GBK)」等其他条目,逐个点击右侧「删除」图标移除。
返回「语言和区域」主页面→点击「添加键盘」→搜索“美式键盘”→选择「美式键盘(US)」→点击「添加」→确保其成为唯一启用的键盘布局。
按 Win + 空格 反复切换,直到任务栏显示明确标识为 ENG US,再测试 Shift + 2 是否输出 @ 符号。
验证输入法框架状态并重启fcitx5
若布局正确但仍无法输入@,说明fcitx5未正常加载前端模块,候选框不弹、状态栏无“中”字、Ctrl+Space无响应,此时需重置服务链。
按 Ctrl + Alt + T 打开终端,执行:ps aux | grep fcitx5 | grep -v grep;若输出为空或仅有 grep 行,证明 fcitx5 进程已退出。
立即执行:killall fcitx5 fcitx5-dbus-wait && fcitx5 & ——注意:末尾的 & 符号不可省略,否则终端将被阻塞,fcitx5 无法转入后台持续运行。
等待3秒后,执行:fcitx5-remote -s;若返回 1,表示切换成功;若报错或无返回,说明DBus会话异常,需进入下一环节。
修复GTK/Qt环境变量与DBus会话
即使fcitx5进程在跑,WPS、VS Code、Chrome等应用仍无法调出输入法,大概率是环境变量未导出,图形应用找不到输入法前端。
在终端中运行:env | grep -E "(GTK_IM_MODULE|QT_IM_MODULE|XMODIFIERS)";正常应输出三行:
GTK_IM_MODULE=fcitx5
QT_IM_MODULE=fcitx5
XMODIFIERS=@im=fcitx5
若任一缺失,执行:echo 'export GTK_IM_MODULE=fcitx5' >> ~/.profile && echo 'export QT_IM_MODULE=fcitx5' >> ~/.profile && echo 'export XMODIFIERS=@im=fcitx5' >> ~/.profile。
使变量立即生效:source ~/.profile。
验证DBus会话是否就绪:loginctl show-session $(loginctl | grep "seat0" | awk '{print $1}') -p Type | grep -q "wayland\|x11" && echo "OK" || echo "broken";若输出 broken,则执行:systemctl --user restart dbus && sleep 2,再重试 fcitx5-remote -s。
使用替代路径临时输入@符号
方法一:调用系统符号面板
光标置于任意可编辑文本框→按 Win + . →顶部切换至「符号」标签页→在搜索框输入 at →点击出现的 @ 符号插入。
方法二:启用fcitx5软键盘
右键任务栏fcitx5图标→「软键盘」→「符号大全」→切换至「标点符号」页签→找到 @ 并单击插入。
方法三:Alt码输入(仅限X11会话)
确保 Num Lock 已开启→按住 Alt 键→在小键盘依次输入 64→松开 Alt 键→@ 即插入。

















