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

安装GTK库



首先确保您的电脑已经安装了GTK库
执行和如下命令可以查看电脑上是否安装了GTK

pkg-config --modversion gtk+ (查看1.2.x版本)
pkg-config --modversion gtk+-2.0 (查看 2.x 版本)
pkg-config --version (查看pkg-config的版本)
pkg-config --list-all grep gtk (查看是否安装了gtk)
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

如果没有
请参照Ubuntu下安装GTK库安装GTK库
或者执行如下命令安装GTK基本库就行

sudo apt-get install libgtk2.0-dev
  • 1
  • 1

编译动态库



保存以下代码到文件sublime_imfix.c

/**********************************************************
    > File Name: sublime_imfix.c
    > Author: GatieMe
    > Mail: gatieme@163.com
    > Created Time: 2015年04月04日 星期六 20时20分12秒
 **********************************************************/

#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);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

编译成共享库

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

拷贝到/opt/sublime_text目录下

sudo cp libsublime-imfix.so /opt/sublime_text/libsublime-imfix.so
  • 1
  • 1

注意:/opt/sublime_text/不同版本可能有所不同,请调整为自己安装版本的路径
修改/usr/bin/subl文件,在第一行加入:

export LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so
  • 1
  • 1

修改sublime-text.desktop

sudo vim /usr/share/applications/sublime_text.desktop
  • 1
  • 1

参照如下信息进行修改

[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/usr/bin/subl %F        #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

[Desktop Action Window]
Name=New Window
Exec=/usr/bin/subl -n       #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
OnlyShowIn=Unity;

[Desktop Action Document]
Name=New File
Exec=/usr/bin/subl new_file    #这里修改执行路径为/usr/bin/subl,subl文件刚才已经修改过,大家应该记得
OnlyShowIn=Unity;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

修改以上三处代码,保存。Sublime Text 3即可完全正常使用搜狗输入法输入中文

转载:http://blog.csdn.net/gatieme/article/details/44875923

时间: 2024-11-17 16:11:44

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

ubuntu下使用sublime text时如何完美输入中文_Linux

最近根据使用发现,在ubuntu下,安装sublime Text 3 后,无法使用中文输入的问题. 系统为:ubuntu 64位,安装搜狗输入法linux版 解决方法: 1.下载共享库 点击下载 libsublime-imfix.so 2.下载好库后,进入目录执行: LD_PRELOAD=./libsublime-imfix.so subl 等待sublime text 3 启动后,应该已经可以正常输入中文. 3.为了使用方便,还需要做一下配置 不必每次都输入LD_PRELOAD打开sublim

解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享_python

解决方案 搜了一下,找到一个 Linux 下的解决方案,如下所示: 复制代码 代码如下: Sublime Text2 运行pySide/pyQt程序的问题 Ctrl-B后,界面不会弹出来,但是后台进程里面有"python.exe",而且使用print能打印出东西来. 解决方法: 打开$sublimeText_dir/Data/Packages/Python/Python.sublime-build 增加 "shell": "true", 按图索骥

utf-8-跪求各位大神解答!!ubuntu下mysql编码改为utf8之后中文还是乱码

问题描述 跪求各位大神解答!!ubuntu下mysql编码改为utf8之后中文还是乱码 大神们请莫先喷我为何要问这种幼稚问题TAT 情况如下: ubuntu14.04下安装mysql5.5(最简单的安装方法:apt-get install...) 考虑到mysql默认编码为latin,会出现中文乱码,所以按照网上的方法修改了 my.cnf 如下: 之后重启mysql,查看了编码 本以为一切搞定,事与愿违,我试了试插入中文的字段,结果乱码 在workbench中也是这样 apply之前: appl

ubuntu15.04下sublime text不能输入中文的解决

原因是由于中文输入法的输入焦点不能插入sublime的输入窗口中,需要使用代码强制插入输入焦点. 代码是cjacker 君提供的,可以看原始的讨论帖子: http://www.sublimetext.com/forum/viewtopic.php?f=3&t=7006&start=10#p41343 1.保存代码到文件sublime_imfix.c /* sublime-imfix.c Use LD_PRELOAD to interpose some function to fix sub

解决Sublime Text 3编写CSS输入分号时自动提示的问题

自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onLayout源码详尽分析 自定义View系列教程04–Draw源码分析及其实践 自定义View系列教程05–示例分析 自定义View系列教程06–详解View的Touch事件处理 自定义View系列教程07–详解ViewGroup分发Touch事件 自定义View系列教程08–滑动冲突的产生及其处理

ubuntu下qq经常崩溃解决方法

ubuntu下qq经常会卡死 升级wine方法如下:  代码如下 复制代码 sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine 重新安装qq.问题迎刃而解.  

Sublime Text 2 安装支持GBK中文

安装Sublime Package Control非常简单,在Sublime Text 2上用Ctrl+-打开控制台并在里面输入以下代码,或者是官方提供的代码.Sublime Text 2就会自动安装Package Control. import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exist

解决focusky无法输入中文的方法

  Focusky 是一款非常好用的多媒体演示制作工具,该软件已经发布受到了许多用户的青睐,不过一些用户在使用Focusky 制作文件时,却出现无法输入中文的问题,对于该问题很多用户都束手无措,故此小编为大家带来了Focusky 输入中的方法,需要的用户赶快试试吧! 原因分析: 如果用户在使用Focusky 中不能出现输入中文的话,那么就有可能是用户所使用的英文字体不支持中文造成的,故此我们可通过下述方法进行解决! 解决方法: 1.首先打开我们的软件,选择右边文本选项,或者按快捷键T,在字体选项

解决centos5.5 中文乱码方法总结

今天用vmware安装centos 5.5 一路跑完,发现中文全是小方框,特以记录: 1.先下载中文字体包 1 #yum install fonts-chinese.noarch 2 # yum install fonts-ISO8859-2.noarch 2.修改/etc/sysconfig/i18n文件  #LANG="en_US.UTF-8" 为 LANG="zh_CN.GB18030" 重启后还是显示乱码,很是郁闷,后来发现是缺少中文字体(我们可百度去下载一