Udskrivning fra Linux til en delt Windows-printer

Denne artikel forklarer, hvordan du tilslutter og udskriver fra en Linux-computer til en delt printer, der er tilsluttet en Windows-vært.

  1. Det første trin er at dele printeren på en Windows-computer, som den er tilsluttet. Åbn printeregenskaberne, gå tilDelingfanen, skal du aktivereDel denne printeroption, og angiv det delte printernavn (navnet må ikke indeholde mellemrum eller specialtegn);
  2. Opret en ny lokal brugerwinusr1. Fjern en bruger fra den lokale brugergruppe, indstil adgangskoden til aldrig at udløbe, og forhindre ændringer af adgangskode.

    Du kan bruge PowerShell til at oprette en lokal bruger med de angivne indstillinger:
    $pass = ConvertTo-SecureString "pass2024W0rd-" -AsPlainText -Force
    New-LocalUser -Name winusr1 -Password $pass -PasswordNeverExpires -UserMayNotChangePassword
    Remove-LocalGroupMember -Group Users -Member winusr1

Som standard bruges SMB-protokollen til at forbinde delte Windows-printere. Installersmbclientfor at kontrollere, om den delte printer på Windows-værten kan fjerntilgås fra Linux:

Kør kommandoen på Ubuntu/Debian:

$ sudo apt install smbclient

Liste over SMB-shares på en ekstern Windows-maskine

$ smbclient -L \\192.168.31.94 -U winusr1

  • 192.168.31.94 – IP-adresse eller værtsnavn på Windows-computeren
  • winusr1 – lokalt Windows-brugernavn

Denne kommando viser delte netværksmapper (inklusive administrative shares) og printere.

Fra konsollen kan du kontrollere tilgængeligheden af ​​en SMB-printer og sende en fil til udskrivning:

$ smbclient -W DOMAIN -U winusr1//192.168.31.94/HPM1530
Udskriv den angivne fil:
smb: \> print /home/sysops/test.txt
printing file test.txt as test.txt (856,2 kb/s)
smb: \> quit

Den nemmeste måde at få adgang til og administrere netværksprintere under Linux er at bruge det indbyggede Common UNIX Printing System (KOPPER). System-config-printer-webgrænsefladen bruges til at administrere CUPS.

CUPS og system-config-printer er installeret som standard på de fleste Linux-skrivebordsdistros. Kontroller og installer om nødvendigt:

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

Anbefalet læsning:Sådan ændres printerport for at løse udskrivningsproblemer i Windows 11

Tilslut nu en delt netværksprinter fra Linux:

  1. Naviger til følgende URL i din browser for at åbne CUPS-webgrænsefladenlocalhost:631;
  2. Gå tilAdministration->Tilføj printer->Andre netværksprintere->Windows-printer via SAMBA;
  3. Brug følgende format til at angive de delte printerforbindelsesindstillingersmb://winusr1:[email protected]/HPM1530(Denne streng inkluderer brugernavnet og adgangskoden, det eksterne Windows-værtsnavn/IP og det delte printernavn);
  4. Indstil derefter printerens navn og beskrivelse;
  5. Dernæst vil CUPS bede dig om at vælge printerproducent og -model. Listen over drivere kan være ret lang. Brug følgende kommando til hurtigt at finde drivernavnet efter printermodel:$ lpinfo -m| grep 1536
    Vælg den driver du fandt i CUPS.
  6. Installationen af ​​delt printer er fuldført.

Hvor kan du finde CUPS-printerdrivere til Linux? I tilfældet med HP-printere, for eksempel, leveres de fleste Linux-distributioner med HP Linux Printing and Imaging System (HPLIP) pakke forudinstalleret. Det inkluderer drivere til de fleste HP-printere.

$ dpkg -l hplip

Du kan installere HPLIP-pakken manuelt:

$ sudo apt install hplip hplip-gui

Andre leverandører kan også frigive lignende driverpakker, eller du kan muligvis finde en forudbygget PPD-fil til en bestemt printer. Det er også muligt at brugefoomatiskPPD-printerdriverbibliotek (automatisk installeret på ubuntu-desktop):

$ apt install foomatic-db-compressed-ppds

Det første forsøg på at udskrive et dokument fra Linux til en delt Windows-printer mislykkedes i mit tilfælde med en fejl. Tjek /var/log/cups/error_log for fejl:

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

Dette indikerer, at CUPS ikke kan oprette forbindelse til printerens SMB-mappe på Windows-maskinen. I dette tilfælde er problemet, at Linux smbclient forsøger at bruge SMB 1.0-protokollen til at få adgang til delte printere. SMB 1.0-versionen er deaktiveret på Windows 10 og 11, og en sådan forbindelse vil blive afvist.

Rediger filen/etc/samba/smb.conffor at få Linux SMB-klienten til at bruge en mere sikker SMB 2- eller 3-version til forbindelser. I den[global]sektion, tilføje følgende linjer:

client min protocol = SMB2
client max protocol = SMB3

Genstart CUPS:

$ sudo systemctl restart cups

Linux-klienten kan nu udskrive til en delt printer på Windows-computeren.

Du kan også oprette forbindelse til en delt Windows-printer fra kommandolinjen. Det første trin er at finde navnet på driveren til din printermodel:

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

Kopier det fulde navn på driveren og tilslut SMB-printeren:

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

Aktiver CUPS-printeren på Linux:

$ cupsenable HP1536mfp

Liste over printere:

$ lpsatat -v
$ lpstat -p

Listen over tilsluttede SMB-printere er gemt i/etc/cups/printers.conffil. Bemærk, at det Windows-brugernavn og -adgangskode, du bruger til at oprette forbindelse til printeren, gemmes her i almindelig tekst (så denne bruger skal have minimale tilladelser på Windows-maskinen).

Related Posts