Когда я подключаюсь к компьютеру с OS X в моей сети, сеанс длится до тех пор, пока OS X не перейдет в спящий режим.
Есть ли способ предотвратить это во время моего сеанса SSH , кроме физического нажатия мыши или набора клавиш, или ручного отключения функции сна?
РЕДАКТИРОВАТЬ: сессия ssh обычно будет простым подключением sshfs.
ssh
osx
power-management
Стефан
источник
источник
Ответы:
Это не готовое решение, но, возможно, оно будет работать, если никто не придет к решению :-)
Вы можете управлять настройками управления питанием с помощью команды
pmset
. Смотрите man-страницу для получения дополнительной информации об этом.Интересная настройка, которой мы хотим манипулировать, это сон :
Таким образом, мы можем использовать следующие команды:
Теперь мы должны запустить эти команды после входа в систему и выхода из системы. Если я правильно помню, Bash - оболочка по умолчанию для Mac OS X, которая приводит нас к этим двум файлам:
Отредактируйте или создайте их в своем домашнем каталоге и добавьте соответствующие команды. Если вы хотите, сохраните текущее значение сна во временном файле и восстановите его после этого.
Последняя проблема, которую нужно решить, - запрос пароля sudo. Чтобы дать вашему пользователю разрешение вызывать pmset без пароля, отредактируйте ваш / etc / sudoers с помощью sudoedit. Вам нужно использовать
NOPASSWD
тег. Если это ново для вас, посмотрите руководство sudoers .источник
Это позволило мне использовать мой Mac поверх SSH, несмотря на то, что Mac подключен к источнику питания.
Все отключается, когда Mac отключается от источника питания, так что вам не нужно беспокоиться о сроке службы батареи.
источник
Встроенная в OS X утилита pmset имеет настройку, которая может делать то, что вы хотите. Проверьте
pmset
справочную страницу дляttyskeepawake
настройки и сопроводительного объяснения.Следующая команда, вероятно, сделает то, что вы хотите:
-c
Флага делает эту установку активной специально , когда компьютер работает от сети переменного тока (в отличие от батареи или мощности ИБП), а такжеttyskeepawake 1
предотвращает компьютер от сна во время активного сеанса TTY (предположительно удаленный один). Это будет позволять спать , если сеанс был неактивен дольше , чем таймер сна, но если это проблема, возможно , компьютер не должен быть установлен , чтобы спать вообще.источник
Чтобы использовать SSH, чтобы открыть оболочку на удаленном компьютере с OSX и не дать ей спать в течение сеанса SSH:
источник
Начиная с Mac OS X 10.8, вы сможете использовать
caffeinate(8)
команду.Попробуй
caffeinate -s ssh server.example.com
.источник
Я добавил следующий скрипт в
.bash_profile
Если процесс является прямым потомком демона ssh, запустите ту же оболочку с помощью команды caffeinate (8), чтобы система не спала во время сеанса ssh.
источник
Поиск в сети Mac для предотвращения сна дает много полезной информации об утилитах и хитростях, которые вы можете использовать.
Тем не менее, в вашей ситуации, я подозреваю, что вы действительно хотите сделать отдельный сеанс ssh, который запускает очень простую программу командной строки, которая не дает Mac спать. Apple дает полный исходный код в Технических вопросах и ответах 1160: Предотвращение сна . (К сожалению, в настоящее время эта страница не работает на сайте Apple, но вы можете получить копию из кэша Google.)
Я не проверял, может ли эта программа успешно запускаться из сеанса SSH, но похоже, что это возможно.
Обратите внимание, что реализации sshfs обычно не остаются подключенными к удаленной системе все время, а просто запускают сеанс, когда им нужен файл или каталог. Таким образом, вам нужен отдельный сеанс ssh, запущенный в свернутом окне терминала, для запуска программы бессонницы.
Преимущество этого подхода заключается в том, что вам не нужно использовать sudo или связываться с настройками управления питанием системы.
источник