如何在多通道容器(guest = ubuntu,host = ubuntu)中打开 GUI 应用程序?X-Forwarding

如何在多通道容器(guest = ubuntu,host = ubuntu)中打开 GUI 应用程序?X-Forwarding

如何在多通道容器(guest = ubuntu,host = ubuntu)中打开 GUI 应用程序?

我已经安装了 multipass 容器,它是一种用于运行逻辑上独立的系统的 docker 容器。Multipass 提供了 ssh(终端访问)功能,但我想知道我是否也可以运行带有 GUI 界面的应用程序?

答案1

我花了一些时间才弄清楚如何将 GUI 应用程序从多通道机器转发到主机,但结果很简单......

首先,我们需要通过 ssh 连接到我们的客户机。Multipass 提供 'shell' 命令,它也是 ssh 的包装器。由于我们需要打开 X 转发,因此我们将改用原始的 'ssh' 命令。

由于 ssh 需要公钥,我们首先需要获取这些密钥并将其保存到我们的主存储库。ssh 密钥保存在“/var/snap/multipass/common/data/multipassd/ssh-keys”中。事实证明,multipass 对所有启动的容器使用相同的密钥,因此,我们只需执行一次即可。

mkdir ~/.ssh/multipassKey

sudo cp /var/snap/multipass/common/data/multipassd/ssh-keys/id_rsa ~/.ssh/multipassKey/id_rsa

将密钥添加到您的 grp(将用户替换为您的用户名)

sudo chown 用户-R。

使用“名称”启动容器(将其替换为实际名称)

多遍起始名称

查找正在运行的容器的ip

多次扫描

现在,通过 ssh 进入 ip 为 1.1.1.1 的机器(替换为上面找到的 ip)

ssh -X -i ~/.ssh/multipassKey/id_rsa[电子邮件保护]

现在,所有 GUI 应用程序都将通过 ssh 转发到主机

相关内容