解决Ubuntu下sublime中不能输入中文的问题

解决Ubuntu下sublime中不能输入中文的问题

Ubuntu下安装sublime后,不能输入中文,而在其他软件中能正常输入,这是sublime的bug,解决方案是在通过shell在每次运行sublime前自动添加一个动态修正库,解决过程如下:

进入某个目录如~:

cd

新建一个C源代码

subl 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);
}

在能编译之前可能需要安装依赖包,通过以下命令完成:

sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev

然后编译C文件:

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

接下来在每次运行sublime程序之前告诉程序链接上这个.so库文件即可在sublime中输入中文,其命令是LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "[email protected]",其中/opt/sublime_text/是sublime安装的默认目录。命令行的subl还是Dash的Sublime Text,或是文件浏览器里的open with> sublime text,他们都能启动sublime程序,但不必寻找他们的启动入口,而后一一改之。他们都依赖于执行/opt/sublime_text/sublime_text,利用此特点,将/opt/sublime_text/sublime_text二进制另存,之后写个名为/opt/sublime_text/sublime_text的shell脚本,其中实现在执行新建此shell脚本以前的/opt/sublime_text/sublime_text二进制之前,告诉程序链接.so修正库文件。过程如下:

cd /opt/sublime_text/

sudo mv sublime_text sublime_text0

sudo vim sublime_text    # 不熟悉vim者亦可sudo gedit sublime_text

在一行内写入以下语句后保存:

LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text0 "[email protected]"

sudo chmod +x sublime_text

至此应该可以在sublime中输入中文了。

时间: 2024-10-06 21:44:58

解决Ubuntu下sublime中不能输入中文的问题的相关文章

解决Ubuntu下QtCreator中不能输入中文的问题

解决方法: 1.安装fcitx-frontend-qt5 sudo apt-get install fcitx-frontend-qt5 2.复制libfcitxplatforminputcontextplugin.so到qtcreator安装目录中 // 1.找到fcitx-frontend-qt5安装路径 dpkg -L fcitx-frontend-qt5 // 我的安装路径为:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputconte

【转】解决Ubuntu下Sublime Text 3无法输入中文

前言 sublime很好用,但是ubuntu下不能输入中文,这是一个很大的问题.不知道为什么开发着一直也不解决,好在还是有高手在,总能找到方法.网上方法很多,但是也很乱,现在我将自己的经验总结一下. 首先,我参考了好几篇文章,都是蛮不错的,先列出来: sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题.可用这个的强烈推荐用这个 完美解决 Linux 下 Sublime Text 中文输入:讲的比较明白,也可用参考. Ubuntu下Sublime Text 3

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

前言 sublime非常好用,可是ubuntu下不能输入中文,这是一个非常大的问题.不知道为什么开发着一直也不解决,好在还是有高手在.总能找到方法. 网上方法非常多,可是也非常乱,如今我将自己的经验总结一下. 首先,我參考了好几篇文章.都是蛮不错的.先列出来: sublime-text-imfix:首先推荐这种方法.最简单.可是在我的系统上有些问题. 可用这个的强烈推荐用这个 完美解决 Linux 下 Sublime Text 中文输入:讲的比較明确.也可用參考. Ubuntu下Sublime

Ubuntu安装Sublime Text并输入中文

Sumblime Text3是一款传说中的神级代码编辑器,具有下面特点: 1.代码高亮,自己主动补全 2.各种插件扩展 3.外观简洁舒适 4.跨平台(Windows,Linux,OS X) 简而言之就是一款让人爱不释手的编辑器.事不宜迟,立即介绍下怎样在Ubuntu中安装它并使其能输入中文 測试环境:Ubuntu Kylin 14.04 步骤: 1.安装搜狗输入法 2.安装sublime text3 3.安装package control(非必须,但推荐安装) 4.改动sublime_imfix

完美解决ubuntu下sublime中文输入问题

声明 1.本人整理文章,转载请注明出处. 2.参考资料 http://my.oschina.net/tsl0922/blog/113495 问题描述 在ubuntu下想使用sublime,但是不能输入中文,很尴尬啊,参考了一位中国大神的方法,再针对自己实际情况修改,成功了,哈哈. 使用环境 Ubunt Kylin 14.04, sublime text 2, 搜狗输入法. 解决方法 1. 保存下面的代码为sublime_imfix.c 1 /* 2 sublime-imfix.c 3 Use L

Ubuntu菜鸟入门(十八)————解决Ubuntu下Sublime Text 3无法输入中文

一.下载我们需要的文件,打开终端,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 二.将subl移动到/usr/bin/,并且将sublime-imfix.so移动到/opt/sublime_text/(sublime的安装目录) cd ~/sublime-text-imfix sudo cp ./lib/libsublime-imfix.so /opt/sublime_text/ sudo cp ./src/sub

Ubuntu下搜狗拼音突然无法输入中文的解决办法

搜狗输入法前段时间还可以正常使用,突然今天无法输入中文了.这种情况在Ubuntu中非常常见,可能的原因有3个:1.可能依赖有问题.2.配置文件出错了.3运行出错,需要重新启动一下. 因为我的这个是突然出现的问题,我判断应该是配置文件的问题. 解决办法如下: 1.在-/ 的目录下有一个隐藏文件夹 .config,在打开文档管理器,路径选择到-下,按下ctrl+h就可看到隐藏文件夹了 2.进入.config文件夹,在里面可以看到sogouPY,sogouPY.users,sougou-qimpane

解决qt5在ubuntu下无法调用fcitx输入中文的问题

如题,在以前安装qt5.2.1的时候就遇到了这个问题.当时上网搜了很多资料,结果都解决不了,发现都是复制来复制去. 这次因为要用qt5.3.0在ubuntu下写个程序,所以不解决这个问题不行了.就继续上网查资料 后来发现稍微靠谱点的就是下面这个方法 但是添加过源之后安装libfcitx-qt5-0提示找不到安装包,于是我就自己进了http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/pool/main/f/fcitx-qt5/ 这个链接去下载lib

ubuntu15.10下sublime text3 无法输入中文解决办法

原文链接:http://geek.csdn.net/news/detail/44464 1.首先保证你的电脑有c++编译环境 如果没有,通过以下指令安装 sudo apt-get install build-essential sudo apt-get install libgtk2.0-dev 2.在-目录新建一个名为sublime-imfix.c的文件 内容如下: #include <gtk/gtkimcontext.h> void gtk_im_context_set_client_wi