如何在 Mac 上卸载 Tunnelblick
Tunnelblick 自带的卸载程序会删掉你的 VPN 配置和设置,以后可能还要用的话先导出。Tunnelblick 第一次启动时会把自己复制一份到 root 拥有的系统文件夹里,再装一个后台守护进程,所以只把应用拖进废纸篓卸不干净。这份指南针对 tunnelblick.net 的官网磁盘映像,Homebrew cask tunnelblick 装的是同一个版本。
先备份、断开再退出
在 Tunnelblick 的 VPN Details 窗口里用 Export Tunnelblick Setup 把配置导出到应用之外,断开所有配置,再从菜单栏图标退出,退不掉就去「活动监视器」强制退出。
用 Tunnelblick 自带的卸载按钮
Tunnelblick 3.8.5beta02 及以后的版本,打开 VPN Details,在 Utilities 面板点 Uninstall,卸载程序会把 Tunnelblick 在这台 Mac 所有用户账户里建过或改过的文件和文件夹都删掉,更早的版本要去 Tunnelblick 的下载页拿单独的卸载程序磁盘映像。Tunnelblick:卸载 Tunnelblick
Tunnelblick 的数据在哪里
| 位置 | 里面是什么 | Mole 怎么处理 |
|---|---|---|
/Library/Application Support/Tunnelblick |
第一次启动时写入的 root 文件夹,约 64 MB,里面还有一份 Tunnelblick.app | 直接移除应用时 Mole 保留这个 root 产品目录,Homebrew 普通卸载可以不经 zap 勾选就删掉它 |
/Library/LaunchDaemons/net.tunnelblick.tunnelblick.tunnelblickd.plist |
管理 VPN 连接的 root 守护进程 | 会列出,拿到管理员授权后 Mole 把它移进废纸篓 |
登录项 net.tunnelblick.launcher |
登录时打开 Tunnelblick | Mole 不删,卸载后如果还在,去「系统设置 › 通用 › 登录项与扩展」里关掉 |
~/Library/Application Support/Tunnelblick |
你这个用户的 Tunnelblick 文件夹 | 数据设置关闭时起初不勾选,开启后可能预选符合条件的应用自有数据,先导出设置再核对这一行 |
~/Library/Caches/net.tunnelblick.tunnelblick、~/Library/Preferences/net.tunnelblick.tunnelblick.plist、~/Library/Cookies/net.tunnelblick.tunnelblick.binarycookies、~/Library/HTTPStorages/net.tunnelblick.tunnelblick |
缓存、偏好设置和网页存储 | 会列出,默认勾选 |
那个 root 支持文件夹要用 Tunnelblick 自带的卸载程序删,或者等应用和守护进程都没了,在访达里输入管理员密码手动删。
检查结果
pgrep -ilf tunnelblick
launchctl list | grep -i tunnelblick
ls -d /Library/Application\ Support/Tunnelblick /Library/LaunchDaemons/net.tunnelblick.tunnelblick.tunnelblickd.plist
pgrep 没有输出,说明没有 Tunnelblick 进程在跑。launchctl list 打出 net.tunnelblick 开头的行,说明当前会话里还加载着 Tunnelblick 的任务。ls -d 会打印还在磁盘上的 root 项,已经删掉的提示「No such file or directory」,Mole 直接移除应用后产品支持目录可以留下,处理 Homebrew 安装时则会调用普通 cask 卸载来删除它。
用 Homebrew 安装时
Mole 会先检查 zap 清单,涉及未勾选的数据、其他应用共用的文件或无法确认的内容时不执行 --zap,已勾选的残留仍由 Mole 清理。
tunnelblick 这个 cask 的普通卸载步骤会退出应用,卸载 net.tunnelblick.tunnelblick.LaunchAtLogin 和 net.tunnelblick.tunnelblick.tunnelblickd,再删掉 /Library/Application Support/Tunnelblick,所以自己执行 brew uninstall --cask tunnelblick 不带 --zap 也能把那个 root 文件夹清掉。zap 清单另外包括用户级的 ~/Library/Application Support/Tunnelblick、缓存、Cookie、HTTPStorages、偏好设置和一份帮助索引文件,执行 brew uninstall --cask --zap tunnelblick 会把它们连同配置一起移进废纸篓,不管你在 Mole 里勾了什么。Mole 只有在这些路径全都是你勾过的行时才加 --zap,用户级文件夹在关闭「卸载时一并移除数据和配置」时起初不勾选,开启后,符合归属和批选条件时可能预先勾上,未勾选会阻止 zap,但不阻止普通 cask 步骤删除 root 产品目录。Homebrew tunnelblick cask
brew uninstall --cask tunnelblick
Mole 会列出什么
/Library/Application Support/Tunnelblick在 Mole 直接移除文件时保留,因为它就是产品本身,Homebrew 普通 cask 卸载则单独删除它,直接移除时选中这一行可显示「这一项归 root 所有,Mole 不会动它,不需要的话可以在访达里删除。」tunnelblickd的 LaunchDaemon plist 会列出,应用要卸掉时,拿到管理员授权 Mole 会把它移进废纸篓。~/Library/Application Support/Tunnelblick在关闭「卸载时一并移除数据和配置」时起初不勾选,开启后,符合归属和批选条件时可能预先勾上,先导出设置并核对这一行,net.tunnelblick.tunnelblick名下的缓存、偏好设置、Cookie 和 HTTPStorages 默认勾选。
这次检查覆盖了什么
2026 年 9 月 19 日,把官网磁盘映像里的 Tunnelblick 9.0.1 拷进「应用程序」,打开一次,再用 Mole 1.15 的 Preview 构建 277 卸载,没有 Homebrew 安装记录。应用进了废纸篓,root 支持文件夹、守护进程和 net.tunnelblick.launcher 登录项都留着,用户级 Application Support/Tunnelblick 这一行没有勾。2026 年 9 月 23 日又用官网磁盘映像重装,换成能移走 root 启动项的 Preview 构建再卸一次,守护进程的 plist 进了废纸篓,支持文件夹按设计保留,那一轮它的提示一开始误写成外置磁盘上的应用,之后改成了上面引用的 root 系统项文案。
