it-swarm-ko.com

OS X : ssh 세션 중에 컴퓨터가 잠자기 상태가되지 않도록하는 방법

내가 ssh 내 네트워크의 OS X 컴퓨터에 연결되면 세션은 OS Xsleep 모드로 들어갑니다.

[~ # ~] ssh [~ # ~] 세션 중에 물리적으로 마우스를 부딪 치거나 입력하는 것과는 별도로 이러한 일이 발생하지 않도록하는 방법이 있습니까? 키 또는 수동으로 절전 기능을 비활성화 하시겠습니까?

편집 : ssh 세션은 일반적으로 간단한 sshfs 마운트입니다.

29
Stefan

이것은 즉시 사용 가능한 솔루션은 아니지만 다른 사람이 솔루션을 제시하지 않으면 작동 할 수 있습니다. :-)

pmset 명령을 사용하여 전원 관리 설정을 조작 할 수 있습니다. 이에 대한 자세한 내용은 manpage 를 참조하십시오.

조작하고 싶은 흥미로운 설정은 sleep 입니다 :

sleep-시스템 절전 타이머 (분 단위 값, 비활성화하려면 0)

따라서 다음 명령을 사용할 수 있습니다.

Sudo pmset sleep 25      # go to sleep after 25 minutes
Sudo pmset sleep 0       # disable sleep

이제 로그인 및 logut 후에 이러한 명령을 트리거해야합니다. 이 권리를 기억한다면 Bash는 Mac OS X 용 기본 셸이며 다음 두 파일을 제공합니다.

   ~/.bash_profile
          The personal initialization file, executed for login shells
   ~/.bash_logout
          The individual login Shell cleanup file, executed when a login Shell exits

홈 디렉토리에서 편집하거나 작성하고 적절한 명령을 추가하십시오. 원하는 경우 현재 절전 값을 임시 파일에 저장하고 나중에 복원하십시오.

해결해야 할 마지막 문제는 Sudo의 암호 프롬프트입니다. 사용자에게 암호없이 pmset을 호출 할 수있는 권한을 부여하려면 sudoedit를 사용하여/etc/sudoers를 편집하십시오. NOPASSWD 태그를 사용해야합니다. 이것이 새로운 경우 sudoers manual 을 (를)보십시오.

9
echox

이를 통해 Mac이 전원에 연결되어있는 한 SSH를 통해 Mac을 사용할 수있었습니다.

System Preferences, Energy saver, Prevent computer from sleeping automatically when the display is off

Mac의 전원이 꺼지면 모든 것이 종료되므로 배터리 수명에 대해 걱정할 필요가 없습니다.

9
Benoit Duffez

OS X의 내장 pmset 유틸리티에는 원하는 작업을 수행 할 수있는 설정이 있습니다. pmset 설정 및 관련 설명은 ttyskeepawake 맨 페이지를 확인하십시오.

다음 명령은 아마도 원하는 작업을 수행 할 것입니다.

Sudo pmset -c ttyskeepawake 1

-c 플래그는 특히 컴퓨터가 AC 전원 (배터리 또는 UPS 전원과 반대)으로 실행될 때이 설정을 활성화하고 ttyskeepawake 1 활성 tty 세션 (아마도 원격 세션) 중에 컴퓨터가 절전 모드로 전환되는 것을 방지합니다. will 세션이 절전 타이머보다 오래 비활성 상태이면 절전 모드를 허용하지만 문제가되는 경우 컴퓨터를 절전 모드로 설정해서는 안됩니다.

6
robo

SSH를 사용하여 원격 OSX 시스템에서 셸을 열고 SSH 세션 동안 휴면 상태를 방지하려면 :

$ ssh -t [email protected] caffeinate -i bash
6
starfry

Mac OS X 10.8부터 caffeinate(8) 명령을 사용할 수 있습니다.

caffeinate -s ssh server.example.com를 사용해보세요.

5
200_success

.bash_profile에 다음 스크립트를 추가했습니다.

if expr "$(ps -o comm= $PPID)" : '^sshd:' > /dev/null; then
  caffeinate -s $Shell --login
  exit $?
fi

프로세스가 ssh 데몬의 직접적인 자식 인 경우 caffeinate (8) 명령을 통해 동일한 셸을 실행하여 ssh 세션 동안 시스템이 잠자기 상태가되지 않도록합니다.

3
Kubo Takehiro

mac prevent sleep 에 대한 웹 검색은 사용할 수있는 유틸리티 및 트릭에 대한 많은 좋은 정보를 제공합니다.

그러나 귀하의 상황에서 실제로 원하는 것은 Mac이 잠자는 것을 방지하는 매우 간단한 명령 줄 프로그램을 실행하는 별도의 ssh 세션을 갖는 것입니다. Apple Technical Q & A 1160 : Preventing sleep 에서 전체 소스 코드를 제공합니다. (안타깝게도이 페이지는 현재 Apple 사이트에서 깨졌지만 사본을 가져올 수 있습니다. Google의 캐시에서.)

이 프로그램이 ssh 세션에서 성공적으로 실행될 수 있는지 테스트하지 않았지만 가능한 것 같습니다.

Sshfs 구현은 일반적으로 원격 시스템에 항상 로그인 상태를 유지하지 않고 파일이나 디렉토리를 원할 때 세션을 실행합니다. 따라서 불면증 프로그램을 실행하려면 최소화 된 터미널 창에서 실행되는 별도의 ssh 세션이 필요합니다.

이 접근 방식의 장점은 Sudo를 사용하거나 시스템 전원 관리 설정을 엉망으로 만들 필요가 없다는 것입니다.

2
Neil Mayhew