Я не пробовал, но вы можете прочитать о запрете различных событий dbus здесь , включая такие вещи, как выключение и бездействие, но также и конкретно handle-lid-switch
, предполагая, что это то, что генерирует ваш ноутбук..
Команда systemd -запретить представляет собой простую -переднюю часть этого механизма, так что вы можете попробовать
systemd-inhibit --what=handle-lid-switch sleep 99
или аналогичный, чтобы проверить, блокирует ли он событие. Обратите внимание, что --mode=delay
предназначен только для сна и выключения, поэтому вы должны использовать режим блокировки по умолчанию, для которого вам может потребоваться root. Будьте осторожны, чтобы не потерять переменные окружения dbus при использовании sudo
.
Порядок важен, потому что перенаправления выполняются в том порядке, в котором они перечислены слева направо. Во втором примере (правильно)./build.sh 1>/tmp/log.txt 2>&1
он сначала сопоставляет fd "1" с файлом, а затем дублирует "1" как "2" и с этим сопоставлением выполняет скрипт сборки. В 3-м примере (не работает )сначала дублирует текущую "1" как "2" и только после этого сопоставляет "1" с файлом. Текущий «1» не был файлом во время дублирования. Это был ваш терминал или средство захвата вывода сценария оболочки CI.