使用at命令从终端自动启动Firefox

时间:2014-03-11 11:14:42

标签: linux terminal scheduled-tasks at-job

我是linux的初学者,非常热衷于学习操作系统。我试图从命令行启动Firefox(或任何其他软件,如Evince),如下所示:

[root@localhost ~]# at 1637
[root@localhost ~]# at> firefox
[root@localhost ~]# at> ^d

安排作业没有任何错误。但是在指定的时间它不会运行。 我也试过给出以下路径:

[root@localhost ~]# at 1637
[root@localhost ~]# at> /usr/bin/firefox
[root@localhost ~]# at> ^d

仍然没有结果。但是当我尝试使用 echo 在屏幕上显示文本时,它会根据需要在指定的时间出现。可能是什么问题?

4 个答案:

答案 0 :(得分:0)

1)并不总是建议以root身份运行

2)如果您在firefox的当前目录中,也可以尝试./firefox。在linux中你需要注意你的路径变量。除非.(当前目录)在您的路径中,否则如果程序与您在同一目录中,则必须键入./program

另外你需要注意文件权限:在linux中你有read-write-eXecute访问权限。

ls -l将执行目录列表并显示文件权限:

drwxr-xr-x   10 user  staff     340 Oct  6  2012 GlassFish_Server/
drwx------@  15 jeffstein  staff     510 Oct  6 15:01 Google Drive/
drwxr-xr-x   20 jeffstein  staff     680 May 14  2013 Kindle/
drwx------+  67 jeffstein  staff    2278 Jan 26 14:22 Library/
drwx------+  19 jeffstein  staff     646 Oct 23 18:28 Movies/
drwx------+  15 jeffstein  staff     510 Jan  3 20:29 Music/
drwx------+  90 jeffstein  staff    3060 Mar  9 20:23 Pictures/
drwxr-xr-x+   6 jeffstein  staff     204 Nov  3 21:16 Public/
drwxr-xr-x   22 jeffstein  staff     748 Jan 14  2012 androidTools/
-rwxrwxrwx    1 jeffstein  staff    1419 Aug 28  2013 color.sh*

这是ls -l的示例,您可以在这里看到color.sh有-rwxrwxrwx,这意味着任何人都可以读取或写入或运行该文件。

如果没有真正知道你在哪里安装firefox,但是我不能提供更多帮助,但这些是一些可能有用的小指针。

答案 1 :(得分:0)

尝试使用" whereis firefox"来查找实际安装firefox的位置命令。 然后尝试在命令中使用该路径。

答案 2 :(得分:0)

为了获得有关如何使用命令类型的说明:

man at

这将显示"手册"

DESCRIPTION
     The at and batch utilities read commands from standard input or a speci-
     fied file.  The commands are executed at a later time, using sh(1).

     at      executes commands at a specified time;

     atq     lists the user's pending jobs, unless the user is the superuser;
             in that case, everybody's jobs are listed;

     atrm    deletes jobs;

     batch   executes commands when system load levels permit; in other words,
             when the load average drops below _LOADAVG_MX (1.5), or the value
             specified in the invocation of at run.

所以很明显,你需要安排at的工作,你可以看看它是否适用于atq

阅读手册,它应该有所帮助 - 如果我有更多时间,我会给你写一个简单的例子。

答案 3 :(得分:0)

我认为你还没有设置DISPLAY。 at将在未设置显示的单独shell中运行。 请尝试以下代码。

dinesh:~$ at 2120
warning: commands will be executed using /bin/sh
at>  export DISPLAY=:0
at> /usr/bin/firefox > firefox.log 2>&1
at> <EOT>
job 7 at Tue Mar 11 21:20:00 2014

如果仍然无法检查firefox.log以获取更多信息。