使用Terminator,用户可以在配置文件中定义布局。通过这些布局,用户可以设置在启动时执行的命令。因此,例如,可以创建一个终端自动执行ls
的布局(注意bash
命令以避免终端关闭):
command = "ls; bash"
现在,我如何让Terminator加载Python虚拟环境呢?当然,保持bash控制台在加载环境时处于活动状态。
琐碎的方式:
command = "workon my_env; bash"
或其source my_env/bin/activate
等效(不使用virtualenvwrapper
),无法使用。
答案 0 :(得分:7)
诀窍是用" one"做一切事情。命令:bash
。利用其-i
选项(交互式)并使用自定义--rcfile
,其中PROMPT_COMMAND
设置为我们想要执行的任何内容。结果是这样的:
command = "bash --rcfile <(cat ${HOME}/.bashrc; echo 'export PROMPT_COMMAND="workon my_env; unset PROMPT_COMMAND"') -i"
bash
)模式执行-i
。--rcfile
)而不是.bashrc
执行命令。.bashrc
,另外还有一个命令。PROMPT_COMMAND
的值为&#34;无论我们想要执行什么&#34;。在这种情况下:workon my_env
。PROMPT_COMMAND
后,workon my_env
未设置,以避免在每次与shell交互后执行多次。只需编辑部件ls
即可轻松扩展自定义命令。因此,例如,如果您想要从加载虚拟环境中自动执行workon my_env; ls
appart,您可以改为编写<properties>
<entry key="message.first">Hello</entry>
<entry key="message.second">Hi</entry>
</properties>
。