HowTo install the Brother DCP-7065DN in Arch Linux (2019)

In 2019, the installation of the Brother DCP-7065DN proves much easier than back in 2011, when I did it last time, since all printing and scan functionalities are provided by the brlaser and brascan4 packages from AUR

$ yaourt -S brlaser brscan4 cups sane

The printer may then be added by opening http://localhost:631/ (may require root)

As a graphical frontend for scanning, simple-scan or xsane may be installed

Enable and startorg.cups.cupsd.service so that printing is also available at startup:

$ sudo systemctl enable org.cups.cupsd.service

Reboot your computer and you are good to go!


How to modify a timestamp of a file

A file can have two timestamp attributes: accessed and modified. You can set them individually, or both to the same time.

If the  accessed and modified time should be the same:

$ touch -a -m -t 201512180130.09 fileName.ext


-a = accessed
-m = modified
-t = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format

If you wish to use NOW just drop the -t and the timestamp.

To verify they are all the same: stat fileName.ext

See: touch man

HOWTO batch resize pictures

Resize and apply prefix:

$ for file in *.jpg; do convert $file -resize 25% re_$file; done

Add suffix _re, place the files in parent folder

$ convert *.jpg -resize 80% -set filename:f '%t' ../'%[filename:f]_re.jpg'

Will place converted files in the folder above.

The option -set filename:f ‘%t’ sets the property filename:f to the current filename without the extension. Properties beginning with filename: are a special case that can be referenced in the output filename. Here we set it to ../’%[filename:f].jpg, which ends up being the image filename with the extension replaced with _re.jpg in the parent directory.

[Guide] CyanogenMod 13 on Xiaomi Mi 4 (cancro)

This guide helps you upgrade your Xiaomi Mi 4 (and Mi 3, which are both codenamed by CyanogenMod as “cancro”) from the stock ROM or CyanogenMod 12 (based on Android “Lollipop” 5.0.x) to CyanogenMod 13 (based on Android “Marshmallow” 6.0.x) without data loss.

A and B are preparatory measures,  before the actual installation process can take palce in steps 1 to 6.

A. Install fastboot

In Arch Linux, install the following package from AUR:


Find further information on fastboot in the CyanogenMod documentation, including how you can install it on other operating systems.

Now boot the device into bootloader (fastboot) mode by rebooting and simultaneously pressing “volume down” and “power”. Connect the phone to your computer with a USB cable.

Check whether fastboot detects your device by running as root or with sudo:

$ sudo fastboot devices 
34a3456b fastboot

If the command returns a device ID and no error message, you are good to go.


B. Download Files

Optionally, you may choose to root your device and/or install Google Apps, which are not shipped with the basic CyanogenMod image:

  • SuperSU root manager: It is recommended to get a stable release.
  • Open GApps: Depending on your preference as to what you want to be included, select pico (minimal Google Play functionality), nano, micro, mini, full, stock or super (all Google Apps).

Copy (or download directly) the CM13, SuperSU and gapps zip files to your device, as they will be installed from recovery.
In my experience, adb did not work. It is therefore easier to simply download the files to the device or transfer them via USB or FTP (i.e. File Manager from Cheetah Mobile).


1. Install TWRP

TWRP will be flashed with fastboot to the device. Connect your device to the computer in fastboot mode, then run:

$ sudo fastboot flash recovery twrp-3.0.2-0-cancro.img

Boot into TWRP:

$ sudo fastboot boot twrp-3.0.2-0-cancro.img


2. Upgrade Baseband

CM 13 needs a different baseband (4.x) than CM 12 (3.x) or the Lollipop based stock ROM.
Flashing a Marshmallow based ROM with baseband 3.x will not work!
Check your version under Settings > About phone > Baseband version

Connect your device to the computer in fastboot mode, then run the following script from the extracted file:

$ sudo sh


3. Install CyanogenMod from recovery

Boot your device to TRWP recovery mode by rebooting and simultaneously pressing “volume up” and “power”. Wipe only the cache and Dalvik/ART (select Advanced Wipe). A factory reset, as described in the official guide, is not required, if you want to keep your data and apps!
Navigate to Install and select the CM13 image file you copied/downloaded to your device.

If you want to install GApps and/or TRWP, DO NOT BOOT YET!


