顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2005年3月11日

[Linux] Debian on My ThinkPad R40 (8) - 建立 Qt + Python + PyQt 的環境

這比前一篇 [Windows] 建立 Windows 下的 Qt + Python + PyQt 的環境來得簡單多了。一行指令就可以搞定了:
sudo apt-get install python-qtext
其它的套件都會按相依性自動裝上。

開 python 直譯器實驗一下:
from qt import *
如果沒有錯誤訊息,那大概就沒問題了。

頂多是再裝個 qt3 的公用程式,一切就很完美了:
sudo apt-get install qt3-designer qt3-assistant qt3-qtconfig

如果要跑 eric3 的話,一樣是先下載 eric3,然後:
tar zxvf eric-3.6.2.tar.gz
cd eric-3.6.2
python install.py
eric3
就可以看到 eric3 正常執行無誤了。


閱讀全文 ...

2005年1月17日

[Linux] Debian on My ThinkPad R40 (7) - 與 Zaurus 以 USB Net 連接

拿到 Zaurus 近兩個星期,第一次使用 USB 連接線。想說試著與 Debian 連接,結果大出意料之外,遠比想像中容易。

把 USB 線連接兩頭之後,第一個反應是查 /var/log/messages,結果多了下面這一段:
localhost kernel: usb 2-1: new full speed USB device using address 2
localhost kernel: usb 2-1: control timeout on ep0in
localhost kernel: usb 2-1: control timeout on ep0in
localhost kernel: usb 2-1: new full speed USB device using address 3
localhost usb.agent[3818]: usbnet: loaded successfully
localhost kernel: usb0: register usbnet at usb-0000:00:1d.1-1, Sharp Zaurus, PXA-2xx based
localhost kernel: usbcore: registered new driver usbnet
顯然是 hotplug 有測到 Zaurus,而且是 usbnet。用 ifconfig -a 查,多了一項 usb0 的裝置:
usb0    Link encap:Ethernet HWaddr ??:??:??:??:??:??
    BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
所以我的工作只剩設定 usb0 而已。試了幾次,我在 /etc/network/interfaces 中加了個 logical interface:
iface zaurus inet static
    address 192.168.129.1
    netmask 255.255.255.0
    network 192.168.129.0
    broadcast 192.168.129.255
    up echo "1" > /proc/sys/net/ipv4/ip_forward
    up iptables -t nat -A POSTROUTING -o eth0 -s 192.168.129.201 -j MASQUERADE
    down iptables -t nat -D POSTROUTING -o eth0 -s 192.168.129.201 -j MASQUERADE
    down echo "0" > /proc/sys/net/ipv4/ip_forward
然後用:
ifup usb0=zaurus
ping 192.168.129.201
結果回應正常。

在 Zaurus 上用 ping,結果只有 192.168.129.1 有回應。查 route table,少了 default gateway,所以下指令:
route add default gw 192.168.129.1 dev usbd0
之後,ping 的回應正常。可是用 opera 仍無法上網,查 /etc/resolve.conf,name server 只有 127.0.0.1,所以加兩行:
nameserver 168.95.1.1
nameserver 168.95.192.1
大功告成。Zaurus 可以用 USB 透過 Debian 連上網路了。
192.168.129.1 (PC) 及 192.168.129.201 (Zaurus) 這兩個特定 IP 是前一陣子上網亂看 Zaurus 的資料發現的,不過不記得是在那看到的。



閱讀全文 ...

2005年1月14日

[Linux] Debian on My ThinkPad R40 (6) - userspace 掛載網芳

試了好久才試出來,在 userspace 掛載網路芳鄰的分享區。幾個重點:

  • /etc/fstab: 大概長這樣
    # <file system> <mount point> <type> <options> <dump> <pass>
    //host/share /mount/point smbfs rw,users,noauto,credentials=filename,codepage=950,iocharset=big5 0 0
  • filename 檔案下記載 username 及 password,格式是這樣:
    username = aaa
    password = bbb
  • 其中的 users 若寫成 user,則使用者只能掛載,不能卸載。

  • filename 的權限沒一定的限制,只要使用者讀得到就可以。

  • /mount/point: 使用者要是 owner。

