Ubuntu 16.04 64位 Sublime build3114 不支持搜狗输入法的解决方案
2016-07-01 22:28
666 查看
Copyright 2016 by 蔡舒啸 保持署名-非商业性使用-相同方式共享 Creative Commons BY-NC-ND 3.0
目录
更新目前Sublime 3 build3114 版本的插件功能在Ubuntu 1604上无法使用请尝试Sublime 2或Ubuntu 1404
第一步 - 新建文件sublime_imfixc
第二步 - 安装c语言编译器
第三步 - 编译文件sublime_imfixc生成插件
第四步 - 用libsublime-imfixso启动 Sublime
第五步 - 修改命令行下 subl 命令的启动器启动时自动加载插件
第六步 - 修改右键菜单和侧边栏 Sublime 的启动器启动时自动加载插件
我的系统环境:
以下步骤亲测可用:
在编辑器中输入,按 Ctrl-S 保存后退出编辑器:
期间,可能需要确认是否安装c语言,一路回车就行
在当前目录下就多了一个文件 libsublime-imfix.so
其中,
进入一个空白的 Sublime 编辑器,切换成搜狗输入法 Ctrl+空格
可以输入中文了!
虽然有点小bug,输入框不跟着光标移动
显示
subl: /usr/bin/subl
输入下面的命令(直接复制黏贴避免打错字),回车(可能需要输入开机密码),打开文件 /usr/bin/subl
假设第三步中,插件的路径是 /home/foo/libsublime-imfix.so
在文件 /usr/bin/subl 的第一行加入后,保存退出编辑器:
现在通过终端的命令
可以打开 Sublime 并且支持搜狗输入法
请打开终端(快捷键Ctrl+Alt+T),输入以下命令,回车(可能需要输入开机密码):
这里是已经改完的一份 /usr/share/applications/sublime_text.desktop:
注意: 这里假设第三步编译的插件位于 /opt/sublime_text/libsublime-imfix.so
目录
更新目前Sublime 3 build3114 版本的插件功能在Ubuntu 1604上无法使用请尝试Sublime 2或Ubuntu 1404
第一步 - 新建文件sublime_imfixc
第二步 - 安装c语言编译器
第三步 - 编译文件sublime_imfixc生成插件
第四步 - 用libsublime-imfixso启动 Sublime
第五步 - 修改命令行下 subl 命令的启动器启动时自动加载插件
第六步 - 修改右键菜单和侧边栏 Sublime 的启动器启动时自动加载插件
更新:目前Sublime 3 build3114 版本的插件功能在Ubuntu 16.04上无法使用,请尝试Sublime 2或Ubuntu 14.04
参考http://my.oschina.net/daleyjh/blog/151457我的系统环境:
Ubuntu 16.04 64位 Sublime build3114 搜狗输入法v2.0.0.0070(编译时间2016-05-27)
以下步骤亲测可用:
第一步 - 新建文件sublime_imfix.c
打开终端(快捷键Ctrl+Alt+T),输入下面这条命令,按回车键,打开编辑器gedit sublime_imfix.c
在编辑器中输入,按 Ctrl-S 保存后退出编辑器:
#include <gtk/gtkimcontext.h> void gtk_im_context_set_client_window (GtkIMContext *context, GdkWindow *window) { GtkIMContextClass *klass; g_return_if_fail (GTK_IS_IM_CONTEXT (context)); klass = GTK_IM_CONTEXT_GET_CLASS (context); if (klass->set_client_window) klass->set_client_window (context, window); g_object_set_data(G_OBJECT(context),"window",window); if(!GDK_IS_WINDOW (window)) return; int width = gdk_window_get_width(window); int height = gdk_window_get_height(window); if(width != 0 && height !=0) gtk_im_context_focus_in(context); }
第二步 - 安装c语言编译器
打开终端(快捷键Ctrl+Alt+T),输入下面2条命令(可能需要输入开机密码),回车sudo apt-get install build-essential sudo apt-get install libgtk2.0-dev
期间,可能需要确认是否安装c语言,一路回车就行
第三步 - 编译文件sublime_imfix.c,生成插件
打开终端(快捷键Ctrl+Alt+T),输入下面的命令(直接复制黏贴避免打错字),回车gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
在当前目录下就多了一个文件 libsublime-imfix.so
第四步 - 用libsublime-imfix.so启动 Sublime
打开终端(快捷键Ctrl+Alt+T),输入下面的命令(直接复制黏贴避免打错字),回车LD_PRELOAD=./libsublime-imfix.so subl
其中,
subl是启动 Sublime 的命令
进入一个空白的 Sublime 编辑器,切换成搜狗输入法 Ctrl+空格
可以输入中文了!
虽然有点小bug,输入框不跟着光标移动
第五步 - 修改命令行下 subl 命令的启动器,启动时自动加载插件
打开终端(快捷键Ctrl+Alt+T),输入下面的命令(直接复制黏贴避免打错字),回车,搜索 Sublime 启动器位置whereis subl
显示
subl: /usr/bin/subl
输入下面的命令(直接复制黏贴避免打错字),回车(可能需要输入开机密码),打开文件 /usr/bin/subl
sudo gedit /usr/bin/subl
假设第三步中,插件的路径是 /home/foo/libsublime-imfix.so
在文件 /usr/bin/subl 的第一行加入后,保存退出编辑器:
#!/bin/sh export LD_PRELOAD=/home/foo/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
现在通过终端的命令
subl
可以打开 Sublime 并且支持搜狗输入法
第六步 - 修改右键菜单和侧边栏 Sublime 的启动器,启动时自动加载插件
为了使用鼠标右键打开文件时,或通过左侧侧边栏的 Sublime 图标打开时,能使用中文输入,还需要修改文件 /usr/share/applications/sublime_text.desktop 的内容请打开终端(快捷键Ctrl+Alt+T),输入以下命令,回车(可能需要输入开机密码):
sudo gedit /usr/share/applications/sublime_text.desktop
这里是已经改完的一份 /usr/share/applications/sublime_text.desktop:
注意: 这里假设第三步编译的插件位于 /opt/sublime_text/libsublime-imfix.so
[Desktop Entry] Version=1.0 Type=Application Name=Sublime Text GenericName=Text Editor Comment=Sophisticated text editor for code, markup and prose Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F" #Exec=/opt/sublime_text/sublime_text %F Terminal=false MimeType=text/plain; Icon=sublime-text Categories=TextEditor;Development; StartupNotify=true Actions=Window;Document; [Desktop Action Window] Name=New Window #Exec=/opt/sublime_text/sublime_text -n Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n" OnlyShowIn=Unity; [Desktop Action Document] Name=New File #Exec=/opt/sublime_text/sublime_text --command new_file Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file" OnlyShowIn=Unity;
相关文章推荐
- Ubuntu 默认壁纸历代记
- Ubuntu Remix Cinnamon 20.04 评测:Ubuntu 与 Cinnamon 的完美融合
- 关于Ubuntu 11.10启动提示waiting for the network configuration的问题
- 在 Ubuntu 桌面中使用文件和文件夹
- ubuntu下chrome无法同步问题解决
- Ubuntu Linux使用体验
- 使用 GNOME 优化工具自定义 Linux 桌面的 10 种方法
- 以Ubuntu 9.04为例 将工作环境迁移到 Linux
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- 从USB安装Ubuntu Server 10.04.3 图文详解
- Ubuntu 15.04 正式版发布下载
- Linux-Ubuntu 10.04安装Cadence-ic610 方法总结图解
- Ubuntu 12.04和Windows 7双系统安装图解
- Ubuntu /home下中文目录如何修改成英文?
- 开机出现:grub rescue的修复方法
- Ubuntu连接Android真机调试
- 你应该选择 Ubuntu 还是 Fedora?
- 100 个最佳 Ubuntu 应用(中)
- 看看我的Ubuntu Linux截图
- Ubuntu 12.04 LTS服务器版安装过程及使用图解