一、安装Rstudio-server
(1)安装R语言:
sudo apt install r-base # 如果没有管理员权限无法操作
# 这样装上R默认在/usr/bin/R
其实基本上的流程都可以参考posit的官网(也就是Rstudio的官网):
https://posit.co/download/rstudio-server/
(2)安装Rstudio-sever:
#安装编译器:
sudo apt-get install gdebi-core # 如果没有管理员权限无法操作
# 下载安装包:
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2021.09.0-351-amd64.deb
# 安装Rstudio-server:
sudo gdebi rstudio-server-2021.09.0-351-amd64.deb # 如果没有管理员权限无法操作
可以看得出来其实就是参考Rstudio的官网教程,只是这里的demo示例的包的版本不一致
二、配置Rstudio-server
(1)配置访问端口:
# 修改配置文件:
echo 'www-port=你的端口号' >> /etc/rstudio/rserver.conf# 具体的端口号可以问你的管理员# 重启rstudio使配置生效
sudo rstudio-server restart# 查看Rstudio-server运行状态:
sudo rstudio-server statussudo echo 'www-port=8787' >> /etc/rstudio/rserver.conf
sudo rstudio-server restart
sudo rstudio-server status#端口没开放或者是打开有问题的再开一次:
sudo iptables -I INPUT -p tcp --dport 8787 -j ACCEPT
这里确实是比较新的:
可以参考我之前的博客:
https://blog.csdn.net/weixin_62528784/article/details/142887445?spm=1001.2014.3001.5502
我是因为之前用惯了8787端口的默认服务器,所以才默认设置并且认为8787端口用于Rstudio-server,所以才在博客中开放了8787端口
虽然没有文件,但是我的rstudi-server一直开着
还是设置一下:
总之有问题的就再开一次8787端口
(2)修改默认R
很多情况下用户为了解决版本冲突会直接启用新的R环境。
你可以这样安装指定版本的R:
# 下载:
wget https://cran.r-project.org/src/base/R-4/R-4.2.0.tar.gz
# 其他版本可以在这里找:https://cran.r-project.org/src/base# 解压:
tar -zxvf R-4.2.0.tar.gz
#切换工作目录:
cd R-4.2.0/
# 配置:
./configure --with-pcre1
#编译:
make
这里指的应该是系统级的R设置的修改,所以才对接新版本的R
或者用conda安装对应本本的R也是极好的:
conda install r-base==4.2.0
which R
# 那么你的R就在:/home/biomamba/miniconda3/bin/R
其实我一般是这么操作的:
mamba search r-base
#找到对应版本之后再安装
# 用vim修改配置文件,同样是上面修改端口的配置文件
sudo vim /etc/rstudio/rserver.conf
#rsession-which-r=/usr/local/bin/R #这里是默认的R
# 例如我这里有一个conda环境中的R,这里指的是你在装其他工具而新建的环境中所配置的这个环境所需的R版本,如果你想要使用这个环境中安装时候的R作为默认
rsession-which-r=/home/biomamba/miniconda3/envs/monocle.2.18.0/bin/R# 重启生效:
sudo rstudio-server restart
不想用Vim编辑器也可以这么操作:其实和打开文件输入是一致的
# 修改配置文件:
echo 'rsession-which-r=/home/biomamba/anaconda3/bin/R' >> /etc/rstudio/rserver.conf
# 重启生效:
sudo rstudio-server restart
为什么要修改默认的R配置
- 解决版本冲突:在R的开发和使用过程中,可能会遇到不同的包或项目对R版本的要求不一致。如果默认的R版本与某个项目所需的版本不匹配,可能会导致包安装失败、功能不兼容等问题。通过设置特定版本的R,可以确保所需的项目运行在正确的环境中。
- 使用特定功能:某些R版本可能引入了新的特性或者修复了某些bug,因此强制使用特定版本可以让用户利用最新的功能或修复过的问题。
- 环境一致性:对于数据分析项目和团队协作,确保所有成员使用同一版本的R能够大大降低由于环境不一致带来的问题,从而提高工作效率。
何时会遇到问题
- 安装包时版本不兼容:如果一个R包只能在某个版本的R上工作,而你的系统中有一个更新或者旧的R版本,可能导致安装或加载包失败。
- 运行旧代码时:一些旧项目可能依赖于特定的R版本,这时将在新版本中运行时可能无法正常工作。
- 团队项目:在一个团队中,不同成员使用不同的R版本,可能会导致相同代码在不同环境下表现不一致。
解释代码 rsession-which-r=/home/biomamba/miniconda3/envs/monocle.2.18.0/bin/R
rsession-which-r=
:这是RStudio Server的一个配置项,用于指定R会话所使用的R解释器的路径。rsession
表示R的会话进程。/home/biomamba/miniconda3/envs/monocle.2.18.0/bin/R
:/home/biomamba/
:这是当前用户(biomamba)的主目录。miniconda3/
:表示Miniconda的安装目录(一个小型、轻量级的Python和R包管理工具)。envs/
:这是Conda环境目录,所有由Conda管理的虚拟环境都存放在这个文件夹下。monocle.2.18.0/
:这是一个名为monocle.2.18.0
的Conda环境,通常用于处理生物信息学的数据。bin/R
:这是该环境中R解释器的具体路径。
总结
通过指定R会话使用的确切R版本,就能确保RStudio能加载正确的库和功能,从而避免由于不同R版本导致的错误和不兼容问题。修改配置文件的操作是相对简单的,但对确保工作环境一致性和功能完整性至关重要。
三、为Rstudio-server创建新登录用户
Linux中的Rstudio-server无法像Windows那样用一个用户就可以开启
多个Rstudio,实际使用中Rstudio-server的一个用户只能使用一个Rstudio窗口,若需要同时开启多个Rstudio窗口,可启用子账号:
用户管理可参考:http://mp.weixin.qq.com/s?__biz=MzAwMzIzOTk5OQ==&mid=2247496892&idx=1&sn=960dbca843a51a73c1b331abee5c127d&chksm=9b3c8decac4b04fa3fb1fec375e6c6950f277f6c128c9decf5c38a689086ef798f519cd10acd&scene=21#wechat_redirect
# 创建一个新用户,并且指定其目录:
useradd -d /home/新用户名 -m 新用户名
# 然后设置密码:
passwd 需要修改密码的用户名
# 新建的用户未指定shell。我们只需将其指定为/bin/bash重新登录即可。否则该用户命令行只有一个$
usermod -s /bin/bash 新用户名#比如我现在随便举个例子:sudo名字倒过来名字
useradd -d /home/zht -m zht
passwd zht(sudozhtthz)
可以看到我已经登入了新账号了:
至于这个账号的内容,可以看到:
sudo也进不去,需要号主本人su zht进入(即必须得知道密码)
注意:亲测想要使用多个Rstudio-server窗口,最好不要在同一个浏览器上开多个窗口,最好在多个浏览器上开,因为在同一个浏览器上开会导致窗口崩坏
博客中提到的一些其他的问题:
# 卸载Rstudio:
sudo apt-get remove rstudio-server -y
# 下载最新版Rstudip并重新安装:
wget https://download2.rstudio.org/server/focal/amd64/rstudio-server-2023.09.0-463-amd64.deb
sudo gdebi rstudio-server-2023.09.0-463-amd64.deb# 好在配置文件无需重新写入,安装后的Rstudio-server与原先一样
#重启:
sudo rstudio-server restart
# 查看是否正常运行:
sudo rstudio-server status
# 终止当前shiny运行
sudo systemctl stop shiny-server
# 卸载:
sudo apt-get remove shiny-server
# 下载并重新安装:
wget https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.20.1002-amd64.deb
sudo gdebi shiny-server-1.5.20.1002-amd64.deb
# 在R中重新安装shiny包:
remove.packages("shiny")
install.packages('shiny')
# 重新启动shiny:
sudo systemctl restart shiny-server
参考:
https://mp.weixin.qq.com/s/5AuKS7ZbqXkq3mtoOAqbqQ