c++调用powershell_告别 Windows 终端的难看难用,从改造 PowerShell 的外观开始

article/2025/3/9 20:10:53

811fb18e89f729587b6acc3c510a8e75.png

终端,是用户与操作系统进行交互的最原始的输入输出环境,也是执行一些高级系统操作的必要工具。而 Windows 的终端「小黑框」,一直给大家一种「难看难用」的印象。接下来,我将介绍一些小方法,来对 Windows 的终端环境进行改造,让其使用体验比肩 macOS 和 Linux 的终端。

Console、Terminal 和 Shell 的区别

打住打住,由于我们接下来要分别从「终端」和「命令行解释器」的角度去改造 Windows 终端环境,所以在动手魔改 Windows 终端之前,先听我絮叨一些专有名词:控制台(Console)、终端(Terminal)命令行解释器(Shell)

推荐阅读:What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'console'?

对于现在来讲:

  • 我们打开 Windows 的那个「小黑框」(Command Prompt),实际上就是打开了一个终端(Terminal)
  • 在终端里面「输入命令,得到结果」的交互程序,就是命令行解释器(Shell)

也正因如此,Windows 最新的 Shell 叫 PowerShell。(控制台 Console 则是相对古老的概念,是大型机物理意义上面的独立终端,我们在这里先不探讨这个话题。)使用 macOS 和 Linux 的同学如果听说过 bashzsh 的话,它们同样也是 Shell。

打个比方,Terminal 就像是一个人的衣服,可以有各种颜色、形状甚至功能;那么 Shell 则是这个人,你和他沟通来获得信息,并且他可以在与你沟通的过程中事先告诉你许多信息、提醒,甚至自动帮你补充你想说的话。

7249a35bc20d037f8179acb89b960e42.gif

就像我前面提到的:PowerShell 是 Windows 新一代 Shell。而大家可能更为了解的「小黑框 Command Prompt」则是 Windows 向前兼容的古老作品,bug 多不说,还有诸多不方便。所以我们不用犹豫,直接使用 PowerShell 吧!

接下来,我们来先改造 Windows PowerShell 的外在「默认终端」。

默认的 PowerShell 终端

Windows 为我们提供了一个默认的 PowerShell 终端,可以在 Windows 开始菜单上右键,点击「Windows PowerShell」打开。虽然默认终端有很多限制,但是其技术相对底层,响应就高效迅速,碾压其他所有第三方终端模拟器。我们从默认终端开始魔改。

改进 PowerShell 的字体

不得不承认的是,在中文环境下,默认 PowerShell 的「新宋体」确实很(zhen)不(ta)耐(ma)看(chou)。然而由于默认 PowerShell 终端是一个非常底层的应用,其界面甚至没有利用 WinForm、WPF 等通用 UI 渲染框架来实现,而是直接调用底层 Windows API 来实现,因此其字体要求非常严格。(这也是我们不能随随便便下载一个我们喜欢的等宽字体给 PowerShell 默认终端使用的缘故。)

目前据我所知,唯一支持这一严格要求的字体(中文环境下)只有「Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック」(后面简称更纱黑体),可以从 更纱黑体的 GitHub 页面下载。

34583bc6c91e9b12361ebb892f60574c.png

下载解压安装更纱黑体之后,我们重新启动一个 PowerShell 终端,就可以在菜单栏右键,选择「属性-字体」,并在字体中选择更纱黑体。适合终端使用的等宽字体是「等距更纱黑体 T SC」或「Sarasa Mono T SC」。

b99e3d870ccb2556d1568f2cdae1ee2a.png

这样一来,我们就不必面对新宋体发愁了。

更换 PowerShell 的配色

微软官方提供了一个更换 PowerShell 配色的小工具:ColorTool.exe,我们可以利用它来更换 PowerShell 的主题颜色。ColorTool 支持 iTerm 主题(以 .itermcolors 结尾的主题文件)。

我们可以从 ColorTool 的 GitHub 页面 下载这个小工具。当然,如果你使用 Scoop,也可以这样安装:

