`[java] ` с несуществующими детьми -> Как их собрать?

 export DISPLAY =: 0.0 xhost localuser / usr / bin / firefox 
 

Просто взглянув на приведенную выше команду cron, я могу понять, почему это не сработает. Команда export используется так:

export name[=word]...

В оболочках POSIX остальные слова, следующие за export DISPLAY =: 0.0 , будут рассматриваться как другие переменные оболочки, которые следует экспортировать в окружение - не команды, которые будут выполняться. POSIX (выпуск 7, издание 2018 г.) также указывает, что имя должно быть

словом, состоящим исключительно из знаков подчеркивания, цифр и букв из переносимого набора символов .

Это означает, что имена переменных оболочки не могут содержать такие символы, как / , поэтому попытка включить / usr / bin / firefox в список имен переменных для экспорта вызовет ошибку ошибка с сообщением, например недопустимый идентификатор или неправильное имя переменной .


Также неправильно используется команда xhost . Запустите xhost отдельно, чтобы узнать, нужно ли вам добавить свою учетную запись в качестве разрешенного пользователя. Это должно быть выполнено только один раз и не должно планироваться cron.


Если нет какого-либо другого механизма, препятствующего подключению программ к серверу отображения X, приведенные выше строки можно просто заменить на:

DISPLAY=:0.0
* * * * * /usr/bin/firefox

Это должно запускать новое окно Firefox каждую минуту. Также нет необходимости указывать переменную среды SHELL , а поскольку вы указываете полный путь к исполняемому файлу firefox , нет необходимости устанавливать ] PATH либо переменная.


См. Также: Спецификация POSIX для экспорта

2
13.04.2017, 15:36
0 ответов

Теги

Похожие вопросы