如何在 Mac 上卸载 OpenVPN Connect
移除 OpenVPN Connect 之前先退出它,导入过的 VPN 配置文件留一份副本,它们在应用的 Application Support 文件夹里,这是这里唯一一处存着没法重新下载的东西的地方。这份指南针对 openvpn.net 的官方 macOS 安装包,Homebrew cask openvpn-connect 装的是同一个包。
退出应用
OpenVPN Connect 在菜单栏里,点开图标,连着的话先断开,再退出。安装包还会注册一个叫 OpenVPN Connect 的登录项,移除后如果还在,去「系统设置 › 通用 › 登录项与扩展」里关掉。
移除应用
官网完整安装后,先备份配置并断开连接,再打开 /Applications/OpenVPN Connect/Uninstall OpenVPN Connect.app,只读核对的官方 3.8.2(6009)安装包把卸载器装在这个确切位置。它的 remove.sh 请求管理员授权来停止客户端和助手任务,再处理应用、框架、当前用户应用数据及 OpenVPN 存储的凭据,不先删应用文件夹,否则卸载器也一起没了。
脚本有意保留两份 LaunchDaemon plist 供以后重装,文件仍在不代表任务还在运行,要用下面的命令查看系统任务。只从应用 Payload 拷出的版本则把那份应用移到废纸篓,它没有安装这些服务组件。
OpenVPN Connect 的数据在哪里
| 位置 | 里面是什么 | Mole 怎么处理 |
|---|---|---|
~/Library/Application Support/OpenVPN Connect |
config.json 和你导入的配置文件 |
数据设置关闭时起初不勾选,开启后可能预选符合条件的应用自有数据,先备份配置并核对这一行 |
~/Library/Logs/OpenVPN Connect |
连接日志 | 会列出,默认勾选 |
~/Library/Preferences/org.openvpn.client.app.plist、~/Library/Preferences/org.openvpn.client.app.helper.plist |
应用和辅助程序的偏好设置 | 会列出,默认勾选 |
~/Library/Saved Application State/org.openvpn.client.app.savedState |
窗口恢复状态 | 会列出,默认勾选 |
钥匙串 openvpn.keychain-db |
Homebrew 的 zap 步骤会按名字删掉的一个钥匙串 | 不动,Mole 从不删除 ~/Library/Keychains 里的东西 |
卸载结束后,在访达按 Shift + Command + G 查看上表仍存在的当前用户路径,确认备份后,只把不再需要的 OpenVPN Connect 项目移到废纸篓,保留父目录。
检查结果
pgrep -ilf openvpn
launchctl list | grep -i openvpn
sudo launchctl print system/org.openvpn.client
sudo launchctl print system/org.openvpn.helper
pkgutil --pkgs | grep -i openvpn
ls -d ~/Library/Application\ Support/OpenVPN\ Connect
pgrep 没有输出,说明没有 OpenVPN Connect 进程在跑。launchctl list 只查看当前用户会话,两条 sudo launchctl print 单独查看系统任务,列出条目表示仍已登记,还要看其状态,明确找不到服务才说明那个任务不存在,权限错误无法判断。pkgutil --pkgs 打出的是完整安装器登记的安装收据,没有输出就是一份都没有。ls -d 打印出路径,说明配置文件还在磁盘上,你特意留着的话这正是想要的结果。
用 Homebrew 安装时
Mole 会先检查 zap 清单,涉及未勾选的数据、其他应用共用的文件或无法确认的内容时不执行 --zap,已勾选的残留仍由 Mole 清理。
openvpn-connect 这个 cask 的普通卸载步骤会卸载 org.openvpn.client 和 org.openvpn.helper,退出应用,移除登录项,先移除六份 org.openvpn.* 安装收据登记的文件,再忘掉收据,再删掉 /Applications/OpenVPN Connect.app 和 /Applications/OpenVPN Connect。zap 步骤会运行 security delete-keychain openvpn.keychain-db,并把上表里那四个 ~/Library 路径连同配置文件一起移进废纸篓,自己执行 brew uninstall --cask --zap openvpn-connect 会把这些全做一遍,不管你在 Mole 里勾了什么。Mole 不会给这个 cask 加 --zap,因为清单里有一条它没法审查的命令,你勾选的行照样会进废纸篓。Homebrew openvpn-connect cask
brew uninstall --cask openvpn-connect
Mole 会列出什么
~/Library/Application Support/OpenVPN Connect在关闭「卸载时一并移除数据和配置」时起初不勾选,开启后,符合归属和批选条件时可能预先勾上,先备份配置再核对这一行,上面的官方卸载器按自己的范围处理数据,不读取 Mole 的勾选。- 日志、两个偏好设置文件和窗口恢复状态会列出,默认勾选。
openvpn.keychain-db钥匙串不会列出。
这次检查覆盖了什么
2026 年 9 月 19 日,用 Mole 1.15 的 Preview 构建 277 卸载 OpenVPN Connect 3.8.2,没有 Homebrew 安装记录。应用不是跑官方安装包装上的,安装包的 Payload 里只有一个裸的 Contents 文件夹,测试时把它包成 OpenVPN Connect.app 拷进「应用程序」,辅助程序那个包没有装,所以辅助程序、它的任务和安装收据都不在这台 Mac 上,它们的移除没有测到。应用进了废纸篓,存着 config.json 和配置文件夹的 Application Support/OpenVPN Connect 那一行没有勾,留在了磁盘上。
