2008年9月29日 星期一

Ubuntu 裡面惱人的中文目錄名稱

不知道在那個 Ubuntu 版本開始的
一些目錄名稱都變成了中文的
每次在開 Gnome-Terminal 使用時
都要使用中文輸入法才能進去用
要不然就是在 Nautilus 一個一個把名稱改掉
這樣才會反應到整個 Gnome 的環境中
剛剛發現了一個比較優雅的解決方法
就是在 GDM 底下選擇英文語系登入
[選項]->[選取語言]
[英文(美國)]->[改變語言]
然後登入 Gnome 之後會出現

順便把 [Don't ask me this again] 然後再按下 [Update Names]
在登出 Gnome 然後登入 Gnome
原本沒有檔案的中文目錄會被自動刪除
再把中文目錄下的檔案都搬移到相對的英文目錄中
就可以把中文目錄刪除掉了

2008年9月24日 星期三

利用程式碼註解來達成 #if #else #endif 的效果

下面這段 C 語言的程式碼
#include <stdio.h>

int main()
{
    //*/
    printf("If\n");
    /*/
    printf("Else\n");
    //*/
    return 0;
}
效果相當於
#include <stdio.h>

int main()
{
#if 1
    printf("If\n");
#else
    printf("Else\n");
#endif
    return 0;
}
如果把第一個註解改成 /*/ 後
#include <stdio.h>

int main()
{
    /*/
    printf("If\n");
    /*/
    printf("Else\n");
    //*/
    return 0;
}
效果就相當於
#include <stdio.h>

int main()
{
#if 0
    printf("If\n");
#else
    printf("Else\n");
#endif
    return 0;
}
這個小技巧也可以應用在其他可以使用 // /**/ 當作註解的程式語言

像是 Java 沒有 macro 可以使用,遇到 JNI 這類的東西,系統上就一定要安裝相關的 native library 才可以使用 JNI,如果在 JNI 上面加上一層空殼再搭配這樣的技巧就可以快速地在 native function 與 pseudo function 之間切換。

改寫之前寫過的 JNI - Java Native Interface
class HelloWorld
{
    // If '/*/' use native, '//*/' use pseudo.
    //*/
    public int[][] multiply(int A[][], int B[][]) { return null; }
    /*/
    public native int[][] multiply(int A[][], int B[][]);
    static
    {
        System.loadLibrary("HelloWorldImp");
    }
    //*/

    public static void main(String[] args)
    {
        HelloWorld test = new HelloWorld();
        int[][] A = new int[5][5];
        int[][] B = new int[5][5];
        int[][] result = test.multiply(A, B);
        System.out.println(result[0][0]);
    }
}
如果只是要開發一些跟 JNI 功能無關的 Java 程式部份,又不想要安裝或是無法安裝那些相依的 native library 的時候就很方便了。 ^o^

2008年9月23日 星期二

網路印表機設定 : Ricoh Aficio 2022

  1. 首先到 http://www.linuxprinting.org/show_printer.cgi?recnum=Ricoh-Aficio_2022pxlmonoCustom PPD 檔案下載回來準備等一下使用
  2. 接下來打開 GNOME 裡面的印表機設定 [系統] -> [管理] -> [列印]
  3. 選擇 [新印表機]

  4. 找到 Ricoh Aficio 2022 192.168.1.50 後點選下一頁

  5. 選取 [Provide PPD file] 使用剛剛下載回來的 PPD
  6. 然後把 [Bypass Tray] 手動送紙匣 跟 [Duplex Unit] 雙面列印 都打開後就選取 [下一頁]
  7. 然後為印表機取個名稱再選取 [套用] 就可以了
  8. 最後設定完成的樣子


2008年9月19日 星期五

手動在 GNOME 中建立 Eclipse 的選單圖示

目前官方的最新版本是 Eclipse 3.4 (Ganymede)
可是在 Ubuntu Hardy 8.04.1 下面預設的 Eclipse 版本只有到 3.2.2
$ apt-cache policy eclipse
eclipse:
已安裝:(沒有)
  候選:3.2.2-5ubuntu2
  版本表格:
     3.2.2-5ubuntu2 0
        500 http://tw.archive.ubuntu.com hardy/universe Packages
於是就到官方網站上面直接下載 eclipse-java-ganymede-linux-gtk.tar.gz
解開後會出現一個 eclipse 的目錄
然後再增加一個檔案 ~/.local/share/applications/eclipse.desktop
[Desktop Entry]
Name=Eclipse
Exec=/home/user/eclipse/eclipse
Icon=/home/user/eclipse/plugins/org.eclipse.platform_3.3.100.v200806172000/eclipse48.png
Terminal=false
Type=Application
Categories=Development;
StartupNotify=true
這樣就可以在不影響系統環境的情況下建立一個自己使用的 Eclipse 3.4 的選單圖示囉~ ^o^

apt-cache showpkg pidgin

突然想要找出自己裝的 pidgin 到底是從那邊來的
於是找到了
$ apt-cache showpkg pidgin
Package: pidgin
Versions:
1:2.5.0-0ubuntu2~hardy1 (/var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-backports_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-backports_main_binary-i386_Packages
                  MD5: 8022320837ec3a36f994ce51f4055429

1:2.4.1-1ubuntu2.1 (/var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-updates_main_binary-i386_Packages)
 Description Language:
                 File: /var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy-updates_main_binary-i386_Packages
                  MD5: 8022320837ec3a36f994ce51f4055429

1:2.4.1-1ubuntu2 (/var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy_main_binary-i386_Packages)
 Description Language:
                 File: /var/lib/apt/lists/tw.archive.ubuntu.com_ubuntu_dists_hardy_main_binary-i386_Packages
                  MD5: 8022320837ec3a36f994ce51f4055429
原來在 Ubuntu Hardy 上面我裝的 Pidgin 2.5.0 是來自 hardy-backports 這個 Ubuntu 更新啊~
[系統]->[管理]->[軟體來源] 當中的 [更新] 就可以找到 [不受支援的更新 (hardy-backports)]
打開後才可以直接在 Ubuntu Hardy 上面安裝 Pidgin 2.5.0
不過目前的 Pidgin 最新版本應該是 2.5.1 才對
可以到 GetDeb 下載安裝 http://www.getdeb.net/search.php?keywords=pidgin