通过窗口识别包裹?

Jo-*_*tad 5 window

我有时会在对话框或窗口中发现小错误。例如,我在声音首选项对话框中发现了一个非常小的错误。我以为我会报告它,但不清楚哪个包提供了对话框。

有没有一个简单的工具可以做到这一点?我会想象像 xwininfo 这样的东西;当您运行该命令时,鼠标指针会发生变化,当您单击一个窗口时,该命令会返回包名称。使用这样的命令,可以很容易地扩展它以收集版本信息、发行版并在右侧页面上打开错误跟踪器。

我们曾经有“帮助”>“报告问题”,但由于 Gnome 控制中心不使用菜单,因此该选项不可用。这当然适用于所有不使用菜单的窗口。所以; 有替代方案吗?

roa*_*dmr 10

打开终端(ctrl- alt- t)并键入

ubuntu-bug -w
Run Code Online (Sandbox Code Playgroud)

将弹出一条消息,指示您单击一个窗口以提交有关拥有该窗口的应用程序的错误报告。

顺便说一句,这使用了 apport,它会自动收集大量有用的调试信息,并且是报告 Ubuntu 错误的首选方式。


and*_*ing 8

上面roadmr 的答案是迄今为止最好的方法,但我想看看我是否能想出一个 bash one-liner 来报告正确的源包。它比我想象的还要混乱,因为您显然无法通过管道传输dpkgwhich

dpkg -S $(which $(xprop | grep "WM_CLASS(STRING)" | grep -o "\".*\"" | cut -d "," -f 1 | tr -d '""')) | cut -d ":" -f 1

让我们把它拆开一点。在grepcut东西只是搜索和处理字符串。有趣的事情是:

  • xprop - 让您找到有关您单击的窗口的信息。

  • which- 返回所用命令的完整路径。例子:

    $ which  gnome-control-center
    /usr/bin/gnome-control-center
    
    Run Code Online (Sandbox Code Playgroud)
  • dpkg -S- 给定一个文件,提供它来自的源包的名称。当二进制名称和源包名称不同时非常有用。例子:

    $ dpkg -S /usr/bin/orca
    gnome-orca: /usr/bin/orca
    
    Run Code Online (Sandbox Code Playgroud)