Препятствуйте тому, чтобы машина спала, когда соединения SSH будут идти

Я пытаюсь сэкономить электроэнергию путем переключения рабочих столов на режим приостановки, когда они неактивны. Но ко многим рабочим столам также получают доступ через SSH их владельцы. Существует wakeonlan решение, развернутое, чтобы позволить владельцам включить машину, но проблема состоит в том, что машины автоприостановят снова через 10 минут, даже при том, что соединение SSH идет.

То, что я пытаюсь сделать, должно включать активные сессии SSH в определения "действия".

Вопросом является банка это быть сделанным через устанавливание polkit правила? Это может быть сделано через помещение сценария, который работает, прежде чем фактические приостанавливают, и прерывает его, если сессии SSH найдены? Мне нужен чистый законный способ сделать это. Если не это, то hacky пути также приветствуются.

Текущее наивное hacky решение:править /usr/sbin/pm-suspend:

#check for SSH sessions, and prevent suspending:
if [ "$(who | grep -cv "(:")" -gt 0 ]; then
    echo "SSH session(s) are on. Not suspending."
    exit 1
fi

Это служит цели. Но я не знаю, когда обновление перезапишет файл /usr/sbin/pm-suspend. Я также не знаю, как это будет работать с другим приостанавливать реализации как tuxonice.

12
задан 11 January 2018 в 04:54

2 ответа

Взгляните на телефон pm-action(8) и ищите /etc/pm/sleep.d в разделе “FILES”. Если один из этих возвратов сценариев с ненулевым статусом выхода, приостановка предотвращена.

Обновленные инструкции для ясности:

  1. Так создают файл /etc/pm/sleep.d/05_ssh_keepawake.

  2. , Помещенный хижина (#!/bin/sh) и код, упомянутый в вопросе в этом файле.

  3. Набор выполняют полномочия на нем:

    chmod +x /etc/pm/sleep.d/05_ssh_keepawake
    
19
ответ дан 23 November 2019 в 03:35

не уверен, что это решит то, что вы хотите, но в моем случае это помогло.

После входа по ssh используйте:

    DISPLAY=:0 caffeinate bash

(или любую другую оболочку, установленную вместо bash)

Это предотвратит сон, когда вы подключены к машине через ssh. Вы можете взглянуть на справочную страницу caffeinate.

0
ответ дан 4 October 2020 в 21:46

Другие вопросы по тегам:

Похожие вопросы: