Хорошо, я понял. Прежде всего я применил этот обходной путь (ниже обновленная версия):
(как суперпользователь)
$ systemctl stop org.cups.cupsd.service
Затем создайте файл /etc/udev/rules.d/10-cups_device_link.rules
и добавьте это содержимое:
KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"
Отключите и подключите USB-кабель принтера и подождите несколько секунд. Наконец перезапустите чашки
$ systemctl start org.cups.cupsd.service
Теперь принтер обнаружен CUPS как принтер с параллельным портом. В моем случае, к сожалению, я не смог установите его с помощью инструментов с графическим интерфейсом, поскольку они не смогли найти информацию об используемом диске. К счастью, в CUPS есть инструмент командной строки, который я мог бы использовать для установки своего принтера
(как обычный пользователь, НЕТ sudo )
$ lpadmin -p DELL_LaserJet_3110cn -E -v parallel:/dev/lp0 -P /usr/share/cups/model/Dell/Dell_3110cn.ppd
Примечание:
Путь к драйверу, указанному в параметре -P
, вы должны найти его, выполнив поиск PDD в вашей системе
Имя устройства (в моем случае параллельно: / dev / lp0
), который необходимо указать в параметре -v
, вы можете g et, выполнив lpinfo -v
Мой способ работы с mDNS (avahi )таков
• sudo apt install ifupdown
• sudo apt install avahi-utils
идея из текста в
• cat /etc/network/interfaces
• # ifupdown has been replaced by netplan(5) on this system. See
• # /etc/netplan for current configuration.
• # To re-enable ifupdown on this system, you can run:
• # sudo apt install ifupdown
В дополнение к MulticastDNS=yes
в вашем файле.network, тот же параметр и необходимо установить в файле resolve.conf. Из документа resolve.conf:
Multicast DNS will be enabled on a link only if the per-link and the global setting is on.
Чтобы включить mDNS на интерфейсе, необходимо установить параметр MulticastDNS=
в разделе [Network]
файла .network
для интерфейса в сети 10.0.0.0/16..
Этот параметр по умолчанию отключен, и его необходимо включить для каждого интерфейса.
Вы также можете использовать команду systemd-resolve --status
(, доступную в systemd v237, поставляемой в Ubuntu 18.04,Более новая система systemd заменила эту команду на resolvectl
), чтобы запросить статус разрешения, включая параметры, включенные для каждого сетевого интерфейса. Если вы видите MulticastDNS setting: no
для интерфейса Link
, где находится сеть 10.0.0.0/16, это означает, что он еще не включен.
Это поздний ответ, но я все еще думаю, что это может помочь кому-то, потому что по этой теме мало информации. Я тоже потратил время на эту проблему.
Изменение файла /etc/systemd/resolved.conf — это только часть работы. После того, как вы изменили его, вам все еще нужно решить эту загадку:
Multicast DNS will be enabled on a link only if the per-link and the global setting is on.
А если знаешь хитрость... это легко.
sudo systemd-resolve --set-mdns=yes --interface=wlan0
wlan0 — это интерфейс, на котором запрашивается mDNS. После этого видно, что mDNS активирован:
$ sudo systemd-resolve --status wlan0
Link 3 (wlan0)
Current Scopes: none
DefaultRoute setting: no
LLMNR setting: yes
MulticastDNS setting: yes #<--- BINGO!
DNSOverTLS setting: no
DNSSEC setting: allow-downgrade
DNSSEC supported: yes
Перезапустить systemd -решить через systemctl:
sudo systemctl restart systemd-resolved
И mDNS работает!
(до)
~ ❯ ping homebridge.local
ping: cannot resolve homebridge.local: Unknown host
(после)
~ ❯ ping homebridge.local
PING homebridge.local (192.168.1.9): 56 data bytes
64 bytes from 192.168.1.9: icmp_seq=0 ttl=64 time=21.721 ms
64 bytes from 192.168.1.9: icmp_seq=1 ttl=64 time=22.429 ms