两个XTerm与不同的Virtualenvs

时间:2017-05-31 21:41:11

标签: terminal ubuntu-14.04 virtualenv xterm

我的Ubuntu桌面上有两个XTerm终端。我的目标是当我打开第一个时激活py2 virtualenv而当我打开第二个时激活py3。

试图通过更改Exec下的[Desktop Entry]行来操纵行为,但它不起作用

[Desktop Entry]
Name=PY2-VENV
Exec=uxterm && source /home/user/py2-venv/bin/activate
Terminal= true
.
.
.

任何想法怎么做?

1 个答案:

答案 0 :(得分:1)

你可能意味着

Exec=uxterm

(用于设置xterm的shell脚本)而不是

Exec=uterm

然而, && 可能无效,因为desktop specification要求可以直接转换为execvp来电的内容:

  

Exec键必须包含命令行。 命令行包含一个可执行程序,可选地后跟一个或多个参数。可执行程序可以使用其完整路径或仅使用可执行文件的名称来指定。如果未提供完整路径,则在桌面环境使用的$ PATH环境变量中查找可执行文件。可执行程序的名称或路径可能不包含等号(" =")。参数由空格分隔。

     

可以引用整体参数。如果参数包含保留字符,则必须引用该参数。引用参数的规则也适用于提供的可执行程序的可执行文件名或路径。

假设你的shell是 bash ,你可以使用它的注释行选项来指向不同的shell初始化文件:

   --init-file file                                                         
   --rcfile file                                                            
          Execute  commands  from file instead of the system wide initial‐  
          ization file /etc/bash.bashrc and the standard personal initial‐  
          ization  file ~/.bashrc if the shell is interactive (see INVOCA‐  
          TION below). 

像这样的东西,例如:

Exec=uxterm -e bash --rcfile /home/user/py2-venv/bin/activate