首页 > 解决方案 > 通过 SSH 在远程机器上执行 /usr/bin/R 不起作用

问题描述

我想通过 ssh 登录到远程服务器,然后启动 R。

ssh -X user@166.167.0.1 '/usr/bin/R'

致命错误:您必须指定“--save”、“--no-save”或“--vanilla”

这告诉我 R 的启动失败了。
我该如何解决?

标签: rbashssh

解决方案


根据这个 github中的问答

似乎问题的根源不在于/usr/bin/R参数,而在于RServe自身的参数。

这是来自Rserve其本身和文档中的消息。例如:你可以RserveRserve(args="--no-save")

在https://www.rforge.net/Rserve/doc.html下方链接中的 Launching Rserve 下查看此处

来自Rserve 文档的更多信息

启动 Rserve Rserve 现在以 R 包的形式提供,因此启动 Rserve 的一种方法是在 R 中,只需键入

library(Rserve)
Rserve()

该命令知道如何找到 Rserve、如何设置环境以及如何启动它,无论您的平台如何。

注意:根据您运行 R 的方式,它可能需要其他参数,例如 --no-save(R 会告诉您)。在这种情况下,您必须在 args 参数中传递该参数,例如

Rserve(args="--no-save")

但是,Rserve 是一个独立的程序,因此也可以直接启动它。如果您从源程序包(在 unix 上)安装 Rserve,请键入:

R CMD Rserve

根据您计算机上的用途和库,您可能需要添加 --gui-none 或 --no-save(请参阅 R 文档)。Rserve 将任何参数传递给底层 R 引擎,但与 Rserver 相关的参数除外(请参阅命令行参数)。初始化后,Rserve 将自己作为服务器进行守护。如果它收到来自授权连接的关闭命令,它可以正常关闭(即它将等待所有现有连接完成)。如果它接收到通常的终止信号,它就不会那么优雅地终止。

如果未提供配置文件,则 Rserve 不接受远程连接,不需要身份验证并启用文件传输。有关如何配置 Rserve 的更多详细信息,请参见下文。


回答笔记中的问题:

您应该Rserve在远程主机上进行配置。
配置过程可以使用Rserve配置文件完成一次。

为了登录到远程主机,您可以使用以下命令:

ssh -X user@166.167.0.1

Rserve 从参数开始--no-save

R CMD Rserve(args="--no-save")

是关于如何设置Rserve为服务的讨论。


推荐阅读