好想在 iPad 上跑 寫程式/跑Linux 喔 #
自從入手 13 吋 iPad Pro 之後,雖然各方面都很滿意,但總覺得少了點什麼。 iPad Pro 硬體雖然強大,但畢竟不是一台真正的桌機系統,對於程式開發來說還是有些限制。 雖然像 iPad Linux、UTM、iSH 這類工具可以在 iPad 上跑 Linux,不過目前只有歐盟用戶可以合法 sideload UTM,台灣用戶想要取得較好的效能,幾乎只能靠越獄。
所以,有沒有更優雅的方式? 其實透過網路遠端操作 Linux,利用 Webtop 就能輕鬆實現這個願望!
什麼 Webtop? #
Webtop 是一種「Web 桌面環境」(Web Desktop Environment),讓你可以直接在瀏覽器中,像操作一般桌面作業系統(例如 Windows 或 Linux)一樣,遠端操作和管理伺服器。 常見的 webtop 解決方案通常會把完整的 Linux 桌面環境打包成 Docker container,你只要啟動 container,再用瀏覽器連線,就能操作。
Webtop 有什麼用途? #
- 遠端開發:像 VSCode、Terminal 直接在 server 上用。
- 跨平台桌面:用手機、平板、Mac/Windows 瀏覽器隨時存取你的 Linux 桌面。
- 輕鬆分享環境:只需分享一個網址,對方就能用瀏覽器進來操作,不需安裝額外軟體。
為什麼要用 webtop? #
- 不用安裝 VNC、RDP 或其他遠端桌面軟體,瀏覽器就能搞定。
- 多人協作、Demo 展示超方便。
- 能快速體驗不同的桌面環境或軟體。
安裝與部署 Webtop #
本教學文章假設你擁有一台 Synology 的 NAS,如果沒有的話,原則你也可以用類似的設定用自己的電腦跑 Docker 來架設 Webtop。
安裝 Container Manager #
-
先確認你的 NAS 有安裝
Container Manager
。
配置 Docker 使用的硬碟 #
-
接下來我們要為遠端 Linux 的Docker 配置硬碟空間
-
在 File Station 新增兩個資料夾
docker
這是我們要安裝Linux 的資料夾(用 Create Folder)data-containers
這是我們要讓 Linux 跟其他設備共用的分享資料夾 (用 Create Shared Folder)
讀取自己的 uid 與 gid #
-
打開 Control Panel 裡面的 Task Scheduler。
-
按
Create
新增一個任務Git ID
, User 的地方選你自己的使用者帳號。 -
在 Schedule 的分頁,選擇不要重複(Do not repeat),之後我們要手動運行。
-
在 Task Setting 的分頁則在 Run command 的區域輸入:
id > /volume1/docker/id.txt
-
手動按
Run
運行新增的Get ID
任務後,會在剛剛新增的docker
硬碟中多出一個檔案id.txt
。下載該檔案打開後,我們要記得裡面兩個數字,分別是uid
和gid
。
透過 Docker 安裝 Webtop #
-
我們先整理一下部署 Webtop 所需要的一些資訊:
帳號:
dailypypy
(webtop 的帳號,最好跟你 NAS 使用者的帳號不同)
密碼:my_password
(webtop 的登入密碼,最好跟你 NAS 的密碼不同)
uid:1026
(剛剛在id.txt
裡面的數字)
gid:100
(剛剛在id.txt
裡面的數字)
連接阜 (http) :4567
(不需要的話可以不用)
連接阜 (https):4568
(有加密,最好用這個) -
有了這些資訊後,我們再次回到 Task Scheduler 然後新增一個任務稱作
Install Webtop
,使用者選root
。 -
Schedule 排程一樣選擇 Do not repeat,不然你的 webtop 會被反覆重寫。
-
在 Task Settings 分頁裡面的 Run command 貼上以下代碼,記得把帳號、密碼、uid、gid、連結阜那些的改成你自己的數字喔。
docker run -d --name=webtop \ -e PUID=1026 \ -e PGID=100 \ -p 4567:3000 \ -p 4568:3001 \ -e TZ=Taiwan \ -e CUSTOM_USER=dailypypy \ -e PASSWORD=my_password \ -e TITLE="Webtop" \ -e DOCKER_MODS=linuxserver/mods:universal-package-install \ -e INSTALL_PACKAGES=font-noto-cjk \ -e LC_ALL=zh_TW.UTF-8 \ -v /volume1/docker/webtop:/config \ -v /var/run/docker.sock:/var/run/docker.sock \ --shm-size="3gb" \ --restart always \ lscr.io/linuxserver/webtop
如果想要換不同版本的 Linux 也可以在這邊挑選喜歡的版本喔。
-
完成後,手動按 Run 我們的 NAS 就會開始部署這個 Docker 了。
連上 Webtop #
如果你有使用 Synology 的 Quick connect,你只需要在瀏覽器輸入 https://your_quick_connect_id.synology.me:4568
。最後面的數字要記得改成你設定的 https 連結阜喔。
另外要記得,如果你的網路有設置防火墻,最後先連上 VPN 或是允許你的webtop https 連結阜對外,這樣在外面才能連上喔。