我正在使用 julia 和 gadfly 在远程服务器(通过 Putty 连接)上绘制一些图,并且这些图应该在我的默认服务器中打开。它们的开口是山猫,所以看起来真的不像。我假设 lynx 是我工作服务器上的默认浏览器,我想知道是否有任何方法可以在 chrome 或 firefox 中打开它们?我不是服务器管理员,无权使用所有命令(即 sudo 等)。
当尝试使用 xdg-utils 时,出现错误“找不到命令”,并且/usr/.local/applications 中没有任何应用程序,也无法在目录中找到 mimeapps.list。
我可以做些什么来在另一个互联网浏览器而不是 lynx 中打开这些图吗?谢谢!
最佳答案
偏好顺序
如果可以的话,Gadfly 在 Julia 的显示屏上绘图(例如,如果您使用带有 Jupyter 的交互式图形笔记本)。
如果在 REPLDisplay 上没有合适的渲染方式,Gadfly 会将绘图保存到文件中,然后触发一些特定于平台的“打开此文件”逻辑。
Julia 自己的显示
这几乎肯定是最好的选择。如果您在知道如何显示绘图的环境(例如带有 Jupyter 的交互式图形笔记本)中运行 Julia 代码,则无需执行更多操作。
如果您必须从文本提示运行 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),以便您的计算机浏览器可以访问它。
关于linux - 是否可以更改远程服务器(Linux RedHat 4.4.7-17)上的默认浏览器(lynx)? (使用 Gadfly 在 Julia 中绘图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38052970/