本文我是参考几篇别人写的博客,然后自己总结得到的,希望能对有需要的人有帮助。
Ubuntu 14.04下Sublime_Text3 的安装方式以及不能中文输入的问题解决。
一、sublime text 3 在ubuntu 14.04下的安装过程
1. 首先下载sublime text 3 的tar包
$ wget https://download.sublimetext.com/sublime_text_3_build_3114_x32.tar.bz2
如果你的系统是64位的,则卸载64位的包
$ wget https://download.sublimetext.com/sublime_text_3_build_3114_x64.tar.bz2
你也可以在sublime_text3官网下载最新的安装包,http://www.sublimetext.com/3
2. 解压下载下来的安装包
$ tar xvf sublime_text_3_build_3114_x32.tar.bz2
同样如果是64位的系统,输入以下命令:
$ tar xvf sublime_text_3_build_3114_x64.tar.bz2
3. cd 进入sublime text 3的文件夹,执行 $ ./sublime_text 即可打开
sublime text 3。如果打不开程序,并出现“Unable to excute binary file.Exec format error”,就说明你下载的软件位数与系统位数不一致,如果下的是64位,换成32位的就可以了,重复以上步骤即可。
虽说已经安装好了sublime_text 3,但此时的sublime_text 3 中还不支持中文的输入,下面我们来配置一下sublime_text 3中文输入法的支持。
二、sublime text 3 中文输入的配置问题
1. 首先保证系统已经安装好了搜狗输入法,搜狗输入法在 linux下的安装请自行百度解决
2. 创建一个sublime_imfix.c的c文件(任何目录都可以,最好是在当前目录,便于后面移动操作),保存下面的代码到文件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 libgtk2.0-dev
3. 将上一步的代码编译成共享库libsublime-imfix.so,命令为:
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
4 ) 将libsublime-imfix.so拷贝到sublime_text所在文件夹
sudo mv libsublime-imfix.so ./sublime_text_3/ (这里根据自己sublime_text 3 所放文件夹的路径来确定)
5 ) 修改文件/usr/bin/subl的内容
sudo gedit /usr/bin/subl
将
#!/bin/sh
exec /opt/sublime_text/sublime_text "$@"
修改为
#!/bin/sh
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"
这里的“/opt/sublime_text”是根据自己的sublime_text3的目录来确定的,例如:
/home/lansus2/sublime_text3 这也是可以的。下面出现的这个目录也是同样道理。
注意如果subl文件不存在,则自行创建,创建完成后将上述要修改成的代码复制粘贴进去即可,然后进入 /usr/bin 目录下赋予 subl 文件可执行的权限
sudo chmod +x subl
最后执行命令
subl
命令执行完成后,sublime text 3 会自动弹出并且已经支持中文的输入了!
6. 为了使用鼠标右键打开文件时能够打开sublime_text3以及实现使用中文输入,还需要修改sublime_text3目录中文件 sublime_text.desktop的内容和/usr/share/applications/sublime-text.desktop的内容。
打开sublime_text_3目录下的sublime_text.desktop并修改
sudo gedit ~/sublime_text_3/sublime_text.desktop
将[Desktop Entry]中的字符串
Exec=/opt/sublime_text/sublime_text %F
修改为
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /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.so exec /opt/sublime_text/sublime_text -n"
将[Desktop Action Document]中的字符串
Exec=/opt/sublime_text/sublime_text --command new_file
修改为
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"
再修改/usr/share/applications/sublime-text.desktop(如果没有这个文件,则创建并将上面的sublime-text.desktop中的代码全部复制过来就行了,有的话也全部复制替换,因为修改的地方是一样的)
sudo gedit /usr/share/applications/sublime-text.desktop
这一步执行完后就可以双击文件并选择sublime_text3打开了,而且能够中文输入。
注意:
修改时请注意双引号"",否则会导致不能打开带有空格文件名的文件。
至此,所有步骤都已经结束。这些是参考别人的博客,然后自己摸索这亲自实践过的,希望有所帮助。
有问题和建议希望留言提出或者发邮箱给我,虚心倾听学习!邮箱:1203782828@qq.com