2026年10月4日 星期日

讓 BRIX 開機就提供 Ollama 服務:systemd 自動啟動與 SSH 測試紀錄

智慧生活科技|本地 AI 服務實作

讓 BRIX 開機就提供 Ollama 服務:systemd 自動啟動與 SSH 測試紀錄

把 GIGABYTE BRIX GB-BTIP-N150 設定成家中的本地 AI 主機後,若每次開機都要登入 Ubuntu 再手動執行 ollama serve,使用上並不方便。本次透過 Ubuntu 的 systemd 服務管理器,讓 Ollama 在開機後自動啟動,並從 Windows CMD 透過 SSH 驗證服務。

測試環境與目標

  • 主機:GIGABYTE GB-BTIP-N150,16GB 記憶體。
  • 作業系統:Ubuntu 26.04.1 LTS。
  • Ollama 版本:0.35.1。
  • 模型:qwen3:4b-instruct-2507-q4_K_M。
  • Windows 端透過 SSH 連線,之後可再由 Python 程式建立 SSH 隧道呼叫模型。

目標是讓 Ollama 成為 Ubuntu 的系統服務:即使 BRIX 尚未登入桌面,服務也能在開機時啟動,等待 Windows 端連線。

一、確認 Ollama 執行檔位置

先透過 SSH 登入 BRIX,在 Ubuntu shell 查詢 Ollama 路徑:

which ollama

建立 systemd 服務時,ExecStart 必須填入這個指令顯示的實際路徑,再加上 serve。例如路徑若為 /usr/local/bin/ollama,服務啟動指令就是 /usr/local/bin/ollama serve。

二、建立 Ollama systemd 服務

本機原本沒有 ollama.service,因此手動建立服務設定檔:

sudo nano /etc/systemd/system/ollama.service

服務以 nfusrai 帳號執行,並指定該帳號的家目錄,使服務可使用同一帳號下載的模型。API 綁定在 localhost,Windows 端仍透過 SSH 隧道連線。

[Unit]
Description=Ollama Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=nfusrai
Group=nfusrai
Environment="HOME=/home/nfusrai"
Environment="OLLAMA_HOST=127.0.0.1:11434"
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target
路徑提醒:上例的 /usr/local/bin/ollama 要依照 which ollama 的結果調整。存檔時在 nano 按 Ctrl+O、Enter,再按 Ctrl+X 離開。

三、啟用服務並立即測試

重新載入 systemd 設定,並啟用服務。enable 會設定開機自動啟動;--now 也會立刻啟動服務:

sudo systemctl daemon-reload
sudo systemctl enable --now ollama

查看服務狀態與 API 版本:

systemctl is-enabled ollama
systemctl is-active ollama
curl http://127.0.0.1:11434/api/version

本次服務狀態回報 enabled、active,API 回傳:

{"version":"0.35.1"}

四、重開機驗證不需登入

為確認服務確實能在重新開機後自行啟動,執行:

sudo reboot

BRIX 重開機時 SSH 會中斷。等待主機重新上線後,從 Windows CMD 重新登入:

ssh nfusrai@192.168.1.114

登入後再次檢查:

systemctl is-enabled ollama
systemctl is-active ollama
curl http://127.0.0.1:11434/api/version
重開機後的實際結果:
is-enabled:enabled
is-active:active
API:{"version":"0.35.1"}

這表示 Ollama 已在 BRIX 開機後自動啟動,不必先登入 Ubuntu 桌面,也不必手動執行 ollama serve。

五、SSH 密碼輸入失敗的原因

重開機後,Windows CMD 曾連續出現 Permission denied。後來確認原因不是 SSH 服務故障,也不是 Ollama 設定問題,而是 Windows 輸入法當時停在中文模式,輸入的密碼字元與實際密碼不同。切換回英文輸入模式後,SSH 即成功登入。

Linux 終端機輸入密碼時不會顯示星號或文字,因此畫面沒有變化是正常的。輸入前應切換為英文/半形模式,並留意 Caps Lock 與鍵盤配置;輸入完成後按 Enter。

六、這次測試的結論

BRIX 已設定好開機自動執行 Ollama。Ubuntu 桌面即使停在登入畫面,systemd 仍會在背景啟動 Ollama 服務;Windows 可在主機開機並連上網路後,透過 SSH 登入或由 Python 自動建立 SSH 隧道,呼叫 minPC 上的模型。

智慧生活科技專業社群|GIGABYTE BRIX × Ubuntu systemd × Ollama × SSH

沒有留言:

張貼留言