Мы использовали sleepd
с Ubuntu 12.04, чтобы отключить публичные рабочие столы после 5-10 минут бездействия. Мы планируем развернуть 13.10 (позже перейдем к 14.04) и обнаружили, что пакет sleepd
отсутствует .
Есть ли какой-либо другой инструмент или общесистемная настройка для выполнения этой работы? Как другие системные администраторы решают эту проблему?
РЕДАКТИРОВАТЬ: В нашем общежитии у нас более 90 студентов. Некоторые имеют постоянный доступ пользователей, а некоторые используют только гостевую учетную запись. Решение должно работать, когда в систему не вошли пользователи.
Я не проверял это, я мог пропустить шаг.
Создайте файл переопределения из текущих настроек пользователя и поместите его в /usr/share/glib-2.0/schemas/
echo "[org.gnome.settings-daemon.plugins.power]" > 90_mypower.gschema.override
gsettings list-recursively org.gnome.settings-daemon.plugins.power | awk '{ gsub("org.gnome.settings-daemon.plugins.power ","") ; print $1"="$2 }' >> 90_mypower.gschema.override
sudo mv 90_mypower.gschema.override /usr/share/glib-2.0/schemas/
sudo chown root:root /usr/share/glib-2.0/schemas/90_mypower.gschema.override
sudo chmod +r /usr/share/glib-2.0/schemas/90_mypower.gschema.override
Compile схемы
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
Создайте файл блокировки для всех ключей org.gnome.settings-daemon.plugins.power
и поместите его в обновление /etc/dconf/db/gdm.d/locks/
gsettings list-keys org.gnome.settings-daemon.plugins.power | xargs -L 1 -I{} echo /org/gnome/settings-daemon/plugins/power/{} > 90-mypower-locks
sudo cp 90-mypower-locks /etc/dconf/db/gdm.d/locks/90-mypower-locks
sudo chown root:root /etc/dconf/db/gdm.d/locks/90-mypower-locks
sudo chmod +r /etc/dconf/db/gdm.d/locks/90-mypower-locks
для замков
sudo dconf update
Поскольку вы ищете системное администрирование, приятно узнать:
Следите за изменениями в dconf
dconf watch /
Измените настройки мощности из графического интерфейса, следите за сообщениями
dconf-editor
, пройдите по тому же пути, выберите ключ org.gnome.settings-daemon.plugins.power
Ссылки:
В нижней части этого ответа приведены инструкции по установке sleepd, если вы действительно настаиваете. Однако этот пакет в значительной степени устарел для современного оборудования.
Если вы собираетесь написать программу, вы можете рассмотреть следующие источники:
/dev/input/
Вместо использования sleep(3)
в коде (как это делает sleepd) , это более благоприятно для батареи, если вы используете poll(3)
или select(3)
, которые имеют параметр тайм-аута. (Это предполагает, что устройства /dev/input/*
доступны для опроса, я не знаю, так ли это, но вам следует поискать документацию)
Upstream ( git repo ]) уже удалил стандартную зависимость hal ( commit ), так что вы можете попробовать построить из исходников. Следующие команды были протестированы в среде Kubuntu 13.10 Live. Он устанавливает зависимости сборки, исправляет ошибку в Makefile, которая препятствовала отключению HAL, и, наконец, создает пакет deb.
sudo apt-get install build-essential git debhelper libapm-dev
git clone git://git.kitenet.net/sleepd.git
cd sleepd
sed 's/ifdef USE_HAL/ifeq ($(USE_HAL), 1)/' -i Makefile
dpkg-buildpackage -b -us -uc
Это создает пакет sleepd_2.05_amd64.deb
в родительском каталоге, который затем можно установить на машины. Этот пакет требует наличия аккумулятора или интерфейса переменного тока (например, /sys/class/power_supply/*
), в противном случае он попытается использовать APM. Поскольку современные машины используют не APM, а ACPI, он будет тихо выходить.
Так что, пока пакет собирается и устанавливается нормально, вам лучше написать новый демон, если что-то подобное еще не реализовано.
- это настройки питания в системных настройках, отсутствующие, потому что там вы можете графически установить время
, как вы можете видеть, есть ли у вас это если да, то вы можете изменить его.