Пытаетесь открыть браузер Chromium с помощью команды shell_exec от пользователя, обращающегося к устройству? - PullRequest
0 голосов
/ 02 апреля 2019

Мое устройство не имеет сенсорного экрана, поэтому пользователь получает доступ к функциям через телефон через WiFi, и устройство работает как локальный веб-сервер.Я пытаюсь получить его, так что если пользователь отправляет форму, он запускает команду, чтобы открыть браузер Chromium на устройстве.

Прямо сейчас Показывает вывод на телефон пользователя, но на устройстве ничего не происходит.Я понимаю проблемы безопасности, но только один пользователь имеет доступ к устройству таким образом и должен находиться в непосредственной близости.

if ($_SERVER['REQUEST_METHOD'] == 'POST'){  

    //if user clicked "video on"
    if(isset($_POST["video_on"])){
    echo shell_exec('./video_on.sh');   
    }
}

Теперь вот video_on.sh:

    #!/bin/bash
    DISPLAY=:0 chromium-browser --incognito --start-maximized --kiosk 
    http://localhost/videoloop

Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2019

www-data не имеет доступа к вашему работающему xserver (дисплею), поэтому хром будет запускаться без вывода на экран в фоновом режиме. Вы должны запустить свой веб-сервер как пользователь, который в данный момент вошел на сервер startx, самый простой способ сделать это - вызвать встроенный php-сервер в терминале с X-сервера, чтобы убедиться, что у вас есть все необходимые разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...