Windows Server 2012 汱換計畫
TL;DR
之前唸書時微軟送的 Windows Server 2012 己經不支援 Plex 和 Docker 這類新的應用。但又不想花錢買新的版本在一台主要是下載和家用影音的伺服器上。所以把作業系統全面改成 Linux 來取代相關的功能。
前言
這台 Lenovo ThinkServer 440 也差不多買了快10年了。但平時也只是用來下載,提供網路存取服務,遠端登入來看家裡的監控系統。之前唸書時微軟有給學生免費的 Windows Server 2012 來安裝,用了那麼多年也都沒什麼問題。但最後原來 iPad 上的 AirVideo HD App 完全不能用後,我本來想改裝 Plex,才發現己經不支援 Windows Server 2012。而且我想安裝Docker來試試 Stash (謎片管理軟體),也發連 Docker 都不支援了。以前面對 Linux 還是會怕怕的,但為了省個幾百塊美金,我願意嚐試轉到 Linux 上來讓這台老舊 Server 再戰個幾年。畢竟微軟現在的方針在讓你在他們雲端 Azure 上體驗,但不也不想一直付月費來提供這麼簡單的功能。以我需要的硬碟容量和下載量,應該是不便宜吧。而且我也不想把我的謎片放到雲端上啊。🤣
講了這麼多理由,其實就是想省錢和保護我的謎片隱私😅😍。我就先列出我需要的功能。
需要的功能和軟體
需要的功能和軟體如下。大部份還是跟下載有關係的。
- GUI 圖型介面
- Remote Desktop 遠端桌面
- Fileserver 內部檔案分享伺服器
- Torguard VPN 要下載一定要用 VPN
- Dyndns (動態網域名工具。我有個 chaoman.dyndns.tv 的網址)
- eMule 電驢 (沒錯,我還在用)
- JDownloader (下載工具)
- Bitorrent 當然也是要下載BT的
- VLC 影片播放器
- Virtual Machines 虛擬環境
- 7-zip 解壓縮
- Docker 虛擬環境
- 中文字支援和輸入
- Stash 謎片管理工具
- (Optional) Baidu downloader 百度下載
- (Optional) Xunlei downloader 迅雷下載
1. GUI 圖型介面
sudo apt update
sudo apt upgrade -y
sudo apt install tasksel
tasksel --list-tasks #看看有什麼介面可以選
sudo tasksel
進入以下選單之後,就選了 GNOME 就進行安裝。此步驟需要一點時間。基本上這步安裝好後本機重開後就會有桌面的畫面了。

2. Remote Desktop 遠端桌面
1. 先安裝 TigerVNC 可以登入 GNOME
sudo apt install slim #選擇 slim
sudo apt install tigervnc-standalone-server
#Start up vnc session for vn viewer 開始一個 VNC 的程序
vncserver -localhost no #此步會問你設一個桌面的密碼和僅限查看的帳號。我跳過因為只有我一個人用。
基本上這步驟做完後己經有 VNC 遠端桌面的功能。如果去https://tigervnc.org/下載客戶端也是可以重 Windows 上遠端登入。但記得端口(port)是5901。我的遠端服務器是192.168.0.190:5901下面就是用 TigerVNC 遠端登入的畫面。

