Предупреждения Silence Evince в Ubuntu

1850
NVaughan

Я получаю множество предупреждений 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 

Я искал везде, как решить эту проблему, но я не смог этого сделать.

Таким образом, сейчас я хочу заставить эти предупреждения замолчать, поскольку они не могут мне увидеть, что на самом деле происходит с моими другими процессами в терминале.

Есть какой-либо способ сделать это?

3
Похоже, что пользователю, от имени которого запускается evince, не разрешено создавать файлы в каталоге .local / .... Попробуйте изменить разрешения на 777 для /home/nivaca/.local/share/gvfs-metadata и посмотрите, что это меняет. , `каталог chmod -R 777 ...` MariusMatutiae 8 лет назад 1
Благодарю. Это прояснило первые три предупреждения, но не последнее. NVaughan 8 лет назад 0
Вы имеете в виду Gtk-Critical? MariusMatutiae 8 лет назад 0
Да, тот ... NVaughan 8 лет назад 0
Вы должны прочитать этот вопрос, http://unix.stackexchange.com/questions/230238/starting-x-applications-from-the-terminal-and-the-warnings-that-follow и особенно принятый ответ. MariusMatutiae 8 лет назад 0
Благодарю. Я добавил "export NO_AT_BRIDGE = 1" в `\ etc \ environment`, но предупреждения продолжают появляться. NVaughan 8 лет назад 0
Не то, что я имел в виду. Парень говорит, что критическая ошибка GTk не имеет значения, и вы можете оставить это в покое. MariusMatutiae 8 лет назад 0
Да я знаю не критично. Но в моем рабочем процессе эти сообщения раздражают: я LaTeXing, и эти предупреждения прокручивают сообщения, которые имеют значение. NVaughan 8 лет назад 0

1 ответ на вопрос

1
Erik

Я не обязательно рекомендую этот курс действий, но вы могли бы поставить что-то вроде:

alias evince='evince 2>/dev/null' 

который удалит все стандартные ошибки из evince. Я думаю, что незначительное раздражение от их наблюдения лучше, чем одноразовое проявление, на самом деле потерпит неудачу и не скажет вам, почему, но это вариант.

Вы также можете сделать что-нибудь более изумительное, если используете bash, например:

alias evince='evince 2> >( grep -v "evince.*WARNING" >&2 )' 

отфильтровать конкретные строки от стандартной ошибки. Это может быть более безопасно, но я не обязательно одобряю это.

Похожие вопросы