Просто избавитесь от двух блоков if if fi в pre-start и post-stop в /etc/init/networking.conf, чтобы снова перезапустить перезапуск службы.
Чтобы выполнить любое приложение, связанное с графическим интерфейсом от Cron, вы должны экспортировать несколько переменных окружения рабочего стола. Ниже приведенное решение основано на этом ответе, где приведены более подробные сведения.
Создайте сценарий запуска, который будет экспортировать переменные среды рабочего стола и запустит ваше приложение. Назовем это cron-gui-launcher. Его содержание должно быть (referenc: [1], [2] и [3]):
#!/bin/bash -e
# Check whether the user is logged-in
while [ -z "$(pgrep gnome-session -n -U $UID)" ]; do sleep 3; done
# Export the current desktop session environment variables
export $(xargs -0 -a "/proc/$(pgrep gnome-session -n -U $UID)/environ")
# Execute the input command
nohup "$@" >/dev/null 2>&1 &
exit 0
Для других окружений рабочего стола измените gnome-session в этой части $(pgrep gnome-session -n -U $UID) с именем процесса используемого DE, например mate-session. Здесь представлен список самых Ubuntu DE. Реализация Lubuntu того же скрипта - здесь. Сценарий можно использовать для запуска приложения GUI из сеанса TTY или SSH в сеансе рабочего стола текущего пользователя. Сделайте исполняемый файл: chmod +x cron-gui-launcher. Сценарий будет работать до тех пор, пока пользователь не войдет в систему, включая заблокированный экран. Пожалуйста, не изменяйте и не запускайте скрипт как root. Это может быть вредно для системы! Затем используйте его внутри crontab следующим образом:
*/1 * * * * /full/path/to/cron-gui-launcher "/full/path/to/the-targer-application"
Вот как это работает на Ubuntu 17.10 на Wayland:
Чтобы выполнить любое приложение, связанное с графическим интерфейсом от Cron, вы должны экспортировать несколько переменных окружения рабочего стола. Ниже приведенное решение основано на этом ответе, где приведены более подробные сведения.
Создайте сценарий запуска, который будет экспортировать переменные среды рабочего стола и запустит ваше приложение. Назовем это gui-launcher. Его содержание должно быть (referenc: [1], [2] и [3]):
#!/bin/bash -e
# NAME: gui-launcher
# Check whether the user is logged-in
while [ -z "$(pgrep gnome-session -n -U $UID)" ]; do sleep 3; done
# Export the current desktop session environment variables
export $(xargs -0 -a "/proc/$(pgrep gnome-session -n -U $UID)/environ")
# Execute the input command
nohup "$@" >/dev/null 2>&1 &
exit 0
Для других окружений рабочего стола измените gnome-session в этой части $(pgrep gnome-session -n -U $UID) с именем процесса используемого DE, например mate-session. Здесь представлен список самых Ubuntu DE. Реализация Lubuntu того же скрипта - здесь. Сценарий можно использовать для запуска приложения GUI из сеанса TTY или SSH в сеансе рабочего стола текущего пользователя. Сделайте исполняемый файл: chmod +x gui-launcher. Сценарий будет работать до тех пор, пока пользователь не войдет в систему, включая заблокированный экран. Пожалуйста, не изменяйте и не запускайте скрипт как root. Это может быть вредно для системы! Затем используйте его внутри crontab следующим образом:
*/1 * * * * /full/path/to/gui-launcher "/full/path/to/the-targer-application"
Вот как это работает на Ubuntu 17.10 на Wayland:
Чтобы выполнить любое приложение, связанное с графическим интерфейсом от Cron, вы должны экспортировать несколько переменных окружения рабочего стола. Ниже приведенное решение основано на этом ответе, где приведены более подробные сведения.
Создайте сценарий запуска, который будет экспортировать переменные среды рабочего стола и запустит ваше приложение. Назовем это gui-launcher. Его содержание должно быть (referenc: [1], [2] и [3]):
#!/bin/bash -e
# NAME: gui-launcher
# Check whether the user is logged-in
while [ -z "$(pgrep gnome-session -n -U $UID)" ]; do sleep 3; done
# Export the current desktop session environment variables
export $(xargs -0 -a "/proc/$(pgrep gnome-session -n -U $UID)/environ")
# Execute the input command
nohup "$@" >/dev/null 2>&1 &
exit 0
Для других окружений рабочего стола измените gnome-session в этой части $(pgrep gnome-session -n -U $UID) с именем процесса используемого DE, например mate-session. Здесь представлен список самых Ubuntu DE. Реализация Lubuntu того же скрипта - здесь. Сценарий можно использовать для запуска приложения GUI из сеанса TTY или SSH в сеансе рабочего стола текущего пользователя. Сделайте исполняемый файл: chmod +x gui-launcher. Сценарий будет работать до тех пор, пока пользователь не войдет в систему, включая заблокированный экран. Пожалуйста, не изменяйте и не запускайте скрипт как root. Это может быть вредно для системы! Затем используйте его внутри crontab следующим образом:
*/1 * * * * /full/path/to/gui-launcher "/full/path/to/the-targer-application"
Вот как это работает на Ubuntu 17.10 на Wayland:
Окружающая среда для cron и вашего обычного пользователя может быть разной.
Когда вы используете какие-либо скрипты в cron, лучше поставить полный путь к ним.
Окружающая среда для cron и вашего обычного пользователя может быть разной.
Когда вы используете какие-либо скрипты в cron, лучше поставить полный путь к ним.
Окружающая среда для cron и вашего обычного пользователя может быть разной.
Когда вы используете какие-либо скрипты в cron, лучше поставить полный путь к ним.