我按照说明进行操作这里设置自动备份,这样每当我将某个外部驱动器连接到计算机时,就会自动开始备份。
这可行,但此外我想zenity
向用户显示两个对话框:
- 在运行备份之前询问用户是否确实想要进行备份(或者只是使用驱动器)
- 备份完成时询问用户是否要安全删除驱动器(或使用驱动器)
现在我的问题是 borg 站点的备份脚本作为root
.为了能够向用户显示对话框,我添加了--display=:0.0
zenity 命令并将其添加到我的~/.bashrc
:
xhost local:$USER > /dev/null
这种方法的问题是:它只有在终端(即 Gnome 应用程序)启动后才有效。如果我只是登录 Gnome 并插入驱动器,则不会出现任何对话框,并且我可以看到sudo journalctl
脚本因以下错误而失败:
zenity[2731]: cannot open display: :0.0
但如果我先打开一个终端,它就可以工作。我还尝试添加xhost
以下命令/etc/profile.d/
,但即使启动终端也不起作用。
所以我的问题是:xhost
即使用户没有打开终端应用程序,我需要在哪里放置命令才能使其工作?或者说怎样才能做到呢?
答案1
我在这上面浪费了太多时间,最终将 Gnome 终端添加到自动启动,因此~/.bashrc
读取了该文件:
cd ~/.config/autostart
ln -s /usr/share/applications/org.gnome.Terminal.desktop
这不是一个优雅的解决方案,但至少现在在外部驱动器上创建备份很简单。