General recommendations

From ArchWiki
Revision as of 19:57, 23 December 2009 by Pwd (talk | contribs) (DNS speed improvement: less verbose)
Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:I18n entry Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

This page is currently under construction. The final result will be a merged Post Installation Tips and Beginners' Guide Appendix. See Talk:Post Installation Tips#Duplication of effort (merge?) for details.

The intended style is that of an "index" of popular or otherwise frequently-sought information. This page should contain no real "content", but rather short introductions/descriptions of a problem/application followed by a suitable wiki link for interested parties.

That said, please keep headings alphabetical.

Preface (draft)

I think it shouldn't call using AUR helpers an optional practice since the article has instructions for using yaourt. Remember that its referring to their necessity within the context of the article, not to AUR's functioning in general. pwd 13:45, 23 December 2009 (EST)

2:The 'frequently-sought rep is also present below, besides the temporary intro that's bound to be removed. Changed to 'commonly wanted' for now. pwd 14:31, 23 December 2009 (EST)

This document is an annotated index of other popular articles and commonly wanted information. Various pages listed here will require using pacman to install additional packages present in the Official Repositories, and those in the unofficial Arch User Repository by employing makepkg with the optional aid of an AUR helper. As such, the concept of package management should be fully understood before continuing.

Besides the aforementioned, there are other subjects that are normally considered crucial requirements for a functional system. If a graphical user interface is desired, please read Xorg first, whereas users interested in printing should make reviewing CUPS a priority, and lastly, all users can familiarize themselves with the file system by heeding FHS' illustration.

Furthermore, readers are assumed to have read and followed the Beginners' Guide or Official Arch Linux Install Guide to obtain a basic Arch Linux installation.


This section contains frequently-sought "eye candy" tweaks for an aesthetically pleasing Arch experience. For more, please see Category:Eye candy (English).

Colored output

I'd like to see a general "colorizing wrapper" section here, mentioning cope and acoc (and maybe others?) I've never used such tools myself, though...

Even though a number of applications have built-in color capabilities, installing a general-purpose, colorizing wrapper such as Template:Package AUR is another route. To install Template:Codeline using yaourt:

$ yaourt -S cope

Or for the oftenly updated git version:

$ yaourt -S cope-git

Console prompt

The console prompt (PS1) can be customized to a great extent. See the What's your PS1? forum thread for ideas, also see Color Bash Prompt if using Bash or Zsh#Prompts if using Zsh.

Emacs shell

Emacs is known for featuring options beyond the duties of regular text editing, one of these being a full shell replacement. Consult Emacs#Colored output issues for a fix regarding garbled characters that may result from enabling colored output.


Beyond aesthetics, Template:Codeline's color output is immensely useful for learning Template:Codeline and Template:Codeline's functionality.

To add it, write the following entry to Template:Filename:

export GREP_COLOR="1;33"
alias grep='grep --color=auto'

The variable Template:Codeline is used to specify the output color, in this example a light yellow color.

Although the man page of Template:Codeline states that Template:Codeline is deprecated and that Template:Codeline is preferable, this variable will not work (as of grep version 2.5.4) so continue to use Template:Codeline for now.


File Template:Filename should already have the following entry copied from Template:Filename:

alias ls='ls --color=auto'

The next step will further enhance the colored Template:Codeline output; for example, broken (orphan) symlinks will start showing in a red hue. Add the following to Template:Filename and relogin, or source the file:

eval `dircolors -b`
Note: These are not single quotes/apostrophes; these are backquotes/backticks/grave accents.

Man pages

Man pages (or manual pages) are one of the most useful resources available to GNU/Linux users. To aid readability, the pager can be configured to render colored text as explained in Man Page#Colored man pages.


A plethora of information on the subject of fonts can be found in the Fonts and Font Configuration articles.

Console fonts

If spending a significant amount of time working from the virtual console (i.e. outside an X server), users may wish to change the console font to improve readability; see Fonts#Console fonts.

LCD filtered fonts

Font rendering software can be patched to provide smoother fonts on LCD monitors by taking advantage of sub-pixel elements; see Font Configuration#LCD filter patched packages.


This section contains information pertaining to the boot process. An overview of the Arch boot process can be found at Arch Boot Process. For more, please see Category:Boot process (English).

Backgrounding daemons

Daemons are programs that run in the background, and are typically started during boot. In order to speed up the boot process, certain daemons can be backgrounded, allowing the boot process to continue whilst the daemon loads. See Daemon for a complete explanation.

Hardware auto-recognition

