Запущение спокойного приложения на запуске для встроенного Linux

Необходимо локально смонтировать удаленный каталог FTP, чтобы сделать это, однако, быть предупрежденными, что все файлы Вы grep должны будут быть загружены для этой операции.

SSH в удаленную машину и прокрученный grep там, если это возможно, для сохранения пропускной способности.

5
23.05.2017, 15:40
3 ответа

Взгляните на /etc/X11/xinit/xinitrc (это может быть различными местами в различных системах) видеть, какие файлы это получает. Обычно это будет иметь если.. elif.. еще структура, так, чтобы только один файл инициализации был считан, с $HOME/.Xclients расположенный по приоритетам затем /etc/X11/xinit/Xclients. Это почти наверняка, куда терминал, который появляется, прибывает из (я предполагаю, что Вам не установили настольную среду или что-либо).

Так или иначе, если Вы просто хотите запустить единственное приложение GUI, создать (или измените), файл Xclients как это:

#!/bin/sh

myGUIapp

Это должно быть исполняемым файлом. Это - в значительной степени нормальный сценарий оболочки, я верю, таким образом, у Вас может быть больше материала там, хотя, очевидно, не фоновая обработка приложение для GUI заблокирует выполнение в той точке.

[позже дополнение]

Ваша установка не имеет точно тех файлов, но она действительно имеет /etc/X11/Xinit.d и если Вы смотрите, я уверен, что это - короткие сценарии оболочки, и они получены от где-нибудь, вероятно, один из файлов в /etc/X11 -- Xsession, Xserver, или xserver-common. Вы могли бы хотеть проверить если $XINITRC определяется в Вашей среде; это будет подсказкой.

Ваш лучший выбор состоит в том, чтобы, вероятно, просто создать a $HOME/.Xclients файл (или как jofel упоминания, $HOME/.xinitrc, который, вероятно, более универсален), и попробуйте его - точно, что написание и случай, с ведущей точкой, и это должно быть установлено chmod 755 (группа и другие полномочия не могут иметь значения). Почти наверняка это будет получено от где-нибудь правильно.

Можно вставить файлы /etc/X11/Xinit.d самостоятельно, но выполнение его с этой целью не является хорошей идеей, потому что Ваш должен прийти последним и блок дальнейшее выполнение. Поэтому взгляните на сценарии в /etc/X11 (снова: Xsession, и т.д. у них нет a .sh суффикс) и попытка выяснить, в какой порядок они все цепочка вместе. Также вероятно, что где-нибудь один из них проверяет на Xclients файл, например, через что-то как

if [ -x /some/path/Xclients ]; then

$HOME может также использоваться, и .xinitrc. Который является, почему создание, по крайней мере одно из этих изменений должно работать (пишут файл и перемещаются вокруг/переименовывать этого, если сначала Вы не успешно выполняетесь). Подводить итог: главные кандидаты на имя: .xinitrx и .Xclients, в также $HOME или /etc/X11/, но если в позже, угробьте ведущую точку.

3
27.01.2020, 20:39
  • 1
    я обновил свой вопрос, показав /etc/X11 дерево каталогов. Я не вижу xinitrc файл. –  sj755 18.07.2013, 19:17
  • 2
    @sj755: Хорошо, считайте то, что я добавил после "более позднего дополнения". –  goldilocks 18.07.2013, 19:51
  • 3
    я нашел файл интересным. Я отправил его содержание. Это, кажется, выполняет названный файл $HOME/.Xsessions. Я пытался поместить свой сценарий в это. Кажется, что я повредил X-сервер. К счастью это - только встроенное устройство Linux, и я могу быстро воссоздать изображение. –  sj755 18.07.2013, 20:18
  • 4
    :( $HOME/.Xsessions надеется быть этим мне. Я не уверен, под чем Вы подразумеваете, "повредил" X-сервер - Вы имеете вход в наличии? Раз так проверьте /var/log/Xorg.0.log. –  goldilocks 18.07.2013, 20:30
  • 5
    @sj755: это точно правильно. Испытайте удаление/комментарий matchbox-terminal& и замена matchbox-window-manager с Вашим приложением. Вам, возможно, не понадобится выполнение менеджера окон для получения спокойного кода к полному экрану приложение, так, чтобы стоило попытаться сохранить немного RAM (это будет также означать, что окном не может управлять пользователь, если существует применимое взаимодействие). Иначе сделайте с &, как терминал. –  goldilocks 18.07.2013, 21:10

Можно добавить команду к $HOME/.xinitrc из пользователя, который запускает X-сервер.

Потребность быть исполняемым файлом $HOME/.xinitrc сценарий оболочки (первая строка #!/bin/sh и chmod +x $HOME/.xinitrc).

1
27.01.2020, 20:39

Во-первых, не обязательно очевидно, что « моему приложению Qt требуется, чтобы X-сервер работал, чтобы делать что-нибудь » - я успешно запускал приложения Qt5 с серверной частью linuxfb из выскочка . Если вы можете это сделать, вы получите более быстрый запуск и меньшее использование памяти, чем при использовании X. С другой стороны, вы можете захотеть, чтобы он запускал клиентские программы X11 или вам нужен оконный менеджер, так что это не для всех.

Предполагая, что вашему приложению нужен X-сервер, посмотрите на диспетчер отображения nodm . Это разработано для встраиваемых приложений; Я использую его для своего интерфейса MythTV. Это намного чище, чем вмешиваться в сценарии в / etc / X11 / , и дает вам возможность иметь разные настройки для разных пользователей, что может быть удобно во время разработки.

Его довольно легко использовать; при установке Debian просто отредактируйте / etc / default / nodm , чтобы включить nodm, и укажите необходимое имя пользователя. Другие значения по умолчанию, вероятно, подходят.

Затем дайте этому пользователю подходящий ~ / .xinitrc - в простейшем случае вы можете сделать его символической ссылкой на свое приложение. Но более вероятно, что это будет короткий сценарий / bin / sh , который, возможно, устанавливает фон, устанавливает раскладку клавиатуры, запускает хранитель экрана и любые другие тонкости, которые вам нравятся до exec myapplication .

Подсказка - замените последнюю строку на exec xterm , пока вы работаете над ней - это может быть очень полезно для проверки.

1
27.01.2020, 20:39

Теги

Похожие вопросы