扫描仪仅适用于 sudo

扫描仪仅适用于 sudo

我有一个爱普生ET-2756打印机。我可以用它轻松打印,但我花了很长时间才明白为什么Debian 10我的计算机无法检测到其扫描仪部分。

最终,我找到了原因:该scanimage命令(然后epsonscan2专门为打印机安装)只能检测到其扫描仪,前提是它们使用sudo.

我想知道为什么......特别是,我想删除这个先决条件。如何消除执行扫描
的需要?sudo


cas建议的经验如下:

# I look already registered as a scanner group member
cat /etc/group | grep scanner
scanner:x:117:saned,lebihan

# But this command fails:
scanimage --format=png >/tmp/test.png
scanimage: no SANE devices found

# While this one succeeds:
sudo scanimage --format=png >/tmp/test.png

答案1

将您的用户添加到scanner组中。 IE

sudo addgroup yourusername scanner

下次登录时,您的 uid 将能够使用扫描仪。

或者,该libpam-systemd包可以确保在用户登录时设置正确的权限,如果有适当的udev规则可以这样做。不过,将自己添加到扫描仪组会更容易。

请参阅 Debian Wiki 上的以下内容:

答案2

许多设备访问问题可以通过组成员身份更改来解决。

sudo journalctl --follow您可以通过观看连接设备来找到设备名称。或ls -1 /dev >dev.before,连接设备,等待 10 秒,ls -1 /dev >dev.after;diff dev.{before,after}或,重新连接,然后ls -lrt /dev | tail

具体来说,如果ls -l 显示组权限(第二个“ rwx”三元组)为“ rw”(例如“ -rw-rw----”),则将自己添加到拥有该设备的组中将授予rw访问权限。

就是这样:

device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)

这允许您成为可以使用该设备的组的成员身份rw但还有一步。

要使所有进程成为新组的成员,请注销并登录。小组成员资格是按时间设立的login

要在新组中创建单个进程(用于测试,在注销/登录之前):

newgrp $(stat -c "%G" $device)  

或者,只需键入组名称。看man newgrp

相关内容