Ubuntu one remote uses
sudo -S -p '' halt for shutdown and does not work to the end.
leaveing monitor on with message
will now halt
What is the difference between
sudo -S -p " halt and
sudo shutdown now?
-p switches for
sudo have no importance in this case. Here is what they do, respectively.
sudoto read the password from STDIN. This allows, for example, a password to be piped to
-pswitch allows you to override the default password prompt and use a custom one, or none at all.
The important difference is in the two commands being issued by
haltcommand, if invoked without the
-pswitch, simply halts the OS and stops all CPUs. Once the system is cleanly halted, the user may safely hit the Power button on his computer manually.
shutdown -h now, and
halt -pcommands all do the same thing as
haltalone, while additionally sending an ACPI command to signal the power supply unit to disconnect the main power. This prevents you from having to physically push the Power button on your computer.
halt is not
shutdown, they are different commands. The former does not turn the power off, unless
-p option is used
From the manual (
man halt): "-p, --poweroff : Instructs the halt command to instead behave as poweroff."
And, in your case,
-p was not used in the
haltcommand, hence your computer was not powered off.
Do not confuse this -p with the one from
sudo, it's a different parameter for a different command. From
-SThe -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device. The password must be followed by a newline character.
-p promptThe -p (prompt) option allows you to override the default password prompt and use a custom one.
In your case,
prompt is empty (no message displayed for sudo when asking password), and -S makes sudo accept root password vi stdin (so password may be supplied using pipes and redirection from other commands instead of being typed)
There is a good answer at the Unix SE site about the
halt issue: What is the difference between Halt and Shutdown commands?
As for the
sudo -S -p '' part, this will remove the message about asking the password in the terminal (You still have enter your password though)
For example running
sudo <some_command> will give this output before running this command:
[sudo] password for :
sudo -S -p '' <some_command> will hide that message.
In fact, the message that you put in the quotes, is replacing the previous message.
Go ahead and try the following, and see the difference:
sudo -S -p 'Hey, I am a custom message.' ls
There are no difference between halt command and shutdown in terms of the user intention. The thin difference is that in halt you have to conveniently push the power button to shutdown the system whereas in shutdown command it will automatically instruct the Advanced Configuration Power Interface (ACPI) to sent a signal to the power unit to turn off the system.