文档章节

Ubuntu下Sublime Text 3解决无法输入中文的方法

zhangsirsdo
 zhangsirsdo
发布于 2014/11/04 16:23
字数 448
阅读 899
收藏 9

环境:

  • Ubuntu14.04

  • 搜狗输入法 for Linux

  • Sublime text 3

提示:编译请在非root下进行

本经验目前在Ubuntu14.04环境下,已有搜狗输入法 for Linux和Sublime Text 3的情况下安装成功。

Ubuntu下Sublime Text 3解决无法输入中文的方法


  1. 保存下面的代码到文件sublime_imfix.c(位于~目录)

    #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);

    }

    Ubuntu下Sublime Text 3解决无法输入中文的方法

  2. 将上一步的代码编译成共享库libsublime-imfix.so,命令

    cd ~

    gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPIC

    Ubuntu下Sublime Text 3解决无法输入中文的方法

  3. 然后将libsublime-imfix.so拷贝到sublime_text所在文件夹

    sudo mv libsublime-imfix.so /opt/sublime_text/

    Ubuntu下Sublime Text 3解决无法输入中文的方法

  4. 修改文件/usr/bin/subl的内容

    sudo gedit /usr/bin/subl

    #!/bin/sh

    exec /opt/sublime_text/sublime_text "$@"

    修改为

    #!/bin/sh

    LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"

    此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入

    Ubuntu下Sublime Text 3解决无法输入中文的方法

  5. 为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容。

    命令

    sudo gedit /usr/share/applications/sublime_text.desktop

    将[Desktop Entry]中的字符串

    Exec=/opt/sublime_text/sublime_text %F

    修改为

    Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F"

    将[Desktop Action 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"

    将[Desktop Action Document]中的字符串

    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"

    注意:

    修改时请注意双引号"",否则会导致不能打开带有空格文件名的文件。

    此处仅修改了/usr/share/applications/sublime-text.desktop,但可以正常使用了。

    opt/sublime_text/目录下的sublime-text.desktop可以修改,也可不修改。

    Ubuntu下Sublime Text 3解决无法输入中文的方法

  6. 6

    经过以上步骤我们能在Sublime中输入中文了。

    Ubuntu下Sublime Text 3解决无法输入中文的方法


© 著作权归作者所有

共有 人打赏支持
zhangsirsdo
粉丝 7
博文 41
码字总数 11805
作品 0
西安
个人站长
解决Ubuntu上使用Sublime Text2无法输入中文问题

Sublime Text是一个很好的编码工具,但是有一个蛋疼的问题,就是在Ubuntu是无法输入中文。这个问题终于解决了。。。可以http://my.oschina.net/wugaoxing/blog/121281这篇博客。 我的解决方法...

leaf志良
2013/12/17
0
0
Ubuntu系统下Sublime Text 2中fcitx中文输入法的解决方法

Ubuntu系统下Sublime Text 2中fcitx中文输入法的解决方法 前几天把Ubuntu升级到了13.04 beta 2,顺便安装了fcitx 搜狗输入法,但是发现在sublime text 2中无法输入中文,之前在ubuntu 12.04....

jackchanxj
2014/02/18
0
0
配置Elementary OS作为工作环境

买了新电脑之后,就换上Elementary OS作为自己的Linux版本。不得不说,Elementary OS确实是我见过的最漂亮的Linux发行版,而且它的panel+dock的设计也很适合用来工作。折腾一番之后终于配置好...

halfcoder
2013/10/12
0
0
Sublime Text 2/3 输入法(Fcitx)修复[Ubuntu(Debian)]

文章目录 主要目的 更新 注意 使用方法 主要目的 安装 Sublime Text 3 安装 Fcitx 输入法 + 皮肤 修复 Sublime Text 2/3’s 在 Ubuntu(Debian) 系统下的无法输入中文(CJK 字符)输入法的问题 ...

John
06/15
0
0
Ubuntu 系统 sublime3 中文输入

转载自 http://doc.polarwin.cn/tutorial/Ubuntusublime3chineseinput.html -------------本文完全复制的上面的文章-------------------- Ubuntu安装sublime3并解决中文输入问题 1 安装 首先...

求学ing
2015/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java日期和时间获取问题

获取年月日时分秒 Calendar cal = Calendar.getInstance();//获取年int year = cal.get(Calendar.YEAR);//获取月,范围是0-11,最后使用需+1int month = cal.get(Cal...

lanyu96
24分钟前
7
0
Ceph学习笔记2-在Kolla-Ansible中使用Ceph后端存储

环境说明 使用Kolla-Ansible请参考《使用Kolla-Ansible在CentOS 7单节点上部署OpenStack Pike》; 部署Ceph服务请参考《Ceph学习笔记1-Mimic版本多节点部署》。 配置Ceph 以osdev用户登录: ...

LastRitter
28分钟前
6
0
OSChina 周二乱弹 —— 老司机表示右手无处安放

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @花间小酌 :分享李宗盛的单曲《鬼迷心窍》--春风再美也比不上你的笑 《鬼迷心窍》 - 李宗盛 手机党少年们想听歌,请使劲儿戳(这里) 每天早...

小小编辑
39分钟前
225
5
复习2

10月22日任务 awk 中使用外部shell变量 awk 合并一个文件 把一个文件多行连接成一行 awk中gsub函数的使用 awk 截取指定多个域为一行 过滤两个或多个关键词 用awk生成以下结构文件 awk用print...

hhpuppy
47分钟前
5
0
原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
62
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部