2015年5月22日 星期五

在 Arch Linux 中升級 Nexus 5

下載原廠 image 檔
https://developers.google.com/android/nexus/images
將下載回來的檔案解壓縮
修改 flash-all.sh
將 -w 的參數拿掉
fastboot -w update image-hammerhead-lmy48b.zip
-w 的用途是 wipe 它會將手機中的資料全部清除掉

安裝 android-tools
$ sudo pacman -S android-tools

開啟手機的 usb 偵錯功能
連接手機 usb 線
$ adb start-server
確認有系統有抓到你的手機資訊
$ adb devices
輸入下方指令讓手機進入 bootloader 模式
$ adb reboot bootloader

手機重開機後電腦可能會偵測不到手機
需要將 device id 加入 udev rule 中
$ lsusb
你可能會看到如下的資訊
Bus 001 Device 035: ID **18d1:d00d** Google Inc.

將這個資訊填入 /etc/udev/rules.d/51-android.rules 中
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d00d", MODE="0666", OWNER="YOUR_LOGIN_ID"

Udev 可以自動偵測到你已變更的 rules 檔案,所以應該可以立即生效,而不需重啟 udev。 如果你的裝置沒有被自動觸發,你可以重新拔插裝置,在重新連接裝置後應該就可以重新觸發剛剛設定的 rule 了。

如果還是沒有成功可以使用下面的指令,讓 udev 重新 reload rules 。
$ sudo udevadm control --reload

手動重新觸發 rules。
$ sudo udevadm trigger

接下來就可以執行 flash-all.sh 來升級你的 android 系統了

2015年4月22日 星期三

如何方便的將影片轉成 gif

有時候我需要將影片片段轉成 gif 動畫來分享
有沒有比較方便的方法呢?

你可以使用 ffmpeg 然後使用參數來轉檔
像是這樣
ffmpeg -ss 00:00:00.000 -t 10 -i filename.avi -vf scale=320:-1 -r 10 /tmp/output.gif
-ss 是起始時間
-t 總共所需時間(秒)
-i是檔名
-vf scale= 320:-1 則是將解析度設定為 320 X (自動)
-r 是 fps (frame per second)
/tmp/output.gif gif 輸出的檔名

可是這樣的參數實在有點難記
於是寫了一個簡單的 script 只要將你需要的參數填入就好


$ vim gif
#!/bin/bash
# convert movie to gif.
# $1 position hh:mm:ss[.xxx]
# $2 duration
# $3 file name
ffmpeg -ss "$1" -t "$2" -i "$3" -vf scale=320:-1 -r 10 /tmp/output.gif


執行的時候你只需要填入3個參數
  1. 起始時間
  2. 總共所需時間(秒)
  3. 檔名
$ gif 10:01 3 /tmp/filename.avi

這就是對 /tmp/filename.avi 取 3 秒鐘的影片轉成 gif 從 10 分 01 秒開始
把寫好的 script 複製到 /usr/bin 底下
以後就可以使用 gif 這個指令來建立你的 gif 圖檔了

2015年1月27日 星期二

[Android] 好用又省資源的 Smart Launcher

自從用過這個 smart launcher 之後就愛不釋手,已經沒辦法在回去用一般的 launcher 了,他設計的概念就是你常用的 app 就放在桌面,不常用的就放在清單裏面找,但搜尋 app 又非常簡單,有提供打字搜尋功能之外,也有提供 app 分類功能,和頭文字快速搜尋功能,找 app 相當快速,smart launcher 又相當輕巧,非常省資源,我想在一些低階手機上,他的表現應該也是相當出色。

不過這個 launcher 的最大特點就是,他的桌面只有一頁,是的,只有一頁,就如同前面講的,常用的 app 才放桌面,不常用的就用清單尋找,所以即使只有一頁,你也不會覺得有什麼問題。

而且這個 launcher 還可以支援手勢操作,也就是說你可以定義點兩下做什麼動作,一隻手指或兩隻手指往4個不同的方向滑動還可以再做什麼動作,所以一頁真的是非常夠用了。



