• WSL2-ubuntu18.04配置笔记 :6Rstudioserver配置



    主要参考Rstudio-server 官网的document

    安装R最新版本

    # update indices
    sudo apt update -qq
    # install two helper packages we need
    sudo apt install --no-install-recommends software-properties-common dirmngr
    # add the signing key (by Michael Rutter) for these repos
    # To verify key, run gpg --show-keys /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc 
    # Fingerprint: E298A3A825C0D65DFD57CBB651716619E084DAB9
    wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
    # add the R 4.0 repo from CRAN -- adjust 'focal' to 'groovy' or 'bionic' as needed
    sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    lsb_release -cs 命令用来查看ubuntu 系统的版本号,比如我的18.04版本,会返回bionic

    安装R-studioserver

    对于Debian 10 / Ubuntu 18 / Ubuntu 20版本的系统

    sudo apt-get install gdebi-core
    wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2022.07.1-554-amd64.deb
    sudo gdebi rstudio-server-2022.07.1-554-amd64.deb
    
    • 1
    • 2
    • 3

    启动Rstudio-server

    rstudio-server  start
    
    • 1

    查看ip地址

    ifconfig
    
    • 1

    在浏览器中输入ip地址和端口,默认为8787端口,需要注意的是不能使用root用户登陆
    http://192.168.31.242:8787/

    安装相关的依赖库

    在linux上安装R包的时候发现缺少几个库,目前只发现以下几个,后续有遇到继续记录

    apt-get install cmake libcurl4-openssl-dev libssl-dev libxml2-dev
    
    • 1

    创建多用户

    同一个用户不能同时登录Rstudio,为了将服务器资源共享给其他同学,因此需要建立多个用户、

    查看当前系统下所有的用户组

    cat /etc/group
    
    • 1

    以下只截取了部分,可以看到已经有名为 rstudio-server的用户组,这是rstudio-server默认建立的用户,因此直接使用即可,当然也可以建立其他用户组

    
    messagebus:x:107:
    lxd:x:108:
    mlocate:x:109:
    uuidd:x:110:
    ssh:x:111:
    landscape:x:112:
    admin:x:113:
    netdev:x:114:ms
    ms:x:1000:
    docker:x:1001:root
    rstudio-server:x:999:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    建立新的用户 ruser1

    useradd -g rstudio-server -m -N -s /bin/bash ruser1
    
    • 1
    -g rstudio-server # 将新用户添加到rstudio-server组
    -m #建立用户目录 默认为 /home/username
    -N #不建立以username为名的组,默认情况下会建立
    -s /bin/bash #指定shell环境
    
    • 1
    • 2
    • 3
    • 4

    设置用户密码

    passwd ruser1
    
    • 1

    查看家目录的权限

    ls -l /home
    
    • 1
    drwxr-xr-x 6 ruser1 rstudio-server 4096 Jul 29 17:09 ruser1
    
    • 1

    d 文件类型为目录
    第一个rwx 代表目录所有者ruser1的权限
    第二个r-x 代表同组rstudio-server其他用户的权限
    第三个r-x 代表其他用户的权限

    至此已经安装完成rstudio-server并建立了新的用户,每个用户登陆后在其用户目录下生存 R 目录,里面用来存放用户自己安装的R包,用户之间互不干扰

    内网穿透

    为了在家也能继续使用rstudio-server,因此配置rstudio-server的内网转发

    内网穿透工具

    Sunny-Ngrok 付费工具但比较便宜,使用起来也比较简单
    https://www.ngrok.cc/
    其安装和配置在官网有详细的教程

    配置内网穿透建立转发隧道

    具体配置方式请移步官网,这里仅展示配置后的结果

    在这里插入图片描述
    本地转发端口为127.0.0.1:8787
    重要的信息主要有

    • clientid 在我的信息里面,也就值你的昵称
    • 隧道id
    • http验证用户
    • http验证用户密码
    • 服务器地址

    安装

    wget https://www.ngrok.cc/sunny/linux_amd64.zip?v=2.1
    #我下载后文件名变成了'linux_amd64.zip?v=2.1' 但不影响使用,直接解压就好
    unzip 'linux_amd64.zip?v=2.1'
    cd  linux_amd64
    
    • 1
    • 2
    • 3
    • 4

    启动

    其中xxxxxxx1代表用户昵称 xxxxxxx2代表隧道id

    ./sunny clientid xxxxxxx1 xxxxxxxx2
    
    • 1

    启动后效果如下,可以使用红线部分的网址进行远程登陆

    在这里插入图片描述
    登陆时会要求进行用户验证,即上一步的http验证用户和http验证密码
    用户验证后即可以进入rstudio-server登陆界面

  • 相关阅读:
    Java NIO详解:深入理解非阻塞式网络编程
    细胞膜杂化脂质体载紫杉醇/红细胞膜包被雷公藤甲素-红素仿生共载脂质体的研究制备
    一道有意思的题 洛谷P2647 最大收益
    【ROS】使用vscode浏览navigation2源码时,提示:没有那个文件或目录
    《游戏编程模式》学习笔记(十三)组件模式 Component
    智汀教你如何用手机远程控制智能门锁
    某马旅游网站开发(对servlet的优化)
    通过RedisTemplate简单实现延时队列
    012 C++ AVL_tree
    最低成本的foc驱动电路,5v低压开环foc驱动器
  • 原文地址:https://blog.csdn.net/qq_42756195/article/details/126059360