控制台与远程桌面
这一章讲怎么看虚拟机的屏幕、往里面敲键盘:网页里的图形控制台(VNC)和串口控制台、用 RDP 客户端连、主机自己接的显示器(Ctrl-Alt-F1 … F12 和信息屏)、USB 转发、屏幕录像。虚拟机的开关机、修改设置见虚拟机。
| 想要 | 用什么 |
|---|---|
| 临时看一眼、装系统、改 BIOS | 网页的 图形(VNC) |
| Linux、路由器、BSD 的文本登录 | 网页的 串口控制台 |
| 要流畅(视频、拖窗口)、要声音、要插 U 盘 | RDP 客户端:mstsc 或 kRDPclient |
| 机器旁边有显示器和键盘 | 主机的 Ctrl-Alt-F1 … F12 |
1. 网页里的控制台
虚拟机运行时,列表的每一行和详情页顶部都有控制台按钮:串口控制台,打开了 VNC 的虚拟机还有 图形(VNC)(列表里是图标,鼠标放上去有提示)。没打开 VNC 的虚拟机没有图形控制台,见虚拟机 §2.5。详情页左边还有一张 guest 的画面 小图,每 5 秒刷新一次,点它打开 VNC 控制台;虚拟机没有画面时写 没有画面。
每个控制台有三种打开方式:
- 在新窗口里打开:点按钮本身(详情页上按钮带 ↗)。
- 在本页打开:详情页上按钮旁的 在本页打开。
- 浮动窗口:始终在最前面,可以拖到浏览器外面(每个标签页一个,要浏览器支持);列表里的图标按钮就是用它打开的。
浏览器拦下弹出窗口时会提示,并自动改成在本页打开;允许这个网站弹出窗口就能用新窗口。
1.1 图形(VNC)
网页直接显示虚拟机的屏幕,键盘鼠标可用,从开机画面、BIOS 到安装程序都看得到。顶部有几个按钮:
- Ctrl-Alt-Del:把这个组合键发给虚拟机(浏览器自己会截走真正的按键)。
- 全屏、缩放到窗口。
- 断线后点 重新连接;状态显示 正在连接…、已连接 或 已断开。
同一时间只有一个人看。别人正在用时,页面写"某某 从某地址起在用这个画面",点 接管(把对方断开) 抢过来;被抢的那一边会看到"某某 接管了这个画面"。
注意:直通了显卡的虚拟机,驱动起来以后画面在接这块显卡的显示器上,网页控制台可能一直停在启动画面,不是死机。直通 Intel 核显的虚拟机,网页控制台显示核显的画面,每秒约 10 帧,要流畅请用 RDP。
1.2 串口控制台
虚拟机的串口(文本),Linux、BSD、路由器把内核和登录终端接在串口上时很有用。多个人可以同时看,同一时间只有一个人能输入:
- 状态栏写 你在输入,或者 只看 · 某某 在输入 / 只看 · 没人在输入,以及 N 人连着。
- 只看的页面点 接管 开始输入,点 不再输入 放手。别人接管时你会收到提示。
- 虚拟机没在运行时写"没在运行,开机后自动连上",开机后自动接上;断线会自动重连。
串口里的内容也在 日志(详情页顶部)的 串口 标签里留着,见虚拟机 §10。
2. 用 RDP 连虚拟机的屏幕
keelOS 在主机上自带一个 RDP 服务(keel-rdp),所有虚拟机共用主机的 3389 端口,用户名选虚拟机。它连的是虚拟机的屏幕本身,不是 guest 里的远程桌面:guest 里不用装任何东西,开机画面、BIOS、安装程序、没有网络的虚拟机都能看能操作。
虚拟机详情页的 RDP 一行写着 地址:端口,用户名 虚拟机名,下面一行说明密码是哪个:这台 guest 自己的 RDP 密码(在编辑页的 远程控制台 里设)、管理员密码(没有设时,用户名仍是虚拟机的名字),或主机的 RDP 密码。
- Windows:点 下载 .rdp 文件,双击,远程桌面(mstsc)就连上,密码它自己会问。
- 其他系统:任何 RDP 客户端(FreeRDP、Remmina、各平台的"Windows App")填同样的地址、端口、用户名和密码。
- kRDPclient:keel 自己的客户端,在 mstsc 之上有视频编码的画面、USB 转发、声音,见配套软件。
RDP 服务和 mDNS 一样可以在 系统 里整个关掉,见系统:维护、时间与主机终端。
2.1 控制台视频(kRDPclient 用)
编辑页 远程控制台 一节的 控制台视频 调的是 kRDPclient 收到的视频画面(mstsc 不受影响),下一次 RDP 连接时生效:
- 帧率:默认 60。
- 画质:均衡(默认)、速度优先(省 CPU)、画质优先(多用 CPU 和带宽)。
- 编码线程:自动(默认) 或最多 N 个。
2.2 声音
编辑页 设备 里的 声卡(HD Audio):自动(keel 决定)、开、关。声音由 keel-rdp 送给 RDP 客户端,guest 用系统自带的驱动。自动时 Windows Vista 及以后和 Linux 桌面有声卡;Windows XP、Server 2003、路由器、NAS 和没有显示的虚拟机没有。下次冷启动生效。详情页的 声卡 一行写现在有没有,以及没有的原因(例如"PCI 槽 3–27 用满了")。
2.3 USB 转发
用户电脑上的 U 盘、USB 转串口、加密狗,可以经 RDP 客户端插进虚拟机。在编辑页 设备 里勾 USB 转发(RDP 客户端那边的设备):keel 给虚拟机加两个空的 USB 口(USB 2 和 USB 3),客户端连上后把设备接到这里。
- mstsc:本地资源 → 详细信息… → 其他支持的 RemoteFX USB 设备。kRDPclient 在界面里选。
- USB 是 UHCI 的虚拟机(Windows 7 及更老)暂时不行。主机的 bhyve 太旧时勾选框旁会提示 USB 转发需要新版 bhyve。
- 详情页出现 USB 设备 卡片,列出每个口上的设备、谁插的(账号和来源地址)和 插入时间,审计日志里也有。拔掉 按钮目前只记录请求,不会强行拔:请用户在客户端里取消勾选。
- 从 U 盘启动一次:经 RDP 把启动 U 盘插进来,点这个按钮,下一次启动(运行中的会先复位)从 U 盘启动,只这一次;UEFI 虚拟机才有,需要 USB 和电源权限。没有 U 盘就照常从硬盘启动。
3. 屏幕录像
详情页的 屏幕录像 卡片像行车记录仪:打开以后,虚拟机每次运行都以很低的帧率录下屏幕,约一分钟一段,空间用完时删最旧的。最新的几段会放进诊断包,出问题时能看到之前发生了什么。
- 打开 / 关闭:开关。设置 里可以改 录像空间上限(MiB)(16 到 65536)和 每秒帧数(1 到 10)。
- 查看:弹出播放窗口,按时间列出每一段(开始、时长、大小,正在录的标 正在录),点一行播放;时间按主机的时区显示。全部删除 清掉这台虚拟机的所有录像。
- 改设置要有虚拟机写权限,查看要有控制台权限。
4. 主机自己的显示器:屏幕(F1–F12)
主机接了显示器和键盘时,虚拟机 → 屏幕(F1–F12) 子页出现(本地屏幕功能关掉或主机没接显示器时没有)。
- Ctrl-Alt-F1 是主机自己的控制台,Ctrl-Alt-F2、F3 … 切到各台虚拟机的屏幕,一套按键到处一样。只有开了 VNC 的虚拟机占一个键,默认按名字排序。
- 页面上方是 F1 … F12 的按键条,每个键显示它现在的画面(每 5 秒刷新),显示中 标出显示器现在在哪个键,切换 按钮等于按那个键。直通了显卡的虚拟机写"显卡直通,此处无画面"。把虚拟机的名字拖到按键上,或者在按键里选,改它用哪个键;恢复自动顺序 回到按名字排。手工排过以后,新建的虚拟机放进第一个空键。
- 没开机的虚拟机,屏幕上有提示,按回车直接启动它。
- 要把 Ctrl-Alt-Fn 本身送进虚拟机(例如 Linux 桌面切回文本终端),按 Ctrl-Alt-Shift-Fn。
- 虚拟机的画面里,除了 Ctrl-Alt-Fn,所有按键都原样交给虚拟机。
- 用核显 SR-IOV VF 的虚拟机,主机本来看不到它的画面。把它拖到屏幕按键上,按那个键时由显示虚拟机显示它的 keelagent 画面(guest 里要运行 keelagent 并登录桌面)。这一项是实验功能,在信息屏卡片里默认关着(VF 虚拟机显示在屏幕按键上(实验)):在 13420H 这类机器上会让 GPU 视频引擎卡死,虚拟机蓝屏,请保持关闭。
注意:各个键对应的虚拟机在重启 keelOS 底层(reload)之后回到原来的画面。
4.1 信息屏
F2 默认是 信息屏(页面上写 信息屏):设置管理员密码之前显示 keelOS 标志和登录地址,之后显示时钟、主机信息、CPU、内存和虚拟机列表。按键条下面的"信息屏"卡片里可以 开启、用 显示在 选它占哪个键(没有按键 = 不占),六个模板(主机概览、系统、相框、视频、天气、时钟)以实时预览排开,点一下就换上。卡片顶部可以设置信息屏的 语言(跟随系统时按时区决定)。
在主机显示器上按 ← → 或数字键 1–6 换模板(1 主机概览、2 系统、3 相框、4 视频、5 天气、6 时钟),↑ ↓ 或空格换照片(视频页上换视频);切到信息屏时底部会提示这些按键。
每个模板下面有自己的选项:
- 时钟:数字或指针;数字时可选字体(默认、等宽、七段数码)。
- 相框:间隔(滑条,5 秒到 1 小时)、过渡(淡入淡出、左右滑动、方块、无)、照片 铺满或完整显示。卡片会显示画面的输出方式:输出:显示虚拟机,按刷新翻页 时左右滑动不撕裂;未翻页 或 主机直接画 时移动的画面可能撕裂,这时方块和淡入淡出更好看。
- 天气:按当前天气渲染整屏天空并带动画(下雨、下雪、云、星星),动画 可以关掉。
- 视频:按名字顺序循环播放 视频目录… 里的视频(MP4、MKV、WebM、MOV;H.264、HEVC 含 10 位、VP9、AV1),由显示虚拟机用核显硬件解码,CPU 几乎不用;选项里可选完整显示(黑边)或铺满、是否显示时钟;暂时没有声音。视频卡片下的 播放器… 打开小播放器:选视频、拖动位置、播放/暂停、上一个/下一个;点播放、拖动或选视频会把信息屏切到视频页,屏幕切到别的页面时自动暂停,切回来时接着。放不了的视频跳过,并在屏幕上说明原因。
天气…:搜索并选择所在地区(还没选地区 时天气部件是空的),之后主机概览和相框会显示天气和未来几天的预报。预报默认来自当地国家气象机构的模式(中国为中国气象局,经 Open-Meteo),预报来源 里可以手动换一个比较。Open-Meteo 免费接口只供非商业使用,企业请在 Open-Meteo API key 里填自己的 key。
照片目录… 和 视频目录…:相框的照片默认来自相册收件箱的照片库,也可以指定数据集或目录(照片支持 JPEG、PNG、WebP;HEIC 暂不支持)。每个目录旁的"打开"用文件浏览器查看、上传、删除;还没有目录时点"新建 <池>/photos"(视频是 <池>/videos)由 keel 建一个。设了视频目录后显示虚拟机多用 512 MB 内存(会自动重启一次显示虚拟机)。只有显示虚拟机接管显示器(核显直通给它)时才能播放视频。
在同一个对话框里勾选"同时显示 Wikimedia Commons 的风景照",keel 会一次性下载约 100 张自由许可的精选风景照(约 70 MB),和本地照片一起轮播,作者和许可证显示在照片下方;不勾选就不联网。
5. 1.0 还不支持什么
- 网页的 VNC 同一时间只有一个人;要多人同时看请用 RDP 或串口控制台。
- USB 转发的 拔掉 只记录,不强制拔(§2.3);UHCI 的老系统不能转发。
- 信息屏的视频暂时没有声音。