我的工作是由多个服务服务器端项目。每个服务互动(即非守护)模式下运行,这是同时积极开发方便。该项目是在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终端窗口命名选项卡(每个服务一个)的十几个,在每个被激活的virtualenv和运行一堆在标签服务实例。到目前为止,我已经得到了最好的结果是:

$ 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'

其他提示

创建一个名为 “服务” 侏儒-终端简档(编辑>配置文件>新建)。

在编辑>配置文件首>标题和命令>运行的自定义命令代替我的壳,所述自定义命令设置为:

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

然后使用GNOME终端启动您的服务。下面的命令启动yes的两个实例在不同的目录选项卡。我已经打破了命令成三行,但你应该选择它作为一条线。

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

您还可以添加命令(如更改目录或启动服务)。只是提防每次打开一个终端与该简档,这些命令被执行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top