偏好顺序
如果可以的话,牛虻会在 Julia 的显示器上绘图(例如,如果您使用带有 Jupyter 的交互式图形笔记本)。
如果在 REPLDisplay 上没有合适的渲染方式,Gadfly 会将绘图保存到文件中,然后触发一些特定于平台的“打开此文件”逻辑。
朱莉娅自己的展示
这几乎可以肯定是最好的选择。如果您在知道如何显示绘图的环境中运行您的 Julia 代码(例如带有 Jupyter 的交互式图形笔记本),那么您无需再做任何事情。
如果您必须从文本提示符运行 Julia 代码,您可以使用基于文本的后端渲染器,或处理回退过程。
xdg-打开
Gadfly 的后备显示代码用于xdg-open
在基于 Linux 的系统上显示绘图文件。
该xdg-open
工具是名为xdg-utils
. 该xdg-utils
软件包包含几个命令,但xdg-utils
它本身不是命令——这就是为什么尝试运行“xdg-utils”失败并显示“找不到命令”的原因。
xdg-open
有自己的打开链:它将尝试特定于 GNOME、KDE 或您正在使用的任何桌面环境的打开过程。它回退到一种叫做“perl-shared-mimeinfo”的东西。
包中的另一个工具xdg-utils
是xdg-mime
,它可以查询当前文件关联以及更改它们。您需要管理员权限来更改系统范围的关联,但您不需要任何特殊权限来添加您自己的每用户关联。
由于 Gadfly 正在写入文件然后要求xdg-open
打开文件,因此您需要处理文件类型(而不是“浏览器”或 URL 处理程序)。对于 HTML 文件,它可能看起来像这样:
$ xdg-mime default mybrowser.desktop text/html
哪台计算机运行浏览器?
现在,您提到您正在使用 SSH 和 PuTTY 连接到该服务器。PuTTY 为您的服务器提供了一个基于文本的界面——即使服务器上安装了像 Firefox 这样的图形浏览器,PuTTY 也无法显示它。(您的计算机上还需要其他东西,服务器可以使用它来绘制浏览器窗口。)
使用计算机自己的浏览器可能会更舒服。
那我该怎么办?
无论如何,启动浏览器对于服务器计算机来说有点奇怪,而且要实现它可能很繁琐。所以我的建议是:
- 跳过 PuTTY,直接在 Jupyter 笔记本中显示。
- 将您的输出保存为计算机浏览器可以访问的 HTML(或 SVGJS)。