2

我正在使用 julia 和 gadfly 在远程服务器(通过 Putty 连接)上绘制一些图,并且这些图应该在我的默认服务器中打开。它们在 lynx 中打开,因此看起来并不像任何东西。我假设 lynx 是我工作服务器上的默认浏览器,我想知道是否有任何方法可以在 chrome 或 firefox 中打开它们?我不是服务器管理员,无权使用所有命令(即 sudo 等)。

尝试使用 xdg-utils 时出现“找不到命令”的错误消息,并且 /usr/.local/applications 中没有任何应用程序,也无法在目录中找到 mimeapps.list。

我能做些什么来在另一个互联网浏览器而不是 lynx 中打开这些图吗?谢谢!

4

1 回答 1

2

偏好顺序

如果可以的话,牛虻会在 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-utilsxdg-mime,它可以查询当前文件关联以及更改它们。您需要管理员权限来更改系统范围的关联,但您不需要任何特殊权限来添加您自己的每用户关联。

由于 Gadfly 正在写入文件然后要求xdg-open打开文件,因此您需要处理文件类型(而不是“浏览器”或 URL 处理程序)。对于 HTML 文件,它可能看起来像这样:

$ xdg-mime default mybrowser.desktop text/html

哪台计算机运行浏览器?

现在,您提到您正在使用 SSH 和 PuTTY 连接到该服务器。PuTTY 为您的服务器提供了一个基于文本的界面——即使服务器上安装了像 Firefox 这样的图形浏览器,PuTTY 也无法显示它。(您的计算机上还需要其他东西,服务器可以使用它来绘制浏览器窗口。)

使用计算机自己的浏览器可能会更舒服。

那我该怎么办?

无论如何,启动浏览器对于服务器计算机来说有点奇怪,而且要实现它可能很繁琐。所以我的建议是:

  • 跳过 PuTTY,直接在 Jupyter 笔记本中显示。
  • 将您的输出保存为计算机浏览器可以访问的 HTML(或 SVGJS)。
于 2016-06-27T14:38:11.557 回答