Rstudio Server从特定目录运行

时间:2018-07-27 22:23:27

标签: r rstudio-server

我正在整理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]只是想澄清一下,我希望服务器在此目录中启动。我正在构建一个可以多次部署的容器,并且我不希望用户每次部署时都必须设置其目录。

4 个答案:

答案 0 :(得分:1)

如果要修改右侧的文件窗格,则应编辑/etc/rstudio/rsession.conf
 并在下面添加两行:

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

答案 1 :(得分:0)

您可以通过编辑(全局)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/")

答案 2 :(得分:0)

我最终使用的解决方法是覆盖用户的homedir。您可以使用以下命令执行此操作:

usermod -d /mnt/user-home user

或编辑/etc/passwd

答案 3 :(得分:0)

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

建议的解决方案:

R在开始时按以下顺序读取“初始化文件”:

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

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

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

setwd ('/your/path/')

注销/登录到R-studio服务器会话,您会注意到“文件窗格到正确的位置”已相应更改为您在.Rprofile中指定的内容。