Как запланировать запуск приложения в Linux?

Как запланировать запуск приложения в Linux?

Как мне запустить графическое приложение, например firefox или gnome-calculator, в определенное время. atне работает для этого; т. е. echo "firefox" | at nowне запускает firefox. Cron может работать, но это создаст повторяющуюся задачу. Есть ли способ настроить такое приложение на запуск с той же функциональностью, что и at, в указанное время или через заданный промежуток времени от текущего момента?

решение1

Kubuntu 22.04 LTS, X11, KDE. Мне нужно только "вручную" сохранить DISPLAY.

В целом atсохраняет среду с момента вызова, за исключением нескольких переменных. DISPLAYявляется одним из исключений. man 1 atПодробности см. здесь. Отсутствие переменной — вот почему echo "firefox" | at nowне работает.

Вот как вы можете сохранить DISPLAY:

echo "DISPLAY='$DISPLAY' firefox" | at now

Команда сломается, если $DISPLAYрасширится до чего-то, что включает '; но на практике этого не должно быть. Обычно расширенная строка составляет всего :0около того.

Вы можете запланировать на потом, просто не выходите из своего рабочего стола. Япредполагатьвы можете указать еще не существующий дисплей для firefox, создать дисплей до того, как придет время, и это будет работать; хотя я не тестировал этот сценарий.

Связанный контент