2011年4月4日 星期一

Cheer up!

紀念品


碳酸飲料,有種奇妙的口感,喝下的那一瞬間,彷彿被打氣了一下,心情也輕鬆許多。


接連發生不少事,例如日本地震等等,心情總會低沉,但看著寒假出遊的南方照片,心中就不會那麼沉悶,只是不曉得何時會麻痺呢?看著學弟、同學、朋友,衝刺著自己的生活,那種感覺是多麼美好的啊,最近總有一股被捆綁手腳的感觸,想伸手卻抓不到任何東西,唯一慶幸的是還有家人的相伴。


這只是心境上的瓶頸,工作或其他的倒都還很順心啦,希望能更快走出現在的情境。另外,真的要專心把一件件事依序做好,不然過於貪心的結果就是一事無成。


2011年4月3日 星期日

[Android] Sony Ericsson XPERIA X8 - Root 教學、關閉拍照聲音

沒想到周遭又有一位使用 Android 手機啦,這次是 Sony Ericsson XPERIA X8 手機(手機王資訊),這款是 2010 年十月份出的,預設是 Android 1.6 系統,接著去年底官方提供 Android 2.1 的系統更新,因此,這台手機買來時已經是 2.1 系統了,我不確定是不是賣手機的人有幫忙更新,總之目前手機狀態:


模組號碼:
E15i 


韌體版本:
2.1-update1 


核心版本:
2.6.29
SEMUser@SEMCHost #1


版本號碼:
2.0.1.A.0.47 


接下來說說要搞定的事:



  • 關掉拍照時響亮的"咖擦聲響"

    • 拍照聲音檔擺在 /system/media/audio/ui/camera_click.ogg ,解法就是把他移除或更名,如 camera_click.ogg.bak ,如此一來拍照時,程式無法取得聲音檔來播放。




使用 PC 環境:


Windows 7 32-bit 環境


C:\Windows\Microsoft.NET\Framework 裡有 v2.0.50727 目錄 (之後的活動需要 .NET Framework 2.0 環境)


有 WIFI 環境


例如此台 PC 的 IP 是 192.168.100.1 而手機的 IP 是 192.168.100.2 ,因此有機會可以從 PC 連線到 手機喔。


PuTTY 軟體


等會 PC 將透過 putty.exe 這個軟體跟手機連線


警告,在此不承擔任何風險責任,使用前請自行評估


為了達成上述兩件事,第一件事便是 root 親愛的 Android 手機,所謂的 root 代表取得此手機作業系統裡最高的權限,原先系統可能基於安全性、商業性等因素,故預設不開放使用者使用最高權限。然而,整個系統預設是 read-only 的,必須使用最高權限改成可讀寫的,如此一來才能移除內建程式和處理拍照聲響。


接下來則是分解動作:


動作一:將手機 root 啦


xdadevelopers > Sony Ericsson XPERIA X8XPERIA X8 > Android Development > [TUTORIAL] Rooting 2.1 Directly 得知 root 的方式:


Step 1:下載該網頁所提供的 SuperOneClick.zip ,只是需要註冊成為會員,免費的,就去申請一下吧。


Step 2:下載與安裝 Sony Ericsson PC Companion 2.0 軟體,此軟體將在你的電腦安裝手機 USB 相關的驅動程式。


Step 3:設定手機,開啟開發 USB 偵錯功能


[設定] ->[應用程式] -> [開發] -> [USB偵錯]


Step 4:使用 mirco usb 連接手機與 PC,並且選擇 "為手機充電" 模式


Step 5:將下載好 SuperOneClick 解壓縮,並執行 SuperOneClick.exe 檔案


這是點選 SuperOneClick.exe 程式跑起來的畫面,接著按下 Root 進行


01


跑到最後會詢問你是否要 test 了,當然是選 YES 啦


02


之後完成則顯示此訊息


04


之後順便會問你要不要贊助程式開發者,嗯,口袋不夠大,我選了否 XD


05


Step 6:查看手機畫面


在最後一頁可以看到 "授權程式" 的程式


root1


點入 "授權程式" 後,在 "設定" 裡頭最底下可以看到 Superuser 2.3.6.1 和 su 2.3.1-ef 資訊


root2


動作二:進入 Android 系統環境,採用 SSH 進入方式


在網路上看到很多人使用 Root Explorer 來瀏覽系統資料或做相關動作,但在 Android Market 上看到這款要錢耶,雖然網路上很多盜版資訊,但我 root 的目的不是使用盜版,為了尊重且支持這些 Mobile 開發者,我採用了第二條路,剛好也是我本身比較熟悉的,使用 SSH 登入方式 XD


