Imprimarea de pe Linux pe o imprimantă partajată Windows

Acest articol explică cum să vă conectați și să imprimați de la un computer Linux la o imprimantă partajată conectată la o gazdă Windows.

  1. Primul pas este să partajați imprimanta pe un computer Windows la care este conectată. Deschideți proprietățile imprimantei, accesațiPartajareafila, activațiDistribuiți această imprimantăopțiunea și specificați numele imprimantei partajate (numele nu trebuie să conțină spații sau caractere speciale);
  2. Creați un nou utilizator localwinusr1. Eliminați un utilizator din grupul local de utilizatori, setați parola să nu expire niciodată și împiedicați modificările parolei.

    Puteți utiliza PowerShell pentru a crea un utilizator local cu setările specificate:
    $pass = ConvertTo-SecureString "pass2024W0rd-" -AsPlainText -Force
    New-LocalUser -Name winusr1 -Password $pass -PasswordNeverExpires -UserMayNotChangePassword
    Remove-LocalGroupMember -Group Users -Member winusr1

În mod implicit, protocolul SMB este utilizat pentru a conecta imprimante Windows partajate. Instalațismbclientpentru a verifica dacă imprimanta partajată de pe gazda Windows poate fi accesată de la distanță din Linux:

Pe Ubuntu/Debian rulați comanda:

$ sudo apt install smbclient

Listați partajările SMB pe o mașină Windows la distanță

$ smbclient -L \\192.168.31.94 -U winusr1

  • 192.168.31.94 – adresa IP sau numele de gazdă al computerului Windows
  • winusr1 – nume de utilizator Windows local

Această comandă listează folderele de rețea partajate (inclusiv partajările administrative) și imprimantele.

Din consolă, puteți verifica disponibilitatea unei imprimante SMB și puteți trimite un fișier pentru imprimare:

$ smbclient -W DOMAIN -U winusr1//192.168.31.94/HPM1530
Imprimați fișierul specificat:
smb: \> print /home/sysops/test.txt
printing file test.txt as test.txt (856,2 kb/s)
smb: \> quit

Cel mai simplu mod de a accesa și de a gestiona imprimantele de rețea sub Linux este să utilizați sistemul de imprimare UNIX comun încorporat (CUPE). Interfața web system-config-printer este utilizată pentru a gestiona CUPS.

CUPS și system-config-printer sunt instalate implicit pe majoritatea distribuțiilor de desktop Linux. Verificați și instalați dacă este necesar:

$ dpkg -l cups
$ dpkg -l system-config-printer
$ systemctl status cups

Lectură recomandată:Cum să schimbați portul imprimantei pentru a remedia problemele de imprimare în Windows 11

Acum conectați o imprimantă de rețea partajată de pe Linux:

  1. Navigați la următoarea adresă URL în browser pentru a deschide interfața web CUPSlocalhost:631;
  2. Du-te laAdministrare->Adăugați o imprimantă->Alte imprimante de rețea->Imprimantă Windows prin SAMBA;
  3. Utilizați următorul format pentru a specifica setările de conectare la imprimantă partajatăsmb://winusr1:[email protected]/HPM1530(Acest șir include numele de utilizator și parola, numele de gazdă/IP Windows la distanță și numele imprimantei partajate);
  4. Apoi setați numele și descrierea imprimantei;
  5. Apoi, CUPS vă va cere să selectați producătorul și modelul imprimantei. Lista șoferilor poate fi destul de lungă. Utilizați următoarea comandă pentru a găsi rapid numele driverului după modelul imprimantei:$ lpinfo -m| grep 1536
    Selectați driverul pe care l-ați găsit în CUPS.
  6. Instalarea imprimantei partajate este finalizată.

Unde puteți găsi drivere de imprimare CUPS pentru Linux? În cazul imprimantelor HP, de exemplu, majoritatea distribuțiilor Linux vin cu HP Linux Printing and Imaging System (HPLIP) pachet preinstalat. Include drivere pentru majoritatea imprimantelor HP.

$ dpkg -l hplip

Puteți instala manual pachetul HPLIP:

$ sudo apt install hplip hplip-gui

Alți furnizori pot lansa, de asemenea, pachete de drivere similare sau puteți găsi un fișier PPD predefinit pentru o anumită imprimantă. De asemenea, este posibil să utilizațifoomaticBiblioteca de drivere de imprimantă PPD (instalată automat pe desktop-ul ubuntu):

$ apt install foomatic-db-compressed-ppds

Prima încercare de a imprima un document de pe Linux pe o imprimantă Windows partajată a eșuat în cazul meu, cu o eroare. Verificați /var/log/cups/error_log pentru erori:

E [Job 13] SMB connection failed!
E [Job 13] Unable to connect to CIFS host: NT_STATUS_IO_TIMEOUT

Aceasta indică faptul că CUPS nu se poate conecta la folderul SMB al imprimantei de pe aparatul Windows. În acest caz, problema este că Linux smbclient încearcă să folosească protocolul SMB 1.0 pentru a accesa imprimantele partajate. Versiunea SMB 1.0 este dezactivată pe Windows 10 și 11, iar o astfel de conexiune va fi respinsă.

Editați fișierul/etc/samba/smb.confpentru a face clientul Linux SMB să utilizeze o versiune SMB 2 sau 3 mai sigură pentru conexiuni. În[global]secțiune, adăugați următoarele rânduri:

client min protocol = SMB2
client max protocol = SMB3

Reporniți CUPS:

$ sudo systemctl restart cups

Clientul Linux poate imprima acum cu succes pe o imprimantă partajată pe computerul Windows.

De asemenea, vă puteți conecta la o imprimantă Windows partajată din linia de comandă. Primul pas este să găsiți numele driverului pentru modelul imprimantei dvs.:

$ lpinfo --make-and-model '1536' -m

Copiați numele complet al driverului și conectați imprimanta SMB:

$ sudo lpadmin -p HP1536mfp -v smb://winusr1:[email protected]/HPM1536 -m postscript-hp:0/ppd/hplip/HP/hp-laserjet_m1530_mfp_series-ps.ppd

Activați imprimanta CUPS pe Linux:

$ cupsenable HP1536mfp

Lista imprimante:

$ lpsatat -v
$ lpstat -p

Lista imprimantelor SMB conectate este stocată în/etc/cups/printers.conffişier. Rețineți că numele de utilizator și parola Windows pe care le utilizați pentru a vă conecta la imprimantă sunt stocate aici în text simplu (deci acest utilizator trebuie să aibă permisiuni minime pe computerul Windows).

Related Posts