0

每当我启动我的机器(Linux)时,我都想要一些通知。所以,我创建了一个 php 脚本,它有一些逻辑,我想在我登录机器时在浏览器中查看脚本的输出。

我在 /etc/rc.local 中添加了我的 php 文件。但是我的浏览器在启动后没有打开。可能是它在启动后无法找到 google-chrome 的实例。

任何其他建议,以便我可以在登录后立即弹出?

我的 php 脚本( tasks.php ):

$popUp = "Test task";
$popUp = "<html>$popUp</html>";
$fp = fopen("<path_to_file>/tasks.htm","w");
fwrite($fp,$popUp);
fclose($fp);
exec("google-chrome <path_to_file>/tasks.htm");

/etc/rc.local:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

php <path_to_file>/tasks.php
4

4 回答 4

0

rc.d 脚本不能与您的 X 环境交互。您可以执行 php 脚本,但不能启动 chrome。

您可以将所有内容移至 X 会话启动时自动启动的命令(Gnome、KDE ​​等),它会起作用。

或者,您可以通过 rc.d 运行在后台执行任何工作的 php 脚本,并通过 X 会话启动 chrome。

于 2013-05-28T11:31:13.203 回答
0

谷歌浏览器在系统初始化期间无法启动 - 首先窗口系统尚未准备好,加上您的帐户(创建 X 会话)尚未登录。

但是,您可以根据 PHP 脚本(脚本中的 CLI)的执行来编写页面,例如 /tmp

$fp = fopen("/tmp/myaccount.tasks.htm","w");

然后,当您登录时,可以自动启动google chrome ,并将文件创建为参数。例如

/usr/bin/google-chrome /tmp/myaccount.tasks.htm

此链接说明了如何在登录时启动程序。(~/.config/autostart如果您不使用 Ubuntu,请参阅已接受答案底部的路径)

于 2013-05-28T11:38:31.437 回答
0

把它放进去gnome-session-properties,它会在登录时运行。(显然只有当你使用 gnome 时)

于 2013-05-28T11:40:45.490 回答
0

我编写了创建 html 页面的 php 脚本 (tasks.php)。

$popUp = "Test task";
$popUp = "<html>$popUp</html>";
$fp = fopen("<path_to_file>/tasks.htm","w");
fwrite($fp,$popUp);
fclose($fp);

并将其添加到 /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

php <path_to_file>/tasks.php

为了在登录后在 chrome 中打开我的 html 页面,我修改了 .config/autostart/google-chrome.desktop 文件

[Desktop Entry]
Type=Application
Terminal=false
# Exec=/opt/google/chrome/google-chrome --no-startup-window
Exec=/opt/google/chrome/google-chrome <path_to_file>/tasks.htm
Name=Google Chrome
于 2013-05-29T04:31:40.417 回答