Я пытаюсь заставить работать поддержку аппаратной клавиатуры в моем приложении QT 4.8.6 для Beaglebone Green, на котором работает Debian. Файловая система не имеет рабочего стола, поэтому Linux загружается в консоль, которая показывает tty1 вверху.
Я создал службу systemd в /lib/systemd/system/, чтобы мое приложение запускалось при загрузке. Приложение запускается, но я не получаю никакого ввода с аппаратной клавиатуры. Вот некоторые вещи, которые я попробовал:
- Запустите приложение вручную из консоли tty1: Результат: Аппаратная клавиатура работает в моем приложении
- Запустите приложение вручную с последовательной консоли ttyS1: Результат: Нет аппаратной клавиатуры
Мой файл службы systemd выглядит так:
[Unit]
Description=MyApp Startup script Service
After=syslog.target network.target
[Service]
Type=simple
WorkingDirectory=/usr/local/bin/myAppdir
ExecStart= /bin/sh myAppStartupScript
SyslogIdentifier=MyApp
[Install]
WantedBy=multi-user.target
Я пытался использовать указанную выше службу для запуска nano, но не могу сказать, запускается ли nano вообще. После загрузки системы я не вижу запущенного nano. Я также не вижу его в списке процессов, когда запускаю команду ps. Указанная выше служба запускает мое приложение qt. Я пытался выяснить, могу ли я получить поддержку аппаратной клавиатуры в nano, используя указанную выше службу.
Похоже, я неправильно использую systemd. Кто-нибудь знает, что я делаю не так?