Запуск компьютера в режиме киоска для пользовательской программы Linux C++

Я хочу создать приложение C++, которое будет работать на платформе Linux на конкретном ноутбуке. Однако я не хочу, чтобы пользователи этого ноутбука использовали какие-либо другие приложения / системные функции, кроме этой программы - так же, как режимы киоска, которые вы можете найти на компьютерах в типичном интернет-кафе.

Одна из проблем заключается в том, что ноутбук будет загружаться пользователем, и это должно автоматически запускать мое программное обеспечение, оставляя пользователю как можно меньше места для вмешательства в процесс. Он не должен быть полностью безопасным, но он должен быть как можно ближе.

Каков был бы лучший способ выполнить такую ​​вещь? Существуют ли (бесплатные) дистрибутивы Linux, специально предназначенные для этого (если нет, я, вероятно, буду использовать Arch Linux)? Есть ли какие-либо шаги, которые я мог бы / должен предпринять в своей программе, или я могу оставить все это для ОС? Стоит ли создавать собственный небольшой дистрибутив Linux специально для этого?

2 ответа

Решение

Вы, наверное, ищете Sabayon:

Sabayon - это инструмент системного администрирования для определения и развертывания профилей рабочего стола для среды рабочего стола GNOME. Он позволяет вам управлять такими вещами, как макеты панели, пункты меню, настройки gconf по умолчанию, а также предоставлять предопределенные значения по умолчанию для некоторых не-GNOME программ, таких как Firefox. Он также использует функциональность блокировки Pessulus. Он делает это, предоставляя "рабочий стол в окне", позволяя вам настроить рабочий стол по своему усмотрению, а затем записывать изменения, которые будут применяться к пользователям программой sabayon-apply во время входа в систему.

Смотрите также эту статью: Linux Kiosk: сценарий блокировки Ubuntu / Gnome.

На любом обычном дистрибутиве Linux, работающем в однопользовательском режиме и передающем вашу программу в X как единственную программу для запуска (так что без чего-либо вроде KDE/Gnome/xfce/ независимо от того, что нужно.

Что-то вроде этого урока (удалите части Firefox и замените свою собственную программу). Но поиск xinit+kiosk или xorg+kiosk дает много информации.

Конечно, необходимы также надлежащие меры предосторожности, такие как отключение доступа к BIOS и GRUB / загрузчику, так как он отказывается загружаться с usb/lan/cdrom/floppy.

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