我正在整理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]只是想澄清一下,我希望服务器在此目录中启动。我正在构建一个可以多次部署的容器,并且我不希望用户每次部署时都必须设置其目录。
答案 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在开始时按以下顺序读取“初始化文件”:
在您的情况下,如果您打算登录R-Studio服务器,则最终将进入用户的主目录,因此,我建议您只编辑主目录中的[.Rprofile]。如果缺少[.Rprofile],则需要创建它。
将此行添加到您的.Rprofile中[在主目录中]:
setwd ('/your/path/')
注销/登录到R-studio服务器会话,您会注意到“文件窗格到正确的位置”已相应更改为您在.Rprofile中指定的内容。