[ 重大新闻 ] 搜狗拼音 sogou_pinyin_linux for openSUSE 发布 0037

UPDATE: 1.0.0.0037 版本

注: 红色线的部分吐槽后被修复掉了.

原文:

坛子里的诸君:

相信大家都已经饥渴难耐了吧.

其实早在发布前 Debian 的 Aron (嗯, 我不太喜欢称之为 Ubuntu Kylin 的 Aron, 原因自己想) 就已经知会了我, 所以发布当晚我就拿到软件了 (你们都是第二天才看到的), 只是当时在准备 Cinnamon 的 2.2 版更新就没有太在意 (真是不分轻重缓急啊). 这次搜狗也好麒麟也好, 经过了上次深度的试水, 都比较的走心, 据说 Aron 每周要在搜狗蹲点调教几天, 所以凭心而论这是一款可以拿来用的软件.

技术内容:

  1. 搜狗拼音 Linux 是基于 Fcitx 输入法框架的. 所以 IBus 的用户可能要失望了.
  2. 它是基于打过补丁的 Fcitx 输入法的 4.2.8 版本的, 所以官网才会有个 Help 要求添加 PPA 装 fcitx-git. 直接影响就是 __ openSUSE 13.1 的 fcitx 是无法支持它的 __ (已解决), 现在只有 M17N 源中的 fcitx 可以配合使用. Fedora 目前还没有这个补丁, 所以间接影响就是这次无法同时支持 Fedora.

之所以会产生这个补丁, 是因为搜狗方面可能觉得 fcitx 原生的 AutoEng 模块和 Punc 模块没有满足它的要求. 所以自行提供了 AutoEng-ng 和 Punc-ng 模块.

  • AutoEng: 自动英文, 比如你打 what, 首选会出现 what 而不是汉字.
  • Punc: 中英文标点切换.

而:

2.1 Fcitx 原生输入法, 比如自带拼音, Sunpinyin, Libpinyin 等无法使用搜狗提供的 autoeng-ng 和 punc-ng 模块.
2.2 搜狗拼音 Linux 也无法使用 Fcitx 原生的 autoeng 和 punc 模块.

因为现在有两个自动英文和标点切换模块, 就产生了动态禁用某一个的需求. 于是需要给 fcitx 打上这个 __ 补丁 .

  1. 它是基于之前深度的 fcitx-sogoupinyin 的, 好多文件夹和文件都是沿袭过来的, 所以它无法和之前的 fcitx-sogoupinyin 一起安装使用.

  2. 它是基于麒麟方面的 lenky 和之前在 SuSE 北京, 现在也在麒麟的 fjkong 孔叔开发的 fcitx-qimpanel 的, 所以同样会产生文件冲突. 好在 openSUSE 下没有打包过 fcitx-qimpanel.

  • fcitx-qimpanel , 简单说就是 QML 写了一个类似 kimpanel 和 fcitx 4.8.3 之后 KDE 下那个托盘界面的界面, 多出来的部分是支持皮肤.

注: 搜狗拼音 Linux 的主题是使用的自己开发的皮肤引擎 (能否直接使用 Windows 下的搜狗皮肤目前我还没有测试), 而非 qimpanel 的这个. 而 qimpanel 的皮肤引擎现在也不支持 fcitx 的原生皮肤. 总结下来就是现在有三种皮肤: fcitx 原生 (如 openSUSE 的默认皮肤), qimpanel 皮肤 (装了搜狗拼音 Linux 后去使用 Sunpinyin, 你就会发现只能使用 qimpanel 自带的那几套 Ubuntu Kylin 的皮肤), 搜狗拼音 Linux 皮肤.

搜狗是肯定不会公开自己的皮肤引擎的, 所以为了避免轮子太多, 下一步我觉得可能应该让 qimpanel 去支持原生皮肤, 同时带来一些新的东西, 比如 flash 皮肤, svg 皮肤, 总之就是利用 Qt 和 QML 去做一些能 " 动" 的皮肤.

  1. 它打包时使用了 libcurl4-openssl, openSUSE 下面需要同时从我的源里更新一下你的 libcurl4 才能正常使用.
  • libcurl 应该主要用于 sogoucloudpinyin 这个 fcitx 模块. libcurl 有两种编译方法, 使用 openssl-devl 编译和使用 gnutls-devel 编译 (就是一个选项开不开的问题). Debian 两种都提供了, Aron 一时没注意使用了 openssl 的版本. 而其它 Linux 发行版多数都使用的是 gnutls 的版本. 所以如果你的发行版没有提供类似 libcurl-openssl 的话, 你暂时与搜狗拼音 Linux 是无缘的. Aron 准备在下周某个时候发布的更新里面使用 gnutls 编译.(常识错误: 大多数发行版都使用的是 openssl 的版本, 只是没开函数库内部 version 标签) __
  1. 适用于 openSUSE 的 RPM 的制作方法依然利用了 openSUSE 下特殊的 update scripts 机制. 这个机制在 fcitx-sogoupinyin 的帖子里我已经说的挺明白的了, 就不再赘述. 其它的 RPM 发行版是没有这个机制的. 所以即使你们自己编译 fcitx, 编译 curl, 再安装 openSUSE 的包, 得到的也只是一个空包, 要去 /var/adm/update-scripts 下, 运行:

