我一直在努力解决一个问题,但没有成功。我想在Slurm管理的无头(无显示(集群上,在他们提供的docker容器中运行Carla模拟器9.10.1。我们在集群中使用途中集装箱。因此,我们首先将docker图像转换为enrot sqsh文件,然后运行它。当显示器与我的PC上的容器连接或不连接时,Carla可以完美地运行。然而,当它在无头集群上运行时,在无头集群上运行它的非官方Carla方法对我有效,因为我只能在无头群集上使用Slurm(不在头节点上(在途中容器中运行我的实验。因此,对于我的用户在集群上也有一些权限限制。我必须提到,我只需要运行Carla,我不想看到GUI,但问题是Carla不能在屏幕外启动或没有渲染。当我在屏幕外或没有渲染标志的情况下运行该应用程序时,该应用程序退出时没有任何错误。所以,我想知道
- 是否可以在无头集群的容器内运行GUI应用程序
- 我尝试过创建一个虚拟显示器,但当我想运行
Xorg :7
时,我会得到(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
。我还将allowed_users=console
设置为/etc/X11/Xwrapper.config
文件,但没有帮助。有其他方法可以创建虚拟显示器吗 - 我没有尝试xvbf,因为Carla需要OpenGL,人们说它可能不容易实现
有什么办法让它发挥作用吗?谢谢
您可以尝试virtualgl,但只有当您不需要查看显示本身时,它才有效。
wget https://sourceforge.net/projects/virtualgl/files/3.0.1/virtualgl_3.0.1_amd64.deb
dpkg -i virtualgl_3.0.1_amd64.deb
apt-get update
apt-get -f install
安装后,您可以使用vglrun glxgears
glxgears是您的应用程序。