Как решить проблему UnicodeDecodeError: 'ascii' при установке принтеров Hewlett-Packard (HP)
Рубрика: Хитрости Linux -> Linux дистрибутивы -> MagOS Linux
Метки: Hewlett-Packard | HP | HPLIP | UnicodeDecodeError
Просмотров: 4656
Установка принтеров Hewlett-Packard (HP) в Linux по сети Wi-Fi
1. Запускаем утилиту HPLIP, в меня выбрав HP Device Manager
2. Далее нажимаем на плюс для добавление устройства
3. После чего выбираем Network
4. Раскрываем дополнительные опции (Hide Advanced Option)
5. Выбираем Manual Dyscovery и вписываем в ручную айпи адрес принтера (его заранее устанавливаем в принтере выбрав ручную установку айпи).
6. Если у вас еще не установлен драйвер HP, утилита предложит загрузить и сохранить, соглашаемся.
После этого ваш принтер должен найтись и если потом нажав на кнопку добавить он добавится, значит проблем у вас с UnicodeDecodeError: 'ascii' нет, но если после нажатия ничего не происходит, значит у вас проблема существуют как и у меня и решение её ниже.
Что делать если не устанавливается принтер HP (Hewlett-Packard) с ошибкой UnicodeDecodeError: 'ascii' ?
Во первых нам нужно для начала определить что ошибка именно в этом.
Для этого в начале отменяем установку что мы делали, потом в консоли вводим hp-setup
Опять же запустится графическая установка, повторяем все заново и когда снова принтер не добавится, смотрим вывод в консоли, у меня получился такой:
MagOS # hp-setup HP Linux Imaging and Printing System (ver. 3.13.11) Printer/Fax Setup Utility ver. 9.0 Copyright (c) 2001-13 Hewlett-Packard Development Company, LP This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to distribute it under certain conditions. See COPYING file for more details. Found device: hp:/net/HP_LaserJet_Professional_M1212nf_MFP?ip=192.168.1.31 Traceback (most recent call last): File "/usr/share/hplip/ui4/setupdialog.py", line 1240, in NextButton_clicked self.showAddPrinterPage() File "/usr/share/hplip/ui4/setupdialog.py", line 716, in showAddPrinterPage self.readwriteFaxInformation() File "/usr/share/hplip/ui4/setupdialog.py", line 1064, in readwriteFaxInformation self.fax_name_company = unicode(d.getStationName()) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) Done.
В самом низу видим UnicodeDecodeError: 'ascii' и так далее...
Это означает что в названии вашего принтера есть кириллические буквы.
Решения здесь 2: лезем в настройки принтера и убираем эти буквы или добавляем несколько строк в нужный файл.
Я выбрал второй вариант.
Как установить принтер HP (Hewlett-Packard) в линукс, если в названии кириллические буквы.
Все очень просто, из отчета по ошибке я понял что нужно что-то делать с файлом /usr/share/hplip/ui4/setupdialog.py
Покурил интернет и пришел к выводу, в файл /usr/share/hplip/ui4/setupdialog.py достаточно просто в самое начало добавить следующие записи:
import sys reload(sys) sys.setdefaultencoding('utf-8')
После этого опять отменяем полностью установку и проводим её заново (в любом варианте, из консоли или графики) , что бы измененный файл перезагрузился.
Вот и все, все работает.
Подобную ошибку можно решать так же и в других приложениях, не только при установке принтера.
Автор: BuxarNET (Тяшкевич Виталий) для IntFAQ.ru , написано по личному опыту.