Linux 版 Claude Desktop 多格式适配、多特性加持,安装配置全攻略!
Linux 版 Claude Desktop
本项目提供了在 Linux 系统上原生运行 Claude Desktop 的构建脚本。它将官方 Windows 应用重新打包,以适配不同的 Linux 发行版,可生成 .deb 包(适用于 Debian/Ubuntu)、.rpm 包(适用于 Fedora/RHEL)、与发行版无关的 AppImage、适用于 Arch Linux 的 AUR 包以及适用于 NixOS 的 Nix flake。注意,这是一个非官方的构建脚本。如需官方支持,请访问 Anthropic 的网站。若构建脚本或 Linux 实现方面出现问题,请在本仓库中提交问题。
⚠️ 实验性功能:协同工作模式支持
此版本构建默认启用了协同工作模式,并采用可插拔的隔离后端:
| 后端 | 隔离要求 |
|---|---|
| bubblewrap(默认) | 需要安装并正常运行 Namespace 沙箱 bwrap |
| host(备用) | 无 — 直接在主机上运行,无需额外依赖 |
启动时会自动检测可用的最佳后端。运行 `claude-desktop --doctor` 可查看将使用的后端以及缺失的依赖项。注意,bubblewrap 后端会将你的主目录挂载为只读(仅项目工作目录可写)。host 后端不提供隔离功能 — 仅当你了解其安全风险时才可使用。
KVM 状态:KVM/QEMU 后端代码存在但无法正常工作 — 为防止校验和循环,Linux 上禁用了虚拟机文件下载(#337)。该后端代码保留,以备未来使用。
特性
- 原生 Linux 支持:无需虚拟化或 Wine 即可运行 Claude Desktop。
- MCP 支持:全面集成模型上下文协议(Model Context Protocol)。
- 配置文件位置:`~/.config/Claude/claude_desktop_config.json`
- 系统集成:
- 全局热键支持(Ctrl+Alt+Space) — 在 X11 和 Wayland(通过 XWayland)上均可使用。
- 系统托盘集成
- 桌面环境集成
截图
安装
使用 APT 仓库(Debian/Ubuntu - 推荐)
添加仓库以通过 apt 实现自动更新:
# 添加 GPG 密钥
curl -fsSL https://aaddrick.github.io/claude-desktop-debian/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg
# 添加仓库
echo "deb [signed-by=/usr/share/keyrings/claude-desktop.gpg arch=amd64,arm64] https://aaddrick.github.io/claude-desktop-debian stable main" | sudo tee /etc/apt/sources.list.d/claude-desktop.list
# 更新并安装
sudo apt update
sudo apt install claude-desktop后续更新将随系统常规更新(`sudo apt upgrade`)自动安装。
使用 DNF 仓库(Fedora/RHEL - 推荐)
添加仓库以通过 dnf 实现自动更新:
# 添加仓库
sudo curl -fsSL https://aaddrick.github.io/claude-desktop-debian/rpm/claude-desktop.repo -o /etc/yum.repos.d/claude-desktop.repo
# 安装
sudo dnf install claude-desktop后续更新将随系统常规更新(`sudo dnf upgrade`)自动安装。
使用 AUR(Arch Linux)
`claude-desktop-appimage` 包可在 AUR 上获取,并会随每次发布自动更新。
# 使用 yay
yay -S claude-desktop-appimage
# 或使用 paru
paru -S claude-desktop-appimageAUR 包将安装 Claude Desktop 的 AppImage 版本。
使用 Nix Flake(NixOS)
直接从 flake 安装:
# 基本安装
nix profile install github:aaddrick/claude-desktop-debian
# 支持 MCP 服务器(FHS 环境)
nix profile install github:aaddrick/claude-desktop-debian#claude-desktop-fhs或者添加到你的 NixOS 配置中:
# flake.nix
{
inputs.claude-desktop.url = "github:aaddrick/claude-desktop-debian";
outputs = { nixpkgs, claude-desktop, ... }: {
nixosConfigurations.myhost = nixpkgs.lib.nixosSystem {
modules = [
({ pkgs, ... }: {
nixpkgs.overlays = [ claude-desktop.overlays.default ];
environment.systemPackages = [ pkgs.claude-desktop ];
})
];
};
};
}使用预构建版本
从发布页面下载最新的 .deb、.rpm 或 .AppImage 文件。
从源码构建
详细的构建说明请参阅 `docs/BUILDING.md`。
配置
模型上下文协议设置存储在 `~/.config/Claude/claude_desktop_config.json` 中。有关更多配置选项(包括环境变量和 Wayland 支持),请参阅 `docs/CONFIGURATION.md`。
故障排除
运行 `claude-desktop --doctor` 可进行内置诊断,检查常见问题(显示服务器、沙箱权限、MCP 配置、陈旧锁等)。它还会报告协同工作模式的准备情况 — 将使用的隔离后端以及已安装或缺失的依赖项(KVM、QEMU、vsock、socat、virtiofsd、bubblewrap)。有关更多故障排除、卸载说明和日志位置,请参阅 `docs/TROUBLESHOOTING.md`。
致谢
本项目受 k3d3 的 `claude-desktop-linux-flake` 及其关于在 Linux 上原生运行 Claude Desktop 的 Reddit 帖子启发。特别感谢以下人员:
- k3d3:最初的 NixOS 实现、原生绑定见解
- emsi:标题栏修复、替代实现方法
- leobuskin:基于 Playwright 的 URL 解析方法
- yarikoptic:Codespell 支持、Shellcheck 合规性
- IamGianluca:构建依赖检查改进
- ing03201:IBus/Fcitx5 输入法支持
- ajescudero:为 Node 兼容性固定 `@electron/asar`
- delorenj:Wayland 兼容性支持
- Regen-forest:建议使用 Gear Lever 替代 AppImageLauncher
- niekvugteveen:修复 Debian 打包权限问题
- speleoalex:原生窗口装饰支持
- imaginalnika:将日志移动到 `~/.cache/`
- richardspicer:修复 Linux 上菜单栏可见性问题
- jacobfrantz1:Claude Desktop 代码预览支持、快速窗口提交修复
- janfrederik:添加 `--exe` 标志以使用本地安装程序
- MrEdwards007:发现 OAuth 令牌缓存修复方法
- lizthegrey:版本更新贡献
- mathys-lopinto:AUR 包自动部署
- pkuijpers:RPM 仓库 GPG 签名问题根本原因分析
- dlepold:识别并修复托盘图标变量名错误
- Voork1144:详细分析托盘图标压缩器错误、Chromium 布局缓存错误根本原因、直接子元素 `setBounds()` 修复方法
- sabiut:`--doctor` 诊断命令、下载的 SHA-256 校验和验证、deb、rpm 和 AppImage 工件的构建后集成测试
- milog1994:弹出窗口检测、功能存根、Wayland 合成器支持
- jarrodcolburn:容器/CI 环境中的无密码 sudo 支持、识别 gh-pages 4GB 膨胀修复方法、识别 Debian 上 virtiofsd PATH 检测问题、详细分析 CI 发布管道因比较版本时运行器终止而失败的问题、诊断会话启动钩子 sudo 阻塞问题并提供三种解决方案
- chukfinley:Linux 上的实验性协同工作模式支持
- CyPack:启动时清理孤立的协同工作守护进程
- IliyaBrook:修复 Claude Desktop >= 1.1.3541 arm64 版本的平台补丁
- MichaelMKenny:诊断以 `$` 开头的 Electron 变量错误、根本原因分析和解决方法
- daa25209:详细分析协同工作平台网关崩溃的根本原因并提供补丁脚本
- noctuum:`CLAUDE_MENU_BAR` 环境变量,可配置菜单栏可见性、布尔别名支持
- typedrat:NixOS flake 与 `build.sh` 集成、`node-pty` 派生、CI 自动更新、修复 flake 包作用域回归问题
- cbonnissent:逆向工程协同工作虚拟机客户端 RPC 协议、修复 KVM 启动阻塞问题、修复持久连接的 RPC 响应 ID 回显问题、通过专用 Linux 配置文件配置 bwrap 挂载点
- joekale-pp:为 RPM 启动器添加 `--doctor` 支持
- ecrevisseMiroir:使用基于 tmpfs 的最小根目录实现 bwrap 后端沙箱隔离
- arauhala:详细分析 NixOS `isPackaged` 回归问题的根本原因
- cromagnone:通过详细日志确认 bwrap 安装时的虚拟机下载循环问题,推翻了最初的诊断结果
- aHk-coder:诊断协同工作 smol-bin 补丁中硬编码的压缩变量崩溃问题
- RayCharlizard:详细分析自引用 `.mcpb-cache` 符号链接 ELOOP 错误、修复主机后端的自动内存路径转换问题
- reinthal:修复因 nixpkgs `nodePackages` 移除导致的 NixOS 构建中断问题
- gianluca-peri:报告 GNOME 退出辅助功能问题、确认 AppIndicator 的托盘行为
- martin152:详细诊断并完全修复三个启动器清理错误:清理孤立的协同工作守护进程自匹配问题、清理陈旧的协同工作套接字 socat 依赖无操作问题以及 `--doctor` 中的相同自匹配问题
赞助
Anthropic 未发布 Claude Desktop 的发行说明。这里的每个版本都包含通过 AI 生成的说明,用于分析版本之间的代码更改。如果你感兴趣,我写了一篇关于该过程如何工作的文章:《从压缩的 Electron 应用生成真实的发行说明》。分析使用 Claude 的 API 运行,成本因更新规模而异。最近的版本每次成本在 3.36 美元到 76.16 美元之间。如果你觉得这个项目有用,请考虑在 GitHub 上赞助以帮助支付这些费用。
许可证
本仓库中的构建脚本采用双许可证:
- MIT 许可证(请参阅 `LICENSE-MIT`)
- Apache 许可证 2.0(请参阅 `LICENSE-APACHE`)
Claude Desktop 应用程序本身遵循 Anthropic 的用户条款。
贡献
欢迎贡献代码!提交贡献即表示你同意按照本项目相同的双许可证条款授权。
