先由 /etc/group 中找到vboxusers 群組的GID,以本例來說,就是 501
修改 /etc/fstab 加入:
none /sys/bus/usb/drivers usbfs devgid=501,devmode=664 0 0
然後重新啟動即可
先由 /etc/group 中找到vboxusers 群組的GID,以本例來說,就是 501
修改 /etc/fstab 加入:
none /sys/bus/usb/drivers usbfs devgid=501,devmode=664 0 0
然後重新啟動即可
這兩天我在升級Fedora(由9->10) ,出了幾個小問題,特別紀錄起來以免以後又犯:
1.移除所有的備份硬碟
免得硬碟順序錯亂,到時候改grub.conf 改個半死
2.備份 /etc /usr/local/apach2/conf
不然httpd.conf 會被蓋掉,欲哭無淚
3.pg_dumpall -c > xxx 備份postgresql
不然也會造成大麻煩
4. 新系統boot起來之後注意一下網路卡的順序
ethx 常常會亂跑,即使已經指定了MAC address也不一定ok
5.grub安裝好之後會跑掉
應該是安裝了 /dev/sda 但沒有裝進 /dev/sda1 /dev/sda2 ,這時用安裝光碟的rescue mode 進去 chroot /mnt/sysimage 再grub-install /dev/sda1
grub-install /dev/sda2 即可處理掉
我們的網站支援繁簡體中文,以前我們都是用 autoconvert這個軟體來處理繁簡體轉換,還算好用,不過後來這個程式停止維護,我們都要另外安裝才能搞定,所以後來改用iconv 來轉換。
iconv有個缺點,就是繁體中文有時候有些字並沒有簡體字的對應,這時候autoconvert會用空白來取代,但是iconv就直接切斷整個文字字串,直接不處理這個轉不出來的字後面的文字,導致轉換常常出現問題。
我們在網路上也找不到uincode的繁簡體對照表,所以一直沒有解決問題。後來我們決定自己做一套,除了解決自己的問題,也可以分享給大家:
大家 require(‘bg2gb.php’); 之後,只要 $str=str_replace($BIG5C,$GB2312C,$str); 就可以繁體轉簡體,
$str=tr_replace($GB2312C,$BIG5C,$str);即可簡體轉繁體
起因是因為現在學術網路裡面都會阻擋使用者利用port 25送信,所以即使自己架設mail server ,也送不出去,
只好請外面的機器幫忙送信,不過得要避開 port 25,因為port 25已經被擋了。
底下這篇說明了怎麼讓client可以透過另外的port 透過另外的送信。
http://www.sendmail.org/faq/section3#3.39
這篇說明了Server怎麼開設另外的 port收client的信
http://www.sendmail.org/~gshapiro/8.10.Training/DaemonPortOptions.html
元旦在家備份 log,順便也整理一下系統,把
lifetype更新到 1.2.8,除掉一些錯誤信息。
說明一下更新的方法,以後好更新。
首先,先到 http://lifetype.net/ 下載最新檔案,
不過應該要下載升級檔案,亦即應該下載
lifetype-1.2.7-upgrade-1.2.8.tar.gz
這類的檔案
解開壓縮檔之後,複製到原來的工作目錄下即可。不過做這動作前最好先備份一下,免得系統出問題時救不回來。
備份方式可以用 cp -a lifetype lifetype.old 這樣搞定
php的iconv是個非常好用的函數,可以輕易達成繁簡體轉碼的功能, 但是這個函數有個缺點,當我們輸入「【囧男孩】為什麼你要一直笑呢?」這段字,由於 「囧」這個字不是gb2312支援的字,結果整個輸出會變成「【」,後面的字串全部會消失,而且 php端沒有任何錯誤信息(return也不會變成 false)。
為了解決這個問題,我用了轉回來的字串長度作為檢驗標竿,看看轉回來的字串是否正確,如果不正確,就用二分逼近法,先把正確的部份轉出來,把不正確的部份用遞迴方式繼續切割下去轉,最後把那個造成問題的字換成「?」,這樣就解決了問題。
<?php
function trangb($str)
{
$nstr=iconv(‘utf-8′,’big5’,$str);
if (iconv_strlen($str,’utf-8′)!=iconv_strlen($nstr,’big5′))
$nstr=riconv(‘utf-8′,’big5’,$str);
$pnstr=iconv(‘big5′,’gb2312’,$nstr);
if (iconv_strlen($nstr,’big5′)!=iconv_strlen($pnstr,’gb2312′))
$pnstr=riconv(‘big5′,’gb2312’,$nstr);
$nstr= iconv(‘gb2312′,’utf-8’,$pnstr);
return $nstr;
}
function riconv($loc1,$loc2,$str)
{
$i=iconv_strlen($str,$loc1);
if ($i<=1)
return ‘?’;
$blen=(int)($i/2);
$elen=$i-$blen;
$bstr=iconv_substr($str,0,$blen,$loc1);
$nbstr=iconv($loc1,$loc2,$bstr);
if (iconv_strlen($bstr,$loc1)!=iconv_strlen($nbstr,$loc2))
$nbstr=riconv($loc1,$loc2,$bstr);
$estr=iconv_substr($str,$blen,$elen,$loc1);
$nestr=iconv($loc1,$loc2,$estr);
if (iconv_strlen($estr,$loc1)!=iconv_strlen($nestr,$loc2))
$nestr=riconv($loc1,$loc2,$estr);
return $nbstr.$nestr;
}
echo trangb("【囧男孩】為什麼你要一直笑呢?");
?>
我最近買了一台Nokia E65(因為以前的手機掉到地上一台變成兩台,沒救了,又等不到google的手機平台出現),這台機器蠻好用的,可惜鍵盤很小,要輸入資料的話會耗掉半條命。因此只能在大電腦上輸入,再靠同步的方式輸入手機。
不過Nokia原廠的程式只能與XP、Vista同步,其實一開始我並不討厭Vista,我的電腦也裝了一個Vista,但是Vista開機實在太慢了。加上我的Linux上面自從跑了VirtualBox、裝了XP之後,實在是不需要再開進去Vista。好啦!於是每次我都是因為要更新聯絡人或行事曆才忍耐好幾分鐘,等Vista開機,輸入完、同步完又開回Linux,這樣實在有點笨笨的。
於是,昨天我下定決心要想辦法讓Nokia E65跟Linux上的Evolution同步,這樣我就可以完全擺脫Vista。很不幸的google裡面找到的東西都是 Ubuntu的說明(看來Fedora真的是危險了) ,害我自己K menu搞了一個晚上才搞定。為了怕忘記,再這裡寫個小抄。
第一步,先搞定藍芽連接
yum install bluez-utils bluetooth gnome-bluetooth
service bluetooth start
vi /etc/bluetooth/hcid.conf 編輯一下內容,讓手機跟電腦配對上(蠻容易的,莫名其妙就好了)
用 sdptool browse 來看一下手機的藍芽 address
通常是
00:17:E3:xx:xx:xx 這樣的形式
第二步,設定同步
先裝他個一大堆 opensync 的plugin
yum install libopensync-plugin-evolution2.i386 libopensync-plugin-file.i386 libopensync-plugin-synce.noarch libopensync.i386 libopensync-devel.i386 libopensync-plugin-gnokii.i386 libsyncml-0.4.5-2.fc9.i386 libopensync-plugin-syncml-0.35-4.fc9.i386
然後開始
msynctool –addgroup nok 建立group
msynctool –addmember nok evo2-sync 設定第一個成員是 evolution
msynctool –addmember nok syncml-obex-client 設定第二個成員是手機的控制系統
msynctool –configure nok 1 設定 evolution修改成
<?xml version="1.0"?>
<config>
<address_path>file:///home/username/.evolution/addressbook/local/system</address_path>
<calendar_path>default</calendar_path>
<memos_path>default</memos_path>
<tasks_path>default</tasks_path>
</config>
記得要把 username 改成自己的id,其實那一段就是定義自己的evolution資料庫放哪裡
msynctool –configure nok 2 設定手機的資訊
<?xml version="1.0"?>
<config>
<!– (Only for bluetooth) The bluetooth address if the bluetooth mode is selected –>
<bluetooth_address>00:17:xx:xx:xx:xx</bluetooth_address>
<!– (Only for bluetooth) The bluetooth channel to use. `sdptool browse $MAC` to search for the correct channel –>
<bluetooth_channel>14</bluetooth_channel>
……
<recvLimit>10000</recvLimit>
<maxObjSize>0</maxObjSize>
<!– XXX: Currently you need to write this by your own.
Later it’s planned to create such entries on the fly during
the discovery() call. Example database field:
–>
<database>
<name>Contacts</name>
<objtype>contact</objtype>
<objformat>vcard21</objformat>
</database>
<database>
<name>Calendar</name>
<objtype>event</objtype>
<objformat>vevent10</objformat>
</database>
紅色部份就是要改的,不過我還無法同步「待辦事項」,這個對我來說比較不重要….
msynctool –sync nok –conflict i 設定好了就可以同步了
這個同步系統比較陽春(不過會成功就好了),需要自己處理一下衝突的狀況,上面那個 –conflict i 就是要求
如果兩筆資料一樣,就不要忽略不處理,不然每次都會問我要怎麼辦,這樣會回答的半死。
以後只要定期 msynctool –sync nok –conflict i 即可
1.資料轉入: 必須下 update unv set txt=replace(txt,’‧’,”); 把「‧」刪除,否則會造成轉換錯誤
2.語言選擇: config.php GBCODE=1 就是簡體 GBCODE=0 就是繁體
3.字型檔案: 放在 home directory的 pfont與 gfont中,要複製到 parsing與 gparsing檔案中
4.default版面選擇: gen_hb.php裡面有兩個 if ($st==0 && $tab==1) 要同步修改,第一個st 控制strong number的位置、tab控制格式
5. 產生的指令 wget –timeout=300000 http://xxx.xxx.xxx.xxx/gen_hb.php &
要加 timeout,不然會出現問題
rpm -hiv http://rpm.livna.org/livna-release-9.rpm
rpm –import http://rpm.livna.org/RPM-LIVNA-GPG-KEY
yum install ffmpeg ffmpeg-compat libmatrosca xvidcore