Я хочу создать небольшую TUI-программу вместо оболочки на raspberry-pi на стандартном tty (конечно, без x11)

Поэтому мне нужно знать, как переключить запуск стандартной оболочки и как запустить собственную программу?

Использование Raspbian9 с systemd

1 ответ1

1

В systemd локальные виртуальные консоли управляются getty@.service а последовательные линии - serial-getty@.service . Оба запускают программу agetty, которая инициализирует несколько параметров tty, отображает баннер и приглашение «login:».

Для вашей программы лучше всего использовать существующий модуль в качестве базы и изменить его для запуска пользовательской программы.

Скопируйте /usr/lib/systemd/system/getty@.service в /etc/systemd/system/myapp@.service . Отредактируйте новый файл, чтобы в ExecStart = была указана правильная программа, и дополнительно добавьте строку Conflicts=getty@%i.service в разделе [Unit] .

Протестируйте с помощью systemctl start myapp@tty1 . Если это работает, отключите оригинальный getty@tty1.service через systemctl и включите свой собственный.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .