ubuntu : Sublime Text 3沒法輸入中文

1).保存下面的代碼到文件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);
    }linux

  安裝 C/C++ 的編譯環境和 gtk libgtk2.0-devsublime-text

sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev

  2).將上一步的代碼編譯成共享庫libsublime-imfix.so,命令
    cd ~
    gcc -shared -o libsublime-imfix.so sublime_imfix.c  `pkg-config --libs --cflags gtk+-2.0` -fPICbash


  3).而後將libsublime-imfix.so拷貝到sublime_text所在文件夾
    sudo mv libsublime-imfix.so /opt/sublime_text/
  4).修改文件/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的中文輸入
  5).爲了使用鼠標右鍵打開文件時可以使用中文輸入,還須要修改文件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"
    注意:
    修改時請注意雙引號"",不然會致使不能打開帶有空格文件名的文件。
    此處僅修改了/usr/share/applications/sublime-text.desktop,但能夠正常使用了。
    opt/sublime_text/目錄下的sublime-text.desktop能夠修改,也可不修改。app

    通過以上步驟咱們能在Sublime中輸入中文了。ui

相關文章
相關標籤/搜索