2. 再來安裝 ubuntu 桌面。我比較喜歡原裝橘色的介面。
sudo apt-get install ubuntu-desktop
3. xRDP 是可以讓 Ubuntu 直接用 Windows 內建的 Remote Desktop Connection 直接遠端登入,不用再安裝新的軟體。但需要下載一個腳本來執行。如果對這腳本的安全性有疑問,我問過 ChatGPT,回應是這腳本在社區裡被廣泛使用。也沒有明顯的安全疑慮。在Reddit上有解答過,所以應該是安全可以使用的。
下載連結:https://c-nergy.be/blog/?p=20236
安裝步驟如下。也是用 ChatGPT 翻譯的😅。先用 ssh 登入到伺服器去裡執行。
步驟 1 – 下載腳本
要下載此腳本,有多種方法。您可以在終端機 (Terminal) 中執行以下命令:
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.5.4.zip
步驟 2 – 解壓縮檔案
下載 zip 壓縮檔後,您需要先解壓縮它。要在終端機中解壓縮,可以輸入以下指令:
unzip xrdp-installer-1.5.4.zip
您也可以使用圖形介面 (GUI) 與 Nautilus 檔案管理器,選取已下載的壓縮檔,按右鍵並選擇 Extract Here(在此解壓縮)。
步驟 3 – 設定腳本執行權限
將 xrdp-installer-1.5.4.sh 腳本下載到系統後,解壓縮並標記為可執行檔。在終端機中輸入以下指令:
chmod +x ~/Downloads/xrdp-installer-1.5.4.sh
注意:請依照您的實際環境調整 xrdp-installer-1.5.4.sh 的路徑。
步驟 4 – 以一般使用者身份執行
此腳本需要以一般使用者身份執行。執行時,若有需要使用 sudo 的動作,系統會提示您輸入密碼。
若您直接以 root 或使用 sudo 方式啟動腳本,因為 root 使用者並沒有 Download 資料夾,將導致腳本無法正常執行。
為避免此問題,腳本會檢查執行者的身分。如果是以 root 或 sudo 執行,會顯示警告訊息並停止執行。
步驟 5 – 參數與選項
xrdp-installer-1.5.4.sh 可以直接執行(不帶任何參數或選項)。這會進行標準(基本)安裝,包含遠端桌面、磁碟重導向及剪貼簿重導向,但 不包含音效或自訂登入畫面。
此外,xrdp-installer-1.5.4.sh 也支援一些額外參數,可用於自訂安裝與啟用進階功能:
--help 或 -h => 顯示基本說明選單
--sound 或 -s => 啟用音效重導向
--loginscreen 或 -l => 自訂 xRDP 登入畫面
--remove 或 -r => 移除 xrdp 套件
--custom 或 -c => 進行自訂安裝(從原始碼編譯)
--dev 或 -d => 使用開發分支進行自訂安裝(不穩定版本)
--unsupported 或 -u => 跳過作業系統檢查,強制在不支援的系統上執行(自行承擔風險)
--perm 或 -p => 修正 xrdp 檔案權限(較少用到)
--encoding 或 -e => 使用 openH264 套件新增 H.264 協定支援
步驟 6 – 使用腳本安裝 xRDP
以下將提供一些範例與使用情境:
標準安裝 – 不帶參數
如前所述,您可以使用 Ubuntu 軟體庫中的 xrdp 套件進行基本安裝,提供遠端桌面功能並保持本機與遠端登入環境一致。
執行方式:開啟終端機,切換到腳本下載位置,並輸入以下命令:
./xrdp-installer-1.5.4.sh
當安裝開始後,系統會要求輸入密碼。輸入密碼後,等待腳本執行完成。
注意:安裝完成後,系統不會自動重新啟動,您可以檢視腳本執行過程中的動作。
標準安裝 – 搭配參數
您也可以在標準安裝模式下加入參數,以啟用更多功能。例如:
./xrdp-installer-1.5.4.sh -s (啟用音效重導向)->如果需要遠端音效的,選這項。
./xrdp-installer-1.5.4.sh -l (自訂 xrdp 登入畫面)
接下來這步驟就因人而異了。我剛提到我比較喜歡 Ubuntu 原本的介面,就選5囉。

參數可自由組合,例如:
./xrdp-installer-1.5.4.sh -s -l (同時啟用音效重導向與自訂登入畫面)
重要注意事項
此腳本可以在同一台機器上多次執行。
如果您一開始以「無參數」方式安裝,後續想要啟用額外功能,只需重新執行腳本並加入所需的參數,即可開啟新的功能。
最後安裝完畢後,就可以直接用 Windows內建的遠端桌面連結程式登入桌面囉。也不用再加上 5901 的端口。

