来自特定目录的 Rstudio 服务器 运行

Rstudio Server Run from specific directory

我正在启动一个 rstudio 服务器实例,我需要 R 的工作目录是一个特定的目录。我还希望右下角的文件窗格指向同一目录。有没有办法做到这一点?目前它从 运行 程序所在用户的主目录运行。我试过 --server-working-dir 标志,但它似乎不起作用。这是我正在使用的命令:

/usr/lib/rstudio-server/bin/rserver \
                         --server-daemonize=0 \
                         --server-user=user \
                         --server-working-dir=/some/path \
                         --auth-none=1 \
                         --auth-minimum-user-id=0

任何帮助在这里都会有用。

[edit] 只是想澄清一下,我希望服务器在此目录中启动。我正在构建一个将被多次部署的容器,我不希望用户每次部署时都必须设置他们的目录。

您可以通过编辑(全局)R 配置文件启动脚本来完成此操作。这是分步指南:

1) 运行 Rscript -e "R.home()" -- 这将告诉您 R 目录主目录的位置。就我而言 (Mac) 它是 /Library/Frameworks/R.framework/Resources

2) 转到 /Library/Frameworks/R.framework/Resources/etc -- 例如,$R_HOME/etc

3) sudo touch Rprofile.site如果不存在,则sudo nano Rprofile.site

4) 添加以下行并保存:

cat("hi\n")
setwd("/some/path/")

您应该避免覆盖用户主目录。 在 [.Rprofile] 文件中,您应该只编辑 Rprofile.site 作为最后的手段,因为它在全球范围内起作用。

建议的解决方案:

R 读取开头的"initialization file",顺序如下:

  • .Rprofile.site
  • .Rprofile(位于当前目录).
  • .Rprofile(在用户主目录中)。

在您的情况下,如果您计划登录到 R-Studio 服务器,您将最终进入用户主目录,因此我建议您只编辑主目录中的 [.Rprofile]。如果 [.Rprofile] 丢失,您需要创建它。

将此行添加到您的 .Rprofile [在您的主目录中]:

setwd ('/your/path/')

Logout/login 到您的 R-studio 服务器会话,您会注意到 "file pane to the right location" 已相应更改为您在 .Rprofile 中指定的内容。

如果你想修改右侧的文件面板,你应该编辑/etc/rstudio/rsession.conf
并在下面添加两行:

session-default-working-dir=/some/path
session-default-new-project-dir=/some/path