2017-05-31 10 views
0

Ubuntuデスクトップに2つのXTerm端末があります。私の目標は、py2 virtualenvを最初のものを開くときに有効にし、py3を開けるときにpy2 virtualenvを有効にすることです。それを行う方法を異なるVirtualenvを持つ2つのXTerm

[Desktop Entry]Execラインを変更することで動作を操作しようとしましたが、それは

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

任意のアイデアを動作しませんでしたか?

答えて

1

あなたは&&が何かのためにdesktop specification呼び出しているので、動作しない場合があること、しかし

Exec=uxterm 

(xtermのを設定するために使用するシェルスクリプト)ではなく

Exec=uterm 

を意味している場合がありますexecvpコールに直接変換することができます。

Execキーにはコマンドラインが含まれている必要があります。 コマンドラインは、オプションで1つ以上の引数が続く実行可能プログラムで構成されます。実行可能プログラムは、フルパスで指定するか、実行可能ファイル名のみで指定することができます。フルパスが指定されていない場合、デスクトップ環境で使用される$ PATH環境変数で実行可能ファイルが検索されます。実行可能プログラムの名前またはパスに等号( "=")が含まれていない可能性があります。引数はスペースで区切られます。

引数は全体として引用することができます。引数に予約文字が含まれる場合、引数は引用符で囲まなければなりません。引数の引用の規則は、提供されている実行可能プログラムの実行可能ファイル名またはパスにも適用されます。

Exec=uxterm -e bash --rcfile /home/user/py2-venv/bin/activate 
:例えば、このような

--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). 

何か:

シェルと仮定すると、あなたの別のシェル初期化ファイルを指しているために、そのコメントラインオプションを使用することができ、bashのです

+0

返事をありがとう。あなたは私が 'Exec = uxterm'(typo)を意味するのは間違いありません。私はあなたのソリューションを試したが、それでも動作しませんでした。https://ibb.co/dVONAv – gh0st

+0

'-e'の後にexecコマンドに引用符がないため、前回は動作しませんでした。実際の構文はこの 'Exec = uxterm -e"のようになります。bash --rcfile/home/user/py2-venv/bin/activate "どうもありがとうございました! – gh0st

関連する問題