Приложение, которое заблокирует экран после количества времени набора для Ubuntu

Есть ли приложение для Ubuntu, которая заблокирует компьютер после определенного количества времени (например, 30 минут). Мне нужен он, чтобы дети ограничили время, они смотрят мультфильмы. Например, 30 минут, смотря и затем блокировки ПК, требующие, чтобы родитель разблокировал его.

Поскольку используемые Глаза Windows I Ослабляют приложение, оно показывает черный экран и зеленый индикатор выполнения (время, оставленное разблокировать ПК), и требует, чтобы пароль переопределил блокировку.

10
задан 4 February 2017 в 12:21

2 ответа

4 июня 2018 обновление

Называют намного превосходящую программу multi-timer был создан: таймер для установки различных предупреждений simultaneosly

Экранный таймер блокировки

systray.gif

Создайте свой собственный Экранный Таймер Блокировки вместо приложений сторонних производителей

Хотя существуют приложения сторонних производителей, чтобы сделать это, можно создать собственное. Сводка шагов:

  • Используйте gedit для создания сценария lock-screen-timer
  • Копия и вставка кодируют от этого окна до lock-screen-timer
  • Mark lock-screen-timer как исполняемый файл
  • Протестируйте его!
  • Настройте Наутилус для выполнения сценариев удара
  • Создайте настольную ссылку ярлыка
  • Время монитора, оставаясь

Отредактируйте 1 (19 ноября 2016): Окончательная версия. Предстоящие предупреждения блокировки в 15, 10, 5, 3, 2 и 1 минута (минута), оставаясь использующий сообщение и звук. Используйте zenity для получения числа минут (значения по умолчанию к 30).

Отредактируйте 2 (ноябрь 20,2016): изменение Кода для уничтожения предыдущего сценария сна.

Редактирование 3 (Jan 20,2017): Пересмотрите уничтожающий предыдущий код сценария. Добавьте информационное сообщение, если предыдущая версия уже работала и завершилась.

Отредактируйте 4 (февраль 4,2017): Выполненный в цикле для нескольких обратных отсчетов, не имея необходимость повторно нажимать значок на рабочем столе. т.е. ночь Прачечной - 16 минут для промывания цикла (смягчитель матрицы), 13 минут для загрузки сушилки, 58 минут для вынимания из сушилки.

Отредактируйте 5 (февраль 11,2017): Запишите минуты, оставаясь в /tmp/lock-screen-timer-remaining. Это позволяет другим программам отображать количество времени, прежде чем экран будет заблокирован.

Отредактируйте 6 (август 07,2017): изменение /tmp/ рабочий файл к ~/. поддерживать многочисленных пользователей в сети.

Править: Обратите внимание, что сценарий зависит от ogg123 для проигрывания звука напоминания. Эта программа является частью пакета vorbis-инструмента из репозитория вселенной. Сценарий, как представлено здесь также пытается использовать hotplugtv сценарий, найденный здесь.

Отредактируйте 8 (ноябрь 12,2017): Добавьте WSL (Windows 10 Subsystem для Linux) поддержка. Обратите внимание, что необходимо добавить VcXsrv и ubuntu-desktop или xubuntu-desktop (предпочтенный) для использования Linux GUI в WSL. Системный лоток Windows 10 / дисплей оставлений времени области уведомлений требует дополнения что indicator-sysmonitor делает в Linux. Будущее powershell.exe сценарий планируется поддержку области уведомлений Windows 10.

Отредактируйте 9 (февраль 19,2018): Зафиксируйте анимацию, отсутствующую \ от вращающейся пиццы "|,/, ─, \" последовательность.

Используйте gedit для создания сценария lock-screen-timer

Откройтесь Terminal использование Ctrl+Alt+T и типа:

gedit lock-screen-timer

Копия и вставка кодируют из окна ниже к lock-screen-timer

Переключитесь назад на этот экран и скопируйте следующий код путем выделения его и нажатия Ctrl+C:

#!/bin/bash

# NAME: lock-screen-timer
# PATH: $HOME/bin
# DESC: Lock screen in x minutes
# CALL: Place on Desktop or call from Terminal with "lock-screen-timer 99"
# DATE: Created Nov 19, 2016. Last revision May 30, 2018.
# UPDT: Updated to support WSL (Windows Subsystem for Linux)
#       Remove hotplugtv. Replace ogg with paplay.
#       Cohesion with multi-timer. New sysmonitor indicator style.

# NOTE: Time defaults to 30 minutes.
#       If previous version is sleeping it is killed.
#       Zenity is used to pop up entry box to get number of minutes.
#       If zenity is closed with X or Cancel, no screen lock timer is launched.
#       Pending lock warning displayed on-screen at set intervals.
#       Write time remaining to ~/.lock-screen-timer-remaining

MINUTES="$1" # Optional parameter 1 when invoked from terminal.

