web-dev-qa-db-ja.com

apportのローカル調査のデバッグシンボルをインストールするためのターミナルを存続させる方法は?

apportを使用すると、クラッシュをローカルで調査し、gdbセッションを開始するか、バックトレースを取得するか、そのローカル調査にデバッグシンボルをインストールできます。後者を選択すると、gnome-terminalが表示され、aptソースの更新と-dbgパッケージのインストールの進行状況が監視されます。 apt-getプロセスが終了またはクラッシュした場合に、そのターミナルウィンドウが消えないようにするにはどうすればよいですか?

このソリューションでは、インストールの開始後に端末との対話はまったく必要ありません。

これは、apport自体の障害をデバッグするために重要です。現在、ターミナルは目立ったエラーなしに消え、バックトレースの作成が完了しなかったパッケージまたはapport自体のクラッシュ(apportの無限ループの開始(自身のクラッシュの検出))のapportダイアログが開きます。

注:これは、apportによって開かれたgnome-terminalが消える特定の問題に関するものではありません。つまり、apt-getがセグメンテーション違反を起こしたり、dpkgサブルーチンが!= 0、..を返したりしてもかまいません。

4
Karl Richter

存在しないようで、厄介な回避策を理解する必要はありません。開発者のフィードバックを得るために 機能リクエスト/バグ1442159 を開きました。

2
Karl Richter

https://wiki.ubuntu.com/Apport/DeveloperHowTo#Custom_Invocation で説明されているように、apportはインタラクティブなフィードバックをサポートしているため、必要なのは、

はい/いいえ質問擬似コード

def add_info(report、ui):

close_terminal = False

if ui and ui.yesno('Close Terminal?') == True:
    close_terminal = True

if close_terminal == True:
    # user wants terminal to close

注:私は開発者ではないので、火に足を踏み入れないでください。しかし、論理的には、これは開発者がそれほど困難なくできることのように思えます。

1
Elder Geek