Как я упоминал выше, в самом скрипте cuda должна быть какая-то ошибка, в частности строка 437.Вот где вы должны искать решение вашей проблемы.
РЕДАКТИРОВАТЬ: Я посмотрел на сценарий: он использует переменную $ XTERM, которая, кажется, не определена.Фактически, строка 437 имеет вид
exec $XTERM -title "$label" -e "$0" --xwin "$initargs"
, и $ XTERM заменяется ничем, оставляя -title
в качестве «команды» для выполнения и вызывая ваше сообщение об ошибке.Предполагается, что XTERM определен в цикле выше (строки 428-434), но, похоже, он вообще не устанавливает его в среде emacs (и я не могу понять, почему он установил бы его в приглашении оболочки в этом случае).Обычно я бы посоветовал вам выполнить его с bash -x
, чтобы узнать больше, но я не уверен, что оно того стоит.
Возможно, вы захотите попробовать выполнить с опцией --nox11
, которая должна обойти этовесь раздел.
Поскольку он работает из командной строки, почему бы не выполнить его таким образом и не покончить с этим?Зачем вам нужно запускать его из исходного блока?
Однако я также хотел бы отметить, что вам не нужно использовать sudo
в теле блока кода: указав :dir /sudo::
говорит "выполнить тело в каталоге /sudo::
, который является псевдо-каталогом, который интерпретируется Tramp как метод для открытия файла с привилегиями sudo
, а затем тело исходного блокавыполняется в этом контексте:
#+BEGIN_SRC sh :dir /sudo::
pwd
#+END_SRC
#+RESULTS:
: /root
#+BEGIN_SRC sh :dir /sudo::
id
#+END_SRC
#+RESULTS:
: uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Как вы можете видеть, в контексте :dir /sudo::
мой рабочий каталог /root
, а мой uid
0(root)
.
В качестве альтернативы, вы можете использовать sudo в теле блока и опустить спецификацию :dir
:
#+BEGIN_SRC sh
sudo id
#+END_SRC
#+RESULTS:
: uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
И, да, вы можете сделать то же самое, что и вы, но это излишне.