天天看点

解决Sublime Text 2在Ubuntu 14.04系统下不能输入中文

Sublime Text 2在Ubuntu 14.04系统下的安装

  1. 到Sublime Text 2官网下载对应系统版本的tar.gz文件

    注意: 64位系统也可以下载32位的tar.gz文件,而事实上,如果下载64位的tar.gz文件不能执行,换成32位的即可

  2. 解压缩该tar.gz文件

    tar zxvf Sublime\ Text\ 2.tar.gz

  3. 由于官网的目录结构中包含空格(不知道他们怎么想的), 做一些配置的时候,容易出错,所以重命名该目录

    mv Sublime\ Text\ 2 Sublime2

  4. 把重命名后的目录移动到/opt目录下

    sudo mv Sublime2 /opt/

  5. 在/usr/bin目录下建立Sublime Text 2的软链接,使其被加入到$PATH中

    cd /usr/bin

    sudo ln -s /opt/Sublime2/sublime_text sublime

  6. 建立到Unity Launcher的链接

    通过命令

    sudo sublime /usr/share/applications/sublime.desktop

    打开或新建sublime.desktop文件

    拷贝以下内容到该文件中

    [Desktop Entry]

    Version=2.0.1

    Name=Sublime Text 2

    # Only KDE 4 seems to use GenericName, so we reuse the KDE strings.

    # From Ubuntu’s language-pack-kde-XX-base packages, version 9.04-20090413.

    GenericName=Text Editor

    Exec=sublime

    Terminal=false

    Icon=/opt/Sublime2/Icon/48x48/sublime_text.png

    Type=Application

    Categories=TextEditor;IDE;Development

    X-Ayatana-Desktop-Shortcuts=NewWindow

    [NewWindow Shortcut Group]

    Name=New Window

    Exec=sublime -n

    TargetEnvironment=Unity

至此,Sublime Text 2可以在命令行和Unity Launcher中启动了

此时,也是问题出现的地方,Sublime无法输入中文,真是非常郁闷.

解决Sublime Text 2在Ubuntu 14.04系统下不能输入中文

  1. 将一下代码保存到/home/$USER/sublime-fixim.c文件中

    sublime-imfix.c

  2. 安装C\C++编译环境和gtk libgtk2.0-dev开发库

    sudo apt-get install build-essential

    sudo apt-get install libgtk2.0-dev

  3. 进入到保存sublime-fixim.c文件的目录/home/$USER/中,编译共享库

    gcc -shared -o libsublime-imfix.so sublime_imfix.c

    pkg-config --libs --cflags gtk+-2.0

    -fPIC
  4. 把编译好的共享库移动到$Sublime的目录中去,也就是/opt/Sublime2

    mv libsublime-imfix.so /opt/Sublime2

  5. 在Terminal中输入命令

    cd /opt/Sublime2

    LD_PRELOAD=./libsublime-imfix.so ./sublime_text

  6. 至此,Sublime Text2中已经可以输入中文,但是需要更改 /usr/share/applications/sublime.desktop文件,使其在Unity Launcher中也能启动.

    所以删除sublime.desktop中的内容,把下面的代码拷贝到sublime.desktop文件中

    [Desktop Entry]

    Version=2.0.1

    Name=Sublime Text 2

    # Only KDE 4 seems to use GenericName, so we reuse the KDE strings.

    # From Ubuntu’s language-pack-kde-XX-base packages, version 9.04-20090413.

    GenericName=Text Editor

    Exec=bash -c ‘LD_PRELOAD=/opt/Sublime2/libsublime-imfix.so sublime’ %F

    Terminal=false

    Icon=/opt/Sublime2/Icon/48x48/sublime_text.png

    Type=Application

    Categories=TextEditor;IDE;Development

    X-Ayatana-Desktop-Shortcuts=NewWindow

    [NewWindow Shortcut Group]

    Name=New Window

    Exec=bash -c ‘LD_PRELOAD=/opt/Sublime2/libsublime-imfix.so sublime’ -n

    TargetEnvironment=Unity

DONE