剛剛在更新pcscd時莫名其妙無線就打不開了
問題在於更新到一半居然將我的/etc/network/interfaces內容全砍了
只好手動把內容加回去了 :(
1. 先將wlan叫起來sudo ifconfig wlan0 up
2. 查看wlan訊息sudo iwconfig
3. 搜尋APsudo iwlist wlan0 scanning
4. 設定無線AP的SSIDsudo iwconfig wlan0 essid your_ssid
5. 連線sudo iwconfig wlan0 key your_wep
6. 取得ipdhclient wlan0
7. 開機啟動設定,更改/etc/network/interfacesauto wlan0
iface wlan0 inet dhcp
wireless-essid your_ssid
wireless-key your_wep
8. 重新啟動網路sudo /etc/init.d/networking restart
9. 安裝網路管理套件
這裡推薦WICD套件sudo apt-get install wicd
寫到這邊網路就復活啦~~ :)
2009年10月20日 星期二
莫名其妙的無線網路
2009年10月4日 星期日
2009年9月28日 星期一
Ubuntu 9.04 SCIM當機
在ubuntu 9.04下,scim經常會當機
似乎是scim對目前視窗失去焦點,因此必須對視窗調整大小,
才能在重新取得焦點,這在開發軟體時是一件非常令人厭煩的事情。
1.安裝scim-bridge$ apt-get install scim-bridge-client-gtk
2.修改 /etc/X11/xinit/xinput.d/scim將 GTK_IM_MODULE=xim 修改為 GTK_IM_MODULE="scim-bridge"
3.重新開機
2009年8月27日 星期四
如何使用makesis
1. cd c:\symbian\carbide\workspace\
2. makesis
3. 若出現Error Cannot find file : ../../../../epoc32/release/
gcce/urel/
可修改.pkg檔,將找不到檔案的相對路徑改成絕對路徑即可
2009年8月1日 星期六
變更軟體更新伺服器
就在昨天要裝一套軟體,無意間發現軟體更新伺服器掛了,台灣地區預設是連上tw.archive.ubunut.com,只好手動換台伺服器了。
1.設定軟體更新伺服器系統>管理>軟體原始碼>ubuntu軟體
選擇下載伺服器,也可測試自動選擇最佳的伺服器來源。
2.匯入金鑰
在執行軟體更新時若遇上W: GPG error: http://ppa.launchpad.net jaunty Release: 由於無法取得它們的公鑰,以下簽章無法進行驗證: NO_PUBKEY 6AF0E1940624A220
可手動指定匯入公鑰sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 6AF0E1940624A220
2009年7月31日 星期五
遠端連線Postgresql
有時架站要跑得服務與資料庫是在不同機器上,這時跑服務的機器就必須透過TCP/IP來存取資料庫,而SQL通常預設只允許在本地端存取,Postgresql也不例外,因此必須透過一點小設定將遠端存取的功能打開。
1.修改pg_hba.confsudo vim /etc/postgresql/8.3/main/pg_hba.conf
新增一行存取規則host all all 0.0.0.0/0 password
參數1:host表遠端存取,local表本機端存取
參數2:設定可存取的Database
參數3:設定可存取的使用者
參數4:設定可存取之網域,此設定全部網域皆可存取
參數5:trust表不需認證,password表示需要密碼
2.修改postgresql.conf取消註解並設定為 listen_addresses ='*'
取消註解並設定為 port=5432
3.重新啟動資料庫sudo /etc/init.d/postgresql-8.3 restart
2009年7月29日 星期三
resize inode not valid
今天莫名其妙的在開機過程中遇上filesystem error
整個系統當在那邊,只秀出小小一行resize inode not valid
只好輸入Ctrl+D後登入root,進行硬碟修復
1.硬碟修復sudo fsck
一直按yes直到結束,再重開機就修復完成。
使用CVS@Eclipse
CVS是一個專案開發的版本控制器,它有什麼用呢?!通常一個專案由多人共同開發,成員間所修改的程式版本必須分類,避免衝突發生,也因此必須藉由CVS來統一管理版本。
為什麼獨自開發程式的我,會大費周張的去建立CVS呢!?!?
事出必有因!!就在昨天我在迷迷糊糊的狀態下,不小心把舊版的程式碼覆蓋過去了 (頓時心中的os:#$%@#%!$@# ),為了避免同樣的窘況,還是該好好學一下這套工具
1. 安装 cvs$ sudo apt-get install cvs
2. 安装 cvsd
$ sudo apt-get install cvsd
3. 建立專案集工作區$ sudo mkdir /var/lib/cvsd/myrepos
4. 初始化工作區$ sudo cvs -d /var/lib/cvsd/myrepos init
5. 設定cvsd的專案集使用者認証方式。$ sudo gedit /var/lib/cvsd/myrepos/CVSROOT/config
加入以下設定SystemAuth=no
*注意這裡的/tmp/myrepos是只相對於RootJail的路徑。
PamAuth=no
LockDir=/tmp/myrepos
6. 新增LockDir$ sudo mkdir /var/lib/cvsd/tmp/myrepos
7. 新增CVS帳號$ sudo cvsd-passwd /var/lib/cvsd/myrepos cvsuser
8. 編輯cvsd設定檔 $sudo gedit /etc/cvsd/cvsd.conf
RootJail /var/lib/cvsd
Repos /myrepos
Listen 192.168.2.2 2401
注意Listen預設值是 Listen * 2401,但若用預設值似乎無法bind位址,所以位址
必須指定明確的ip址。
9. 設定目錄權限 $ sudo chown cvsd:cvsd /var/lib/cvsd -R
10.重新啟動cvsd $sudo /etc/init.d/cvsd restart
11.將專案放置/var/lib/cvsd/myrepos
這樣就可以用你的開發工具連上cvs作備份或版本管理了 :)
12.測試CVS連線$cvs -d :pserver:cvsuser@localhost:/myrepos login
$cvs -d :pserver:cvsuser@localhost:/myrepos checkout
13.新增CVS專案@Eclipse
"File->New->Project"選擇"Projects form CVS",點選Next
13.選擇CVS儲藏庫
選擇"Create a new repository location",點選Next
14.設定CVS伺服器
Host:192.168.2.2
Repository path:/myrepos
user:cvsuser
pasword:密碼
connection type:pserver
15.選擇遠端專案
選擇"use an existing module",選則要開發的專案。
16.設定本地端專案名稱
選擇"checkout as project in the workspace"
project name:本地端專案名稱
點選下一步直到完成。
17.專案提交/更新
提交專案:"專案按右鍵->Team->commit"
更新專案:"專案按右鍵->Team->update"
ubuntu 9.04安裝FlashPlugin
ubuntu 9.04版似乎已經將FlashPlugin加入軟體頻道,以後要看youtube再也不是難事
1.安裝flashplugin
sudo apt-get install flashplugin-installer
2.安裝flashblock
sudo apt-get install flashblock
因為Firefox上若開過多的flash會莫名其妙使得Loading飆升,所以只好暫時將flash擋下來,直到使用者按下play才將flash載入。
消失的chkconfig
2009年7月27日 星期一
Firefox加速密技
用了Ubuntu那麼久總覺得Firefox的效率不甚理想,相較於Windows版的可說是天差地別,直到最近無意間翻到一篇改善效率的文章,主要方法就是將存取頻繁Cache移到RamDisk上。
方法一
1建立Ramdisk
例如要放在/tmp/cache,大小128MB。可編輯/etc/fstab,加上tmpfs /tmp/cache tmpfs size=128M 0 0
掛載快取磁區sudo mkdir /tmp/cache
2.設定FireFox的cache資料夾
sudo mount -a
在Firefox網址列中輸入about:config
右鍵>新增>字串,名稱輸入browser.cache.disk.parent_directory,內容輸入快取的放置位置/tmp/cache
方法二
在Ubuntu中有內建快取磁區/dev/shm,這個磁區是系統內建的而且可動態的調整大小所以不必考慮容量問題,想要看系統中有無這個磁區,可以輸入mount|grep /dev/shm即可得知。若有內建快取磁區,只要在Firefox中只要將快取位置設為/dev/shm即可。
2009年7月24日 星期五
解決MP3 TAG亂碼
在Linux下通常使用的編碼通常是UTF-8,所以若mp3 tag編碼是big5就會發生亂碼,在這裡有一個好用的軟體Easy TAG能夠處理這種惱人的狀況。
1.安裝Easy TAGsudo apt-get install easytag
2.掃描mp3
打開EasyTAG選擇所要得資料夾,EasyTAG會自動掃描所有的MP3檔。
3.設定讀取編碼
進入"設定>偏好設定>ID3標籤設定>讀取ID3標籤所用的字元集"設定為BIG5。
3.變更編碼
選擇所要變更的MP3,按下存檔即可完成轉碼。
2009年7月23日 星期四
VirtualBox設定NAT Forwar
VirtualBox內建的管理視窗,在網路設定方面還頗陽春的,只有簡單幾個選項NAT Bridge Host等選項,如果想在虛擬作業系統中開Service,這麼陽春的選項實在令人頭痛,請教google大神,原來VirtualBox有隱藏密技,不過這密技似乎只能靠指令完成。$VBoxManage setextradata winxp "VBoxInternal/Devices/pcnet/0/LUN#0/Config/BT/Protocol" TCP
$VBoxManage setextradata winxp "VBoxInternal/Devices/pcnet/0/LUN#0/Config/BT/GuestPort" 3661
$VBoxManage setextradata winxp "VBoxInternal/Devices/pcnet/0/LUN#0/Config/BT/HostPort" 3661
在這裡winxp是要開個虛擬os的名稱,而BT則是要開的PORT名稱可自訂。
2009年7月21日 星期二
ubuntu 9.04安裝skype
skype對Linux的User真的是滿友善的,支援滿多Linux版本
當然Ubuntu也不例外,只要到skype官網就能找到相對應版本
1.安裝libqt4-guisudo apt-get install libqt4-gui
2.安裝skypesudo dpkg -i skype-debian_2.0.0.72-1_i386.deb
3.設定skype
若登入後發現skype無聲,可到"選項>音效裝置>聲音進來/出去/鈴響"選擇"HDA Intel(hw:Intel,0)",注意這個設定依據各個硬體不同而有所不同。
2009年7月20日 星期一
在postgresql建立auto-increment
在資料庫中常用的一個欄位就是auto-increment,這個欄位的資料通常是不可重複的,可以用來作商品或會員名單的流水號,很可惜的是postgresql沒有這個屬性的欄位。但雖然預設沒有這個欄位,但其實可以透過手動的方式建立這一流水號。
1.建立sequence
CREATE SEQUENCE myserial INCREMENT 1 MINVALUE 10000 MAXVALUE 99999 CACHE 1 CYCLE;
2.建立流水號欄位CREATE TABLE profile
(
id regclass NOT NULL DEFAULT nextval(('myserial'::text)::regclass),
"name" character(8) NOT NULL,
CONSTRAINT pmky PRIMARY KEY (id)
);
2009年7月19日 星期日
install postgresql in ubuntu
這次實驗室專題需要使用資料庫,本來決定使用MySql,不幸的是根據MySql授權如果搭配硬體出售必須付費,所以只好選擇了較不熟悉的Postgresql來使用,在這裡順便安裝postgresql的圖形管理工具pgadmin3。
1.安裝postgresql與管理工具sudo apt-get install postgresql
sudo apt-get install pgadmin3
2.啟動sqlsudo /etc/init.d/postgresql-8.3 restart
3.設定postgres本機密碼
sudo passwd postgres
4.設定postgres連線密碼
注意!!這裡必須先將使用者身份轉為postgres
su postgres
psql postgres
postgres=# alter user postgres with password '密碼';
5.重新啟動sqlsudo /etc/init.d/postgresql-8.3 restart
6.新增/刪除使用者
新增使用者:
su postgres
createuser 使用者名稱 -P (-P)加上密碼
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
刪除使用者:dropuser 使用者名稱
7.新增/刪除資料庫
createdb 資料庫名稱
dropdb 資料庫名稱
步驟到此資料庫設定完成
接下來就可以使用pgadmin3登入資料庫。
2009年6月20日 星期六
錯誤代碼KERN-EXEC 3
發生錯誤代碼KERN-EXEC 3,通常是存取非法的記憶體位址
例如使用一個指向NULL的指標TInt CRingContainer::CountComponentControls() const
{
return 3;
// return number of controls inside this container
}
CCoeControl* CRingContainer::ComponentControl(TInt aIndex) const
{
switch ( aIndex )
{
case 0:
return iLabel;
case 1:
return iToDoLabel;
default:
return NULL;
}
}
若定義CountComponentControls()函數
則創建Container時會呼叫ComponentControl()函數,將控制項顯示出來。
如果return NULL的話,並不是一個合法存取位址
因此出現錯誤代碼KERN-EXEC 3。
錯誤代碼CONE 15
昨天莫名其妙被錯誤代碼CONE 15重擊
查了一下錯誤代碼列表
很明顯Resource File沒讀進去
Google一下發現,原來必須給Resource File一組4byte的辨識代碼NAME ADZW
#include
#include
.
.
.
RESOURCE RSS_SIGNATURE{}
.
.
2009年5月16日 星期六
2009年5月13日 星期三
2009年4月13日 星期一
ubuntu下的超級終端機
最近因為在寫與serial port溝通的應用程式
所以會使用到windows超級終端機
而在linux下則有gtkterm可以取代
安裝方式非常簡單
$ sudo apt-get install gtkterm
用法都與超級終端機類似,但似乎超級終端機的功能較完整
因為gtkterm並不支援 xmodem ymodem
雖然這xmodem ymodem大部分已經被tftp取代了
不過剛好別的專案有用到,所以還是稍嫌不方便。
但是至少比minicom 三不五時出現排版錯誤來的好~ :)
ubuntu 8.04 64bit flash安裝
最近剛將ubuntu-8.04 32bit改灌成64bit
碰到的第一個問題就是adobe只出32bit的套件包而已
只好想別的方法了
$ wget http://queleimporta.com/downloads/flash10_en.sh
$ sudo chmod +x flash10_en.sh
$ sudo sh ./flash10_en.sh
我又可以開開心心上youtube了~~ :)
ubuntu藍芽滑鼠設定
最近買了一隻microsoft M5000的藍芽滑鼠,在linux下好像沒辦法直接抓到
必須透過一些設定才能正常使用
$ sudo apt-get install bluez-compat
將HIDD功能打開
$ sudo vi /etc/default/bluetooth
HIDD_ENABLED=1
重新啟動藍芽服務
$ sudo /etc/init.d/bluetooth restart
掃描裝置
$ sudo hcitool scan
連結裝置
$ sudo hidd --connect 00:1D:D8:94:86:CF
設定開機自動偵測
$ sudo vim /etc/bluetooth/rfcomm.conf
rfcomm0 {
bind yes;
device 00:1D:D8:94:86:CF;
channel 1;
comment “Bluetooth Mouse”
}
enjoy it!!
2009年4月6日 星期一
愛不釋手的aMSN
最近發現了一個好用的msn軟體,叫做aMSN
在這之前我都是用內建的pidgin,雖然他可以登入多種帳號(yahoo icq msn etc...)
但在msn中似乎對自訂表情符號,並沒有支援實在很不方便
google一下發現,aMSN似乎滿熱門的,就決定用它了
sudo apt-get install amsn
不過預設的外觀似乎有點醜醜的,看了就沒fu
還好這是有方法解決的~~~
先到amsn-project下載想要的skin
unzip aMSN_Futurosoft-1.1.zip
mv Futurosoft ~/.amsn/skins/
開啟aMSN選擇Account/Select Skin
usb sniffer教學
上一篇介紹完使用wireshark安裝後
這一篇要介紹使用wireshark分析usb sniffer
在linux下要擷取USB內容是相當容易的事情
sudo mount -t debugfs none_debugs /sys/kernel/debug
sudo modprobe usbmon
cat /sys/kernel/debug/usbmon/1u >> ~/temp.out
但這種方式只能擷取交握訊號,並不能對其作分析
所以我選擇使用wireshark來輔助分析
目前支援usbmon必須是libpcap-1.0.0版以上
(ubuntu 8.04只更新到libpcap-0.8)
先到http://www.tcpdump.org下載最新版本
tar -xvf libpcap-1.0.0.tar.gz
cd libpcap-1.0.0
./configure
make
sudo make install
再依照上一篇wireshark安裝教學,重新編譯一次即可
為了可以要執行時自動modprobe usbmon
做了以下修改
gedit wireshark-mnt
#!/bin/bash
sudo mount -t debugfs none_debugs /sys/kernel/debug
sudo modprobe usbmon
sudo wireshark
然後將wireshark-mnt移至/usr/sbin/
sudo mv wireshark-mnt /usr/sbin/
開啟wireshark進入capture/interfaces
就可選擇要擷取的USB裝置,如下圖
使用wireshark監控網路狀態
最近在寫linux下的網路程式,剛好就研究了一下sniffer怎麼用
我選了wireshark這套軟體,參考 wireshark
目前版本為1.0.6,安裝方法如下
tar -xvf wireshark-1.0.6.tar.bz2
mv wireshark-1.0.6 ~/opt/
cd ~/opt/wireshark-1.0.6/
./configure (要先安裝libpcap及flex)
make
sudo make install
安裝完後啟動,遇到了一個問題wireshark: error while loading shared libraries: libwiretap.so.0: cannot open shared object file: No such file or directory
囧了~wireshark找不到libery
但在/usr/local/lib/可以發現libwritetap.so.0確實存在
不得已只好將路徑加入/etc/ld.so.conf
sudo gedit ld.so.conf
include /usr/local/lib
sudo ldconfig
sudo wineshark
大功告成,啟動畫面如下
2009年3月26日 星期四
數位影像負片處理
這學期選了一門還不錯的課,數位影像處理。
從很久以前就對這一方面還滿有興趣,但一直沒有時間去好好的瞭解
就趁著系上剛好有開這門課,當作一個學習的動力
(說沒時間是假的,明明就是愛找藉口#$%$#@)
接下來就來一個小程式,數位負片處理 :D
在開始程式之前稍微介紹一下,數位影像的概念
通常一張全彩的影像,包含了RGB共3Byte
而每一顏色使用1Byte表示之
其亮暗程度可分為0~255,0最暗255最亮
相信到這邊,都不難理解,接下來就可以進入主題『數位負片影像處理』
數位負片顧名思義就是,亮變暗而暗變亮
因此處理方式如下↓
負片值 = 255 - 原始影像
255 = 255 - 0
0 = 255 - 255
30 = 255 - 225
上述範例,不難看出最亮變成最暗,最暗變成最亮
只要將影像上的每一點,經過這樣的處理就能得到負片效果
以下就來看看實際處理後的效果
[原始影像]
[全彩負片]
雖然這個程式非常的簡單,不過至少是認識數位影像處理的第一步!!
C語言監控IO
最近在寫R232的連線程式,一開始的做法是使用timer定期去抓buffer裡的資料
但由於程式要求的資料量不大,此方法會造成cpu無謂的loading
但最近再翻GTK時,突然發現一個好用的函式如下↓
gint gdk_input_add( gint source,GdkInputCondition condition,
GdkInputFunction function, gpointer data);
這個函式可以監控IO當資料有所進出時,可執行自訂函數。
參數1: source 即為檔案描述器
參數2: condition 為要監控的模式
GDK_INPUT_READ 當檔案描述器有資料可供讀取時,則執行自訂函數
GDK_INPUT_WRITE 當檔案描述器已準備好可寫入時,則執行自訂函數
參數3: function 自訂函數名稱
參數4: 傳入自訂函式之參數
回傳值: 傳回一個標籤tag,可用此標籤移除對IO的監控如下↓
void gdk_input_remove(gint tag);
自訂函式宣告格式:
void input_callback( gpointer data,
gint source,
GdkInputCondition condition );
原先使用timer方式讀取IO,CPU的負載平均30~40%左右
使用此方法負載確只有20%,很明顯此方式可有效降低負載。 :)
2009年2月4日 星期三
解決 Flash Player 10 亂碼問題
最近發現Flash Player顯示出亂碼(方塊字)
解決方法如下↓
修改 /etc/fonts/conf.d/49-sansserif.conf
將sans-serif改為
文泉驛正黑體
it's so easy~ :)
2009年1月21日 星期三
謎:ubuntu能不能看youtube!?!
如果ubuntu不能看youtube,那麼我人生會黑一半
沒辦法youtube上太多白痴的影片了,常會戳中我的點 XD
那麼ubuntu到底能不能看youtube,答案是肯定的!!
只要將flash player裝起來就可了!!
作法如下:
首先到ADOBE下載flash player的套件包
Adobe金呷就甘心ㄟ~~直接提供套件包 :D
sudo dpkg -i install_flash_player_10_linux.deb
打開Firefox就可以開開心心的youtube了!!! :)
2009年1月20日 星期二
安裝中文輸入法
最近剛灌好ubuntu,大致上都沒什麼問題
唯一有問題的就是內建的中文輸入法scim
偶而無預警的當掉,常常msn聊到正開心就突然掛點了 :(
奇摩子當然好不起來,於是google一下
發現原來有另一套中文輸入軟體叫作gcin
安裝方法如下
sudo apt-get install gcin im-switch
im-switch -s gcin
sudo /etc/init.d/gdm restart 重開視窗服務,或者直接登出
系統 > 管理 > gcin輸入法設定
這樣大功告成了,改換gcin後就沒再當過了 it's great!! :)
2009年1月18日 星期日
開始ubuntu吧
最近因為買了新的筆電,再加上專題的需要
因此將多出來的桌機拿來灌Linux
雖然之前有曾經玩過Fedora
但後來因為Fedora5桌面服務太難上手因此作罷
所以這次我選了一個好上手的版本,那就是大名鼎鼎的ubuntu啦!! :)
再經過一陣漫長安裝後,進到桌面才發現原來Linux進步的腳步那麼的快
完完全全能感受到ubuntu團隊的努力
ubuntu的穩定性讓我覺得可以徹底拋棄XP擁抱Linux了 XD !!
一套幾乎不會中毒,要什麼軟體只要到
應用程式—>添加/刪除
就幾乎垂手可得,非常方便。
所以特地開了這個BLOG分享ubuntu的使用心得
我想這也符合Linux的分享精神吧!!:-)