> Archief

dinsdag, 09 maart 2011

Life without CUPS

Nowadays, CUPS is probably the most used printing system in Linux/Max OS X. CUPS follows the client-server model, but you'll often find both systems installed on single user systems like laptops. This is fine for most use cases, but can create complex situations where a separate print server is used. This is the case at Grafikon, where we use a commercial LPD on Solaris. The Kubuntu CUPS client sends the print job to localhost, where it is filtered, spooled and send to the LPD queue on a Solaris server. The Solaris server then spools and sends the job to the printer. On some printers, it will be spooled again.

There are two problems with our local spool. Layout of printed pages is different when printing from the local application or from pdf. Also, print jobs tend to be large (+5GB), and the spool can fill the virtual hard drive which can lead to system crashes.
So, what we want is direct printing to the print server. Also, having to configure printers on 1 system is a plus.

CUPS can print directly to the LPD by using the lpr-compatible lpr command (cups-bsd). At least that's what the documentation tells us. I filed the truth at Launchpad Bug #768111. Luckily for us, lprng seems to do the job just fine.

So, is this just a case of # aptitude install lprng ? Apparently it is in Debian, but I made the mistake of choosing an Ubuntu based distribution some years ago. Kubuntu-desktop has a hard dependency on cups. Installing lprng will want to remove kubuntu-desktop and that can possibly break your system. The dependency on cups will have to be removed or moved to recommends. Open source to the rescue!

Changing dependencies of the kubuntu-desktop package

  1. Download the source:
    root@xpp-back /home/alvin# apt-get source kubuntu-desktop
  2. Backup the downloaded source. On Lucid, this would be:
    root@xpp-back /home/alvin# cp -v kubuntu-meta-1.174.1 kubuntu-meta-1.174.1.ORIGINAL
  3. Change to the directory that contains the source of kubuntu-meta:
    root@xpp-back /home/alvin# cd kubuntu-meta-1.174.1
    This is how it looks:
    root@xpp-back /home/alvin/kubuntu-meta-1.174.1# ls -lh
    total 82K
    -rw-r--r-- 1 root root  18K Jun 15  2006 COPYING
    -rw-r--r-- 1 root root  291 Dec 24  2004 README
    drwxr-xr-x 4 root root   14 Apr 26 13:41 debian
    -rw-r--r-- 1 root root   14 Jun  3  2010 debootstrap-version
    -rw-r--r-- 1 root root 8.2K Jul  4  2007 desktop
    -rw-r--r-- 1 root root  569 Apr 26 13:39 desktop-amd64
    -rw-r--r-- 1 root root  666 Jun  3  2010 desktop-armel
    -rw-r--r-- 1 root root  569 Apr 26 13:39 desktop-i386
    -rw-r--r-- 1 root root  661 Jun  3  2010 desktop-ia64
    -rw-r--r-- 1 root root  661 Jun  3  2010 desktop-powerpc
    -rw-r--r-- 1 root root 1.8K Apr 26 13:40 desktop-recommends-amd64
    -rw-r--r-- 1 root root 1.6K Jun  3  2010 desktop-recommends-armel
    -rw-r--r-- 1 root root 1.8K Apr 26 13:40 desktop-recommends-i386
    -rw-r--r-- 1 root root 1.5K Jun  3  2010 desktop-recommends-ia64
    -rw-r--r-- 1 root root 1.6K Jun  3  2010 desktop-recommends-powerpc
    -rw-r--r-- 1 root root 1.5K Jun  3  2010 desktop-recommends-sparc
    -rw-r--r-- 1 root root  661 Jun  3  2010 desktop-sparc
    -rw-r--r-- 1 root root   48 Jun  3  2010 metapackage-map
    -rw-r--r-- 1 root root  694 Jun  3  2010 netbook-amd64
    -rw-r--r-- 1 root root  699 Jun  3  2010 netbook-armel
    -rw-r--r-- 1 root root  694 Jun  3  2010 netbook-i386
    -rw-r--r-- 1 root root  694 Jun  3  2010 netbook-ia64
    -rw-r--r-- 1 root root  694 Jun  3  2010 netbook-powerpc
    -rw-r--r-- 1 root root 1.7K Jun  3  2010 netbook-recommends-amd64
    -rw-r--r-- 1 root root 1.7K Jun  3  2010 netbook-recommends-armel
    -rw-r--r-- 1 root root 1.8K Jun  3  2010 netbook-recommends-i386
    -rw-r--r-- 1 root root 1.6K Jun  3  2010 netbook-recommends-ia64
    -rw-r--r-- 1 root root 1.6K Jun  3  2010 netbook-recommends-powerpc
    -rw-r--r-- 1 root root 1.6K Jun  3  2010 netbook-recommends-sparc
    -rw-r--r-- 1 root root  694 Jun  3  2010 netbook-sparc
    -rwxr-xr-x 1 root root  225 Oct 19  2006 update
    -rw-r--r-- 1 root root  621 Dec  9  2009 update.cfg
  4. To move the cups parts from depends to recommends, we need to edit some files and move the following lines from desktop-<arch> to desktop-recommend-<arch>:
    • cups
    • cups-bsd
    • cups-client
    • foomatic-db
    • foomatic-db-engine
    • foomatic-filters
    • openprinting-ppds
  5. (Optional): it is now possible to create a patch containing the changes:
    root@xpp-back /home/alvin/kubuntu-meta-1.174.1# diff -ur ~/kubuntu-meta-1.174.1.ORIGINAL ~/kubuntu-meta-1.174.1 > ~/kubuntu-meta-1.174.1.patch
  6. List your changes in the changelog. This is neccesary in order to create a new version number. Add a number, so the newly created package will be replaced when newer official versions become available.
    root@xpp-back /home/alvin/kubuntu-meta-1.174.1# vi debian/changelogExample of a changelog (kubuntu-meta)
  7. On (K)Ubuntu, the necessary software to compile is not installed by default. Install the build-essential package:
    root@xpp-back /home/alvin# aptitude install build-essential
  8. Some packages have extra requirements in order to build it. These are listed as Build-depends in debian/control
    Install them automatically with:
    root@xpp-back /home/alvin# aptitude build-depends kubuntu-desktop
  9. Now build a binary package
    root@xpp-back /home/alvin# dpkg-buildpakage -b

