Управление компьютерным классом
Утилита помогает настроить компьютерный класс на операционной системе МОС 12 в школе для управления через ssh и Veyon.
Для работы c Veyon и настройки Veyon пользователь должен быть в группе wheel. Если veyon не будет настраиваться или будет настраиваться не данной утилитой, то группа wheel не нужна.
Перед использованием основных функций программы необходимо произвести настройку кабинета, переключившись на вкладку "Настройка хостов". Для успешной работы все компьютеры в кабинете должны находиться в одной подсети.
Установка
Только на компьютере учителя!
sudo dnf --refresh in comp-cab-setup
Или найти и установить comp-cab-setup через средство установки программ dnfdragora ("Пакеты").
Запуск
comp-cab-setup
Или через Главное меню -> Образование -> Управление компьютерным классом (в главном меню доступен также поиск по названию Управление компьютерным классом).
Настройка
Сначала необходимо заполнить таблицу компьютеров. Для каждого компьютера необходимо указать название и адрес. Внимание: если указать адрес не в формате IP, к нему добавляется суффикс .local
, необходимый для доступа к компьютеру в школьной сети. Если он не является необходимым, можно отредактировать файл /home/пользователь/.teacher_config/ccs.conf
, вписав нужный суффикс или оставив пустой часть строки после знака =
, что будет означать пустой суффикс.
Остальные поля в таблице не являются обязательными, но необходимы для работы большинства функций программы:
- Выбор - логическое значение, которое показывает, будет ли выполнено на компьютере указанное действие. Если нажать на заголовок столбца (надпись "Выбор"), можно выбрать или снять выбор со всех компьютеров.
- MAC-адрес: можно указать, но он определяется автоматически при установке Veyon.
- Логины и пароли ученика и админа: можно указать, но в случае, если они одинаковые, проще воспользоваться кнопками "Генерация админов" и "Генерация пользователей" в верхней части окна. Внимание: в целях безопасности вместо паролей в таблице отображаются звёздочки. Посмотреть пароль можно во всплывающей подсказке, наведя на него курсор мыши.
- Настроен: заполняется автоматически при копировании ключей SSH.
- Удалённый логин: есть ли на хосте возможность удалённого входа в систему.
Также доступен импорт данных в таблицу:
- Из текстового файла: в файле должны быть в столбик перечислены адреса компьютеров, имена присваиваются автоматически. Например, если при импорте указать универсальное имя comp, то в таблице компьютерам будут даны имена comp1, comp2 и т.д.;
- из JSON - импорт всех данных целиком. Импортируемый файл json должен быть создан данной программой при помощи экспорта. Внимание: если в таблице были хосты, не указанные в импортируемом файле JSON, они не удаляются, а остаются в таблице.
При нажатии кнопки Экспорт можно экспортировать список хостов со всеми их настройками в файл json.
Действия на вкладке "Настройка хостов"
Начиная с версии 4, все действия на вкладке хостов разнесены на несколько боковых вкладок.
Вкладка "Сеть"
- Проверить ping. Проверяет, доступны ли отмеченные компьютеры.
- Скорость проводных подключений. Выводит текущую скорость проводных подключений на отмеченных хостах или информацию о том, что проводных подключений нет (в случае, когда хосты подключены только по wi-fi).
- Настроить доступ. Копирует ключи SSH с учительского компьютера на отмеченные компьютеры учеников. Перед копированием необходимо ответить на вопрос, создать ли новый ключ (возможно, с заменой) или использовать существующий на учительском компьютере. Также предлагается выбрать, добавить ли ключи к уже имеющимся на ученических компьютерах или заменить файл
authorized_keys
в папке/root/.ssh
. При успешной настройке в столбце Настроен появится значение Да. Внимание: для настройки доступа по ssh в таблице должны быть заполнены логины и пароли админов на удалённых хостах. Админ - любой пользователь из группы wheel (учитель, администратор), но не root. - Удалить ключи. Позволяет удалить ключи ssh с выбранных компьютеров учеников. Внимание: данная функция удаляет все ключи, а не только скопированные с компьютера учителя.
- Получить IP по MAC. Позволяет при заполненном MAC-адресе получить IP выбранных хостов и внести их в таблицу. Внимание: при выборе данной опции существующие имена хостов будут заменены на их IP.
- Получить MAC по IP. Позволяет при заполненном IP-адресе получить MAC-адреса выбранных хостов и внести их в таблицу.
- Сменить machine-id. Позволяет сгенерировать новый уникальный идентификатор для каждого отмеченного хоста.
- Групповое переименование хостов. Позволяет присвоить хостам локальные имена, отличающиеся только номерами. Может быть полезно при настройке отдельного кабинета.
Вкладка "Пользователи"
- Создать учётные записи учеников. Позволяет создать на выбранных компьютерах учётные записи учеников с указанными в таблице логинами и паролями. На Рабочем столе у созданных учеников также будут созданы папки Задания и Сдать работы.
- Удалить учётные записи учеников. Позволяет удалить на выбранных компьютерах учётные записи учеников вместе с их домашними папками.
- Включить и выключить автологин учеников - позволяет управлять удалённым входом в систему на выбранных компьютерах.
- Копировать архив /home с сервера - позволяет скопировать с сервера архив эталонной домашней папки на выбранные хосты для последующего их восстановления также при помощи данной утилиты.
Вкладка "Veyon"
- Установить Veyon - устанавливает veyon на компьютере учителя (если он уже был установлен, установка не производится) и veyon-core на компьютерах учеников. Внимание: на компьютерах учеников в трее может не появляться значок Veyon, что никак не влияет на его работоспособность.
- Настроить Veyon: позволяет создать кабинет для управления при помощи Veyon и добавить в него выбранные компьютеры. Внимание: если кабинет уже существует, будет предложено заменить его или добавить компьютеры в уже существующий; также если в текущем кабинете уже существуют указанные компьютеры, их тоже можно будет заменить, оставить или добавить копии. Внимание: для корректной работы Veyon пользователь на компьютере учителя должен входить в группу wheel. Также на компьютерах учеников должен быть запущен сеанс X11. Если Veyon установлен, настроен, но компьютеры отображаются как недоступные, вероятно, что проблема в типе сеанса (wayland). В таком случае нужно завершить сеанс и залогиниться заново, выбрав в нижней части экрана тип сеанса Plasma (X11).
- Удалить с сервера ключи Veyon. Удаляет с сервера (компьютер учителя) ключи Veyon. Может быть полезно при полной перенастройке Veyon в кабинете.
- Удалить с хостов ключи Veyon. Удаляет с отмеченных хостов ключи Veyon. Может быть полезно при полной перенастройке Veyon в кабинете.
- Копировать ключ на хосты. Копирует существующий публичный ключ Veyon с сервера на отмеченные хосты. Может быть полезно, если Veyon перестал "видеть" некоторые хосты.
- Рестарт службы Veyon на сервере и хостах. Перезапускает службу veyon.service на сервере и отмеченных хостах соответственно. Может быть полезно при внесении изменений в настройку Veyon.
Вкладка "Выполнение команд"
- Выполнить команду от root: отправляет по SSH на выбранные компьютеры введённую команду, которая будет выполнена от root. Также есть возможность выбрать из списка распространённых команд:
- обновить и перезагрузить хосты (с возможность вывода уведомления);
- обновить и выключить хосты (с возможностью уведомления, а также последующего выключения сервера);
- перезагрузить хосты;
- выключить хосты;
- установить программы (будет предложено ввести названия программ в виде списка или выбрать из списка популярных программ);
- добавить языки ввода;
- удалить программы (аналогично);
- выполнить команду из файла.
Каждую из предложенных команд можно отправить на хосты как последовательно, так и параллельно (не рекомендуется при слабой сети). Последовательное выполнение занимает больше времени, но сервер получает вывод каждой выполняемой команды. При параллельном выполнении команда отправляется на хосты и дальше выполняется там без связи с сервером, освобождая интерфейс утилиты для следующих задач.
- Установить и удалить программы - тот же функционал, что при установке или удалении программ через выполнение команд.
- Скопировать файл - позволяет скопировать файл с сервера на отмеченные хосты. При нажатии данной кнопки будет необходимо выбрать папку на хостах, куда будет произведено копирование. Также есть возможность скопировать файл как правила nftables (для ограничения работы сети на хостах) или скрипт автозагрузки для пользователя - в этом случае проверяется наличие шебанга в начале скрипта.
- Включить удалённый вход в систему - установка на хостах пакета, позволяющего осуществлять удалённый вход пользователей в систему, и запуск соответствующей службы.
- Очистка конфигов пользователей - позволяет очистить на хостах конфиги распространённых программ для указанного пользователя (или для всех пользователей).
Вкладка "Ограничения профиля"
- Запретить/разрешить изменения рабочего стола - позволяет запретить указанным пользователям менять элементы рабочего стола. Физически их можно менять, но при перезагрузке рабочий стол вернётся в исходное состояние.
- Отключить/ограничить/восстановить интернет на хостах - выполняет указанные действия на отмеченных хостах. Ограничение интернета позволяет оставить доступными ограниченное количество портов и адресов. Более подробно здесь: Блокировка интернета в МОС-12 при помощи nftables
- Отключить/включить фаервол на хостах: выполняет указанные действия на отмеченных хостах.
- Отключить/включить wi-fi на хостах: выполняет указанные действия на отмеченных хостах.
- Защитить/разрешить изменения wi-fi на хостах: при включении защиты при попытке изменить настройки беспроводного соединения на отмеченных хостах будет запрашиваться администраторский пароль.
- Запретить/разрешить изменения сети на хостах: при включении запрета любому пользователю не из группы wheel будут запрещены любые действия, связанные с настройкой сети, на отмеченных хостах.
- Отключить/включить устройства ввода на хостах: при отключении на отмеченных хостах будут отключены мышь и клавиатура.
- Защита настроек хостов паролем: при включении защиты вкладка "Настройка хостов" на учительском компьютере будет требовать установленный пароль при переключении на неё. Это может быть полезно в случае, если администратор, настраивающий компьютерный класс при помощи данной утилиты, и учитель, работающий в данном кабинете - разные люди, и администратор хочет быть уверенным в том, что его настройки останутся без изменений.
Действия на вкладке "Учителю"
Верхняя группа кнопок
- Выбрать всё - выбор всех компьютеров из списка.
- Очистить выбор - снятие выбора со всех компьютеров. Также можно выбирать компьютеры мышью при помощи клавиш Ctrl и Shift.
- Генерация пользователей - заполнение таблицы одинаковыми логинами и паролями пользователей.
- Сохранить, удалить профиль и перейти к профилю - позволяет быстро сохранить (требуется только ввод названия), удалить или загрузить список хостов с логинами и паролями пользователей. В отличие от импорта из JSON, здесь существующие в таблице хосты не сохраняются. Опция предназначена для управления несколькими компьютерными кабинетами с одного сервера.
Группа "Работы и задания"
- Создать папку Сдать работы - создаёт папку Сдать работы на Рабочем столе учеников на выбранных компьютерах. Также, если этой папки не было, она создаётся автоматически при раздаче заданий или неудачной попытке их сбора;
- Собрать работы - позволяет скопировать работы из папки Сдать работы с Рабочего стола учеников в папку Работы на Рабочем столе учителя, где создаются подпапки с указанным именем, а также текущей датой и временем в названии. Здесь и далее при обмене файлами ученик - это текущий пользователь на хосте, включая гостя и пользователя с учётной записью mos.ru;
- Очистить работы - очищает папку Сдать работы на Рабочем столе учеников на выбранных компьютерах;
- Раздать задания - позволяет скопировать выбранные в файловом диалоге файлы с компьютера учителя в папку Задания на Рабочем столе учеников;
- Очистить задания - очищает папку Задания на Рабочем столе учеников на выбранных компьютерах.
Группа "Архивация и восстановление"
- Архивировать /home - создаёт архив домашней папки ученика на выбранных компьютерах;
- Восстановить /home - восстанавливает домашнюю папку ученика из архива в случае его наличия на выбранных компьютерах;
- Создать снимок /home - создаёт снимок домашней папки выбранной учётной записи на хостах (в случае наличия на них файловой системы BTRFS). Если снимок, созданный данной утилитой, уже существовал, то он перезаписывается;
- Восстановить /home из снимка - восстанавливает домашнюю папку выбранной учётной записи на хостах (в случае наличия на них файловой системы BTRFS и созданного при помощи данной утилиты снимка).
Группа "Действия на хостах"
- Отобразить имя - отображает названия (как в таблице) выбранных компьютеров на их экранах;
- Поменять обои - устанавливает выбранное изображение в качестве обоев рабочего стола для указанных пользователей на выбранных хостах;
- Открыть браузер - открывает браузер по умолчанию с указанной на сервере страницей на выбранных компьютерах;
- Удалённая авторизация учеников - при заранее включённой возможности удалённой авторизации осуществляет вход в систему указанных в таблице пользователей на выбранных хостах;
- Удалённый выход из системы - при заранее включённой возможности удалённой авторизации осуществляет выход из системы текущего пользователя на выбранных хостах;
- Регистрация на уроке - открывает на отмеченных хостах экран авторизации, где ученик должен ввести свои фамилию и имя. Полученный результат (имена хостов с именами учеников, которые за ними работают) сохраняется в указанном файле на компьютере учителя и может быть полезен ему при анализе результатов урока, например, собранных или оставленных на компьютерах выполненных работ;
- Закрыть окна - закрывает все открытые браузеры на выбранных хостах или блокирует графическую сессию для привлечения внимания учеников к процессу урока;
- Перезагрузить - перезагружает выбранные хосты.
Группа "Действия на сервере"
- Открыть проводник - открывает на сервере Dolphin для обзора файловой системы на одном выбранном компьютере;
- Открыть папку Работы - открывает папку Работы с собранными работами учеников на сервере.
Меню окна
- Справка - открывает встроенную в программу справку со ссылками на данную статью, FAQ и changelog.
- Показать лог - открывает проводник с выделенным файлом лога.
- Запустить веб-версию - запускает сервер для управления классом с телефона учителя.
- Выход - закрывает программу.
Часто возникающие проблемы
- После перенастройки ssh не получается подключиться к хостам. Это может быть связано с тем, что отпечаток хоста хранится в файле ~/.ssh/known_hosts и не совпадает с существующим. Можно удалить отпечаток из known_hosts (при помощи данной программы или вручную). Также можно удалить known_hosts полностью. Ещё может помочь удаление ключей ssh с хостов (выполняется также при помощи данной утилиты).
- После настройки ssh программа всё равно требует пароли на удалённых компьютерах. Это может произойти только вследствие замены ключа. Лучший способ исправить проблему - перенастроить ssh при помощи данной программы.
- Устройства недоступны, не проходит пинг. В таком случае следует проверить, корректно ли вписаны адреса. Также адрес может быть по ошибке вписан в поле для названия хоста (см. рисунок). Также в некоторых случаях соединение лучше устанавливается, если использовать не локальное имя, а IP хоста.
Консольная версия
В настоящее время программу можно запускать в консольной версии со следующими параметрами командной строки:
- registration - запуск регистрации на уроке;
- poweroff - выключить хосты;
- reboot - перезагрузить хосты;
- end-session - завершить текущую сессию на хостах;
- lock-session - заблокировать текущую сессию на хостах;
- close-browsers - закрыть все браузеры на хостах;
- show-hostnames - отобразить имена хостов;
- get-works - собрать работы учеников;
- open-browser - открыть браузер на хостах (следующий параметр - адрес страницы для открытия);
- internet-off - выключить интернет на хостах;
- internet-on - включить интернет на хостах;
- input-off - выключить устройства ввода на хостах;
- input-on - включить устройства ввода на хостах.
Данные команды будут отправлены на отмеченные хосты на вкладке настройки хостов на компьютере учителя.
Дополнительно
Исходный код: https://hub.mos.ru/mos/src/comp-cab-setup
Логи: ~/.teacher_control/log.txt
Текущий список устройств (не рекомендуется для редактирования вручную): ~/.teacher_control/hosts.json
Сохранённый список настроенных хостов: ~/.teacher_control/setup_hosts.json
Лицензия
GPLv3
Авторы
Центр Цифровизации Образования