计算化学公社

标题: 通过VcXsrv+xfce4实现在Windows窗口下操作Ubuntu-WSL2中的VMD [打印本页]

作者
Author:
Medivan    时间: 2021-12-18 00:27
标题: 通过VcXsrv+xfce4实现在Windows窗口下操作Ubuntu-WSL2中的VMD
本帖最后由 Medivan 于 2021-12-25 11:41 编辑

更新于:2021/12/25 11:40

众所周知,要使用VMD有如下方法:  
Windows的32位版本,存在2G内存限制  
Windows的64位版本,论坛有资源,详见二楼
Linux的64位版本,但VMware虚拟机下GPU拉跨,使用实体机Linux系统的人数较少  
Windows的32位版本+Linux的皮,通过PATH调用windows下安装的VMD  
第四种就是本文所要讲述的:  
Linux的64位版本+Windows的皮,通过VcXsrv+xfce4即可实现   
第四种还有一种实现方法:
官方出品的wslg,详见 http://bbs.keinsci.com/thread-27112-1-1.html
   
前提:N卡,Windows10-21H2及以上版本或Win11,WSL2最新版本  

WSL2下需要安装
1、cuda,我的WSL-Gromacs帖子有讲,在此不赘述  
2、安装VMD,步骤仅三步且教程满天飞,已安装cuda的话会自动检测到  
3、安装xfce4  
一条命令:sudo apt install -y xfce4  

查看resolv.conf文件的nameserver后面的地址,这是Windows系统虚拟网卡IP地址
sudo more /etc/resolv.conf

配置
vim ~/.bashrc
加入以下内容:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
意思是自动获取上述resolv.conf文件中是nameserver地址

重启WSL2终端启用新的.bashrc

Windows下需要安装
VcXsrv 下载地址:
https://sourceforge.net/projects/vcxsrv/
安装完毕后启动XLaunch
选择Multiple windows模式
选择start no client
勾选Disable access control
完成后弹出来的防火墙允许记得勾上

启动
回到wsl2中,输入vmd,即可发现弹窗成功,且操作与linux图形化界面下的VMD无差别
Info) VMD for LINUXAMD64, version 1.9.3 (November 30, 2016)
Ohhhhhhhhhhhhhhhhhhh!!!!

enjoy





作者
Author:
喵星大佬    时间: 2021-12-18 03:20
http://bbs.keinsci.com/thread-23119-1-1.html
作者
Author:
Medivan    时间: 2021-12-18 07:15
喵星大佬 发表于 2021-12-18 03:20
http://bbs.keinsci.com/thread-23119-1-1.html

哈哈忘了这茬!64位windows版本
作者
Author:
biogon    时间: 2021-12-20 08:59
其实装了WSLg以后输入vmd命令就直接弹窗出来了
作者
Author:
Medivan    时间: 2021-12-25 11:21
biogon 发表于 2021-12-20 08:59
其实装了WSLg以后输入vmd命令就直接弹窗出来了

我不行欸,请问需要怎么设置吗。我目前不使用VcXsrv的话只能实现直接用终端打开gedit这些官方说明中有的那几个软件,换成VMD就显示Can't open display: :0,还是需要指定窗口主机的ip地址。
作者
Author:
Medivan    时间: 2021-12-25 11:27
biogon 发表于 2021-12-20 08:59
其实装了WSLg以后输入vmd命令就直接弹窗出来了

!我好像解决了
https://github.com/microsoft/wsl ... pe-issues-with-WSLg
作者
Author:
giraffe    时间: 2022-4-16 21:50
您好题主,我按照您的说法安装了xlaunch和配置了wsl2,但是显示的是Error: Can't open display: 172.19.32.1:0,172.19.32.1是您上面说的sudo more /etc/resolv.conf
显示出的网卡地址,请问这种情况下解决办法和Can't open display: :0一样吗
作者
Author:
abin    时间: 2022-4-16 22:17
本帖最后由 abin 于 2022-4-17 18:17 编辑

使用MonaXterm,取消DISPLAY的手动设定。
然后就可以了。
补充一下。
对于大多数用户,当然是采用黑盒子模式的解决方案最佳。
什么查询自己的IP呀,确认WSL2机器的IP呀,
对普通用户来说,都是反人类的操作。

默认情形下,
MobaXterm 和Xmanager 都可以自动完成DISPLAY 设定。
不过Xmanager 套件是付费软件,功能更全面,
但是九成以上功能,这个论坛的用户肯定用不到的。

如果不工作,把机器上那些安全管家都关闭了就可以了。

有一个逻辑要理解一下,有显示图形界面,
Linux 一端,反而是客户端,
你自己手里的机器,比如微软,通过Xmanager 或者MobaXterm 运行显示服务端,
完成服务器上的图形程序显示。

所以,服务器没有显卡,依旧可以给用户提供图形界面哦……

要不然,腾讯的游戏服务器,得安装多少个GPU呀……
之前有信息显示,腾讯采购的是SUSE Linux 呀……

作者
Author:
Medivan    时间: 2022-4-17 11:07
giraffe 发表于 2022-4-16 21:50
您好题主,我按照您的说法安装了xlaunch和配置了wsl2,但是显示的是Error: Can't open display: 172.19.32. ...

一样
作者
Author:
zyman    时间: 2022-4-17 17:08
wsl的话如果装的linux版本是kali,有很方便的winkex,一键启动桌面,ubuntu好像没有这个功能。
VcXsrv(或Xming) 实际上是虚拟一个图形界面到6000端口,然后linux上用x11转发到这个界面,其他的任何Linux都可以用题主的方法用x11远程连图形界面,被堡垒机隔开的服务器也能连上。
连不上大概率是防火墙与安全控制问题,比如Xlaunch启动的时候要勾选那个 No Access Control,不然会被拒绝,或者防火墙要开6000端口(一般打开程序的时候就会询问是否同意),linux上的DISPLAY=ip:port,对应的就是Xming主机的ip:6000+port,他的端口就是Display最后的值那里加6000,配置防火墙的时候注意。
当然要注意安全问题!建议在内网环境下使用这种方法!或者用ssh代理,总之不建议这么暴露一个端口,还是相当危险的。

我用起来最方便的是Xming+Xshell来显示远程linux图形
先开Xming,然后用Xshell连接服务器,然后直接运行图形程序,就能反馈到本地。用起来像本地程序一样无缝衔接,体验很不错。
Xshell的那个远程桌面Xmanage是收费的,但是可以手动把Xmanage切换成免费的Xming,即属性-隧道-x11转移-xDisplay,默认参数即可。
这样就能把xshell连接到的服务器的图形界面传到xming的虚拟图形界面上。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3