首頁 > 軟體

Ubuntu 14.04下Sublime中不能輸入中文問題的解決

2020-06-16 17:37:56

Ubuntu 14.04下安裝sublime後,不能輸入中文,而在其他軟體中能正常輸入,這是sublimebug,解決方案是在通過shell在每次執行sublime前自動新增一個動態修正庫,解決過程如下:

進入某個目錄如~:

cd

新建一個C原始碼

subl 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 build-essential
sudo apt-get install libgtk2.0-dev

然後編譯C檔案:

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

接下來在每次執行sublime程式之前告訴程式連結上這個.so庫檔案即可在sublime中輸入中文,其命令是LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text "$@",其中/opt/sublime_text/sublime安裝的預設目錄。命令列的subl還是DashSublime Text,或是檔案瀏覽器裡的open with> sublime text,他們都能啟動sublime程式,但不必尋找他們的啟動入口,而後一一改之。他們都依賴於執行/opt/sublime_text/sublime_text,利用此特點,將/opt/sublime_text/sublime_text二進位制另存,之後寫個名為/opt/sublime_text/sublime_textshell指令碼,其中實現在執行新建此shell指令碼以前的/opt/sublime_text/sublime_text二進位制之前,告訴程式連結.so修正庫檔案。過程如下:

cd /opt/sublime_text/

sudo mv sublime_text sublime_text0

sudo vim sublime_text    # 不熟悉vim者亦可sudo gedit sublime_text

在一行內寫入以下語句後儲存:

LD_PRELOAD=/opt/sublime_text/libsublime-imfix.so exec /opt/sublime_text/sublime_text0 "$@"

sudo chmod +x sublime_text

至此應該可以在sublime中輸入中文了。

 

更多Sublime Text相關資訊閱讀讀

開發者最常用的 8 款 Sublime Text 3 外掛  http://www.linuxidc.com/Linux/2016-02/128719.htm

Ubuntu 安裝程式碼編輯器 Sublime Text 3 (Build 3083)  http://www.linuxidc.com/Linux/2015-03/115534.htm

動圖展示16個Sublime Text快捷鍵用法  http://www.linuxidc.com/Linux/2014-12/110930.htm

Ubuntu 12.10 安裝破解Sublime Text 2 http://www.linuxidc.com/Linux/2013-07/86898.htm

Ubuntu 13.04安裝Sublime Text 2 http://www.linuxidc.com/Linux/2013-05/84228.htm

編碼神器——Sublime Text 包管理工具及擴充套件大全 http://www.linuxidc.com/Linux/2013-10/91701.htm

如何開發 Sublime Text 2 的外掛 http://www.linuxidc.com/Linux/2013-09/90046.htm

Windows Mac Linux下安裝以及破解Sublime Text 2編輯器 http://www.linuxidc.com/Linux/2013-08/89452.htm

文字編輯器Sublime Text 使用體驗 http://www.linuxidc.com/Linux/2013-08/89326.htm


IT145.com E-mail:sddin#qq.com