家裏最老的那個Tablet,運行的還是Android 4.x的係統,慢得連兒子都懶得玩上麵的遊戲。不過這裏我撒了個小謊,其實家裏還有台更古老的。是黑莓的playbook,曆經風霜,質量還是杠杠的。但有一次恢複到出廠模式之後,才發現黑莓公司早就不support了,沒法安裝任何軟件,隻好變成磚頭,現在墊桌角用。
我呢,以前總是用家裏的台式機作服務器。350W的電源,每天24*7這麽開著,既費電不環保,這嗡嗡聲也很惱人。受兒子玩的Raspberry Pi的啟發,我琢磨著能不能將這個老三星Tablet物盡其用,成為新的家庭服務器。畢竟它僅僅5-10W的耗電量還是非常非常綠色環保的。
首先,root了現有的Android係統。接下來考慮是不是有合適的Web Server等等軟件。很可惜,經過封裝後的Android係統對命令行的支持不方便,相關在google play上的server軟件都是小眾,玩票性質的,出現問題難找到support。於是開始考慮其它方案。
Android是基於Linux內核開發的操作係統,大多數Android的手機平板都是運行在ARM架構的CPU上,而Linux也有支持ARM架構的版本。這就說明從理論上完全可以將Linux安裝到任何運行Android的設備上。經過調查,發現已經有好多人在這麽做了。我也決定采用其中比較成熟的一個方案來安裝配置新的服務器。
首先,清理Tablet的存儲空間,預留出超過4G的位置。
接下來,從App Store裏麵先安裝BusyBox,它是一個最簡版的Linux運行環境,好多定製的Linux都是以BusyBox為基礎的。
之後,重頭戲來了,需要安裝本次的主角LinuxDeploy。它是GitHub上麵的一個開源項目,目的就是為了在Android上運行Linux。你可以在App Store或者GitHub上找到它。
安裝後就是設置。你可以選擇多打20幾種不同的Linux版本以供安裝。還可以選擇新的係統是不是需要GUI,還是僅僅使用Command Line。這裏有一個很Trick的地方:由於你需要將新的Linux安裝在一個很大的IMG文件裏麵,係統給的默認的IMG文件Size是4G。我嚐試了若幹次都不成功。直到登錄到GitHub的討論組裏才發現有人給出了解決方法,原來IMG文件最大隻能是2G。改到2G,順利安裝。
我選擇安裝的是Debian Linux和最輕量級桌麵環境。
最後,在平板上安裝VNC Server來提供遠程桌麵支持。
接下來,從LinuxDeploy中啟動新係統。順利啟動。
由於我安裝在一個7寸的平板上,雖然可以直接操作,但屏幕過小,再加上軟鍵盤,十分不方便。別急,解決方案很簡單。比如有人說,可以在平板的microUSB口上接入USB-Hub,再連接多個設備,比如:鍵盤、鼠標、甚至顯示器(通過Usb2HDMI轉接)。我試了一下,完全可行,但配置比較麻煩。第一,上麵這些外接設備都需要從平板取點,而平板是電池供電,電量與功率都不夠,需要使用時同時對HSB-Hub供電;第二,很luck,我的平板micro-usb支持MHL,可以輸出高清。但這個MHL的協議有些混亂,不同廠家的支持還不一樣,還好我用的是那個很大眾的三星,小費一番周折還是能夠找到配合的視頻輸出線。
其實現在我在用一種更簡便的辦法連接管理我的server:SSH和VNC。SSH是通過字符界麵連接到平板的Linux上,對於我這樣整天接觸Command Line的人,絕對是快速又方便。準備工作隻需要在Linux上麵安裝OpenSSH,然後按照Service啟動,將你想要默認端口22從防火牆打開,之後就可以從客戶端訪問了。
VNC是Linux上最常用的遠程桌麵軟件。Linux上麵安裝server端,啟動。其它電腦上安裝客戶端,連接到server提供的URL上,登錄密碼就可以了。我在我的Windows PC和ChromeBook上分別安裝了客戶端,7寸屏幕的內容被映射到24寸顯示器上,清晰也不慢。
接下來是軟件安裝和配置部分。這個小server上麵我定製了10數個應用。
一個個人網站,內網的,沒申請外網IP。在自己家裏搭建一個,放些好玩的東西,蠻有意思的,更新起來也不需要FTP了,直接拷貝就可以了。服務器上順便搭建了一個家庭相冊,由於是局域網,速度很快。我用的是Apache Http Server,還有無數種其它組合。
一個家庭Security監控的中央管理器。家裏淘汰不用的手機可以繼續使用它的攝像頭功能。安裝上WebIP之類的軟件,放到支架上可以替代閉路電視監控,在平板上可以統一進行控製,零成本。
一個Git服務器,用來存放自己的部分代碼,比如有些代碼不想放在github上的,可以放在這裏。
一個BT下載機(transmission),可以遠程操作,隨時隨地的下載。
家庭NAS,把所有的文檔、電影、音樂、照片都放在這裏,共享出來,家裏的所有設備(手機、平板、電視盒子、電腦)都可以隨意存取,再也不用擔心iPhone,iPad的空間不夠了,隨時可以看在線電影。
一個私有雲服務ownCloud,可以在任何地方,包括用手機,上傳下載文件,同步日曆等。這個服務比較慢。
一個鬧鍾,整點會報時(早上第一次報時是兒子喊大家起床的錄音),用Cronjob設置,順便把當前本地的溫度,要上班的城市的溫度數都報出來,用的是Google的翻譯引擎在線翻譯。國內的朋友翻牆不方便,可以把翻譯好的音頻文件下載下來,也可以用。
用Cronjob在每周和每天不同的時間段,播放不同的兒歌,故事什麽的,給家裏的小朋友聽,會不由自主的跟著學。
一個語音信箱,發送郵件到一個指定的郵箱,郵件的內容就會被轉換成語音,從平板的音箱播放出來。這個服務也是用的Gppgle的TTS引擎。
網絡收音機,用的不多,因為沒時間去聽。
一個郵件同步器,把我常用的郵箱定時同步到本地,用的是offlineimap,然後用mutt收發。
自動上傳視頻文件到google Drive,我用手機或者運動相機拍攝的視頻,我隻要把它拖到NAS的一個目錄裏麵,腳本就會自動把這些視頻重新命名,把文件名改成日期和時間,方便以後查找,然後自動上傳到google drive,同時自動按日期分類。
一個網絡跳板,我可以遠程操作家裏的電腦,因為家裏的電腦主板支持WAKE-ON-LAN。這個和前麵的幾個功能一樣,我沒有申請公網IP,所以隻能在家裏用。
一個網站資源下載器,比如文章、圖片。可以寫一些腳本去解析你常去的小說網站,自動下載更新。用SQLite,重複文件自動刪除。程序中把User Agent設置為知名瀏覽器,比如Chrome, IE等,否則可能會被拒絕下載。
一個dnsmasq服務,用來做內網的DNS服務器,解決了小寶看Netflix動畫片上癮的問題,cronjob定時把Netflix網址解析到127.0.0.1,隻有規定的時間可以看。
平板上本身帶的2G空間當然是不夠的,我在外接了一個128G的U盤,mount到平板的Linux上。24x7工作,除了偶爾幾次接口莫名其妙的接觸不良,重新插拔一下就好了。
上麵提到的各種應用,正常都在一個安裝了Linux的普通PC上實現的,但是使用平板特別的地方,就是它的尺寸小,不耗電,無噪音,價格低。大部分人不會把一台PC放在家裏24小時的開著,卻可以接受平板這樣24x7的開著。
作者保留版權