Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.26. 将密钥组合发送到指定的虚拟客户机虚拟机

通过 virsh send-key domain --codeset -- 保持time keycode 命令,您可以将序列作为密钥代码发送到特定的 guest 虚拟机。每个 键码 可以是数字值,也可以是以下对应代码集的符号链接名称。
如果指定了 -- keeptime,则会为每个按键数以毫秒为单位进行。借助 --codeset,您可以指定代码集,默认为 Linux,但允许以下选项:
  • Linux - 选择这个选项可使符号链接名称与对应的 Linux 键恒定宏名称匹配,而数字值则是由 Linux 通用输入事件子系统提供的。
  • XT - 这将发送 XT 键盘控制器定义的值。不提供符号链接名称
  • atset1 - 数字值是指 AT 键盘控制器 set1(兼容 XT 兼容集)定义的。与 atset1 的扩展密钥码可能与 XT codeset 中的扩展密钥码不同。不提供符号名。
  • atset2 - 数字值由 AT 键盘控制器定义,设置 2。不提供符号名。
  • atset3 - 数字值由 AT 键盘控制器定义,设置 3(兼容PS/2)。不提供符号名。
  • os_x - 数字值由 OS-X 键盘输入子系统定义。符号链接名称与相应的 OS-X 密钥恒定宏名匹配。
  • xt_kbd - 数字值由 Linux KBD 设备定义。这些是原始 XT 代码集的一个变体,但通常使用不同的编码器。不提供符号名。
  • win32 - 数字值由 Win32 键盘输入子系统定义。符号链接名称与对应的 Win32 密钥恒定宏名匹配。
  • USB - 用于键盘输入的 USB HID 规范定义数字值。不提供符号名。
  • rfb - 用于发送原始密钥码的 RFB 扩展定义的值。这些是 XT 代码集的一个变体,但扩展密钥码的低位是第二个位,而不是第一个字节的高位。不提供符号名。

例 20.53. 如何将按键组合发送到客户机虚拟机

以下示例将 Linux 编码中的 Left Ctrl、LeftAltDelete 发送到 guest1 虚拟机,并将它们容纳 1 秒。这些密钥都同时发送,可能由客户机以随机顺序接收:
# virsh send-key guest1 --codeset Linux --holdtime 1000 KEY_LEFTCTRL KEY_LEFTALT KEY_DELETE
注意
如果指定了多个 密钥码,它们都同时发送到客户机虚拟机,因此可能以随机顺序接收。如果需要不同的密钥码,则必须多次运行 virsh send-key 命令,以便获得要发送序列的顺序。