Я написал Python GUI для Tkinter для системы часов. Микро машина монтируется на стене, и сотрудники имеют доступ только к запрограммированному мною сенсорному экрану и штрих-коду. Я знаю, как запустить скрипт при запуске, но как мне предотвратить выход из него или открытие других меню? По сути, единственной целью этой консоли является запуск графического интерфейса часов.
Я бы подумал о замене всего интерфейса на что-то вроде nodm
. Я уже рассмотрел детали этого в другом ответе .
По сути, вы начинаете с Ubuntu Server, накладываете слой на несколько пакетов, а затем создаете скрипт ~/.xsession
для загрузки вашего приложения Python. Он очень легкий и пользователи не могут возиться с чем-либо еще.
Если приложение дает сбой или пользователь находит способ выйти из него, nodm
перезапустится и просто загрузит приложение обратно. Идеально подходит для одноцелевых машин.
Я дам тот же ответ, который дал на stackoverflow:
Вы можете использовать wm_overrideredirect , а затем сделать UI полноэкранным. Это удалит все художественные оформления окна, таким образом нет никакого способа закрыть окно. Если этого недостаточно, в качестве последнего шага вы можете сделать глобальный захват. При этом вы эффективно контролируете все, что они могут сделать.
Будьте очень осторожны при кодировании глобальных захватов - убедитесь, что вы можете ввести ssh в этот ящик, чтобы завершить процесс, иначе вы можете эффективно отказать в обслуживании вашего ящика.