ターミナルから実行すると、Evinceの警告が大量に表示されます。例えば。
(evince:4599): GVFS-WARNING **: can't init metadata tree /home/nivaca/.local/share/gvfs-metadata/home: open: Permission denied
(evince:4599): GVFS-WARNING **: can't init metadata tree /home/nivaca/.local/share/gvfs-metadata/home: open: Permission denied
** (evince:4599): WARNING **: Error setting file metadata: can't open metadata tree
(evince:5001): Gtk-CRITICAL **: gtk_widget_show: assertion 'GTK_IS_WIDGET (widget)' failed
私はこの問題を解決する方法をどこでも検索しましたが、それを行うことができませんでした。
したがって、私が今欲しいのはsilenceこれらの警告です。ターミナルの他のプロセスで実際に何が起こっているのかを知ることができないからです。
これを行う方法はありますか?
私は必ずしもこの行動方針を推奨するわけではありませんが、次のようなものを置くことができます。
alias evince='evince 2>/dev/null'
これにより、すべての標準エラーが証拠から削除されます。それらを見るというちょっとした煩わしさは、一度の証拠が実際に失敗して理由を教えてくれないよりはましだと思いますが、それはオプションです。
Bashを使用すると、次のようなもっと凝ったことをすることもできます。
alias evince='evince 2> >( grep -v "evince.*WARNING" >&2 )'
標準エラーから特定の行を除外します。これはより安全かもしれませんが、私は必ずしもそれを承認しているわけではありません。