Вопрос или проблема
В Ubuntu, как мне изменить файл ppd? Я выбрал драйвер, который не полностью соответствует моей модели принтера, и пытался внести в него некоторые изменения.
Файл находится по адресу /var/snap/cups/common/etc/cups/ppd/myoki.ppd
.
Но без перезапуска что-либо не работает, изменения не действуют. Когда я пытаюсь открыть диалог печати из приложения, изменения не видны.
После некоторого времени я нашел следующие команды полезными для перезапуска cups:
sudo systemctl stop cups
sudo systemctl stop cups-browsed
sudo killall cupsd cups-proxyd
sudo systemctl start cups
sudo systemctl start cups-browsed
Но после перезапуска мой файл ppd возвращается к состоянию до моего изменения! Что мне нужно сделать, чтобы мои изменения были замечены в cups?
Выполнение sudo chattr +i /var/snap/cups/common/etc/cups/ppd/myoki.ppd
сделает файл неизменяемым, так что его нельзя будет автоматически вернуть к настройкам по умолчанию. Если вам нужно внести дополнительные изменения, выполните sudo chattr -i /var/snap/cups/common/etc/cups/ppd/myoki.ppd
, чтобы сделать его редактируемым снова, и после редактирования повторите первую команду. Хорошего пользования!
Ответ или решение
Вопрос изменения PPD-файла в Ubuntu, особенно в контексте использования Snap для CUPS (Common UNIX Printing System), представляет собой довольно тонкую задачу. Для начала, важно понимать, что PPD (PostScript Printer Description) файлы содержат информацию о драйверах принтеров и специфические настройки для каждого устройства. Если вы выбрали драйвер, который не идеально соответствует вашей модели принтера, существует возможность внесения изменений и адаптации этого файла под ваши нужды.
Шаги для изменения PPD-файла в Snap CUPS
-
Определение местоположения PPD-файла
Как вы уже упомянули, ваш PPD-файл находится по следующему пути:/var/snap/cups/common/etc/cups/ppd/myoki.ppd
-
Внесение изменений в PPD-файл
Для редактирования PPD-файла выполните следующую команду с правами суперпользователя:sudo nano /var/snap/cups/common/etc/cups/ppd/myoki.ppd
Сделайте необходимые изменения, и сохраните файл, нажав
CTRL + O
, затемEnter
, и выйдите из редактора, нажавCTRL + X
. -
Проблема с откатом изменений
После внесения изменений и перезапуска CUPS вы заметили, что PPD-файл восстанавливается до предыдущей версии. Это связано с тем, что Snap-пакеты могут поддерживать механизм автоматического восстановления конфигурации. Для решения данной проблемы выполните следующие действия:- Сделать файл неизменяемым: Используйте команду
chattr
, чтобы сделать ваш PPD-файл неизменяемым и предотвратить его автоматическое восстановление:sudo chattr +i /var/snap/cups/common/etc/cups/ppd/myoki.ppd
- Если вам потребуется снова редактировать файл, сначала уберите атрибут
i
:sudo chattr -i /var/snap/cups/common/etc/cups/ppd/myoki.ppd
- Сделать файл неизменяемым: Используйте команду
-
Перезапуск CUPS для применения изменений
Чтобы изменения вступили в силу, необходимо перезапустить сервисы CUPS. Ваши команды для перезапуска корректны, и их можно использовать следующим образом:sudo systemctl stop cups sudo systemctl stop cups-browsed sudo killall cupsd cups-proxyd sudo systemctl start cups sudo systemctl start cups-browsed
Заключение
После выполнения всех шагов, ваш PPD-файл должен правильно обновляться с внесёнными изменениями. Использование команды chattr +i
предоставляет дополнительный уровень защиты от нежелательных изменений, что зачастую необходимо при работе со Snap-пакетами, которые могут управлять конфигурацией по умолчанию. Если в будущем вам потребуется вносить изменения, не забудьте временно отключить этот атрибут.
Удачи в настройках вашего принтера! Если я смогу помочь ещё чем-то, не стесняйтесь обращаться.