在 Web 浏览器中运行 RStudio 的多个实例

标签 r ubuntu amazon-web-services rstudio-server

我在远程 aws 服务器 (ubuntu) 上安装了 RStudio 服务器,并希望同时运行多个项目(其中一个项目需要很长时间才能完成)。在 Windows 上有一个简单的 GUI 解决方案,如“在新窗口中打开项目”。 rstudio 服务器有类似的东西吗?

简单的问题,但除了这个相关的question之外没有找到解决方案适用于 Mac,提供

Run multiple rstudio sessions using projects

但是如何呢?

最佳答案

虽然运行批处理脚本当然是一个不错的选择,但这不是唯一的解决方案。有时您可能仍希望在不同的 session 中进行交互式使用,而不是将所有事情都作为批处理脚本来完成。

没有什么能阻止您在 Ubuntu 服务器上的不同端口上运行 RStudio 服务器的多个实例。 (我发现通过 docker,as outlined here 启动 RStudio 特别容易做到这一点。因为即使关闭浏览器窗口,一个实例也会继续运行,所以您可以轻松启动多个实例并在它们之间切换。您只需要登录当你切换时再次。

不幸的是,RStudio-server 仍然会阻止您同时在浏览器中打开多个实例(参见 help forum)。这不是一个大问题,因为您只需重新登录,但您可以使用不同的浏览器来解决这个问题。

编辑:多个实例都可以,只要它们不在同一个浏览器、同一个浏览器用户和同一个 IP 地址上。例如在 127.0.0.1 上的 session 和在 0.0.0.0 上的另一个 session 都可以。更重要的是,即使实例没有“打开”,它们也会继续运行,所以这真的不是问题。唯一需要注意的是,您必须重新登录才能访问该实例。

至于项目,您会看到您可以使用右上角的“项目”按钮在项目之间切换,但是虽然这会保留您的其他 session ,但我认为它实际上不支持同时执行代码。您需要运行多个 R 环境实例才能真正做到这一点。

更新 2020 好的,现在是 2020 年,有很多方法可以做到这一点。

要在新的 R 环境中运行脚本或函数,请查看:

  • callr package

  • RStudio jobs panel

  • RStudio terminal panel 中的一个或多个终端 session 运行新的 R session 或脚本

  • 注销并以不同的用户身份登录到 RStudio 服务器(需要在容器中设置多个用户,显然这对单个用户来说不是一个好的工作流程,但只是注意到许多不同的用户 用户可以毫无问题地访问同一个 RStudio 服务器实例。

当然,在不同端口上启动多个 docker session 仍然是一个不错的选择。请注意,上面列出的许多方法仍然不允许您重新启动主 R session ,这会阻止您重新加载已安装的包、在项目之间切换等,这显然并不理想。我认为如果在 RStudio(服务器) session 中的项目之间切换允许先前事件项目中的作业在后台继续运行,那将是非常棒的,但不知道这是否在开源版本的卡片中。

关于在 Web 浏览器中运行 RStudio 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938305/

相关文章:

amazon-web-services - 从 AWS ApiGateway 重定向到公共(public) ELB

python - S3 boto 列表键有时会返回目录键

r - 使用 roxygen 记录 setter 函数

r - R中的Uniroot解决方案

ubuntu - Nginx 非 www 无法在 Ubuntu 16.04 中工作和重定向

ubuntu - 让 docker 使用 IPv4 进行端口绑定(bind)

string - 忽略 R 字符串中的转义字符(反斜杠)

performance - 分析调用其他函数的函数的性能

java - null,来自服务器的消息 : "Host ' myserver' is not allowed to connect to this MySQL server"

amazon-web-services - AWS CDK 应用程序在重新部署期间不会启动新的 EC2 实例