You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于在Windows主机与AWS Workspaces(Ubuntu 22.04)中同时记录按键以诊断通信异常的技术咨询

在Windows主机与AWS Workspaces(Ubuntu 22.04)中同时记录按键以诊断通信异常的技术方案

听起来这个按键丢失的问题确实挺闹心的,尤其是作为程序员常用的括号键出问题。你的思路完全没问题——同时在Windows主机和Ubuntu Workspace上记录按键,就能明确是哪一端没收到按键信号。下面给你推荐靠谱的工具和具体操作步骤:

Windows 端按键记录工具及使用方法

  • AutoHotkey(轻量灵活,免费开源)
    这是个老牌工具,不仅能做按键记录,还能自定义快捷键,完全满足你的需求:

    1. 下载安装AutoHotkey后,新建一个文本文件,把后缀改成.ahk
    2. 粘贴以下脚本到文件中:
      #Persistent
      FileAppend, %A_Now% - 按键记录开始`n, KeyLog.txt
      SetTimer, LogKeys, 10
      return
      
      LogKeys:
      Loop, 255
      {
          if GetKeyState(A_LoopKey, "P")
          {
              Key := GetKeyName(A_LoopKey)
              if (Key = "LButton" || Key = "RButton" || Key = "MButton")
                  continue  ; 跳过鼠标按键,只记录键盘
              FileAppend, %A_Now% - %Key%`n, KeyLog.txt
              while GetKeyState(A_LoopKey, "P")  ; 避免重复记录长按的按键
                  Sleep, 50
          }
      }
      return
      
    3. 双击运行脚本,它会在后台静默运行,同时在脚本所在目录生成KeyLog.txt,记录所有按键和时间戳
    4. 测试完有问题的按键后,右键托盘里的AutoHotkey图标退出,查看日志即可
  • PowerShell 脚本(无需额外安装)
    如果你不想装软件,用系统自带的PowerShell也能实现简单记录:

    1. 打开PowerShell,运行以下命令(会在当前目录生成KeyLogPS.txt):
      $logFile = "KeyLogPS.txt"
      Write-Output "$(Get-Date) - 按键记录开始" | Out-File $logFile -Append
      while ($true) {
          $key = [Console]::ReadKey($true)
          Write-Output "$(Get-Date) - $($key.KeyChar)" | Out-File $logFile -Append
      }
      

    注意:这个脚本只能记录可打印字符,对功能键支持有限,但对你要测试的括号键完全够用。按Ctrl+C停止记录。

Ubuntu 22.04 端按键记录工具及使用方法

  • xinput(系统自带,无需安装)
    Ubuntu默认自带的xinput可以直接监听键盘输入事件,非常适合诊断:

    1. 打开终端,先运行xinput list,找到你的键盘设备名称(比如AT Translated Set 2 keyboard)
    2. 记住设备对应的ID(比如12),然后运行命令开始记录:
      xinput test <设备ID> | tee ubuntu-keylog.txt
      
      替换<设备ID>为你找到的数字,这个命令会把按键事件实时输出到终端,同时保存到ubuntu-keylog.txt文件里
    3. 测试完按键后,按Ctrl+C停止记录,查看日志对比即可
  • evtest(更底层的输入事件记录)
    如果xinput的信息不够详细,可以用更底层的evtest:

    1. 先安装工具:sudo apt install evtest
    2. 运行evtest,输入对应编号选择你的键盘设备
    3. 它会记录所有底层输入事件(包括按键按下/释放的状态),测试完按Ctrl+C停止,也可以把日志重定向到文件:evtest /dev/input/eventX > ubuntu-evtest-log.txt(替换eventX为你的设备路径)

诊断步骤建议

  1. 同时启动Windows和Ubuntu的按键记录工具
  2. 连续按下几次(和)键,故意触发你遇到的丢失问题
  3. 停止两个工具,对比两边的日志:
    • 如果Windows日志里有记录,Ubuntu日志里没有,说明问题出在AWS Workspaces客户端或者WSP协议传输上
    • 如果两边日志都有记录,那可能是Ubuntu系统里的某个应用没捕获到按键(不过你说只在Workspace里有问题,这种概率较低)

另外,建议再确认一下Windows和Ubuntu的键盘布局是否完全一致(都设为US QWERTY),有时候布局不匹配也会导致奇怪的按键映射问题。

备注:内容来源于stack exchange,提问作者Steve Lorimer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:58:10