我的Ubuntu桌面上有两个XTerm终端。我的目标是当我打开第一个时激活py2 virtualenv而当我打开第二个时激活py3。
试图通过更改Exec
下的[Desktop Entry]
行来操纵行为,但它不起作用
[Desktop Entry]
Name=PY2-VENV
Exec=uxterm && source /home/user/py2-venv/bin/activate
Terminal= true
.
.
.
任何想法怎么做?
答案 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