2/8/2026 追加設定
但是,我用 Windows 的遠端登入軟體要登入會常出現閃跳的問題。就是一登入後就跳回登入的畫面。在 /var/log/xrdp.log 裡出現下面的錯誤.
[20260130-22:43:15] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20260130-22:43:15] [INFO ] Module "MicrosoftAccount" specified by chaoman from ::ffff:192.168.0.129 port 8002 is not configured. Using "Xorg" instead.
[20260130-22:43:15] [INFO ] connecting to sesman on 127.0.0.1:3350
[20260130-22:43:16] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20260130-22:43:16] [INFO ] sesman connect ok
[20260130-22:43:16] [INFO ] sending login info to session manager. Please wait...
[20260130-22:43:16] [INFO ] xrdp_wm_log_msg: login successful for user chaoman on display 11
[20260130-22:43:16] [INFO ] login successful for user chaoman on display 11
[20260130-22:43:16] [INFO ] loaded module 'libxup.so' ok, interface size 10296, version 4
[20260130-22:43:16] [INFO ] started connecting確定是使用 Xorg (極重要)
修改下面的檔案
sudo nano /etc/gdm3/custom.conf
找到下面這行。把註解#拿掉。
WaylandEnable=false
儲存設定後。重開機
sudo reboot
⚠️ 這步驟是在Ubuntu 22.04 / 24.04上必要的。
3. Fileserver 內部檔案分享伺服器
安裝 Samba 服務
Samba 是在 Linux 上一個開放的SMB (Server Message Block)/CIFS (Common Internet File System)協定。可以讓 Linux 和 Windows 系統檔案分享的通訊協定。
道要要安裝 Samba。先遠端登入到終端機(Terminal)下或遠端桌面的 Terminal 裡安裝。
sudo apt update
sudo apt install samba
安裝完畢後,可以用以下的指令來檢查安裝是否成功。
chaoman@ubuntuserver01:~$ whereis samba
samba: /usr/sbin/samba /usr/lib/x86_64-linux-gnu/samba /etc/samba /usr/libexec/samba /usr/share/samba /usr/share/man/man7/samba.7.gz /usr/share/man/man8/samba.8.gz
設定 Samba
如果是第一次使用 Samba。現在 Samba 已經安裝完成,我們需要建立一個目錄供其分享:
mkdir /home/chaoman/sambashare/ # 比如在我個人的目錄下分享一個目錄叫 sambashare
以上指令會在我們的家目錄中建立一個新的資料夾 sambashare,稍後我們將用它來做分享。
Samba 的設定檔位於 /etc/samba/smb.conf。要將新目錄加入為分享項目,我們需要編輯該檔案,執行:
sudo nano /etc/samba/smb.conf
在檔案的最底部,新增以下內容:
[sambashare]
comment = Samba on Ubuntu
path = /home/username/sambashare
read only = no
browsable = yes
我們剛剛新增的內容說明:
- [sambashare]:分享的名稱。這會顯示在瀏覽遠端伺服器中。
- comment:對該分享項目的簡短描述。
- path:我們分享目錄的路徑。
- read only:當設為
no時,允許修改分享資料夾中的內容;若為yes則僅能讀取。 - browsable:當設為
yes時,像 Ubuntu 預設的檔案管理員等工具,會在「網路」底下顯示此分享項目(有時候也寫作 browseable)。
設定完成後,請儲存檔案並重新啟動 Samba,使其生效:
sudo service smbd restart
接著,更新防火牆規則以允許 Samba 流量:
sudo ufw allow samba
建立使用者帳號並連線到分享
由於 Samba 不使用系統帳號的密碼,我們需要為使用者帳號設定一個 Samba 密碼:
sudo smbpasswd -a username
之後去 Windows 機器上在網路分享裡打入 \\<servername\ 或是 IP 位置 \\192.168.0.168\ 就可以看的到剛才分享的目錄囉。

