在只有远程控制的 mac 下, 如果需要更新 rustdesk, 在图形界面下, 需要先把 rustdesk 退出, 才可以从 dmg 中覆盖旧版本.
这就会有先有鸡还是先有蛋的问题了. 而且覆盖更新后, 启动 rustdesk, 还需要点击启动服务, 非常不友好.
通过 ssh 更新已有的 rustdesk 就简单多了.
# 加载 dmg, 假设文件名是 rustdesk-1.4.2-x86_64.dmg hdiutil attach rustdesk-1.4.2-x86_64.dmg -mountpoint /Volumes/RustDesk_Mount_Point -nobrowse # 删除可能上一次遗留的目录 rm -r /Applications/RustDesk.app/Contents.bak # 改名是因为已有程序启动会无法覆盖 mv /Applications/RustDesk.app/Contents /Applications/RustDesk.app/Contents.bak # 复制新程序 cp -R /Volumes/RustDesk_Mount_Point/RustDesk.app/. /Applications/RustDesk.app/ # 检查已启动的进程, 2-3个 pgrep -laf RustDesk # 杀进程, 其中服务是root启动的, 需要sudo sudo pkill -f RustDesk # 再检查一次所有服务是不是自动启动了, pid应该变化 pgrep -laf RustDesk # 卸载 dmg hdiutil detach /Volumes/RustDesk_Mount_Point # 删除旧程序 rm -r /Applications/RustDesk.app/Contents.bak