2010年7月21日 星期三

Ubuntu 之 光碟機掛載

Ubuntu用到現在,今天才發現我的光碟機沒有被自動掛載.....=.=

於是上網找了一下解決方法

首先先查看你的硬體是否有備偵測到,利用下面的指令
lshw -C disk

2010年7月7日 星期三

Ubuntu 之 /dev/video0 not found 問題

由於工作的需要,必須在ubuntu上開啟webcam,但不幸的是我用的8.10或10.04上都無法開啟,因此就開始在網路上尋找解決方法,找了好幾天,試過安裝uvcvideo, cheese 等等的webcam app,系統也更新到最新的patch,還是無法開啟,app始終提示 /dev/video0 not found,gstreamer-properties一樣無法找到/dev/video0。後來到/dev下看video0是否存在,也如預期的不存在....=.=,但是幸好lsusb查看,有看到我的webcam device。

在這說一下我的環境,VAIO SZ58, Ubuntu 10.04 TL, 內建的webcame是 Ricoh Co., Ltd Visual Communication Camera VGP-VCC7 [R5U870]

後來知道video0不存在後,開始往driver的方向找答案,總算在今天被我找到,在Ubuntu Forum 這篇討論區有說討論。安裝下面兩個deb

http://download.tuxfamily.org/arakhne/pool/r/ricoh-webcam-r5u870/ricoh-webcam-r5u870-firmware_0.11.4-0arakhne1_i386.deb
http://download.tuxfamily.org/arakhne/pool/r/ricoh-webcam-r5u870/ricoh-webcam-r5u870_0.11.4-0arakhne1_i386.deb

安裝完後,/dev/video0 終於出現了!!

2010年7月1日 星期四

Qt 之 connect 的 error

Qt signal 與 slot 的 connect所傳遞的參數必須要系統能夠識別,否則在run的時候會出現類似下列訊息(compile 不會有錯誤),並且所對應的slot不會被呼叫。
QObject::connect: Cannot queue arguments of type 'CmdSeq'
(Make sure 'CmdSeq' is registered using qRegisterMetaType().)
(CmdSeq是我自己建立的class,無繼承任何class)

2010年6月30日 星期三

Qt 之 QString 與 Char 間轉換 方法

在Qt下作字串處理時,有時候因為要跟別人的SDK作資訊的交換,使得Qt特有的QString其他SDK的函數無法接受,因此要作一次轉換到通用字串型別。在網路上找了一下,找到了方法。

[整理轉載]converting QString to char

QString str;
QByteArray byteArray=str.toLocal8Bit ();
char *c=byteArray.data();



基本上可以寫成函式
或者

 (char*)( ((QByteArray)str.toLocal8Bit()).data() )

2010年6月28日 星期一

QThread 之 主GUI Thread 與 子 Thread 之間通訊

原文QThread 通訊


在開始玩QThread後,愈到了Qt對於QThread的限制,也就是QThread無法直接對GUI直接控制(或建立)。

找了很多文章後,一開始是用很笨的polling方法,在GUI Thread中每當Thread啟動後,就設定QTimer,每一定的時間就去check特定變數,一旦當特定變數match到我所期望的值,立即去作相對應的GUI處理,QTimer會一直定期callback回來,直到子Thread結束運作為止。然而如此很消耗資源。

Qt ".pro" file 之設定

最近在接觸Qt的程式,因需求而需而額外include Libs,而碰到了一些QMake的設定問題。

麻煩的是QMake跟Make有著些微性的不同,對於初次接觸的我,造成了不少的困擾。

首先是LIBS參數的設置,QMake不需要加入-l (or -L)參數,加了可能會抓不到。

另外是Make的CFAGS參數,在QMake裡我還未找到對應的設置,所以必須手動在Make裡加入參數。

INCLUDEPATH參數也是一樣,不用加入-l (-L)。

2010年6月25日 星期五

Ubuntu上啟動CodeBlocks產生"codeblocks: relocation error"


在Ubuntu 10.04上安裝CodeBlocks碰到無法啟動的問題,錯誤訊息如下,


codeblocks: relocation error: /usr/lib/libcodeblocks.so.0: symbol _ZN13wxAuiNotebook7SetFontERK6wxFont, version WXU_2.8.5 not defined in file libwx_gtk2u_aui-2.8.so.0 with link time reference

2010年6月24日 星期四

Linux 命令提示字元之路徑顯示過長問題

原文參考 Linux 指令

當每次進入過深的目錄時,命令提示字元帶的絕對路徑都會很常,造成輸入與查看的不方便,因此上網找了修改提示字元的方式。

在~/.bashrc這個檔案裡,會有幾行設定環境變數PS1的程式,如下

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

把在尾巴的"\w"去掉後,重開終端機即可!

2010年6月15日 星期二

gvim 無法啟動

在ubuntu 10.04 gdm模式下,安裝了kde,結果造成了gvim無法在terminal下啟動。錯誤訊息是

"No protocol specified"
cannot open display


上網找尋了解決方法,如下


修改 /etc/kde/kdm/kdmrc 中的

ServerCmd=/usr/X11R6/bin/X

為:(其實就是加了 -ac參數)

ServerCmd=/usr/X11R6/bin/X -ac

2010年5月30日 星期日

"真實"的機器上裝Ubuntu的磁區規劃 (with Win7)

很久沒在真實的機器上裝Ubuntu,之前都是在VMware上裝~

目前打算是在我的VAIO SZ58上裝Win7 + Ubuntu 10.04
所以想好好規劃一下磁區的配置

先在網路上找了一些資料,最後主要是參考下面兩篇


Ubuntu 開機選單

移除開機選單多餘的核心選項 原文出處

1 開啟Terminal
2 cd /boot
3 sudo su
4 移除你不要的版本號檔裝 如下 rm config-2.6.31-20-generic initrd.img-2.6.31-20-generic System.map-2.6.31-20-generic vmcoreinfo-2.6.31-20-generic vmlinuz-2.6.31-20-generic
5 ls grub/menu.lst是否存在
6 如果有就 輪入update-grub
7 如果沒有,就輪入update-grub2

2010年5月27日 星期四

Kohjinsha SA1F00 上安裝 Ubuntu 9.10之顯示問題

Mobile01連結 Kohjinsha SA1F00 


今天意外要幫此機器安裝Ubuntu,安裝過程中所遇到的問題,及解決的方法。

一開始Win7裝進去,只能進到win7 loading的開機畫面就停住了,嘗試過用低解析度的方式進去,無用....

2010年1月25日 星期一

How to check your version of Direct?

The way to check Direct version:

Go to the Run box in the start menu and type the following command. "dxdiag"



You'll see a window like below one.


Finally, you can get the version of Direct.

搜尋此網誌