返回

文章详情

展示 HN:OmniPTY - 针对 macOS 和 Linux 的偏好终端模拟器

Hacker News2026年10月18日 21:24

以前称为 Oxide。已安装的副本会自我更新;请见下方说明。您通常会附加到终端的工具,内置在其中。一个为 macOS 和 Linux 提供的原生终端,完全用 Rust 编写。网站 · 文档 · 更新日志 · 对比 · Discord 如果您的终端实际上是一个终端加上一堆附加组件 - tmux 用于分割和会话,另一边的文件管理器,一个提示框架,一个复制模式插件 - OmniPTY 将这些集成在一起。您可以像在 vim 中那样驱动的文件树紧挨着您的窗格,并跟随您 shell 的 cd 命令。选项卡和分割可以组合成命名的工作区,您可以将其固定,以便以相同的布局和目录重新打开。复制模式将 vim 键映射到滚动历史中,状态栏知道您的 git 分支以及您何时在 ssh 中。所有配置都在一个 TOML 文件中完成,保存时会重新加载。在底层,它使用 GPUI(Zed 的 UI 框架)进行 GPU 渲染,采用 alacritty_terminal(Alacritty 的 PTY + VT 解析器)进行仿真,因此 vim、htop 和 tmux 本身仍然可以正常工作。没有账户、没有 AI、没有遥测:OmniPTY 唯一询问网络的就是是否有新版发布。改名为 OmniPTY Oxide 在 0.9.0 版本中改名为 OmniPTY(有一个名为 Oxide 的无关公司,该名称造成了困扰)。如果您已经安装了,它没有任何操作:应用内更新程序会将已安装的 Oxide 迁移到 OmniPTY.app,且您的配置、主题和固定工作区将完好无损。固定在旧 Oxide.app 路径的 Dock 图标需要重新添加。Homebrew:通过 brew uninstall --cask --force oxide-terminal && brew install --cask --adopt omnipty-terminal/tap/omnipty 切换到新 cask。 --adopt 会保留更新程序已经放置的 OmniPTY.app。第一次启动时,~/.config/oxide/config.toml 和 ~/.cache/oxide 会被复制到 omnipty 目录;原始文件保持不变。$OXIDE_SESSION 和 $OXIDE_VERSION 仍然在 0.9.x 中导出;请将 dotfiles 切换为 $OMNIPTY_SESSION / $OMNIPTY_VERSION 。 theme = "oxide" 仍然可用;该调色板现在也称为 omnipty 。安装 macOS brew install --cask omnipty-terminal/tap/omnipty 或下载 DMG 并将 OmniPTY 拖入应用程序。构建经过开发者 ID 签名和公证,因此无需右键打开的舞蹈,并且 OmniPTY 在之后会保持更新 - 启动时检查,并每六小时检查一次,亦可通过 OmniPTY → 检查更新… 进行手动检查。更新是签名的,OmniPTY 仅安装与构建时使用的密钥匹配的签名的更新。Linux(Wayland 或 X11,x86_64)# Arch 及其衍生版:从此 repo 中的 PKGBUILD 获取一个 pacman 包 # (一旦 AUR 注册重新开放,将会有 AUR 包)git clone https://github.com/omnipty-terminal/omnipty.git cd omnipty/packaging/aur/omnipty-bin && makepkg -si # 任何发行版:发布 tarball tar xzf omnipty-linux-x86_64.tar.gz cd omnipty-*-linux-x86_64 && ./install.sh # 以 ~/.local 为目标,无需 root 下载 tarball;较早版本在发布页面上。install.sh 将 omnipty 放入您的 PATH 并添加启动器条目和图标; --prefix /usr/local(使用 sudo)进行全局安装,--uninstall 移除它。已安装的副本会在右上角提醒更新;再次 git pull 和 makepkg -si,或获取新的 tarball,即可完成更新。macOS 12 或更高版本,Apple Silicon 或 Intel;或 Linux,glibc 2.35 或更新版本(Ubuntu 22.04,Debian 12,Fedora 36 及更高版本),具备 Vulkan 驱动(来自过去十年的任何 GPU - Mesa 的 vulkan-radeon / vulkan-intel,或 nvidia-utils)和 notify-send(libnotify)用于桌面通知。无需安装字体 - JetBrainsMono Nerd Font Mono 已捆绑。设置 font.family 以使用您自己的字体。使用 zsh 或 bash 作为内置提示和 shell 集成。其他 shell 运行良好并保留自己的提示。OmniPTY 不会写入您的 dotfiles。完整说明请参见安装文档。更近的观察在 OmniPTY 中的 1 分钟 - 树、Markdown 预览、文件查找器、分裂、选项卡、调色板和主题选择器、工作区。功能简介。每个功能在文档中都有一页。真实终端 - 通过 Alacritty 的解析器实现完整的 VT 仿真:真彩色、宽字形和组合标记、括号粘贴、鼠标报告(SGR)、备用屏幕滚动、OSC 8 超链接、OSC 52 剪贴板。vim、htop 和 tmux 都可以正常使用。内联图像 - kitty 图形协议、iTerm2 的,以及 sixel:kitten icat,imgcat,img2sixel,yazi 的预览,snacks.nvim。一张图片像文本一样存在于滚动历史中 - 它会滚动、重排并清除 - 并以显示器的真实分辨率绘制。Unicode 占位符通过 tmux 传递图像。文件树抽屉 - 跟随聚焦的窗格,因此切换分裂会将其重新定位到该 shell 的目录。无模式 vim 导航(j/k/gg/G,nvim-tree 风格的 h/l),类型筛选使用 /,文件操作:a 添加、r 重命名、m 移动、d 删除(到废纸篓) - 或将一行拖到目录中以移动它;当拖动接近顶部或底部时,树会滚动,而行下的空白条就是根。拖动抽屉的边缘以调整其大小,双击

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