0

私は、いくつかのサービスで構成されるサーバー側のプロジェクトに取り組んでいます。各サービスはインタラクティブ (つまり、非デーモン) モードで実行されます。これは、アクティブな開発中に便利です。プロジェクトは virtualenv にあります。したがって、サービスを開始する一般的な方法は次のとおりです。

$ cd ~/to/vitualenv/subdir/where/service/code/located
$ source ../path/to/virtualenv/bin/activate
$ ./script-to-start-service
+ Set title of terminal to the service name via GUI

全部で 2 ~ 3 個のサービスがあれば問題ありません。しかし、私たちはダースを持っています。そして、コンピューターの再起動後にそれらすべてを再起動するのは本当に面倒です。

だから私が欲しいのはスクリプトです.一度実行すると、新しいgnome-terminalウィンドウが開き、多数の名前付きタブ(サービスごとに1つ)が開き、それぞれでvirtualenvがアクティブになり、そのタブで一連のサービスインスタンスが実行されます。私がこれまでに得た最高の結果は次のとおりです。

$ gnome-terminal --working-directory=~/to/vitualenv/subdir --window --tab --tab

--title と --profile は無視されたように見え、 --command が指定されている場合、新しく開いたウィンドウは開いた直後に閉じられます。

何か案は?アクティベーション スクリプトを入手し、タイトルを付け、サービスを実行する方法は?

PSこれは開発目的のみであり、実サーバーへの展開用ではありません。

4

2 に答える 2

2

以下は私のために働き、あなたが要求したことをします:

gnome-terminal --working-directory=/path/to/wd --tab-with-profile=profile1 --title=title1 -e 'bash --rcfile /path/to/rcfile1.sh' --tab-with-profile=profile2 --title=title2 -e 'bash --rcfile /path/to/rcfile2.sh'

于 2009-11-09T14:17:52.493 に答える
0

「サービス」という名前の gnome-terminal プロファイルを作成します ([編集] > [プロファイル] > [新規])。

[編集] > [プロファイル設定] > [タイトルとコマンド] > [シェルの代わりにカスタム コマンドを実行] で、カスタム コマンドを次のように設定します。

bash --rcfile ../path/to/virtualenv/bin/activate

次に、gnome-terminal を使用してサービスを起動します。yes次のコマンドは、異なるディレクトリにある in タブの 2 つのインスタンスを起動します。コマンドを 3 行に分割しましたが、1 行で入力してください。

gnome-terminal
--tab-with-profile=service --working-directory=/home/$USER/data --title="feelgood" --command="yes"
--tab-with-profile=service --working-directory=/code --title="negative" --command="yes no"

activate を直接呼び出す代わりに、カスタム コマンドとして使用するファイルを作成することができます。

source ~/.bashrc
source ../path/to/virtualenv/bin/activate

コマンドを追加することもできます (ディレクトリの変更やサービスの起動など)。そのプロファイルで端末を開くたびに、それらのコマンドが実行されることに注意してください。

于 2011-02-21T22:11:23.457 に答える