我在虚拟机中运行 ubuntu 服务器。ubuntu 服务器有一个 LXD 容器,我希望在其中安装一个软件(具体来说,是 Oracle DB)。
我使用 SSH -X username@ip 从我的本地机器连接到我的虚拟 ubuntu 服务器,每当我打开任何 GUI 应用程序时,它都会将我的请求转发到本地机器并按预期显示它。
现在,当我在 LXD 中运行 Oracle 安装程序时,我需要相同类型的端口转发,但我得到的却是
Could not execute auto check for display colors using command /usr/bin/xdpyinfo.
Check if the DISPLAY variable is set.
目前我的步骤是:
1)从我的本地机器,在 virtualbox 中启动虚拟机后执行 SSH -X username@ip。
2)然后我做
sudo lxc exec container -- sudo --login --user ubuntu
3) 这里有我的安装程序的副本。我尝试运行它,但出现错误
Could not execute auto check for display colors using command /usr/bin/xdpyinfo.
Check if the DISPLAY variable is set.
因此,端口转发在虚拟机内部工作正常,但在虚拟机的 LXD 容器内部则不行。请帮忙。
我检查了我的 /etc/ssh/sshd_config 文件,是的,x11forwarding 设置为 yes。我还将 lxd 中的 DISPLAY 变量更改为localhost:10.0
and,:0
但无济于事。
答案1
无需手动设置 DISPLAY:
- 在客户端上检查是否为
ForwardX11
是~/.ssh/config
或使用ssh -x
。 - 在服务器上
X11Forwarding yes
必须指定/etc/ssh/sshd_config
- 服务器端必须安装xauth程序。