默认情况下,ubuntu-minimal 使用 vim-tiny,在使用 vim/emacs 20 多年后,我已经改正了这个毛病,我意识到尽管它们功能强大,但这两个编辑器的用户界面本身并不是为人类设计的,这是一个可怕的笑话。
所以我想更换它完全地。最好与 Kate、Tilde 和 KDiff3 合作。
当然,我已经卸载了 vim-tiny,并从 ubuntu-minimal 中删除了对它的依赖;安装了 Tilde、Kate 和 KDiff3,并添加了名为vim
等的脚本,以运行 Tilde,因此需要 vim 的程序(如 ubuntu-minimal)可以继续工作。
问题是,当有 GUI 可用时,即使我是 root 并编辑系统文件,也应该运行 Kate。但 Kate 足够聪明,知道它不需要一直处于 root 状态,只需要保存(或有时打开)即可。所以我不能只从 root 运行它。我需要它从该用户的会话运行,但从 root 脚本触发,然后只有当 Kate 在用户会话中返回 shell 时才存在。
过去,我记得各种组合su
,以及导出会话变量以便能够访问 X,确实让我在另一个会话中运行。但这一点也不优雅。
所以现在我想干净利落地完成这件事。用正确的方法完成。问题是:我不知道那是什么方法。或者根本就没有定义过一种方法。
当然,我的 X 会话中可能有一个监听器,通过 FIFO 或类似方式发送要打开的内容。但在现代系统中,感觉这些设施已经以更通用和更强大的方式存在。(类似于 policykit 或任何名称?... 也提供更细粒度的访问控制。)
考虑到其他人可能已经完全实现了我想要的东西,我宁愿提出这样的要求,也不愿开始自己编写一个最初的黑客解决方案。
哦,还有:我知道自己在做什么。我这么做是有原因的。如果它在我面前爆炸,那是我的选择,我不需要 OSHA 的任何人牵着我的手来操作勺子。;)