Done. There should now be a file called kubuntu-desktop_1.174.1.1_i386.deb in the parent directory. Install it with # dpkg -i kubuntu-desktop_1.174.1.1_i386.deb

Installing lprng

Now that kubuntu-desktop is replaced, we can install lprng and remove cups at the same time. The package manager will take care of conflicts.

# aptitude install lprng

Aptitude will warn you that cups-bsd will be removed, but will not want to remove kubuntu-desktop. You will get some warnings. If the package manager wants to remove kubuntu-desktop, something went wrong in the preparation.

Accept this solution? [Y/n/q/?] y
The following NEW packages will be installed:
  enscript{a} lprng 
The following packages will be REMOVED:
  bluez-cups{a} cups{a} cups-bsd{a} cups-client{a} cups-driver-gutenprint{a} foo2zjs{a} foomatic-db{a}
  foomatic-db-engine{a} foomatic-db-gutenprint{a} ghostscript-cups{a} hpijs-ppds{a} hplip{a} kbluetooth{a}
  kdebluetooth{a} openprinting-ppds{a} openprinting-ppds-extra{a} pxljr{a} splix{a}
0 packages upgraded, 2 newly installed, 18 to remove and 0 not upgraded.
Need to get 1622kB of archives. After unpacking 174MB will be freed.
Do you want to continue? [Y/n/?]

Configuring lprng

Read The LPRng reference manual.

donderdag, 05 maart 2010

