Ответ Кейта выполняет работу, но он связывает окно с этим процессом, так что, как только приложение завершается, окно закрывается.
Вот то, что я закончил, прекрасно сработав:
screen -t "RAILS SERVER"
stuff "cd $my_rails_directory; rails server^M"
screen -t "RAILS CONSOLE"
stuff "cd $my_rails_directory; rails console^M"
Здесь важно отметить символ ^ M . На самом деле это не ^, за которым следует М. Это необработанный символ новой строки. Практически в любой программе CLI (vi, emacs, shell) вы можете нажать CTRL-V и затем нажать ENTER, чтобы сгенерировать этот символ.
Как это работает? Команда stuff вводит данную строку прямо в консоль. Буква newline в конце фактически отправляет команду не так, как обычно, если вы набираете ее самостоятельно. Надеюсь, это поможет! Я обнаружил, что этот подход намного более стабилен и надежен, чем другие.