4. Torguard VPN 要下載一定要用 VPN
我是使用 Torguard 的VPN服務。當然也是可以用其它的方法來連結。但我既然已經有桌面環境,那就使用官方的客戶端。
下載連結:https://torguard.net/downloads.php(需要登入)。之後我們選擇 Ubuntu 的客戶端。

安裝完後,就出現以下的登入畫面了。打入帳戶和密碼,再選擇想連結的VPN國家服務器。但是,我們還要再安裝 Wireguard用戶端。打開 Terminal 打入以下的指令就可以了。
sudo apt install wireguard
安裝完 Wireguard之後,再回去介面就可以順利連結啦。但是介面的文字和視窗對不到上😅。可能在 Linux 上常會出現視窗對不上的狀況。但VPN連線是完全沒問題啦。

5.Dyndns
稍微講解一下 Dynamic DNS 的功能。由於家裡的IP位置是浮動的,想在遠端要靠網域名就要綁定動態網域名服務。我訂購的服務是 Dyn (Oracle 旗下的子公司了)。所以我想遠端登入伺服器的網域就可以打像是 http://chaoman.dyndns.org 就可以了。其實有不少解決的方法,https://help.ubuntu.com/community/DynamicDNS 上介紹了不少個,我也試過 Dyn 給的用戶端,但那個版本非常舊,也不支援高解析畫素,就放棄了。但我現在發現最簡單的是用 Linux 裡原裝的 ddclient。把原文翻成中文的介紹如下。
安裝 ddclient
你可以使用軟體套件管理器安裝 ddclient,或透過命令列執行以下指令:
sudo apt install ddclient
如果這是你第一次安裝 ddclient,安裝過程中會提示你輸入在 DynDNS(或其他動態 DNS 服務)註冊的主機名稱。系統還會要求你輸入在該服務註冊的使用者名稱與密碼(如下圖)。
最後,它會詢問你主要用來連線至網際網路的網路介面(通常有線為 eth0,無線為 wlan0)。
一般情況下,這樣的設定就足以讓工具正常運作。

編輯設定檔
如果你之後需要修改設定(例如變更服務、主機名稱或其他參數),可以手動編輯 ddclient 的設定檔。
使用以下指令開啟設定檔(Kubuntu 使用 kate,Ubuntu 使用 gedit 也可):
sudo nano /etc/ddclient.conf
設定更新間隔時間
若要設定更新的秒數間隔,可以加入以下一行:
daemon=3600 #3600秒
由於我的動態 IP 很少變更,因此我設定為每小時(3600 秒)檢查一次。
啟用安全 SSL 連線
若要使用安全的 SSL 通訊,加入以下設定:
ssl=yes
使用 DynDNS 的 IP 偵測服務
若要使用 DynDNS 的 checkip 服務自動偵測目前的 IP 位址,加入以下設定:
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
最終設定檔範例
以下是完整的設定檔範例:
# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
#
# 或使用 DynDNS 的 IP 偵測服務。
# 登入 DynDNS 網站並透過 SSL 更新 IP。
protocol=dyndns2
ssl=yes
usev4=webv4, webv4=ipify-ipv4
login=chaoman
password=Nexus1@2011
daemon=3600
mysite_1.dyndns.org, mysite_2.dyndns.org, mysite_3.dyndns.org
測試設定是否運作
執行以下指令檢查設定是否正確:
sudo ddclient -daemon=0 -debug -verbose -noquiet
新增更多服務或網域名稱
你可以在設定檔中新增額外的區塊,以更新其他動態 DNS 服務或網域。例如:
protocol=otherDDNSservice
server=whatever.ddnsservice.org
login=MyOtherDDNSserviceusername
password=MyOtherDDNSservicepassword
mysite4.dnsservice.org, mysite5.dnsservice.org
🎉你現在已能設定並使用 ddclient 自動更新動態 DNS,無論使用 DynDNS、Dynu 或其他服務,都能輕鬆維護你的動態 IP 對應。
6.eMule
沒錯,是不是有人想懷疑都已經2025年了,怎麼還有人在用eMule/eDonkey下載東西?我覺得還可以用,尤其我是找一些懷舊的東西,像是漫畫和老歌一類的。KAD上一直都有些人在掛著。但是 Linux 上沒有 eMule,但取而代之的是aMule。去Software軟體中心找aMule 就可以看到。但裡頭有二個。一個是大寫的aMule,另一個是小寫的amule。也都是用一樣的圖示。我就選第一個有人評論的那個。如同下圖。

