[112797] С помощью [113176] Docker[113177] это можно сделать очень просто.
Всякий раз, когда [113178] тестируемый пользователь[113179] входит в систему, он помещается в изолированный контейнер, где ничего не видно за его пределами, даже контейнеры других пользователей.[113180].
Затем контейнер будет автоматически удален при выходе из системы.
Объяснение:
Здесь мы запускаем оболочку с изображения убунту. Любые сделанные вами изменения будут сохранены для ваших пользователей.[113182]. Вы также можете использовать [113183]Dockerfile[113184] для построения изображения, но на один раз я думаю, что это проще.[113185].
Здесь мы преобразовываем последний контейнер, который был запущен, в новое изображение под названием [113186] песочница [113187]. [113188].
Это будет поддельная оболочка, которую пользователь вынужден запускать при входе в систему. Скрипт запустит их в докер-контейнер, который будет автоматически очищен, как только они выйдут из системы.[113189]
Надеюсь, это очевидно :-) [113190]
Это может не требоваться в вашей системе, но на моей системе оболочка не может быть оболочкой входа, если она не существует в [113191]/etc/shells[113192].[113193].
Мы создаем нового пользователя, который с их оболочкой, установленной в сценарий, мы создадим. Сценарий заставит его запуститься в контейнер песочницы. Они являются членами группы [113194]docker[113195], так что пользователь может запустить новый контейнер.[113196]. Альтернативой помещению пользователя в группу docker было бы предоставление ему sudo прав доступа к одной команде.[113197].
Я бы рекомендовал tint2, fbpanel (C и GTK+), lxpanel (на основе fbpanel).
Есть также pypanel, которая, как говорят, является легкой панелью/загрузочной панелью и написана на Python и C.
Хотя tint2 был сделан для openbox и lxpanel был сделан для lxde, я полагаю, что у них не так уж и много зависимостей. Также имейте в виду, что Вам, вероятно, придется сильно настроить эти панели, чтобы они хорошо выглядели (по сравнению с каиром или доской, которые выглядят красиво из коробки).
Я использую Linux уже более 15 лет.
В настоящее время я уже неделю исследую lxpanel и tint2 на своем ноутбуке.
Они оба кажутся ОЧЕНЬ мало ресурсов.
Первое, что нужно отметить, это то, что tint2 НЕ предлагает меню приложений или меню «Пуск», если хотите.
tint3 находится в разработке, что подводит меня к следующему пункту: tint2/3 более или менее разработан Google и не очень стар.
После недели поисков появился способ запустить меню openbox из значка программы запуска tint2 с помощью xdotool и сочетаний клавиш, но это меню OPENBOX, а не меню tint2, которое можно открыть, просто щелкнув правой кнопкой мыши по фону.
Также выяснилось, что вы можете установить меню openbox -и lxmenu -data (программу, которая автоматически заполняет меню lxde приложениями )и после небольшого редактирования конфигурации автоматически добавляет программы в меню открытого ящика.
Помимо попытки сделать что-то вроде настройки меню «Пуск», вы можете использовать графический интерфейс, чтобы он выглядел хорошо. Графический интерфейс мне показался преувеличенным, есть что сказать о простоте.
Tint2 после БОЛЬШОГО количества настроек выглядит великолепно и хорошо работает практически без зависимостей.
Это Сказано..
lxpanel готов к работе и поставляется с lxmenu -уже настроенными данными..
Чтобы настроить его, вы можете буквально щелкнуть правой кнопкой мыши и использовать графический интерфейс...
Графический интерфейс пользователя очень прост, и с его помощью можно быстро и легко настроить все так, как вам нравится.
Через пару минут lxpanel может быть полностью запущен и отлично работает.
lxpanel имеет около 3 зависимостей, которые устанавливаются вместе с ним, но они очень минимальны.
lxpanel ОЧЕНЬ сравним с tint2 по использованию ресурсов.
Последнее замечание: lxpanel принадлежит LXDE, разработка которого в настоящее время приостановлена в пользу разработки очень похожего LXQt. (База GTK и QT)
Панель lxqt -также легковесна, и я рассмотрю ее далее.
Надеюсь, это поможет
Удачи
Новое дополнение
вала -панель
Только начал играть с этим, но быстро впечатлился.
Настройка так же проста, как lxpanel.
Выглядит довольно красиво и легко настраивается с помощью графического интерфейса.
Судя по всему, изначально он был основан на lxpanel, но был -переписан.
Несколько зависимостей, но все еще легкие.
Я могу оставить себе этот.