I have a label printer (Brother QL-500). It was reasonably cheap at Amazon to buy and comes with single-label and continuous paper clear. #Also these instruction come from http://www.itbert.de/brother-ql-570-auf-archlinux/ which is in German, these are translated using Google Translate and wording slightly adjusted.
At Brother you can download the drivers, I am in an Arch based distro (Antergos) and I went with the .deb files. Unpacking the drivers:
# ar xv ql570cupswrapper-1.0.1-0.i386.deb
# ar xv ql570lpr-1.0.1-0.i386.deb
There are two parts to this driver if I recall (apologies I actually did this months ago and am only using my rough notes that I kept) I just double check and they are the LPR printer driver and the CUPS wrapper. Once they are both installed you just need to configure them with options below.
The contents of the data.tar.gz can then be copied to “/”. Then you just have to execute a command to configure the driver in cups:
Unfortunately, this did not quite enough for me. I had to specify the size of the paper. The supplied paper has a width of 62mm. The command is best created with the output from the cupswrapper command (because of the serial number):
# lpadmin -p QL-570 -E -v usb://Brother/QL-570?serial= -P /usr/share/cups/model/Brother/brother_ql570_printer_en.ppd -o PageSize=62×29
Then you can also print directly in the specified size using gLabels directly 🙂 The matching options can be easily displayed:
# lpoptions -pQL-570 -l
An issue I ran into was having to find the command in the PTouch directory to specify the page size but once the pagesize specified it printed fine.Label Printing in Linux