licoded / self-study-drafts

buffer for records
0 stars 0 forks source link

Debian12 安装搜狗输入法 #160

Open licoded opened 10 months ago

licoded commented 10 months ago

Installation

sudo apt-get install fcitx # 注意:不是fcitx5,就是fcitx (实际安装的版本是fcitx version: 4.2.9.9)
sudo apt purge 'fcitx*' # zsh 下需要用单/双引号包裹,匹配识别问题
sudo dpkg -i ~/Downloads/sogoupinyin_4.2.1.145_amd64.deb
sudo apt install -f

Problem1: 无法输入中文字符,但是能够输入全角标点符号

在终端启动 fcitx 后,显示如下的内容:

err: can't open sendmq:-1, mq:50944, /SOGOUPINYIN-SOGOU-IME-IPC-MQ-9999-9999-1000-0
err: can't open sendmq:-1, mq:50944, /SOGOUPINYIN-SOGOU-IME-IPC-MQ-9999-9999-1000-0
/opt/sogoupinyin/files/bin/sogoupinyin-watchdog: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Gui.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-watchdog)
/opt/sogoupinyin/files/bin/sogoupinyin-watchdog: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Widgets.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-watchdog)
/opt/sogoupinyin/files/bin/sogoupinyin-watchdog: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-watchdog)
/opt/sogoupinyin/files/bin/sogoupinyin-watchdog: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-watchdog)
/opt/sogoupinyin/files/bin/sogoupinyin-watchdog: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5DBus.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-watchdog)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Qml.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-service)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5DBus.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-service)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Gui.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-service)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Widgets.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-service)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-service)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/sogoupinyin-service)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Widgets.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouIme.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Gui.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouIme.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouIme.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouIme.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5DBus.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouIme.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5DBus.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouShell.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Gui.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouShell.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouShell.so)
/opt/sogoupinyin/files/bin/sogoupinyin-service: /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5: no version information available (required by /opt/sogoupinyin/files/bin/../lib/libSogouShell.so)
/opt/sogoupinyin/files/bin/sogoupinyin-watchdog: symbol lookup error: /opt/sogoupinyin/files/bin/sogoupinyin-watchdog: undefined symbol: qt_version_tag, version Qt_5.6
/opt/sogoupinyin/files/bin/sogoupinyin-service: symbol lookup error: /opt/sogoupinyin/files/bin/../lib/libSogouShell.so: undefined symbol: qt_version_tag, version Qt_5.6
err: can't open sendmq:-1, mq:50944, /SOGOUPINYIN-SOGOU-IME-IPC-MQ-9999-9999-1000-0
err: can't open sendmq:-1, mq:50944, /SOGOUPINYIN-SOGOU-IME-IPC-MQ-9999-9999-1000-0

参考这篇CSDN博客,覆盖搜狗输入法中的qt5链接库即可

sudo cp /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Qml.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5DBus.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Gui.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Widgets.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Core.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Network.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Network.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Quick.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5QuickWidgets.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Svg.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5Qml.so.5
sudo cp /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 /opt/sogoupinyin/files/bin/../lib/qt5/lib/libQt5XcbQpa.so.5

Problem2: fcitx没有开机自启动

先给出解决办法,方便后面使用,然后再分析原因

解决办法

尝试下面两条命令,然后重新login即可(应该不需要重启)

第1行其实就够用了,但我遇到了后面的权限问题,所以才需要第2行

sudo cp /usr/share/fcitx/xdg/autostart/fcitx-autostart.desktop /etc/xdg/autostart
sudo chmod 755 /usr/bin/fcitx

journalctl --user -b | grep fcitx 查看报错

应该是专门用来查看 /etc/xdg/autostart~/.config/autostart 自启动报错的?

image image image

上图中,从颜色或第一列的权限值可以看出它们的权限不同,所以fcitx没有自启动可能就是权限问题

Note1: 语言设置

最终系统语言仅配置了 American English,没有 Chinese

但中间有添加过 Chinese,后来又删掉的

Note1: system settings 里面没有 input method 设置

sudo apt install kde-config-fcitx # 重启后才生效,才能在system settings里看到