在硬盘插件的新终端窗口中执行脚本

时间:2016-09-25 09:06:31

标签: shell terminal ubuntu-16.04 xterm udev

每次在ubuntu 16.04上将特定硬盘插入我的计算机时,我想用rsync执行备份脚本。 但是,我希望提示用户是否应该运行备份,然后他应该能够在终端中看到rsync输出。

到目前为止我做了什么:

  • 我在/etc/udev/rules.d/backup_on_mount.rules

    创建了一条规则
    ACTION=="add", ATTRS{idVendor}=="1058", ATTRS{idProduct}=="0820", RUN+="/path/to/my/script/backup_on_mount.sh"
    
  • 我创建了backup_on_mount.sh脚本并使其可执行

但是当我插入硬盘时,我没有成功弹出一个新的终端窗口,其中我的脚本在其中运行。

有人知道如何开始吗?

谢谢

1 个答案:

答案 0 :(得分:0)

你不应该直接从udev规则运行任何长期的东西。将长时间运行的脚本与udev规则分离的一种方法是通过调度它(例如使用at -M now命令)而不是直接运行它。找到合适的DISPLAY以打开新终端的正确方法取决于您的桌面环境