Простой скрипт.
Thanx to Khurshid Alam и user98677 Я написал этот скрипт, который отлично работает. Если дисплей включен (вы работаете), он блокирует передачу и отправляет уведомление, если компьютер не отключен.
установитьsudo apt-get install transmission-cli libnotify-bin
в Ubuntu 16.04 sudo apt install transmission-cli libnotify-bin
Передача> Настройки> Удаленная> Проверить Разрешить удаленный доступ убедиться, что HTTP-порт равен 9091 и разрешить эти IP-адреса только 127.0.0.1 (по умолчанию). Скопируйте вставить данный скрипт, сохраните как say 'shutdown.sh' и сделайте его исполняемым. Передача> Настройки> Загрузка> Проверить «Сценарий вызова при завершении загрузки», перейдите к сценарию. Системные настройки> Питание> яркость экрана> Отключить экран, когда он неактивен для> выбора разумного времени. #!/bin/bash
sleep 300s
DISPLAY=:0.0
STATUS=$(xset -display $DISPLAY -q | grep 'Monitor')
STATE=$(transmission-remote 127.0.0.1:9091 -tall --info | grep "^ State:" | grep "Down" | wc --lines)
if
[ "$STATUS" == " Monitor is On" ] && [ "$STATE" == "0" ]
then
notify-send "Downloads Complete" "Exiting transmisssion now"
pkill transmission
elif
[ "$STATE" == "0" ]
then
#in Ubuntu 16,04
shutdown -h now
#in older versions use the following
#dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown
fi
exit 0
PPA переместился с Ubuntu 17.04:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Затем запустите с помощью
grub-customizer