但是,要能順利下載,必須確定防火牆有打開。首先在介面裡點選 Preference -> Connection。看到裡頭有 TCP 4662, UDP 4665, 4672 三個端口。你要去Router裡的防火牆(Firewall)和端口轉移(Port forwarding)內把對應的端口打開才能使用。開啟之後就不會有low ID 的問題了。

7.JDownloader
JDownloader是我目前用過最好用的下載軟體,尤其是對應YouTube和一些免費空間。去Software軟體中心找JDownloader 就可以看到。
Update 10/13/2025: 我發現在 Snap Software 裡頭下載的 JDownloader 不能把檔案放到其它的硬碟內。這篇文章提到必須要特別定義設定或用下載中的 shell script 安裝。也必須要安裝 (JRE) Java runtime environment
就來一步步的手動安裝吧。首先來檢查有沒有可以執行 Java 的環境。
java --version #檢查有沒有安裝 JRE
Command 'java' not found, but can be installed with: #這個就看出我們尚未支援 Java
sudo apt install openjdk-17-jre-headless # version 17.0.16+8~us1-0ubuntu1~24.04.1, or
sudo apt install openjdk-21-jre-headless # version 21.0.8+9~us1-0ubuntu1~24.04.1
sudo apt install default-jre # version 2:1.17-75
上前的提示有不少JRE版本。可視需求應人而異。我沒有什麼特殊需求,就預設版本就好。
sudo apt install default-jre #就安裝預設的版本就好了.
去JDownloader 的下載頁面找Linux 版本。下載JDownloader2Setup_unix_nojre.sh。這安裝程式只能在 X 視窗裡安裝,遠端桌面也可以,但不能直接在 ssh 裡執行。


但是呢,我的銀幕是4K解析度的。在遠端桌面 JDownloader 2 的視窗實在是小在不行。最近老花眼也犯了。來看有沒有什麼可以調整的部分。

爬了一下Reddit,上面也有人跟我有一樣的問題。首先要去Settings -> Settings -> Advanced Settings 找跟LAFSettings相關的設定。 (注意: 去 Advanced Settings 裡會有警告提示提行功能變更會影響軟體的穩定,安全和效能性。要小心使用)
LAFSettings: Font Scale Factor
預設是100。我一口氣先加到200來看看。記得改完要重啟JDownloader。改完再進入看來好多了。但是之後安裝完中文字體後,還要再回來改字體。要不然有些字是看不到的。

如果要下載YouTube影片,把連結貼進去之後會提醒要下載 FFmpeg編碼器。就直接下載安裝重新啟動就好了。使用介面跟在 Windows 上是完全一樣的。用起來完全無縫。這就是 Java 跨平台的好處。
8.Bitorrent
Transmission 已經內建在 Ubuntu桌面環境裡。不用再另外安裝啦。讚。👍

