Windows Terminal美化:oh-my-posh配置记录

article/2025/9/16 16:36:16

Windows Terminal美化:oh-my-posh配置记录


前置:安装Windows Terminal + powershell,打开终端,默认路径为powershell。
这个流程踩了不少坑,记录在错误示范,正确的配置流程请移步配置流程。



[ 2023-3-13 ] 新增:WSL应用oh-my-posh
oh my posh for Linux


错误示范


按照网上教程开始配置,管理员身份启动shell,按如下过程进行:

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

这里-Scope CurrentUser限制了域,仅当前用户可用。

Import-Module posh-git
Import-Module oh-my-posh
Set-Theme PowerLine

然后,递归地,就是极为惨痛的一段踩坑

无法加载文件 ,因为在此系统上禁止运行脚本

这里是powershell执行策略的问题。
About_Execution_Policies
输入如下指令:

Set-ExecutionPolicy RemoteSigned  # Bypass也可

无法将“Set-Theme”项识别为cmdlet、函数、脚本文件或可运行程序的名称

这里应该是Windows Terminal测试版支持的指令,用Set-PoshPrompt代替即可。

无法将“oh-my-posh”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

删除了C:\Users<UserName>\Documents\WindowsPowerShell下的几个文件夹,然后选择为全部用户安装oh-my-posh:

Install-Module -Name PSReadLine -Scope AllUsers -Force -SkipPublisherCheck
Install-Module posh-git -Scope AllUsers
Install-Module oh-my-posh -Scope AllUsers

这时插件会装在\Program Files\WindowsPowerShell文件夹下,但是报错仍然出现。这里是个大坑,删起文件来很费劲。
您需要来自 Trustedinstaller 的权限
更改权限时,选“最大的应用范围”(此文件夹、子文件夹和文件)。注意只把Modules下刚装的插件删掉即可。


配置流程


按官网说明操作。
https://ohmyposh.dev/docs/
Installation → Windows → manual,复制指令进终端:

Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://ohmyposh.dev/install.ps1'))

安装oh-my-posh.exe及下载主题。
装好后会自动配置环境变量POSH_THEMES_PATH,是各种主题的json文件所在路径,以后可以通过$env:POSH_THEMES_PATH调用。
然后开始配置主题,首先查看powershell配置文件路径:

# powershell profile script
# 这个文件会在每次启动终端时调用
$PROFILE

得到一个后缀为.ps1的文件路径。我们希望每次启动powershell时,都可以加载oh-my-posh对页面进行美化,编辑该文件:

# 如果提示路径不存在,手动创建一下即可
notepad $PROFILE

输入如下指令:

# 第一条不加应该也可以,我是删文件不小心把PSReadLine也删了,后来还原的
Import-Module PSReadLine
# $env:POSH_THEMES_PATH\<theme_name.json>,去上文提到的环境变量里看看,这里我选的是powerline
oh-my-posh init pwsh --config $env:POSH_THEMES_PATH\powerline.omp.json | Invoke-Expression

保存后重启powershell,已经初步看到美化效果,但icon部分还是乱码。如果之前没有配置Set-ExecutionPolicy,会显示配置无法加载。

字体配置

下载Nerd Fonts,该字体为oh-my-posh所支持。任选一样式下载,解压后全选安装在系统字体库,路径为C:\Windows\Fonts。然后修改Windows Terminal的配置(不是powershell的配置!),在终端窗口设置里选中powershell → 外观 → 字体,或直接修改外观配置文件,路径为%LOCALAPPDATA%\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json。
Windows终端中的外观配置文件设置
这个文件中我们主要关注如下结构:

