解决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

你可能感兴趣的:(ubuntu,sublimetext,中文输入)