而付費之後可以使用 widget ,他會有多出三頁出來放 widget ,這三頁仍舊不是用來放 app 的。



如果你的手機會安裝上百個 app 你一定覺得這樣的頁數怎麼可能夠用?

其實還真的夠用,因為他的 app 搜尋功能太好用,差不多兩步就可以找到你想用的 app 而不是一直滑一直滑一直滑才找到你要用的 app。



中文的 app 名稱搜尋也沒問題

剛開始換過來的過程有一點很不習慣,以前都是記 app 放在哪個桌面哪個位置,或者只記得 app 的 icon 長什麼樣子,
換成 Smart Launcher 之後突然都不記得 app 的名稱叫什麼了,搜尋起來一開始還覺得麻煩,等到後來熟了點,就沒這個問題了。
現在換到別的 launcher 反而不會找 app 了,因為其他的 launcher 在搜尋上真的不如 smart launcher 來得好用、直觀。

如果你覺得你老是找不到你的 app ,或者不喜歡桌面老是擺著一大堆不常用的 app ,又或者你的手機很頓,操作起來很不順暢,
真的可以試試看這個 Smart Launcher 用個幾天熟悉一下,你真的會愛上他。

https://play.google.com/store/apps/details?id=ginlemon.flowerfree


2014年12月11日 星期四

解決無法使用搜尋 firefox 歷史紀錄問題

firefox 的 history search 這兩天壞掉了.....心想該死,這麼多歷史紀錄在裏面,卻不能被搜尋利用,也太慘了吧!
後來 search 到這篇
內容提到是places.sqlite的檔案毀損造成的,我想....該不會要整個砍掉重來吧! shit.....

後來想到還好我有用 firefox sync ,所以我先把 firefox sync 關掉,然後備份 ~/.mozilla/firefox/XXXXXXXXXXX/places.sqlite 再砍掉 places.sqlite ,然後打開 firefox 確定歷史紀錄都沒了。

然後再打開 firefox sync 的功能,接下來就等歷史紀錄同步完畢,於是我有了新的 places.sqlite 檔案可以用了,也可以搜尋了。

2014年10月24日 星期五

解決 Evernote 5.6.4.4632 版本同步與登入問題

使用 PlayOnLinux 來安裝 evernote 

PlayOnLinux的設定:
  • 使用32位元來安裝 Evernote
  • 選擇 Windows xp 的環境
  • 透過「安裝套件」安裝  wininet、Internet Explorer 6 (8也可以)、gdiplus、riched20、msxml3 (如下圖)
  • 中文字型問題請參考這篇文章
  • Wine Version 1.7.29
使用 PlayOnLinux 中的「工作管理員」功能
點選 new task、輸入 explorer

點「My Computer」、「Control Panel」、「Internet Options」、「Advanced」
勾消 Use SSL 2.0、User SSL 3.0、勾選 Use TTL 1.0 如下圖
按 ok 儲存後,環境就設定完成了
接下來登入 Evernote 一切就都正常了


參考來源:

2014年9月7日 星期日

使用 date 指令計算日期

如何快速的算出3個禮拜前是幾月幾號呢?
難道還要自己寫判斷式嗎?別鬧了
使用 date 指令就可以快速的算出來了


$ date -d 'now + 3 weeks'
日  9月 28 09:46:07 CST 2014
$ date -d 'Aug 4 + 3 weeks'
日  9月 28 09:46:07 CST 2014
$ date -d 'Jan 1 1982 + 11 weeks'
五  3月 19 00:00:00 CST 1982
只要這樣子使用就可以快速的算出來囉!
如果你只需要年月日
你也可以這麼寫
$ date -d 'now - 3 weeks' +%y%m%d
140817
$ date -d 'now - 3 weeks' +%Y%m%d
20140817
如果的檔名是用日期來命名
你又想要排程刪除特定日期的檔案
那麼這個計算方式就很管用了