{	..."profiles":{"defaults":{"font":{// 字体名称去字体文件夹里找,或者在官网// 如"face": "CodeNewRoman Nerd Font""face": "<FontName>",},},"list":[...]}...
}

找到"defaults": {},手动添加font字段进去,配置后保存,这时终端能正常加载主题和字体了。
至此,oh-my-posh for powershell配置完成。
还可以设置一下终端背景,同样在defaults下加入以下字段:

"backgroundImage": "<imgpath>",
"backgroundImageAlignment": "bottomRight",
"backgroundImageOpacity": 0.3,
"backgroundImageStretchMode": "uniformToFill"

最终的完整终端界面:
在这里插入图片描述



现在发现,按Microsoft指导安装才是道门正派
https://learn.microsoft.com/zh-cn/windows/terminal/tutorials/custom-prompt-setup


oh my posh for Linux


参考Oh My Posh 文档中的 Linux 安装指南进行安装。因为我在一台ARM设备上安装,而Homebrew暂不支持ARM64,故采用手动安装。

# 注意把posh-linux-arm64换成你设备的ISA
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-arm64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-posh

下面是重新在Linux下安装了一遍主题库,这一步可以省略

mkdir ~/.poshthemes
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip
unzip ~/.poshthemes/themes.zip -d ~/.poshthemes
chmod u+rw ~/.poshthemes/*.omp.*
rm ~/.poshthemes/themes.zip

配置.bashrc文件,或者配置在.profile里
linux关于bashrc与profile的区别

eval "$(oh-my-posh init bash --config ~/.poshthemes/powerline.omp.json)"

如果没有重装主题库,则路径改为/mnt/<Windows下的主题路径>/powerline.omp.json。字体设置同powershell。重启Bash,成功看到美化效果。


参考


  • https://blog.csdn.net/lz6363/article/details/118876966
  • https://blog.csdn.net/weixin_42818618/article/details/118104218
  • https://blog.csdn.net/ba_wang_mao/article/details/121220935
  • https://blog.csdn.net/qq_43108090/article/details/121687415
  • https://blog.csdn.net/weixin_30920513/article/details/97960798
  • https://blog.csdn.net/weixin_43924623/article/details/107947006



准备配posh-git的时候发现,我的powershell可以直接操作git,想来应该是以前找大佬远程协助的时候顺手装了(


黑夜来了,我驶进银河的港湾。


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

相关文章

存储卡修复软件测试自学,扩容内存卡用mydisktest失效,教你怎么用USBoot恢复出真实容量...

贪便宜在某宝花了14元包邮买了张32G的TF卡&#xff0c;购买之前不断强调如果是扩容卡卖家包邮退货&#xff0c;卖家都狠狠答应了&#xff0c;人家都这样讲了能不买吗&#xff1f;。 卡拿到手后先格式化&#xff0c;看属性还是32G&#xff0c;然后复制一个近8G的DVD镜像文件进去…

操作系统真象还原

整体框架 &#xff1a;mbr.S->loader.S&#xff1a;当os镜像被加载之后&#xff0c;cpu转去main的起止位置开始执行。&#xff08;到目前为止&#xff0c;控制权已经掌握在自己手里&#xff09; 接下来就要一步一步搭建起内核模块&#xff1a; 一&#xff1a;实现基本的输…

还原卡还原了数据能恢复吗_主动还原:我们可以更快地恢复吗? 快多了?

还原卡还原了数据能恢复吗 Hi! My name is Daulet Tymbayev, and today I want to share my experience of developing a system that (theoretically) is able to recover a disk much faster than traditional recovery. Let’s start from the beginning to cover all the p…

纯html 404页面,一款纯css3实现的漂亮的404页面_html/css_WEB-ITnose

一款纯css3实现的漂亮的404页面_html/css_WEB-ITnose 之前为大家分享了那些创意有趣的404页面&#xff0c; html5和css3打造一款创意404页面&#xff0c; HTML5可爱的404页面动画很逗的机器人。今天再给大家分享一款纯css3实现的漂亮的404页面。效果图如下&#xff1a; 在线预…

VUE 404页面的实现

效果图&#xff1a; 实现方式&#xff1a; 创建一个404的vue页面 <template><div class"wscn-http404-container"><div class"wscn-http404"><div class"pic-404"><imgclass"pic-404__parent"src"/…

Django配置404页面

目录 一.settings配置二.url设置三.views中设置四.最后附一个404页面的模板。 一.settings配置 1.首先需要在settings中将DEBUG由原来的True改为False DEBUG False2.需要设置 ALLOWED_OSTS ["*"]二.url设置 三.views中设置 def page_not_found(request,**kwarg…

收集的几个自定义的404页面的模板

文章目录 404pages : HTTP Status 404 – Not Found介绍&#xff1a;404页面分类&#xff1a;补充内容&#xff1a;致谢&#xff1a;声明 404pages : HTTP Status 404 – Not Found 介绍&#xff1a; 注&#xff1a;项目已上传到github&#xff1a;https://github.com/yanshen…

网站怎么自定义404页面

404页面是客户端在浏览网页时&#xff0c;服务器无法正常提供信息&#xff0c;或是服务器无法回应&#xff0c;且不知道原因所返回的页面&#xff0c;简单的说就是当别人访问你网站的某一个已经删除或不存在的网页的时候&#xff0c;服务器自动显示的页面。404页面对seo是有一定…

vue 中编写404页面

前言 今日给自己项目添加404页面时&#xff0c;踩了一点坑&#xff0c;分享给大家。 正文 <div class"_404"><h2 class"m-0">抱歉&#xff0c;页面未找到&#xff0c;<span>{{countDown}}</span>s后自动跳转到<a href"j…

hexo自定义404页面

1.找到你中意的404页面 推荐一款&#xff1a;https://404.life 预览保存&#xff0c;如果你看到其他喜欢的页面如何F12扒页面我就不教咯~ 2.hexo配置 2.1 把css和js放在博客下 我是放在这儿的&#xff0c;你也可以放在github&#xff0c;用jsd加速。 2.2 新建404.html 路…

缤纷多彩的404页面(404.html)

文章来源&#xff1a;https://www.skyqian.com/archives/404-Pages.html 一般而言&#xff0c;第一时间会在博客更新&#xff0c;CSDN随缘更新。 引言 别离滋味浓于酒。著人瘦。此情不及墙东柳。春色年年如旧。 ——勿埋我心 404是个很常见的页面&#xff0c;当该网站的内容搬迁…

html404页面怎么添加,网站要如何设置自定义404页面?

之前我们讲述过网站设置404页面对于优化或是用户体验的重要意义&#xff0c;大家可移步到《网站为什么要设置404页面》查看&#xff0c;今天我们讲解的是网站要如何设置自己的404页面。 现在大多数空间商都有了404设置的功能&#xff0c;我们可将404页面上传至空间里面&#xf…

phpstudy 404页面设置 也就是Apache404页面的设置

1&#xff0c;让apache支持.htaccess 我们要找到apache安装目录下的httpd.conf文件,在里面找到 <Directory /> Options FollowSymLinks AllowOverride none </Directory> 我们只要把蓝色字的none改all就重起apache就好了 如图&#xff1a; 2、找到httpd.conf文件…

个性404页面模板php,25个创意404页面,支持模板下载

对于SEOer来讲,一个好的404页面是很有必要的,既要让蜘蛛能识别出不需要的网页,也要让用户在访问到错误页面时感觉舒服,所以,在选择404页面时SEOer就纠结了,到底什么样的一款404页面是好的呢?或者说是合适的呢? 今天Kane就在这里整理了26款404页面,分别是五个类别,大部…

vue 页面跳转404_出现404页面怎么办?应该如何处理404页面?

当出现404页面怎么办?应该如何处理404页面?我们都知道404页面是用户在输入错误的链接时,显示的返回页面,但是作为SEOer来说,一切与用户有关的事,我们都不能忽略, 当用户已经点击进来,难道要因为出现的404页面而失去众多用户吗?不!这不是一个优秀的SEOer该做的事,下面…

html5 小游戏 404页面,原来404页面可以这样做

404页面是网站必备的一个页面,它承载着用户体验与SEO优化的重任。404页面通常为用户访问了网站上不存在或已删除的页面,服务器返回的404错误。如果站长没有设置404页面,会出现死链接,蜘蛛爬行这类网址时,不利于搜索引擎收录。 设置404页面的两大好处 1:引导用户不要关闭网…

SpringBoot 配置404页面

SpringBoot 配置404页面 项目环境&#xff1a; 服务器&#xff1a;centos 前端&#xff1a;Vue 后端&#xff1a;SpringBoot 出现的问题 访问一个不存在的页面时&#xff0c;会出现tomcat自带的404界面&#xff0c;这个界面对于用户不太友好 解决方案 1、自己写好404页面…

vue 404页面

一、概述 如果用户输入错误的网址没有提示&#xff0c;界面也不会有任何变化&#xff0c;用户体验非常不友好&#xff0c;所以需要设置错误提示 二、设置 设置404页面需要在配置路由文件index.js中设置&#xff0c;其中 * 代表的就是404页面 // 404 page must be placed at the…

自适应404页面

404.CSS *{ padding:0;margin:0;box-sizing:border-box;font-family:"微软雅黑";} body,html{width:100%;height:100%;} .container{max-width:90%;margin:0 auto;padding:80px 0px; } img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;us…

什么是404页面,404有什么做用,网站做404有什么好处?

什么是404页面&#xff1f; 404页面是客户端在浏览网页时&#xff0c;服务器无法正常提供信息&#xff0c;又不知情况&#xff0c;所返回的页面。很多用户访问错误网页时就会经常出现这个404页面。 所谓404页面主要指的是在运营网站的过程中&#xff0c;当用户点击了某个网页…