另外,以 debian 掛上 zaurus 的 samba server 後,試著用 "許功蓋" 的檔名,沒有問題。
卸載有時會有 "device is busy" 的回應而無法卸載。可用 "lsof" 指令查何者正佔用中,或者用 "ps ax" 查有無 "konqueror" 佔用。


閱讀全文 ...

2005年1月11日

[Linux] Debian on My ThinkPad R40 (5) - 無線網路的設定

為了實驗 Zaurus 與 Debian 間透過無線網路同步,所以試著在我的 R40 的 Debian 系統上建立無線網路 ad-hoc 模式的 NAT 環境 (透過 AP 的話,移動性就降低了)。主要有下列三個目標:
  • 建立檔案層級的同步,Zaurus 上的檔案可以備份到 Debian 上。
  • 建立類似 PALM Desktop 的 Install Tool 工具,進行程式的自動安裝。
  • 在沒有 AP 的情形下,Zaurus 可以透過 Debian 無線上網。
前兩項目標打算利用 wireless + rsync + ipkg 完成,第三項則只要有 ad-hoc 的 NAT 環境就行了。實作的方式依預想該沒有問題,但實際的作法還要嘗試。今天只有完成 Debian 上的無線 ad-hoc NAT 環境。

在我的 R40 上使用的是一張二手非 Intel 非 IBM 的 Mini PCI 無線網卡,基本上我也不清楚是什麼廠家製造。但在 Windows 下找到的型號是 "Toshiba Wireless LAN Mini PCI Card",在 Linux 下也會自行載入 orinoco 的模組而正常驅動。
基本下須手動執行的有下列數項:
  1. 系統未預設安裝 wireless-tools,須先安裝:
    sudo apt-get install wireless-tools

  2. 用 iwconfig 指令查出無線網卡的 interface:
    /sbin/iwconfig

    基本上從輸出的結果很容易就可以判定是何者。我的無線網卡的 interface 是 eth2。

  3. 設定網路環境,編輯 /etc/network/interfaces,加入下列的 logical interface (請參考 Debian 參考手冊 - 網路設定):
    iface mfhsieh-r40 inet static
      address 10.1.1.1
      netmask 255.255.255.0
      network 10.1.1.0
      broadcast 10.1.1.255
      wireless_mode ad-hoc
      wireless_essid XXXXX
      wireless_channel A
      wireless_key restricted s:YYYYYYYYYYYYY
      wireless_power on
      up echo "1" > /proc/sys/net/ipv4/ip_forward
      up iptables -t nat -A POSTROUTING -o eth0 -s 10.1.1.2 -j MASQUERADE
      down iptables -t nat -D POSTROUTING -o eth0 -s 10.1.1.2 -j MASQUERADE
      down echo "0" > /proc/sys/net/ipv4/ip_forward

    其中各行的意義如下:
    • iface mfhsieh-r40 inet static: 建立 logical interface "mfhsieh-r40",採靜態的配置。

    • 從 address 到 broadcast 行:即一般的網路設定。因我的 lan 是 192.168.0.0 區段,所以此處選用 10.0.0.0 區段。

    • 從 wireless_mode 到 wireless_power 行:指定採用 ad-hoc 的點對點模式,ESS-ID 為 "XXXXX" (自選命名),選用第 A 個頻道 (1 ~ 11 任選其一),其共用金鑰為 "YYYYYYYYYYYYY" (共 13 個字母),並啟動電源管理模式。

    • up 的兩行:當 logical interface 啟動時,啟動最簡單的 MASQUERADE 防火牆。其中 10.1.1.2 是打算設定在 Zaurus 上的 IP。

    • down 的兩行:當 logical interface 關閉時,關閉原建立的 MASQUERADE 防火牆。

  4. 啟動 logical interface:
    sudo ifup eth2=mfhsieh-r40

    並可用下列指令檢查 eth2 是否正常啟動:
    ifconfig eth2

  5. 再來就是設定 Zaurus 端的網路,都是圖形介面,只要 mode/essid/channel/key 四項都匹配,應該就沒什麼問題。設定完就可以測試 Zaurus 是否可透過 ad-hoc 的 NAT 模式上網了。

  6. 最後是關閉 logical interface:
    sudo ifdown eth2
