Hacker News 中文摘要

RSS订阅

展示 HN:适用于 Linux 的 Raycast 兼容启动器 -- Show HN: A Raycast-compatible launcher for Linux

文章摘要

GitHub上的“ByteAtATime/raycast-linux”项目是一个为Linux系统开发的Raycast兼容启动器,旨在提供类似Raycast的快速应用启动和操作体验。该项目展示了如何在Linux环境中实现高效的应用程序管理和快速访问功能。

文章总结

项目概述

项目名称: Raycast-compatible launcher for Linux
GitHub 地址: ByteAtATime/raycast-linux

该项目是一个开源的、受 Raycast 启发的 Linux 启动器,旨在在 Linux 系统上复现 Raycast 的核心功能。Raycast 是一款 macOS 上的快速启动工具,支持应用搜索、命令执行、扩展插件等功能。该项目通过提供类似的功能,帮助 Linux 用户提升工作效率。

主要功能

  1. 可扩展的命令面板: 支持搜索和启动应用、运行命令、执行快捷链接等。
  2. 扩展支持: 支持运行基于 Raycast API 构建的扩展,并内置了扩展商店。
  3. 强大的计算器: 集成 SoulverCore,支持单位转换、货币计算和复杂数学表达式。
  4. 剪贴板历史: 提供可搜索的剪贴板历史记录,支持文本、图片、链接和颜色。
  5. 代码片段: 支持创建和管理文本片段,并可在系统中任何地方扩展使用。
  6. AI 集成: 通过 OpenRouter 集成多种 AI 模型,提供智能功能。
  7. 更多功能: 项目还在持续开发中,未来将添加更多功能。

扩展兼容性

虽然项目目标是支持尽可能多的 Raycast 扩展,但由于 macOS 和 Linux 的差异,部分扩展可能无法正常运行。常见问题包括: 1. macOS 特定 API: 许多扩展依赖 macOS 的 AppleScript、硬编码路径或特定系统库。 2. 原生二进制文件: 依赖 macOS 预编译二进制文件或 Swift 的扩展无法在 Linux 上运行。 3. 权限假设: 扩展可能假设其有权访问 macOS 特定的权限数据(如联系人、日历等),这些在 Linux 上没有直接对应。

安装与使用

  1. 下载: 用户可以从 GitHub Releases 页面下载最新的 .AppImage 文件。
  2. 运行: 下载后,通过命令行使其可执行并运行: shell chmod +x <downloaded-file-name>.AppImage ./<downloaded-file-name>.AppImage
  3. 绑定快捷键: 用户可以将启动器绑定到快捷键上,例如在 Hyprland 中: bind = ALT, Space, exec, /path/to/raycast-linux.AppImage

系统要求

  • glibc 版本: 需要 glibc 2.38 或更高版本,Ubuntu 24.04、Fedora 40 和 Arch Linux 的最新版本默认支持。
  • Wayland 用户: 需要配置 udev 规则以允许应用读取键盘事件。

从源码构建

  1. 克隆仓库: shell git clone https://github.com/ByteAtATime/raycast-linux.git cd raycast-linux
  2. 安装依赖: shell pnpm install
  3. 构建 sidecar 二进制文件: shell pnpm --filter sidecar build
  4. 运行开发模式: shell pnpm tauri dev

技术栈

  • 前端: Svelte (34.5%), TypeScript (34.1%)
  • 后端: Rust (28.5%), Swift (1.9%)
  • 其他: CSS, JavaScript, HTML

许可证

该项目采用 MIT 许可证

致谢

项目状态

  • Stars: 139
  • Forks: 3
  • Watchers: 0

图片展示

GIF of Raycast Linux, showing off its main features

免责声明

该项目为业余爱好项目,与官方 Raycast 团队无关,也未获得其认可。

评论总结

  1. 对项目价值的质疑

    • 评论1认为这种工具没有太大价值,认为直接使用计算器等工具更高效,不必额外安装软件。
      引用
    • "You want some calculation? Run calc and do the calculation, do you save so much time by replacing the 'run calc' step with 'open launcher' that it's worth adding more software to your setup?"
    • “你想做计算?直接运行计算器,难道用启动器代替‘运行计算器’这一步能节省那么多时间,值得为此安装更多软件吗?”
  2. 对开发者年龄的赞赏

    • 评论2和评论9提到开发者年仅15岁,认为其工作非常出色,值得鼓励。
      引用
    • "I think it's worth mentioning that OP is 15 years old. Well done, great work, please keep building and writing."
    • “值得一提的是,作者只有15岁。干得好,请继续构建和写作。”
    • "The most impressive part is probably your age, because this isn't an easy project even for senior devs!"
    • “最令人印象深刻的部分可能是你的年龄,因为即使对资深开发者来说,这也不是一个容易的项目!”
  3. 对项目名称的建议

    • 评论4、评论7和评论8建议尽快更改项目名称,以避免与Raycast产生法律纠纷。
      引用
    • "Raycast will either hire you or send you a cease-and-desist order. Either way, I would change the name now."
    • “Raycast要么会雇佣你,要么会发停止令。无论如何,我建议你现在就改名。”
    • "Nice work but change name asap, pivot to something original."
    • “干得不错,但请尽快改名,转向一个原创的名称。”
  4. 对项目的技术建议

    • 评论9提供了详细的技术建议,包括使用Deno作为运行时、Numbat替代计算器实现,以及参考Project Gauntlet等。
      引用
    • "For the slow extension startup issue you mentioned, consider Deno as a runtime as it has a better sandbox and is faster than Node overall."
    • “对于你提到的扩展启动慢的问题,可以考虑使用Deno作为运行时,因为它有更好的沙箱机制,整体上比Node更快。”
    • "I'd consider Numbat for replacing the calculator implementation you have now."
    • “我建议考虑用Numbat来替代你现在的计算器实现。”
  5. 对项目的积极评价

    • 评论6和评论9对项目表示赞赏,认为其为Linux用户提供了一个功能丰富的Raycast替代品。
      引用
    • "Amazing work! I love Raycast as well!"
    • “太棒了!我也很喜欢Raycast!”
    • "I'm very excited to finally have a Raycast alternative for Linux that has both consistent UI and extension compatibility."
    • “我非常兴奋终于有了一个Linux上的Raycast替代品,它既有统一的UI,又有扩展兼容性。”