版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/clksjx/article/details/84144655
pygame或者openAI的一些训练环境都是需要显示画面的。
但是大型服务器一般都没有屏幕,此时运行程序会报错。我们需要使程序能在没有屏幕的情况下运行,一般有以下几种办法。
-
删除显示画面的语句。有些程序是
render()
函数控制是否显示画面,这种直接注释掉render
即可。但有些程序是通过其他方式显示画面的,比如pygame.display.update()
,因为它牵涉到很多语句,所以一句一句的注释太麻烦。 -
将屏幕设置为
dummy
。import os os.environ["SDL_VIDEODRIVER"] = "dummy"
-
利用xvfb,和“dummy”相比,该方法可以使程序正常获取屏幕上的图像。
xvfb-run -a -s "-screen 0 1400x900x24 +extension RANDR" -- python main.py
-
其他。
sudo apt-get update sudo apt-get install -y xorg xvfb firefox dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic Xvfb -ac :7 -screen 0 1280x1024x8 > /dev/null 2>&1 & export DISPLAY=:7