
Я пытаюсь собрать собственное ядро для своей машины, сборка которого занимает много времени (как и ожидалось). Возможно ли запретить моему рабочему столу GNOME приостанавливать работу машины до завершения компиляции, а затем приостанавливать ее (предполагая, что я отойду от машины на 30 минут, которые обычно это занимает).
Я не хочу навсегда отключать режим ожидания (что легко сделать через панель управления системными параметрами, но это тратит электроэнергию), а хочу иметь возможность указать (через PID?) задание компиляции и перевести компьютер в режим ожидания после его завершения.
решение1
Вы можете полностью отключить тайм-аут бездействия.
Например, чтобы отключить тайм-аут приостановки только для питания переменного тока, выполните:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
Лично я считаю, что это полная глупость — устанавливать тайм-аут бездействия для приостановки работы компьютера, когда он подключен к сети переменного тока, по умолчанию, и не иметь возможности для обычных людей отключить это.
решение2
У меня сейчас нет времени на все подробности, но см.Часто задаваемые вопросы о GNOME Power ManagerКак мне заставить мое приложение остановить автоматическое отключение компьютера?"который указывает на вызовы Inhibit()
и UnInhibit()
DBus.
Апредостережение: если вызывающий процесс Inhibit()
завершается, то запрет прекращается -dbus-send
в сценарии Shell это не поможет, но необходим какой-то скрипт-обертка (например, на Python).
(Редактировать Этот пост в блоге(Содержит немного больше информации, а также заглушку Python, которая может оказаться полезной.)
решение3
GNOME разработал изящное решение этой проблемы в виде утилиты gnome-session-inhibit
. Чтобы использовать ее, просто добавьте ее перед долго выполняющейся командой, например:
gnome-session-inhibit make
При необходимости можно запустить несколько сеансов ингибиции одновременно. Их можно перечислить, запустив gnome-session-inhibit -l
. Для получения более подробной информации см.страница руководства.
решение4
Создайте пустой видеофайл длиной 1 час и воспроизведите его в проигрывателе, поддерживающем MPRIS2. Вы можете создать серию «видео» разной длины и добавить их в плейлист, чтобы получить желаемое время задержки.
Ему неизвестен ни один процесс, который мог бы пережить крайний срок блокировки, но если вы примерно знаете, сколько времени займет процесс, вы, вероятно, можете это оценить.
В качестве альтернативы можно купить недорогое устройство под названием "мышиный джиглер". Оно выглядит как беспроводной приемник мыши, но имитирует мышь, которая время от времени трясется. В некоторых моделях есть кнопка для переключения функции.