[解决方法] 如何在没有屏幕的情况下训练一些需要显示的程序

引用自https://blog.csdn.net/clksjx/article/details/84144655

pygame或者openAI的一些训练环境都是需要显示画面的。
但是大型服务器一般都没有屏幕,此时运行程序会报错。我们需要使程序能在没有屏幕的情况下运行,一般有以下几种办法。

  1. 删除显示画面的语句。有些程序是render()函数控制是否显示画面,这种直接注释掉render即可。但有些程序是通过其他方式显示画面的,比如pygame.display.update(),因为它牵涉到很多语句,所以一句一句的注释太麻烦。

  2. 将屏幕设置为dummy。

import os
os.environ["SDL_VIDEODRIVER"] = "dummy"
  1. 利用xvfb,和“dummy”相比,该方法可以使程序正常获取屏幕上的图像。
xvfb-run -a -s "-screen 0 1400x900x24 +extension RANDR" -- python main.py
  1. 其他
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
上一篇:leetcode_数据解构_链表_19_删除链表的倒数第N个结点(哑结点&&快慢指针法)


下一篇:数据库学习笔记(1)-----数据库操作的基本四类语法(2019/2/26)