在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)

🧩 在 Ubuntu 下配置 oh-my-posh ------ 普通用户 + root 各自使用独立主题(共享可执行)


✅ 目标说明

  • 普通用户 使用 tokyonight_storm 主题
  • root 用户 使用 1_shell 主题
  • 共用全局路径下的 oh-my-posh 可执行文件
  • 正确加载 Homebrew 到环境变量中
  • 分别加载独立的 .omp.json 配置 ✅

🔧 安装流程


🧱 1. 安装 Homebrew(普通用户下)

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

🛠️ 2. 将 Brew 加入环境变量(写入 .bashrc)

bash 复制代码
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc

📌 如果你使用 zsh,请改为 .zshrc


🧠 3. Nerd Font 字体设置(终端图标支持)

Ubuntu 本地终端
bash 复制代码
mkdir -p ~/.local/share/fonts/NerdFonts
cd ~/.local/share/fonts/NerdFonts

wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.1.1/FiraCode.zip
unzip FiraCode.zip
rm FiraCode.zip

fc-cache -fv
WSL2 设置方法
  • 打开 Windows Terminal → 选择配置的 profile

  • Appearance(外观) → Font → 设置为 FiraCode Nerd Font 等


📦 4. 安装 oh-my-posh

bash 复制代码
brew install jandedobbeleer/oh-my-posh/oh-my-posh

如遇编译错误提示:

bash 复制代码
sudo apt install clang

🪛 5. 将 oh-my-posh 拷贝至全局路径

bash 复制代码
sudo cp $(which oh-my-posh) /usr/local/bin/
sudo chmod +x /usr/local/bin/oh-my-posh

🎨 6. 下载全部主题文件(需先装 unzip)

bash 复制代码
sudo apt install unzip -y

mkdir -p ~/.poshthemes
cd ~/.poshthemes

curl -fLo themes.zip https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip
unzip themes.zip
chmod 644 *.omp.json
rm themes.zip

👤 普通用户配置(使用 tokyonight_storm)

🪛 编辑 ~/.bashrc

bash 复制代码
nano ~/.bashrc

加入:

bash 复制代码
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
eval "$(oh-my-posh init bash --config ~/.poshthemes/tokyonight_storm.omp.json)"

保存并生效:

bash 复制代码
source ~/.bashrc

👑 root 用户配置(使用 1_shell)

📁 拷贝主题文件到 root

bash 复制代码
sudo mkdir -p /root/.poshthemes
sudo cp ~/.poshthemes/1_shell.omp.json /root/.poshthemes/
sudo chmod 644 /root/.poshthemes/1_shell.omp.json

🪛 编辑 /root/.bashrc

bash 复制代码
sudo nano /root/.bashrc

添加:

bash 复制代码
eval "$(oh-my-posh init bash --config /root/.poshthemes/1_shell.omp.json)"

保存并生效:

bash 复制代码
sudo su
source ~/.bashrc

✅ 总结配置表

组件 内容 路径或值
Brew 环境变量加载 /home/linuxbrew/.linuxbrew/bin/brew shellenv
oh-my-posh 全局可执行文件 /usr/local/bin/oh-my-posh
普通用户 使用 tokyonight_storm 主题 ~/.poshthemes/tokyonight_storm.omp.json
root 用户 使用 1_shell 主题 /root/.poshthemes/1_shell.omp.json

🎉 你现在已经完成了 oh-my-posh 的完整配置 🎨

相关推荐
寻道模式11 分钟前
【运维心得】完整教程:绕过Win11限制让老机焕发新生
运维·操作系统·win11
程序员梅雨13 分钟前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件
zzu123zsw16 分钟前
从 proxy_pass 末尾斜杠到 WebAssembly 预压缩:深挖 Nginx 生产环境四大高频踩坑点
运维·nginx·wasm·webassembly·devops·运维排错
lingran__17 分钟前
Linux进程万字详解(二)|进程状态深度剖析:调度队列、内核链表、D状态设计哲学、僵尸孤儿进程与Slab机制
linux·进程管理·内核链表·pcb·僵尸进程·孤儿进程·进程状态
张洛闻Eren37 分钟前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible
GeW1 小时前
以Linux为基、数据库为核:新质生产力路线图下的企业架构升级
linux
郝亚军1 小时前
RK3562 中有 mosquitto、nginx 了,还需要 http,ftp,tftp 等协议吗?
运维·nginx·http
忆挽篱笙歌1 小时前
进程的状态
linux·ubuntu
kyle~2 小时前
Linux --- Socket 用户进程与内核网络协议栈之间的统一接口
linux·arm开发·网络协议
重生之小比特2 小时前
【Linux系统】07 进程状态
linux·运维·服务器