Evince PDF viewer: как автоматически сбросить настройки принтера при выходе?

Я использую средство просмотра документов по умолчанию Evince (версия 3.14.2-0ubuntu2 для Ubuntu 15.04 Vivid) для открытия моих PDF-файлов.

Если я распечатаю документ, щелкнув Файл -> Печать ... и изменив любые настройки, например. выберите для печати нескольких страниц на одном листе бумаги на вкладке «Параметры страницы» окна «Печать», этот параметр остается постоянным. Даже после закрытия программы и открытия ее позже или после перезагрузки.

Но это не то поведение, которое я хочу. Иногда я печатаю документ с 2 страницами на листе, но я хочу, чтобы размер по умолчанию был установлен по умолчанию.

Хорошо, если он сохраняет настройки для одного открытого документа, пока окно не будет закрыто, но оно должно восстановить стандартное поведение, когда Я выхожу из Evince!

Как я могу это достичь? Существуют ли какие-либо параметры конфигурации внутри Evince, которые могут вызвать это, возможно, доступны только через gconf / dconf? Или это можно сделать с помощью внешнего скрипта?

1
задан 29 September 2015 в 19:08

1 ответ

Evince сохраняет настройки своего принтера в ~/.config/evince/print-settings. Чтобы восстановить настройку по умолчанию каждый раз, когда мы начинаем показывать, мы можем просто адаптировать настройки принтера к нашим потребностям и дать возможность отобразить предварительный просмотр, чтобы сохранить эти настройки.

Теперь мы можем скопировать настройки принтера в файл по умолчанию, например.

cp ~/.config/evince/print-settings ~/.config/evince/print-settings-default

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

Это можно сделать, вызвав скрипт, как показано ниже:

#! /bin/bash

cp ${HOME}/.config/evince/print-settings-default ${HOME}/.config/evince/print-settings
evince "$*"

из пользовательского файла evince.desktop мы сохраняем в ~/.local/share/applications, чтобы переопределить файл evince.desktop по умолчанию в /usr/share/application (мы можем использовать его в качестве шаблона только для изменения строки Exec, указывающей на наш скрипт выше).

Таким образом, мы могли бы также создать сценарий с разными настройками принтера для разных задач, которые затем можно вызвать с помощью настраиваемого файла .desktop.

1
ответ дан 23 May 2018 в 17:05
  • 1
    В сценарии оболочки я написал evince $@ вместо plain evince, потому что без пересылки аргументов evince просто покажет пустое окно, если вы хотите открыть с ним документ (например, из Firefox). Важно также то, что после выполнения скрипта не следует оставить параметр %U в новом файле evince.desktop. Может быть, вы хотите отредактировать это? – Byte Commander 30 September 2015 в 18:36
  • 2
    Я знаю, но мне не нравится делать большие изменения в сообщениях других, особенно когда дело доходит до изменения кода. Поэтому я предпочитаю спрашивать и спрашивать, когда кто-то делает это со мной. Редактирование не всегда отображается в уведомлениях, поэтому я не могу быть уверен, что смогу проверить их все. – Byte Commander 30 September 2015 в 22:08
  • 3
    Я нашел ошибку. В скрипте он должен быть evince "$*" вместо `evince $ @ & quot ;, потому что иначе он сломается, если имя файла содержит пробелы. Я отредактировал ваш ответ, чтобы исправить его. – Byte Commander 5 October 2015 в 10:42
  • 4
    @terdon Посмотрите, насколько мы были глупы. Сквозь скрипты, в то время как оптимальное решение - это всего лишь одна команда! & GT;. & Л; См. Другой ответ, пожалуйста. – Byte Commander 27 October 2015 в 12:42
  • 5
    Сценарии @ByteCommander могут быть более универсальными, поскольку мы можем определять разные параметры для разных задач, и мы можем поддерживать пользовательские настройки по умолчанию. Но верно, если только для всегда сброса на один стандартный r / o достаточно. – Takkat 27 October 2015 в 13:25

Другие вопросы по тегам:

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