アプリケーションで生成されたメッセージが端末ウィンドウに送信されるのを防ぐにはどうすればよいですか? [コピー]

アプリケーションで生成されたメッセージが端末ウィンドウに送信されるのを防ぐにはどうすればよいですか? [コピー]

gnome や kde などの Windows システム関連端末でアプリケーションを起動すると、通常、これらのアプリケーションは私の端末にあらゆる種類のジャンク メッセージを送信します。このアプリを閉じるにはどうすればよいですか?

たとえば、次のように入力すると:

 okular somepdf.pdf & 

PDFファイルを表示するウィンドウが表示されたら、端末の横からPDFを読み、完了したら閉じることができます。

典型的な例は次のとおりです。

:~$ cd Documents
:~/Documents$ okular equi.dvi &
[1] 5823

閉じると、次のゴミが端末に送られます。

:~/Documents$ okular(5823)/kdeui (kdelibs) KXMLGUIClient::~KXMLGUIClient: 0x2322528 deleted without having been removed from the factory first. This will leak standalone popupmenus and could lead to crashes. 
d

d: command not found
[1]+  Done                    okular equi.dvi
[1]+  Done                    okular equi.dvi
:~/Documents$ 

私が見たい唯一のことは:

:~$ cd Documents
:~/Documents$ okular equi.dvi &
:~/Documents$

たぶん、メッセージはバグかもしれません。私は気にしませんし、それについて知りたくありません。

これらのメッセージを表示しない可能性がありますか?

一部の人々はこの質問を「出力を抑制する方法」の質問と重複しているとマークしましたが、これは私が望むものの一部にすぎません。

欲しい自動的に特定のアプリケーションのすべての出力を抑制します。たとえば、okularはグラフィックアプリケーションなので、私の端末で何を言っているのか全く気にしません。

上記のように、私は行動が次のようになりたいです。

:~$ cd Documents
:~/Documents$ okular equi.dvi &
:~/Documents$

そしていいえそれはまるで

:~$ cd Documents
:~/Documents$ okular equi.dvi > whatever &
:~/Documents$

ベストアンサー1

STDOUTを抑制するには:

yourcommand  1>/dev/null 

STDERRの抑制

yourcommand  2>/dev/null

Bash 4からは、次の両方を抑制できます。

yourcommand &>/dev/null

kdedebugdialogツールを使用してKDEのデバッグ情報を無効にし、選択したモジュール(またはすべてのデバッグ出力)の出力を無効にすることもできます。

おすすめ記事