我正在使用org babel安装nvidia cuda。我什么时候使用
pmap
评估失败:
None
答案 0 :(得分:2)
如上所述,CUDA脚本本身必须存在一些错误,尤其是第437行。那是您应该寻求解决问题的地方。
编辑:我看了看脚本:它使用了变量$ XTERM,该变量似乎未定义。实际上,第437行是
exec $XTERM -title "$label" -e "$0" --xwin "$initargs"
和$ XTERM被替换为空,将-title
保留为要执行的“命令”并触发错误消息。 XTERM应该在上面的循环中定义(第428-434行),但是似乎在emacs环境中根本没有设置它(在这种情况下,我不明白为什么要在shell提示中设置它)。通常,我建议您使用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
是的,您可以像以前那样做,但这太过分了。