Hardware should be auto-detected by udev during the boot process by default. A potential improvement in boot time can be achieved by disabling module auto-loading and specifying required modules manually, as described in rc.conf#Hardware. Additionally Xorg should be able to auto-detect required drivers using HAL, but users have the option to configure the X server manually, too; see Xorg Input Hotplugging.

LILO speed improvement

Besides GRUB, LILO is the most widely known Linux boot loader, legacy or not. Follow instructions shown in LILO#Sample setup for making the most out of its features.

Num Lock activation at boot

Num Lock is a toggle key found in most keyboards. For activating Num Lock's number key-assignment during startup, see Activating Numlock on Bootup.

Retaining boot messages

Once it concludes, the screen is cleared and the login prompt appears, leaving users unable to gather feedback from the boot process. Disable clearing of boot messages to overcome this limitation.

Start X at boot

If utilizing an X server to provide a graphical user interface, users may wish to start this server during the boot process rather than starting it manually after login. See Display Manager if desiring a graphical login or Start X at boot for methods that do not involve a display manager.

Console improvements

This section applies to small modifications that better console program's practicality


Bash additions

A list of miscellaneous Bash settings, including completion enhancements, history search and readline macros is available in Bash#Extended usage.

Compressed files

Browsing compressed files

Extracting compressed files

Control echo

Mouse support

Using a mouse with the console for copy-paste operations can be preferred over screen's traditional copy mode. Refer to Console Mouse Support for comprehensive directions.


This section contains popular input device configuration tips. For more, please see Category:Input devices (English).

Adjusting mouse scroll wheel (deprecated?)

This section is probably unnecessary (from Beginners' Guide Appendix#Adjusting Mouse for scroll wheel) since input hotplugging is enabled by default. Users messing around with xorg.conf should already know what they're doing, IMHO.

Configure all mouse buttons

Owners of advanced or otherwise non-standard mice with may find that not all mouse buttons are recognized by default, or may wish to assign different actions for extra buttons. Instructions can be found in Get All Mouse Buttons Working.

Keyboard layouts

Non-English or otherwise non-standard keyboards may not function as expected by default. To define the keymap in virtual consoles, the KEYMAP variable must be set in rc.conf. For Xorg users, the required changes are described in Xorg#Keyboard layout.

Laptop touchpads

Many laptops use Synaptics or ALPS "touchpad" pointing devices. These, and several other touchpad models, use the Synaptics input driver; see Touchpad Synaptics for installation and configuration details.

Power management

This section may be of use to laptop owners or users otherwise seeking power management controls. For more, please see Category:Power management (English).


Users can configure how the system reacts to ACPI events such as pressing the power button or closing a laptop's lid using acpid.

CPU frequency scaling

Modern processors can decrease their frequency and voltage to reduce heat and power consumption. Less heat leads to a quieter system and prolongs the life of hardware. cpufrequtils is a set of utilities designed to assist CPU frequency scaling.


For articles related to portable computing along with model-specific installation guides, please see Category:Laptops (English). For a general overview of laptop-related articles and recommendations, see Laptop.

Laptop mode

TODO: Expand Laptop Mode Tools; merge Beginners' Guide Appendix#Laptop-Mode

Suspending and hibernation

Several options are available to users desiring suspend-to-RAM (sleep/stand-by) and suspend-to-disk (hibernate) functionality. pm-utils describes one popular method, while hibernate-script is an older alternative that does not depend on Xorg packages.


Disable IPv6

Not only does the module take around 250k of memory, it has also been reported that disabling it notoriously speeds up network access for programs that erroneously try to query servers with it, one of the affected applications being Firefox. So until the widespread adoption of IPv6, it may be beneficial to disable it.

DNS speed improvement

To improve load time by caching queries, use pdnsd, a very simple program that does not attempt to fill every need. Or install dnsmasq, a more comprehensive choice which also supports turning the system into a DHCP server.

System administration

Package management

Should this section be included here (under sys. admin.) or kept separate?

Agree with keeping it here

Aliases for pacman

Aliasing a command, or a group thereof, is a way of saving time when using the command prompt. This is specially helpful for repetitive tasks that don't need significant alteration to their parameters between executions. Various time saving pacman aliases are organized in pacman Tips, besides other suggested tools.

Arch Build System

Arch User Repository

AUR helpers


Privilege escalation

A new installation leaves users with only one user account: root (the superuser account). Logging in as root for prolonged periods of time is widely considered to be foolish and insecure. Instead, users should create and use unprivileged user accounts for most tasks, any only use the root account for system administration. The su (substitute user) command allows users to assume the identity of another user on the system (usually root) from an existing login, whereas the sudo command grants temporary privilege escalation for a specific command.

System services


Local mail delivery