9. VLC
Snap software 裡頭就有VLC了了。直接安裝就可以了。
10. Virtual Machines 虛擬環境
Virtual Machines 虛擬環境也是我常用的應用之一。但最多就是建立一台或二台來實驗一些功能。現在或許要考慮弄一台Windows的虛擬環境反過來登入。Linux上有不少方法,以下介紹這二個。
- QEMU: 開放源碼的
- Virtualbox: Oracle 旗下的方案
QEMU:
安裝超級簡單。就在終端機下面打入指令就好了。
sudo apt install qemu-system
有己經建立好的影像檔可以直接部署。 https://github.com/markstinson/qemu-images。但是感覺就是舊舊的。我們就先不繼續研究。來看看 Virtualbox
Virtualbox
相對的,Virtualbox 就有相當多的影像檔可以下載。首先我們先安裝Virtualbox。
先到https://www.virtualbox.org/wiki/Linux_Downloads來下載 Ubuntu 的安裝檔。先查一下我是24.04 Noble 的版本。所以要下載這個 https://download.virtualbox.org/virtualbox/7.2.2/virtualbox-7.2_7.2.2-170484~Ubuntu~noble_amd64.deb
chaoman@chaoubuntuserver01:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.3 LTS
Release: 24.04
Codename: noble
安裝完後打開來就可以看到以下畫面。我們來玩一個 Android 的影像https://virtualboxes.org/images/android-x86/. 下完解壓縮到一個目錄。我是直接放到 Downloads 裡頭。
第一個步驟就是按New建立一個新的虛擬機器

再來就是填寫一些基本的參數。我是選以下。

剛剛解壓縮完有一個Android_x86.vdi檔。這就是虛擬硬碟。選這個來當作硬碟。

設定好選開機就看到令人懷念的舊版 Android 介面。

還有非常多不同己經製作好的影像檔可以好好利用。大都是 Linux 環境內的。以下的連結可以找找有沒有有興趣的。(還在找尋 Windows 的影像)。
https://www.osboxes.org/virtualbox-images
https://www.microsoft.com/en-us/software-download/windows11
11. 7-zip 解壓縮
我平時是習慣用 7-zip 來解和壓縮。但在 Linux 上就有內建了。官網上有文字介面的版本。 https://www.7-zip.org/download.html。暫時不需要,就先跳過。
12. 安裝 Docker Desktop(Ubuntu)
參訪這個連結來獲取安裝資訊 https://docs.docker.com/engine/install/ubuntu
先決條件(Prerequisites)
要成功安裝 Docker Desktop,請確保:
- 符合一般系統需求。
- 使用 x86-64 架構 的系統,並執行 Ubuntu 22.04、24.04 或最新的非 LTS 版本。
- 如果你 沒有使用 GNOME 桌面環境,必須安裝 gnome-terminal 以啟用從 Docker Desktop 開啟終端機的功能:
sudo apt install gnome-terminal
首先安裝 Docker 引擎
1. 設定 Docker 的套件庫(repository)
# Add Docker's official GPG key: 添加Docker的官方GNU隱私保護金鑰。
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources: 把Docker軟體套件庫來源也加進來
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
2. 安裝 Docker 引擎
#安裝 Docker 最近版本
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker 服務安裝後應該自動就會開始。可以用以下的指令來確認。
sudo systemctl status docker
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-18 04:55:19 UTC; 1h 49min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 2701190 (dockerd)
Tasks: 11
Memory: 21.7M (peak: 22.8M)
CPU: 909ms
CGroup: /system.slice/docker.service
└─2701190 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
如果沒有看到以上的狀態。可以以下的指令來啟動。
sudo systemctl start docker
🐳 安裝 Docker Desktop
- 下載最新版的 DEB 套件
- 去下載的目錄下使用 apt 安裝套件:
sudo update
sudo apt install ./docker-desktop-amd64.deb
💡 注意:
在安裝結束時,apt 可能會顯示一則錯誤訊息,這是因為它嘗試安裝一個手動下載的套件。
此訊息可以安全地忽略:
N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
預設情況下,Docker Desktop 會安裝在:
/opt/docker-desktop
DEB 套件中包含一個 安裝後腳本(post-install script),會自動完成額外的設定步驟。
安裝後腳本(Post-install script)的主要動作:
- 設定 Docker Desktop 執行檔的權限,使其能夠綁定特權埠並設定資源限制。
- 在
/etc/hosts新增 Kubernetes 專用的 DNS 名稱。 - 建立符號連結(symlink),將:
/usr/local/bin/com.docker.cli → /usr/bin/docker
這是因為傳統的 Docker CLI 安裝在 /usr/bin/docker,
而 Docker Desktop 會安裝一個包含 雲端整合功能 的 CLI 包裝程式(wrapper)於 /usr/local/bin/com.docker.cli。
此連結可確保新的 CLI wrapper 能夠正確呼叫傳統 Docker CLI。
啟動 Docker Desktop

