转载:Ubuntu14.04安装Sublime Text 3--解决无法使用搜狗中文输入法

前端之家收集整理的这篇文章主要介绍了转载:Ubuntu14.04安装Sublime Text 3--解决无法使用搜狗中文输入法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

原文地址

不用多说,Sublime Text是最受开发者欢迎的编辑器之一,清新的界面和强大的插件,你值得拥有哦~下面小指简单介绍一下在Ubuntu下安装Sublime Text 3的过程:
首先到官网上下载Ubuntu的安装包:下载
然后用命令 sudo dpkg -ivh 安装包 安装
如果觉得麻烦,直接拷贝下面的命令安装最新3083版吧:
For Ubuntu 32位:
cd/tmpwgethttp://c758482.r82.cf2.rackcdn.com/sublime-text_build-3083_i386.debsudodpkg-isublime-text_build-3083_i386.deb
For Ubuntu 64位:
cd/tmpwgethttp://c758482.r82.cf2.rackcdn.com/sublime-text_build-3083_amd64.debsudodpkg-isublime-text_build-3083_amd64.deb
注意:实际安装路径会在/opt/sublime_text/
安装完成后发现无法在Sublime输入中文,而小指使用的输入法是 搜狗For Linux输入法
解决办法:
保存下面的代码文件sublime_imfix.c,命令: cd ~ && gedit 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);
}

拷贝保存即可~

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

cd~
gcc-shared-olibsublime-imfix.sosublime_imfix.c`pkg-config--libs--cflagsgtk+-2.0`-fPIC

有些童鞋无法编译,出现错误

Nopackage'gtk+-2.0'foundsublime_imfix.c:1:30:fatalerror:gtk/gtkimcontext.h:没有那个文件或目录
#include<gtk/gtkimcontext.h>

需要先安装必要的依赖:

sudoapt-getinstalllibgtk2.0-dev
安装完成后重新编译,可以了吧~

然后将libsublime-imfix.so拷贝到sublime_text所在文件夹,命令:

cd~
sudomvlibsublime-imfix.so/opt/sublime_text/

修改Sublime的命令/usr/bin/subl内容:

sudogedit/usr/bin/subl

文件内容

#!/bin/shexec/opt/sublime_text/sublime_text"$@"

替换修改为:

#!/bin/shLD_PRELOAD=/opt/sublime_text/libsublime-imfix.soexec/opt/sublime_text/sublime_text"$@"

完成后,在命令行中执行 subl 重启Sublime ,就可以使用搜狗For Linux的中文输入法了~

继续图形界面快捷方式sublime_text.desktop的修改

sudogedit/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.soexec/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.soexec/opt/sublime_text/sublime_text-n"

将[Desktop Action Document]字段下的字符串:

Exec=/opt/sublime_text/sublime_text--commandnew_file

替换修改为:

Exec=bash-c"LD_PRELOAD=/opt/sublime_text/libsublime-imfix.soexec/opt/sublime_text/sublime_text--commandnew_file"

注意: 修改时请注意双引号”“,否则会导致不能打开带有空格文件名的文件。 完成替换后重启Sublime Text,就可以使用搜狗For Linux输入法输入中文了~

猜你在找的Ubuntu相关文章