Quassel IRCQuassel IRC: Chat comfortably. Everywhere.

Quassel is de standaard IRC client in Kubuntu sinds versie 8.04. (Hardy Heron). Het programma heeft een client-server model en is daarmee een interessant alternatief voor Screen + Irssi op desktops met een X Window omgeving. Het werkt tevens op andere operating systemen, zoals Microsoft Windows en Mac OS X.

Dit concept is natuurlijk leuk, en daar ik over enkele nieuwe servers beschik moet die software dus wat uitgebreider getest worden. Liefst met meerdere gebruikers. In #quassel werd mij aangeraden om in dat geval niet de SQLite, maar de PostgreSQL backend te gebruiken. Ik besloot om de installatie zo professioneel mogelijk aan te pakken met mijn bescheiden huis-tuin-en-keuken serverparkje. (Eigenlijk is die keuken nog niet van toepassing. Wie een koffiezet met netwerkaansluiting kan vinden mag het zeker laten weten.)

De installatie op Ubuntu 9.10 servers

Hiervoor gebruikte ik 2 Ubuntu JeOS servers.

Database server

  1. Installeer postgresql:
    alvin@jessica: ~$ sudo aptitude install postgresql
  2. Ubuntu creert de standaard database cluster met SQL_ASCII encoding. Uit de PostgreSQL documentatie blijkt dat dit een zeer slecht idee is. Een mogelijke oplossing indien er nog geen data in de databases steekt.
    Initialiseer PostgreSQL met UTF-8:
    alvin@jessica: ~$ sudo pg_dropcluster --stop 8.4 main
    alvin@jessica: ~$ sudo pg_createcluster --start -e UTF-8 8.4 main
  3. Enable TCP/IP connections:
    Wijzig /etc/postgresql/8.4/main/postgresql.conf, en verander #listen_addresses = 'localhost' naar listen_addresses = '*'
  4. Sta MD5 authentication toe op het lokaal netwerk:
    Voeg toe in /etc/postgresql/8.4/main/pg_hba.conf:
    host all all 192.168.1.0/24 md5
  5. Maak user en database:
    alvin@jessica: ~$ sudo -u postgres psql
    postgres=# CREATE USER quassel ENCRYPTED PASSWORD 'somepassword';
    CREATE ROLE
    postgres=# CREATE DATABASE quassel WITH OWNER quassel ENCODING 'UTF8';
    CREATE DATABASE
  6. Herstart postgresql daemon:
    alvin@jessica: ~$ sudo /etc/init.d/postgresql-8.4 restart

quasselcore server

  1. Installeer quasselcore en de PostgreSQL plugin voor Qt 4:
    alvin@gurney: ~$ sudo aptitude install quassel-core libqt4-sql-psql
  2. Maak connectie met de quasselcore via een Quassel Client, kies voor de postgresql backend en vul de gevraagde gegevens in.
  3. (optioneel) Maak extra gebruikers:
    alvin@gurney: ~$ sudo -u quasselcore quasselcore --configdir=/var/cache/quassel --add-user
dinsdag, 28 oktober 2008

Guns n’ Roses (acteurs gevraagd)

Mijn jaren als acteur liggen reeds een tijd achter me, maar vorige week vroeg een vriend me om opnieuw dit lang niet gebruikte talent boven te halen. Dit keer geen podium, maar een filmset voor een kleine rol. Hij is echter nog dringend op zoek naar 2 mannelijke acteurs met ervaring:

Ben je tussen de 17 en 30 jaar en heb je op één of andere manier al wat toneelervaring opgedaan? Dan heb ik wellicht wel een grote uitdaging voor u klaar liggen. Op 8 en 9 november 2008 gaan te Lissewege (Deelgemeente Brugge - West-Vlaanderen) opnames door van een creatief filmproject. Om het project te doen slagen zijn wij momenteel nog op zoek naar 2 acteurs die de uitdaging aandurven om een film van 10 minuten in één shot op te nemen.
Alle technische middelen zijn ter beschikking om de slaagkans zo groot mogelijk te maken. Alleen een groep gemotiveerde, creatieve acteurs zijn nog nodig om het verhaal krachtdadig weer te geven. Ben je geinteresseerd of wens je meer informatie hieromtrent, aarzel dan niet een stuur snel een e-mail naar olivier.grenelle@telenet.be.
-- Olivier Grenelle

