使用 Windows Terminal 连接远程主机
Intro
Windows Terminal 是微软新推出来的一个全新的、流行的、功能强大的命令行终端工具。包含很多来社区呼声很高的特性,例如:多 Tab 支持、富文本、多语言支持、可配置、主题和样式,支持 emoji 和基于 GPU 运算的文本渲染等等。同时该终端依然符合我们的目标和要求,以确保它保持快速、高效,并且不会消耗大量内存和电源。
在前几天的微软开发者 Build 大会上, Windows Terminal 发布了 1.0 正式版,可以从微软的应用商店进行下载,之前一直用的 XShell 去管理远程 Linux 主机,用上 Terminal 之后就放弃了 XShell,直接使用 ssh
了,如果你还未开始使用 Windows Terminal ,强烈建议你尝试一下,也许你会爱不释手~
使用一览
上面的截图中后面选项三个都是我手动添加 Profile,都是 Linux 主机,使用时只需要点击一下,输入密码即可登录远程主机,然后就可以在你的远程主机上尽情玩耍了~~
Windows Terminal 配置文件
配置指南可以参考微软的官方文档 https://aka.ms/terminal-documentation/https://github.com/microsoft/terminal/blob/master/doc/user-docs/UsingJsonSettings.md
Github 上的开源主题分享:https://github.com/atomcorp/themes https://atomcorp.github.io/themes/
如果你之前用的 XShell 之类的终端工具喜欢使用 Shift + Insert 来粘贴文本的话也可以配置快捷键来实现,使之更符合自己的使用习惯,默认是 Ctrl+Shift+C 复制,Ctrl+Shift+V 粘贴
新建远程主机 Profile
新建的 Profile 示例配置如下:
{"name": "weihanli.xyz", // 会显示在 Tab 的下拉选项中"tabTitle": "pipeline@weihanli.xyz", // 打开后的 Tab 标题"colorScheme" : "AdventureTime", // 颜色主题,与下面定义的 schemes 中的主题的名称对应"commandline": "ssh pipeline@weihanli.xyz", // 执行的命令"icon": "C:\\Users\\liweihan\\Pictures\\Saved Pictures\\7604648.jpg" //图标路径,不仅支持本地路径还支持网络图标
}
这里我是不需要设置为默认打开的 profile 所以没有配置 guid,如果需要配置为默认打开的 profile,则需要添加一个唯一的 guid ,然后修改上面的 defaultProfile 的值为新添加的 profile 的 guid 即可
颜色主题配置:
颜色主题我是从 https://atomcorp.github.io/themes/ 这里找了几个觉得还不错的主题,可以在这里找自己喜欢的主题,然后再加一些自定义的配置调整,我的颜色主题配置如下:
// Add custom color schemes to this array
// https://atomcorp.github.io/themes/
"schemes":
[{"name": "AdventureTime","black": "#050404","red": "#bd0013","green": "#4ab118","yellow": "#e7741e","blue": "#0f4ac6","purple": "#665993","cyan": "#70a598","white": "#f8dcc0","brightBlack": "#4e7cbf","brightRed": "#fc5f5a","brightGreen": "#9eff6e","brightYellow": "#efc11a","brightBlue": "#1997c6","brightPurple": "#9b5953","brightCyan": "#c8faf4","brightWhite": "#f6f5fb","background": "#1f1d45","foreground": "#f8dcc0"},{"name": "Atom","black": "#000000","red": "#fd5ff1","green": "#87c38a","yellow": "#ffd7b1","blue": "#85befd","purple": "#b9b6fc","cyan": "#85befd","white": "#e0e0e0","brightBlack": "#000000","brightRed": "#fd5ff1","brightGreen": "#94fa36","brightYellow": "#f5ffa8","brightBlue": "#96cbfe","brightPurple": "#b9b6fc","brightCyan": "#85befd","brightWhite": "#e0e0e0","background": "#161719","foreground": "#c5c8c6"},{"name": "cyberpunk","black": "#000000","red": "#ff7092","green": "#00fbac","yellow": "#fffa6a","blue": "#00bfff","purple": "#df95ff","cyan": "#86cbfe","white": "#ffffff","brightBlack": "#000000","brightRed": "#ff8aa4","brightGreen": "#21f6bc","brightYellow": "#fff787","brightBlue": "#1bccfd","brightPurple": "#e6aefe","brightCyan": "#99d6fc","brightWhite": "#ffffff","background": "#332a57","foreground": "#e5e5e5"},{"name": "Flat","black": "#222d3f","red": "#a82320","green": "#32a548","yellow": "#e58d11","blue": "#3167ac","purple": "#781aa0","cyan": "#2c9370","white": "#b0b6ba","brightBlack": "#212c3c","brightRed": "#d4312e","brightGreen": "#2d9440","brightYellow": "#e5be0c","brightBlue": "#3c7dd2","brightPurple": "#8230a7","brightCyan": "#35b387","brightWhite": "#e7eced","background": "#002240","foreground": "#2cc55d"},{"name": "Galaxy","black": "#000000","red": "#f9555f","green": "#21b089","yellow": "#fef02a","blue": "#589df6","purple": "#944d95","cyan": "#1f9ee7","white": "#bbbbbb","brightBlack": "#555555","brightRed": "#fa8c8f","brightGreen": "#35bb9a","brightYellow": "#ffff55","brightBlue": "#589df6","brightPurple": "#e75699","brightCyan": "#3979bc","brightWhite": "#ffffff","background": "#1d2837","foreground": "#ffffff"},{"name": "Tomorrow","black": "#000000","red": "#c82829","green": "#718c00","yellow": "#eab700","blue": "#4271ae","purple": "#8959a8","cyan": "#3e999f","white": "#ffffff","brightBlack": "#000000","brightRed": "#c82829","brightGreen": "#718c00","brightYellow": "#eab700","brightBlue": "#4271ae","brightPurple": "#8959a8","brightCyan": "#3e999f","brightWhite": "#ffffff","background": "#ffffff","foreground": "#4d4d4c"},{"name": "Tomorrow Night","black": "#000000","red": "#cc6666","green": "#b5bd68","yellow": "#f0c674","blue": "#81a2be","purple": "#b294bb","cyan": "#8abeb7","white": "#ffffff","brightBlack": "#000000","brightRed": "#cc6666","brightGreen": "#b5bd68","brightYellow": "#f0c674","brightBlue": "#81a2be","brightPurple": "#b294bb","brightCyan": "#8abeb7","brightWhite": "#ffffff","background": "#1d1f21","foreground": "#c5c8c6"},{"name": "Tomorrow Night Blue","black": "#000000","red": "#ff9da4","green": "#d1f1a9","yellow": "#ffeead","blue": "#bbdaff","purple": "#ebbbff","cyan": "#99ffff","white": "#ffffff","brightBlack": "#000000","brightRed": "#ff9da4","brightGreen": "#d1f1a9","brightYellow": "#ffeead","brightBlue": "#bbdaff","brightPurple": "#ebbbff","brightCyan": "#99ffff","brightWhite": "#ffffff","background": "#002451","foreground": "#ffffff"}
]
More
从上面我们可以看的出来,其实可以玩的有很多,
命令可以根据自己的需要进行定制,上面是连接一个远程的Linux主机,我们也可以通过 powershell 连接远程的 Windows 主机,也可以打开在某一个位置打开固定的 shell 等等,
主题可以高度自定义,除了上面的几个主题用到的颜色,前景色,背景色之外还可以针对 profile 配置背景图透明度等
快捷键绑定自定义,可以让你的使用习惯一如往常
总之,如果你还没有用上 Windows Terminal ,强烈建议使用一下,感受一下全新的命令行终端
Reference
https://aka.ms/terminal-documentation
https://github.com/microsoft/terminal
https://github.com/microsoft/terminal/blob/master/doc/user-docs/UsingJsonSettings.md
https://github.com/kerol2r20/Windows-terminal-context-menu
https://github.com/atomcorp/themes
https://www.zhihu.com/question/37181941/answer/695147545