scoop install colortool

值得注意的是,如果你是直接从 GitHub 上面下载了 colortool.zip 并解压,colortool.exe 的路径就并没有自动加入环境变量,所以你没有办法全局调用这个工具。因此我更加推荐利用 Scoop 这个优质的包管理来安装 ColorTool。

推荐阅读:「一行代码」搞定软件安装卸载,用 Scoop 管理你的 Windows 软件

ColorTool 使用非常简单。工具自带了几种主题,我们可以利用下面这个命令进行查看:

# 注:-s 代表 schemes
colortool -s

7865f08636d32bf75de9d6b7b6566d08.png

其中前面列出的几个 .ini.itermcolors 就是主题配置文件,我们可以直接通过下面这个命令设置主题:

# 临时查看
colortool <主题名称>
# 定义默认值
colortool -d <主题名称>

比如我们希望将主题配色更换为 OneHalfDark.itermcolors,只需要输入下面这个命令就可以更换并预览更新:

colortool OneHalfDark

6ab73beeb66e25bf2441dfec635d19cb.gif

由于 ColorTool 直接支持 iTerm 主题配置文件,因此我们可以在 iterm2colorschemes 这个网站找到我们想要的主题背景进行配置,方法和上面介绍的一样:在 PowerShell 中定位至你希望更换的主题文件,使用命令 colortool <主题名称>.itermcolors 进行配置即可。同时,如果你对上面的主题都不满意,你也可以直接在这个网站: terminal.sexy 自行配置自己想要的主题,并通过同样的方式进行应用。

第三方终端

默认终端虽然响应迅速,但是其限制诸多,如果你对上面介绍的默认终端有所不满,也可以试一试下面这三个配置更方便,颜值更高的第三方终端模拟器。

Fluent Terminal

Fluent Terminal 是现代的、也是我最推荐的终端。它是专属于 Windows 平台,利用 UWP 技术打造的颜值超高的终端模拟器。

d27f5f3fc3e82afdaadcf7cdbddb9762.png

Fluent Terminal 在 GitHub 上面开源,项目地址在:felixse/FluentTerminal。由于一些原因,作者并没有成功地将软件直接提交给微软商店上架,因此我们需要从 其 GitHub Release 页面 下载安装它。通常情况下,如果你的 Windows 版本较新,可以直接使用 No Dependencies 的那个版本,不过如果接下来你安装过程出现问题,那么就使用第一个安装包。

2a5b2ad5f9cb248b168d9346fcc09b43.png

解压之后,我们得到如下的文件目录:

98a37a06265f4a83554d9357c4c12c4d.png

右键点击 Install.ps1,选择使用 PowerShell 运行,之后按照提示操作即可安装成功。

Fluent Terminal 设置字体和主题颜色则简单得多:

  • 设置界面里,我们可以方便地选择合适的字体。

3d5b72f275973adf27beda6ffafa3164.png
  • 同时,我们也可以在 Profiles 里面将 PowerShell 设置为默认的 Shell。

46e1bcda17cdfd5a25a4260a8460b1c9.png
  • 值得注意的是,Fluent Terminal 也支持 iTerm 主题配置文件,因此我们刚刚下载的主题同样可以在这里使用。

5dbdb1728cc823e810be0a8939af5d4b.png

Fluent Terminal 是利用原生 Windows 10 最新的 UWP 技术打造而成,其响应速度仅稍逊于自带的默认 PowerShell 终端。值得推荐。

Hyper

接下来介绍的 Hyper 以及下面的 Terminus,都是基于 Electron 的跨平台应用,配置方便、插件丰富、界面美丽。当然,避免不了的是 Electron 资源消耗大,打开和响应都没有前面介绍的快,但是它们的拓展性都非常强大,可以试一试。

Hyper 也在 GitHub 上面开源,项目地址在:zeit/hyper,我们可以在 Hyper 的 GitHub Release 页面 下载安装,也可以利用 scoop install hyper 来安装。

