2026年11月10日 星期二

好書 : 全民養龍蝦!OpenClaw 超入門

這本旗標出版的書內容循序漸進, 內容編排很不錯, 前陣子我在樹莓派上安裝 OpenClaw 主要就是按照此書內容施工, 由於母校圖書館可以借到所以就沒買 :


書中的指令與設定檔可在旗標網站取得 :


macOS 學習筆記 : 設定 Touch ID 指紋

Macbook Air 右上角電源鍵上的圓形區域用來讓使用者免輸入密碼, 按指紋即可登入系統. 本篇旨在紀錄註冊指紋的設定方式.

本系列全部測試文章索引參考 :


開啟螢幕左上角的蘋果選單, 點選 "系統設定" :




向下滑動左側側邊欄, 點選 "Touch ID 與密碼", 按 "加入指紋" 鈕 : 




輸入本機開機密碼以授權安全性變更 :




畫面中央會出現一圈灰色指紋圖示, 並提示反覆將手指輕放在電源鍵上識別, 總共可任意輸入三枚指紋, 通常是右手食指, 左手食指, 以及右手拇指 : 




辨識結束按完成鈕 :



下面是完成三枚指紋的結果 :




這樣以後要喚醒休眠中的筆電, 只要將註冊的手指放在電源鍵上, 辨識完成即可登入系統. 

樹莓派學習筆記 : WiFi 連線中斷重新連線設定

這幾天發現我佈署在 Pi 4 上的 OpenClaw 沒有回應, 檢查發現是 WiFi 網路連線中斷所致, 本篇旨在紀錄如何防止此情況的做法. 本系列全部測試文章索引參考 :



樹莓派 (特別是 Pi 4B 內建的 Cypress/Broadcom 無線晶片) 在長時間運作時斷線且無法自行恢復, 此乃 Linux 嵌入式環境中非常經典的硬體與驅動問題, 以下是我詢問 Gemini 的摘要 : 
  • WiFi 晶片省電休眠 :
    樹莓派作業系統預設會開啟 wlan0 的無線節電功能, 當一陣子沒有網路流量時, 晶片會進入低功耗睡眠狀態, 往往在 AP (路由器) 發送探測訊號時沒能及時回應導致路由器判定離線.
  • 底層驅動狀態僵死 :
    當連線突然中斷時, 晶片硬體或底層驅動可能仍以為介面處於連線中, 但上層網路服務(NetworkManager 或 wpa_supplicant) 已經掉封包或無法更新 DHCP 租約. 因為系統沒有明確收到硬體斷線的中斷信號, 自動重連邏輯就根本不會被觸發, 介面就卡死在有 IP 或假連線, 但實際上 ping 不出去的假死狀態. 
  • 路由器自動漫遊或頻段切換 :
    家用 Wi-Fi 若將 2.4GHz 與 5GHz 合併為同一個 SSID, 路由器嘗試強制叫樹莓派切換頻段時, 樹莓派網卡很容易切換失敗並直接卡死. 
避免此問題的解決辦法如下 :


1. 永久關閉 Wi-Fi 省電模式 : 

Gemini 說先用下列指令檢查樹莓派目前的省電模式設定 :

pi@pi4b:~ $ iw dev wlan0 get power_save   
Power save : on 

用 nano 開啟開機介面設定檔 /etc/rc.local : 

pi@pi4b:~ $ sudo nano /etc/rc.local

輸入如下內容後按 Ctrl + O 存檔再按 Ctrl + X 跳出 nano :

iw dev wlan0 set power_save off
exit 0




但再次檢查節能設定還是 on : 

pi@pi4b:~ $ iw dev wlan0 get power_save   
Power save : on 

原來 Raspberry Pi OS 自 Debian 12 Bookworm 之後已經全面改用 NetworkManager 來掌管網路, 而 NetworkManager 自身的電源管理設定優先級高於 iw, 所以即使手動或透過 rc.local 關閉, NetworkManager 也會在背景自動把它改回 power_save on. 

解決方法是直接在 NetworkManager 全域設定中關閉 Wi-Fi 省電, 執行下列指令直接新增一個全域覆蓋設定檔 (數值 2 在 NetworkManager 中代表 NM_SETTING_WIRELESS_POWERSAVE_DISABLE, 徹底停用 WiFi 節能) :

pi@pi4b:~ $ sudo tee /etc/NetworkManager/conf.d/default-wifi-powersave-off.conf << 'EOF'
[connection]
wifi.powersave = 2
EOF

