2021-05-12 14:32:11
Ubuntu 14.04下Sublime中不能輸入中文問題的解決
Ubuntu 14.04下安裝sublime後,不能輸入中文,而在其他軟體中能正常輸入,這是sublime的bug,解決方案是在通過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還是Dash的Sublime Text,或是檔案瀏覽器裡的open with> sublime text,他們都能啟動sublime程式,但不必尋找他們的啟動入口,而後一一改之。他們都依賴於執行/opt/sublime_text/sublime_text,利用此特點,將/opt/sublime_text/sublime_text二進位制另存,之後寫個名為/opt/sublime_text/sublime_text的shell指令碼,其中實現在執行新建此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
相關文章