aaa

常用命令

1.^S滚动模式

进入滚动模式,可以使用上下左右或者翻页来滚动屏幕(在手机上)比较好用。

问题

1.Zellij OSC 11 颜色查询缓存问题解决方案

1. 问题现象

  • duf、opencode、Neovim 等 TUI 工具在 zellij 内颜色异常(如白色背景、颜色发灰)

    普通终端中颜色正常,只在 zellij 中出现

2.根本原因

终端程序(包括 opencode 及其他 TUI 工具如 Neovim、Delta 等)通常会通过 OSC 11 转义序列向终端查询当前的背景颜色。Zellij 存在一个已知的缺陷:它会在首次启动时查询终端的前景和背景颜色,并将该结果持久化缓存到 ~/.cache/zellij/ 目录中。在后续的所有会话中,Zellij 会直接返回该缓存值,并且不会主动使其失效。

如果你的终端此前使用过浅色主题,或者 Zellij 的初始颜色查询发生超时(这会导致缓存错误的数据),Zellij 就会向内部运行的程序报告错误的终端背景状态。因此,程序接收到了“当前是浅色背景”的虚假信号,并自动切换为白色背景进行渲染,从而与你实际的黑色 Zellij 背景产生冲突。

3.解决方案

清空 Zellij 的状态缓存并重新启动程序,强制其重新向终端拉取正确的背景颜色。

  1. 关闭当前正在运行的 opencode

  2. 在终端中执行以下命令清理缓存:

    rm -rf ~/.cache/zellij/*
    
  3. 完全退出当前的 Zellij 会话。

  4. 重新启动 Zellij 并打开你的程序。

出处

该缺陷及对应的缓存清理方案记录于 Zellij 官方 GitHub 仓库的 Issue 报告中:

评论