99d05c8e9ec4de8abcc37d7c901258b6.png

Hyper 的配置相对复杂,需要直接修改其设置文件 .hyper.js。这里我仅仅介绍如何配置 Hyper 的默认 Shell 和字体,以及如何安装主题、插件的内容。

Hyper 配置的一切都发生在配置文件中,你可以通过快捷键 Ctrl + , 或者直接定位至 C:Users<你的用户名>.hyper.js 来打开配置文件。可以看到已经有很多配置项留给我们修改,其中:

  • 修改字体:
// 以更纱黑体为例子
fontFamily: '"Sarasa Mono T SC", monospace'
  • 修改默认 Shell 为 PowerShell:
shell: 'C:WINDOWSSystem32WindowsPowerShellv1.0powershell.exe',
shellArgs: [],
env: {}
  • 安装主题或其他插件:
// 比如安装这个叫做 hyperterm-cobalt2-theme 的主题
plugins: ["hyperterm-cobalt2-theme"]

很简单,之后我们保存配置文件,Hyper 会自动重新加载,并下载相应的主题或插件并实时更新,只需要等待片刻即可看到我们的配置生效。Hyper 的社区很完善,有大量精美的主题和插件,我们可以在 Hyper 插件 寻找有趣的插件,在 Hyper 主题 挑选配色方案,同时这个 bnb/awesome-hyper 整合仓库也可以参考很多。

Terminus

Terminus 同样也在 GitHub 上面开源,项目地址在:Eugeny/terminus。其实我更推荐 Terminus,因为它原生支持了 Windows Fluent 背景,同时它的设置是 GUI 方式的,更用户友好。

d21a184c4c1a792fac1b26d7f2eb887c.png

安装 Terminus 很方便,我们一样可以从 Terminus 的 GitHub Release 页面 下载安装它,也可以利用 scoop install terminus 来安装。

Terminus 也是为数不多的几个有 Fluent Design 背景的 Electron 应用,我们可以在下面这里开启 Fluent 背景渲染,并把 Background type 改为 Fluent:

54313be1c578b091f2b05036417c4201.png

配置 Terminus 的字体、配色和默认 Shell 都很简单:

  • 在这里我们可以修改字体(Font)和配色主题(Color Scheme):

9ba4032fe9b19b3ad4b082423e944022.png

1242fe28e2aa70f3e398a94a0177a684.png
  • 在这里我们可以选择使用 PowerShell 作为默认的 Shell:

9ba4032fe9b19b3ad4b082423e944022.png

8159d5efae55fe8214f1b22556d337b6.png

Terminus 的可玩性也很足,同样有很多插件可以安装,由于设置界面很清晰,我就不在这里一一列举了。

这篇文章到这里也就大概结束了,我们:

  • 不仅介绍了如何修改默认终端,让我们不需要每天面对新宋体和蓝色背景发愁
  • 还推荐了三个更现代的终端,供大家选择

但是 Windows 终端美化之路还没有到尽头,接下来我还会继续介绍如何让 PowerShellShell 更炫酷,敬请期待。感谢阅读。


http://chatgpt.dhexx.cn/article/P2OUNiIM.shtml

相关文章

个性化-字体

本文具有极强的主观性&#xff0c;但也希望可以给大家提供些许帮助 1. 字体选择标准 用于代码的字体&#xff1a;可以区分明确区分 1lI 和 0Oo具有明确的开源许可协议&#xff08;一般为 SIL Open Font License 1.1 或 IPA Font License 1.0&#xff09;听闻部分字体会对特定像…

你可能用得上的 N 款免费/开源中文字体

除了电脑中那些默认的千篇一律的字体以外&#xff0c;你还知道什么字体&#xff1f;有好用的吗&#xff1f;在网上下载的字体&#xff0c;怕不怕一不小心就侵权了&#xff1f; 现在不用怕了&#xff0c;本文收集了一些免费/开源的中文字体&#xff0c;都是个人免费使用的&#…

