一 切换到国内源
1.1 ubuntu 24.04 切换到国内源
1.1.1 确认系统版本
请先在终端执行 lsb_release -c 确认版本代号为 noble,以下配置才能生效。
ubuntu@ubuntu2404:/etc/apt/sources.list.d$ lsb_release -c No LSB modules are available. Codename: noble ubuntu@ubuntu2404:/etc/apt/sources.list.d$1.1.2 实施
步骤 1:备份原有源列表
Ubuntu 24.04 的源配置文件位于 /etc/apt/sources.list.d/ubuntu.sources。执行以下命令进行备份:
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak步骤 2:替换为清华源
sudo tee /etc/apt/sources.list.d/ubuntu.sources > /dev/null <<EOF Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Suites: noble noble-updates noble-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg Types: deb URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ Suites: noble-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg EOF步骤 3:保存并更新
sudo apt update二 配置远程桌面
以下是在ubuntu 24.04 版本配置
2.1 方式一 使用gnome-remote-desktop
Ubuntu 24.04 自带了 gnome-remote-desktop,它基于 xrdp 实现,但提供了更好的 GNOME 集成。
2.1.1 安装组件 (通常已预装,若未安装执行此命令):
sudo apt install gnome-remote-desktop2.1.2 配置 RDP 服务:
配置 RDP 服务:
进入 Settings (设置) -> System (系统) -> Remote Desktop (远程桌面)。
在右侧选择 “Remote Login” (远程登录) 或 “Desktop Sharing” (桌面共享)。
Remote Login:类似于 Windows 远程桌面,会创建一个新的会话(推荐用于服务器)。
Desktop Sharing:共享当前正在使用的桌面。
打开开关。
点击 “Authentication” (认证) 旁边的齿轮图标,设置一个 用户名 和 密码(这通常与你的系统密码一致,但如果提示密钥环问题,需单独设置)。
2.1.3 然后使用mstsc 测试验证
2.2 方式二 安装与配置 VNC (使用 TigerVNC)
由于 Ubuntu 24.04 的兼容性变化,推荐使用 TigerVNC 而不是 TightVNC。
已验证TigerVNC +GNOME/GNOME Flashback 黑屏,暂无解决方案;
2.2.1 安装tigerVNC 并验证
2.2.1.1 安装 TigerVNC:
sudo apt update sudo apt install tigervnc-standalone-server tigervnc-common -y sudo apt install xterm -y2.2.1.2 设置 VNC 密码:
vncpasswd输入 8 位以内的密码。
询问是否设置“仅查看”密码时,输入 n。
2.2.1.3 验证VNC 可能正常使用
vncserver -localhost no -geometry 1024x768 -depth 24 :99这里为什么是99,而不是常见的1,因为ubuntu24 默认使用1-10,请不要使用这几个数字,最好从50开始测试;
验证命令 vncserver -localhost no -geometry 1024x768 -depth 24 :99 检查 vncserver -list
可以使用vncview 连接验证
2.2.1.4 vnc 常用调试命令
# 启动 ubuntu@ubuntu2404:~$ vncserver -localhost no -geometry 1920x1080 -depth 24 :98 #看已启动vnc ubuntu@ubuntu2404:~$ vncserver -list # 看日志 ubuntu@ubuntu2404:~$ tail -n 50 ~/.vnc/$(hostname):98.log #kill ubuntu@ubuntu2404:~$ vncserver -kill :98 Killing Xtigervnc process ID 11503... success! ubuntu@ubuntu2404:~$ rm -f ~/.vnc/*:98.*2.2.2 XFCE4 与xstarup 集成
2.2.2.1 安装xfce4
sudo apt install xfce4 xfce4-goodies dbus-x11 x11-xserver-utils -y安装过程中会有个弹窗,请选择gdm3
xfce4 和 xfce4-goodies 是轻量级桌面环境及其插件。
dbus-x11 和 x11-xserver-utils 是保证图形界面正常通信和运行的依赖。
2.2.2.2 配置 xstartup 文件 (xfce4 版本):
这个文件告诉 VNC 启动什么桌面环境。使用 nano 编辑配置文件:
nano ~/.vnc/xstartup将以下内容粘贴进去(这是适配 Ubuntu 24.04 GNOME 的关键配置):
ubuntu@ubuntu2404:~$ cat .vnc/xstartup #!/bin/bash # Debug log exec >> /tmp/vnc-debug.log 2>&1 echo "[$(date)] xstartup started with DISPLAY" # 启动 XFCE echo "[$(date)] Starting XFCE..." # 清除可能干扰的会话管理器变量 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # 明确指定使用 X11 后端 export XDG_SESSION_TYPE=x11 # 启动 Xfce 桌面 exec startxfce4 ubuntu@ubuntu2404保存并退出 (Ctrl+O, Enter, Ctrl+X)。
赋予执行权限:
chmod +x ~/.vnc/xstartup2.2.2.3 验证
2.2.3.1 初步验证
结论:能用,但是浏览器无法正常使用,暂未解决浏览器问题
重启系统,然后执行
ubuntu@ubuntu2404:~$ vncserver -localhost no -geometry 1920x1080 -depth 24 :98vncserver -list然后使用vncview 客户端连接
能显示窗口,但是浏览器不能使用
2.2.3.2 修复浏览器不能使用
卸载 Snap 版 Firefox,改用 APT 安装的原生版本
第一步:彻底移除 Snap 版 Firefox
# 卸载 Snap 应用 sudo snap remove firefox # 移除过渡包(关键!) sudo apt purge firefox -y第二步:验证是否已清除
# 检查 snap 是否还有 firefox snap list | grep firefox # 应无输出 # 检查 apt 是否还有 firefox 包 dpkg -l firefox # 应显示 "rc" 或无结果第三步:安装真正的 APT 版 Firefox(来自 Mozilla PPA)
# 1. 添加 Mozilla 官方 PPA sudo add-apt-repository ppa:mozillateam/ppa -y # 2. 设置优先级(防止被 Ubuntu 默认源覆盖) echo ' Package: * Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001 ' | sudo tee /etc/apt/preferences.d/mozilla-firefox #3:验证 PPA 是否生效 apt policy firefox 若没生效,安装了还是snap 版本 # 4. 更新并安装 sudo apt update sudo apt install firefox -y第四步:验证安装成功
dpkg -l firefox | grep ^iiubuntu@ubuntu2404:~$ dpkg -l firefox | grep ^ii ii firefox 1:1snap1-0ubuntu5 amd64 Transitional package - firefox -> firefox snap ubuntu@ubuntu2404:~$ which firefox /usr/bin/firefox2.2.3 gnome 集成xstartup
2.2.3.1 安装gnome
sudo apt install gnome-session-flashback metacity gnome-panel -y2.2.3.2 配置xstartup
#!/bin/bash # 强制使用 X11 显示(防止继承 Wayland) export DISPLAY=:98 # Debug log exec >> /tmp/vnc-debug.log 2>&1 echo "[$(date)] xstartup started for GNOME Flashback" # 清理冲突环境变量 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # 设置 GNOME Flashback 兼容环境 export XDG_CURRENT_DESKTOP=GNOME-Flashback:GNOME export XDG_MENU_PREFIX=gnome- export XDG_SESSION_DESKTOP=gnome-flashback-metacity export XDG_SESSION_TYPE=x11 export XDG_SESSION_CLASS=user # 启动 D-Bus 会话(解决面板/应用通信问题) eval $(dbus-launch --sh-syntax) echo "[$(date)] D-Bus session started: DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS" # 启动 GNOME Flashback 会话(使用 metacity) echo "[$(date)] Starting GNOME Flashback (metacity)..." exec /usr/bin/gnome-session --session=gnome-flashback-metacity能用,但是浏览器 也不行
2.3 创建 Systemd 服务 (开机自启):
有问题,暂未解决
2.3.1 新增开机启动配置文件
创建服务文件:
sudo tee /etc/systemd/system/vncserver@.service << 'EOF' [Unit] Description=TigerVNC Server for %i After=syslog.target network.target [Service] Type=forking User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu # 环境变量(确保干净启动) Environment=HOME=/home/ubuntu Environment=USER=ubuntu Environment=XAUTHORITY=/home/ubuntu/.Xauthority # PID 文件路径(%i = 显示号,如 98) PIDFile=/home/ubuntu/.vnc/%H:%i.pid # 启动前清理旧进程 ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 # 启动 VNC(传入显示号给 xstartup) ExecStart=/usr/bin/vncserver -localhost no -geometry 1920x1080 -depth 24 :%i -xstartup /home/ubuntu/.vnc/xstartup %i # 停止命令 ExecStop=/usr/bin/vncserver -kill :%i Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target EOF🔑 关键点:
使用 %i 占位符(代表显示号)
-xstartup … %i 将显示号传给脚本($1)
ExecStartPre 防止端口冲突
2.2.5 启用并启动服务:
# 重载 systemd 配置 sudo systemctl daemon-reload # 启用开机自启(:99) sudo systemctl enable vncserver@99.service # 立即启动服务 sudo systemctl start vncserver@99.service三安装docker和docker-compose
3.1 安装docker
一把顺序是先 卸载,然后配置docker 源,再安装
3.1.1 准备工作
3.1.1.1 卸载旧版本(如有)
sudo apt remove docker docker-engine docker.io containerd runc docker-compose docker-compose-v2 podman-docker3.1.1.2 安装依赖
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release -y3.2 配置国内docker 源
配置清华源
# 下载并安装清华源Docker GPG密钥 curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 添加清华源 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null3.3 安装docker和docker-compose
3.3.1 更新软件索引包
sudo apt update3.3.2 安装Docker CE及相关组件
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin说明:
docker-compose-plugin 是Docker官方维护的Compose V2插件
安装后使用 docker compose 命令(注意中间有空格),而非旧版的 docker-compose
3.4 验证安装
docker --version docker compose version docker info sudo systemctl is-active docker3.5 免 sudo 使用 docker(推荐)
sudo usermod -aG docker $USER注销重新登录后生效。
四 修改ip
4.1、查看当前网络配置
1. 查看网卡名称
ipaddr# 或者ipa2. 查看当前Netplan配置文件
ls/etc/netplan/常见的配置文件名:
00-installer-config.yaml50-cloud-init.yaml01-network-manager-all.yaml
4.2、备份配置文件(重要!)
sudocp/etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak4.3、编辑网络配置文件
1. 使用nano编辑
sudonano/etc/netplan/00-installer-config.yaml2. 配置静态IP示例
有线网络(ethernet)配置:
network:version:2renderer:networkdethernets:ens33:# 替换为你的网卡名称dhcp4:noaddresses:[192.168.1.100/24]# IP地址和子网掩码gateway4:192.168.1.1# 网关地址nameservers:addresses:[8.8.8.8,114.114.114.114]# DNS服务器如果使用NetworkManager(桌面版常用):
network:version:2renderer:NetworkManagerethernets:ens33:dhcp4:noaddresses:[192.168.1.100/24]gateway4:192.168.1.1nameservers:addresses:[8.8.8.8,114.114.114.114]3. 配置动态IP(DHCP)
network:version:2renderer:networkdethernets:ens33:dhcp4:yes4.4、应用配置
1. 测试配置语法
sudonetplan try这会应用配置并等待你确认,如果120秒内没有确认,会自动回滚。
2. 应用配置
sudonetplan apply3. 验证配置
ipaddr show ens33ping-c4www.baidu.com4.5、常见配置示例
示例1:多IP地址配置
network:version:2renderer:networkdethernets:ens33:addresses:-192.168.1.100/24-192.168.1.101/24gateway4:192.168.1.1nameservers:addresses:[8.8.8.8,114.114.114.114]示例2:配置多个DNS服务器
network:version:2renderer:networkdethernets:ens33:dhcp4:noaddresses:[192.168.1.100/24]gateway4:192.168.1.1nameservers:addresses:[8.8.8.8,8.8.4.4,114.114.114.114,223.5.5.5]4.6、故障排查
1. 如果配置失败,恢复备份
sudocp/etc/netplan/00-installer-config.yaml.bak /etc/netplan/00-installer-config.yamlsudonetplan apply2. 查看Netplan日志
sudonetplan--debugapply3. 检查网络服务状态
systemctl status systemd-networkd4.7、注意事项
YAML格式要求严格:
- 使用空格缩进,不要用Tab
- 冒号后要有空格
- 缩进层级要正确
网卡名称可能不同:
- 常见的有:
ens33,eth0,enp0s3,enp3s0等
- 常见的有:
子网掩码表示法:
/24= 255.255.255.0/16= 255.255.0.0/8= 255.0.0.0
修改后网络可能中断:
- 建议在本地操作或有备用连接
- 使用
netplan try可以安全测试配置
4.8、快速参考命令
# 查看网卡ipaddr# 编辑配置sudonano/etc/netplan/00-installer-config.yaml# 测试配置sudonetplan try# 应用配置sudonetplan apply# 验证ipaddr show ens33pingwww.baidu.com五 安装node
这是Ubuntu 24.04 + NVM + Node.js + npm最标准、最灵活、无权限问题的安装方式,全程国内源,复制粘贴就能用!
5.1、安装 NVM(国内镜像,超快)
直接执行这一条命令:
curl-o- https://gitee.com/mirrors/nvm/raw/master/install.sh|bash5.2、立即生效 NVM 命令
source~/.bashrcsource~/.profile验证是否安装成功:
nvm--version出现版本号 = 成功 ✅
5.3、配置 NVM 国内下载源(必须!否则下载超慢)
echo'export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node'>>~/.bashrcsource~/.bashrc5.4、安装 Node.js(LTS 长期稳定版)
nvminstall--lts等待自动安装完成即可。
5.5、验证 Node + npm
node-vnpm-v都出现版本号 = 完全成功 ✅
5.6、把 npm 换成国内镜像(必做)
npmconfigsetregistry https://registry.npmmirror.com验证:
npmconfig get registry常用 NVM 命令
nvmls# 查看已安装版本nvminstall20# 安装 v20 版本nvm use20# 切换到 v20nvmaliasdefault20# 设置默认版本总结
- NVM 管理多版本 Node,无权限错误
- 全程国内源,下载飞快不报错
- 自动带npm,无需单独安装
- 适合开发环境、服务器环境
六 安装claude
6.1 前提条件
- 确保已安装 Node.js(版本 >= 20.0.0)
- 具备 npm 包管理工具(通常随 Node.js 一同安装)
- Git环境
6.2 安装
全局安装,我使用淘宝的源安装的
npm install -g @anthropic-ai/claude-code6.3 配置apikey
你找不到~/.claude是因为它不是默认创建的,需要手动建;而 Claude 环境变量优先用系统 Shell 配置(~/.bashrc / ~/.zshrc),这是最标准、最推荐的方式。
一、先搞懂:两种配置方式(任选其一)
方式1:Shell 环境变量(推荐,最通用)
Ubuntu 默认用bash,所以改~/.bashrc;用 zsh 就改~/.zshrc。
- 打开配置文件
nano~/.bashrc- 末尾添加(替换成你的真实信息)
# Claude Code 环境变量exportANTHROPIC_API_KEY="sk-ant-你的真实API密钥"# 如需中转/代理,才加下面这行,官方直连不用加# export ANTHROPIC_BASE_URL="https://你的代理地址"# 可选:指定默认模型# export ANTHROPIC_MODEL="claude-3-opus-20240229"- 保存并生效
# Ctrl+O 保存,Ctrl+X 退出 nanosource~/.bashrc- 验证
echo$ANTHROPIC_API_KEY# 应输出你的密钥claude--version方式2:创建 ~/.claude 配置目录(官方本地配置)
如果你想用本地配置文件而非环境变量:
# 创建目录mkdir-p~/.claude# 编辑配置nano~/.claude/settings.json写入:
{"env":{"ANTHROPIC_API_KEY":"sk-ant-你的真实API密钥","ANTHROPIC_BASE_URL":"https://api.anthropic.com"}}保存退出即可。
二、常见问题排查
找不到 ~/.bashrc
它是隐藏文件,ls -a才能看到;不存在就直接touch ~/.bashrc新建。环境变量不生效
- 新开一个终端,或执行
source ~/.bashrc - 确认你用的是 bash 还是 zsh:
echo $SHELL
- 新开一个终端,或执行
claude 命令找不到
先确认安装成功:npminstall-g@anthropic-ai/claude-code claude--version
三、一键配置脚本(复制即用)
# 一键添加到 bashrcecho'export ANTHROPIC_API_KEY="sk-ant-你的密钥"'>>~/.bashrcecho'export ANTHROPIC_BASE_URL="https://api.anthropic.com"'>>~/.bashrcsource~/.bashrc# 验证echo$ANTHROPIC_API_KEYclaude test-connection四 问题
4.1 配置了中转站 但使用报错
4.1.1 报错图
4.1.2 修复方法
这张截图提供的方案非常有价值,它揭示了通过修改本地配置文件来绕过某些检查的方法。这通常是解决“中转站”配置无法生效的关键步骤。
简单来说,程序可能因为某些原因(比如之前的连接失败)卡在了“新手引导”或“初始化”状态,导致它忽略了你的代理或中转站配置。通过手动创建这个文件,我们可以“欺骗”程序,让它认为已经完成了所有设置,从而直接加载你的配置。
操作步骤
请按照以下步骤在你的 Ubuntu 终端中操作:
打开终端
确保你已经在 Ubuntu 的终端界面。编辑配置文件
你可以使用nano编辑器(简单易用)来创建并编辑这个文件。在终端中输入以下命令并回车:nano~/.claude.json输入内容
在打开的编辑器中,输入(或粘贴)截图中的 JSON 代码:{"hasCompletedOnboarding":true}保存并退出
- 按下
Ctrl + O键(代表 Output,即写入/保存)。 - 按下
Enter键确认文件名。 - 按下
Ctrl + X键退出编辑器。
- 按下
再次尝试运行
现在,再次输入claude命令并回车:claude
重要提示
这个操作主要是为了让程序**“跳过检查”并“启用配置”**。
- 如果你的“中转站”配置(如环境变量
API_BASE_URL或代理)本身是正确的,这个操作通常能直接解决问题,让程序跑起来。 - 如果你的网络依然无法连接到目标服务器(例如代理没开,或者中转站地址失效),即使做了这个步骤,可能依然会报错。
建议配合使用:
在做完这个步骤后,如果还是报错,请务必确认你的网络代理(VPN)已经开启,并且系统环境变量中正确设置了中转站地址(如果有的话)。