市中心道格·布朗 ➡ 我在 Ubuntu MATE 和 Xubuntu 中修复了一个已有 6 年历史的.deb 安装错误

主要观点:2018 年在 Ubuntu MATE 18.04 上安装 Google Chrome 时出现问题,安装器窗口点击安装后消失,后从命令行安装 Chrome。多年来在不同 Ubuntu 版本中该问题持续存在,两年半前开始深入研究,发现是 GDebi 使用 execv()与 pkexec 配合时出现问题,gksu 被移除导致,需更新 GDebi。提交代码修复后历经漫长过程才最终在 Ubuntu 24.10 中发布并计划回溯到 22.04 和 24.04,修复前该问题受浏览器启动方式等因素影响,导致情况复杂且易混淆,感谢 Canonical 开发者推动修复。
关键信息

  • 2018 年在 Ubuntu MATE 18.04 安装 Chrome 时的各种现象及从命令行安装的情况。
  • 多年来在 20.04、22.04 等版本中问题持续,两年半前开始研究。
  • 发现 GDebi 与 pkexec 配合问题及 gksu 被移除的原因。
  • 提交代码修复及过程中的讨论和变更,从使用 os.execv()到 subprocess.call()。
  • 问题受浏览器启动方式影响,20.04 后 Firefox 采用 snap 时问题不出现等。
    重要细节
  • 安装 Chrome 时 GDebi 安装窗口消失,未出现要求输入密码的对话框。
  • 研究发现 GDebi 代码相关情况,包括代码实际存放位置等。
  • 不同 Ubuntu 版本中安装 Chrome 时 GDebi 的表现差异,如 17.04 和 17.10 中认证对话框的不同。
  • 提交修复代码后经历漫长审核及等待过程,最终在 24.10 发布并计划回溯。
  • 问题受浏览器启动方式及 Firefox 采用 snap 等因素影响,导致情况复杂。
阅读 16
0 条评论