然後重新載入網路管理服務讓設定生效 : 

pi@pi4b:~ $ sudo systemctl restart NetworkManager

再次檢查節能設定就會變成 off 了. 

pi@pi4b:~ $ iw dev wlan0 get power_save   
Power save : off


2. 建立輕量級的 WiFi 看門狗 (Watchdog) 腳本程式 : 

用 nano 編輯一個 wifi-watchdog.sh 腳本程式 : 

pi@pi4b:~ $ sudo nano /usr/local/bin/wifi-watchdog.sh

貼上如下程式後按 Ctrl + O 存檔再按 Ctrl + X 跳出 nano : 

#!/bin/bash
# 探測目標(可填路由器 IP 或 8.8.8.8)
TARGET="8.8.8.8"

# ping 3 次,若全數失敗則重啟無線網路
if ! ping -c 3 -W 5 "$TARGET" > /dev/null 2>&1; then
    echo "[$(date)] WiFi connection lost, resetting network..." >> /var/log/wifi-watchdog.log

    # 優先使用 NetworkManager 重新連線
    if command -v nmcli > /dev/null 2>&1; then
        nmcli device disconnect wlan0
        sleep 2
        nmcli device connect wlan0
    else
        # 備用方案:重啟介面
        ip link set wlan0 down
        sleep 2
        ip link set wlan0 up
    fi
fi

此腳本執行時會用 ping 對外發送 3 次 ICMP 封包 (預設目標為 8.8.8.8), 只要有任何 1 次成功收到回應就代表網路暢通, 腳本直接安靜結束不做任何動作. 若連續 3 次 ping 都失敗 (完全失聯), 就會觸發修復動作, 第一時間先在 /var/log/wifi-watchdog.log 寫入帶有時間戳記的斷線紀錄方便日後排查問題. 

然後自動重啟網卡恢復連線, 若系統使用 nmcli 就直接執行 disconnect wlan0 再 connect wlan0, 讓 NetworkManager 重新觸發握手與 DHCP 獲取 IP; 若無 nmcli 則改用底層指令強制將網卡帶下再重啟 (p link set wlan0 down / up). 

接下來賦予此腳本執行權限 :

pi@pi4b:~ $ sudo chmod +x /usr/local/bin/wifi-watchdog.sh

設定系統管理排程 crontab 中 :

pi@pi4b:~ $ sudo crontab -e 

在最底下加入如下排程後按 Ctrl + O 存檔再按 Ctrl + X 跳出 nano :

*/3 * * * * /usr/local/bin/wifi-watchdog.sh > /dev/null 2>&1

這樣系統就會每 3 分鐘執行一次上面腳本檢查 WiFi 連線, 若發現樹莓派 Wi-Fi 假死或斷線時就自動修復連線. 

用下列指令可直接檢查看門狗專屬的紀錄檔 : 

pi@pi4b:~ $ cat /var/log/wifi-watchdog.log

若回應檔案不存在或內容是空的, 代表目前 Wi-Fi 訊號很穩定, 每次 ping 8.8.8.8 都有通, 因此腳本安靜結束完全沒有發生斷線重連; 反之若看到帶有時間戳記的 "WiFi connection lost, resetting network...", 表示曾有斷線並成功觸發修復. 

也可用 journalctl 指令查詢 Cron 服務日誌 : 

pi@pi4b:~ $ sudo journalctl -u cron | grep wifi-watchdog | tail -n 10

若看到每隔 3 分鐘就有一筆如下的執行輸出, 表示 crontab 排程有正常運作 :



macOS 學習筆記 : 開啟終端機的三個方法

終端機是 Vibe Coding 時最常用的應用程式 (Antigraivity/Claude Code/Codex), 本篇旨在整理三個開啟終端機的方法.

本系列全部測試文章索引參考 :



1. 使用 Spotlight 搜尋 : 

按 Command + Space 鍵叫出 Spotlight 搜尋列, 輸入 tetminal 後按 Enter 即可 :




2. 透過 Finder 應用程式目錄 :

點擊 Dock 上的 Finder (笑臉圖示) :




點選左側選單的 "應用程式" (或按 Command + Shift + A), 再點選 "工具程式" (Utilities) :




點擊 "終端機" 即可 : 




3. 透過 App (應用程式) : 

點擊 Dock 上的 App 鈕 : 




點擊 "終端機" 開啟 :




開啟啟終端機後, 在螢幕下方 Dock 欄位的終端機圖示上按滑鼠右鍵 (或雙指點擊觸控板), 選擇 "選項 > 保留在 Dock 上" :




這樣終端機 icon 就會移入 Dock 左邊的長駐工具列, 以後便能一鍵開啟終端機了.

2026年11月9日 星期一

蝦皮購買 USB 線與轉接頭

因 Macbook Air 筆電與 Mac mini 都只有 Type C 插槽, 上蝦皮添購 USB 線與轉接頭 :





明華智取免運 $208 元.

空中英語教室廣播時間

前陣子晶晶體英文的話題隨著選舉熱度上升再度被檢視, 真學霸沈伯洋流利的英文刺激了我的學習魂, 決心要恢復自軍中開始持續 20 幾年每天收聽空英的習慣, 那時每天晚上都會準時收聽 Vicky 老師的空英 Basic (後來晉級到彭蒙惠老師的 Advanced), 直到小狐狸們陸續出生後, 都還把她們放在肚子上陪我躺著聽. 後來因為育兒較忙沒時間聽了, 漸漸地就放掉了這個好習慣, 只剩下每天中午催眠用的美國公共電台 (NPR) 網路廣播. 晚上把塵封已久的收音機拿出來擦乾淨充飽電, 打算每天晚上一邊打電腦一邊收聽. 




先上谷歌查詢空英目前廣播頻道為高雄電台 94.3, 時間是周一~周五 : 
  • 大家說英語 : 21:00~21:30
  • 空英 Advanced : 21:30~22:00
我與空英的第一次接觸是在退伍前, 下戰備後不用再背連值星, 晚點名時就躺在排部集合場旁的長椅上戴上耳機聽剛買的迷你收音機, 那時亂轉電台意外轉到大家說英語頻道, 聽了一會兒發現我竟然大都聽得懂, 從此就每天準時收聽, 持續聽了 20 幾年, 我的英文能力都是靠聽空英聽來的, 也因此檢到了兩次公務出國研習機會. 好習慣要養成真的不容易, 需要堅持與毅力. 孩子們都長大後, 我現在終於有時間來撿回過去的好習慣, 當然這也是要感謝沈伯洋啦. 

2026年11月8日 星期日

2026 年第 43 周記事

老同事阿中的 10 天日本獨旅行程於周五順利結束, 我也不用再每天用 Google 地圖追蹤其蹤跡是否正確. 此次行程達成率近乎 100%, 大大地增強阿中的獨旅信心. 為了感謝我的協助, 週六下午專程帶了兩大袋歐蜜呀給來鄉下老家找我, 我以為應該 3, 4 盒就好, 沒想到居然是兩大袋! 這次我雖然沒有同行, 但看著阿中幫我帶回來的御城印, 吃著美味的廣島土產, 似乎我也去了一趟呵呵. 

由於美股大幅下跌, 我周一周二陸續賣出台達電與 0050, 降低 0056 持股水位以保護獲利. 賣股之餘反手買進台積電零股, 幸好我上周有問 Gemini 關於如何於盤中買賣零股問題才買到, 我之前都只看到盤後零股按鈕, 盤後通常買不到. 但台達電早在五月從沖繩回來就該處理卻沒採取行動 (因為一直看好 AI 與忙於學習), 因而少賺許多, 真是可惜. 最近想用 Claude Code 開發自己的投資儀表板, 避免台達電少賺事件再次發生. 

2026年11月7日 星期六

macOS 學習筆記 : 用終端機查詢 GPU 核心數

前幾天買了胡嘉璽老師的近作 "用 macOS 完整佈署地端模型", 今天在第一章看到如何用終端機指令查詢 GPU 的核心數量, 馬上來查一下上週剛買的二手 Macbook Air M2. 

本系列全部測試文章索引參考 :


