Ubuntu one remote использует sudo -S -p '' halt
для выключения и не работает до конца. оставить монитор включенным с сообщением
теперь будет остановлено
[22225.11163] остановлено
blockquote>В чем разница между
sudo -S -p " halt
иsudo shutdown now
?
halt
- это не shutdown
, это разные команды. Первый не выключает питание, если не используется опция -p
Из руководства (man halt
): "- p, --poweroff: дает команду halt вместо этого вести себя как poweroff. "
И, в вашем случае, -p
не был , не использовался в команде halt
, следовательно, ваш компьютер был не выключен. .
Не путайте этот -p с параметром из sudo
, это другой параметр для другой команды. Из man sudo
:
-S
Опция -S (stdin) заставляет sudo читать пароль со стандартного входа вместо оконечного устройства. За паролем должен следовать символ новой строки. -p prompt
Параметр -p (подсказка) позволяет переопределить запрос пароля по умолчанию и использовать пользовательский. В вашем случае prompt
пусто (при запросе пароля для sudo не выводится сообщение), а -S заставляет sudo принять пароль root vi stdin (поэтому вместо пароля можно указать каналы и перенаправление из других команд. печататься)
Нет разницы между командой остановки и выключения с точки зрения намерения пользователя. Тонкая разница заключается в том, что при остановке вы должны удобно нажимать кнопку питания, чтобы выключить систему, тогда как в команде выключения он автоматически отдает команду Расширенному интерфейсу конфигурации питания (ACPI), чтобы послать сигнал на блок питания для выключения системы. [ 110]
На сайте Unix SE есть хороший ответ о проблеме shutdown
и halt
: В чем разница между командами остановки и выключения?
sudo -S -p ''
, это приведет к удалению сообщения о запросе пароля в терминале (хотя вы все еще должны ввести свой пароль)
Например, выполнение sudo <some_command>
выдаст этот вывод перед запуском этого команда:
[sudo] пароль для:
blockquote>Но выполнение
sudo -S -p '' <some_command>
скрывает это сообщение.Фактически, сообщение, которое вы помещаете в кавычки, заменяет предыдущее сообщение.
Продолжайте и попробуйте следующее, и увидите разницу:
sudo -S -p 'Hey, I am a custom message.' ls
Переключатели -S
и -p
для sudo
не имеют значения в этом случае. Вот что они делают соответственно.
Переключатель
-S
заставляетsudo
считывать пароль из STDIN. Это позволяет, например, отправить пароль по номеру отsudo
доecho
илиcat
.Переключатель
blockquote>-p
позволяет переопределить запрос пароля по умолчанию и использовать пользовательский или вообще не использовать его.
Важное различие заключается в двух командах, выдаваемых
sudo
.Команда
halt
, если она вызывается без переключателя-p
, просто останавливает ОС и останавливает все процессоры. После полной остановки системы пользователь может безопасно нажать кнопку «Питание» на своем компьютере вручную.Все команды
BLOCKQUOTE>poweroff
,shutdown -h now
иhalt -p
выполняют то же самое, что и командыhalt
, при этом дополнительно отправляя команду ACPI, чтобы подать сигнал блоку питания на отключение основного питания. Это предотвращает необходимость физического нажатия кнопки питания на компьютере.