1

У меня есть программа на C, которую я написал для debian на raspberry pi, которая просит пользователя ввести число, 1-4, которое затем сохраняется в файле конфигурации. Это происходит только в том случае, если отсутствует файл конфигурации. Я хотел бы запустить эту программу при загрузке. Проблема в том, что я могу заставить его работать при загрузке, но мне не повезло заставить окно терминала появиться, чтобы я мог его увидеть. Я попытался отредактировать /etc/rc.local и добавить туда команды. Я пытался редактировать crontab. Я перепробовал все приемы с помощью команды "display display =:0 && command". Какие-либо предложения?

Редактировать:

Вот команда, которую я на самом деле запускаю в /etc/rc.local:

x-terminal-emulator --command=/opt/vc/src/hello_pi/initialConfig/./initialConfig.bin --display=:0

Программа использует scanf() для захвата ввода с клавиатуры и отображения обратной связи.

2 ответа2

0

Я наконец-то понял. В вашем домашнем каталоге пользователей вы должны создать файл с именем autostart по пути /.config/lxsession/LXDE/ и просто добавить любую команду, которую хотите выполнить после входа в файл автозапуска.

0

Вы говорите не о "при загрузке", а о "при запуске X", и это сложная вещь, потому что в типичной установке то, что запускается X, это менеджер входа в систему, то есть пользовательского сеанса еще нет, даже после запуска X ; только после входа пользователя сеанс инициируется.

Итак, мой взгляд на это:

  • Если у вас есть настройка в стиле киоска, где вообще нет пользовательских сессий, просто нужно что-то запустить вместе с X, не изобретайте колесо с nodm которое позволяет запускать произвольный скрипт после настройки графического интерактива сеанс для предварительно настроенного пользователя.
  • Если у вас есть "нормальная" (то есть типичная) настройка, то даже то, что вы пытаетесь зацепить, неуместно: вам нужно каким-то образом подключиться к графическому интерактивному сеансу пользователя.

    Здесь все становится сложным:

    • Если у вас есть менеджер дисплеев (*DM , обычно GDM , KDM , XDM , slime т.д.), То сначала изучите, какие хуки они предоставляют - некоторые из них способны выполнять определенные сценарии после входа пользователя в систему.
    • Если у вас есть "современная" настройка сеанса с поддержкой d-bus (GNOME и т.д.), Подумайте, можете ли вы прослушать определенное событие, созданное пользователем в интерактивном сеансе, на системном экземпляре d-bus - вы якобы может подключиться к нему во время загрузки после запуска системного d-bus .

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