Ubuntu14.4下Sublime Text 3无法输入中文解决方法
<p>本教程是向大家介绍Ubuntu14.4下Sublime Text 3无法输入中文解决方法,不是很难,方法很实用,同时感谢原创作者LunnLew的分享,希望这篇教程对大家有所帮助!</p>
<p>
工具/原料</p>
<p>
Ubuntu14.04</p>
<p>
搜狗输入法 for Linux</p>
<p>
Sublime text 3</p>
<p>
已知前置条件</p>
<p>
本经验目前在Ubuntu14.04环境下,已有搜狗输入法 for Linux和Sublime Text 3的情况下安装成功。</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/002e692beda0c253b9aa6edd4cf3b8cb.jpg" width="500"></p>
<p>
1</p>
<p>
保存下面的代码到文件sublime_imfix.c(位于~目录)</p>
<p>
#include <gtk gtkimcontext.h=""></gtk></p>
<p>
void gtk_im_context_set_client_window (GtkIMContext *context,</p>
<p>
GdkWindow *window)</p>
<p>
{</p>
<p>
GtkIMContextClass *klass;</p>
<p>
g_return_if_fail (GTK_IS_IM_CONTEXT (context));</p>
<p>
klass = GTK_IM_CONTEXT_GET_CLASS (context);</p>
<p>
if (klass->set_client_window)</p>
<p>
klass->set_client_window (context, window);</p>
<p>
g_object_set_data(G_OBJECT(context),"window",window);</p>
<p>
if(!GDK_IS_WINDOW (window))</p>
<p>
return;</p>
<p>
int width = gdk_window_get_width(window);</p>
<p>
int height = gdk_window_get_height(window);</p>
<p>
if(width != 0 && height !=0)</p>
<p>
gtk_im_context_focus_in(context);</p>
<p>
}</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/3282c56b5b4a8595bf1a97840a1199a4.jpg" width="500"></p>
<p>
2</p>
<p>
将上一步的代码编译成共享库libsublime-imfix.so,命令</p>
<p>
cd ~</p>
<p>
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/351771a31e45605761a4838cb900378f.jpg" width="500"></p>
<p>
3</p>
<p>
然后将libsublime-imfix.so拷贝到sublime_text所在文件夹</p>
<p>
sudo mv libsublime-imfix.so /opt/sublime_text/</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/c065a41e0771bcef5c836b910e8de708.jpg" width="500"></p>
<p>
4</p>
<p>
修改文件/usr/bin/subl的内容</p>
<p>
sudo gedit /usr/bin/subl</p>
<p>
将</p>
<p>
#!/bin/sh</p>
<p>
exec /opt/sublime_text/sublime_text "$@"</p>
<p>
修改为</p>
<p>
#!/bin/sh</p>
<p>
LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@"</p>
<p>
此时,在命令中执行subl将可以使用搜狗for linux的中文输入</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/af6be2a7b1ab7fde942bc145b5b44198.jpg" width="500"></p>
<p>
5</p>
<p>
为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容。</p>
<p>
命令</p>
<p>
sudo gedit /usr/share/applications/sublime_text.desktop</p>
<p>
将中的字符串</p>
<p>
Exec=/opt/sublime_text/sublime_text %F</p>
<p>
修改为</p>
<p>
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text %F"</p>
<p>
将中的字符串</p>
<p>
Exec=/opt/sublime_text/sublime_text -n</p>
<p>
修改为</p>
<p>
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text -n"</p>
<p>
将中的字符串</p>
<p>
Exec=/opt/sublime_text/sublime_text --command new_file</p>
<p>
修改为</p>
<p>
Exec=bash -c "LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text --command new_file"</p>
<p>
注意:</p>
<p>
修改时请注意双引号"",否则会导致不能打开带有空格文件名的文件。</p>
<p>
此处仅修改了/usr/share/applications/sublime-text.desktop,但可以正常使用了。</p>
<p>
opt/sublime_text/目录下的sublime-text.desktop可以修改,也可不修改。</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/658e94b5d8d930c78cf562d81f963357.jpg" width="500"></p>
<p>
6</p>
<p>
经过以上步骤我们能在Sublime中输入中文了。</p>
<p align="center">
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" alt="Ubuntu14.4下Sublime Text 3无法输入中文解决方法" align="" border="0" src="https://zhuji.jb51.net/uploads/img/202305/276b1c558d14f4decfadbff4b5f0ba90.jpg" width="500"></p>
頁:
[1]