2

Я пытаюсь запустить скрипт при запуске сеанса, поэтому я добавил его в Система -> Настройки -> Запуск приложений.

Скрипт действительно запускается, но некоторые команды внутри не отображаются вообще. Если после запуска я открываю терминал и запускаю скрипт вручную, он работает нормально!

#!/bin/bash
if [ "$DISPLAY" == ":0.0" ]; then
  tmux new -s Phys \; \
    new-window -t Phys -n synergy \; \
    send-keys -t Phys:1 '~/bin/start-synergy' 'enter' \; \
    send-keys -t Phys:0 'xbmc' 'enter' \; \
    select-window -t Phys:1
else
  tmux new -s NX \; \
    new-window -t NX -n miro \; \
    send-keys -t NX:0 'transmission-gtk' 'enter' \; \
    send-keys -t NX:1 'miro' 'enter' \; \
    select-window -t NX:1
fi

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

Однако, это не работает вообще, tmux не запускается.

Как я уже сказал, если я открываю терминал и запускаю этот скрипт, то он работает отлично!

Я попытался перенаправить вывод tmux в файл журнала, чтобы увидеть, получил ли я там подсказку, но журнал оказался пустым.

Кроме того, я добавил команды echo которые выводятся в файл, просто чтобы посмотреть, выполняется ли скрипт вообще, и так ли это.

Что может быть причиной?

1 ответ1

0

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

Попробуйте изменить tmux на /path/to/tmux ; Вы можете легко найти этот путь, запустив команду whereis tmux . Сделайте то же самое для подкоманд, тоже - вместо ~/bin/start-synergy , например, do /home/[your username]/bin/start-synergy и т.д.

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