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

目录
相关文章
|
20天前
|
前端开发 JavaScript Linux
Sublime Text 3配置Go语言开发环境
【4月更文挑战第13天】本篇文章 Huazie 向大家介绍使用 Sublime Text 3搭建Go语言开发环境,并演示编译运行 Go语言代码
49 8
Sublime Text 3配置Go语言开发环境
|
4月前
|
Ubuntu Linux Windows
两种Ubuntu和Windows互相共享文件夹的方法
两种Ubuntu和Windows互相共享文件夹的方法
|
4月前
|
Ubuntu Shell 数据安全/隐私保护
百度搜索:蓝易云【Ubuntu密码忘记怎么办 Ubuntu重置root密码方法】
完成上述步骤后,Ubuntu系统的root密码应该已经被成功重置为你设置的新密码。请确保在重置密码后牢记新密码。
51 0
|
3天前
|
开发框架 前端开发 C#
Sublime Text 3配置 C# 开发环境
【5月更文挑战第2天】本篇 Huazie 介绍了 Sublime Text 3 配置 C# 的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。
28 7
Sublime Text 3配置 C# 开发环境
|
5天前
|
C++
Sublime Text 3 解决中文乱码问题
【5月更文挑战第1天】本篇介绍 Sublime Text 3 解决中文乱码问题,不仅仅适用于 C/C++ 代码,也适用于其他任何 Sublime Text 3 集成的开发环境。
44 5
Sublime Text 3 解决中文乱码问题
|
11天前
|
Ubuntu Unix Linux
|
11天前
|
API 开发工具 C++
【专栏:工具与技巧篇】使用代码编辑器(VS Code/Sublime Text)提升开发效率
【4月更文挑战第30天】在VS Code与Sublime Text两大流行代码编辑器中,开发者可借助其高效特性提升编程效率。VS Code拥有丰富的插件生态、内置Git集成、强大的调试工具、智能提示和多文件导航功能。Sublime Text则以其轻量级、快速响应、多光标编辑及自定义构建系统见长。学习编辑器的键盘快捷键、自定义配置、使用内置终端以及键绑定和宏,将助开发者进一步提高开发效率。选择适合自己的编辑器并不断适应新技术是提升开发工作流的关键。
|
12天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu启动宝塔的方法是什么
宝塔面板应该已经成功启动,并且你可以使用它来管理你的服务器和网站。请确保你已经安装并配置了宝塔面板,以便在启动后进行管理。
19 1
|
16天前
|
前端开发 JavaScript 开发工具
Sublime Text 3配置C/C++开发环境
【4月更文挑战第15天】本篇 Huazie 介绍了 Sublime Text 3 配置 C/C++ 的相关内容,感兴趣的朋友赶紧配置起来,有任何问题可以随时评论区沟通。
36 1
Sublime Text 3配置C/C++开发环境
|
5月前
|
Ubuntu 数据可视化 Linux
Ubuntu下载、安装QGIS软件的方法
Ubuntu下载、安装QGIS软件的方法