web-dev-qa-db-ja.com

ケイトは、起動元のコンソールにデバッグメッセージを表示します

Linuxは初めてです。私はUbuntu11.04を使用しています。コマンドラインからkateを使用して、「kate&」を使用して(またはアンパサンドを使用せずに)ファイルを開くと、Kateはコンソールにメッセージを表示し始めます。ファイルを保存したり閉じたりすると、継続的に出力されます。それらは私にはデバッグメッセージのように見えます(以下のサンプル)。 Synapticパッケージマネージャーを使用してKateをインストールしました。開発バージョンをアンインストールしてインストールしても、変更はありませんでした。すぐに私のコンソールは雑然とします。これらのメッセージを抑制する方法はありますか?ケイトの設定にも明確なものはありませんでした。

ありがとうございました、

メッセージは次のようになります

kate(13412)/kate-filetree KateFileTreeModel::handleInsert: BEGIN!
kate(13412)/kate-filetree KateFileTreeModel::handleInsert: creating a new root
kate(13412)/kate-filetree ProxyItem::ProxyItem: ProxyItem(0x1796840,0x0,-1,QObject(0x0)
....
kate(13435)/kate-filetree KateFileTreeModel::documentActivated: adding viewHistory ProxyItem(0x1eb7cf0,0x1eb6830,0,KateDocument(0x1d93ea0) , "Untitled" )
kate(13435)/kate-filetree KateFileTreeModel::updateBackgrounds: BEGIN!
kate(13435)/kate-filetree KateFileTreeModel::updateBackgrounds: END!
kate(13435)/kate-filetree KateFileTreeModel::documentActivated: END!
kate(13435)/kate-filetree KateFileTreePluginView::viewChanged: END!
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x5601b42
X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 20 (X_GetProperty)
  Resource id:  0x5601b42
6
Elan

KDEフォーラムのこの投稿では、KDEが何をしているのか、そしてそれを止める方法について説明しています。

http://forum.kde.org/viewtopic.php?f=22&t=93955

デバッグメッセージを無効にしなかったためです。

「kdebugdialog」を開き、「kate」を検索して、すべてのチェックボックスの選択を解除します。これで、ケイトはもうあなたと話をしません。

12
Austin

デバッグメッセージは通常、コンソールで2で示されるファイルハンドルである標準エラーに書き込まれます。このようにアプリケーションを起動することで、出力に影響を与えることなく、標準出力(ファイルハンドル1)にリダイレクトできます。

kate 2>/dev/null

必要に応じて、&を追加することもできます。

ここでの番号2はファイルハンドル2を表し、>はシェルのリダイレクト演算子であり、/dev/nullは「ブラックホール」デバイスです。書き込まれたものをすべて消費するため、「消えます」 "(コンソールには表示されません)。

/dev/nullをファイル名に置き換えることで、標準エラー出力をキャプチャできます。その場合、出力はコンソールではなくファイルに送られます。

アプリケーションがデバッグメッセージを標準出力に書き込んでいる場合は、番号2を番号1に置き換えることができます(上記を参照)。この場合、通常のメッセージもリダイレクトされることに注意してください。

標準出力とエラーの両方を同時にリダイレクトできます。これを行う最も簡単な方法は次のとおりです。

kate 2>&1 1>/dev/null

ここで、&1は、標準エラーをリダイレクトする必要があるファイルハンドル1を示します。 &の使用は、1という名前のファイルと区別することです。

リダイレクトの詳細については、シェルのマニュアルをお読みください(例: bash

1
Attila

すべてのデバッグスタイルをオフにすると、コンテキストエラーが発生しました。これは煩わしいことです。それで私は別のトリックに頼りました(アッティラによって部分的に説明されました:

Kate実行可能ファイルを移動し、スクリプトに置き換えます。

cd /usr/bin
Sudo mv kate kate_exec
Sudo touch kate
Sudo chmod 755 kate
Sudo vim kate

In vim(またはこれまでのエディター)はkate(現在はスクリプト)をに変更します

kate_exec $@ 2> /dev/null &

最後に&は必要ありません。これは私の好みなので、端末に入力し続けることができます。Attilaはそのほとんどを説明し続けます。ここで重要なのは、すべてのパラメーターをkate実行可能$@に渡し、stderr 2> /dev/nullをリダイレクトすることです。

0
code_fodder