從終端運行它時,我收到大量 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
我已經到處搜尋如何解決這個問題,但我一直沒能做到。
因此,我現在想要的是安靜這些警告,因為它們使我無法看到終端中其他進程的實際情況。
有什麼辦法可以做到這一點嗎?
答案1
我不一定推薦這種做法,但你可以這樣寫:
alias evince='evince 2>/dev/null'
這將從證據中刪除所有標準錯誤。我認為看到它們的小煩惱比一次性的證據實際上會失敗並且不會告訴你原因要好,但這是一種選擇。
如果您使用 bash,您還可以做一些更奇特的事情,例如:
alias evince='evince 2> >( grep -v "evince.*WARNING" >&2 )'
從標準錯誤中過濾掉特定行。這可能更安全,但我不一定贊同它。