2015/11/23

QNAP Ubuntu Station: 透過 NAS 上的 HDMI 輸出,使用 Ubuntu 桌面


今年年中敝部門第一項作品 Container Station 發佈後,年底第二項作品也終於要登場,Ubuntu Station。

QNAP NAS 是少數幾個有支援 HDMI 輸出的 NAS 品牌,過去公司開發了 HD Station,HD Station 針對了電視上使用的族群設計並結合一些常用應用程式,像 Kodi,YouTube TV。

Ubuntu Station 也是使用了 NAS HDMI 輸出,但輸出的是 Ubuntu 桌面,藉此讓 QNAP NAS 能有更多輕鬆的客制化方式。以下將對 Ubuntu Station 的功能做介紹。

完整的 Ubuntu 功能

此 Ubuntu 是由 LXC Ubuntu 14.04.3 (約 11 月初的版本) 客制化而成,原先 Ubuntu 可以使用的應用程式或套件管理系統 apt 皆能正常使用,因此過往在 NAS 很難安裝其他自由軟體在 NAS 上的問題也能迎刃而解。下圖是使用指令安裝 VLC 播放器的螢幕截圖:



除了一般的軟體外,QNAP 針對 DKMS (Ubuntu 內動態編譯 kernel module 的機制) 也有做修正;舉例來說若要安裝 VirtualBox ,按照官網說明即可安裝,與一般軟體不同的是,在安裝中會編譯 VirtualBox 需要的 kernel module (vbox*.ko) 並安裝至系統中,QNAP 有針對這個流程優化,下圖即是在 Ubuntu Station 使用 VirtualBox 安裝 Windows 7 的截圖:



整體來說 QNAP 在這裡是儘可能的減少客制化,以提供跟光碟安裝出來相同的使用情境。(其實 QNAP 做了不少 bug fixes)

QTS 網頁控制頁面

在第一次安裝只需在 QNAP NAS App Center 裡點選安裝 Ubuntu Station 即可,開啟 Ubuntu Station 網頁控制頁面,第一次使用時約需下載 700 MB root file system,以及從 Ubuntu repository 下載更新,完成安裝後網頁界面如下圖:



它除了可控制解析度,聲音來源,另外我們提供的網頁界面的 VNC 可直接遠端操作 Ubuntu。

資料匣同步

在 Ubuntu 內也有 /share 資料匣這部份完全跟 NAS shared folder 同步,此外開啟 Ubuntu 檔案總管 (nautilus),我們將 NAS shared folder 直接放在左邊的 Sidebar,讓使用者更容易操作 NAS 上的檔案,如下圖左上視窗,而在 NAS 上的 File Station 也多了個 Ubuntu 類別直接存取 Ubuntu 登入使用者的家目錄,如下圖右下:



藉此,像是 NAS 原本提供的服務,如 Backup Station 將可直接備份 Ubuntu 檔案到遠端電腦。

獨立 IP

原先在 LXC 網路設計是用 veth,這樣的網路架構對於要開 port 給別人存取的服務會很不方便,所以這部分 QNAP 故意改用 bridge 到 default gateway 的網卡,讓 Ubuntu 也能有跟 NAS 同一個網域的 IP。

LXC 原生效能,安全,硬體加速

LXC 提供了接近原生效能,也更安全,我想這 2 點不用多說。靠著原本 LXC 設計的架構 QNAP 授與它直接與 graphic 硬體存取能力,因此原本這張顯卡能提供多少的能力,在 Ubuntu Station 也能提供相同能力,下圖顯示了 glxinfo and VAAPI 的支援狀況:


總結

目前看來 Ubuntu Station 應能在 TS-X53A 推出時一同上市,而其它較新的機種(X51, X53, X70, X71...)應該在 12 月中一同支援。因為小弟家裡是 TVS-471,這台應該能得到更好的支援(誤)


最後我想學跟蛋黃哥一樣躺著說:好~累~喔~

3 comments:

sauhsoj said...

Any plans to do a Ubuntu 16.04 build?

Unknown said...

Ubuntu 16.04 is under testing, which plans to be available on App Center in the middle of May.

sauhsoj said...

Great - looking forward to it.
I tried forcing an in-place do-release-upgrade and it broke everything.