只是 Android 環境上我不太懂該怎樣啟動 SSH 服務,隨意在 Market 上就找到 SSHDroid 程式,該程式就是 SSH Server 啦,結果上網查一下原來這也是 xdsdeveloper 裡的會員開發的:xdadevelopers > Android Development and Hacking > Android Apps and Games > [APP] SSHDroid。讓我稍稍微安心(Android太Open會有太多安全性問題)


從 Market 安裝完,開啟此軟體就會設定好 SSH Server 並且告訴你連到手機的方式


root3


切回 PC 端,使用 putty.exe 打上 192.168.2.102 (根據上圖顯示的位置) 並且輸入 root 並使用預設密碼 admin 登入


root4


如此一來算是正式進入此手機系統囉!


動作三:更改 /system 的狀態,從 Read-Only 改成 Read-Write Mode


登入系統後,緊接著想要把拍照聲音移掉,預計透過下述指令:


mv /system/media/audio/ui/camera_click.ogg /system/media/audio/ui/camera_click.ogg.bak


隨即運行完會看到失敗訊息:


# mv /system/media/audio/ui/camera_click.ogg /system/media/audio/ui/camera_click.ogg.bak
failed on '/system/media/audio/ui/camera_click.ogg' - Read-only file system


使用 mount 查看:


# mount
...
/dev/block/mtdblock0 /system yaffs2 ro 0 0
...


其中上述的 "ro" 就是代表 Read-only 的檔案系統


既然都有最高使用者權限了,當然可以調教一下,使用 mount 把它改成 Read-Write Mode:


mount -oremount,rw /dev/block/mtdblock0 /system


結果:


# mount -oremount,rw /dev/block/mtdblock0 /system
# mount
...
/dev/block/mtdblock0 /system yaffs2 rw 0 0
... 


不錯喔,變成 "rw" 了,代表可以接述作其他邪惡的動作了


動作四:關閉拍照聲音,移掉拍照時,預設所播放聲音檔


由於動作三已接將檔案系統狀態調成可以更動的狀態,接下來只要下一個指令就搞定了


mv /system/media/audio/ui/camera_click.ogg /system/media/audio/ui/camera_click.ogg.bak


接著就用手機拍照看看吧,聽不到聲音了吧!在此只能祈禱拍照程式寫得很完善,例如程式撰寫者有用 try & catch 來處理播放聲音,以至於其他動作不會出錯 :p 目前測試下是可以正常拍下照片,有空再來查看例如 GPS 做標記錄等功能,若都沒啥問題應該就搞定了吧!若真的會出現問題,那就再想辦法擺一個音樂檔給他播放 cc 例如沒聲音的聲音檔 XD 如此一來,拍照流程可以順利進行


@ 2011/04/05:如果要製作沒聲音的音效檔,在 Windows 作業系統上可以使用 [附屬應用程式] -> [錄音機] ,按一下錄音馬上再按一下關掉,如此一來會產生一個 WMA 檔案,接著再透過其他軟體將從 wma 轉成 ogg,就把它擺到 /system/media/audio/ui/camera_click.ogg 即可。


總結一下,透過上述流程及完成 root 和關閉拍照聲音。之後可以再來看看怎樣移除內建軟體 XD 目前使用 Sony Ericsson X8 的心得嘛,這台還滿小台的,約 10cm x 5cm x 1.5 cm (厚度),我還滿喜歡這樣的體積,雖然螢幕不大,但攜帶方便,並且還是 480 x 320 的解析度喔。唯一的缺點大概是不支援 multi-touch 啦,不知道是硬體問題還是軟體沒支援,但整體上應該不會影響太多。


2011年3月31日 星期四

[Windows] 初次使用 Windows 7 系統映像備份還原

幫家人買了一台 NB ,裡頭用的是 Windows 7 64-bit 的作業系統。這台是 Acer 牌,裡頭預先已經有 eRecovery Manager 的機制,也就硬碟內有一區隱藏碟,裡頭擺了筆電原廠資料,如作業系統、驅動程式等,如果哪天系統掛掉時,可以從這個隱藏碟恢復成原先出廠的設定值,但是原廠資料很雜,例如幫你安裝了一堆完全不會用到的軟體、遊戲,所以就自己另外在製作一份系統映像備份,哪天系統掛掉時,可以透過光碟機恢復到 "原廠 + 稍微設定" 的環境,這就是為啥要用系統映像備份的主因,原先以為可以用 eRecovery Manager 再做一份,結果發現這個除了備份和還原原廠資料及驅動程式外,並沒提供備份目前系統狀態。所幸,在 Windows 7 就已經內建建置系統映像備份了,在 [控制台]->[系統及安全性]->[備份電腦] 中,可以看到 "建立系統映像" 功能。本次測試是因為筆電使用者可能離我千里遠,擔心以後出錯要國際電話溝通,所以自己先跑一次好了,現在的費時將是以後的省時啊啊。


