2

Хорошо, эту проблему довольно сложно понять без контекста:

Когда мы запускаем Evince, он проверяет, запущен ли другой экземпляр.

  • Если он есть, команда evince завершается немедленно, сразу после передачи параметра в работающий экземпляр

  • Если другой экземпляр не запущен, будет запущен новый, и команда evince будет ожидать выхода из этого нового экземпляра.

Хотя такое поведение довольно приятно, оно не полезно для сценариев оболочки. Зачем? Потому что у меня есть скрипт, который записывает временный файл .ps , вызывает программу просмотра PS/PDF и автоматически удаляет временный файл .ps после выхода из программы просмотра. К сожалению, этот сценарий работает только в том случае, если evince ранее не запускался (если evince выполнялся, файл удаляется слишком быстро).

Я не хочу добавлять дополнительную сложность к этому сценарию. Это должно быть простым, потому что я могу заменить evince на xpdf, gv или что-то еще.

Я ожидал появления какого-то параметра командной строки (аналогично -f для vim и gvim), но боюсь, что такой опции нет. Написание сценария-обертки вокруг evince может быть хорошим решением, но этот сценарий должен работать правильно во всех случаях (если evince был запущен, а если нет).

Есть идеи? (Я знаю ... это довольно сложно)

1 ответ1

0

Кажется, что предыдущие версии Evince (до 2.28) имели поведение, которое я описал в своем вопросе. К счастью, версия 2.30 изменила это поведение на то, что я хотел.

Ответ таков: обновите Evince до версии 2.30 или новее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .