如何配置Windows Terminal,使启动时特定PowerShell窗格自动执行指定SSH命令
如何配置Windows Terminal,使启动时特定PowerShell窗格自动执行指定SSH命令
当然可以实现这个需求!Windows Terminal的自定义配置能力很强,只要稍微调整一下它的设置文件就能搞定。下面给你两种靠谱的方法,选你觉得顺手的来:
方法一:直接修改启动布局的命令行参数
- 第一步:打开Windows Terminal的设置界面,按下快捷键
Ctrl+,(Ctrl加逗号)就行,或者点击窗口顶部的下拉菜单,选「设置」。 - 第二步:在设置页面左下角,找到「打开JSON文件」按钮,点击它打开
settings.json配置文件——这是我们要修改的核心文件。 - 第三步:找到
"startupActions"字段(如果没有就自己添加到配置根目录下),这个字段定义了Terminal启动时自动执行的动作。 - 第四步:根据你现有的5个窗格布局,调整对应的命令。比如你的布局是先打开Ubuntu,然后依次拆分出PowerShell、PowerShell、CMD、Ubuntu,那可以把第二个PowerShell的命令改成带SSH隧道的版本:
这里的"startupActions": "new-tab -p \"Ubuntu\"; split-pane -p \"PowerShell\" -d \"ssh -qD1111 myserver\"; split-pane -p \"PowerShell\"; split-pane -p \"CMD\"; split-pane -p \"Ubuntu\""-d参数就是给这个窗格指定启动后要执行的命令。如果担心SSH断开后窗格自动关闭,可以改成:"startupActions": "new-tab -p \"Ubuntu\"; split-pane -p \"PowerShell\" -d \"powershell.exe -NoExit -Command 'ssh -qD1111 myserver'\"; split-pane -p \"PowerShell\"; split-pane -p \"CMD\"; split-pane -p \"Ubuntu\"" - 第五步:保存
settings.json,关闭Terminal再重新打开,第二个PowerShell窗格就会自动执行SSH命令了。
方法二:创建自定义PowerShell配置文件(更灵活)
如果你以后可能还要复用这个带SSH的PowerShell环境,推荐用这个方法:
- 第一步:同样打开
settings.json文件,找到"profiles"->"list"数组,在里面添加一个新的配置项:
这个配置会创建一个专门用来启动SSH隧道的PowerShell profile。{ "name": "PowerShell (SSH隧道)", "commandline": "powershell.exe -NoExit -Command \"ssh -qD1111 myserver\"", "hidden": false, "source": "Windows.Terminal.PowershellCore" } - 第二步:修改
"startupActions"字段,把第二个窗格的profile换成我们刚创建的这个:"startupActions": "new-tab -p \"Ubuntu\"; split-pane -p \"PowerShell (SSH隧道)\"; split-pane -p \"PowerShell\"; split-pane -p \"CMD\"; split-pane -p \"Ubuntu\"" - 第三步:保存配置,重启Terminal就能看到效果了。
补充一句:如果你之前已经通过UI调整好布局并保存为默认,那"startupActions"里会有自动生成的命令,你只需要找到对应第二个PowerShell的split-pane行,按照上面的方法修改就行,不用重新写整个布局命令。
备注:内容来源于stack exchange,提问作者Saeed
相关产品推荐
相关产品推荐