系統備份的流程很簡單,點選右邊的 [備份] 或是左邊選單的 [建立系統映像] 就可以進行了,唯一需要留意的是備份的位置,如果選擇的地方是硬碟,並且是本機硬碟,需要擔憂整個硬碟壞掉,連備份的機會都沒有啦,所以這次測試除了試過硬碟備分一次外,還使用 DVD 燒錄方式,差不多弄了 3 張 DVD 光碟片而已,還算 OK 啦,有的人選擇備份到外接硬碟,甚至網路硬碟等,因為一直燒光碟也挺浪費的,但我的情境剛好燒一次光碟很 ok 啦。


系統備份:


01


02


接下來只要按下一步,剩下的操作都很人性化直覺啦。如果使用 DVD 備份,燒錄完後會提醒你是否製作一片 Windows 7 修復光碟,就順便做一下吧 XD 因為到時候若系統掛了,可真的要靠這張修復光碟開機的。


另外,如果備份過一次後,"備份或還原檔案"的下方可以看到系統預設幫你 "排程" 的資訊,如果不需要的話,記得把它關掉,因為這個排程就是在指定的時間幫你自動備份系統,除了可能影響已經備份的映像檔外,每次備份也很耗系統資源,所以關掉是不錯的選擇。


系統還原:


系統還原,主要依開始進行方式可以分成兩步驟,第一個步驟就是啟動系統還原功能,第二步才是開始設定並還原系統。第一步可以分成兩種:


啟動方式 1 - 從 Windows 7 內啟用:


恢復有兩種模式,一種是系統還算正常時,從 [控制台]->[系統及安全性]->[備份電腦] -> [修復系統設定或電腦] -> [進修復原方法] -> [使用先前建立的系統映像來復原電腦] -> [跳過] -> [重新啟動] ,以此進行後續操作


03


04


05


06


啟動方式 2 - 透過 Windows 7 修復光碟 或 Windows 7 安裝光碟,從光碟機啟用:


對於筆電或 PC 來說,第一步要調整開機順序,必須調成光碟開機優先於硬碟開機。此處是設定 BIOS 的部分,各家 BIOS 不同,此處筆電是開機不久後,左下角會告訴你可以按 [F2] 進入,接著切換到 [Boot] 介面,並且把光碟機透過 F5/F6 調到第一優先順序,接著按 [F10] 就可以存檔離開。重開機前別忘了把光碟擺入,開機時就會詢問你是否要先讀取光碟機的內容,隨意按一下就可以繼續囉。


07


如果打算使用 Windows 7 安裝光碟,步驟會比 Windows 7 修復光碟還多了一些,但最終會導到系統還原的主要步驟


17


選擇 "修復您的電腦",接著會直接切換到 "系統復原選項"


18


系統還原的主要步驟:


無論是透過上述哪種啟動方式,最終(重開機後)就會進入一樣的畫面


08


09


下圖依情況不一定會出現,若出現的話,記得是要選第三項:系統映像修復。


12


此為 "系統復原選項" 畫面,如果有在硬碟裡備份過一次,這時候會顯示出來,可以挑選從硬碟恢復或是第二項其他處,如 DVD 光碟、網路硬碟等


10


如果硬碟沒東西,則會跳出這項,要求其他的來源,而如果是備份在 DVD 的話,別忘了是用最後一片 DVD 喔


11


搜尋到可以用來恢復的系統映像檔後,選擇好就可以按 "下一步" 進行下去


13


這邊有個選項要留意 "格式化並重新分割硬碟" ,請依狀態使用,例如有一個硬碟被切成 C 和 D 兩槽,透過光碟恢復時,就可以選擇這個選項,雖然目標是 C 槽,但應該有可能會使得 D 槽損毀,此選項在此尚未測試。


14


15


16


如此一來,當系統還原完重開機後,就恢復到原先系統映像所記錄的狀態了!使用系統映像的缺點嘛,除了是暫空間外,另外軟體都是"那一刻"的狀況,例如某個軟體幾個月後更新了,但透過上述還原的話,就必須重新移除再安裝新版程式囉,對於某些有潔癖的使用者,可能會不太舒服吧 cc


