SANE tarama, scanbd düğmeleri ve servis izinleri


1

Bütün gün bu işi yapmaya çalıştım. Neredeyse oradayım ama hala bir şeyler eksik. İşte şimdiye kadarki hikaye:

  • Debian Jessie 8.3 başsız ev sunucusu
  • Canon MP140 MFP tarayıcı / yazıcı tamamen SANE tarafından destekleniyor, USB üzerinden
  • SANE dll.conf yapılandırılmış ve çalışıyor ( net ve pixma hariç her şey yorumlandı )

scanimage -p --resolution 300 --format=tiff --mode Gray -x 210 -y 297 > test300.tiff ... bir A4 kağıdını gri tonlamalı olarak tarar ve çok iyi saklar.


sudo service scanbd status
● scanbd.service - Scanner button polling Service
   Loaded: loaded (/lib/systemd/system/scanbd.service; disabled)
   Active: active (running) since Fri 2016-02-19 19:24:03 CET; 23min ago
 Main PID: 1740 (scanbd)
   CGroup: /system.slice/scanbd.service
           └─1740 /usr/sbin/scanbd -f

Feb 19 19:24:03 server scanbd[1740]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'

Çalışıyor gibi görünüyor ancak düğmelere hiçbir şekilde tepki vermiyor.


Hizmeti durdurmayı ve scanbd'ü root olarak başlatmayı denedim - VE ÇALIŞIYOR!

sudo scanbd -f
scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
scanbd: trigger action for button-1 for device pixma:04A9172B_ABCDEF with script example.script

Yani, benim tahminim bu bir çeşit izin problemiydi. /Etc/scanbd.conf dosyasını değiştirmeye ve değiştirmeye çalıştım

user = scand  
group = scanner  

ile

user = root  
group = root

fakat daha sonra scanbd servisini yeniden başlattığımda, elde ettiğim budur ve düğmeler bir daha çalışmaz:

● scanbd.service - Scanner button polling Service
   Loaded: loaded (/lib/systemd/system/scanbd.service; disabled)
   Active: active (running) since Fri 2016-02-19 20:07:11 CET; 4s ago
 Main PID: 2562 (scanbd)
   CGroup: /system.slice/scanbd.service
           └─2562 /usr/sbin/scanbd -f

Feb 19 20:07:11 server scanbd[2562]: /usr/sbin/scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager'
Feb 19 20:07:11 server scanbd[2562]: /usr/sbin/scanbd: Not Primary Owner (-1)
Feb 19 20:07:11 server scanbd[2562]: /usr/sbin/scanbd: Name Error (Connection ":1.96" is not allowed to own the service "de.kmux.scanbd.server" due to security policies in the configuration file)

Muhtemelen bazı açık detaylara göz yumuyorum, ama gerçekte ne olduğunu çözemiyorum. Herhangi bir yardım çok takdir edilecektir.



@MariusMatutiae Evet, gördüm. Benzer görünüyor ama görebildiğim kadarıyla tamamen başka bir konu. Ayrıca farklı ortamlar - Debian 6 ve daha eski bir aklı başında / scanbd combo. Ve benim durumumda bulunan bazı eksik dosyalar.
vto80

Yanıtlar:


2

Sonunda hepsini çalıştım ...

Benim için amaç, tarama düğmelerinin çalışmasını sağlamaktı. Bunu çözdüğümde, tarama düğmelerini çalıştırarak VE ağ taramasını da yaptım.

Görünüşe göre yanlış yoldan bakıyordum ve sonuçta yanlış yoldan gidiyordum.
Üzgünüm, bu işi yapmak için tam bir komut dizisi yazamıyorum, çünkü işim bittiğinde oldukça karışık bir şey yaptım. Ama umarım en azından genel mantığına yardımcı olabilirim.

Böylece, scanbd(tarayıcı düğmesi servisi) veya saned(tarayıcı ağ sunucusu servisi) tarayıcıya erişebilir, ancak her ikisine de aynı anda erişemez. scanbddüğme durumunu sürekli yenileyerek tarayıcıyı kilitler ve sanedbir ağ tarayıcısı olarak kullanmak üzere kilitler.

Çalışma şekli SADECE scanbdbir hizmet olarak kullanmaktır .
scanbdsonra düğmelerin durumunu sürekli izler ve bir düğmeye basılırsa bir miktar harekete geçer. Fakat aynı zamanda akıl hastanesi 6566 (tcp) 'yi de dinler . Trafiği algılarsa, düğmeleri izlemeyi durdurur ve sanedardından devralınan hizmeti başlatır . Bir sanedağ tarayıcı sunucusu olarak yapıldığında, scanbdakılda kalıcı bağlantı noktasında bir düğmeye basılmasını veya daha fazla ağ trafiğini beklemeye devam edilir.

Bunun çalışması için sanediki kez yapılandırılmalıdır.
Aynı makinede hem sunucu hem de istemci olarak. Sunucu kısmı scanbdağ trafiğini algıladığında başlar ve yukarıdaki paragrafta açıklanır.

İstemci kısmı, bir tarama başlattığınızda scanimageveya scanbdbir düğmeye bastığınızda manuel olarak başlar . sanedİstemci bir ağ bağlanmak için yapılandırılmalıdır sanedsunucusu (aynı makinede, yani localhost, 127.0.0.1 veya ana bilgisayar adı, arka uç ' net DEĞİL USB - - böylece çakışmaları kaçınarak') scanbd. scanbdsonra 6566 numaralı bağlantı noktasındaki bazı ağ trafiğini algılar ve sanedsanki gerçekten bir ağ istemcisiymiş gibi sunucu olarak tetiklenir .

İstemci config, /etc/sane.dserver config içindeyken /etc/scanbd/sane.d. Sunucu yapılandırması oradan kopyalanmalı /etc/sane.d(sadece tüm klasörü kopyala) ve daha sonra bir sunucu olarak işlev görecek ve tarayıcı ile usb olarak, yani tarayıcının gerçekte kullandığı her ne ise, iletişim kuracak şekilde değiştirilmelidir. In /etc/scanbd/scanbd.confSANE_CONFIG_DIR işaret etmelidir sanedsunucu kısmı:/etc/scanbd/sane.d

Düzenleme: Makine güvenlik duvarındaysa, 6566 numaralı bağlantı noktasını açın ve nf_conntrack_sane çekirdek modülünü yükleyin:

sudo ufw allow 6566/tcp

sudo modprobe nf_conntrack_sane

eğer çalışıyorsa ve eklemek nf_conntrack_saneiçin/etc/modules

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.