如何报告错误?

我在Ubuntu上发现了一个应用程序的问题。
问题:
- 我应该如何最好地报告这个问题? - 我应该提供什么样的信息?

报告错误的链接:https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect - Nav
7个回答

Ubuntu Wiki有一份非常详细的指南,图文并茂,涵盖了许多可能的情况。

该页面的要点是,您首先需要一个Launchpad账户,然后按下Alt+F2,输入ubuntu-bug packagename。在11.04及更高版本中,您可以输入ubuntu-bug -w并点击受影响的窗口。

该Wiki页面还介绍了以下方法:

  • 针对正在运行的程序提交错误报告
  • 针对没有特定软件包的错误报告(以及如何决定使用哪个软件包)
  • 以及来自无网络访问的计算机的错误报告。

还有一个快速教程视频可以更好地解释。

此网站还提供了关于如何收集错误报告信息的更多信息:


3能否为了用户的便利性添加更多详细信息,包括示例命令? - nanofarad
当错误不可见时怎么办? 我唯一拥有的是一个 dmesg。我的 Ubuntu 18.04 无法进入睡眠状态。当我手动让它进入睡眠状态时,它会自动开启,并且如我所说,我只有一个 dmesg。我们该如何报告这个错误? - Pavlos Theodorou
当软件包来自snap时,不能使用launchpad,您需要发送电子邮件至snaps@canonical.com。例如:ubuntu-bug kubeadm - momo2047

最通用且全面的指南可以在这个由社区维护的帮助页面找到。本答案基本上整合了该页面的内容,因此建议您阅读并且如果您正在寻找错误,那么必须阅读它。

简短版本:

  • 知道有问题的软件包?在终端中输入ubuntu-bug <软件包名称>
  • 面前有一个有问题的窗口?在终端中输入ubuntu-bug -w,然后点击窗口。
  • 知道进程ID(pid)?在终端中输入ubuntu-bug <pid>
    您也可以使用运行对话框(Alt+F2)代替终端。

详细版本:

第一步:准备工作

这对于不给予帮助解决bug的志愿者Bug Squad来说非常重要。如果您发现了一个已存在的bug,您可以回答“这个bug是否影响您”的问题,并添加任何额外的信息作为评论。

第二步:确定出错的软件包

如果您知道哪个软件包有问题,您可以运行ubuntu-bug <软件包名称>来启动错误报告流程。现在您可以继续下一步。
这里提供了找到正确软件包的详细说明 如果这些详细说明没有帮助,您还有一个最后的选择。

作为最后的选择:

您可以在终端或运行窗口中输入ubuntu-bug,然后回答几个问题以收集有关错误的一些信息。

如果其他方法都失败了,您无法确定正确的软件包,您可以在IRC频道寻求帮助,或者直接报告一个与特定软件包无关的错误。请注意,这会给我们的志愿者小组增加额外的工作量,请仅在万不得已时使用。还请注意,这可能会延迟解决您的错误的过程,这是另一个原因,您应该尽力找到正确的软件包。

您可以通过点击这里来对任何特定软件包之外的问题进行报告。

第三步:提交错误报告

(为了完整起见,以下内容引用自ReportingBugs。)

在执行以上任何命令后,Apport(Ubuntu错误报告工具)将收集必要的数据。然后会弹出一个窗口,询问您是否要报告此错误。如果您希望继续,请点击“发送报告”,如果您想查看Apport收集的信息,请点击“报告内容”。

apport-problem-report

Apport将会把问题信息上传到Launchpad,并且一个新的浏览器窗口会打开,告诉您bug报告正在处理中。在bug报告数据处理完毕后,会打开一个新页面,要求您填写bug报告的标题。这个标题将会出现在所有的bug列表中,请确保它能够准确地代表这个bug。完成后,点击“下一步”。接下来,将根据您给出的bug报告标题进行搜索,并显示可能相似的bug。如果其中一个看起来就是您要报告的确切bug,请点击它的标题,然后点击“是的,这就是我要报告的bug”。如果不是,请点击“不,我需要报告一个新的bug”。然后,Launchpad会要求您提供更多信息。重要的是,您需要明确以下三点: - 您期望发生什么 - 实际上发生了什么 - 如果可能的话,请提供一系列最小化的步骤来重现问题,其中第一步是“启动程序”
请尽量在描述字段中提供尽可能多的信息,描述中有过多的信息总比不足好。
页面底部还有一些额外选项,可以使您的bug报告更加完整: - 这个bug是一个安全漏洞:只有当您的bug报告描述了一个可能被利用来破解系统的行为时,请勾选此项。(TODO:更好的措辞?) - 标签:您可以在这里添加与您的bug报告相关的标签。预定义的值应该保持不变。 - 包含附件:使用此选项,您可以添加支持性附件来解释或帮助其他人重现这个bug。这可能包括屏幕截图、问题的视频录制或触发故障的示例文档。如果需要,可以在报告bug后通过在页面底部添加评论/附件来添加额外的附件。
当你完成后,点击“提交错误报告”。
如果您需要在离线状态下收集数据,可以使用apport-cli。关于此功能的详细说明以及许多其他提示,请参阅ReportingBugs


如果你遇到X错误(图形子系统),X调试页面非常有用: 通常执行ubuntu-bug xorg会获取所有正确的信息到Launchpad。Bryce补充道:

是的,绝对是一个好建议。但也确保实际上描述了问题。在提交X错误报告时最常见的错误是没有完全描述发生了什么。不要假设仅凭日志就能讲述全部故事-要详细。


如果您知道具体的应用程序(尤其是软件包名称),我建议您使用终端中的ubuntu-bug命令。 ubuntu-bug packagename将收集一些自动化信息并直接跳转到launchpad报告错误页面,您可以在此描述问题。
现在也是搜索潜在重复项的好时机,如果找到,请点击“我也受影响”的按钮。
这个帮助页面有更多有用的信息:ReportingBugs - Community Ubuntu Documentation

这就像访问Launchpad并填写那里的2或3个字段一样简单。命令行不是唯一的方式。
或者,您可以使用这个(将URL中的PACKAGENAME替换为软件包名称。例如:unity,gnome-shell等):
http://bugs.launchpad.net/ubuntu/+source/PACKAGENAME/+filebug?no-redirect

Ubuntu文档中提到了。

1如果你按照这种方法操作,并且决定以与“ubuntu-bug”方法相同的方式添加文件,你只需输入“apport-collect REPORTNUMBER”,其中REPORTNUMBER是错误报告的编号,该编号将在你提交的错误报告的URL中找到。 - v010dya
虽然可能并不是通常报告错误的理想方式,但这种方法在某些情况下非常有用,比如出现阻止使用Apport的情况 - Eliah Kagan

要向Debian报告错误,请使用reportbug。打开终端并输入:
$ reportbug

默认情况下未安装。使用sudo apt install reportbug进行安装。

现在您可以报告错误:

$ reportbug
Please enter the name of the package in which you have found a problem.
> packagename
*** Welcome to reportbug.  Use ? for help at prompts. ***
Detected character set: UTF-8
Please change your locale if this is incorrect.

reportbug package 用于报告Debian中的错误,而不是Ubuntu。Ubuntu使用apport - Nathaniel M. Beaver
apt show reportbug中翻译的文本:reportbug是一个旨在使在Debian和派生发行版中报告错误相对轻松的工具。然而,这将向Debian开发人员报告错误。 - Pablo Bianchi