启动GNOME终端与多个标签的virtualenv和服务,预题为
-
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服务这将是确定的。但是,我们有一打。和计算机重新启动后重新启动所有的人是一个真正的痛苦。
所以,我要的是一个脚本,一旦执行打开了我新的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
您还可以添加命令(如更改目录或启动服务)。只是提防每次打开一个终端与该简档,这些命令被执行。