Таймер сна для приостановки в Ubuntu MATE 16.04 LTS [дубликат]

7

Есть ли способ (лучше всего было бы с GUI) приостановить мой компьютер после xx минут? Я использую Ubuntu MATE 16.04 LTS и пробовал все, включая управление питанием.

Спасибо, Филипп

    
задан Squeezie 17.05.2016 в 21:32
источник

2 ответа

13

Если вы не против использования терминала, вы можете сделать это таким образом.

Выполнить: sleep 2h 45m 20s && systemctl suspend -i

Он приостанавливает вашу систему через 2 часа, 45 минут, 20 секунд.

Я написал скрипт для получения такого графического интерфейса:

Скопируйте содержимое сценария ниже и сохраните его в своем домашнем каталоге как fast_suspend.sh .

#!/bin/bash

#   Tested on : Ubuntu 16.04 LTS    
#   Date      : 19-May-2016
#                                                        
#   This program is distributed in the hope that it will be useful, 
#   but WITHOUT ANY WARRANTY; without even the implied warranty of  
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.            

set -- 'zenity --title="Scheduled-action" \
    --forms \
    --text='<span foreground="green">Enter Relative time</span>'  \
    --add-entry="hours" \
    --add-entry="min" -\
    --add-entry="sec" \
    --separator=".0 " \
    --add-combo=action --combo-values="poweroff|restart|suspend|logout"'

hrs=
min=
sec=
action=

time=$hrs\h\ $min\m\ $sec\s

#Checking validity of the input :

re='^[0-9]*([.][0-9]+)?$'

if ! [[ $hrs =~ $re ]] || ! [[ $min =~ $re ]] || ! [[ $sec =~ $re ]]
then
    zenity  --error \
            --title="Invalid Input" \
            --text="You have entered an Invalid time! \n\nOnly positive integers supported"
            exit 1
fi



case $action in
    "poweroff")
        zenity --title=Confirm --question \
        --text="Your system is about to <span foreground=\"red\">$action</span> in ${hrs%%.*} hours ${min%%.*} minutes ${sec%%.*} seconds. \nAre you sure \?"
        if [ $? -eq 0 ]
        then 
            sleep $time && poweroff
        else
            exit
        fi  ;;

    "restart")
        zenity --title=Confirm --question \
        --text="Your system is about to <span foreground=\"red\">$action</span> in ${hrs%%.*} hours ${min%%.*} minutes ${sec%%.*} seconds. \nAre you sure \?"
        if [ $? -eq 0 ]
        then 
            sleep $time && reboot
        else
            exit
        fi  ;;
    "suspend")

        zenity --title=Confirm --question \
        --text="Your system is about to <span foreground=\"red\">$action</span> in ${hrs%%.*} hours ${min%%.*} minutes ${sec%%.*} seconds. \nAre you sure \?"
        if [ $? -eq 0 ]
        then 
            sleep $time && systemctl suspend -i
        else
            exit
        fi  ;;
    "logout")
        zenity --title=Confirm --question \
        --text="Your system is about to <span foreground=\"red\">$action</span> in ${hrs%%.*} hours ${min%%.*} minutes ${sec%%.*} seconds. \nAre you sure \?"
        if [ $? -eq 0 ]
        then 
            sleep $time && gnome-session-quit --logout --no-prompt
        else
            exit
        fi  ;;
esac

Кроме того, вы можете создать файл .desktop для его запуска.

Скопируйте текст ниже и сохраните его как fast_suspend.desktop .

[Desktop Entry]
Type=Application
Terminal=false
Icon=
Name=fast_suspend
Exec=/home/your-user-name/fast_suspend.sh
Name[en_US]=fast_suspend

Предоставить разрешение на выполнение для обоих файлов - выполнить:

chmod a+x ~/fast_suspend.sh ~/Desktop/fast_suspend.desktop

Если вы хотите снова запустить это окно, просто дважды щелкните на fast_suspend на рабочем столе.

    
ответ дан Severus Tux 19.05.2016 в 13:33
источник
1

Если вы ищете графический инструмент, вы можете попробовать qshutdown .

    
ответ дан pomsky 19.05.2016 в 12:11