Linux'tan Windows Paylaşımlı Yazıcıya Yazdırma

Bu makalede, bir Linux bilgisayardan Windows ana bilgisayarına bağlı paylaşılan bir yazıcıya nasıl bağlanılacağı ve yazdırılacağı açıklanmaktadır.

  1. İlk adım, yazıcıyı bağlı olduğu bir Windows bilgisayarda paylaştırmaktır. Yazıcı özelliklerini açın, şuraya gidin:Paylaşmasekmesini etkinleştirinBu yazıcıyı paylaşseçeneğini seçin ve paylaşılan yazıcı adını belirtin (ad boşluk veya özel karakterler içermemelidir);
  2. Yeni bir yerel kullanıcı oluşturwinusr1. Yerel Kullanıcılar grubundan bir kullanıcıyı kaldırın, parolanın geçerliliği hiçbir zaman sona ermeyecek şekilde ayarlayın ve parola değişikliklerini önleyin.

    Belirtilen ayarlarla yerel bir kullanıcı oluşturmak için PowerShell'i kullanabilirsiniz:
    $pass = ConvertTo-SecureString "pass2024W0rd-" -AsPlainText -Force
    New-LocalUser -Name winusr1 -Password $pass -PasswordNeverExpires -UserMayNotChangePassword
    Remove-LocalGroupMember -Group Users -Member winusr1

Varsayılan olarak, paylaşılan Windows yazıcılarını bağlamak için SMB protokolü kullanılır. Şunu yükleyin:müşteriWindows ana bilgisayarındaki paylaşılan yazıcıya Linux'tan uzaktan erişilip erişilemeyeceğini kontrol etmek için:

Ubuntu/Debian'da şu komutu çalıştırın:

$ sudo apt install smbclient

Uzak bir Windows makinesinde SMB paylaşımlarını listeleme

$ smbclient -L \\192.168.31.94 -U winusr1

  • 192.168.31.94 – Windows bilgisayarın IP adresi veya ana bilgisayar adı
  • winusr1 – yerel Windows kullanıcı adı

Bu komut, paylaşılan ağ klasörlerini (yönetim paylaşımları dahil) ve yazıcıları listeler.

Konsoldan bir SMB yazıcısının kullanılabilirliğini kontrol edebilir ve yazdırmak üzere bir dosya gönderebilirsiniz:

$ smbclient -W DOMAIN -U winusr1//192.168.31.94/HPM1530
Belirtilen dosyayı yazdırın:
smb: \> print /home/sysops/test.txt
printing file test.txt as test.txt (856,2 kb/s)
smb: \> quit

Linux altında ağ yazıcılarına erişmenin ve bunları yönetmenin en kolay yolu, yerleşik Ortak UNIX Yazdırma Sistemini (BARDAKLAR). CUPS'u yönetmek için sistem yapılandırma yazıcısı web arayüzü kullanılır.

CUPS ve system-config-printer çoğu Linux masaüstü dağıtımında varsayılan olarak kuruludur. Gerekirse kontrol edin ve yükleyin:

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

Önerilen Okuma:Windows 11'de Yazdırma Sorunlarını Düzeltmek İçin Yazıcı Bağlantı Noktasını Değiştirme

Şimdi Linux'tan paylaşılan bir ağ yazıcısını bağlayın:

  1. CUPS web arayüzünü açmak için tarayıcınızda aşağıdaki URL'ye gidinlocalhost:631;
  2. GitYönetim->Yazıcı ekle->Diğer ağ yazıcıları->SAMBA aracılığıyla Windows Yazıcı;
  3. Paylaşılan yazıcı bağlantı ayarlarını belirtmek için aşağıdaki formatı kullanınsmb://winusr1:[email protected]/HPM1530(Bu dize, kullanıcı adını ve parolayı, uzak Windows ana bilgisayar adını/IP'sini ve paylaşılan yazıcı adını içerir);
  4. Daha sonra yazıcı adını ve açıklamasını ayarlayın;
  5. Daha sonra CUPS sizden yazıcı üreticisini ve modelini seçmenizi isteyecektir. Sürücülerin listesi oldukça uzun olabilir. Yazıcı modeline göre sürücü adını hızlı bir şekilde bulmak için aşağıdaki komutu kullanın:$ lpinfo -m| grep 1536
    CUPS'ta bulduğunuz sürücüyü seçin.
  6. Paylaşılan yazıcı kurulumu tamamlandı.

Linux için CUPS yazıcı sürücülerini nerede bulabilirsiniz? Örneğin, HP yazıcılar söz konusu olduğunda çoğu Linux dağıtımı HP Linux Yazdırma ve Görüntüleme Sistemiyle birlikte gelir (HPLIP) paket önceden yüklenmiştir. Çoğu HP yazıcının sürücülerini içerir.

$ dpkg -l hplip

HPLIP paketini manuel olarak yükleyebilirsiniz:

$ sudo apt install hplip hplip-gui

Diğer satıcılar da benzer sürücü paketleri yayınlayabilir veya belirli bir yazıcı için önceden oluşturulmuş bir PPD dosyası bulabilirsiniz. Şunu kullanmak da mümkündür:sesliPPD yazıcı sürücüsü kitaplığı (ubuntu-masaüstüne otomatik olarak yüklenir):

$ apt install foomatic-db-compressed-ppds

Benim durumumda Linux'tan paylaşılan bir Windows yazıcısına bir belge yazdırmaya yönelik ilk girişim bir hatayla başarısız oldu. Hatalar için /var/log/cups/error_log dosyasını kontrol edin:

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

Bu, CUPS'un Windows makinesindeki yazıcının SMB klasörüne bağlanamadığını gösterir. Bu durumda sorun Linux smbclient'in paylaşılan yazıcılara erişmek için SMB 1.0 protokolünü kullanmaya çalışmasıdır. SMB 1.0 sürümü Windows 10 ve 11'de devre dışıdır ve bu tür bir bağlantı reddedilecektir.

Dosyayı düzenleyin/etc/samba/smb.confLinux SMB istemcisinin bağlantılar için daha güvenli bir SMB 2 veya 3 sürümünü kullanmasını sağlamak. içinde[küresel]bölümüne aşağıdaki satırları ekleyin:

client min protocol = SMB2
client max protocol = SMB3

CUPS'u yeniden başlatın:

$ sudo systemctl restart cups

Linux istemcisi artık Windows bilgisayarındaki paylaşılan bir yazıcıya başarıyla yazdırabilir.

Ayrıca paylaşılan bir Windows yazıcısına komut satırından da bağlanabilirsiniz. İlk adım, yazıcı modelinize uygun sürücünün adını bulmaktır:

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

Sürücünün tam adını kopyalayın ve SMB yazıcısını bağlayın:

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

Linux'ta CUPS yazıcısını etkinleştirin:

$ cupsenable HP1536mfp

Yazıcıları listeleyin:

$ lpsatat -v
$ lpstat -p

Bağlı SMB yazıcılarının listesi,/etc/cups/printers.confdosya. Yazıcıya bağlanmak için kullandığınız Windows kullanıcı adı ve parolasının burada düz metin olarak saklandığını unutmayın (bu nedenle bu kullanıcının Windows makinesinde minimum izinlere sahip olması gerekir).

Related Posts