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

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

解决Ubuntusublime中不能输入中文的问题

Ubuntu下安装sublime后,不能输入中文,而在其他软件中能正常输入,这是sublimebug,解决方案是在通过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

 

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 "$@"

sudo chmod +x sublime_text

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

1楼二球悬铃木
ubuntu环境版本14.04

相关内容推荐