Пример настройки АРМ ученика в ОС Альт (Иван Туманов, OSEDUCONF-2025)
Материал из 0x1.tv
- Докладчик
- Иван Туманов
Удобная и беспроблемная эксплуатация отечественных ОС в компьютерном классе позволяет учителю не отвлекаться от преподавания непосредственно учебного материала.
Содержание
Видео
Презентация
Thesis
Постановка задачи
Одна из первых проблем, с которой сталкиваются все учителя в классах — исключение модификации рабочего окружения пользователя учениками или быстрый возврат их к начальным настройкам, тем более часто они работают под одной учётной записью. Механизмы ограничения прав на действия, киоск и встроенный гостевой сеанс оказались неэффективны.
Второй проблемой можно назвать то, что окружение для запуска Win-ПО вместе со всеми программами (например, КОМПАС-3D) является частью домашнего каталога (далее профиля) только одного пользователя, в многопользовательской среде потребуется установка ПО под каждым пользователем.
Из многолетнего опыта работы предлагается следующее решение.
Чистый ученик
Создаём пользователя user0, заходим под ним и настраиваем всё, что необходимо. Обычно это настройка внешнего вида, ярлыков программ, ссылок, запуск по одному разу всех основных приложений (для отключения окон первого запуска, языковых настроек и т.п.) и настройка браузера на безопасный поиск, стартовую страницу и закладки, нужные расширения (детский контент – фильтр, блокировка рекламы).
Далее надо указать системе использовать при входе пользователей профиль user0 (если нет ранее созданного):
в файл /etc/pam.d/system-auth-common нужно добавить внизу строку
Session required pam_mkhomedir.so skel=/home/user0 umask=0077
Теперь каждый пользователь, у которого нет домашнего каталога (новый локальный или доменный) будет при входе копировать преднастроенный профиль user0.
Для автоматизации удаления профилей при перезагрузке (а также выключении\slash включении) системы необходимо в планировщике cron (под root командой crontab –e или редактируя файл /var/spool/cron/root) добавить строку для удаления профиля (например, user1)
@reboot rm –rf /home/user1
Можно указать несколько строк для нескольких учётных записей, можно использовать маски для удаления, в домене можно удалять каталог с доменными профилями.
После данных действий пользователь user1 при входе будет идентичен user0, при перезагрузке все его данные удалятся, и он снова скопирует окружение с user0. Учитель может на перемене перезагружать весь класс при помощи ПО управления классом Veyon или Epoptes.
Для возможности хранения файлов можно или создать локально каталог с правами записи всем (например, /srv/data), на который сделать ссылку на рабочий стол пользователя user0 или использовать сетевые каталоги
mkdir /srv/data chmod o+rwx /srv/data ln –s /srv/data/ /home/user0/Рабочий∖ стол/data
Общий wine
Кроме проблемы «один пользователь, один wine» есть ещё проблема копирования профиля user0, как скелетного при входе новых пользователей. Wine создаёт каталог .wine в профиле пользователя, который может занимать несколько гигабайт.
Простого «вынесения» каталога «.wine</tt»> за пределы профиля как ссылки и назначения всем прав доступа недостаточно, <tt>wine проверяет именно владельца каталога .wine и 3х файлов реестра в нём. Для обхода данного действия надо вынести из user0 только каталог drive_c.
Сначала создадим wine-окружение (команда winecfg в консоли от пользователя user0). Далее уже выполним набор команд под root для переноса каталога drive_c в скрытый /srv, разрешение всем записи и создания на него символьной ссылки в user0:
mv /home/user0/.wine/drive_c /srv chmod o+rwx /srv/drive_c -R ln –s /srv/drive_c /home/user0/.wine/drive_c
Теперь wine будет общим и программы, установленные user0, смогут запускать другие пользователи, однако ещё необходимо, чтобы каждому пользователю в wine-каталоге создавался и win-профиль (в C:\\users с привязками к linux-каталогам пользователя (рабочий стол, документы, …), что требуется многим программам. Для этого надо в автозапуск (в конец файла /home/user0/.bashrc) добавить запуск команды wineboot –u, если ранее win-профиль не создавался:
if [ ! –d "/srv/drive_c/users/$USER"]; then wineboot –u fi
Также может понадобиться модификация ярлыков запуска wine-программ (файлы .desktop в подкаталогах /home/user0/.local/share/applications/wine/Programs/, чтобы убрать префиксы wine и привязку в путям пользователя user0. Параметры Exec и Path должны выглядеть следующим образом (на примере КОМПАС LT)
Path= /.wine/dosdevices/c:/Program Files (x86)/ASCON/KOMPAS-3D LT V12/Bin/ Exec=wine KOMPASLT.exe
Заключение
Теперь для изменения установки программ надо зайти под user0 и сделать нужные действия. Полезно делать резервные копии каталога user0 и общего wine. Для уменьшения объёма user0 можно в нём удалять каталог .cache.
В реальной практике в школе используется локальный пользователь с автологином luser, который удаляется при перезагрузке. При необходимости входа в другую учётную запись надо выйти и зайти под нужным именем.
Все описанные операции воспроизводятся в графическом режиме.