Запустите urxvt с помощью python venv - PullRequest
1 голос
/ 22 марта 2019

Итак, я пытаюсь создать скрипт, который запускает терминал urxvt и одновременно генерирует env venv/bin/activate python:

virtualenv -p /usr/bin/python2.7 /tmp/venv;


urxvt -e sh -c "bash -c 'source /tmp/venv/bin/activate'; bash"

Я не могу заставить его работать для некоторыхпричина.

Кто-нибудь знает другой способ добиться этого?

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Проблема с командой

urxvt -e sh -c "bash -c 'source /tmp/venv/bin/activate'; bash"

заключается в том, что 1-й bash генерирует сценарий activate, а затем завершается, поэтому второй bash не запускается в активируемом venv. Запустите вторую команду внутри -c '…' с активированным venv:

urxvt -e sh -c "exec bash -c 'source /tmp/venv/bin/activate && exec bash'"

PS. Я люблю использовать exec до заменить текущую оболочку вместо того, чтобы заставить ее работать и ждать. Сохраняет несколько циклов процессора и несколько байтов памяти.

0 голосов
/ 22 марта 2019

Решил, изменив это на:

urxvt -e bash -c "source /tmp/venv/bin/activate; sh"

Я не уверен, почему это работает.

...