Drukarka etykiet DYMO LabelWriter (450 DUO i nie tylko) udostępniana po sieci dla macOS i Windowsa
Table of Contents
Kontynuując przygodę z moją drukarką etykiet DYMO (najpierw analizując baterię poprzednika, a potem instalując ją na Linuksie) postanowiłem udostępnić ją w sieci lokalnej - tak, żeby uniknąć przepinania kabla USB między urządzeniami. Tym razem jednak do wspieranych platform należy dodać Windowsa i macOS. W roli serwera druku - Raspberry Pi i stary, dobry CUPS.
Wybór protokołów udostępniania #
CUPS może udostępniać lokalne drukarki za pomocą kilku protokołów - między innymi mDNS, IPP, Samby i LPD. Ze względu na specyfikę drukarki DYMO, a raczej jej oprogramowania na Windowsa i macOS konieczne jest użycie protokołu, który wspiera użycie drivera samej drukarki do obsługi specjalnych trybów; pozostawia nam to mDNS i Sambę. Dość fajne podsumowanie zapewnia jak zwykle wiki Arch Linuxa.
Teoretycznie mDNS powinien działać zarówno na Windowsie (jako natywny protokół auto-discovery), jak i macOS za pomocą Bonjour. Niestety, sama drukarka DYMO po mDNS w Windowsie jest widoczna, ale DYMO radośnie ją ignoruje, natomiast macOS nie za bardzo chce widzieć drukarki udostępniane “po windowsowemu” przy użyciu serwera Samba4. Zatem nie pozostaje nic innego jak zainstalować obsługę obydwu protokołów w naszym serwerze druku.
Instalacja serwera druku i sterowników #
Najpierw należy zainstalować kilka pakietów: cups avahi-daemon avahi-discover libnss-mdns samba
.
Kolejny krok to instalacja sterowników (plików PPD) dla DYMO. To, co znajdziemy w paczce printer-driver-dymo
to snapshot oficjalnych plików, który niestety nie do końca działa w nowej wersji CUPSa i Samby. Na szczęście znalazła się dobra dusza w community opensource, która trochę je podrasowała - można je znaleźć na Githubie -
https://github.com/matthiasbock/dymo-cups-drivers
Trzeba przy nich nieco więcej zachodu niż proste apt install...
, ale sprawa jest dość prosta:
apt install autoconf
git clone https://github.com/matthiasbock/dymo-cups-drivers/
cd dymo-cups-drivers
bash build.sh
make install
cp src/lw/raster2dymolw /usr/lib/cups/filter/
cp src/lm/raster2dymolm /usr/lib/cups/filter/
systemctl restart cups
Dodawanie drukarki #
Kolejny krok to włączenie CUPSowi zdalnego panelu administracyjnego - tak, żebyśmy mogli dodawać drukarki spoza localhosta - sudo cupsctl --remote-admin
. Teraz można użyć http://RASPBERRY_PI_ADDRESS:631
w przeglądarce.
Następny etap to dodanie drukarki lub dwóch - w przypadku urządzeń DUO (osobno do etykiet o stałym rozmiarze i etykiet na ciągłej taśmie). W webowym UI, do którego autoryzujemy się login i hasłem użytkownika root będziemy chcieli osiągnąć coś takiego:
Współdzielenie drukarki #
Udostępnianie po mDNS jest automatyczne w CUPSie - wystarczy pilnować zaznaczenia pola Share This Printer. Aby współdzielić drukarkę po Sambie trzeba… skonfigurować serwer Samby 😉
Minimalny plik konfiguracyjny /etc/samba/smb.conf
, który udostępni drukarki całej sieci lokalnej (grupie WORKGROUP) bez autoryzacji wygląda tak:
[global]
workgroup = WORKGROUP
server string = RPi
log file = /var/log/samba/log.%m
max log size = 1000
server role = standalone
load printers = yes
printing = cups
use client driver = yes
[printers]
path = /var/spool/samba
printable = yes
public = yes
guest ok = yes
read only=no
use client driver = yes</code>
Wskazany w konfigu folder /var/spool/samba
może nie istnieć - wystarczy go stworzyć i zostawić defaultowe uprawnienia - zarówno Samba, jak i CUPS działają jako root.
Po restarcie smdb
można konfigurować urządzenia klienckie.
Ustawianie drukarki na Windowsie #
Na Windowsie sprawa wygląda następująco: należy podłączyć się pod udział sieciowy \\RASPBERRY_PI_ADDRESS
, wybrać drukarkę i wskazać sterownik - ważne by wcześniej mieć już zainstalowany program DYMO Connect.
Po dodaniu drukarki warto potwierdzić, że wybraliśmy odpowiedni sterownik - ja miałem sporo zamieszania, przez fakt, że model 450 DUO to tak naprawdę dwa urządzenia w jednym, a dodatkowo model DUO to nie to samo.
Po zakończeniu instalacji drukarki musimy koniecznie zrestartować DYMO Connect. Po uruchomieniu będziemy widzieć drukarkę/drukarki nazwaną zgodnie ze ścieżką udziału sieciowego - nie mamy na to wpływu.
Ustawianie drukarki na macOS #
Na macOS sprawa wygląda równie prosto, jak nie prościej. W Preferencjach systemowych należy wybrać Drukarki i skanery, a następnie kliknąć plusik w lewym dolnym rogu.
Odnalezione za pomocą Bonjour drukarki ujrzymy na liście - sterownik zostanie wybrany automatycznie, o ile wcześniej zainstalowaliśmy DYMO Label. Ciekawostka z nazwami programów od DYMO - jakiś czas temu na obu platformach program nazywał się Label, ale z pół roku temu windowsowa wersja została przebudowana i nazwana Connect, a mackintoshowa - nie. Chociaż ta druga dalej dostaje aktualizacje. </dygresja>
W programie DYMO Label mamy teraz dostępne drukarki i wszystko działa:
Podsumowanie #
Kluczem do udostępniania drukarki DYMO w sieci lokalnej na kilka platform jest odpowiedni sterownik na serwerze wydruku i wybór protokołów. Obie sprawy nie są oczywiste, gdyż sterowniki dostępne w repozytoriach Debiana i na stronie samego DYMO nie działają z nowymi wydaniami innych pakietów, a ręcznie stawiany serwer druku nie zawsze jest zgodny z oczekiwaniami różnych systemów operacyjnych.
Jako bonus ciekawostka: w macOS BigSur wydanym kilka miesięcy temu hosty Windowsowe dalej mają ikonkę antycznego monitora CRT z widocznym Blue Screenem.