前題し、複数のvirtualenvのタブやサービスとgnome-terminalの開始
-
19-09-2019 - |
質問
私はいくつかのサービスで構成され、サーバー側のプロジェクトに取り組んでいます。各サービスは、対話型(すなわち、非デーモン)モードで実行され、これは積極的な開発しながら、便利です。プロジェクトは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のサービスがあった場合は、これは大丈夫でしょう。しかし、我々はダースを持っています。そして、コンピュータの再起動後にそれらのすべてを再起動すると、本当の痛みです。
それでは、私が欲しいのはその一度だけ実行私にそのタブでサービスインスタンスのそれぞれとランニング束中の活性化virtualenvの名前付きのタブ(サービスごとに1)、のダースを持つ新しいgnome-terminalのウィンドウを開き、スクリプトです。私がこれまで持っている最良の結果は、次のとおりです。
$ gnome-terminal --working-directory=~/to/vitualenv/subdir --window --tab --tab
- 。タイトルと--profile無視されてきや--command指定されている場合、新しく開いたウィンドウが開いた後、一瞬で閉じられているように見えます。
任意のアイデア? 、起動スクリプトをソースのタイトルを与え、そしてサービスを実行する方法?
P.S。それだけでなく、実サーバ上で展開するための開発を目的としております。
解決
私のために、以下の作品とあなたが要求した何ます:
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'
他のヒント
"サービス"(編集>プロファイル>新規)という名前のgnome-terminalのプロファイルを作成します。
編集で]> [プロファイル設定]> [タイトルとコマンド>、代わりに私のシェルのカスタムコマンドを実行するためのカスタムコマンドを設定します:
bash --rcfile ../path/to/virtualenv/bin/activate
次に、あなたのサービスを起動するためにgnome-terminalは使用しています。次のコマンドは、異なるディレクトリ内のタブにyes
の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"
<時間>
の代わりに、直接アクティブに呼び出す、カスタムコマンドとして使用するファイルを作成することがあります:
source ~/.bashrc
source ../path/to/virtualenv/bin/activate
また、(ディレクトリ変更したり、サービスを起動するように)コマンドを追加することができます。ちょうどあなたがそのプロファイルでターミナルを開くたびに、これらのコマンドが実行されていることを注意します。