Удар в темноте: создайте сценарии оболочки для каждой команды, которую вы хотите запустить на вкладке, сделайте их исполняемыми и вызовите их по абсолютному пути, например. поставить это в /home/zardoz/bin/railsstart
#! /bin/sh
exec rails server
chmod +x
, а затем сделать
gnome-terminal --tab -e /home/zardoz/bin/railsstart --tab --tab ...
Если это не сработает, следующая вещь, которую я хотел бы попробовать торчит strace -f -o /tmp/trace.log
на начало команды, позволяя ей неудачу , а затем выкапывать через trace.log
, чтобы узнать, какой системный вызов действительно не удалось и почему (там будет огромное количество нежелательной информации - прочитайте с конца назад и посмотрите на все капитализированные кодовые фразы, начиная с E, например, «ENOEXEC») , «ENOENT», «EPERM», что-то типа.)
EDIT: Вот как вы тянете во всех .bashrc
настройки в одном из этих сценариев:
#! /bin/bash
. ~/.bashrc
exec rails server
Внимание: возможно, потребуется настроить .bashrc
так, что он не делает некоторые вещи, что только работа в «реальном» сеансе интерактивной оболочки. Не беспокойтесь об этом, если вы не получите странных ошибок до начала рельсов.
Попробуйте '-e 'env BASH_POST_RC = \" rails server \ "bash'' для более короткой версии. Сделайте то же самое для второго аргумента '--tab -e'. –
У меня была аналогичная проблема и я попробовал вашу технику. Это сработало. Спасибо. Я заметил, что строка comnmand не попадает в терминал или в историю. Есть ли способ сделать это? – Steve
Я пробовал несколько минут в Google. Что означает переменная BASH_POST_RC? – Steve