Intereting Posts
Как использовать scp с xargs? Как узнать, что вызвало задержку / замораживание и самозагрузку? Как создать записи SSHFP? Как предотвратить приостановление GNOME, пока я заканчиваю работу по компиляции Как Grep второе слово в файле конфигурации, используя параметр? браузер Chrome: «Aw, snap», когда открыто слишком много окон / вкладок Как удалить файл в корзину в BASH (Linux) где может быть мое дисковое пространство, если оно не является разреженным, удаленным или скрытым точкой монтирования Как Drag & Drop работает в Linux? Замена одного и того же ключевого слова разными строками в строке useradd: невозможно создать каталог Как печатать с удаленного компьютера через SSH на локальный сетевой принтер? Как pdflush, kjournald, swapd и т. Д. Взаимодействуют? MD5SUM для скопированного файла Tails OS: синтаксис сетевой фильтрации, позволяющий I2PBrowser прослушивать на localhost: 6666, затем разрешить пользователю TorBrowser подключаться к нему

Как предотвратить закрытие приложения python в Linux?

Я работаю над проектом, который использует малиновый pi для его вычислительных целей. У него есть сенсорный экран, в котором пользователь может выбрать из него варианты. Я хочу установить легкий дистрибутив linux для этого проекта. Я написал программу python с графическим интерфейсом с работой QT (PyQt 5). Я хочу настроить этот дистрибутив linux для запуска моего приложения при его загрузке и предотвращения закрытия пользователем этого приложения и доступа к другим частям ОС. Как я могу это сделать ? Заранее спасибо.

Не знаю о режиме «загрузки», но, обобщаясь на журнал пользователя и не требуя, чтобы они получали подсказку в командной строке, было бы как минимум две возможности:

в ~ / .profile (или это эквивалент) заканчивается с

exec myImportProgram

Когда программа выйдет, если она выйдет, логин остановит aka logout, и пользователь должен будет снова войти в систему, чтобы перезапустить приложение.

или сделать «myImportantProgram» оболочкой пользователя (в качестве последней записи в / etc / passwd)

Для обоих этих случаев вы также должны убедиться, что нет «утечки оболочки», которая позволила бы выйти из пользовательского интерфейса и в среду командной строки.

Не зная больше о вашей среде – и вы не хотите, чтобы пользователи входили в систему – я хотел бы использовать команду запуска «systemd» (или inittab или /etc/rc.d/something) для перезапуска программ, когда-либо выходящих – includingig аварий.

Надеюсь, это поможет вам найти точное решение для вашей среды!