文档章节

ubuntu下解决sublime text3无法输中文问题

姚欣炜
 姚欣炜
发布于 2015/04/07 13:01
字数 345
阅读 3913
收藏 2

一、系统已成功安装搜狗输入法

二、保存下面的代码到文件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

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

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

四、将libsublime-imfix.so拷贝到sublime_text所在文件夹

sudo mv libsublime-imfix.so /opt/sublime_text/

五、修改文件/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 "$@"

此时,在命令中执行 subl 将可以使用搜狗for linux的中文输入

六、为了使用鼠标右键打开文件时能够使用中文输入,还需要修改文件sublime_text.desktop的内容

sudo gedit /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.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"


© 著作权归作者所有

共有 人打赏支持
姚欣炜
粉丝 4
博文 51
码字总数 33914
作品 0
其他
程序员
私信 提问
加载中

评论(2)

姚欣炜
姚欣炜

引用来自“shuaia”的评论

用右键打开有空格的文件试试。打不开额~将sh -c'换成 env 13
咦,你出现这个问题?我这个方法已经用了很久了都还行哦
shuaia
shuaia
用右键打开有空格的文件试试。打不开额~将sh -c'换成 env 13
解决Ubuntu上使用Sublime Text2无法输入中文问题

Sublime Text是一个很好的编码工具,但是有一个蛋疼的问题,就是在Ubuntu是无法输入中文。这个问题终于解决了。。。可以http://my.oschina.net/wugaoxing/blog/121281这篇博客。 我的解决方法...

leaf志良
2013/12/17
0
0
Sublime Text 2/3 输入法(Fcitx)修复[Ubuntu(Debian)]

文章目录 主要目的 更新 注意 使用方法 主要目的 安装 Sublime Text 3 安装 Fcitx 输入法 + 皮肤 修复 Sublime Text 2/3’s 在 Ubuntu(Debian) 系统下的无法输入中文(CJK 字符)输入法的问题 ...

John
06/15
0
0
Ubuntu系统下Sublime Text 2中fcitx中文输入法的解决方法

Ubuntu系统下Sublime Text 2中fcitx中文输入法的解决方法 前几天把Ubuntu升级到了13.04 beta 2,顺便安装了fcitx 搜狗输入法,但是发现在sublime text 2中无法输入中文,之前在ubuntu 12.04....

jackchanxj
2014/02/18
0
0
配置Elementary OS作为工作环境

买了新电脑之后,就换上Elementary OS作为自己的Linux版本。不得不说,Elementary OS确实是我见过的最漂亮的Linux发行版,而且它的panel+dock的设计也很适合用来工作。折腾一番之后终于配置好...

halfcoder
2013/10/12
0
0
在ubuntu下让sublime text3支持中文输入

的别人的文章,找做了一下,特别好使,记下过程备忘 原文地址[Ubuntu 下让sublime-text3支持中文输入法 ][1] 操作步骤如下 1.安装libgtk2.0-dev 2.补丁脚本 sublimeimfix.c新建一个名为subli...

jim19770812
2015/03/25
0
4

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
48分钟前
6
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
今天
4
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
今天
3
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
今天
10
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部