linux VNC虚拟桌面配置

事情的开端是我需要跑一个matlab的声波模拟,然后不想在本人小笔记本上跑(已不堪重负)。于是去远程的linux机器安装matlab。

很不巧的是,我的matlab license是学生用,所以疑似不能下载license文件或者序列号。再很不巧的是,没有license的话似乎不能静默安装。再再很不巧的是,linux机器的物理桌面有另一个同学在用。所以我很不幸需要新开一个虚拟桌面。(所以实际上如果物理桌面没有被占用,配个nomachine就好了要简单很多)(顺便nomachine也可以开虚拟桌面的如果是企业付费版)

最开始尝试了SSH X11 转发,简单流程:

  1. Windows本地安装VcXsrv,默认配置启动
  2. ssh -Y youruser@xxx.xxx.xx 连接服务器

然后发现sudo安装还是有问题,理论上xhost +SI:localuser:root就行,但是anyway确实还是不行,总之方法是不要sudo安装,安到home得了。

这条路是走得通的,也是matlab官方的安装文档推荐的,但是linux机器在国外,我再翻个墙什么的,整个卡死,测试用的xclock &都慢得一比,matlab安装界面我去吃完午饭回来都还没渲染出来。

于是换条路走VNC,整个流程:

  • apt install -y tigervn- c-standalone-server tigervnc-common
  • vncserver :1 -geometry 1920x1080 -depth 24
  • 设置密码后,关闭,vncserver -kill :1
  • nano编辑~/.vnc/xstartup,写为:
点击查看代码
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
  • 编辑~/.Xresources,写为:
点击查看代码
xterm*background: black
xterm*foreground: white
xterm*faceName: Monospace
xterm*faceSize: 12

但其实这个不写也没关系,只是风格,不影响使用。
  • chmod +x ~/.vnc/xstartup
  • 再次启动vncserver :1 -geometry 1920x1080 -depth 24

然后会很神秘地发现,Session startup via '/home/student/.vnc/xstartup' cleanly exited too early (< 3 seconds)!,看log也没有致命的报错,就是莫名其妙刚开启就关掉了。卡了很久不知道为啥,直到在github看到一个issue Can no longer start a Session,这个老哥说遇到同样的问题,解决方式竟然是把最后的"&"去掉,试了下还真对,理解不能但是解决了就好x

接着,Windows这边安装realVNC viewer,进去之后,直接连接因为防火墙和监听之类的(我network只有3.9我听不懂啊),是没有办法直接连接的,最好是在Windows terminal ssh -L 5901:localhost:5901 name@<Linux-IP>打通,然后realVNC走localhost:5901连接。

进去之后最后一个小问题是,不知道为什么,文件系统和网络等等都没有问题,但是terminal打不开。最后的解决办法是在配置虚拟桌面时候就打开一个terminal,修改的地方是~/.vnc/xstartup,写为:

点击查看代码
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
xterm

我也实在是没辙了,本来的计划是nomachine登上安装好matlab跑仿真,然后再跑一个python仿真,对比一下结果。结果今天到晚饭时间了,也就安装好了matlab而已。昏过去了。

posted @ 2025-10-04 17:38  zyx_45889  阅读(24)  评论(0)    收藏  举报