我通过查询网络解决了一个问题,但不幸的是,没有解释为什么我找到的命令有效。
我需要使用 cron/anacron 运行一个脚本并在终端屏幕上显示结果,为了在此脚本的最后一行执行此操作,我首先尝试了此命令:
xterm -hold -e 'cd /home/<user>/ && cat inode2 ; bash'
只有我自己运行脚本时它才有效。我将其替换为:
DISPLAY=:0 xterm -hold -e 'cd /home/mmas/ && cat inode2 ; bash'
据我所知,DISPLAY=:0 表示“选择当前显示屏”。结果如下:我的笔记本电脑的活动窗口中出现了一个小终端屏幕,显示脚本结果。在我的 ~/.bashrc 和 /root/.bashrc 文件中,已经有一个“export DISPLAY=:0.0”。显然,cron 对此并不知情。
我的问题是:
- 在修改后的命令中,DISPLAY=:0 真的意味着“显示当前活动窗口的屏幕”还是其他什么?
- 为什么我必须在命令开始时指定它?