Вопрос или проблема
У одного из моих пожилых родителей (за 80) диагностирована деменция, и он стал одержим одним или двумя играми (Солитер Аислериот и Маджонг). Он фиксируется на этом и может играть часами. (Это их жизнь.) Тем не менее, мы хотим начать контролировать это, чтобы сделать их осведомленными о том, что они это делают.
Существует ли какое-либо программное обеспечение для parental control или что-то подобное, которое позволило бы нам установить квоту времени для конкретного приложения, и после того как квота исчерпается, каждые 30 минут показывать всплывающее окно с указанием общего времени, которое они играли в этот день?
Я не хочу полностью блокировать экран или что-то в этом роде (вопросы безопасности) и не хочу полностью останавливать игру (оскорбительно уничижительно), просто чтобы им пришлось нажимать “ОК” на всплывающем окне с показанием общего времени или что-то подобное (если предыдущее окно было закрыто, естественно, на случай если они просто оставили игру открытой). Еще лучше, если мы сможем контролировать сообщение.
Я знаю, что скрипт ограничения времени может ограничивать время работы, но у него действительно нет других аспектов.
Есть ли какие-либо предложения по поводу чего-то, что это делает или более лучших решений, которые не слишком уничижительные?
[Правка: Предложенные приложения для родительского контроля не предоставляют указанную выше функциональность (и некоторые не работают в текущих версиях Ubuntu 22.04 и 24.04). Предложенный таймер-приложение не предоставляет необходимую функциональность, как и различные решения для сигнализации, которые, вероятно, запутают пожилого человека. Я нахожусь на расстоянии тысяч миль от данного компьютера и просто хочу всплывающее напоминание о том, как долго они играли в одну конкретную игру в этот день, с указанными выше условиями. Мы не хотим расстраивать родителя. (Также отмечу, что по мере старения населения пользователей Ubuntu за 80 и более лет, такой вопрос может стать более распространённым.)]
Я протестировал это на Ubuntu 24.04 и Маджонге.
Вам нужно создать два файла. Первый — это bash-скрипт, который начнет таймер и вызовет Маджонг. Второй — это запускатель рабочего стола, который позволит вам создать ярлык игры Маджонг, чтобы она запускалась со скриптом, а не напрямую.
1. Скрипт
Этот скрипт использует zenity
. Zenity установлен по умолчанию в Ubuntu 24.04. Если он не установлен, используйте команду:
sudo apt install zenity
Скрипт предполагает, что ваша компьютерная версия маджонга имеет формат deb. Если у вас версия snap, скрипт не будет работать.
Скопируйте и вставьте скрипт ниже в папку bin
домашнего каталога пользователя с названием /home/
имя_пользователя/bin/my_mahjongg
, где имя_пользователя — это ваше или имя пользователя вашего родителя.
#!/bin/bash
# Дата: 3 октября 2024
# Цель: Обертка-скрипт для показа всплывающего окна с интервалом во время игры в Маджонг
SECONDS=0
(/usr/games/gnome-mahjongg &)
while (pidof gnome-mahjongg)
do
sleep 1h
elapsedtime=$(printf '%dh:%dm:%ds\n' $((SECONDS/3600)) $((SECONDS%3600/60)) $((SECONDS%60)))
zenity \
--info \
--text="<span size=\"xx-large\">Вы играли в Маджонг $elapsedtime.</span>\n\nВремя для <b>перерыва</b>. Закройте игру сейчас." \
--title="Предупреждение" \
--ok-label="Хорошо, я сейчас остановлюсь!"
sleep 5s
done
Измените скрипт
В скрипте есть две строки со словом sleep
. Первый sleep
говорит скрипту подождать час перед тем, как показать предупреждающее сообщение. Измените его по своему желанию.
Второй sleep
ждет 5 секунд после того, как вы нажмете кнопку ОК, чтобы закрыть окно, прежде чем он проверит, работает ли Маджонг. Если вы хотите дать себе немного больше времени, измените это значение.
Если вы закрыли маджонг, скрипт завершится и выйдет. Если вы не закрыли Маджонг и продолжили играть, скрипт напомнит вам через еще час.
2. Создайте запускатель
Скопируйте и вставьте файл-запускатель под названием Mahjongg.desktop
в следующее расположение:
/home/имя_пользователя/.local/share/applications/Mahjongg.desktop
Замените имя_пользователя
на ваше или имя пользователя вашего родителя. Вот файл:
[Desktop Entry]
Name=My Mahjongg
Comment=Разберите кучу плиток, убирая соответствующие пары
Keywords=игра;стратегия;головоломка;настольная;
#Exec=gnome-mahjongg
Exec=/home/sushenjit/bin/my_mahjongg
Icon=org.gnome.Mahjongg
Terminal=true
Type=Application
Categories=GNOME;GTK;Игра;НастольнаяИгра;
StartupNotify=true
DBusActivatable=true
Измените файл запуска
Вам нужно будет отредактировать этот файл, прежде чем он заработает. Найдите строку, начинающуюся с Exec=...
и замените имя_пользователя
на ваше или имя пользователя вашего родителя.
Если все прошло хорошо, вы увидите 2 иконки Маджонг, когда будете искать игру для игры. Первая будет иметь название “Маджонг”. Это стандартная версия. Вторая будет называться “My Mahjong” и запустит скрипт, который стартует Маджонг.
Создайте ярлык на Dash
Dash — это вертикальная панель с левой стороны рабочего стола Ubuntu с иконками приложений, которые можно запустить. Вы можете создать ярлык “My Mahjong” на Dash, чтобы вы или ваш родитель могли начать игру, нажав на него.
Ищите приложение “my Mahjong” и перетащите его на панель.
Некоторые предостережения
Скрипт является скорее демонстрацией концепции, чем законченным продуктом. Он будет продолжать работать в течение часа, даже если вы не играете в Маджонг так долго и выходите рано. Вы все равно получите всплывающее окно с сообщением о том, что вы играли в Маджонг в течение часа. Когда у меня будет время, я постараюсь исправить это и любые другие проблемы, которые вы можете найти. Другие читатели, владеющие bash-скриптами, могут смело предлагать, как мне улучшить скрипт.
Надеюсь, это поможет
+1 за: “Я также отмечу, что по мере старения населения пользователей Ubuntu за 80 и более лет, такой вопрос может стать более распространённым.”
Маловероятно, но учитывая, что они сосредоточены только на одной или двух играх, возможно, что-то подобное (время на экран против времени приложения) сработает так же хорошо и будет работать, если они переключатся на другие игры: напоминание о перерыве для ubuntu
Отмечено, что вы находитесь на расстоянии тысяч миль, но вы или другой член семьи на связи с их медицинским работником? Они могут иметь предложения (возможно, такие простые, как песочные часы, и могут дать советы о том, насколько серьезны последствия такого поведения).
Ответ или решение
Конечно, я понимаю вашу ситуацию, и это действительно важная проблема. Для случаев, когда пожилые люди с деменцией становятся одержимыми определенными приложениями, можно применить несколько подходов, включая использование кастомных скриптов и программного обеспечения для управления временем.
Использование Bash скрипта в Ubuntu
Вы можете создать Bash-скрипт, который будет отслеживать время игры в Mahjong или Aisleriot Solitaire и отображать напоминания через заданные интервалы. Ниже представлен метод создания такого скрипта.
1. Написание скрипта
Сначала вам нужно будет создать скрипт для запуска игры и отслеживания времени. Убедитесь, что у вас установлен пакет zenity
для отображения графических уведомлений. Если он пока не установлен, выполните следующую команду:
sudo apt install zenity
Затем создайте скрипт и сохраните его в папке /home/ваше_имя_пользователя/bin/my_game_script
. Вот пример кода для скрипта:
#!/bin/bash
# Скрипт для отслеживания времени игры
SECONDS=0
/usr/games/gnome-mahjongg & # замените на ваш игровой процесс в случае Aisleriot
while (pidof gnome-mahjongg) # здесь также замените на процесс Aisleriot, если это необходимо
do
sleep 1h # меняйте на нужное вам время
elapsedtime=$(printf '%dh:%dm:%ds\n' $((SECONDS/3600)) $((SECONDS%3600/60)) $((SECONDS%60)))
zenity \
--info \
--text="Вы играли в Mahjongg (или Aisleriot) $elapsedtime.\n\nПора сделать перерыв." \
--title="Напоминание" \
--ok-label="Хорошо, сделаю перерыв"
sleep 5s
done
2. Создание ярлыка
Вам также нужно создать ярлык для приложения Mahjong или Aisleriot, заменив стандартный запуск на запуск вашего скрипта. Используйте следующую структуру для создания файла My_Game.desktop
в папке /home/ваше_имя_пользователя/.local/share/applications/
:
[Desktop Entry]
Name=Моя Игра
Comment=Запустить игру с отслеживанием времени
Exec=/home/ваше_имя_пользователя/bin/my_game_script
Icon=org.gnome.Mahjongg
Type=Application
Categories=Game;
Альтернативные решения
Если вам не подходит использование скрипта, рассмотрите возможность установки специализированного программного обеспечения для контроля времени. Некоторые программы мониторинга могут позволить задавать лимиты использования конкретных приложений. Однако важно проверить, подходят ли они для вашей версии Ubuntu (22.04 или 24.04) и имеют ли они функции, которые вас устраивают.
Также можно рассмотреть возможность использования таймеров или напоминаний, которые могут быть проще в использовании для вашего родителя, давая им ориентир без излишнего давления.
Заключение
Основная цель состоит в том, чтобы столкнуться с проблемой в легкой и ненавязчивой манере. Напоминания о времени могут помочь вашим родителям осознать их привычки, не провоцируя стресс или чувство контроля. Важно быть гибкими и готовыми к адаптации подходов по мере необходимости, чтобы найти тот, который будет наиболее эффективным и комфортным для вашего родителя. Если вам потребуются дополнительные советы или помощь в реализации, не стесняйтесь обращаться.