4. Root the device

In TRWP, navigate to Install and select the SuperSU image file you copied/downloaded to your device.

If you want to install GApps, DO NOT BOOT YET!


5. Flash GApps

In TRWP, navigate to Install and select the GApps image file you copied/downloaded to your device.


6. Reboot

Reboot to the system and enjoy your beautiful CM 13!
During startup, you will see the notification “optimizing apps”




After booting into your shiny new ROM, you might encounter the pop-up “unfortunately google play services has stopped”. This is annoying, as it virtually renders your installation useless.
This may happen if you use an unstable nightly ROM, or, most probably you didn’t wipe /data, /cache and /system partitions when upgrading to a new Android version (as from CM13 to CM14), or

Create a poster with pdfposter

Creating a poster of a large format pdf input file split into smaller output files with overlap.

Continue reading

transmission-gtk | Failed to register: Timeout was reached

Transmission BitTorrent client fails to start

When Transmission crashes (e.g. forced quit after a “not responding”), it may refuse to start with the following error message:

$ transmission-gtk 
Failed to register: Timeout was reached

The solution is to delete the settings file:

$ rm ~/.config/transmission/settings.json

If this doesn’t resolve the problem, remove transmission’s whole config directory:

$ rm -r ~/.config/transmission


Android 4.4 Phone Contacts (without Google account)

As of Android Kitkat 4.4.4, the People app will only let you create contacts which are synchronized with a google account by default. It doesn’t let you create a local “Phone contact”, unless you disable “Google Contacts Sync”.

This may be desired if you want to use Android without Google services. You can then choose your preferred groupware solution (kolab, mykolab, openexchange, …) to synchronise your contacts, calendar, etc.

Here is how to do it:

  1. Settings -> Apps -> Tab “All”
  2. “Google Contacts Sync” -> Disable
  3. Create a new contact. It will be marked “Phone only, unsynced contact”
  4. The “Google Contacts Sync” will now show up in a new “Disabled” tab in Settings -> Apps, where it can be re-enabled if need should be.



5 Steps: ThinkPad fingerprint reader on Archlinux

1. Determine what kind of fingerprint reader you have

 ~$ lsusb

On my T400, I read: AuthenTec, Inc. AES2810

2. Determine suitable software

Go to Thinkwiki. You’ll find a list which software (thinkfinger, fprintd) works with your hardware.
The AES2810 in my T400 is said to be unsupported.

3. Try Thinkfinger

I still try it. Thinkfinger doesn’t recognize the reader, indeed.
It keeps complaining:

 Initializing...USB device not found.

4. Try fprintd

I am more lucky with fprintd.
Install fprintd. The official wiki is outdated and doesn’t do the job for me!

        •  Install the following packages:
          ~$ pacman -S pam fprintd
        • The wiki suggests installing the following packages as dependencies. I already had them installed, so I cannot tell if they are really needed.
           ~$ pacman -S libusb imagemagick

5. Configuration

The Configuration section of the Arch wiki works fine, except from the “Create fingerprint signature”.

          1. Permissions according to wiki
          2. Login Configuration according to wiki
          3. Create Fingerprint Signature
            Add a user and save fingerprint:

             ~$ fprintd-enroll [username]

Firefox location bar search engine: scroogle & startpage

What a wonderful world it was when was running smoothly!
It has become annoying recently, however, because Google seems to be blocking Scroogle by declaring it a bot.

So I was looking for alternative engines for my default address bar search, which feature the same google-based powerful results.


Startpage has even more features than scroogle!

Open search results via a proxy

Open Link via Proxy

Personalized – but anonymous – searches

Startpage Advanced SearchStartpage Settings

Open about:config
and replace the entry in keyword.URL with


Is a another alternative search engine that claims to provide anonymous search results, not only from Google, but also from Bing, Yahoo and Dropbox.

However, I get localized search results in German based on my IP, which is a deal breaker to me.

Pacman is currently in use, please wait.

When an update gets interrupted in some way, that is, pacman/yaourt cannot finish its job, pacman may be locked for further use.

$ yaourt -Syu
==> Pacman is currently in use, please wait.

You can unlock pacman by removing

$ rm /var/lib/pacman/db.lck

And pacman/yaourt will be working again!