Multipass中文文档-设置图形界面
Posted 但老师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Multipass中文文档-设置图形界面相关的知识,希望对你有一定的参考价值。
总目录(待翻译完完善)
1. 概览
2. 教程
3. 使用指引
3.1 安装Multipass
3.1.1 基于Linux
3.1.2 基于macOS
3.1.3 基于Windows
3.2 管理实例
3.2.1 创建实例
3.2.2 修改实例
3.2.3 使用实例
3.2.4 使用实例命令别名
3.2.5 与实例共享数据
3.2.6 移除实例
3.3 管理Multipass
3.3.1 设置驱动
3.3.2 授权客户端使用Multipass服务
3.3.3 远程使用Multipass
3.3.4 提高挂载性能
3.3.5 使用Packer打包Multipass镜像
3.3.6 设置图形界面👈
3.3.7 使用不同的macOS终端
3.4 问题排查
3.4.1 连接日志
3.4.2 网络问题排查
如何如何设置图形界面
有很多种方式可以查看到图形桌面. 在这篇文档, 我们描述了2中方式: RDP(Remote Display Protocol<远程显示协议>)和普通X11 forwarding. 其他方法有VNC或在X11 forwarding上运行Mir shell(如此所述).
内容:
使用RDP
Multipass使用的镜像是没有安装图形桌面的. 因此, 需要安装桌面环境(我们使用ubuntu-desktop
, 但是其他可用选项如Ubuntu风味一样多), 使用RDP服务器(我们在此使用xrdp
, 但是仍然也有其他选项例如freerdp
). 为此, 我们首先需要登录Multipass实例:
$ multipass shell headbanging-squid
并且, 一旦进入实例,
$ sudo apt update
$ sudo apt install ubuntu-desktop xrdp
然后, 我们需要账号密码登陆. 一种可能方法是给默认ubuntu
用户设置密码.
$ sudo passwd ubuntu
我们会被要求输入并再次输入密码. 这样我们就在服务器上完成了.
然后我们用logout
命令退出实例上的Ubuntu shell, 接着找到主机IP地址连接:
$ multipass list
Name State IPv4 Image
headbanging-squid Running 10.40.93.209 Ubuntu
之后, 我们可以使用IP地址10.49.93.209
在实例上连接到RDP服务器.
ℹ️如果实例的IP地址没有在
multipass list
的输出中显示, 它可以在实例中直接被获取, 使用命令ip addr
就可以了.
Linux
在Linux中, 有例如Remmina的应用可以可视化桌面(确保你的主机安装了remmina
以及其包remmina-plugin-rdp
).
运行下面命令直接启动客户端:
$ remmina -c rdp://10.49.93.209
系统会要求上面设置的账户名(ubuntu
)和密码, 然后实例中的Ubuntu桌面就会显示.
macOS
在macOS上连接, 我们可以使用Mac App Store里的"Microsoft Remote Desktop"(微软远程桌面).
Windows
在Windows上, 我们可以使用"Remote Desktop Connection"(远程桌面连接)应用连接到RDP服务器. 之后, 我们输入虚拟机的地址, 设置XOrg进程, 输入在之前步骤创建好的账户名和密码. 然后我们就完成了…一个图形桌面!
使用X11 forwarding
有一种可能的场景是, 我们只需要Multipass启动一个应用去看看窗口, 并不需要一个完整的桌面. 结果是这个设置比RDP方法要简单, 因为我们不需要Multipass实例部署完整的桌面. 取而代之, 我们可以借助主机图形能力并使用X11连接实例应用.
Linux
Linux和MacOS默认运行X和实例, 所以主机不需要其他额外的软件. 我们通过使用X forwarding的授权, 可以比Windows上更加安全一点. 然而, 我们可以穿透(forward through)ssh以避免与xauth
啥的纠缠. 不幸的是, multipass shell
不允许用户给ssh
传递额外参数, 所以我们无法使用shell穿透Multipass. 我们会让主机用户通过ssh登录到Multipass实例, 通过复制公钥的方式, 在~/.ssh/id_rsa.pub
文件到实例已授权的密钥, 在~/.ssh/authorized_keys
文件中. 我们可以使用下面命令做到(使用你的案例名替换案例中的案例名):
$ multipass exec rocking-squirrel -- bash -c "echo `cat ~/.ssh/id_rsa.pub` >> ~/.ssh/authorized_keys"
如果文件~/.ssh/id_rsa.pub
不存在, 那就意味着需要创建SSH密钥. 使用ssh-keygen
创建密钥然后试试复制代码.
然后, 使用multipass info rocking-squirrel
检查一下实例IP地址. 最后, 我们可以使用X forwarding登录到实例
# 使用上面获得的IP地址替换 `xx.xx.xx.xx`
$ ssh -X ubuntu@xx.xx.xx.xx
然后测试一下在实例中运行一些程序:
$ sudo apt install x11-apps
$ xlogo &
一个带有X logo的小窗口会显示出来. 完成!
macOS
MacOS上的步骤与Linux几乎一致, 但是我现在手上没有Mac用以测试. 欢迎贡献
Windows
Windows完全不理解X, 因此我们需要安装X服务器. 这里我们使用VcXsrv. 其他选项可以用Xming(然而, 最新版本需要付费, 但是老旧版本仍然可以从他们的网站SourceForge site免费下载)或在Cygwin中安装X服务器.
第一步是安装VcXsrv并在开始菜单新建的词条"XLaunch"运行X服务器. 一些选项会被显示. 第第一个窗口, 我们应当选择"Multiple windows"并设置显示数量; 让他保持-1是一个比较安全的选择. “Next"按钮会带我们到"Client Startup"窗口, 在这我们应当选择"Start noclinet”. “Next"会显示"Extra Settings”, 然后我们应当激活"Disable access control"选项. 按下"Next"会让我们选择保存设置, 最后我们可以启动X服务器. 任务栏会出现一个图标: 我们就完成了X服务器.
我们需要主机IP地址去配置客户端(即Multipass实例), IP地址可以从console命令ipconfig
获取. 然后启动实例, 在主机IP上设置DISPLAY
环境变量到服务器显示.
# 使用上面获取到的IP地址替换 `xx.xx.xx.xx`
$ export DISPLAY=xx.xx.xx.xx:0.0
我们完成了, 然后我们可以在Windows部分使用xlogo
测试forwarding.
原文链接
How to set up a graphical interface
以上是关于Multipass中文文档-设置图形界面的主要内容,如果未能解决你的问题,请参考以下文章