使用多个virtualenv选项卡和服务启动gnometerminal,并对其进行预先设置

2024-09-23 22:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个由几个服务组成的服务器端项目。每个服务都是在交互(即非守护进程)模式下运行的,这在主动开发时非常方便。这个项目在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,并在这些选项卡中运行一堆服务实例。到目前为止,我得到的最好结果是:

^{pr2}$

--title和--profile看起来被忽略了,如果指定了--command,则新打开的窗口在打开后立即关闭。在

有什么想法吗?如何获取激活脚本的源代码,给一个标题,并运行服务?在

注:它只用于开发目的,不用于在实际服务器上部署。在


Tags: to项目方法脚本virtualenv进程titleservice
2条回答

创建一个名为“service”的gnome终端概要文件(Edit>;Profiles>;New)。在

在“编辑”>;“配置文件首选项”>;“标题和命令”>;“运行自定义命令”而不是“我的shell”中,将“自定义”命令设置为:

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

然后使用gnome终端启动您的服务。下面的命令在不同目录的选项卡中启动yes的两个实例。我已将命令分成三行,但您应该将其作为一行输入。在

^{pr2}$

您可能不想直接调用activate,而是要创建一个文件用作自定义命令:

^{3}$

您还可以添加命令(如更改目录或启动服务)。只要注意,每次打开具有该概要文件的终端时,这些命令都会被执行。在

以下内容适用于我,并按您的要求执行:

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'

相关问题 更多 >