Ubuntu 启动 Node.js 服务器并以信息亭模式打开 Chrome

Ubuntu 启动 Node.js 服务器并以信息亭模式打开 Chrome

我希望计算机在启动时立即启动 Node.js 应用程序。然后我希望 Chrome 以 Kiosk 模式打开,但仅在服务器启动后才打开。在 Ubuntu Stack Overflow 上,我找到了一种在启动时执行脚本的方法

在你的 cron 中添加一行如下:

@reboot /路径/到/脚本

计算机启动后将执行该脚本。

我以为我可以使用 .sh 脚本来做到这一点,但我对 Linux 还不熟悉。如果我要写这样的代码:

node server.js
chromium-browser --kiosk http://example.com

直到节点服务器完全启动后,chromium-browser 命令才会执行吗?

答案1

你试过吗?如果试过,结果如何?

我猜想如果你尝试过,它就会失败。这是因为进程node server.js永远不会停止继续。通常在这种情况下,你会使用node server.js &将进程发送到后台;但是,这并不意味着服务器已准备就绪。

要真正了解这一点,最好的办法是使用listen callback执行系统命令。例如:

var http = require("http");

var srv = http.createServer(...);
srv.listen(8000, ExecuteChromium);

function ExecuteChromium() {
    exec("chromium-browser --kiosk http://example.com", function(error, stdout, stderr) {
        console.log("stdout: " + stdout);
        console.log("stderr: " + stderr);
        if (error !== null) {
            console.log("exec errror: " + error);
        }
    });
}

注意:目前尚未经过测试,只是查看了一些文档和所以回答执行命令。

相关内容