NVIDIA公司推出的GPU运行环境下的机器人仿真环境(NVIDIA Isaac Gym)在Ubuntu Server端headless运行

Isaac gym的一些example里面给出了headless参数,对于这样的例子我们在运行的时候指定参数headless即可实现无屏幕模式的运行,但是对于一些没有给出headless参数的example就需要手动解决无屏幕条件下的可视化程序运行的问题,这里给出两个解决方法。

1. 配置X11转播。这里假设服务器端的SSH的X11转播已经开启,我们假设客户端使用的是windows系统,我们只需要在windows系统下安装ssh工具并开启x11转播的接收选项,然后安装X11的接收客户端即可,我这里使用的ssh工具为xshell,x11接收客户端使用的为Xlaunch。

xshell中开启X11转播接收:

 

 

 

Xlaunch中:

 

 

 

 

 

 

server服务器端运行示例代码:

python joint_monkey.py

 

 

成功运行。该种方式是将server端的需要显示的界面转播到了本地windows主机上的Xlaunch软件中,我们通过该方式可以在本地主机上看到可视化界面并进行操作。

PS: 该种操作虽然可以保证运行,但是并不实际,因为该种显示方式会导致显示速度十分的慢(hmdi的信息通过网络形式传输),操作基本也是一卡一顿的,远端server上gpu的使用率也是几乎为0%。总结来说该种方式只是demo,并没有实际运行的意义和价值(我这里使用的是100M网络,除非使用1G网络或以上或者会好些,但也不乐观)。

 

 

 

===========================================================

 

 

2. 安装虚拟屏幕Xvfb。

安装虚拟屏幕:

sudo apt install xvfb

 

运行示例代码:

xvfb-run python joint_monkey.py

 

 

该种方式可以不影响代码运行的性能,唯一不足就是看不到可视化界面,该种方式的运行可以保证代码的运算效率,此时的显示已不再是计算瓶颈。这里的操作是使用Xvfb虚拟出一个屏幕,然后将应用需要显示的界面投射到这个虚拟屏幕中,此时就相当于把界面显示屏蔽掉了。

 

 

 

===========================================================

 

 

posted on 2023-03-03 11:09  Angry_Panda  阅读(710)  评论(2)    收藏  举报

导航