通过窗口识别包裹?

通过窗口识别包裹?

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

有没有简单的工具可以做到这一点?我想像一下 xwininfo 之类的东西;运行命令后,鼠标指针会发生变化,单击窗口时,命令会返回软件包名称。使用这样的命令,可以轻松扩展它以收集版本信息、发行版并在正确的页面上打开错误跟踪器。

我们以前有“帮助”>“报告问题”,但由于 Gnome 控制中心不使用菜单,因此该选项不可用。当然,对于所有不使用菜单的窗口都是如此。那么,还有其他选择吗?

答案1

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

ubuntu-bug -w

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

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

答案2

roadmr 的上述回答是目前为止最好的方法,但我想看看我是否可以想出一个 bash 单行程序来报告正确的源包。它比我想象的还要混乱,因为你显然无法通过管道传输到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
    
  • dpkg -S- 给定一个文件,提供其来源包的名称。当二进制名称和源包名称不同时非常有用。示例:

    $ dpkg -S /usr/bin/orca
    gnome-orca: /usr/bin/orca
    

相关内容