lming_44 发表于 2005-3-2 19:06:53

求助:如何用crond在gnome下弹出窗口?

我想在每天23:00时自动关机,同时在关机前五分钟警告用户,我想用crond来实现这个功能,可是crond不能在gnome下弹出message窗口。我该怎么办呢?

carlos 发表于 2005-3-2 19:20:14

用 zenity 试试

lming_44 发表于 2005-3-2 19:53:31

能更详细一些吗?我用crond 中用 shutdown -h 5 "Time up!!" 只能每隔一分钟扬声器“嘀”的一声,很多时候不会注意到这小小的一声“嘀”。(我的宿舍11:00后要断电的)

jcome 发表于 2005-3-2 21:15:20

记忆不好,手头又没有linux,
google了一下:
zenity 是一个非常简单的 GTK+ 2 的对话框工具。它可以在 UNIX shell 环境下,经由标准的 shell 命令的方式,弹出 GTK+ 2 的对话框。这就使得在 UNIX shell 环境下编写一些利用到这样的图形用户界面的对话框功能的程序,变的十分的容易。一个简单的 shell 命令就可以了。

用 zenity 显示 GTK+ 2 的对话框
下面我们来看 zenity 这个命令。这是 GTK+ 2 的一个 shell 命令行工具。这是由太阳微系统公司为 GNOME 项目开发的。取代了 GNOME 1 中的 gdialog 这个功能相类似的命令。这个 shell 命令可以让计算机用户在 shell 程序里面就可以调用这个命令,绘出标准的 GTK+ 2 的对话框来。我们在这里要使用的 zenity 的功能,是画出一个进度条。在进度条增长的过程中,向用户给出一些提示信息。这就是我们要完成的任务。


zenity --progress --width=300 --auto-close --title="some text"

上面的这个 shell 上的 zenity 命令,就可以画出一个进度条对话框。这是由命令行开关 --progress 指定的;--width=300 这个开关则说明了,我们需要的对话框窗口的宽度是 300 像素;--auto-close 这个开关则指明,当我们的进度条走到 100% 满了以后,这个对话框就会自动关闭;--title="some text" 这个开关则指示我们的对话框窗口的标题为 "some text"。这个 --title 开关看上去似乎是很明显的,应该不会出什么问题。哪知道就是这个最明显的事情,反而偏偏就出了问题。下面我们就来看这个问题。然后我们再继续讨论 zenity 的这个进度条对话框的其它问题。


在 GNOME 桌面环境下,我们可以用 zenity 这个 shell 命令在桌面上显示一个 GTK+ 的图形用户界面的对话框来提醒我们:

http://www-900.ibm.com/developerWorks/cn/linux/l-scheme/part1/index.shtml

lming_44 发表于 2005-3-2 21:18:54

谢谢。可是用cron运行zenity的时候,怎样才能让它在正在使用gnome桌面的时候弹出对话框呢?

jcome 发表于 2005-3-2 21:28:16

$ man zenity

$ yelp

提问好,动手之后再来提问可能更好 :-)

lming_44 发表于 2005-3-3 11:24:41

哦,对不起,我没把问题描述清楚。我的意思是说,我在用gnome写文章,cron在后台运行。指定的时间到了以后,我希望gnome能弹出一个对话框,提示“时间到了”。我应该如何写crontab文件呢?
我目前的作法是:
#星期一到星期五每晚22:50分提示关机,五分钟后强制关机
50 22 * * 1-5 root zenity --info -text="time u"; shutdown -h +5
可是这样好像不能弹出对话框

cobranail 发表于 2005-3-3 12:39:13

你可以试试看xmessege命令,可以弹出窗口,内容自定,就是不支持中文(不是很清楚)

lming_44 发表于 2005-3-3 13:18:25

试了一下,还是不行。在gnome下可以弹出xmessage,但在crontab中执行时就无法弹出xmessage 了
页: [1]
查看完整版本: 求助:如何用crond在gnome下弹出窗口?