參考來源:

2014年9月4日 星期四

Arch Linux 使用心得

2013 年 12 月底被朋友推坑使用 Arch Linux。其實我一直很討厭這種難以安裝的發行版,感覺實在很浪費時間,為什麼我要把時間花在安裝系統上呢?別的發行版只要 20 分鐘就可以做完的事,我卻要花上一整天在搞定所有的安裝,怎麼想都覺得實在太 stupid 了,可是後來我發現這一切是值得的。

我分成以下幾點來說明
  1. 系統的複雜性:Ubuntu、Linux Mint 這類新手向的發行版,因為主要的使用者是新手,有很多麻煩的東西都幫你搞定了,而因為在安裝的過程中,你的參與的程度很低,於是你可能會因為如此而搞不懂到底該調整哪裡才會是我想要的樣子,或者是這個 bug 到底該怎麼解,於是你會花更多的時間在調整系統,或者在搜尋資訊上。
  2. 套件複雜的相依性:因為新手向的系統會幫使用者 考慮他們需要的相關套件,於是你可能只想要安裝某個 A 套件,但是因為系統覺得你可能還會需要 B、C、D 套件,於是一堆哩哩扣扣的套件就一起通通都被安裝進來,像是我如果只要裝個 gnome 的某個套件,在 Linux Mint 底下卻連整個 gnome 的桌面都裝進來了,這對我來說實在是一種困擾。
  3. 升級的困難性:不管是 Fedora、Ubuntu、Linux Mint ,以及很多基於這些發行版再衍生出去的發行版,每次如果要升級都是一件很麻煩的事,不知道為什麼,我在 Ubuntu 底下使用指令升級,從來都沒有成功過,導致我每次升級都是要重新安裝系統,安裝完系統後又要安裝我慣用的套件,然後再來就是就修正、調整新版本的 bug,而每個版本會遇到的問題、 bug 都不盡相同,所以升級就變成了是一件很辛苦的事。
 基於以上幾點,於是我決定開始轉換到 Arch Linux 來使用看看,一開始確實花上我一整天的時間在調整與安裝,但是也因此我更能理解這個系統我裝了什麼,以及我為什麼要裝他,從 0 到有的成就感也是在其他發行版上找不到的,而最棒的是「 滾動式更新 ( Rolling Release ) 」,會從 Linux Mint 跳到 Arch Linux 的主因就是為了 Rolling Release ,升級再也不是一件苦差事了,我的系統不用再重灌也可以享有最新的套件,也不會像 Ubuntu 如果不升級,你的套件庫可能也不會再繼續更新,想要使用新版的套件就得升級發行版,不然就是自己 compile 。
目前有使用滾動式更新的發行版有 Debian、OpenSUSE、Arch Linux以及 Arch Linux 的衍生發行版,Debian 是個很優異的發行版,他的相當龐大的套件庫,而 Arch Linux 的官方套件庫雖然沒有 Debian 那麼大,但是如果加上 AUR ( Arch 使用者套件庫 ) 兩者就不相上下了,而 Debian 對於授權條款是相當要求的,我想有使用過 Debian 的朋友應該知道,而 Arch Linux 則是將授權條款的選擇權交給使用者,所以自然也沒那麼龜毛了,於是在安裝 Arch Linux 套件時是相當自由的,你幾乎可以決定任何事來打造屬於你自己的系統。也因為這是你自己打造出來的系統,你對他最了解,自然在調整系統上你就不會像其他的發行版那麼樣的懵懵懂懂了。

而如果你是新手,對 Linux 充滿興趣,但是對指令都還很不熟,建議你還是先使用 Linux Mint 先讓 Mint 把這些麻煩事幫你解決,你再來好好學習這個系統。

如果你覺得 Linux Mint 已經無法滿足你的求知慾了,而你對指令也有一定程度的了解了,歡迎來使用看看 Arch Linux 體驗看看自己一手打造系統的感覺。