Linux非root用户通过X11运行图形界面程序-以Rstudio为例

问题

由于使用单位或者学校的服务器,我们一般都没有root权限,导致一些Server版本的软件不能安装(例如数据分析领域的Rstudio-Server,需要root权限,新增端口给Rstudio-Server的web服务)。
但大家有没有发现,我们自己在本地的PC上安装桌面版本的Rstudio是并不要管理员权限的,是因为我们不需要开放端口,Rstudio直接在显示在图形界面上了。
那么理论上,我们可以在服务器上,通过模拟服务器的图形界面来直接运行桌面版的Rstudio。而这个模拟服务器的图形界面就可以使用X11!

X11是一个用于在Unix和类Unix系统上实现图形用户界面的标准协议和窗口系统。它通过分布式性质允许在远程服务器上运行图形应用程序,并将图形数据传输到本地计算机上显示,从而实现了图形界面的远程访问和显示。

操作步骤

  1. 使用mobaxTerm 登录对应服务器,需要显示X11 打开
  2. 创建虚拟环境
    1
    2
    3
    4
    5
    6
    7
    # 创建虚拟环境
    conda create -n rstudio
    # 安装R
    conda activate rstudio # 进入创建好的环境变量
    conda install r-base
    # 安装Rstudio
    conda install rstudio-desktop

成功

经过漫长的等待,直接运行rstudio 就会进入x11转发的图形界面

画个图试试,顺利出图!开始愉快的coding吧!

已知问题: 操作延迟较高,没有本地反应快,但是还可以接受,大家可以试试。

总结

我们可以通过X11来在服务器上运行图形化的程序,这个图形化的程序一般不需要很高的权限,不涉及外部端口新增。因此我们可以在服务器上运行很多图形化程序,例如Rstudio。甚至是我们的Pycharm、Goland、CLion 等Jetbrains的全家桶。大家快来试试吧!


Linux非root用户通过X11运行图形界面程序-以Rstudio为例
https://leiqi.top/2023-09-24-4fe5badbd053.html
作者
Lei Qi
发布于
2023年9月24日
许可协议