3

開発環境を開始するための小さなスクリプトを作成しようとしています。そのタスクのために、私はいくつかのタブでgnomeターミナルを開こうとします。そこでは、railsサーバーと自動テストが自動的に開始されます。だが

gnome-terminal --tab -e "rails server" --tab --tab

動作しません(「子プロセスの作成エラー」)。また

gnome-terminal --tab -e "bash -c \" rails server \ "" --tab --tab` 

動作しません。その問題を解決する方法について何か提案はありますか?

4

5 に答える 5

14

これがスーパーユーザーで解決した素晴らしいトリックです

  1. eval "$BASH_POST_RC"あなたの最後にを追加します.bashrc

  2. 各タブのBASH_POST_RC環境変数を、実行するコマンドに設定します。例:gnome-terminal --working-directory="/home/zardoz/projects/my_rails_app" --tab -e 'bash -c "export BASH_POST_RC=\"rails server\"; exec bash"' --tab -e 'bash -c "export BASH_POST_RC=\"autotest\"; exec bash"'

@ Gilles:その解決策をありがとう!

于 2010-10-11T00:56:01.140 に答える
1

暗闇の中で突き刺す:タブで実行するコマンドごとにシェルスクリプトを作成し、実行可能にして、絶対パスで呼び出します。/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どのシステムコールが実際に失敗したのか、そしてその理由を調べることです(膨大な量のジャンクがあります)そこに-最後から後ろに読んで、「ENOEXEC」、「ENOENT」、「EPERM」など、Eで始まるすべて大文字のコードフレーズを探します。)

編集:.bashrcこれらのスクリプトの1つですべての設定を取り込む方法は次のとおりです。

#! /bin/bash
. ~/.bashrc
exec rails server

注意:.bashrc「実際の」インタラクティブシェルセッションでのみ機能する特定のことを行わないように調整する必要がある場合があります。レールが始動する前に奇妙なエラーが発生しない限り、これについて心配する必要はありません。

于 2010-10-09T16:50:26.747 に答える
0

すでに返信されていますが、念のため、KDE、OSX、Gnomeデスクトップのターミナルを自動化するこのgemをチェックしてください。

于 2012-12-29T17:57:02.187 に答える
0

gnome-terminalがrailsを実行しようとしたときにPATHが設定されていないため、エラーが発生したと思います。

Railsサーバーへのフルパスを使用したり、PATH変数を設定するスクリプトを作成したりしてみませんか?

于 2010-10-09T20:03:03.130 に答える
0

Ubuntu16.04の場合

押すCtr+Shift+T

これにより、同じウィンドウに新しいタブが開きます。さらに、タブを追加するためのボタンが右端のタブの横に表示されます。

于 2017-02-26T21:44:15.863 に答える