阅读:1683回复:10

未来的Linux将没有第三方输入法?

楼主#
更多 发布于:2017-08-02 18:39
flatpak是挺热门的技术,它提供了一个通用的包格式,把应用放在一个沙箱中运行,大家明白了吧,像不像android的apk?
但对输入法来说,问题就大了,在android上,输入法是一个单独的进程,它和普通应用的进程之间通过标准的接口连接到一块,所以不存在什么问题。
但是,问题来了,Linux上的输入法有标准的输入法接口吗,答案很明显,没有。如果曾经有过,那么是XIM,但是QT5已经抛弃了对XIM的支持,新的Wayland的出现,也让XIM成为明日黄花。Wayland上当前的输入法支持就是一垃圾,基本不可用,也没有应用或者应用框架支持它。
当前的Linux上的输入法基本上都需要自己实现Gtk输入法模块,QT输入法模块,XIM支持。而在flatpak的世界中前两者都是不可行的,因为flatpak这东西运行会基于一个叫做运行时的东西,比如Gnome运行时,也就是flatpak应用运行时不会调用系统的gtk库,调用的是这个gnome运行时里面的gtk,这样就不会调用第三方输入法的模块,这时第三方输入法自然就不可用了。
解决方法就两个,要么在运行时中打包输入法模块,要么应用打包时把输入法模块也打包进去,但这两者对第三方输入法来说都是不可能的。就算是发行版打算进行调整,也基本不可能,因为运行时是所有发行版通用的,由flatpak的人制作,而不是发行版自己提供(自己提供也行,但第三方应用可不会用你的运行时,就失去了使用flatpak打包的意义)。
当然沙箱技术也会造成很大的影响,应用和系统之间的通信接口是应用打包时就规定好的,第三方应用可不会对每个非标准的输入法接口作出处理。

深度打算把包管理系统切换到flatpak,不是很清楚他们打算怎么处理输入法的问题,很可能是提供自己定制的运行时,打包上他们系统内的输入法模块,但是第三方输入法还是没有什么解决办法。
沙发#
发布于:2017-08-02 22:58
deepin已经开始做自己的输入法框架了:https://github.com/manateelazycat/deepin-input-method

关于这个问题如何解决,还真值得讨论,因为未来ubuntu也要上snap的。


彻底干掉第三方输入法的尝试也不是没有人试过,ChromeOS上,Google就有个很恶心的解决办法,就是Google Input Tools——集成各种样的输入法,把检索引擎放到服务器上连线用。这完全是自作聪明,不能自定义码表,还用个毛线呀。


deepin怎么想的不知道,他们干活儿一直很低调。
板凳#
发布于:2017-08-02 22:59
不过话说回来,Linux的欧美用户群用的都是拼音类文字,根本不需要特别的输入法支持呀。
地板#
发布于:2017-08-02 23:00
CJK群体还是声音太小,CJK输入法支持这种事,估计redhat都没意识到过
4楼#
发布于:2017-08-02 23:13
以前iOS非越狱不能装第三方输入法,WP好像直接不能装第三方输入法。
现在iOS已经完全开放第三方输入法,WP坟头的草都有两米高了。
几乎所有人拿起手机电脑的第一件事,就是装入自己习惯的输入法软件。
毕竟交互无非是input & output,不给输入法放行,恰似玉体横陈,却是石女一个,无法input。
专业的事情,交给专业的应用,在各行各业也都是大势所趋。
CJK用户作为语言学里的特殊分枝,『码表』-『上屏』的第三方输入法支持是非常重要的。
5楼#
发布于:2017-08-03 14:20
在深度的Flatpak内测中,在深度音乐中确实不能打开输入法,管理员说深度的大神已经修复这个问题。
6楼#
发布于:2017-08-03 15:02
https://github.com/flatpak/flatpak/issues/675
这些人只是讨论了对ibus的支持,对其他输入法的支持没戏
7楼#
发布于:2017-08-08 16:56
这应该的深度官方的回复吧
8楼#
发布于:2017-08-08 17:46
fangling:这应该的深度官方的回复吧回到原帖
runtime运行时中不打包模块,输入法作者能怎么办,总不能输入法开发人员打包个运行时给你操作系统用吧
flatpak都沙箱了,输入法开发者能解决通信问题才怪了,那是flatpak技术的严重bug
9楼#
发布于:2017-11-01 14:56
长时间没来看了 ~~
上一页
游客

返回顶部