Автоматическое выключение в указанное время?

Автоматическое выключение в указанное время?

Я знаю, что могу использовать (sudo?) shutdown -h hh:mmв окне терминала, чтобы завершить работу системы, однако вошедший в систему пользователь является пользователем киоска, который заблокирован таким образом, что терминал (или любое другое окно, кроме Firefox, если на то пошло) не может быть открыт.

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

решение1

Для этих целей отлично подойдет Cron.

Сначала вам необходимо найти полный путь к команде выключения:

a@ubuntu:~$ which shutdown
/usr/sbin/shutdown

Зная путь к shutdownкоманде, вы можете добавить следующую строку (с изменениями) в конец /etc/crontab:

30 23 * * * root /usr/sbin/shutdown -h now

В 23:30 (11:30 PM) киоск выключится. Независимо от того, какой пользователь вошел в систему, команда выключения выполняется от имени root.

(Если вы не хотите использовать глобальный crontab, войдите в систему как root и используйте crontab -e. Используйте тот же синтаксис, что и выше, без root).


Формат Cron:

MM HH DD OO WW command

MM: Минута, 0-59
HH: 24-часовой формат времени
DD: День месяца
OO: Месяц
WW: День недели (воскресенье — 0, понедельник — 1)
command: Не требует пояснений

решение2

Cronjob, похоже, лучший способ, потому что вы можете указать разное время для разных дней. В системах на базе Gnome вы можете просто установитьРасписание GNOMEЗадачи с использованием

sudo apt-get install gnome-schedule

а затем настройте cronjob с помощью графического интерфейса.

в противном случае вам придется использовать sudo crontab -eи затем добавить следующие строки

30 11 * * 1-5 /sbin/shutdown -h now
30 10 * * 0,6 /sbin/shutdown -h now

это выключит ПК в 11:30 с понедельника по пятницу и в 10:30 в субботу и воскресенье. Структура очень проста:

minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command 

Для получения более подробной информации об этом вы также можете просто проверитьCronHowto

решение3

Мы можем автоматически завершить работу в указанное время, просто выполнив команду sudo poweroffв crontab.

Если вы хотите выключать систему в 18:30 каждый день. Введите в терминале:

sudo crontab -e

редактировать

30 18 * * * poweroff

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