Skip navigation.
Notebook » Manjaro TnT

Manjaro Linux: Tips 'n Tricks


I love Manjaro Linux, based on Arch Linux. It's the right distribution for me:

  • Simple. Conceptually and operationally. Install it, and it works. Everything is where it should be.
  • Fresh. It is a rolling release: every program is always kept up-to-date. At all time. You don't have to wait for next release until feature X of your favorite program is made available for your distribution. And especially, you don't have to upgrade (or reinstall) your distribution in order to get your much needed feature. Never.
  • Stable. Even if your system is continuously being updated, Arch and Manjaro teams do a very good job in keeping your system completely functional at all time. I've had fewer problems with Manjaro than with any other operating systems at all (including Windows, of course).
  • Fast and lean. Systemd boots your system in a few seconds. Manjaro is fast, really fast.
  • Complete. You need a program? The latest version is in the official repository. If not, it is in the AUR. What is the AUR? The Arch User Repository, a user-contributed repository that contains "receipes" (scripts) to automatically download, compile, package and install almost any Linux-related piece of software on the earth. You issue a single command, and your program gets installed.
  • Infinitely customizable. Everything is modular. Everything can be modified. The exceptional Arch wiki explains in a clear and concise way how to customize every aspect of the system.

Summarizing, Manjaro is fun.

I feel that some aspects of the system shoud be cofigured differently, by default. I always tune the OS a little bit when I install it on a new computer. I'm going to explain the most important things that I change, both as a future reference for me, and to share it with the community.

Systemd journal size limit

Systemd journal contains a log of what happens in the system, especially during boot. It can be useful if something goes wrong, but, if you don't limit its size (so that it contains the latest messages only), it ends up in growing too much. From the Arch wiki:

If the journal is persistent (non-volatile), its size limit is set to a default value of 10% of the size of the respective file system. For example, with /var/log/journal located on a 50 GiB root partition this would lead to 5 GiB of journal data. The maximum size of the persistent journal can be controlled by SystemMaxUse in /etc/systemd/journald.conf, so to limit it for example to 50 MiB uncomment and edit the corresponding line to:

SystemMaxUse=50M

Use the fastest mirrors

When you download software or updates from the repository, be sure to connect to the fastest mirror. It is determined automatically by Manjaro: simply run the utility

 
sudo pacman-mirrors -g

Access the AUR through Pacaur

Yaourt is the default utility to install a program from the AUR. It has two problems: it is very verbose (it interrupts the installation continually to ask (silly) questions), and the default configuration makes it unable to install large packages (because it compiles them in RAM).

We address both the problems by installing and configuring an alternative package manager, pacaur. Install it using yaourt:

 
yaourt -S pacaur

Then, I suggest to change these options in the config file /etc/xdg/pacaur/config:

 
builddir=/var/pacaur/tmp       # build directory on disk: you must create and grant write permissions to this dir
editpkgbuild=false             # don't ask if user wishes to edit build script
editinstall=false              # don't ask if user wishes to edit install script
sudoloop=true                  # prevent timeout, if user doesn't insert sudo password in time
 

Periodically clean package cache

When you download a package from the repositories, it is stored (forever) in a local cache. This may be useful, for example, to revert to a previous version of a package if a newer version does not work properly; however, it ends up polluting your hard disk. The following commands clear all but the latest 3 versions of each package that is actually installed on your system, and delete all of the older, and all of the unused packages:

 
sudo paccache -r
sudo paccache -ruk0

Recommended proprietary software

  • WPS Office Community (pacaur -S wps-office): free, but proprietary, office suite with a very good compatibility with Microsoft Office
  • Foxit Reader  (pacaur -S foxitreader): KDE Okualr is a beautiful and handy PDF viewer, but it lacks the capability to adjust the scale when printing. Use Foxit with caution, it is unmaintained (and thus potentially vulnerable).
  • Microsoft Office: if you own a license of Microsoft Office and you absolutely need the suite, install it on wine. Office 2010 works like a charm (at least the basic programs: Word, Excel and Powerpoint). I had to activate the program by phone, since Internet activation did not work.

Some notes (useful for my own system)

BTRFS for system, EXT4 for /home

In Calamares select custom partitioning:

  • locate the small (e.g., 230 MB) FAT32 EFI system partition. Mount to /boot/efi and apply flags: boot, esp
  • locate the main Windows NTFS partition. Resize e.g. to 128 GB
  • create a "mid-sized" BTRFS partition, e.g. 40 GB. Mount to / and apply flag: root
  • create a large EXT4 partition filling the remaining space. Mount to /home

TLP switches off external sound card

TLP switches off external sound card (Lexicon Alpha) after some seconds of inactivity.

From Manjaro forum: Edit the file in /etc/default/tlp. Disable the autosuspend by editing a line like this:

USB_AUTOSUSPEND=0

Odroid printing server

  1. Configure printer in Odroid. Since HP proprietary plugin isn't (wasn't?) available for ARM processor, install foo2hp driver.
  2. Windows client machines: either use Windows driver or download and install driver from HP website (the latter correctly supports duplex printing).
    Then, add a new printer and type the URL of the printer, exactly as it appears on Odroid CUPS web page, e.g. http://odroid:631/printers/HP-Color-LaserJet-CP1215
  3. Linux (Manjaro) client machines: no drivers needed, because rendering will take place on Odroid machine! To achieve this, IPP protocol must be used. Add a new printer and paste printer address, but replace protocol from http to ipp, e.g.: ipp://odroid:631/printers/HP-Color-LaserJet-CP1215