仔細試用了一下,覺得這個功能還不錯,以前學生時代,會在期初重灌並備份系統,以免期中、末忙碌時又不幸碰到系統掛掉,那時就可以快速恢復啦(幾乎是備而不用),雖然現在我個人不太會使用(電腦掛了就慢慢修啊),但別人的電腦還是會建議製作一片!就像買個保險囉,我是覺得還滿值得的啦,以免電腦中毒造成一時的不便囉,特別是周邊剛好沒人可幫忙時!


2011年3月30日 星期三

把玩 Google Maps & GPX 1.0


View Larger Map


之前意外得知,可以在 Google Maps 介面上,除了可以丟地名、GPS座標以外,還可以直接餵給他一個 GPX 的 URL,這時候 Google Maps 會幫你繪出路徑,十分方便。但如果想加上一些標記點,那必須手動改一下 GPX 格式,加上 WAYPOINT 資訊後,就可以自動標出。此例皆使用 GPX 1.0 格式,原始 GPX 檔案由 Android App - RMaps 紀錄的(別忘了會有誤差,細看座標點會遠離道路位置),後製在微調 GPX 格式,在 <gpx> 之後與 <trk> 前,加上 <wpt> 資訊即可。


<?xml version='1.0' encoding='Utf-8' standalone='yes' ?>
<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/0" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd" version="1.0" creator="RMaps - http://code.google.com/p/robertprojects/">
  <name>Track 1</name>
  <desc />
  <wpt lat="24.80338871" lon="121.00968026">
    <name>HsinChu</name>
  </wpt>
  <wpt lat="25.04992355" lon="121.51678764">
    <name>Taipei</name>
  </wpt>

  <trk>
  ...
  </trk>
</gpx>



View Larger Map


別忘了,此例是使用 GPX 1.0 格式,如果格式驗證不通過,那麼 Google Maps 則不會顯示的,驗證方式可以參考這篇:驗證 GPX 格式,此例使用 http://validator.nu 網站服務:


http://validator.nu/?schema=http%3A%2F%2Fwww.topografix.com%2FGPX%2F1%2F0%2Fgpx.xsd


透過上述連結連上後,可以再透過檔案上傳的方式進行測試。


[Windows] 使用 Git 與 GitHub @ Windows XP

01


在 GitHub 申請好帳號一陣子了,雖然我常寫程式的地方是 FreeBSD 或 Linux 系統,但回家休閒卻是使用 Windows 環境,偶爾寫寫筆記當然就很懶得再連去 Unix 環境。於是,關於 Git 的使用一直有點遲緩,再加上工作上多是 svn 的世界,久了沒用都忘光了。最近打算善用一下 GitHub 空間,除了可以擺擺程式做版本控制外,還可以拿來擺文件或學習筆記所需的暫存檔嘛。因此開始想辦法找找 Windows 上方便的 Git 使用環境,就看到 PIXNET Lab 的文章 - Git on Windowshelp.github - Set Up Git (Windows) 兩篇文章,經測試,寫了篇筆記。有了視窗介面,我應該會開始善用他了。


準備檔案:



流程:


先安裝 msysgit,一切都用預測選項,過程會跑一陣子,接著再安裝 Tortoisegit ,這就很快結束,接著使用 puttygen 產生 Key Pair。按下 Generate 後,接著必須移動滑鼠,將透過滑鼠位置當作亂數來產生 key pair 囉。


02 03


建好 Public key 和 Private key 後,按下 Save private key 儲存在恰當的位置,並且把 Public Key (上面 Public key for pasting into OpenSSH authorized_keys file 框框內的資料) 圈選複製一下,並到 GitHub 網站 Account Settings 頁面裡的 SSH Public Keys 項目中 Add key 吧!


04


05


東西都準備妥了,接著才正式要跟 GitHub 來溝通取資料囉,首先透過滑鼠右鍵,在桌面上可以按右鍵看到 Git 選單,按下 Git clone 會彈跳出視窗,按下Yes 後則是設定 TortoiseGit 裡 MSysGit 的位置,預設是 C:\msysgit\msysgit\bin


06


07


最後,則是可以透過視窗介面跟 GitHub 取資料下來,而我已經透過 GitHub 網頁介面建立一個專案,所以可以在該網頁上看到 Git 位置:git@github.com:my_giyhub_id/my_project.git,填寫好後,別忘了選擇 Load Putty Key 位置,則是一開始用 puttygen.exe 產生的 private key 位置囉!如此一來,就可以下載資料下來,並且在該目錄裡按滑鼠右鍵可以看到 Git 相關的操作。


08


09