Подумайте об этом некоторое время. Вы перезагружаете компьютер и идете делать чашку кофе. Задача cron пытается запуститься, но где она должна открывать терминал? Вы даже не вошли в систему...
Задания Cron не запускаются в той же среде, что и ваша интерактивная среда с графическим интерфейсом, и поэтому вы обычно не можете планировать задания cron, как если бы они были обычными командами, введенными в командной строке, не позаботившись о настройке необходимых переменных среды и т. д. что задание cron должно быть запущено.
В данном случае дело не только в нескольких переменных среды, но и в том факте, что пользователь может даже не войти в систему, когда выполняется задание cron. Для запуска графического терминала требуется среда рабочего стола.
Я предполагаю, что вы хотите запускать свою команду каждый раз при запуске среды рабочего стола (при входе в систему, а не при перезагрузке ).
Чтобы сделать это в XFCE, выберите «Настройки» -> «Сеанс и запуск» -> «Автозапуск приложения» и щелкните Add
или создайте файл с расширением .desktop
в~/.config/autostart/
(этот каталог может не существовать, поэтому вам, возможно, придется его создать ).
Файл должен выглядеть примерно так
[Desktop Entry]
Version=1.0
Name=Script
Type=Application
Exec=/home/user/bin/script.sh
Terminal=false
StartupNotify=false
Где /home/user/bin/script.sh
— скрипт, который делает то, что вы хотите.
(Приведенное выше взято из ветки форума XFCE , и я не знаю, работает ли это, поскольку я даже не использую X11)
Также относится:Сценарий инициализации Xfce