1

Я хотел бы, чтобы компьютер сразу запустил приложение Node.js при загрузке. Затем я хотел бы открыть Chrome в режиме киоска, но только после запуска сервера. Глядя на переполнение стека в Ubuntu, я нашел способ выполнить скрипт при запуске

Добавляем строку в ваш cron так:

@reboot /path /to /script

выполнит этот скрипт после загрузки вашего компьютера.

Я думал, что смогу сделать это с помощью скрипта .sh, но я новичок в Linux. Если бы я написал что-то вроде этого:

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

Будет ли команда chromium-browser не выполняться до тех пор, пока сервер узла не будет полностью запущен?

1 ответ1

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);
        }
    });
}

Примечание: это не проверено в существующем виде, просто посмотрел на некоторые документы и ответ SO для выполнения команды.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .