Как заставить пользователя запускать тест после входа в систему и перед отображением рабочего стола

9

У меня есть ребенок, и я хочу разрешить ему пользоваться компьютером только после того, как он решит определенную викторину при входе в систему.

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

Как мне это сделать? Должен ли я использовать Пэм? Но как я могу заставить приложение pam взаимодействовать с пользователем графически?

Я использую Ubuntu 14.04.

Адам Рычковски
источник
Разница в том, что вместо браузера вы запускаете приложение, а затем запускаете сеанс Unity, если на вопрос был дан правильный ответ.
Муру
@muru Знаете ли вы, как запустить сеанс Unity после завершения работы приложения киоска?
Адам Рычковски,
gnome-session --session=ubuntuIIRC. Вы можете проверить /usr/share/xsessions.
Муру

Ответы:

1

Вот супер простой способ. Запустите вашу программу викторины во время Xsession, прямо перед запуском рабочего стола.

Например, попробуйте создать файл (с правами root) /etc/X11/Xsession/95quizсо следующим содержимым:

xmessage "What is my favorite color?" -buttons "African Swallow,European Swallow,42" -print -center

После входа в систему вы не сможете пользоваться компьютером до тех пор, пока не закроется программа викторины.

Конечно, как я настрою, все пользователи компьютера будут опрошены, что мне кажется справедливым. Выполнение его только из .xsession вашего ребенка оставлено в качестве упражнения для читателя. :-)

hackerb9
источник