进入一个平平无奇的ubuntu容器
docker run -it --rm -p5900:5900 ubunut:20.04
安装X组件
apt install -y xserver-xorg
apt install xvfb
apt install x11vnc
以上,就安装完成了。。
以下,是简单示例
【GUI看表】
apt install x11-apps #安了这个就有 xclock 了
xvfb-run xclock #运行 xvfb-run 会自动为 xclock 创建一个虚拟屏幕 然后执行 xclock
这就是运行中了(你看,终端block在那)
怎么看表呢?
先开个新终端
ps -ef |grep auth #这是为了找Auth文件位置
显示:
root@13785a282294:/# ps -ef |grep auth root 7417 7408 1 11:47 pts/0 00:00:00 Xvfb :99 -screen 0 1280x1024x24 -nolisten tcp -auth /tmp/xvfb-run.RCwemo/Xauthority root 7449 5837 0 11:47 pts/1 00:00:00 grep --color=auto auth
上面的 /tmp/xvfb-run.RCwemo/Xauthority 就是Auth文件文件名每次都随机生成
上面的 Xvfb :99 这部分的:99 就是虚拟屏幕号 默认是99
启动vnc-server
x11vnc -display :99 -auth /tmp/xvfb-run.RCwemo/Xauthority # 注意要用到上面查到的那个Auth文件路径
启动完了 x11vnc 默认监听端口是 5900
然后使用VNC客户端 比如:TightVNC
就能看表了!
感觉很空是吧,因为xvfb-run默认给了个 1280x1024 的屏幕
修改启动参数指定想要的屏幕大小就可以了(还有色彩深度)
xvfb-run --server-args="-screen 0 200x200x24" xclock
以上,就是简单示例应该够用了
以下,是个稍微炫一点的简单示例:
用强化学习方法让机器学习怎么玩儿游戏的时候会用到GYM环境,以下是个简单的登月游戏运行示例,这样就可以在服务器上训练,同时还方便围观训练进度 。。
还是继续用上面那个docker容器
【Gym LunarLander-v2 围观示例】
先搞定基本环境 (ubuntu20.04 docker 镜像自带python3.8)
ln -s /usr/bin/python3 /usr/bin/python # 这样就可以直接用python命令了。。
安装pip
apt install python3-pip
安装gym (安装过程报错,要先安swig : apt install swig)
pip install gym[box2d]
然后就可以开干了
xvfb-run python # 这样当你python里面需要用到屏幕界面的就可以在vnc上看到了
更直接的,弄个Gym的玩游戏演示demo程序展示效果
# test.py import gym env = gym.make("LunarLander-v2", render_mode="human") env.action_space.seed(42) observation, info = env.reset(seed=42) for _ in range(1000): observation, reward, terminated, truncated, info = env.step(env.action_space.sample()) if terminated or truncated: observation, info = env.reset() env.close()
启动:
xvfb-run python test.py
观察效果:(新终端,注意auth文件路径变了哈)
x11vnc -display :99 -auth /tmp/xvfb-run.l3kR51/Xauthority
开vnc-client:
标签:00,run,install,里开,GUI,auth,xvfb,env,vnc From: https://www.cnblogs.com/tugeler/p/16791259.html