Mac으로 종료

Mac으로 종료

Mac 컴퓨터를 원격으로 종료하는 iPhone 앱이 있습니다. 이 응용 프로그램을 사용하여 Ubuntu 컴퓨터를 종료하고 싶습니다.

닫으려고 하면 응용 프로그램에서 다음 메시지가 나타납니다.

Ubuntu가 종료되면:

"연결 오류"

우분투가 시작되면:

"zsh: 1: 명령을 찾을 수 없습니다: osascript"

이로 인해 애플리케이션이 실제로 zsh에 액세스할 수 있다고 생각됩니다. 그렇다면 다음과 같이 "osascript"에 대한 별칭을 만들 수 없습니까?

alias osascript="shutdown -h now"

문제는 Iphone 앱에서 여전히 메시지를 받는다는 것입니다.

"zsh: 1: 명령을 찾을 수 없습니다: osascript"

어떤 아이디어가 있나요? 내 생각엔 애플리케이션이 SSH를 사용하고 있으며 Ubuntu의 별칭과 동일한 사용자 이름을 사용하는 것 같습니다.

실패한 검색의 경우: ".zsh_history"에 원격 액세스 명령이 표시되어야 합니까? 여기에는 애플리케이션에 대한 명령이 표시되지 않습니다.

답변1

Linux를 지원하지 않는 응용 프로그램을 사용하지 마십시오. "RMsrv Reboot"는 Linux를 부팅하고 종료하는 데 적합합니다.

답변2

ssh오류 메시지는 최소한 ssh someuser@somehost somecommand다음을 통해 명령을 직접 실행하려는 실패한 시도와 일치합니다. zsh애플리케이션이 시작되는 방식과 별칭을 넣은 구성 파일에 따라 로드되지 않을 수도 있습니다. 또한 기록 파일은 대화형 세션에 의해서만 기록됩니다("Good Thing™"입니다. 모든 zsh 스크립트가 실행될 때 해당 내용을 기록 파일에 덤프했다고 상상해 보세요).


osascript명령줄 AppleScript 해석기입니다(감사합니다Forquar팁). 따라서 우분투에서는 작동하지 않습니다. 그러나 응용 프로그램은 명령줄 인수를 통해 일부 작은 스크립트를 실행하여 Mac을 종료할 가능성이 높습니다.

  • 컴퓨터를 종료하는 것만 하고 싶은 경우 /usr/bin/osascriptUbuntu 컴퓨터에 일부 스크립트를 배치하여 컴퓨터를 종료할 수 있습니다. 예를 들어:

    #!/bin/sh
    sudo /sbin/shutdown -h now
    

    이는 최소한 비밀번호 없는 액세스를 가정합니다 . shutdown -h now파일이나 그 안에 포함된 파일에 다음 줄을 추가하면 /etc/sudoers됩니다 .

    YOURUSERNAME ALL = NOPASSWD: /sbin/shutdown -h now
    
  • 다른 명령(종료, 다시 시작 등)에 반응하려면 애플리케이션에서 사용하는 명령줄 매개변수를 검색해 보세요. 이렇게 하려면 먼저 Ubuntu 컴퓨터에 다음 스크립트를 이름으로 배치합니다 osascript( /usr/bin나열된 모든 경로는 PATH이론적으로 이 작업을 수행해야 합니다. 불행하게도 ssh자체 설정이 있는 경우가 많습니다. 아래를 참조하세요.):PATH

    #!/bin/sh
    logfile='/path/to/logfile'
    echo "$@" >> "$logfile"
    echo '---->8----' >> "$logfile"
    

    실행 가능하도록 만드는 것을 잊지 마십시오( chmod 755 /usr/bin/osascript).

    이제 애플리케이션이 제공해야 하는 다양한 옵션을 실행하고 매번 로그 파일의 출력을 확인할 수 있습니다( tail -F /path/to/logfile도움이 될 수 있음). 이제 각 출력의 차이점을 찾고 그에 따라 반응하는 스크립트를 작성하기만 하면 됩니다.


위에서 언급한 대로, 터미널 세션()에서 얻은 것과 크게 다를 수 있는 ssh자신만의 설정을 사용할 수 있습니다 . 다행히 중고를 쉽게 회수 할 수 있습니다.PATHecho $PATHPATHssh

    ssh localhost 'echo $PATH'

/usr/local/sbin또는 거기에 가 있으면 /usr/local/bin거기에 스크립트를 넣는 것이 좋지만 나열된 디렉토리 중 어느 것이든 가능합니다.

관련 정보