註:在此是假設原先 /etc/network/interfaces 中即無 eth2 的 physical interface;若有,請自行變化。
其實在 Windows 下也可這樣玩啦!不須要額外的軟體,只要會設定也是可以建立 ad-hoc 的 NAT 環境。雖然 Windows 是圖形介面,可是我常按到頭昏,忘記那個選項該在那裏設定。我覺得在 Debian 下還單純一些,所有的東西在一個檔案中,設定檢查都方便。

在 Windows 下還有幾點令我很困擾,每次明明就設定好了 ad-hoc 的 NAT,第一次總是會連不上,要再搜尋好幾次才能連上;另外如果點對點間接續╱斷開數次,常常連原來的對外網路也掛了。Orz!


閱讀全文 ...

[Linux] Debian on My ThinkPad R40 (4) - 多重開機的設定

上次重裝 debain 後,一直維持在以 debian 為預設開機分割區,但其實比較常用的還是 Windows。把它加工了一下,讓 Windows 為預設開機分割區。

先列出我的磁碟分割 (其實是很簡單的分割):
  1. /dev/hda1: Windows XP (cylinder: 1 ~ 2611)
  2. /dev/hda2: Linux (cylinder: 2612 ~ 3917) (active, grub 安裝於此)
  3. /dev/hda3: W95 Ext'd (LBA) (cylinder: 3918 ~ 9435)
  4. /dev/hda5: FAT32 (cylinder: 3918 ~ 9371)
  5. /dev/hda6: Linux swap (cylinder: 9372 ~ 9435)
主要的工作只有兩項:
  1. 調整 /boot/grub/menu.lst: 把檔案最後的那部份
    title Microsoft Windows XP Professional
    root (hd0,0)
    savedefault
    chainloader +1
    移到下面這一行之前
    # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
    大致上這樣就會以 /dev/hda1 為預設開機分割區了。

  2. 通常為了保險,我也會讓 Windows 的開機管理員可進入 Linux 的分割區。傾印 /dev/hda2 的開機磁區:
    sudo dd bs=512 count=1 if=/dev/hda2 of=bootsect.lnx
    之後把 bootsect.lnx 移到 C:\ 下,並將 C:\boot.ini 最後加入:
    c:\bootsect.lnx="Debian GNU/Linux"


閱讀全文 ...

2005年1月7日

[Linux] Debian on My ThinkPad R40 (3) - joe 及 emacs 的設定檔

Debian 剛建好,編輯器有些不順手的地方,修正如下:
  • joe,加入對 8bit 字碼的支援:
    cat /etc/joe/joerc | sed -e "s/^ -asis/-asis/" > ~/.joerc

  • emacs,改成我慣用的設定檔:
    (custom-set-variables
     '(case-fold-search t)
     '(current-language-environment "Chinese-BIG5")
     '(default-coding-system (quote chinese-big5-dos))
     '(default-input-method "chinese-b5-tsangchi")
     '(global-font-lock-mode t nil (font-lock))
     '(keyboard-coding-system (quote chinese-big5-dos))
     '(show-paren-mode t nil (paren))
     '(transient-mark-mode t))
    (custom-set-faces
     '(default ((t (:background "black" :foreground "white" :height 160 :family "sony-fixed"))))
     '(cursor ((t (:background "white"))))
     '(menu ((((type x-toolkit)) (:height 120 :family "Sans")))))
    (set-terminal-coding-system (quote chinese-big5))


閱讀全文 ...

2005年1月6日

[Linux] Debian on My ThinkPad R40 (2) - 安裝 thinkpad device drivers

本來安裝 "thinkpad device drivers" 的目的,主要是為了安裝 tpctl 後,可以使用其中的 apmiser 來控制 thinkpad 進入 standby 或是 suspend 的模式 (休眠模式以往我就沒成功過),不過這次卻一直沒辦法成功。底下還是把 driver 的安裝方式列出來,希望以後能用到。

  1. 先確定 kernel 的版本
    uname -r

    以我為例,版本是 2.6.8-1-386。為了方便,以後就把 2.6.8 稱作 <ver>。

  2. 安裝套件
    apt-get install kernel-source-<ver> kernel-package fakeroot thinkpad-base thinkpad-source

  3. 解開 source,配置設定檔
    cd /usr/src
    tar zxvf thinkpad.tar.gz
    tar jxf kernel-source-<ver>.tar.bz2
    cd kernel-source-<ver>
    cp /boot/config-`uname -r` .config

  4. 開始編譯
    make-kpkg clean
    make-kpkg --rootcmd=fakeroot modules-image

    執行完後,在 /usr/src 目錄下,就有剛編譯完的 thinkpad-modules。以我為例,編譯出的檔名是:thinkpad-modules-2.6.8_5.8-1+10.00.Custom_i386.deb

  5. 安裝
    dpkg -i /usr/src/thinkpad-modules-2.6.8_5.8-1+10.00.Custom_i386.deb

    但如果檢查 /lib/modules,會發現 thinkpad-modules 可能被錯放位置了。模組應放在 /lib/modules/`uname -r` 處,但卻放在 /lib/modules/<ver> 處。手動把它搬到正確的位置:

    mv /lib/modules/<ver>/thinkpad /lib/modules/`uname -r`

  6. 測試
    depmod -a
    modprobe thinkpad
    lsmod

    應該就可以看到 thinkpad 模組被正確掛載了。

參考資料:"thinkpad-source" 套件的 README.Debian 檔。


閱讀全文 ...

2005年1月5日

[Linux] Debian on My ThinkPad R40 (1) - 初步安裝及調校

自從上次把 R40 的硬碟換成 HGST 5K100 80G 後,原來裝 debian 的那個分割區一直還沒復原。這兩天為了搞 Zaurus SL-C760,想要自已轉換字型,所以又把 debian 裝了起來。用的是網路安裝版 sarge-i386-netinst.iso。iso 檔是以前就下載了,前半用 CD-ROM 安裝的部份大概十幾分鐘就完成了,後半網路下載安裝大概花了一個多鐘頭。

整個程序大致是依 "圖解 Debian 桌面入門" 當中的 5-1 及 5-2 的部份,但我預選了 "桌面環境" 的套件。所以裝完 5-2 後就大致可用了。以下是細部調整的部份。

修改 /etc/apt/sources.list,加入 contrib 及 non-free:
deb ftp://debian.csie.ntu.edu.tw/pub/debian/ testing main contrib non-free
deb-src ftp://debian.csie.ntu.edu.tw/pub/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free

語系修正

/etc/profile 末端加上:
export LANG=zh_TW.Big5
export LC_ALL=zh_TW.Big5
/etc/default/gdm 修改為:
export LANG=zh_TW.Big5

xcin 的設定

/etc/X11/xinit/xinitrc:
export XMODIFIERS="@im=xcin"
xcin &

. /etc/X11/Xsession
/etc/X11/Xsession.d/55gnome-session_gnomerc 最後加上:
export LANG=zh_TW.Big5
export LC_ALL=zh_TW.Big5
export XMODIFIERS="@im=xcin"
exec xcin &

修正 XFree86 的滑鼠設定,讓它支援 TrackPoint 的捲動功能:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Identifier "Generic Mouse"
Driver "mouse"
Option "SendCoreEvents" "true"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Generic Mouse"
EndSection

參考 "Debian 無痛起步法",加入新細明體及 Arial Unicode MS 等字型。
因我通常用 KDE,所以指定 GTK2 的預設字型。~/.gtkrc-2.0:
gtk-font-name = "PMingLiU 12"
另外把 /etc/fonts/fonts.conf 中,有 <family>AR PL ...</family> 的地方,前面都多加一行 <family>PmingLiU</family>,讓新細明體變成優選的替代字型。另外如有看到 Mincho 或是 Gothic 的字型,就將該行移到 <family>AR PL ...</family> 的後面,讓日文字型的優選次序低於中文字型。
進 KDE 的控制中心,把聲音系統設為 OSS。跑 ALSA 系統會沒有聲音。
xcin 的輸入視窗太大,複製 /etc/xcinrc 到 ~/.xcinrc,把所有的 -sony-*-24- 都改為 -sony-*-16-。


閱讀全文 ...