Some Linux Related Tips

Using an Epson MFP on OpenSuSE Leap

Buying a printer for use with Linux ist unfortunately even in 2019 not a no-brainer. As if it was not hard enough to decide between distinct printing technologies and distinct vendors and to find a balance between printer costs and costs of consumables, you really have to look hard for compatibility. I chose an ink printer this time, and I did not want a device that comes with software that clutters my screen and shows nagging messages and phones home every time I print something, so the choice was somewhat limited.

Epson offers Linux software without support for its printers and multifunction devices. As the scanning software is partially proprietary and does not contain all the source code, you can not be sure that it will run on your next distribution. For printing, it helps to buy a more expensive device that emulates PCL and PostScript. Epson will charge you about a hundred bucks more for this than for its corresponding GDI devices (e.g. for a WF-C5790 instead of WF-C5190). Apparently, Epson uses GhostScript instead of real PostScript, but I did not discover any disadvantages.

For printing, I used the .ppd.gz file from Epson with CUPS. There was no need to tweak anything.

The scanning software for OpenSuSE comes as an RPM, so installation ist quite easy. There ist scan support in your favorite graphics software (GIMP) via SANE, and there comes a standalone tools that produces multi-page PDF. What did not work out of the box for me was changing the scanning resolution. Strange enough, the fix is easy:

Edit the Epson:...drc File for your scanner in the .sane/xsane subfolder of your home directory. Find the line post "resolution-bind" and change the 1 to 0. This is all there is.

Installing the G'MIC plugin for Gimp on OpenSuSE Leap

G'MIC features lots of fancy filters. You should perhaps not try them, it steals all of your spare time.

Installing the Resynthesizer plugin for Gimp on OpenSuSE Leap

This is probably too trivial to write about, but I'll do it anyway. Ther resynthesizer is an amazing tool for removing irregularities from pictures, e.g. people, skin defects and so on.

You should be done, but I wasn't. I had to copy the Python scripts from the global Gimp plugin directory to my private Gimp plugin directory. You may lookup the plugin directories by editing settings within Gimp, clicking on the arrow at Folders (left, at the bottom), then plugins. My command was, at last:
cp /usr/local/lib64/gimp/2.0/plug-ins/* ~/.gimp2-8/plug-ins/
Then I had to restart Gimp. Oh, and before you ask: I had deleted pluginrc in my Gimp folder.

Silencing the Windows key (EnduraPro keyboard)

My old IBM Model M keyboard finally ceased to work so I had to look for an adequate replacement. Besides the better Cherry models, e.g. G81-3000, there are yet more sophisticated keyboards from several vendors. To keep the original feeling, and as improvement leaves a better feeling than replacement I decided to buy an EnduraPro keyboard directly from Unicomp. The EnduraPro features a pointing stick. This should raise productivity as the right hand has not to leave the keyboard for mouse movements that often. For a few bucks more I could also get some special caps for the windows keys – see photograph. The keyboard arrived within five days. If you consider importing one for yourself, you should take customs duty into account, too.

EnduraPro Keyboard (detail) with Penguin keycap Detail of the EndruaPro keyboard. You may notice the pointing stick as well as the mouse buttons and the strange order of special keys to the right of the space bar.

During the first days, I often got annoyed because I hit the right windows key when AltGr was intended. I first thought it was because the Model M had had no windows keys at all. But looking at keyboards at work I found out that I was wrong: All keyboards I have to deal with have (left to right) space bar, AltGr, Windows key, menu key, the EnduraPro has Windows key, AltGr, menu key. Nasty. If you do some programming, you need the AltGr key over and over again. No wonder I kept hitting the windows key.

The windows and AltGr keys are not equally wide, so simply swapping them is not an option. So I decided to map the right windows key to something less distracting than calling the system menu. I had to learn that on my OpenSuSE Leap KDE desktop, tips for using xmodmap just do not work. KDE system settings did the trick. In KDE system settings, you can only choose between several common remappings, you are not as free as with xmodmap, so I mapped ‘compose’ onto the right windows key.

For MS Windows, there is a registry entry to remap keys – see here. This is not comfortable, but it works and you do not have to install any additional software. Besides, it works on any current windows version. I decided to make the right windows key useless there. This does not help against hitting the right windows key by accident, but at least focus is not lost.

Undoing Unzip

Unzipping something into an already existing directory structure is not that easy to undo. Here is a way that works for me:

Some words of caution:

Correcting a TeX Type 1 Font Mess

This article deals with complications with the use of unofficial fonts with TeX on OpenSuSE leap.

My System

I am using OpenSuSE (and its predecessor SuSE Linux) for several years. As it was never necessary to setup a fresh system even when mainboards and harddisks got changed (hello windows users, is there any envy on your side?), my system grew and aged. My TeX system now consists of three TDS trees:

The transition to use these trees in this way took some time, years ago. If you do not bother to keep your TeX files separated like this: You really should.

Font trouble

Trouble started when I installed the Roboto fonts. It took me some time to have pdfTeX find them. When it finally did, Lucida support was broken, albeit in a strange way: mktexpk automatically generated pk fonts (bitmaps) in type 3 format and included them into the final PDF file. I did not want this. There are pixels visible at higher resolutions, file size bloats. Now to the resolution:

Having changed your TDS trees, you always should run mktexlsr or texconfig rehash in superuser mode to make your TeX system find the changed files. Having installed fonts, you have to use updmap. And this is where the trouble came from.

When you call updmap, updmap will list its config files. The order is quite important. Unless you do something special, updmap will always change the first listed config file. My list looks like this:

/etc/texmf/web2c/updmap.cfg
/usr/local/share/texmf/web2c/updmap.cfg
/usr/share/texmf/web2c/updmap.cfg

The first and third are identical, as OpenSuSE sets a link. updmap understands that the first file is system-wide, so it warns about hidden sys mode. If you see this warning, you may—like me—probably be tempted to run updmap-sys in superuser mode. Unfortunately, this will not help, as updmap-sys will not incorporate things from private TDS trees. The solution is to supply your own updmap.cfg in the command line to updmap and to run it in superuser mode, like this:

sudo updmap --cnffile /usr/local/share/texmf/web2c/updmap.cfg --force
  --enable Map lucida.map

By the way, Kpathsea offers valuable tools for debugging. kpsewhich shows which file will be used, while kpsewhere shows all files with the name you are looking for. Calling pdfTeX with kpathsea debugging (pdflatex --kpathsea-debug -1 >logname 2>&1 filename) shows all the efforts of kpathsea.

It looks so easy, in retrospect, but in fact there had been moments where I was in despair. But even then, I did not consider to edit the font maps by hand.

Having NumLock switched on by default

With OpenSuSE 42.2, you have to use KDE system settings to permanently enable NumLock, /etc/sddm.conf and /stc/sysconfig/keyboard are not working.

Fighting with Akonadi (Kontact/KMail)

For years I have been using Kontact, unfortunately my satisfaction diminished. Recently, Kontact often shows "retrieving folder contents" for a long time, getting duplicated mail headings is quite common, etc.

What I have done so far: