일정시간 동안 사용하지 않을 때는 꺼두세요

일정시간 동안 사용하지 않을 때는 꺼두세요

나는 때때로 밤에 끄는 것을 잊어버리는 "미디어 센터" 컴퓨터를 가지고 있습니다. 제가 기억한다면 저는 보통 원격으로 "미디어 센터" 컴퓨터에 액세스하여 종료했지만, 대부분의 밤에는 이를 잊어버리고 컴퓨터가 밤새도록 작동했습니다(다음 날에도 마찬가지였습니다).

"Do you want to shutdown?" [Yes] [No]대화 상자(예:)를 통해 컴퓨터를 종료하는 방법이 있습니까 ? 내가 대화 상자를 원하는 이유는 때때로 우리가 밤늦게 영화를 볼 때 무작위로 전화기를 끄고 싶지 않기 때문입니다.

poweroff오전 1시에 스크립트를 실행하는 cron 작업을 수행할 수 있지만 어떻게 해야 하는지 , shutdown표준 사용자로서 수행하는지 모르겠습니다 . 도움이 필요하세요? 저는 Linux Mint 17.3(Ubuntu 14.04)을 실행하고 있습니다.

답변1

"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반환 코드가 yes 를 누르면 1다음을 실행합니다.아니요폐쇄. (편집:) timeout몇 초 후에( 10이 경우) 사용자가 아무 버튼도 누르지 않으면 xmessage종료되고 0컴퓨터가 종료됩니다.

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

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

훌륭하다고 확신 zenity하지만, 이와 같은 간단한 작업의 경우 아마도 xmessage가장 쉬운 방법일 것입니다.

답변2

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

관련 정보