指令有三個 : 
  • system_profiler SPHardwareDataType :
    用來查詢 Mac 的核心主機硬體概況, 包含 Mac 機型名稱 (如 MacBook Air), 晶片型號 (如 Apple M2), 核心總數, 記憶體大小, 硬體序號 (Serial Number) 以及 UUID 等, 相當於系統選單 "關於這台 Mac" 的命令列完整版, 用於全面確認機器的基本身分與硬體配置. 
  • system_profiler SPDisplaysDataType | head -10 :
    用來查詢顯示晶片 (GPU) 與螢幕面板資訊, 包含 GPU 核心, 內建螢幕解析度, 色彩深度及外接顯示器的詳細資訊, 因為顯示資料很長, 此處用管線 head -10 強制只列印前 10 行, 方便快速預覽最頂層的 GPU 核心與主螢幕概要, 可用來快速確認螢幕原生解析度, 視網膜顯示模式或 GPU 規格, 避免落落長的一大串報表洗版. 
  • sysctl hw.memsize hw.ncpu machdep.cpu.brand_string :
    此指令會掃描系統, 取得核心變數 (sysctl) 例如 CPU 與記憶體的原始數據, 回應非常快速, 適合寫在 Shell Script 或自動化檢測腳本中調用. 參數說明如下 :
    • hw.memsize : 總記憶體容量 (以 Byte 為單位顯示, 例如 16GB 會顯示 17179869184).
    • hw.ncpu : 可用的 CPU 核心總數. 
    • machdep.cpu.brand_string : 處理器的品牌名稱字串 (如 Apple M2). 
查詢結果如下 :

tony1966@TonydeMacBook-Air ~ % system_profiler SPHardwareDataType

Hardware:


    Hardware Overview:


      Model Name: MacBook Air

      Model Identifier: Mac14,2

      Model Number: Z15S003GYTA/A

      Chip: Apple M2

      Total Number of Cores: 8 (4 performance and 4 efficiency)

      Memory: 16 GB

      System Firmware Version: 13822.41.1

      OS Loader Version: 11881.140.96

      Serial Number (system): H4HDJSDHKSDAZ

      Hardware UUID: 8A2600F8-17BE-520D-AE17-SJDGJKSDJHDJSAHDJS

      Provisioning UDID: 00008112-ASJDJSHAJHDJSHDJASE

      Activation Lock Status: Enabled


可見 GPU 為 8 核心. 注意, 其中 Serial Number, Hardware UUID, Provisioning UDID 為機敏資料, 已經遮蔽. 

tony1966@TonydeMacBook-Air ~ % system_profiler SPDisplaysDataType | head -10 

Graphics/Displays:


    Apple M2:


      Chipset Model: Apple M2

      Type: GPU

      Bus: Built-In

      Total Number of Cores: 8

      Vendor: Apple (0x106b)

      Metal Support: Metal 3


Metal 支援 v3. 

tony1966@TonydeMacBook-Air ~ % sysctl hw.memsize hw.ncpu machdep.cpu.brand_string 

hw.memsize: 17179869184

hw.ncpu: 8

machdep.cpu.brand_string: Apple M2


其中 hw.memsize 是 bytes 數, 換算成 GB 數為 16GB. 

2026年11月6日 星期五

Klook 購買 JR HARUKA 車票

今天用 Klook app 購買京都大阪奈良賞楓之旅 11/23 從關西空港直達京都車站的 JR HAROKU 特急列車車票 7 張, 每張 588 元, 票價比起去年我與水某去京都時漲了 137 元, 參考 :


我問 Gemini 是否賞楓旺季所致, 非也, 原來是 JR 西日本前陣子全面調整了外國旅客的票券定價, 並推行新版電子 QR 系統, 調升關西機場至京都的海外特惠票價, 但也比在窗口直接買票要便宜 200 元左右. 











使用中信 LINE Pay 支付. 

參考行程網站 :


訂好票後可以劃位, 但要先確定搭哪班列車, 11/23 虎航班機預定 10:40 到達關西機場 : 

11/23 06:55 KHH → 10:40 KIX

我請 Gemini 評估最適合的班次為 12:44 分開出的 HARUKA 24 號 : 

 
車次 關西機場發車 抵達京都站 評估與長輩友善度說明
HARUKA 20 號 11:44 13:04 太趕(不建議):落地後僅 64 分鐘,出關排隊或領行李稍有延誤就會趕不上,長輩會被迫快步趕車。
HARUKA 22 號 12:14 13:34 出關快速時可選:落地後有 94 分鐘,若入境查驗人潮少、通關順暢,可即時改搭此班提早抵達。
HARUKA 24 號 12:44 14:04 最穩健首選(推薦):落地後預留約 124 分鐘(約 2 小時),從容出關、上洗手間、喝水與悠閒步行至月台,心理負擔最小。
HARUKA 26 號 13:14 14:34 延後備用班次:落地後有 154 分鐘,專為紅葉旺季入境審查人潮嚴重塞車時準備的延後搭乘備案。