使用圖形介面啟動:
- 在 GNOME 或 KDE 桌面 中,找到 Docker Desktop 應用程式。
- 點擊 Docker Desktop 以啟動。
- 首次啟動時,會顯示 Docker 訂閱服務協議(Subscription Service Agreement)。
- 選擇 「Accept」 以繼續。
- 若未同意條款,Docker Desktop 將不會啟動。
- 你可以稍後重新開啟 Docker Desktop 並接受條款。
更多資訊請參閱官方的 Docker Desktop Subscription Service Agreement,
建議也閱讀相關的 常見問題(FAQs)。
啟動 Docker Desktop 時遇到 Virtualization support 的錯誤信息

🖥️ Docker Desktop 與 KVM 支援。Docker Desktop 執行於一個需要 KVM(Kernel-based Virtual Machine) 支援的虛擬機器中。
✅ 驗證並載入 KVM 模組
如果主機具備虛擬化(Virtualization)功能,kvm 模組通常會自動載入。
若未自動載入,可手動執行以下指令:
modprobe kvm
根據主機 CPU 的類型,需要載入對應的 KVM 模組:
modprobe kvm_intel # Intel 處理器
modprobe kvm_amd # AMD 處理器
🔍 檢查 KVM 狀態與診斷
若上述指令執行失敗,可以使用以下命令檢查診斷資訊:
kvm-ok
要確認 KVM 模組是否啟用,可執行:
lsmod | grep kvm
範例輸出:
chaoman@chaoubuntuserver01:~/Downloads$ lsmod | grep kvm
kvm_intel 487424 0
kvm 1409024 1 kvm_intel
irqbypass 12288 1 kvm
🔐 設定 KVM 裝置使用者權限
檢查 /dev/kvm 的擁有權:
sudo usermod -aG kvm $USER
登出並重新登入,讓新的群組權限設定生效。 重新再開啟 Docker Desktop 就可以看到以下畫面了。

成功安裝後,可使用以下指令檢查版本:
docker compose version
範例輸出:
Docker Compose version v2.40.0-desktop.1
啟用開機自動啟動
若要在登入電腦時自動啟動 Docker Desktop:在 Docker 功能表中,選擇:

安裝 hello-world 影像來確認安裝是否成功
sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
17eec7bbc9d7: Pull complete
Digest: sha256:6dc565aa630927052111f823c303948cf83670a3903ffa3849f1488ab517f891
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
13. 中文字支援和輸入
之前在 22 版上看中文網頁會出現亂碼。但這個問題在24版本上已經解決了。但還是記錄一下怎麼把中文輸入法打開的步驟。同時也一起打開日文。
先安裝中文字的介面
在桌面上去 Settings -> System -> Manage Installed Languages。把常用的文字加進來。

再安裝中文輸入法
在中文輸入方法,主要我是用倉頡,忘記的字就改成拼音。注音我是完全忘完光了。日文的話我是用Romaji羅馬字拼音方法。我們就來安裝吧。
首先先處理中文輸入的部份。 ubuntu 桌面上預設的是 ibus 輸入法。我們就先安裝注音和倉頡輸入法。
sudo apt install ibus ibus-chewing ibus-table-cangjie5
#chewing 是注音
#ibus-table-cangjie5 是倉頡第5代
安裝完之後,要重新啟動 ibus 或重登出再登入桌面環境才會生効。
ibus restart
在桌面上去 Settings -> Keyboard -> Input Sources -> + Add Input Source…就可以看到相對的選項了。我們去 Chinese (Taiwan) 裡找出倉頡和拼音。日文羅馬字輸入是 Mozc

以下就是我需要的輸入法。

至於怎麼切換輸入法,在遠端桌面環境下是 Super + Space 也就是 Windows 鍵 + 空白鍵囉。桌面右上角會顯示所選的輸入法。切換之後就可以順利的輸入中日文了。

14. Stash porn organizer 謎片管理
前陣子在逛 Github 時看到一個很有意思的案子。專門管理謎片的工具。實在是太有意思了。我安裝完後發發挺方便的。就好像有了一個自己私人的 YouTube 一樣。這裡有個 NSFW 的影片介紹。
其實也是因為要安裝這軟體讓我發現 Windows Server 2012 已經不堪使用無法支援新的軟體了。例如:Docker。當然 Stash 有提供 Linux 版本的 binary二進位檔案,但即然我們剛剛已經裝了 Docker,就直接裝上 Docker 版本試試看。安裝的連結和說明如下:
https://github.com/stashapp/stash/blob/develop/docker/production/README.md。
mkdir stashapp && cd stashapp #先在我的 /home/chaoman 下建立新的目錄給 stash後進入目錄.
curl -o docker-compose.yml https://raw.githubusercontent.com/stashapp/stash/develop/docker/production/docker-compose.yml #下載 docker-compose yaml 文件
前置作業做好後,我們進入 docker-compose.yml 檔來修改影片文件放置的目錄。我大部份的謎片是放在另一個硬碟 /media/chaoman/Fuwari/AirVideoStreaming 內。我們找到 volumes: 的部份做路徑的修改
volumes:
#- /etc/localtime:/etc/localtime:ro
- /media/chaoman/Fuwari/AirVideoStreaming:/media/chaoman/Fuwari/AirVideoStreaming:ro
就可以直接安裝和啟動。
sudo docker compose up -d
完成啟動後,看到以下的畫面就是好了。
chaoman@chaoubuntuserver01:~/stashapp$ sudo docker compose up -d
[+] Running 2/2
✔ Network stashapp_default Created 0.0s
✔ Container stash Started 0.2s
預設的端口是 9999。所以回到瀏覽器網址列打主機IP加上端口9999就看到設定畫面了。 設定非常容易。只要確定謎片的路徑,其它都預設就完成啦。

FFmpeg
Stash 使用 FFmpeg 來處理影像。所以必須要安裝。但它很貼心的在 Settings 可以下載和安裝。 但是官方是推薦Linux 上自行安裝.

自行安裝的指令如下:
sudo apt install ffmpeg
安裝完利用下面指令就查旬目錄在那裡。ffprobe 是跟著 ffmpeg 一起裝的。但執行檔位置不同。設定目錄也需要 Python 。也一併查詢出來。
chaoman@chaoubuntuserver01:~/stashapp$ which ffmpeg ffprobe python3
/usr/bin/ffmpeg
/usr/bin/ffprobe
/usr/bin/python3
附加的加值軟體
想要完整的下載體驗,我也一併介紹百度和迅雷的替代方案。
15. Baidu downloader 百度下載
官方網站的下載點是:https://pan.baidu.com/download#pan。Ubuntu 是 Debian 的分支,所以下載 .deb 的格式。開啟 software 安裝 baidunetdisk。這樣就可以了。
16. Xunlei downloader 迅雷下載
這裡有個非官方版的開放原始碼軟體 https://github.com/Greedysky/TTKDownloader 。我們下載 TTKDownloader-3.1.0.0-ubuntu-22.04-x64.deb 這個版本。安裝完就有下面的畫面了。
