Файлы PDF должны быть доступны для поиска; любому просмотрщику PDF придется сначала просмотреть трейлер, а оттуда перейти к смещениям из таблицы внешних ссылок.
Поскольку поиск по каналам невозможен, zathura
использует запутывающий трюк, копируя все входные данные во временный файл, а затем используя этот временный файл, как обычно. Такой «хитрый» трюк порождает ложные надежды и заставляет людей предполагать, что pdf-файлы доступны для потоковой передачи.
Но в любом случае, zathura
действительно ждет EOF перед отображением документа, вам не нужно ничего делать для этого:
(sleep 10; cat file.pdf) | zathura -
# will really show the content of file.pdf after 10 seconds
Проблема в том, что zathura
нет возможности открыть окно только в том случае, если файл в порядке, и выйти с ошибкой, если это не так --он просто останется там, как будто все в порядке:
$ dd if=file.pdf bs=50000 count=1 status=none | zathura -
error: could not open document # its window still hanging around showing nothing
$ echo $?
0 # really?
Таким образом, даже если вы сами перенаправляете вывод во временный файл и запускаете только zathura
, если все в порядке, нет гарантии, что пользователь не увидит черное окно, если zathura
не работает. t нравится вывод по той или иной причине.
Кстати,
man -X man
отобразит справочную страницу в окне X11 с gxditview
, даже если она выглядит прямо из 70-х;-)
И, конечно же, вы всегда можете использовать:
... | xargs xterm -e man
, который, помимо многих других улучшений, позволит вам использовать регулярные выражения при поиске и правильном выделении текста.
Я ковырялся и вот что нашел:
Xnest
. Я понял, что это как-то связано с тем, что Google Chrome считает, что у меня дисплей с высоким разрешением, хотя это не так.
К счастью, я нашел вариант --force-device-scale-factor=1
, который сразу решил проблему.