В прошлое Рождество мой сын получил новый ноутбук, в основном для использования в своей новой школе ... И теперь, когда у него есть собственный ноутбук, он рад, что Steam установлен.
Но жена хочет, чтобы я удалил Steam, потому что ноутбук в основном предназначен для школьного использования ... Я бы не стал этого делать, если бы мне не пришлось.
Есть ли способ, которым я могу ограничить или иным образом ограничить доступ к Steam? Возможно, пароль на самом Steam, или установить время, в течение которого он может быть запущен?
В идеале , это должно быть что-то довольно простое в использовании, потому что моя работа часто держит меня вдали от дома (и компьютеров, и телекоммуникаций, и ...) в течение долгого времени, и в то время как моей жене не так комфортно с компьютерами, как я, проще в использовании, гораздо лучше.
Конечно, есть что- то , что может решить эту задачу?
источник
Ответы:
Установите срок для процесса или приложения
С помощью небольшого фонового сценария вы можете установить ограничение по времени для процесса или приложения.
Пока ваш пользователь не знает пароль администратора , его не слишком легко превзойти.
Решение ниже
Является ли такой небольшой фоновый скрипт. Это ограничивает использование в день определенным количеством минут, чтобы установить в заголовке сценария. После настройки (что не так уж сложно) он работает очень легко, и после этого никаких дополнительных действий не требуется.
Сценарий
Как пользоваться
limit
limit_use
(без расширения) внутри папки и сделайте его исполняемымОтредактируйте в заголовке скрипта имя процесса для ограничения и максимальное количество разрешенных минут. В примере:
Скопируйте папку в каталог
/opt
:Теперь отредактируйте,
/etc/rc.local
чтобы скрипт запускался какroot
при запуске:Прямо перед линией
другая строка:
это оно
Когда кто-то пытается убить фоновый скрипт:
(действие не допускается)
Объяснение; как это устроено
/opt/limit/uselog
). Если дневной лимит достигнут, скрипт больше не разрешает запускать процесс, убивая его, если он существует.rc.local
только пользователь (и) с привилегиями sudo может остановить скрипт, даже тогда, когда пользователь знает имя процесса.Остановить сценарий
Если вы хотите остановить скрипт, используйте команду:
Но опять же, для этого вам понадобится пароль sudo.
РЕДАКТИРОВАТЬ
Хотя приведенный выше сценарий должен обеспечить достаточно безопасный способ ограничения использования приложения, как упоминает @Bytecommander, его можно превзойти, хотя и не очень легко. Сочетание с показанным ниже показателем очень маловероятно, что это произойдет, если ваш сын не знает настройки и не имеет большого опыта работы с Linux / Ubuntu.
Дополнительная мера
Чуть дальше от «простого решения», но все же не слишком сложного в настройке, есть дополнительная мера ниже. Если наш подозреваемый правонарушитель обнаружит, что скрипт вызывается
/etc/rc.local
, сможет стать пользователем root и удалить строку/etc/rc.local
, или сможет остановить скрипт таким образом, мы можем столкнуться с ним следующей проблемой: экран затемняется после Войдите в систему. Кроме того, решение проверяет, работает ли фоновый скрипт через 5 минут после перезапуска, а затем отключается.Дополнительная мера является startup- проверить , если строка
/opt/limit/limit_use &
присутствует в/etc/rc.local
, и проверка через 5 минут , если сценарий все еще работает. Поскольку скрипт запускается из средства запуска (скрытого от Startup Applications),/etc/xdg/autostart
будет довольно сложно выяснить, что происходит, если вы не знаете, как это делается. Комбинация этих двух мер делает маловероятным, что ваш сын узнает, и если он сделает, вероятно, ничто не остановит его.Как настроить
Это два простых шага:
Скопируйте приведенный ниже код в пустой файл и сохраните его как
blackout.desktop
на рабочем столе:Скопируйте файл в
/etc/xdg/autostart
:Скопируйте приведенный ниже скрипт в пустой файл, сохраните его как
blackout.py
на рабочем столе, сделайте его исполняемым и скопируйте в/usr/local/bin
:Сценарий
объяснение
Launchers in
/etc/xdg/autostart
запустит приложение (в данном случае дополнительная проверка безопасности) для всех пользователей. Это может быть перезаписано локально, но вы должны знать, какие проверки выполняются. Поместив линиюNoDisplay=true
в нашу программу запуска, она не будет отображаться локальноStartup Applications
, поэтому, не зная, что она существует, она вряд ли будет обнаружена.Кроме того, у вашего сына есть только 15 секунд, чтобы узнать (затем экран затемняется), поэтому у него будут серьезные проблемы, если он не гениален, имеет большой опыт работы с Ubuntu и творческим умом.
источник
rc.local
?Исходя из моего собственного опыта, ограничение доступа к компьютерным играм является одной из самых сложных задач в обучении наших детей. Конечно, мы, родители, хотим, чтобы они использовали свои компьютеры в основном в школе, но это сильно противоречит намерениям ребенка. Они будут ненавидеть нас за то, что мы предоставили им оборудование, пригодное только для школы.
И, конечно , мы также хотим, чтобы узнать , как использовать свой компьютер в разумном пути, в том числе , как использовать его не только для работы , но и для отдыха. Это включает в себя игры и просмотр видео.
К сожалению, хорошо поддерживаемый и работающий родительский контроль, ограничивающий работу ребенка, для Ubuntu практически недоступен. Еще одна важная проблема заключается в том, что, как только они становятся умными детьми, все предпринимаемые нами меры становятся тщетными. Они всегда найдут способы преодолеть наши ограничения, если они действительно умны, даже если мы не сможем это заметить.
Любое блокирующее программное обеспечение или PAM-ограничения, работающие на компьютере ребенка, будут только временными и рано или поздно могут быть преодолены очень легко. Поэтому мы решили позволить защищенному паролем маршрутизатору выполнять свою работу, где физическим доступом можно управлять намного проще.
Таким образом, то, что мы делаем здесь, чтобы несколько ограничить игровые возможности на данный момент, является комбинацией всего следующего:
sudo
рано или поздно смогут войти в группу. План состоит в том, что они будут просить нас об этом, а не скрывать это.Чтобы облегчить выполнение договора об использовании компьютера для детей и для нас, мы установили следующие ограничения:
Блокировка доступа к интернету фактически отключит игры, если этой игре необходим доступ в интернет, такой как Steam , Minecraft или другие игровые серверы. Однако это не будет иметь никакого эффекта для игр, работающих в автономном режиме.
источник
ssh
или просто закрытие приложения?Это может быть достигнуто с помощью сценариев оболочки.
Первый скрипт - убить,
Steam
как только он запустится:Сохраните его как
/path/to/anyname.sh
и добавьте в список запускаемых приложений.Этот сценарий будет проверять любой открытый процесс, названный
steam
каждую секунду, и если он найдет его, то убьет его.Но вам нужно решение,
steam
которое можно запустить в определенное время, чтобы ваш сын мог играть в игры в течение этого интервала. Для этого вам нужно написать другой скрипт:Сохраните его как
/path/to/anyname2.sh
и добавьте в список запускаемых приложений.Этот скрипт убьет первый скрипт в 10:00. Итак, когда ваш сын бежит
Steam
в 10:00. Он сможет играть в нее сейчас.Третий сценарий состоит в том, чтобы повторно запустить первый сценарий в другой момент времени, чтобы он убил
Steam
через определенный промежуток времени, и ваш сын больше не сможет играть в игрыSteam
.Сохраните это как
/path/to/anyname3.sh
и добавьте это к своему списку приложений запуска.Убедитесь, что эти пути скрыты, чтобы ваш сын не узнал.
источник
Почему бы не использовать новую учетную запись пользователя (через настройки системы ). Это единственный метод в Linux для «разрешений».
sudo
группа). Тогда эта учетная запись не будет иметь root-доступа, она не сможет устанавливать или удалять программное обеспечение, изменять общесистемные настройки.Несколько заметок ..
/home/son/.steam
и, конечно, двоичный файл./usr/games/steam
источник