Ubuntu下編譯飛鴿傳書(IPMsg)

來源:互聯網
上載者:User
飛鴿傳書在區域網路中是一個非常常用的軟體,它只要是文字交流和檔案傳送(支援檔案夾),無需伺服器支援,跨平台(Win/Mac/UNIX/Java)且免費開源。在windows下它只有一個可執行檔且有中文版,簡單易用。不過在linux下要使用就沒那麼方便了,需要自己編譯,而且編譯的時候還錯誤多多。不過今天總算是勉強的把它編譯通過並看起來它是可以正常使用了。
1. 首先下載源碼包,解壓。然後將po/potfiles.in重新命名為POTFILES.in(大寫字母)。因為我編譯的時候提示找不到這個檔案。
2. 編輯src/codeset.c,將第24行 #define IPMSG_PROTO_CODE    "cp932" 修改為 #define IPMSG_PROTO_CODE    "GBK",以使飛鴿支援中文。
3. 編輯src/hostinfo.c,將第1344和1345行 if ( ( (cipher_state & RSA_CAPS) == 0)  ||  ( (cipher_state & SYM_CAPS) == 0) ){ 替換為 if ( cipher_state == 0 ){ 。因為我在make的時候提示RSA_CAPS和SYM_CAPS兩個變數未聲明,我也看不懂這兩個變數代表什麼,所以直接把它去掉算了。還好去掉之後編譯通過了,目前使用起來似乎也一切正常。
4.終端中進入到g2ipmsg-0.9.3目錄後,執行
       ./configure --prefix=/usr --sysconfdir=/etc --enable-systray  //最後一個參數是讓飛鴿傳書運行時出現在通知區域
5.configure結束後,繼續執行 make 。
6.make完之後,執行 sudo make install 。

在最後這三步中,有可能會提示缺少依賴包,根據情況用goole搜尋一下包的名字大概就知道需要安裝哪些包來滿足依賴關係了。我在編譯過程中就出現了不少,如下:
libgnomeui-dev 用於解決 No package 'libgnomeui-2.0' found
libpanelappletmm-2.6-dev 用於解決 No package 'libpanelapplet-2.0' found
libgtk2.0-dev 用於解決 No package 'gtk+-2.0' found
下面的包是備用的(編譯時間沒有提示,但我自己在編譯的過程中曾經安裝過),如果提示缺少相似的包的話可以先安裝再重新編譯:
build-essential 編譯環境
gettext
intltool

make install 結束之後,飛鴿就可以使用了,命令是 g2ipmsg。編譯完後直接運行會提示段錯誤,只有 sudo g2ipmsg 才能正常運行。不過重啟之後直接執行 g2ipmsg 就可以正常啟動了。

介面組圖。雖然是英文版,不過只要使用過windows下的中文版或者有一點點英文功底的都可以很容易的就上手。雖然比windows版會少一些比較細微地方的設定,但主要功能完全具備,不影響使用。enjoy!
主介面

列表顯示設定

全域設定(喜好設定)

收到訊息

接收檔案

===================================
據說ubuntu下安裝libssl-dev 可以解決那個make錯誤的問題哦!有空試一下吧;)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.