热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

原文地址不用多说,SublimeText是最受开发者欢迎的编辑器之一,清新的界面和强大的插件,你值得拥有哦~下面小指简单介绍一下在Ubuntu下安装SublimeText3的过程

原文地址

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

#include 
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 -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0-fPIC

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

No package 'gtk+-2.0' foundsublime_imfix.c:1:30: fatal error: gtk/gtkimcontext.h: 没有那个文件或目录
 #include 

需要先安装必要的依赖:

sudo apt-get install libgtk2.0-dev
安装完成后重新编译,可以了吧~

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

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

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

sudo gedit /usr/bin/subl

将文件内容:

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

替换修改为:

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

完成后,在命令行中执行 subl 重启Sublime ,就可以使用搜狗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"

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


推荐阅读
  • Ubuntu下Sublime Text 2的安装
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Sublime Text通过快捷键在浏览器中预览文件
    2019独角兽企业重金招聘Python工程师标准首先说下,我的是SublimeText3,win10。ST有个插件ViewInBrowser可以在 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 官网http:www.sublimetext.com插件https:packagecontrol.io教程SublimeText全程指南SublimeText2入门及技巧Subli ... [详细]
  • SublimeText2(后面简称为subl)是一个很强大的跨平台代码编辑器,要让它更强大起来还需要一番配置。本文涉及的配置如下:设置subl支持命令行启动安装PackageCon ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在AngularJS中,有时需要在表单内包含某些控件,但又不希望这些控件导致表单变为脏状态。例如,当用户对表单进行修改后,表单的$dirty属性将变为true,触发保存对话框。然而,对于一些导航或辅助功能控件,我们可能并不希望它们触发这种行为。 ... [详细]
  • 本文探讨为何Request对象的外观设计被认为是精妙的,重点在于其如何利用门面模式确保数据安全,同时保持系统的高效交互。 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • sublime php 方法,SublimePHPNinJaManual
    软件简介SublimePHPNinJaManual是Sublime中的函数手册提示,中文,其他语言的可以通过命令生成由来自己因为sublime中没有一个 ... [详细]
  • SublimeText未注册版会在保存操作n次之后,弹出注册的提醒框,每次都要手动去点取消,好麻烦,于是用AutoHotKe ... [详细]
  • MacSublimeText3配置汉化、主题、插件等功能,Go语言社区,Golang程序员人脉社 ... [详细]
  • SublimeText手冊關於SublimeText台灣「SublimeText台灣」是由愛好者自行成立與維護的網站,目的在於分享各種SublimeText文字編輯器 ... [详细]
author-avatar
天秤小果冻cici
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有