У Ubuntu есть политика для этого. Основной смысл заключается в следующем:
Используйте base-10 для пропускной способности сети (например, 6 Мбит / с или 50 кБ / с) и размера диска (например, 500 ГБ жесткого диска или 4,7 ГБ DVD). При использовании base-10 следуйте политике для префиксов (например, kB, MB).
Используйте base-2 для размеров RAM (например, 2 GiB RAM).
Существует библиотека стандарта IEC , доступная, начиная с Ubuntu 11.04, которая предоставляет вспомогательные функции (например, KiB, MiB).
для правильного форматирования.
FWIW: что работает для меня на Ubuntu 16.04.4 LTS с Unity, отслеживает DBUS с помощью следующей команды:
dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"
... и затем отслеживает «Locked» и «Unlocked» Мероприятия. Пример вывода:
time time = 1525269138.855107 sender =: 1.51 -> destination = (null destination) serial = 86735 path = / com / canonical / Unity / Session; Интерфейс = com.canonical.Unity.Session; member = время блокировки LockRequested = 1525269139.409261 sender =: 1.51 -> destination = (null destination) serial = 86892 path = / com / canonical / Unity / Session; Интерфейс = com.canonical.Unity.Session; member = Время блокированного сигнала = 1525269151.238899 sender =: 1.51 -> destination = (null destination) serial = 86937 path = / com / canonical / Unity / Session; Интерфейс = com.canonical.Unity.Session; member = UnlockRequested signal time = 1525269151.791874 sender =: 1.51 -> destination = (null destination) serial = 86938 path = / com / canonical / Unity / Session; Интерфейс = com.canonical.Unity.Session; member = Unlocked