Я знаю, что этот вопрос давно уже грешит, но я решил его немного иначе.
Возможно, это даже не самое красивое решение, но оно работает.
Я создал скрипт оболочки с именем env.sh
</p>
<pre><code>#!/bin/tcsh
eval $*
Тогда в моем скрипте на python называется подпроцесс.
</p>
<pre><code>output = subprocess.Popen(["env.sh", "setenv", "DISPLAY", "remhost:0"], stdout = subprocess.PIPE).communicate()[0].split()
Это работает для меня, не забудьте сделать env.sh исполняемым, выполнив "chmod + x env.sh"