./sogou-pinyin-1.0.0.0011-15.1-sogou-pinyin.sh.txt

才会安装. 安装方法非常的不平滑, 但是毕竟也提供了一种可能. 好处是可以通过包管理系统完全卸载. 如果你不需要这种便利, 哈哈, 你仍然无法使用 alien 去转 deb 来用, 因为 deb 里面有几套皮肤是中文的文件夹名, alien 会报错.

安装方法 (以 openSUSE 13.1 为例):

  1. 添加 M17N 源:

    sudo zypper ar -f http://download.opensuse.org/repositories/M17N/openSUSE_13.1/ M17N
    sudo zypper ref

  2. 下面安装 sogou-pinyin

sudo zypper in sogou-pinyin

如果不出意外, 在这里你能看到它:


点击它, 你就会有搜狗输入法了.


8赞




需要注意的是:

  1. 中英文切换是 Shift, Ctrl + Space 有些情况下不好使.
  2. 切换输入法是左边的 Shift + Ctrl, 右边的已知有问题.

点 126 个赞,还有很多皮肤呢。选词要智能很多。是因为有了什么什么云词库么?

1赞

已经更新, 给力!
赞一个
+1024

给力啊。自己用的输入法一直不顺手,试试这个

速度啊,赞之,整理辛苦!!!

教育渣网,OBS 又连不上去了,镜像源还没更新。。。。

下午我才提出需求,晚上吃完饭回来就出来了,神速啊!
感激涕零!

简单看了下,不支持双拼。
不过 linux 下搜狗输入法看起来让人耳目一新啊!

有一点我还没有看明白,sogou-pinyin 应该是自己动手转换的吧

什么是 " 自己动手转换"?

就是 deb 转 rpm

话说我在这两个源里没找到 sougou-pinyin 这个包,只有 fcitx-sogoupinyin 这个包

是不是就该装 fcitx-sogoupinyin 这个包

就是 deb 转 rpm

话说我在这两个源里没找到 sougou-pinyin 这个包,只有 fcitx-sogoupinyin 这个包

是不是就该装 fcitx-sogoupinyin 这个包
啊,我懂了

是我用的 OBS 镜像还没刷新的缘故,就在 M17N 源里

果然出了意外 :question:
启用输入法后,候选列表没有单词,只有这么一句
请启用 fcitx-qimpanel 面板程序,以便更好的享受搜狗输入法!
看设置是启用了,依然是这样

是的.deb 用 /usr/bin/ar -x 就能解压开的啊,剩下的就是制作一个 RPM 的问题了.之所以用 update-scripts 技术是因为 OBS 不让存放闭源商业性质的东西,搜狗肯定是的.说来也简单,就是把文件夹全部 mkdir 建立好,然后把里面的文件全部 touch 好,rpmbuild 就会认为它们是存在的,所以那些文件路径就会被 rpm 管理.然后本地用脚本去填充呗,路径对就能被 rpm 卸载掉.

那是不可能的.你肯定没有点击我截图里面那个搜狗拼音.

或者运行

/usr/bin/fcitx-qimpanel

也是一样的.

我在 konsole 运行了上述命令显示这个,fcitx-qimpanel: /usr/lib64/libcurl.so.4: no version information available (required by fcitx-qimpanel)
我的 fcitx 和 curl 是更新过的


祝贺,虽然我淡定地继续用纯的 fcitx

Okay,下一步的问题就是 fcitx-qimpanel 的开机启动

补充下,个人发现的问题:
fcitx-qimpanel 开机不会自动启动,好想需要自己手动添加到启动去。
搜狗拼音需要这个,否则他没法打字。

在使用中偶尔会崩溃、、没有原声的 fcitx 稳定。
退到 fcitx 了,还是只用搜狗的词库吧。
fcitx-sogoupin