当 运行 作为 Archlinux 上的服务时,scanbd 有 30 秒的延迟
scanbd has 30 seconds delay when running as service on Archlinux
我已经在 Archlinux 的臂箱上设置了 sane/scanbd(类似于 raspberry pi)。 scanbd 配置为在按下 scan
按钮时从扫描仪扫描页面。当 运行ning 直接从命令行作为 scanbd -d1 -f
扫描 bd 时一切正常。但是,当我 运行 它作为一项服务时(使用 systemd),在扫描开始之前会有大约 30-40 秒的延迟(尽管它最终会扫描)。
我已按照 this 指南 install/configure scanbd。
我将 scanbd.conf
保留为默认配置。我的 test.script
看起来像这样:
scanimage --batch-count=1 --resolution 150 --source="ADF Duplex" --batch=/tmp/$(date +%Y%m%d_%H%M)_%02d_out.tiff --format=tiff
#merge into multipage tiff
tiffcp -c lzw /tmp/*out.tiff /tmp/output.tiff
#convert to pdf
tiff2pdf -z /tmp/output.tiff > /tmp/output.pdf
rm /tmp/*.tiff
chmod 755 /tmp/output.pdf
mv /tmp/output.pdf /home/scanner/output.pdf
关于引入大量延迟的原因有什么想法吗?
终于找到解决方法了。延迟来自 scanbm.socket 服务。
修复步骤:
1. 禁用套接字:
systemctl stop scanbm.socket
systemctl disable scanbm.socket
从 /etc/scanbd/sane.d/dll.conf
中删除 net
作为设备
从 scanbd 服务中删除 scanbm 依赖项:
#/etc/systemd/system/dbus-de.kmux.scanbd.server.service
[Unit]
Description=Scanner button polling Service
[Service]
Type=simple
ExecStart=/usr/sbin/scanbd -f -c /etc/scanbd/scanbd.conf
#ExecReload=?
Environment=SANE_CONFIG_DIR=/etc/scanbd/sane.d
StandardInput=null
StandardOutput=syslog
StandardError=syslog
#NotifyAccess=?
[Install]
WantedBy=multi-user.target
#Also=scanbm.socket <-- comment out this line
Alias=dbus-de.kmux.scanbd.server.service
- 重启scanbd服务:
systemctl restart scanbd
我已经在 Archlinux 的臂箱上设置了 sane/scanbd(类似于 raspberry pi)。 scanbd 配置为在按下 scan
按钮时从扫描仪扫描页面。当 运行ning 直接从命令行作为 scanbd -d1 -f
扫描 bd 时一切正常。但是,当我 运行 它作为一项服务时(使用 systemd),在扫描开始之前会有大约 30-40 秒的延迟(尽管它最终会扫描)。
我已按照 this 指南 install/configure scanbd。
我将 scanbd.conf
保留为默认配置。我的 test.script
看起来像这样:
scanimage --batch-count=1 --resolution 150 --source="ADF Duplex" --batch=/tmp/$(date +%Y%m%d_%H%M)_%02d_out.tiff --format=tiff
#merge into multipage tiff
tiffcp -c lzw /tmp/*out.tiff /tmp/output.tiff
#convert to pdf
tiff2pdf -z /tmp/output.tiff > /tmp/output.pdf
rm /tmp/*.tiff
chmod 755 /tmp/output.pdf
mv /tmp/output.pdf /home/scanner/output.pdf
关于引入大量延迟的原因有什么想法吗?
终于找到解决方法了。延迟来自 scanbm.socket 服务。
修复步骤: 1. 禁用套接字:
systemctl stop scanbm.socket
systemctl disable scanbm.socket
从
/etc/scanbd/sane.d/dll.conf
中删除 从 scanbd 服务中删除 scanbm 依赖项:
net
作为设备
#/etc/systemd/system/dbus-de.kmux.scanbd.server.service
[Unit]
Description=Scanner button polling Service
[Service]
Type=simple
ExecStart=/usr/sbin/scanbd -f -c /etc/scanbd/scanbd.conf
#ExecReload=?
Environment=SANE_CONFIG_DIR=/etc/scanbd/sane.d
StandardInput=null
StandardOutput=syslog
StandardError=syslog
#NotifyAccess=?
[Install]
WantedBy=multi-user.target
#Also=scanbm.socket <-- comment out this line
Alias=dbus-de.kmux.scanbd.server.service
- 重启scanbd服务:
systemctl restart scanbd