在 Linux 的終端機中有 top 和 htop 系統資源狀態的即時監控指令可以玩,若想在 Windows 中呈現類似效果,gsass1/NTop 是一隻可以玩玩看得工具。這時候我就想要在開啟 Windows Terminal 的時候自動分割視窗並執行 NTop,要達成這樣的效果,可以這樣玩設定。
先來看一下最後的效果:

NTop
首先,要先下載 NTop 這隻工具程式,可以用 Chocolatey choco install ntop.portable 或 Scoop scoop install ntop 來安裝,或者也可以直接到 NTop 的 Release 頁面 下載預先編譯好的版本到本機,並設定好環境變數,使之可以直接在終端機上執行該程式。
通常我在執行這個工具的時候,會再搭配排序參數 -s,因此我這邊會用的指令是下面這樣,根據記憶體使用量排序:
1 | ntop -s "MEM" |
Windows Terminal 命令列
這裡才是這篇的重點,要如何在 Windows Terminal 啟動時,自動分割視窗並執行指定的程式。
Windows Terminal 有提供使用命令列的方式來開啟,使用方式如下:
1 | wt.exe [options] [command ; ] |
指令中的 options 設定參數,是用來設定啟動的視窗尺寸、要執行的 Profile 等設定,後面可接開啟後要執行的 command 命令,並用 ; 來分隔指令,因此可以串接執行多個命令。
為了要達到本文想要的效果,可以執行下面的命列:
1 | wt.exe --maximized --profile PowerShell; split-pane --horizontal --size 0.2 --profile PowerShell /k ntop -s "MEM" |
各個命令和設定的用途如下(依參數順序說明):
wt.exe啟動 Windows Terminal--maximized最大化視窗--profile PowerShell載入 PowerShell 這個 Profile
split-pane分割視窗--horizontal用水平的方式分割--size 0.2新的分割視窗佔 20% 的原視窗比例--profile PowerShell /k ntop -s "MEM"載入 PowerShell 並執行ntop命令
如此一來就可以達到想要的效果。
更多關於 Windows Terminal 命令列的使用方式,可以參考這篇官方文件:使用 Windows 終端機的命令列引數。
Windows Terminal 設定檔
如果想要每次啟動 Windows Terminal 視窗時,都呈現這樣的效果,可以修改 Windows Terminal 的 settings.json 設定檔(目前尚未有設窗介面可以修改,必須開啟檔案編輯),在裡面加入 startupActions 這個設定屬性,這個設定是用來客製化啟動時的執行令命,因此就可以將上面所要執行的 command 命令搬進去,修改後如下:
1 | { |
這邊我額外設定 launchMode 使其啟動時最大化視窗尺寸。
這樣之後啟動 Windows Terminal,就會自動分割視窗給 NTop 即時監控系統資源,方便我們查看當前系統資源的使用狀況了。
更多關於啟動設定,請參考這篇官方文件:Windows 終端機中的啟動設定。
參考資料: