Я пытаюсь запустить скрипт сразу после включения X-сервера моего Raspberry pi, потому что он работает с графическим интерфейсом.

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

.config/ LXSession / LXDE-пи / автостарт

и вуа-ля! Он будет работать автоматически, когда ОС закончит загрузку пользовательского интерфейса. Моя идея состояла в том, чтобы запустить оболочку, которая будет запускать скрипт для меня в тот момент.

Я изменил исходный код в автозапуске следующим образом (только что вставил часть PULSEOX):

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi

@echo !======================PULSEOX SERVICE START===========================!
@lxterminal --command="/bin/bash -c '/home/pi/Desktop/start-pulseox.sh;/bin/bash'"
@echo !=======================PULSEOX SERVICE  END ===========================

Однако, когда я перезагружаю свой Pi, я не мог видеть ни терминал, ни мое приложение. После долгих исследований я обнаружил, что журнал сеанса автозапуска хранится в

sudo nano .cache/lxsession/LXDE-pi/run.log

и когда я читаю его, кажется, что он распечатал использование терминалов , что должно означать, что я не передал правильный синтаксис.

<Other Useless stuff......>
!======================PULSEOX SERVICE $
** Message: app.vala:76: Launching lxterminal
** Message: app.vala:76: Launching echo
!=======================PULSEOX SERVICE  END ===========================
** Message: options.vala:107: Create build-in Clipboard
** Message: main.vala:442: Check keymap_mode (null)
** Message: app.vala:76: Launching /usr/bin/ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-pkJCZSNHXNME/agent.487; export SSH_AUTH_SOCK;
SSH_AGENT_PID=489; export SSH_AGENT_PID;
echo Agent pid 489;
** Message: app.vala:130: point-rpi exit with this type of exit: 0
** Message: app.vala:139: Exit normal, don't reload
** Message: app.vala:130: echo exit with this type of exit: 0
** Message: app.vala:139: Exit normal, don't reload
** Message: app.vala:130: echo exit with this type of exit: 0
**Usage:
  lxterminal [Options...] - LXTerminal is a terminal emulator
Options:
  -e, --command=STRING             Execute the argument to this option inside the$
  --geometry=COLUMNSxROWS          Set the terminal's size
  -l, --loginshell                 Execute login shell
  -t, -T, --title=,
    --tabs=NAME[,NAME[,NAME[...]]] Set the terminal's title
  --working-directory=DIRECTORY    Set the terminal's working directory
  --no-remote                      Do not accept or send remote commands
  -v, --version                    Version information**

** Message: app.vala:130: lxterminal exit with this type of exit: 0
** Message: app.vala:139: Exit normal, don't reload
** Message: x-terminal-emulator has very limited support, consider choose another
** Message: x-terminal-emulator has very limited support, consider choose another$
Openbox-Message: Unable to find a valid menu file "/usr/share/lxde/openbox/menu.x$
** Message: Connecting ...
** Message: Status changed to down

** (lxpanel:474): CRITICAL **: dhcpcd_open: Inappropriate ioctl for device
Unit pt-device-manager.service could not be found.

** (lxpanel:474): WARNING **: Battery 0 not found
** (lxpanel:474): WARNING **: Battery 0 not found

** (lxpanel:474): WARNING **: lxpanel: can't load ptbatt plugin
** Message: Status changed to opened
** Message: Connected to dhcpcd-6.11.5
** Message: Status changed to connected
** Message: eth0: CARRIER
** Message: eth0: Configured 10.42.0.73/24
** Message: bt: Name org.bluez unowned on DBus
** Message: va: Name org.bluez unowned on DBus

Может ли кто-нибудь помочь мне выяснить, что не так?

Спасибо!


РЕДАКТИРОВАТЬ

Я могу запустить вызов lxterminal на другом терминале так же, как и я, и это работает. Однако внутри автозапуска я не могу =(

0