Uitgebreidere informatie

Persoonlijk kan ik er aan toevoegen dat deelname een mooie blik zal geven op de Vlaamse amateur filmwereld. Olivier is daar zeker geen onbekende en heeft al een heleboel prijzen op zijn naam staan.

dinsdag, 13 februari 2008

FosdemI'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

Dit jaar ga ik opnieuw naar Fosdem (Brussel), het grootste Europese congres voor ontwikkelaars van vrije en open bron software. Ik ga elk jaar 1 dag, maar weet dit jaar nog niet te kiezen. Zaterdag 23 februari staan Perl6, Amarok en KDE voor Windows op het programma. Zondag 24 februari wordt virtualisatie behandeld.

Ge´┐Żnteresseerden kunnen mij contacteren om in groep hier naartoe te gaan.

dinsdag, 13 februari 2008

CSS

De site ziet er eindelijk eens uit zoals ik wou hebben. Misschien wat aan de droge kant, maar de DIV's springen tenminste niet meer alle kanten uit. Microsoft Internet Explorer doet nog wat vreemd, maar daar zal ik niet langer naar omzien. Het W3C moet ook een bestaansreden hebben.

vrijdag, 23 november 2007

Hoofd- en kleine letters

Ergens in de eerste jaren van onze schooltijd krijgt iedereen het op zijn bord: het verschil tussen hoofdletters en kleine letters. Anno 2007 is er echter nog steeds een niet nader te noemen OS dat geen onderscheid kan maken tussen vensters en Vensters.

De meeste filesystemen kennen dit verschil echter wel. Bij de installatie van Mac OS X (10.5) "Leopard" krijg je de keuze tussen Mac OS Extended (Journaled) en Mac OS Extended (Case sensitive, journaled). Een eenvoudige beslissing dus. De tevredenheid duurt echter tot je Adobe Creative Suite CS3 gaat installeren en doodleuk de melding krijgt: Filesystem not supported. Voor de installatie van dit ene, ongeveer 2700 Euro kostende programma moet je dus je ganse systeem herinstalleren?

Link met Adobe's "oplossing" voor deze bug:
maandag, 20 november 2007

Nanu Nu evenement

De uitstap was een verrijking. Alle leden van de groep vonden dat ze iets bijgeleerd hebben. Ik voelde mijn bezigheden in de informatica zelfs als ouderwets aan. Uiteindelijk hebben we natuurlijk wel veel speculatie en theoriëen gehoord, maar ook ervaren hoe ver de wetenschap al gevorderd is op dit gebied.

zondag, 4 november 2007

Nano NuNot an electron microscope

9, 10 en 11 november vindt in het Vlaams parlement te Brussel het festival voor Nanowetenschap en Nanotechnologie plaats. Geïnteresseerden kunnen mij contacteren om in groep hier naartoe te gaan op zaterdag 10 november.

Meer informatie is te vinden op http://wwww.nanonu.be.

zondag, 4 november 2007

Vernieuwde website

Na een paar sessies met de nodige CSS-Fu begint de site stilaan vorm te krijgen. Dit wordt mijn persoonlijk plaatsje op het web. Af en toe zal er wat materiaal te koop staan, maar het is vooral de bedoeling hier wat technische praat uit te slaan en een server te hebben waar documenten kunnen gehost worden. Voorlopig ziet het er helemaal niet goed uit in Firefox en Microsoft Internet Explorer. Dat komt ervan als je enkel test in Konqueror... Needs more CSS-Fu.