- Выключение линукса по таймеру
- Завершение работы компьютера с ОС Linux по таймеру
- Warl0ck’s Blog
- Про GNU/Linux и софт вообще
- Выключаем компьютер по таймеру без ввода пароля
- Немного основ основ
- А теперь практика
- Ссылки
- Выключение и запуск по расписанию Linux
- Планирование включения в Linux
- Выводы
- Выключение Linux из командной строки
- Процесс выключения Linux
- Синтаксис и опции shutdown
- Выключение компьютера в Linux
- 1. shutdown
- 2. reboot
- 3. halt
- 4. poweroff
- 5. SysRQ
- 6. Графический интерфейс
- Выводы
Выключение линукса по таймеру
Завершение работы компьютера с ОС Linux по таймеру
Как всем давно известно, компьютер, работающий под управлением Linux, может работать круглосуточно годами. Но большинство пользователей предпочитают выключать свой компьютер или ноутбук после завершения работы или после того, как будет выполнена автоматическая работа, которая не требует вмешательства человека. Для достижения данной цели можно воспользоваться командой shutdown .
Из основных параметров (options) следует отметить два:
- -r — перезагрузить систему;
- -h — полная остановка системы (с таким параметром компьютер будет выключен).
Параметром TIME можно задать время, когда будет выполнена команда. Указание этого параметра необязательно — если вы не укажите время, то команда выполнится немедленно. Можно указать время, через которое выполнится команда: +20 (через 20 минут); или явно указать время, когда следует выполнить команду: 15:20 (в 15 часов 20 минут).
Например, чтобы выключить компьютер через 20 минут, следует выполнить:
Для того, чтобы выключить в 15:20:
Для перезагрузки системы сейчас:
Хотя перезагрузиться проще так:
У вас недостаточно прав для того чтобы тут гадить.
Источник
Warl0ck’s Blog
Про GNU/Linux и софт вообще
Выключаем компьютер по таймеру без ввода пароля
А в этом посте я расскажу о том, как же выключать компьютер через определенное время.
Немного основ основ
В Linux есть несколько способов выключить компьютер. Это команды halt, reboot и shutdown (которая является чем-то вроде расширенного варианта этих команд, потому что умеет выключать и перезагружать компьютер), а также выключение и перезагрузка при помощи PolyciKit. Последний вариант не требует пароля не требует ввода пароля для выключения, а первые требуют пароль.
Так, например, ввод в терминале
reboot
выдаст в ответ:
reboot: Необходимо быть суперпользователем
Поэтому надо написать
sudo reboot
ввести Ваш пароль и увидеть, что компьютер благополучно перезагружается.
Если Вы введете в терминале
shutdown —help
то увидите, что эта команда может не только выключать, но и перезгружать компьютер.
Парочка примеров:
sudo shutdown -r now
перезагрузит (ключ -r) компьютер немедленно (now), а
sudo shutdown -r 120
перезагрузит компьютер через 120 минут (то есть через 2 часа). А так:
sudo shutdown -h 69 Выключаю комп
выключит (-h) компьютер через 69 минут (1 час и 9 минут). И при этом будет выводиться при выключении не стандартные уведомления
warl0ck@desktop:
$ sudo shutdown -h 69
Широковещательное сообщение от warl0ck@desktop
(/dev/pts/0) в 16:24.
The system is going down for halt in 69 minutes!
А такое:
warl0ck@desktop:
$ sudo shutdown -h 69 Выключаю комп
Широковещательное сообщение от warl0ck@desktop
(/dev/pts/0) в 16:22.
The system is going down for halt in 69 minutes!
Выключаю комп
Ввод же команды
sudo shutdown -c
отменяет запланированное выключение или перезагрузку компьютера.
А теперь практика
Мне нравится включать что-нибудь на сон грядущий. Музыку там или фильм какой… Я каждый день включаю что-нибудь перед сном, пишу sudo shutdown -h 90, ввожу пароль и ложусь спать. Но каждый день вводить пароль утомляет. Поэтому я задумался о том, как бы автоматизировать выключение. Тем более, что в одном из дистрибутивов (возможно, Crunchbang) была в меню Openbox возможность выбирать, когда же выключить компьютер, без ввода пароля. А значит, что было бы круто и мне так сделать. Мне повезло и решение было найдено. И я поделюсь им с вами, мне не жалко:)
WARNING! AHTUNG! ВНИМАНИЕ! Невнимательность может привести к поломке системы. И я не несу ответственности, если Вы что-то там по невнимательности поломаете. Неправильное редактирование файла /etc/sudoers может привести к тому, что станет невозможным использование sudo, а значит, что придется (если у Вас *buntu и некоторые другие дистрибутивы. а в Arch, например, имеется неотключенный root, можно зайти и пересоздать пользователя)
В эмуляторе терминала введите команду
sudo visudo
и добавьте
имя_пользователя ALL = NOPASSWD: /sbin/shutdown
Здесь:
имя_пользователя — Ваше имя пользователя. Логин, под которым входите в систему;
ALL — разрешение входить с любого компьютера сети
NOPASSWD: /sbin/shutdown — разрешение вводить без пароля команду shutdown.
и сохраните файл под именем /etc/sudoers. Хотя можете и просто открыть от суперпользователя этот файл в любом текстовом редакторе. Но в этом случае не проверяется синтаксис заполнения файла, поэтому осторожнее.
Введите
sudo -K
чтобы забыть введенный ранее пароль sudo (они запоминаются на некоторое время и без этого эксперимент будет не чистым) и попробуйте ввести
sudo shutdown -r now
и убедитесь, что ввода пароля и правда не потребовалось.
Теперь можно создать, например, на рабочем столе ярлыки (в XFCE это клик правой кнопкой мыши -«создать значок запуска» — Имя, комментарий любые, выбрать какой-нибудь подходящий значок из предложенных, а команда для выключения
sudo shutdown -h +x
где х — время в минутах, которое вам нужно. Можно создать не один ярлык и для разных времен.
А можно, как я, добавить пункты в меню XFCE. Правой кнопкой по меню, «свойства» — «изменить меню» и тут уже делаете так, как хотите. Мое меню выглядит так:
Ссылки
Ну и тразицонно интересующимся более подробно sudo рекомендую эти сайты:
Источник
Выключение и запуск по расписанию Linux
Операционная система Linux позволяет планировать запуск, завершение или переход компьютера в режим сна в нужное вам время. Например, вы можете запланировать запуск компьютера утром и автоматическое выключение когда ложитесь спать.
Иногда это очень даже полезно, вы экономите время, в место того чтобы ждать пока загрузится операционная система, можно сразу садится и работать, и это просто удобно. Можно запланировать включение компьютера по расписанию, даже после завершения работы скрипта.
Планирование включения в Linux
В Linux для завершения работы или перехода в режим сна и планирования запуска, используется утилита rtcwake. Это встроенный в ядро инструмент, поэтому она уже есть во всех дистрибутивах и устанавливать ничего не придется. Синтаксис команды такой:
$ sudo rtcwake –m режим –s время
$ sudo rtcwake –m режим –t время
После выполнения команды компьютер сразу выключится. Параметр -s указывает количество секунд до запуска компьютера. Опция -m устанавливает режим выключения. Дело в том что компьютер выключается не полностью, он переходит в сон, при котором питание подается только на несколько самых важных компонентов. Эти компоненты и определяет режим, указанный в этом параметре. Доступные режимы:
- standby (S1) – режим с минимальным энергосбережением, компьютер очень быстро засыпает и так же быстро восстанавливается. Этот режим используется по умолчанию;
- mem – (S3) – все компоненты системы отключаются кроме памяти;
- disk(S4) – Все содержимое памяти записывается на диск;
- off (S5) – Аналогично вызову команды shutdown;
- on – без отключения, используется для отладки.
А теперь давайте рассмотрим основные опции команды rtcwake Linux:
- -a — определить какое время использовать локальное или UTC на основе файла /etc/adjtime;
- —date — указать дату включения компьютера, доступны такие варианты: YYYY-MM-DD hh:mm:ss, YYYY-MM-DD (время будет установлено в 00:00), hh:mm:ss (дата будет установлена на сегодня), tomorrow (завтра в 00:00);
- -l, —local — использовать локальное время, а не UTC;
- —list-modes — вывести доступные режимы планирования включения;
- -m, —mode — выбрать режим планирования;
- -n, —dry-run — тестовый запуск;
- -t — время следующего запуска в формате Unix, в секундах, прошедших с 01-01-1970;
- -u, —utc — использовать UTC время вместо локального;
- -v — максимально подробный вывод.
Например, следующая команда переводит компьютер в режим сна и планирует включение через 3 минуты:
rtcwake -m mem -s 180
Время запуска можно задавать не только в секундах от текущего момента, но и в формате полной даты и времени. Это делается с помощью опции -t, но эта опция принимает время в формате UNIX, поэтому сначала нужно преобразовать наше, обычное время, в этот формат с помощью date.
Например, давайте включим компьютер завтра в 13.00, допустим сегодня 10 сентября 2016. Сначала преобразуем данные:
date +%s -d «2016-09-11 13:00»
Выключаем компьютер и планируем запуск по расписанию:
rtcwake -m mem -t 1473541200
Чтобы запланировать выключение Linux по расписанию или переход в режим сна будем использовать cron. Просто запланируйте выполнение команды rtcwake через crontab в нужное время для выключения компьютера и планирования последующего включения. Например, выполняем выключение компьютера Linux вечером и выполнить запуск по расписанию linux с утра:
0 21 * * * /usr/bin/rtcwake -m mem -s 28800
Если вам не нужно включать компьютер, а только выключить, можете вместо предыдущей команды использовать shutdown:
0 21 * * * /usr/bin/shutdown -h now
Вот и все. Подробнее о том, как настраивается расписание задач в cron смотрите здесь.
Выводы
Теперь вы знаете как запланировать запуск, выключение или переход в режим сна в Linux. Это не сложно и в некоторых ситуациях может очень помочь. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Выключение Linux из командной строки
Выключение компьютера — действие, с которым обычные пользователи сталкиваются чуть ли не каждый день. Если выключать сервер приходится довольно редко, то обычные, десктопные компьютеры подвержены этой операции очень даже часто. Большинство пользователей выключают linux в графическом интерфейсе системы. В окружении рабочего стола KDE это делается через главное меню, а в Gnome и Unity даже есть специальная кнопка на панели для решения этой задачи.
Но не всегда есть возможность выключить компьютер linux таким образом. Например, если окружение рабочего стола не работает, то больше ничего не остается, кроме того, чтобы выполнять выключение компьютера из командной строки. К тому же выключение компьютера linux через терминал единственно возможный способ для серверов, где нет графического интерфейса. Как вы увидите, этот способ также намного гибче обычного выключения, поскольку вы можете настроить нужное время отключения, или же выключить компьютер, дождавшись завершения работы определенной программы.
Процесс выключения Linux
Часто для выключения Linux из терминала используется утилита shutdown. Есть также команды poweroff, halt, но они для нестандартных случаев. Также выключить linux из консоли можно с помощью сочетаний клавиш SysRQ. Но сначала давайте рассмотрим синтаксис команды shutdown. Естественно, команда shutdown в Linux или любая другая не самостоятельно завершает работу системы и выключает компьютер. Она всего лишь передает запрос на выключение системе инициализации, а затем ядру. А уже они выполняют ряд сложных операций по подготовке и выключению компьютера. Если кратко, то вот они:
- Завершение процессов пользователя.
- Сигнал SIGTERM всем процессам.
- Сигнал SIGKILL всем процессам.
- Монтирование файловых систем в режиме только для чтения.
- Подготовка внешних устройств к отключению.
- Блокировка пространства пользователя, чтобы гарантировать, что ни один код пользователя больше не будет запущен.
- Завершение работы и отключение питания большинства периферических устройств.
- Отключение питания компьютера.
Теперь вы понимаете суть процесса выключения и то почему нельзя просто выдернуть шнур питания с розетки. Если это сделать, компьютер отключится моментально и не выполнит всех необходимых операций, а это может грозить потерей не сохраненных или даже недавно сохраненных данных, повреждением файловой системы и т д. Поэтому желательно выключать компьютер правильно с помощью shutdown или других специальных утилит.
Синтаксис и опции shutdown
Синтаксис команды очень простой:
$ shutdown [опции] [время] [сообщение]
Опции задают параметры отключения, их мы рассмотрим ниже. Время можно задавать в виде чч:мм в 24 часовом формате. Также можно использовать запись +минуты, указывающую через сколько минут от текущего момента нужно выключить компьютер с Linux. Также доступна константа now, указывающая, что выключать нужно прямо сейчас. Параметр сообщение позволяет задать сообщение, которое будет выведено в терминал перед выключением.
Вот основные опции утилиты:
- —help — вывести справку по программе
- -H, —halt — отключить питание, не завершая процессы и не перемонтируя файловые системы
- -P, —poweroff — нормальное выключение
- -r, —reboot — перезагрузка
- -k — не выполнять реальных действий, а только вывести сообщение
- —no-wall — выключить компьютер, но не выводить сообщение
- -c — отменить запланированное выключение linux из командной строки
Вот в принципе и все опции утилиты, их больше чем достаточно для такого простого действия. Теперь можно переходить к примерам, но сначала давайте рассмотрим, что же происходит во время включения Linux.
Выключение компьютера в Linux
1. shutdown
Самая простая и самая часто используемая команда выключения компьютера linux, отключит компьютер немедленно:
sudo shutdown -h now
Как видите, используется обычное выключение, и константа времени now, тоесть сейчас.
Теперь попробуем запланировать выключение компьютера linux через пять минут:
sudo shutdown -h +5 «Компьютер будет выключен через 5 минут»
Мы запланировали вывод сообщения перед выключением. Чтобы отменить команду shutdown выполните:
sudo shutdown -c
Точно так же мы можем указать точное время выключения, например в девять вечера:
sudo shutdown -h 21:00
Как я уже говорил, не только команда shutdown linux умеет выключать компьютер, есть еще несколько утилит способных на это. Рассмотрим их тоже.
2. reboot
Команда reboot обычно используется для перезагрузки системы, но она также умеет выключать компьютер. Мы не будем ее подробно рассматривать, потому, что она еще проще команды shutdown. Для выключения нужно задать опцию -p:
3. halt
Эта команда тоже выключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий перед выключением, а просто отключает питание:
Использование halt может повредить систему
4. poweroff
Это аналог halt, делает в точности то же самое:
5. SysRQ
Помните, в начале статьи, я говорил о сочетании клавиш для включения компьютера? Рассмотрим этот вопрос подробнее.
SysRQ — это подсистема, реализованная на уровне ядра. Ядро обрабатывает все нажатия клавиш, а с помощью этой подсистемы, оно может принимать от пользователя команды, даже когда система полностью зависла. Основное предназначение этой подсистемы — работа с компьютером в проблемных ситуациях, например, если вы думаете что ваш компьютер заразил вирус, или компьютер завис и его нужно выключить. Для доступа к SysRq используются сочетания клавиш Alt+PrtScr+номер
Самое интересное, что мы можем выполнить безопасное выключение компьютера linux. Для этого зажмите клавиши Alt + PrtScr и поочередно нажимайте:
- R — разблокировать клавиатуру;
- E — послать всем процессам сигнал SIGTERM;
- I — послать всем процессам сигнал SIGKILL;
- S — перенести все данные из кеша файловых систем на диск;
- U — перемонтировать файловые системы только для чтения;
- B — перезагрузить.
Также вместо всего этого можно воспользоваться сочетанием клавиш Alt+PrtScr+O, в таком случае, вся процедура будет выполнена автоматически, эта команда поддерживается не всеми ядрами.
6. Графический интерфейс
Выключить компьютер в графическом интерфейсе ещё проще. Для этого кликните по иконке выключения в правом верхнем углу, а затем выберите Выключить/Завершить сеанс, затем Выключение.. и снова Выключить:
Выводы
Теперь вы знаете все что нужно, о том, как выключить Linux через терминал. Если вас застигнет врасплох ошибка или зависание компьютера, вы знаете что делать. Если остались вопросы — пишите в комментариях!
Источник