You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The installation instructions for linux are close but could be made more specific. Python newcomers may be confused by Python 2 vs Python 3, and there are still a lot of tutorials out there that might lead them erroneously towards Python 2.
On some linux distros, it is still necessary to use pip3 instead of pip. This is particularly true if the user has a legacy Python 2 interpreter installed alongside Python 3.
On some linux distros, it is necessary to install pip3. It is not part of stock Ubuntu, and there it must be installed with sudo apt install python3-pip. We should put this near the top of the README file and add libusb-1.0-0 for good measure.
The user needs permission on the printer device node in order to use it. I believe this is the case for the PyUSB backend as well as the kernel backend. The docs make it sound like this step only applies to the kernel backend.
I am aware of two approaches for granting permissions:
udev
These rules ought to be portable to most systems which use systemd. Install in /etc/udev/rules.d/69-brotherql-labelprinter.rules:
# udev rules for Brother QL label printers using usb# Installation:# - Copy this file to /etc/udev/rules.d/# - Run the command:# udevadm control --reload && udevadm trigger
ACTION!="add|change", GOTO="brotherql_rules_end"
SUBSYSTEM!="usb|usbmisc", GOTO="brotherql_rules_end"
# QL-1100# use your printer's VID/PID here
ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="20a7", TAG+="uaccess"
LABEL="brotherql_rules_end"
These rules grant permission on the printer to any logon user for the duration of their session. The uaccess tag is poorly documented but is explained here. You can see it in action by power-cycling your printer and running:
If there is interest, we could ship a udev rules file with known VIDs/PIDs.
groups
On Debian-alikes, you can add your user account to the lp group:
sudo usermod -a -G lp "$(whoami)"
This grants you permission on all printers, which may not be what you want. Normally, only CUPS (or whatever the printer backend is) has direct access to printers. brother_ql might be persuaded to try and send files to these printers, which might be bad. In certain deployments, it may also have negative consequences for security.
The text was updated successfully, but these errors were encountered:
The installation instructions for linux are close but could be made more specific. Python newcomers may be confused by Python 2 vs Python 3, and there are still a lot of tutorials out there that might lead them erroneously towards Python 2.
On some linux distros, it is still necessary to use
pip3
instead ofpip
. This is particularly true if the user has a legacy Python 2 interpreter installed alongside Python 3.On some linux distros, it is necessary to install
pip3
. It is not part of stock Ubuntu, and there it must be installed withsudo apt install python3-pip
. We should put this near the top of the README file and addlibusb-1.0-0
for good measure.The user needs permission on the printer device node in order to use it. I believe this is the case for the PyUSB backend as well as the kernel backend. The docs make it sound like this step only applies to the kernel backend.
I am aware of two approaches for granting permissions:
udev
These rules ought to be portable to most systems which use systemd. Install in
/etc/udev/rules.d/69-brotherql-labelprinter.rules
:These rules grant permission on the printer to any logon user for the duration of their session. The
uaccess
tag is poorly documented but is explained here. You can see it in action by power-cycling your printer and running:which should show an ACL rule for your username.
If there is interest, we could ship a udev rules file with known VIDs/PIDs.
groups
On Debian-alikes, you can add your user account to the
lp
group:sudo usermod -a -G lp "$(whoami)"
This grants you permission on all printers, which may not be what you want. Normally, only CUPS (or whatever the printer backend is) has direct access to printers.
brother_ql
might be persuaded to try and send files to these printers, which might be bad. In certain deployments, it may also have negative consequences for security.The text was updated successfully, but these errors were encountered: