Cursor 登录按钮失效?从日志揪出「真凶」——Ubuntu 22.04 排障全记录
Cursor 作为 AI 驱动的编辑器,登录后才能使用 AI 功能。然而不少 Linux 用户会遇到一个恼人的问题:点击 Sign In / Log In 按钮毫无反应,浏览器没有自动弹出,控制台里却疯狂报 404。重装、清理、换 AppImage 都无济于事。
本文以 Ubuntu 22.04 为例,完整复盘一次从迷茫到解决的排查过程,希望能帮你节省几个小时的时间。
问题现象
- Cursor 版本:2.6.19
- 环境:Ubuntu 22.04,使用
sudo dpkg -i安装官方 .deb 包 - 症状:点击界面上的 Sign Up 或 Log In 按钮,没有任何反应;开发者工具(Ctrl+Shift+I)Console 中反复出现类似
GET https://api2.cursor.sh/auth/poll?uuid=... 404 (Not Found)的错误。
第一轮尝试:常规清理
网上常见的解决方案是彻底删除 Cursor 的配置目录,我先后执行了:
rm -rf ~/.cursor ~/.config/cursor ~/.config/Cursor ~/.local/share/cursor ~/.cache/cursor并用 cursor --disable-gpu 启动,问题依旧。甚至换成 AppImage 版本,依然无法点击登录。
排查网络连通性
先用 curl 测试 API 是否可达(注意我的环境有代理):
curl -v https://api2.cursor.sh返回了 Welcome to Cursor. From ...,说明网络没问题,代理也正常。
检查协议处理器
Cursor 登录会通过 cursor:// 协议回调,测试协议能否唤醒 Cursor:
xdg-open "cursor://"Cursor 窗口被成功唤起,说明协议处理器工作正常。那么问题很可能出在 打开普通网页(https)的环节。
关键线索:终端日志
关闭所有 Cursor 进程,从终端启动并捕获日志:
cursor --enable-logging --log-level=0 > cursor.log 2>&1点击登录按钮后,查看 cursor.log,发现了一行醒目的错误:
Command '/usr/bin/firefox' requires the firefox snap to be installed.
Please install it with:
snap install firefox真相大白! 系统默认的 Web 浏览器被设置成了 /usr/bin/firefox,而这个文件实际上是一个指向 snap 包的 stub,但 snap 版的 Firefox 根本没有安装。因此 Cursor 试图打开登录页面(https 链接)时,系统找不到可用的浏览器,整个操作被静默丢弃。
验证默认浏览器设置
查看当前默认的 Web 浏览器:
xdg-settings get default-web-browser输出可能是 firefox_firefox.desktop 或为空。再测试打开一个普通网页:
xdg-open https://cursor.sh果然没有任何反应。
解决方案:选择一个真实可用的浏览器并设为默认
你需要安装一个正常的、非 snap 版本的浏览器,并将其设置为系统默认。以下以三种常见浏览器为例(选择其中一种即可)。
1. 安装浏览器
🟢 安装 Microsoft Edge
# 添加微软仓库
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge.list'
rm microsoft.gpg
# 安装
sudo apt update
sudo apt install microsoft-edge-stableEdge 的 desktop 文件名为 microsoft-edge.desktop(或 microsoft-edge-stable.desktop)。
🟢 安装 Google Chrome
# 下载并安装
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list'
sudo apt update
sudo apt install google-chrome-stableChrome 的 desktop 文件名为 google-chrome.desktop。
🟢 安装 Firefox(非 snap 版)
如果你希望继续使用 Firefox,建议从 Mozilla 官方 PPA 安装,而不是 snap 版。
# 移除 snap 版 Firefox(如果已存在)
sudo snap remove firefox
# 添加 Mozilla 官方 PPA
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt update
# 安装 Firefox
sudo apt install firefox
# 锁定 snap 版,防止被重新安装
sudo apt-mark hold firefoxFirefox 的 desktop 文件名为 firefox.desktop。
2. 将所选浏览器设为系统默认
方法一:使用 xdg-settings(推荐)
首先确认浏览器的 desktop 文件正确名称(通常与安装的包名一致,如 google-chrome.desktop、microsoft-edge.desktop、firefox.desktop)。然后执行:
xdg-settings set default-web-browser <desktop文件名>例如,设置为 Edge:
xdg-settings set default-web-browser microsoft-edge.desktop设置为 Chrome:
xdg-settings set default-web-browser google-chrome.desktop设置为 Firefox:
xdg-settings set default-web-browser firefox.desktop方法二:修改 mime 数据库(直接)
编辑 ~/.config/mimeapps.list 文件,确保包含以下两行(以 Chrome 为例):
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop保存后更新数据库:
update-desktop-database ~/.local/share/applications方法三:使用 update-alternatives(系统级)
# 以 Chrome 为例
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome 200
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/google-chrome 200
# 交互式选择默认浏览器
sudo update-alternatives --config x-www-browser
sudo update-alternatives --config gnome-www-browser3. 验证设置
运行以下命令,应该自动打开你设定的浏览器并访问 cursor.sh:
xdg-open https://cursor.sh如果浏览器成功打开,说明默认浏览器已生效。现在启动 Cursor,点击 Log In,登录页面终于弹出了!
为什么清理脚本无效?
清理脚本只删除了 Cursor 自身的配置,但系统级别的默认浏览器设置并未改变。即使重新安装 Cursor,它仍然会调用 xdg-open 来打开链接,而 xdg-open 遵循的是系统的 mime 关联。所以问题的根源根本不在 Cursor 内部,而在系统环境。
总结与建议
遇到点击登录无响应,优先检查默认浏览器设置:
bashxdg-settings get default-web-browser xdg-open https://example.com # 测试能否打开从终端启动应用并捕获日志:很多 GUI 应用会将错误输出到终端,这是最直接的线索。
不要忽略看似不相关的系统警告:如本文中的
Command '/usr/bin/firefox' requires the firefox snap to be installed,它直接指向了问题核心。协议处理器与网页打开是两套机制:
cursor://能打开不代表https://能打开,要分别测试。对于 Ubuntu 22.04 用户:如果你从未手动设置过默认浏览器,系统可能默认使用 snap 版 Firefox,而 snap 可能未正确安装或配置,导致这类问题。
希望这篇排障记录能帮助到同样被 Cursor 登录困扰的朋友。如果你有其他环境下的类似问题,欢迎在评论区交流。