linux安装完windows字体以后 特别难看,告别 Windows 终端的难看难用,从改造 PowerShell 的外观开始...

原标题&#xff1a;告别 Windows 终端的难看难用&#xff0c;从改造 PowerShell 的外观开始 终端&#xff0c;是用户与操作系统进行交互的最原始的输入输出环境&#xff0c;也是执行一些高级系统操作的必要工具。而 Windows 的终端「小黑框」&#xff0c;一直给大家一种「难看难…

超级强大服务器终端,告别 XShell 打造强大的Windows 终端

不同于mac OS及Linux的终端&#xff0c;window的cmd想来很难用&#xff0c;为了连接服务器&#xff0c;很多人首先都会用xshell&#xff0c;但是第一界面就很难看&#xff0c;而且试用期过了后很麻烦&#xff0c;这里我找到一款很不错的工具。 Console、Terminal 和 Shell 的区…

Typora 中文字体深度修改

本文的 “深度修改” 将涉及以下方面: Typora 界面元素的字体 Typora 某个主题或所有主题的字体 针对 Markdown Codeblock 区域字体失效现象, 本文也做了修正 (如下图所示) 正文 第一步 打开用户配置文件 (C:\Users\{YourName}\AppData\Roaming\Typora\conf\conf.user.j…

vue项目中字体文件过大(压缩字体文件)

目前做的一个vue项目当中引入了外部的字体文件&#xff0c;打包之后测试发现加载过慢&#xff0c;需等待较长时间才能看到效果&#xff0c;特此记录在vue项目中压缩字体的操作. 安装字蛛 字蛛是一个中文字体压缩器&#xff0c;通过分析本地 CSS 与 HTML 文件获取 WebFont 中没…

或是全球首款接入5G网络手机 华为折叠屏新机2月24日发布

2月21日&#xff0c;华为终端再次宣布2019年2月24日14:00(北京时间2月24日21:00)&#xff0c;旗下首款折叠屏5G手机将在MWC 2019巴塞罗那世界移动大会上正式发布。 在今天官方预告中&#xff0c;华为终端官微强调&#xff0c;自家的折叠屏手机有更多可能&#xff0c;而3天后就是…

几个特别棒的免费可商用字体

免费可商用&#xff0c;且为规避版权风险&#xff0c;所有下载地址都为官方发布地址 站酷免费字体 https://www.zcool.com.cn/special/zcoolfonts/ 【设计师必备 超级棒&#xff0c;有艺术风也有可爱风 每次更新也都在这个地址里】 阿里巴巴普惠体 https://alibabafont.ta…

VS Code中适用于任何中文字体的中英文混合等宽显示的配置方案

在网络上搜索相关配置方案&#xff0c;发现有3种方案&#xff1a;第一种&#xff1a;“VSCode 设置中英混合等宽字体”的作者RJ_Hwang&#xff08;链接“https://www.jianshu.com/p/46fdb5d275a6#comments”&#xff09;&#xff0c;采用等距更纱黑体 SC&#xff08;字体名称配…

Windows Terminal美化增强指南

最终效果 开启复古的 CRT 效果 正常效果 安装 在window商店搜索Windows Terminal&#xff0c;注意不要选择Preview版。 或者在GitHub上下载microsoft/terminal 最开始的样子 查看PowerShell版本 打开PowerShell输入&#xff1a; $PSVersionTable.PSVersion.Major 大家…

github 更纱黑体_【Freeplane相关】一招解决更纱黑体导出思维导图PDF的问题

如下图所示&#xff0c;本人在Freeplane中直接使用更纱黑体导出思维导图PDF&#xff0c;结果导出以后显示的字体却是"方正琥珀"&#xff0c;有时候还会随机崩成其他字体。导出PDF前 导出PDF后 之前在知乎上提了上述问题&#xff0c;链接如下&#xff1a; 想用更纱黑体…

美通社企业新闻汇总 | 百度英业达合作研发超级AI计算平台;《2019大中华薪资指南》发布...

要闻 《2019大中华薪资指南》发布&#xff0c;财会人才需求量依然相当高拜耳推出索来多驱虫项圈&#xff0c;目标中国大城市养宠物女性卡西欧发布与红牛二队最新合作的高性能运动手表百度英业达合作研发超级AI计算平台阿联酋阿布扎比总统府内的文化地标对游客开放Karma汽车在全…

因疫情取消的日内瓦高级钟表展推出线上平台;启迈发布二季度全球供应链报告 | 美通企业日报...

全球抗击新冠疫情 2020“钟表与奇迹”将于4月25日线上揭幕。随着新冠疫情在全球蔓延&#xff0c;今年线下的日内瓦“钟表与奇迹”高级钟表展&#xff08;前身“日内瓦国际高级钟表展”&#xff09;被迫取消&#xff0c;瑞士高级制表基金会迅速做出调整&#xff0c;将于北京时间…

多数CEO预计受疫情影响未来半年收入将下降;上海国际酒店投资加盟展将延期 | 美通企业日报...

全球抗击新冠疫情 关于COVID-19商业影响的新YPO行政总裁全球调查发布。由130个国家超过29000位首席执行官组成的全球领导力社区YPO进行了一项全会员调查&#xff0c;以了解COVID-19的商业影响&#xff0c;了解首席执行官由于这一新的商业现实而采取的行动。调查发现&#xff0c…

中国家电创新成果奖德国IFA揭晓 A.O.史密斯荣获四项年度大奖

南京2018年9月3日电 /美通社/ -- 8月31日&#xff0c;由中国家用电器研究院主办的“第十四届中国家用电器创新成果推介”活动在德国柏林IFA展上举行。经过消费者投票&#xff0c;并结合专家评审&#xff0c;A.O.史密斯继续成绩斐然&#xff0c;不仅再度折桂“年度最具创新力家电…

A.O.史密斯净水新品闪耀德国IFA展 斩获年度产品创新成果奖

南京2018年9月27日电 /美通社/ -- 近日&#xff0c;由中国家用电器研究院主办的“第十四届中国家用电器创新成果推介”活动在德国柏林IFA展上同期举行。最终&#xff0c;经过消费者投票&#xff0c;并结合专家评审&#xff0c;A.O.史密斯“可直接出热水”的净水机 -- 净水热饮机…

消费新品周报 | 老板推出新款消毒柜;A.O.史密斯橱下冷热即饮净水机上市

摘要 老板、A.O.史密斯、Gululu、阿迪达斯、安踏、THOMAS SABO、自然堂、恰恰、Aspinal of London发布最新产品。 消费者科技 老板消毒柜推出XB831新品 基于消毒柜在健康饮食的重要作用&#xff0c;消费者在选购的时候就需要考虑到方方面面&#xff0c;除了要考虑消毒功能&…

A.O.史密斯净水热饮机 -- 直接获得多温度净水,热饮不再等待

南京2018年7月30日电 /美通社/ -- 近年来&#xff0c;水资源污染日益严峻&#xff0c;重金属污染已经成为越来越多消费者关注的问题&#xff0c;为了家人的饮水安全&#xff0c;很多家庭都选择安装一台反渗透净水机。在日常使用净水机的时候&#xff0c;是否出现了以下的情况&a…

【STM32】 SG90舵机

目录 一&#xff1a;介绍 二&#xff1a;传感器参数 三&#xff1a;接口说明 四&#xff1a;SG90舵机模块接口原理图 五&#xff1a;SG90舵机模块实物图 一&#xff1a;介绍 舵机是一种位置&#xff08;角度&#xff09;伺服的驱动器&#xff0c;适用于那些需要角度不断变…

NodeMcu(ESP8266)控制SG90

一、ESP8266控制SG90 #include <Arduino.h> #include <Servo.h>Servo servo; int i0; void setup (){//PWM引脚设置&#xff0c;与GPIO引脚号对应.servo.attach(14); } void loop (){ //写入角度servo.write(i);//延时2Sdelay(2000);//角度40ii40;if(i>180){i0…