З Ubuntu 16.04 LTS я б запропонував використовувати systemctlновіше, оскільки нові системи використовують systemdдля керування речами.
Безпечна команда для запуску - це те, systemctl suspendщо призупиняє роботу машини негайно, якщо якийсь процес не вимагає, щоб система залишалася живленням (наприклад, відеоплеєр, який показує фільм, активний записувач компакт-дисків, інший користувач, що робить щось, тощо).
Якщо ви хочете негайно призупинити призупинення та проігнорувати всі "інгібітори", просто додайте, -iяк пояснено результатами вищевказаної команди.
Якщо ви хочете негайно заблокувати заставку та призупинити роботу системи у всіх випадках, можете запустити
loginctl lock-session && systemctl suspend -i
Це краще, ніж використовувати необроблені dbusдля надсилання повідомлень, оскільки використання loginctlта systemctlуникнення жорсткого кодування будь-якої інформації про заставку чи менеджер сеансів.
apt-get install halале зараз добре працюю.