Linux 上如何安装 Claude 桌面应用和 CLI
了解 Claude 在 Linux 上的原生支持:Ubuntu 22.04+、Debian 12+ 的 beta 桌面应用、Claude Code CLI、编辑器插件及各入口对应的付费方案。
Claude 目前哪些部分可在 Linux 上原生运行
Claude 在 Linux 上通过 4 个独立入口运行。截至 2026 年 8 月,这 4 个入口都可在普通 Ubuntu 或 Debian 机器上使用。桌面应用从 Anthropic 的 apt 软件源安装,目前处于 beta 阶段。Claude Code CLI(命令行界面)是一个编译后的二进制文件,支持的发行版比桌面应用更多。claude.ai Web 应用只需要浏览器,API 则是一个通过自有代码调用的 HTTPS 端点。
macOS 和 Windows 上提供的两个功能在 Linux 桌面 beta 版中尚不可用:Computer Use,即让 Claude 控制屏幕上的应用;以及语音听写。Anthropic 文档将这两个功能都标记为尚未在 Linux 上提供。CLI 有自己的语音听写功能,因此缺少该功能的是桌面应用,而不是 Claude 本身。
功能可用性会变化,因此应将本文视为对这些入口的说明,并在据此制定方案前确认当前状态。最后一节列出了需要查看的页面。
在 Ubuntu 或 Debian 上安装 Claude 桌面应用
文档要求使用 Ubuntu 22.04 或更高版本,或 Debian 12 或更高版本,并运行在 x86_64(dpkg 称为 amd64)或 arm64 架构上。其他基于 Debian 的发行版可能也能运行,但未经测试。Fedora 和 RHEL 目前还没有对应的软件包,因此在这些系统上应使用 CLI 或浏览器。
请从 apt 软件源安装,而不是安装下载的 .deb 文件。Linux 应用没有自己的更新程序,因此新版本只能通过软件包管理器提供给您;注册软件源后,apt upgrade 才能发现这些版本。
sudo apt install curl gnupg
sudo curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc \
https://downloads.claude.ai/claude-desktop/key.asc
gpg --show-keys /usr/share/keyrings/claude-desktop-archive-keyring.ascgpg --show-keys 应输出指纹 31DDDE24DDFAB679F42D7BD2BAA929FF1A7ECACE。注册软件源前请先进行比对,因为未经检查的签名密钥等于在未验证的情况下信任它。如果 gpg 报告文件不包含有效的 OpenPGP 数据,说明下载失败,之后 apt update 也会因 NO_PUBKEY BAA929FF1A7ECACE 而失败。
注册软件源只需将一行 deb 写入 /etc/apt/sources.list.d/claude-desktop.list。请从 Anthropic 的 Linux 安装页面 code.claude.com/docs/en/desktop-linux 复制该行,并确保内容与页面上的完全一致。软件源地址是此过程中特别容易变更的部分,而凭记忆输入命令会导致之后看到 E: Unable to locate package claude-desktop。粘贴前请先阅读这一行:arch=amd64,arm64 决定 apt 只查找相应架构的软件包,因此其他架构找不到任何内容;signed-by= 指向刚才检查过的密钥环文件,将该密钥的信任范围限制在此软件源内,而不是信任 apt 读取的所有其他软件源。
sudo apt update && sudo apt install claude-desktop请从应用启动器启动,或在终端中运行 claude-desktop。使用您的 claude.ai 账户登录;如果公司已配置组织的 SSO(单点登录),也可以通过该方式登录。桌面应用不接受 Claude Console API key;基于密钥的身份验证是 CLI 的功能。
E: Unable to locate package claude-desktop 表示 apt 从未读取该软件源。cat /etc/apt/sources.list.d/claude-desktop.list 应显示您写入的 deb 行,而 dpkg --print-architecture 应输出 amd64 或 arm64,因为其他架构没有发布软件包。之后,更新会与系统的其他更新一起从 sudo apt update && sudo apt upgrade 获取。
浏览器独有的功能
claude.ai 可在任何发行版的当前浏览器中运行,因此 Fedora、RHEL、Arch、openSUSE 以及其他没有软件包的系统都可以使用它。浏览器还提供网页版 Claude Code。会话在 Anthropic 的云端运行,而不是在您的计算机上运行,并且始终使用您的订阅凭据。
需要明确浏览器的限制。云端会话无法读取您服务器上的文件,也无法在服务器上运行命令。任何需要访问您计算机的操作都必须使用该计算机上的软件,也就是 CLI 或桌面应用。
CLI 提供了 Web 应用没有的功能
在一个目录中启动 claude,它就会处理该目录。这就是区别,其他功能都由此而来。
- 它会读取和编辑当前工作目录中的文件,并在应用每次编辑前显示更改。
- 它会运行您批准的 shell 命令,因此可以在服务器本机上构建项目、运行测试套件、读取日志或检查服务。
- 它无需交互式会话即可运行:
claude -p "read the nginx error log and summarise it"输出一个答案后退出,这适合从 cron 作业或管道中调用。 - 它通过
claude mcp add连接 MCP(模型上下文协议)服务器,为模型提供文件系统之外的工具。 - 它可以在完全没有图形桌面的环境中运行,而您租用的每台 VPS(虚拟专用服务器)都是如此。
最后一点正是服务器指南需要介绍 CLI 的原因。租用的服务器提供 SSH(安全 Shell),除此之外通常没有其他界面,因此终端是唯一可以与您一起使用的操作界面。以这种方式运行有专门的规则,在 VPS 的 tmux 中运行 Claude Code 会完整介绍这些规则,使用 Claude 处理日常系统管理工作 则介绍适合交给它的任务。
编辑器集成介于两者之间。VS Code 扩展要求使用 VS Code 1.94.0 或更高版本,并在编辑器中提供带有差异查看和计划审查功能的图形面板。该扩展会为面板捆绑一份独立的 CLI 副本,但不会将 claude 添加到您的 PATH,因此在集成终端中输入 claude 时,仍需单独安装 CLI。基于 VS Code 构建的编辑器可从 Open VSX 注册表安装同一扩展,此外也提供 JetBrains 插件。
在 Linux 上运行 Claude Code 需要 Node.js 吗?
使用推荐的安装方式不需要。原生安装程序会下载已编译的二进制文件,该二进制文件不依赖 Node.js 运行。
curl -fsSL https://claude.ai/install.sh | bash
claude --versionclaude --version 应输出类似 2.1.211 (Claude Code) 的版本号。如果输出异常,请运行 claude doctor。该命令会读取并输出安装和设置文件的诊断信息,但不会启动会话。
只有使用 npm 安装时才需要 Node.js。截至软件包版本 2.1.198,npm 软件包要求 Node.js 22 或更高版本。在较旧的 Node.js 上,npm 会输出 EBADENGINE 警告,而不会直接失败。这是因为该软件包会将同一个原生二进制文件作为特定平台依赖项引入,并将其链接到相应位置。
npm install -g @anthropic-ai/claude-code不要将该命令与 sudo 一起运行。文档明确不建议使用 sudo npm install -g,因为这会在全局 npm 前缀中创建归 root 所有的文件,导致下一次以非特权用户执行安装或更新时因权限不足而失败。当 npm 全局目录不可写时,后台自动更新会停止工作,claude doctor 会列出相应的修复方法。
Anthropic 还为 Debian、Fedora、RHEL 和 Alpine 发布了带签名的软件包仓库,因此 sudo apt install claude-code 的使用方式与桌面软件包基本相同,并使用其专用签名密钥 https://downloads.claude.ai/keys/claude-code.asc。
应按用户安装还是系统范围安装?
原生安装器按用户安装。它会在 ~/.local/bin/claude 中放置一个指向 ~/.local/share/claude/versions/ 的启动器符号链接,不需要 root,并在后台自动更新。计算机上的每个用户都有独立的副本和独立的版本。
通过包管理器安装属于系统范围安装。所有用户共用一个二进制文件,需要 root,并且不会通过 Claude Code 自动更新。您可以使用 sudo apt update && sudo apt upgrade claude-code 升级它;这是您已经在该主机上用于其他软件的同一个命令。
如果您以自己的账户登录计算机,请选择按用户安装,这适用于大多数 VPS 场景。如果是共享服务器或机器镜像,请选择包管理器安装。这样所有用户使用同一个版本,并且版本更新时间由您安排。对于原生安装,~/.claude/settings.json 中的两个设置决定更新行为:
{
"autoUpdatesChannel": "stable",
"env": {
"DISABLE_AUTOUPDATER": "1"
}
}stable 通道使用大约一周前发布的版本,并跳过存在严重回归问题的版本。DISABLE_AUTOUPDATER 只会停止后台检查,因此 claude update 仍然可用,您可以自行决定何时安装新版本。这对运行无人值守长时间任务的服务器很重要,因为您可能不希望二进制文件在任务运行期间发生变化。
通过 SSH 登录并保持会话运行
首次在租用的服务器上运行 CLI 时,Linux 环境通常会遇到两个特有问题。登录流程需要浏览器,但服务器上没有浏览器。SSH 连接中断后,正在运行的任务也会随之终止。
tmux 可以解决第二个问题。tmux 会话属于远程计算机上的 tmux 服务器,而不属于当前连接。因此即使连接中断,进程仍会继续运行。
tmux new -s claude
claude先按 Ctrl-b,再按 d 分离会话;稍后使用 tmux attach -t claude 返回会话。
登录是第一个问题。运行 claude,命令会输出授权 URL。在您自己的计算机上打开该 URL。登录后,浏览器会显示登录代码,而不是重定向回终端。这是因为您笔记本电脑上的浏览器无法访问 Claude Code 在远程计算机回环地址上启动的回调服务器。将该代码粘贴到终端的 Paste code here if prompted 提示符中,终端会显示 Login successful。
如果会话必须在无人监控的情况下启动,claude setup-token 会打开相同的浏览器授权流程,并将有效期为 one year 的 OAuth 令牌输出到终端。它不会将令牌保存到任何位置,因此请复制令牌,并将其设置到需要的位置。
export CLAUDE_CODE_OAUTH_TOKEN=your-token该令牌需要付费计划,并且只能用于发起模型请求。请将它视为有效期为 one year 的密码。令牌应存放在哪里,以及如何阻止代理将其读取出来,详见防止 AI 代理接触机密信息。
小型服务器还会遇到另一个限制。安装需要大约 512 MB 可用内存,而文档规定运行它至少需要 4 GB RAM。因此,在 1 GB 实例上,内核的内存不足终止程序会结束安装过程:
Setting up Claude Code...
Installation was killed before it could finish (exit code 137). This usually means the system ran out of memory.添加 swap,然后再次运行安装程序。swap 是内核用作溢出内存的磁盘空间。它比 RAM 慢得多,但足以完成安装。
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileswapon 只会为本次启动启用该文件。如果希望重启后仍然启用,请将一行 /swapfile 添加到 /etc/fstab。在允许代理对生产服务器运行命令前,还需要采取哪些其他安全限制,详见在 VPS 上安全运行 Claude Code。
Linux 上 Claude 凭据的存放位置
在 Linux 上,/login 会以文件模式 0600 将凭据写入 ~/.claude/.credentials.json。macOS 会将同一凭据存储在加密的 Keychain 中,因此在 Mac 上形成的使用习惯并不适用于 Linux:在 Linux 上,令牌是主目录中的普通文件,所有以您的用户身份运行的进程都可以读取它。设置 CLAUDE_CONFIG_DIR 后,文件会移到该目录下。
由此会产生两个问题。/home 的备份包含有效登录凭据,因此将该备份复制到共享计算机会把您的账户交给所有能够读取它的人。从已登录的主机创建机器镜像,也会将该登录凭据带到从镜像克隆的每个实例中。在创建快照前运行 /logout。
同时拥有订阅和 API 密钥的用户容易受到凭据优先级影响。当您在 shell 中设置 ANTHROPIC_API_KEY 后,Claude Code 会在您批准后使用它,因此订阅会处于闲置状态,而 API 密钥会按令牌计费。/status 可显示当前使用的凭据,unset ANTHROPIC_API_KEY 可让您返回订阅登录。
登录凭据会过期。距离过期时间不超过三天时,启动提示会显示 Your login expires in 3 days,但该警告不会阻止请求。过期后,每个请求都会失败,并显示 Login expired · Please run /login。在让无人值守的会话运行整个周末前,请先了解这一点,因为此类会话会停止处理任务,且无法自行恢复。
是否一项 Claude 订阅涵盖所有使用方式?
一项付费方案可通过同一登录账号覆盖所有使用入口。Pro、Max、Team 或 Enterprise 账号可用于在浏览器中登录 claude.ai,也可登录桌面应用、CLI 和 VS Code 扩展;每次使用的都是同一项订阅。免费的 claude.ai 方案不包含 Claude Code 访问权限,因此 CLI 和桌面应用中的 Claude Code 功能需要付费方案或 Claude Console 账号。
API 是另一项产品,计费方式也不同。Console 账号会根据您实际发送的 token 按量计费,适合构建服务,而不是在终端中手动输入。设置 ANTHROPIC_API_KEY 后,CLI 会改用这种计费路径。这是您主动选择的方式,不是备用方案。
价格和方案限制变化频繁,因此这里不重复列出。以下两个页面会跟踪当前数值:Claude Code 的实际费用 和 您需要哪种 Claude 方案。如果您正在比较按 token 计费和月度方案,API 与订阅方案的费用对比 会说明两者的盈亏平衡点。
实际会遇到的安装错误
bash: claude: command not found 安装成功后立即出现。二进制文件位于 ~/.local/bin/claude,但该目录不在 shell 的搜索路径中。使用 echo $PATH | tr ':' '\n' | grep -Fx "$HOME/.local/bin" 确认;缺少该条目时,该命令不会输出任何内容。使用 echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc 为 bash 修复,然后运行 source ~/.bashrc。单独安装 VS Code 扩展不会创建该文件,因为扩展会将 CLI 副本保存在扩展目录中。
Error loading shared library libstdc++.so.6。安装程序为 glibc 系统选择了 musl 构建版本。系统中存在 musl 交叉编译软件包时,检测可能会误判,从而出现此问题。运行 ldd --version 2>&1 | head -1:如果输出名称为 GNU libc 或 GLIBC,则表示系统使用 glibc,但安装了错误的二进制文件。删除当前安装,然后重新运行安装程序。在 Alpine 和其他 musl 系统上,修复方法相反:apk add libgcc libstdc++ ripgrep。
同一台主机上存在两个 claude。which -a claude 会列出 PATH 中的所有匹配项。原生安装是从 ~/.local/bin/claude 指向 ~/.local/share/claude/versions/ 的符号链接;旧版本地 npm 安装位于 ~/.claude/local/ 下;npm -g ls @anthropic-ai/claude-code 可显示全局 npm 安装。删除不需要的副本,因为 PATH 中较早出现的旧副本会导致已修复的问题看起来仍未修复。
当前状态查询位置
- Linux 桌面版状态、要求和安装命令:code.claude.com/docs/en/desktop-linux
- CLI 支持的发行版及所有安装方式:code.claude.com/docs/en/setup
- 可下载应用的平台:claude.com/download
- 各套餐包含的内容及价格:claude.com/pricing
本指南中的所有版本号和日期均为 2026 年 8 月的快照。会持续保持不变的是整体结构:四种使用界面,付费界面共用一个登录账号,以及决定 CLI 应安装到当前用户还是整台计算机。
FAQ
Linux 是否有 Claude 桌面应用?
有。截至 2026 年 8 月,该应用处于 beta 阶段,支持 amd64 或 arm64 架构上的 Ubuntu 22.04 或更高版本,以及 Debian 12 或更高版本。添加 Anthropic 的 apt 软件源及其签名密钥后,使用 sudo apt install claude-desktop 安装。这样,新版本会随正常的系统升级一起安装。Linux 版本包含与 macOS 应用相同的选项卡,包括 Claude Code 选项卡。Linux 版本目前尚不支持 Computer Use 和语音听写;Fedora 和 RHEL 也没有可用的软件包,因此在这些发行版上请使用 CLI 或浏览器访问 claude.ai。
在 Linux 上运行 Claude Code 需要 Node.js 吗?
不需要,推荐的安装方式不需要。curl -fsSL https://claude.ai/install.sh | bash 会下载一个编译后的二进制文件,运行时不使用 Node.js。只有在安装 npm 软件包时才需要 Node.js;截至版本 2.1.198,该软件包要求 Node.js 22 或更高版本。在较旧的 Node.js 上,npm 会显示 EBADENGINE 警告,但安装仍会完成,因为它会将相同的原生二进制文件作为特定平台的依赖项下载。不要使用 sudo npm install -g 安装,否则会在 npm 前缀目录中留下由 root 所有的文件,并导致后续更新失败。
如何通过 SSH 登录 Claude Code?
运行 claude,命令会输出一个授权 URL。在您自己的计算机上使用浏览器打开该 URL,不要在服务器上打开。登录后,浏览器会显示登录代码,而不是执行重定向。这是因为浏览器无法访问 Claude Code 在远程计算机回环地址上启动的回调监听器。将该代码粘贴到 Paste code here if prompted 提示符处。对于无人值守启动的会话,运行 claude setup-token,并在需要的位置将输出的令牌设置为 CLAUDE_CODE_OAUTH_TOKEN。
Claude Code 在 Linux 上将登录信息存储在哪里?
默认存储在 ~/.claude/.credentials.json 中,文件模式为 0600;设置该变量后,也可能存储在 CLAUDE_CONFIG_DIR 下。与 macOS 不同,Linux 不使用密钥链,因此以您的用户身份运行的任何进程都可以读取该文件。因此,/home 备份或机器映像会包含有效的登录信息。在创建快照或复制系统前,运行 /logout。如果环境中同时设置了 ANTHROPIC_API_KEY,您批准后,它会优先于存储的订阅登录信息;/status 会显示当前使用的登录方式。
Claude Pro 订阅是否同时包含 CLI 和 Web 应用?
是。Pro、Max、Team 或 Enterprise 计划使用同一个账户登录 claude.ai、桌面应用、CLI 和 VS Code 扩展。免费的 claude.ai 计划不包含 Claude Code,因此终端 CLI 需要付费计划或 Claude Console 账户。API 按令牌从 Console 账户单独计费;Console 是不同于订阅的另一种产品。