萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統安裝與使用 aMsn 聊天工具完整指南:編譯 Tcl/Tk、套用中文輸入補丁

前言

aMsn 是 Linux 平台下一款功能強大的 MSN 即時通訊工具。自 0.95 版本發布後,它支援攝影機傳輸與檔案傳輸等功能,體驗遠勝於 gaim。本文將詳細記錄在 Fedora Core 3 環境下從零開始編譯安裝 aMsn 的完整過程,特別針對中文輸入這一難點提供解決方案。

安裝前的必要條件

在開始之前,請確備齊以下檔案與工具:

  1. gcc 編譯工具及相關開發類庫。若編譯過程中出現錯誤,請自行搜尋並安裝對應的開發套件。
  2. tcl8.5a3-src.tar.gz
  3. tk8.5a3-src.tar.gz
    以上兩個原始碼包均可從 Tcl/Tk 官方網站下載。
  4. amsn-0.95.tar.gz
    aMsn 的 SourceForge 頁面提供了 bin、rpm 等多種版本,甚至有針對 Fedora 的預編譯 rpm 包。但本指南推薦使用原始碼編譯方式。在列表中選擇「other」,下載 amsn-0.95.tar.gz。
  5. tk-cvs-xim-fixes.diff(中文輸入補丁)
    下載地址:https://jserv.sayya.org/tcl-i18n/tk-cvs-xim-fixes.diff
    特別感謝 jserv 對 aMsn 中文輸入功能的貢獻。

安裝步驟

一、準備工作

將上述所有檔案下載後,放在 /home 目錄下。

二、移除系統舊版 Tcl/Tk

為避免版本衝突,建議先卸載系統自帶的 Tcl 和 Tk:

[root@localhost ~]# rpm -qa | grep tcl
tcl8.4*****
[root@localhost ~]# rpm -e tcl
[root@localhost ~]# rpm -qa | grep tk
tk8.4*****
[root@localhost ~]# rpm -e tk

若卸載 Tcl 時提示有其他套件依賴於它,且這些套件對你而言不重要,可先將其移除;否則可使用 rpm -e --nodeps tcl 強制卸載。

三、解壓原始碼

[root@localhost home]# tar xvzf tcl8.5a3-src.tar.gz
[root@localhost home]# tar xvzf tk8.5a3-src.tar.gz

四、套用中文輸入補丁

在編譯 Tcl/Tk 之前,需要先套用 jserv 提供的 XIM 補丁:

[root@localhost home]# patch -p0 < tk-cvs-xim-fixes.diff

此補丁主要修改了兩個檔案:

  • generic/tkEvent.c:在 InvokeInputMethods 方法中,將 XFilterEvent 的觸發條件限定於 KeyPress 和 KeyRelease 事件,確保中文輸入法事件能被正確處理。
  • unix/tkUnixEvent.c:調整 X 事件佇列的轉移邏輯,讓 KeyPress 和 KeyRelease 事件在 Tk_HandleEvent 中進行過濾,而非在此處直接丟棄,從而讓 Tk 的焦點管理代碼能正確轉向這些事件。

五、編譯與安裝 Tcl

[root@localhost home]# cd tcl8.5a3
[root@localhost home]# cd unix
[root@localhost home]# ./configure --prefix=/usr \
--enable-gcc \
--disable-threads \
--disable-shared
[root@localhost home]# make clean
[root@localhost home]# make
[root@localhost home]# make install

六、編譯與安裝 Tk

[root@localhost home]# cd ../tk8.5a3
[root@localhost home]# cd unix
[root@localhost home]# ./configure --prefix=/usr \
--enable-gcc \
--disable-threads \
--disable-shared \
--enable-xft \
--disable-symbols
[root@localhost home]# make clean
[root@localhost home]# make
[root@localhost home]# make install

七、建立關鍵符號連結

以下兩個連結非常重要,請務必執行:

[root@localhost home]# ln -s /usr/bin/wish8.5 /usr/bin/wish
[root@localhost home]# ln -s /usr/bin/tclsh8.5 /usr/bin/tclsh

八、編譯與運行 aMsn

[root@localhost home]# tar xvzf amsn-0.95.tar.gz
[root@localhost home]# cd amsn-0.95
[root@localhost home]# ./configure --with-tcl=/usr/lib && make clean && make

編譯完成後,即可運行 aMsn,大功告成!

注意事項

aMsn 開發語言為 Tcl/Tk,對中文的支援本身並非強項。0.95 版本需要 Tcl/Tk 8.4 以上版本,因此舊版的 Tcl/Tk 8.3 XIM 補丁已不再適用。套用上述 jserv 的補丁是解決中文輸入問題的關鍵步驟。在整個安裝過程中,如遇編譯錯誤,請根據錯誤訊息搜尋並安裝對應的依賴套件。

copyright © 萬盛學電腦網 all rights reserved