【随笔】Ubuntu远程桌面+Docker显示问题记录

场景:

两台Linux主机

B主机需要远程桌面到A主机上运行程序,需要运行的程序是跑在A主机的Docker里面的。

需要实现的效果就是,A主机分一些资源给B主机来跑程序,B在跑程序的时候不能影响A主机的正常工作。

远程桌面:

xrdp+remmina

A主机安装远程桌面Server端(xrdp)

# 安装Xrdp
sudo apt install xrdp
# 检查xrdp状态
sudo systemctl status xrdp

# 配置Xrdp(可选)
sudo vim /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp


# 配置防火墙(记得服务器放行3389)
sudo ufw allow from 192.168.1.0/24 to any port 3389  # ip地址根据自己的实际情况修改
sudo ufw allow 3389

B主机安装远程桌面客户端(remmina)

sudo apt install remmina

在Ubuntu 设置->用户中新建一个用户(如果不新建用户的话,可能会出现登录黑屏的问题。请自行尝试是否需要新建用户)

remmina安装完成后,就可以通过remmina图形界面进行远程连接,连接的时候,可能会报color depth的问题,需要在连接配置页面改一下颜色深度,我这里改成true color 32b可正常连接。

远程桌面图形显示问题

远程连接成功后,现在终端中运行一个带可视化的程序,如gedit,如果出现如下错误提示,需要在终端中执行xhost +  ,执行后再次运行应该就能正确显示图形界面了。

# 错误信息
(gedit:2144): Gtk-WARNING **: cannot open display: :0
# 执行(不要忘了后面那个加号)
xhost + 

Docker图形显示问题

在docker中运行带图形界面的程序时,可能会报如下错误信息

can not open display 0

此时需要在远程桌面的终端中查看display信息

echo $DISPLAY

# 我这里的输出是  :11.0

把创建docker容器脚本中的DISPALY值改为上述值后重新创建容器

#仅贴出比较关键的两行,这两行会影响docker的显示
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
-e DISPLAY="${display}" 

至此,基本上整个环境就搭建好了,中间还遇到了一些小问题,都是很好解决的,就不在这里赘述了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值