특정 시간 동안 사용하지 않으면 종료

특정 시간 동안 사용하지 않으면 종료

나는 때때로 밤에 종료하는 것을 잊어버리는 "미디어 센터" PC를 가지고 있습니다. 기억나면 보통 "미디어 센터" PC에 원격으로 연결하여 종료하지만, 대부분의 밤에는 이를 잊어버리고 PC가 밤새도록(다음 날에도) 작동합니다.

대화 상자(예: )를 통해 PC를 종료하는 방법이 있습니까 "Do you want to shutdown?" [Yes] [No]? 내가 대화 상자를 원하는 이유는 때때로 우리가 늦은 밤에 영화를 볼 때 임의로 종료하고 싶지 않기 때문입니다.

오전 1시에 스크립트를 실행하는 크론 작업을 수행할 수 있지만 표준 사용자로서 실행 방법 poweroff을 알 수 없습니다 . shutdown도움이 필요하세요? 저는 Linux Mint 17.3(Ubuntu 14.04)을 실행하고 있습니다.

답변1

대화 상자(예: )를 통해 PC를 종료하는 방법이 있습니까 "Do you want to shutdown?" [Yes] [No]?

나는 이것을 수행하는 가장 간단한 방법은 xmessage. 이 같은:

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
export DISPLAY=:0.0

xmessage -timeout 10 "Shutdown computer?" -buttons yes:0,no:1

case $? in
    0)  
    echo "Shutting down..."
    #systemctl poweroff
    ;;  
    1)  
    echo "Ok."
    ;;  
    *)  
    echo "Mystic error!"
    ;;  
esac

(자세한 내용은 다음에서 사용할 수 있도록 $PATH및 변수를 추가했습니다.$DISPLAYcron여기). 그리고 물론, 만약 당신이원하다컴퓨터를 종료하려면 해당 줄의 주석 처리를 제거해야 하며, 물론 해당 echo명령문도 제거할 수 있습니다. 그냥 샘플로 빨리 모아봤습니다.

요점은 사용자가 yes반환 코드를 누르면 0컴퓨터가 종료된다는 것입니다. 사용자가 no반환 코드를 누르면 1다음을 수행합니다.~ 아니다일시 휴업. (편집:) timeout몇 초 후에( 10이 경우) 사용자가 아무 버튼도 누르지 않으면 xmessage가 종료되고 0컴퓨터가 종료됩니다.

스크립트가 실행되면 다음과 같은 작은 대화 상자가 생성됩니다.

https://s22.postimg.org/irl97w835/xmessage.png

나는 그것이 훌륭하다고 확신 zenity하지만, 이와 같은 간단한 작업의 경우 xmessage가장 쉬울 것이라고 생각합니다.

답변2

하나의 질문에 실제 질문이 너무 많습니다. 다음에는 별도의 질문을 하세요. 설명하신 문제는 비디오 플레이어 옵션 "일시 중단 방지" 또는 "sscreensaver 비활성화"로 해결해야 합니다. VLC 설정 어딘가에 이 옵션이 있습니다. 그러나 사람들은 때때로 그것이 작동하지 않는다고 보고합니다.
Bash 스크립트에서 대화 상자를 표시하려면 xdialog유틸리티를 사용하십시오. 그러나 crontab과 같은 외부 사용자 세션에서 실행하면 단순히 작동하지 않습니다. 먼저 X 서버 보안을 비활성화해야 합니다.
표준 사용자로 poweroff를 실행하려면 systemd를 통해 실행하십시오
systemctl poweroff.

관련 정보