# if no parameters set default MINUTES to 30
if [ $# == 0 ]; then
    MINUTES=30
fi

DEFAULT="$MINUTES" # When looping, minutes count down to zero. Save deafult for subsequent timers.

# Check if lock screen timer already running
pID=$(pgrep -f "${0##*/}") # All PIDs matching lock-screen-timer name
PREVIOUS=$(echo "$pID" | grep -v ^"$$") # Strip out this running copy ($$$)
if [ "$PREVIOUS" != "" ]; then
    kill "$PREVIOUS"
    rm ~/.lock-screen-timer-remaining
    zenity --info --title="Lock screen timer already running" --text="Previous lock screen timer has been terminated."
fi

# Running under WSL (Windows Subsystem for Linux)?
if cat /proc/version | grep Microsoft; then
    WSL_running=true
else
    WSL_running=false
fi


while true ; do # loop until cancel

    # Get number of minutes until lock from user
    MINUTES=$(zenity --entry --title="Lock screen timer" --text="Set number of minutes until lock" --entry-text="$DEFAULT")

    RESULT=$? # Zenity return code
    if [ $RESULT != 0 ]; then
        break ; # break out of timer lock screen loop and end this script.
    fi

    DEFAULT="$MINUTES" # Save deafult for subsequent timers.
    if [[ $MINUTES == 0 ]] || [[ $MINUTES == "" ]]; then
        break ; # zero minutes considered cancel.
    fi

    # Loop for X minutes, testing each minute for alert message.
    (( ++MINUTES )) 
    while (( --MINUTES > 0 )); do
        case $MINUTES in 1|2|3|5|10|15|30|45|60|120|480|960|1920)
            notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/appointment-soon.png "Locking screen in ""$MINUTES"" minute(s)." ;
            if [[ $WSL_running == true ]]; then  
                powershell.exe -c '(New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();'
            else
               paplay /usr/share/sounds/freedesktop/stereo/complete.oga ;
            fi
           ;;
        esac;

        # Record number of minutes remaining to file other processes can read.
        echo "Lock screen in: $MINUTES Minutes" > ~/.lock-screen-timer-remaining

        sleep 60

    done

    rm ~/.lock-screen-timer-remaining # Remove work file others can see our progress with

    if [[ $WSL_running == true ]]; then  
        # Call lock screen for Windows 10
        rundll32.exe user32.dll,LockWorkStation
    else
        # Call screen saver lock for Ubuntu versions > 14.04.
        dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
    fi

done # End of while loop getting minutes to next lock screen

exit 0 # Closed dialog box or "Cancel" selected.

Затем переключитесь назад к пустому gedit окно и вставка код с помощью Ctrl+V. Сохраните файл и выйдите из редактора назад к командной строке.

Mark lock-screen-timer как исполняемый файл

Теперь мы должны сделать исполняемый файл сценария путем ввода:

chmod +x lock-screen-timer

Протестируйте его!

Прежде, чем назвать сценарий от GUI, мы назовем его от терминала, таким образом, мы будем видеть, отображены ли какие-либо сообщения об ошибках:

~/lock-screen-timer

Вам предлагают число минут:

Lock Screen Timer

Определите желаемый номер минут и нажмите "OK" для запуска таймера. Когда существует 15, 10, 5, 3, 2 и 1 минута (минута) уехала, системный звук слышат, и пузырь сообщения кажется советующим, когда экран будет заблокирован. После того, как экран заблокирован, необходимо ввести пароль для разблокирования экрана.

Настройте Наутилус для выполнения сценариев удара

Наутилус определяет то, что происходит, когда мы дважды щелкаем по исполняемому сценарию, когда это - окно экрана файлов или ссылка на на рабочем столе. Нормальное поведение состоит в том, чтобы отредактировать использование сценария gedit. Мы хотим изменить это поведение, таким образом, что оно выполняется.

Запустите Наутилус и перейдите к каталогу, содержащему lock-screen-timer. Щелкните левой кнопкой по нему однажды, чтобы дать ему фокус. Мышь при наведении курсора по верхней панели меню до меню "File Edit..." появляется, используйте:

  1. Нажать Edit выпадающее меню
  2. Нажать Properties опция
  3. Нажать Behavior вкладка
  4. Наблюдайте радио-переключатели под Executable Text Files
  5. Переключатель Check Run executable text files when they are opened

Создайте настольную ссылку ярлыка

От предыдущего раздела lock-screen-timer все еще фокусируется. В противном случае перейдите к сценарию и щелчку левой кнопкой по нему однажды, чтобы дать ему фокус. Затем используйте:

  • Щелкните правой кнопкой по файлу, и опции контекстного меню появляются.
  • От выбора меню Make Link.
  • Новый значок кажется названным Link to lock-screen-timer.
  • Щелкните левой кнопкой по новому значку и перетащите его от Наутилуса до Вашего рабочего стола.

Теперь можно дважды щелкнуть по настольной ссылке ярлыка, и скрипт запущен. Диалоговое окно, кажется, получает минуты числа. Две кнопки представлены Отмена и хорошо. Если Вы нажимаете X для закрытия окна, это совпадает с Отменой выбора.

После того, как таймер работает, и Вы дважды щелкаете по нему снова, первая под управлением копия "уничтожается". Можно теперь запустить новый экранный обратный отсчет блокировки или нажать Cancel ни для какого обратного отсчета.

Время дисплея, Оставаясь в systray / область уведомлений

В то время как экранный таймер блокировки работает, он записывает, сколько минут остается в файл ~/.lock-screen-timer-remaining. Можно посмотреть на этот файл с watch команда или дисплей это на системном лотке Ubuntu / панель индикатора приложения как показано наверху этого ответа. Для отображения времени, оставаясь в области уведомлений следуйте инструкциям в этом Вопросы и ответы: (Bash может отобразиться в systray как индикатор приложения?).

14
ответ дан 23 November 2019 в 04:27

Вы можете использовать что-то вроде Мкахава , которое используется для администрирования интернет-кафе.

1
ответ дан 23 November 2019 в 04:27

Другие вопросы по тегам:

Похожие вопросы: