Page 1 of 2

openrc the system behind nemesis: printing as an example

Posted: 04 May 2017, 11:09
by francois
openrc is the system behind nemesis
https://wiki.manjaro.org/index.php?titl ... to_systemd

Some adjustments could not even be done without it. In my case, I could not get nemesis printing go without a special openrc package called cups-openrc-20170309-1.

Printing-nemesis-openrc package (edited as of 20180313):
To install printing capabilities to nemesis:

Code: Select all

pacman -Sw  cups-openrc avahi-openrc simple-scan system-config-printer ghostscript libpaper
mkdir -p /mnt/sdb3/new-module/var/lib/pacman/local
pacman -Uddr /mnt/sdb3/new-module /var/cache/pacman/pkg/*.pkg.tar.xz
mksquashfs /mnt/sdb3/new-module /mnt/sda1/name-of-module.xzm -comp xz -b 524288 -Xbcj x86
Cleaning building folders:

Code: Select all

rm -rf /mnt/sdb3/new-module                           #cleaning new-module area to make it available for building another one.
rm -rf /var/cache/pacman/pkg/*.pkg.tar.xz                 #cleaning downloaded package area as module has been built.
Move xzm module to /porteus/modules and activate.

Starting services for avahi-daemon and cups:

Code: Select all

rc-update add avahi-daemon default &&
rc-service cupsd start &&
rc-update add cupsd default

Re: openrc the system behind nemesis: printing as an example

Posted: 11 May 2017, 08:15
by francois
Output of system-config-printer command line:

Code: Select all

root ~ # system-config-printer

(system-config-printer.py:3677): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

(system-config-printer.py:3677): Gtk-WARNING **: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:gtkiconhelper.c:493:ensure_surface_for_gicon: assertion failed: (destination)
Aborted
root ~ #
Someone has a cue?

openrc the system behind nemesis: printing as an example

Posted: 08 Oct 2017, 14:39
by francois
reinstalling system-config-printer with the --force option did the job.

openrc the system behind nemesis: printing as an example

Posted: 27 Oct 2017, 02:36
by francois
More recently, I got another problem. Rolling distros come with rolling problems:

Code: Select all

[porteus ~]# system-config-printer

(system-config-printer.py:5274): Gtk-WARNING **: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Adwaita/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Aborted
[porteus ~]#
The solution:
https://bbs.archlinux.org/viewtopic.php?id=223801

Code: Select all

[porteus ~]# pman -S shared-mime-info
Thus this has to be added to the printing package.

The first post has been corrected to provide a functional printing package for nemesis kde-plasma edition.
Yeah! :celebrate3:

openrc the system behind nemesis: printing as an example

Posted: 27 Oct 2017, 03:24
by ncmprhnsbl
be aware that shared-mime-info is in 002-gui.xzm
it's possible that reinstalling it causes the install file(see /var/lib/pacman/local/shared-mime-info/install) to be run..
which does this:

Code: Select all

post_remove() {
  if [ -d usr/share/mime ]; then
    rm -f usr/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache}
    rm -rf usr/share/mime/{application,audio,image,inode,message,model,multipart,text,video,x-content,x-epoc}
    rmdir --ignore-fail-on-non-empty usr/share/mime
  fi
}
which may be all thats necessary..

openrc the system behind nemesis: printing as an example

Posted: 27 Oct 2017, 03:46
by francois
So you suggest instead to run the script? It has to be run only once. How do I put that in root copy? :(

openrc the system behind nemesis: printing as an example

Posted: 28 Oct 2017, 17:26
by francois
[porteus modules]# ./script-share-mime-info
bash: ./script-share-mime-info: Permission denied
[porteus modules]#

openrc the system behind nemesis: printing as an example

Posted: 28 Oct 2017, 22:03
by ncmprhnsbl
executable?
chmod +x script-share-mime-info
francois wrote:
27 Oct 2017, 03:46
It has to be run only once. How do I put that in root copy?
i don't know.. maybe more like a wrapper script for system-config-printer that runs this first ..?

openrc the system behind nemesis: printing as an example

Posted: 29 Oct 2017, 20:56
by francois
From guest mode I was able to build brscan4 from AUR with octopi. And then just installed my brother printer as a scanner.

openrc the system behind nemesis: printing as an example

Posted: 29 Oct 2017, 22:55
by francois
Still problem with following error:
Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
script-share-mime-info:

Code: Select all

#!/bin/bash

post_remove() {
  if [ -d usr/share/mime ]; then
    rm -f usr/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache}
    rm -rf usr/share/mime/{application,audio,image,inode,message,model,multipart,text,video,x-content,x-epoc}
    rmdir --ignore-fail-on-non-empty usr/share/mime
  fi
}

exit 0

Code: Select all

[porteus printing-nemesis]# ls -l
total 86484
-rw-r--r-- 1 root root 60157952 Oct 27 02:17 printing-nemesis.xzm
-rwxrwxrwx 1 root root      363 Oct 28 17:23 script-share-mime-info
-rw-r--r-- 1 root root   688128 Oct 27 02:26 shared-mime-info-1.9-1-x86_64.pkg.xzm
-rw-r--r-- 1 root root 27709440 Oct 27 02:21 system-config-printer-1.5.9-3.xzm
[porteus printing-nemesis]# ./script-share-mime-info
[porteus printing-nemesis]# rc-service cupsd start
avahi-daemon  | * Starting avahi-daemon ...                                       [ ok ]
cupsd         | * Starting cupsd ...                                              [ ok ]
[porteus printing-nemesis]# system-config-printer

(system-config-printer.py:3600): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

(system-config-printer.py:3600): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.

(system-config-printer.py:3600): Gtk-WARNING **: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.

(system-config-printer.py:3600): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.
**
Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Adwaita/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Aborted
[porteus printing-nemesis]# gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
[porteus printing-nemesis]# system-config-printer
(system-config-printer.py:3615): Gtk-WARNING **: Could not load a pixbuf from icon theme.
This may indicate that pixbuf loaders or the mime database could not be found.
**
Gtk:ERROR:gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Adwaita/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Aborted
[porteus printing-nemesis]# 
This is the thread for the solution, proposing reinstall shared-mime-info: pacman -S shared-mime-info:
https://bbs.archlinux.org/viewtopic.php?id=223801
Any comments?

In addition to be effective module shared-mime-info-1.9-1-x86_64.pkg.xzm has to be loaded after system-config-printer, so needs a z- at the beginning: z-shared-mime-info-1.9-1-x86_64.pkg.xzm
Thanks.

openrc the system behind nemesis: printing as an example

Posted: 20 Nov 2017, 02:42
by francois
Scanning with nemesis.
For the scanner trying debtap from aur to build from the brscan4 .deb package
https://github.com/helixarch/debtap/blo ... /README.md

And to enable scanner changing 40-libsane.rules to include brother printers
https://forums.linuxmint.com/viewtopic.php?t=223372
Open a shell/terminal by ctrl-alt-T
execute: sudo gedit /lib/udev/rules.d/40-libsane.rules
Then enter the following 2 lines just before the line LABEL="libsane_rules_end":
# Brother scanners
ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"

Save the file and restart your computer.

openrc the system behind nemesis: printing as an example

Posted: 16 Dec 2017, 03:19
by francois
@nm...
Thanks for updating base modules. This made printing capabilities simpler. First post updated accordingly. :)

openrc the system behind nemesis: printing as an example

Posted: 16 Dec 2017, 04:30
by francois
Breakthru with the scanner for brother scanner using debtap. :D

1.0 Install debtap a .deb to .pkg.tar.xz converter, debtap is from AUR and base-devel yaourt could be used.

Code: Select all

pman -S yaourt base-devel
1.1 Add guest to sudoers to be able to compile package from normal user account in /home/guest
/etc/sudoers file for porteus nemesis edition.

Code: Select all

...
## User privilege specification
##
root ALL=(ALL) ALL
guest ALL=(ALL) ALL   #[color=#0000FF]to be added[/color]
...
1.21 Debtap install with yaourt.

Code: Select all

yaourt -S debtap
1.22 Debtap install with with git.
https://wiki.archlinux.org/index.php/Ar ... g_packages

Code: Select all

[porteus debtap]# su guest
[guest@porteus debtap]$ git clone https://aur.archlinux.org/debtap.git
[guest@porteus debtap]$  cd /home/guest/debtap/
[guest@porteus debtap]$ ls
PKGBUILD                       debtap-3.1.4.tar.gz  pkg
debtap-3.1.4-2-any.pkg.tar.xz  debtap.install       src
[guest@porteus debtap]$ makepkg -si
[guest@porteus debtap]$ exit
exit
Update debtap:

Code: Select all

[porteus debtap]# debtap -u
[porteus debtap]# cd ..
[porteus guest]# ls
brscan4-0.4.2-1.amd64.deb  debtap
2.0 Compile the brscan4 scanning driver.
2.1 Download brscan4.deb from brother website to /home/guest folder:
http://support.brother.com/g/s/id/linux ... ml#brscan4

2.2 Convert brscan4.deb with debtap and install it.
Download brscan.deb:
http://support.brother.com/g/s/id/linux ... ml#brscan4

[porteus Downloads]# debtap brscan4-0.4.2-1.amd64.deb
...
[porteus guest]# ls
brscan4-0.4.2-1-x86_64.pkg.tar.xz brscan4-0.4.2-1.amd64.deb debtap
[guest@porteus Downloads]$ sudo /usr/local/bin/pkg2xzm brscan4-0.4.2-1-x86_64.pkg.tar.xz

[/code]
To transform brscan4 itn

2.3 Install brscan4 with the following instructions, this is an eample for the MFC-7860DW brother printer:
viewtopic.php?f=39&t=1336

Code: Select all

guest@porteus:~$ su
Password: 
root@porteus:~# brsaneconfig4 -a name=scanner model=MFC-7860DW ip=192.168.0.107
root@porteus:~# brsaneconfig4 -q | grep scanner
  0 scanner             "MFC-7860DW"        I:192.168.0.107
root@porteus:/opt/brother/scanner/brscan4#
Where ip= is your printer ip address, this was an example. :)

2.4 Make sure your printer is on and tart simple-scan, given that you have installed this utility. The scanner should work flawlessly.

AAAAAAAAHHHHHHHHHHHHHHHH! Enjoy! :punk:

openrc the system behind nemesis: printing as an example

Posted: 16 Dec 2017, 05:00
by ncmprhnsbl
shouldn't need to install git, it's already in core.

openrc the system behind nemesis: printing as an example

Posted: 16 Dec 2017, 05:16
by francois
Removed. :)