https://wiki.archlinux.org/api.php?action=feedcontributions&user=Stabele&feedformat=atomArchWiki - User contributions [en]2024-03-29T13:32:24ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=116567Synchronization and backup programs2010-09-07T14:55:20Z<p>Stabele: duplicity clarification</p>
<hr />
<div>{{i18n|Backup_Programs}}<br />
<br />
== Intro ==<br />
<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files (<tt>/etc/*</tt>) and local pacman database (usually <tt>/var/lib/pacman/local/*</tt>).<br />
<br />
Few words to end the introduction: before you start trying programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available?<br />
** cd / dvd<br />
** remote server (With what access? Ssh? Can I install some software on it (necessary for e.g. rsync-based solutions)?)<br />
** external harddrive<br />
* How often do I plan to backup?<br />
** daily?<br />
** weekly?<br />
** less often?<br />
* What goodies do I expect from the backup solution?<br />
** compression? (what algorithms?)<br />
** encryption? (gpg or something more straightforward?)<br />
* Most importantly: how do I plan to restore backups if needed?<br />
<br />
All right, enough with this, let's see some options!<br />
<br />
== Incremental backups ==<br />
<br />
The point with these is that they remember what has been backed up during the last run, and back up only what has changed. Great if you back up often.<br />
<br />
=== Rsync-type backups ===<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.<br />
<br />
Certain rsync-type packages also do snapshot backups by storing files which describe the how the contents of files and folders changed from the last backup (the so-called 'diffs'). Hence, they are inherently incremental, but usually they don't have compression/encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. Finally the way it works makes it hard to burn backups to cd/dvd..<br />
<br />
===== CLI =====<br />
*[[rsync]] (in extra repo)<br />
**rsync almost always makes a mirror of the source<br />
**Impossible to restore a backup before the most recent backup<br />
**Standard install on all distros<br />
**Can run over SSH (port 22) or native rsync protocol (port 873)<br />
**Win32 version available<br />
*[http://www.nongnu.org/rdiff-backup/ rdiff-backup] (in community repo)<br />
**Stores most recent backup as regular files<br />
**To revert to older versions, you apply the diff files to recreate the older versions<br />
**It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change<br />
**Required python and librsync<br />
**Win32 version available<br />
*[http://www.rsnapshot.org rsnapshot] (in community repo) <br />
**Does not store diffs, instead it copies entire files if they have changed<br />
**Creates hard links between a series of backed-up trees (snapshots)<br />
**It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.<br />
**Destination filesystem must support hard links<br />
**Requires perl<br />
**Win32 version available<br />
*[http://safekeep.sourceforge.net/ SafeKeep] (in AUR)<br />
**Enhancement to rdiff-backup<br />
**Integrates with Linux LVM and databases to create consistent backups<br />
**Bandwidth throttling<br />
* [http://www.scottlu.com/Content/Link-Backup.html Link-Backup] ([http://aur.archlinux.org/packages.php?ID=16929 AUR] may be patched with additional features) is similar to rsync based scripts, but does not use rsync<br />
** Creates hard links between a series of backed-up trees (snapshots)<br />
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer<br />
** dstdir/.catalog is a catalog of all unique file instances; backup trees hard-link to the catalog<br />
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script<br />
** It copies itself to the server; it does not need to be installed on the server<br />
** Requires SSH for remote backups<br />
** It resumes stopped backups; it can even be told to run for n minutes<br />
<br />
===== GUI =====<br />
*[http://backintime.le-web.org/ Back In Time] (in [http://aur.archlinux.org/packages.php?ID=23002 AUR])<br />
**Creates hard links between a series of backed-up trees (snapshots)<br />
**Inspired by FlyBack and TimeVault<br />
**Really is just a front-end to rsync, diff, cp<br />
**A new snapshot is created only if something changed since the last snapshot<br />
*[http://www.flyback-project.org/ FlyBack] (in [http://aur.archlinux.org/packages.php?ID=14575 AUR])<br />
**A clone of Apple's Mac OS X Time Machine software<br />
*[http://areca.sourceforge.net/ Areca Backup] (in [http://aur.archlinux.org/packages.php?ID=13637 AUR])<br />
**Written in Java<br />
**Primarily archive-based (ZIP), but will do file-based backup as well<br />
**Claims delta backup supported (stores only changes)<br />
*[https://wiki.ubuntu.com/TimeVault TimeVault]<br />
**Creates hard links between a series of backed-up trees (snapshots)<br />
**Imitates Windows Volume Shadow Copy feature in that it integrates with Nautilus to provide a "Previous Versions" tab in the Properties dialog.<br />
*[http://luckybackup.sourceforge.net/index.html Luckybackup] (in [http://aur.archlinux.org/packages.php?ID=23121 AUR])<br />
**Luckybackup it's an easy program to backup and sync your files.<br />
**It is written in Qt and C++<br />
**It has Sync,Backup (with include and exclude options),Restore operations,Remote connection backup,Scheduled backups,Command line mode and more abilities.<br />
<br />
=== Not rsync-based ===<br />
<br />
They tend to create (big) archive files (like tar.bz2), and (of course) keep track of what's been archived. Now creating tar.bz2 or tar.gz archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you don't need to have the backup program around.<br />
<br />
* [[backup-manager|backup-manager]] (in AUR); [http://www.backup-manager.org/ homepage] Backup Manager is a command line backup tool for GNU/Linux, designed to help you make daily archives of your file system. Written in bash and perl, it can make archives in lots of open formats (tar, gzip, bzip2, lzma, dar, zip) and provides lots of interesting features (such as network exports or CD/DVD automated-burning). The program is designed to be as easy to use as possible and is popular with desktop users and sysadmins. The whole backup process is defined in one full-documented configuration file which needs no more than 5 minutes to tune for your needs. It just works. Archives are kept for a given number of days and the upload system can use ftp or scp to transfer the generated archives to a list of remote hosts. Gettext is used for internationalization.<br />
** 1 configuration file, 5 minutes setup<br />
** Manually invoke backup process or run daily unattended via CRON<br />
** Backup files, MySQL databases and Subversion repositories<br />
** Specify multiple targets to backup at once (/etc, /home, etc…)<br />
** Ability to exclude files from backup<br />
** Automatically purge old backups<br />
** Full backup only or Full + Incremental backup<br />
** Backup to an attached disk, LAN or Internet<br />
** Burns backup to CD/DVD with MD5 checksum verification<br />
** Archives in lots of open formats: tar, gzip, bzip2, lzma, dar, zip<br />
** Slice archives to 2 GB if using dar archives format<br />
** Backup over SSH<br />
** Encrypts archives<br />
** Offsite remote upload of archives via FTP, SSH, RSYNC or Amazon S3<br />
** Can run with different configuration files concurrently<br />
** Easy external hooks<br />
**Simply uncompressed the open format backup archives with any command line or GUI tool<br />
<br />
* [[Backup with arch-backup|arch-backup]] (in community repo); [http://code.google.com/p/archlinux-stuff/ website]); trivial backup scripts with simple configuration:<br />
** compression method can be configured<br />
** possible to specify more directories to backup<br />
<br />
* [[Backup with hdup|hdup]] (in extra repo; [http://miek.nl/projects/hdup2/ website]; it's no longer developed, the author develops rdup now (below); but it's still a decent one):<br />
** creates tar.gz or tar.bz2 archives<br />
** supports gpg encryption<br />
** supports pushing over ssh<br />
** possible to specify more directories to backup<br />
<br />
* [http://miek.nl/projects/rdup rdup] (in [http://aur.archlinux.org/packages.php?ID=3728 AUR]) successor to hdup: the program *just determines* which files have changed since the last backup. It's completely up to you what do you want to do with that list. Some helper scripts are supplied, and with them it supports:<br />
** creating tar.gz archives '''or''' rsync-type copy<br />
** encryption (gpg and usual strong (eg. blowfish)), also applies for rsync-type copy<br />
** compression (also for rsync-type copy)<br />
<br />
* [http://www.nongnu.org/duplicity/ duplicity] is simple command-line utilty which allows encrypted compressed incremental backup to nearly any storage. For even simpler usage there is [http://sourceforge.net/projects/ftplicity/ duply] frontend.<br />
** supports gpg encryption and signing<br />
** supports gzip compression<br />
** supports full or incremental backups, incremental backup stores only difference between new and old file<br />
** supports pushing over ftp, ssh/scp, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem<br />
<br />
* [http://dar.linux.free.fr/ dar] (in community repo): <br />
** it uses its own format for archives (so you need to have it around when you want to restore)<br />
** supports splitting backups into more files by size<br />
** makefile-type config files, some custom scripts are available along with it<br />
** supports basic encryption (not gpg; but also strong, but you need to supply a password every time)<br />
** some gui tools for inspecting backups are also available (kdar, in [http://aur.archlinux.org/packages.php?ID=7586 AUR], but current dar needs beta version)<br />
** a script suitable for running from cron is [http://sarab.sourceforge.net/ sarab] (in [http://aur.archlinux.org/packages.php?ID=17044 AUR]): supports pretty much any backup scheme (Towers of Hanoi, Grandfather-Father-Son, etc..)<br />
<br />
* [http://sourceforge.net/projects/backerupper/ backerupper] (in [http://aur.archlinux.org/packages.php?ID=17441 AUR]) Backerupper is a simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** GUI based<br />
** creating tar.gz archives<br />
** possible to define : backup frequency, backup time, Max copies<br />
<br />
* [http://trac.manent-backup.com/ Manent] (in [http://aur.archlinux.org/packages.php?ID=19241 AUR]) is an algorithmically strong backup and archival program. It's Python based and has the following features:<br />
** Efficient backup to anything that looks like a storage<br />
** Works well over a slow and unreliable network<br />
** Offers online access to the contents of the backup<br />
** Backed up storage is completely encrypted<br />
** Several computers can use the same storage for backup, automatically sharing data<br />
** Not reliant on timestamps of the remote system to detect changes<br />
** Cross-platform support for Unicode file names<br />
<br />
=== Cloud backups ===<br />
<br />
* [http://www.getdropbox.com Dropbox] (in [http://aur.archlinux.org/packages.php?ID=19615 AUR] with Gnome support, and also [http://aur.archlinux.org/packages.php?ID=23363 AUR] without Gnome dependencies). <br />
** A daemon monitors a specified directory, and uploads incremental changes to Dropbox.com. <br />
** Changes automatically show up on your other computers. <br />
** Includes file sharing and a public directory. <br />
** You can recover deleted files. <br />
** Community written add-ons. <br />
** Free accounts have 2GB storage.<br />
<br />
* [http://www.jungledisk.com/ Jungle Disk] (in [http://aur.archlinux.org/packages.php?ID=15015 AUR])<br />
** Automatic backups to Amazon's servers.<br />
** Not free, but very low prices.<br />
<br />
== Not incremental backups ==<br />
* [http://k7z.sourceforge.net/ Q7Z] (in [http://aur.archlinux.org/packages.php?ID=12822 AUR]) is a P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar. Use Q7Z if you want to:<br />
** Update existing archives quickly<br />
** Backup multiple folders to a storage location<br />
** Create or extract protected archives<br />
** Lessen effort by using archiving profiles and lists<br />
* "Just copy everything into one big archive, but support writing to cd/dvd"-type: [http://www2.backup-manager.org/ backup-manager] (in [http://aur.archlinux.org/packages.php?ID=4351 AUR])<br />
* [[Partclone]] -- back up and restore only the used blocks of a partition<br />
* [http://redobackup.org/ Redo Backup and Recovery] - a nice liveCD that uses xPUD for the GUI and partclone for the backend.<br />
* filesystem-backup -- simple bash script (was originally a MySQL backup script) that creates a rolling 7 days, rolling 4 weeks and static monthly backups in tar format. Good for servers without a GUI. Available in repo: http://repo.falconn.nl/any/<br />
* [http://clonezilla.org/ Clonezilla]<br />
**Boots from live CD, USB flash drive, or PXE server<br />
**Uses Partimage, ntfsclone, partclone, and dd, <br />
**Compatability with many file systems (ext2, ext3, ext4, reiserfs, xfs, jfs of GNU/Linux, FAT, NTFS, and HFS+)<br />
**Multicasting server to restore to many machines at once<br />
**If file system is supported , only used blocks in harddisk are saved and restored. For unsupported file system, sector-to-sector copy is done<br />
* [http://www.partimage.org/Main_Page Partimage]<br />
*[http://www.fsarchiver.org/Main_Page Fsarchiver] (in extra repo)<br />
**Support for basic file attributes (permissions, owner, ...)<br />
**Support for multiple file-systems per archive<br />
**Support for extended attributes (they are used by SELinux)<br />
**Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems<br />
**Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of windows partitions)<br />
**Checksumming of everything which is written in the archive (headers, data blocks, whole files)<br />
**Ability to restore an archive which is corrupt (it will just skip the current file)<br />
**Multi-threaded lzo, gzip, bzip2, lzma [[Compression|compression]]: if you have a dual-core / quad-core it will use all the power of your cpu<br />
**Lzma [[Compression|compression]] (slow but very efficient algorithm) to make your archive smaller.<br />
**Support for splitting large archives into several files with a fixed maximum size<br />
**Encryption of the archive using a password. Based on blowfish from libcrypto from openssl.<br />
**Support backup of a mounted root filesystem (-A option)<br />
<br />
== Versioning systems ==<br />
<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
* [http://www.selenic.com/mercurial/wiki/ mercurial] or [http://git.or.cz/ git] (both in extra repo)<br />
* [http://eigenclass.org/hiki/gibak-backup-system-introduction gibak]: a backup system based on git. it also supports binary diffs (for binaries, e-books, pictures, multimedia files, etc). on the homepage there is a short usage advice. it is meant to backup only the $HOME directory. one could also backup other directories (like /etc) by changing the $HOME variable to point to that directory (though i don't really recommend this). gibak is handy for people who are familiar with git. it uses .gitignore to filter files and one can use the git commands to restore files, browse through logs, diffs, etc. if one needs a gui, it is also possible to use gitk or qgit to browse through commits or do whatever these interfaces support. get it from AUR: http://aur.archlinux.org/packages.php?ID=18318.<br />
== External Resources ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]<br />
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]<br />
<br />
[[Category:System recovery (English)]]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Openbox&diff=84225Openbox2009-11-17T14:12:59Z<p>Stabele: reference to ObKey</p>
<hr />
<div>[[Category:Desktop environments (English)]][[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|OpenBox (Česky)}}<br />
{{i18n_entry|English|Openbox}}<br />
{{i18n_entry|Español|Openbox (Español)}}<br />
{{i18n_entry|Français|Openbox (Français)}}<br />
{{i18n_entry|Italiano|Openbox_(Italiano)}}<br />
{{i18n_entry|Nederlands|Openbox_(Nederlands)}}<br />
{{i18n_entry|Русский|Openbox (Русский)}}<br />
{{i18n_entry|简体中文|Openbox(简体中文)}}<br />
{{i18n_links_end}}<br />
Openbox is a lightweight and highly configurable window manager with extensive standards support. Its features are well-documented at the [http://icculus.org/openbox/ official website]. This article will pertain to running Openbox under Arch Linux.<br />
<br />
== Installation ==<br />
Openbox is available from the standard repositories:<br />
# pacman -S openbox<br />
<br />
Once installed, pacman will direct you to copy the default {{Filename|menu.xml}} and {{Filename|rc.xml}} configuration files to <tt>~/.config/openbox/</tt>, for example: <br />
<br />
{{Note | Do this as a regular user, not as root.}}<br />
<br />
$ mkdir -p ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml<br />
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml<br />
<br />
{{Filename|rc.xml}} is the core configuration file for Openbox. It is used to manage keyboard shortcuts, themes, virtual desktops and other features.<br />
<br />
{{Filename|menu.xml}} controls the Openbox application menu that appears when you click on your desktop. The default items are pretty sparse, but it's very easy to modify the menu structure to suit your needs. See the menu section below for more details, or visit the [http://icculus.org/openbox/ Openbox website].<br />
<br />
== Getting Started ==<br />
<br />
To run Openbox on its own, simply add the following to the bottom of {{Filename|~/.xinitrc}}:<br />
exec openbox-session<br />
<br />
If you have used another window manager before, such as Xfce, and Openbox wont start after logging out of X, try moving the autostart folder:<br />
mv ~/.config/autostart ~/.config/autostart-bak<br />
<br />
=== Using Openbox with GNOME ===<br />
<br />
==== GNOME 2.26 ====<br />
<br />
'''''Follow the next guide for GNOME 2.24. If it fails try this:'''''<br />
<br />
If after installing openbox and trying to log into the 'Gnome/openbox' session but it always fails then you can do the following as one way to achieve running openbox as your window manager every time you log into the 'Gnome' session from your login manager (xdm, gdm, kdm, entrance, slim, etc.)<br />
<br />
#Log into your Gnome only session (which would still be using metacity as its window manager) if you aren't already.<br />
#Install openbox if you have not done so already<br />
#Explore your menus to ''System &rarr; Preferences &rarr; Startup Applications'' (possibly named 'Session' for older versions of Gnome)<br />
#Open Startup Application, select '+ Add' and enter the text as seen in the box below whilst omitting the text behind the #.<br />
#Now hit the 'Add' button for that data entry window and make sure the checkbox beside your new entry is selected.<br />
#Thus log out of your gnome session and log back in and you should be running openbox as your window manager.<br />
#Enjoy!<br />
<br />
Name: Openbox Windox Manager # Can be changed<br />
Command: openbox --replace # Text should not be removed from this line, but possibly added to it<br />
Comment: Replaces metacity with openbox # Can be changed<br />
<br />
This creates an entry in a startup list which is executed by gnome everytime that particular user's gnome-session is started.<br />
<br />
==== GNOME 2.24 ====<br />
First, create {{Filename|/usr/share/applications/openbox.desktop}} containing the following:<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=OpenBox<br />
Exec=openbox<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=openbox<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=OpenBox<br />
Then, in gconf, set '''/desktop/gnome/session/required_components/windowmanager''' to '''openbox''':<br />
$ gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager openbox<br />
Finally, choose the '''GNOME''' session in the GDM sessions menu.<br />
<br />
==== GNOME 2.22 and previous ====<br />
# If you use GDM, select the "GNOME/Openbox" login option<br />
# If you use startx, add {{Codeline|exec openbox-gnome-session}} to {{Filename|~/.xinitrc}}<br />
# From the shell:<br />
$ xinit /usr/bin/openbox-gnome-session<br />
<br />
=== Using Openbox with KDE ===<br />
# If you use KDM, select the "KDE/Openbox" login option<br />
# If you use startx, add {{Codeline|exec openbox-kde-session}} to {{Filename|~/.xinitrc}}<br />
# From the shell:<br />
$ xinit /usr/bin/openbox-kde-session<br />
<br />
=== Using Openbox with Xfce4 ===<br />
Log into a normal Xfce4 session. From your terminal of choice, do:<br />
$ killall xfwm4 ; openbox & exit<br />
<br />
This will kill xfwm4, run Openbox, and close the terminal. <br />
<br />
Log out, making sure to check the "Save session for future logins" checkbox. On next login, Xfce4 will use Openbox as its WM. To be able to exit the session using xfce4-session, open your file {{Filename|~/.config/openbox/menu.xml}} (if it isn't there, copy it from {{Filename|/etc/xdg/openbox/menu.xml}}). <br />
<br />
Look for the entry:<br />
<br />
<item label="Exit Openbox"><br />
<action name="Exit"><br />
<prompt>yes</prompt><br />
</action><br />
</item><br />
<br />
and change it to:<br />
<br />
<item label="Exit Openbox"><br />
<action name="Execute"><br />
<prompt>yes</prompt><br />
<command>xfce4-session-logout</command><br />
</action><br />
</item><br />
<br />
Otherwise, using the "Exit" entry of the root-menu will cause Openbox to terminate its execution, leaving you without a window manager.<br />
<br />
If you have an issue changing between virtual desktops with the mouse wheel skipping over virtual desktops, open your {{Filename|~/.config/openbox/rc.xml}} file and move the mouse binds with actions "DesktopPrevious" and "DesktopNext" from the context "Desktop" to the context "Root" (you may need to define the Root context).<br />
<br />
If you want to use the Openbox root-menu instead of Xfce's, you may terminate Xfdesktop by running the following command in a terminal:<br />
$ xfdesktop --quit<br />
<br />
However, Xfdesktop manages the wallpaper and desktop icons, requiring you to use other utilities, such as ROX, for these functions.<br />
<br />
(When terminating Xfdesktop, the above issue with the virtual desktops is no longer a problem.)<br />
<br />
== Configuration ==<br />
<br />
=== Preferences ===<br />
Currently, there are two options for configuring the core Openbox preferences; manually edit the {{Filename|rc.xml}}, or use the ObConf tool.<br />
<br />
==== Setting Preferences Manually ====<br />
<br />
To configure Openbox manually, simply edit {{Filename|~/.config/openbox/rc.xml}} with your favorite text editor. The config file provides plenty of comments throughout, and [http://icculus.org/openbox/index.php/Help:Contents full documentation] is available at the official website.<br />
<br />
==== Setting Preferences with ObConf ====<br />
<br />
[http://icculus.org/openbox/index.php/ObConf:About ObConf] is GUI-based Openbox configuration tool, which can be used to set most preferences including themes, virtual desktops, window properties and desktop margins.<br />
<br />
To install ObConf, run:<br />
# pacman -S obconf<br />
<br />
{{Note | ObConf cannot be used to configure keyboard shortcuts and some other advanced features. For these modifications, you must edit {{Filename|rc.xml}} manually (see above). Other option is [http://code.google.com/p/obkey/ ObKey] application (available in [[AUR]]).}}<br />
<br />
=== Menu Management ===<br />
<br />
The default Openbox menu includes a variety of applications to get you started, but you'll probably want to customize this at some point. There are a number of ways to do so:<br />
<br />
==== Manually ====<br />
Similar to the {{Filename|rc.xml}} file, you can edit {{Filename|~/.config/openbox/menu.xml}} with your favourite text editor. Although many of the settings are self-explanatory, [http://icculus.org/openbox/index.php/Help:Menus full documentation] is available.<br />
<br />
==== MenuMaker ====<br />
[http://menumaker.sourceforge.net/ MenuMaker] is a powerful tool that creates XML-based menus for a variety of Window Managers, including Openbox. MenuMaker will search your computer for executable programs and create an XML menu based on the results. It can be configured to exclude Legacy X, GNOME, KDE, or Xfce applications if the user desires.<br />
<br />
MenuMaker is available in the community repository:<br />
# pacman -S menumaker<br />
<br />
Once installed, you can generate a complete menu by running:<br />
$ mmaker -v OpenBox3<br />
<br />
By default, MenuMaker will not overwrite an existing menu.xml. To do so, run it with the -f (force) argument:<br />
<br />
$ mmaker -vf OpenBox3<br />
<br />
To see a full list of options, run {{Codeline|mmaker --help}}.<br />
<br />
This will give you a pretty thorough menu. Now you can modify the menu.xml by hand, or simply regenerate the list whenever you install new software.<br />
<br />
==== Obmenu ====<br />
Obmenu is a GUI-based menu editor for Openbox. For those who don't enjoy editing XML source code, this is probably the best option for you.<br />
<br />
It is available in the community repository:<br />
# pacman -S obmenu<br />
<br />
Once installed, simply run {{Codeline|obmenu}} and add or remove the desired applications.<br />
<br />
===== obm-xdg =====<br />
<tt>obm-xdg</tt> is a command-line tool that comes with Obmenu. It can generate a categorized sub-menu of installed GTK/GNOME applications.<br />
<br />
To use obm-xdg, add the following line to {{Filename|~/.config/openbox/menu.xml}}:<br />
<menu execute="obm-xdg" id="xdg-menu" label="xdg"/><br />
<br />
Then run {{Codeline|openbox --reconfigure}} to refresh the Openbox menu. You should now see a sub-menu labeled '''xdg''' in your menu.<br />
<br />
{{Note | If you do not have GNOME installed, then you need to install '''gnome-menus''' package for obm-xdg to work.}}<br />
<br />
===== Pipe Menus =====<br />
Openbox (and other WMs like WindowMaker and PekWM) allow you to write scripts that dynamically build menus on the fly. Some examples are system monitors, media player controls, and weather forecasts. Many examples can be found on the openbox [http://icculus.org/openbox/index.php/Openbox:Pipemenus site].<br />
<br />
Xyne has also created a file browser and brisbin33 has one for scanning for / connecting to wireless hot spots (requires netcfg). The relevant forum posts for these utilities are [http://bbs.archlinux.org/viewtopic.php?id=77197&p=1 here] and [http://bbs.archlinux.org/viewtopic.php?id=78290 here]<br />
<br />
===== Python based xdg menu script =====<br />
This script can be found in Fedora's Openbox package. You will only have to put the script somewhere and add a menu entry.<br />
<br />
Here is my paste: http://pastebin.com/f2f827625<br />
And here is the head: http://cvs.fedoraproject.org/viewvc/devel/openbox/xdg-menu?view=markup<br />
<br />
Download the one you like (maybe you'll prefer the head version of course). You can put the file anywhere, I used ~/Documents/build/xdg-menu (just modify the menu entry later according to YOUR filename/path.)<br />
<br />
Then open your menu.xml with your favourite text editor and add the following entry where you want the new menu (of course, you can modify the label however you want):<br />
<menu id="apps-menu" label="xdgmenu" execute="python /home/shiki/Documents/build/xdg-menu"/><br />
<br />
Save the file, and run: {{Codeline|openbox --reconfigure}}.<br />
=== Startup Programs ===<br />
Openbox features support for running programs at startup. This is provided by the "openbox-session" command.<br />
<br />
There are two ways to enable autostart:<br />
# If you use startx/xinit to log into your X session, edit {{Filename|~/.xinitrc}} and change the line that executes ''openbox'' to execute '''openbox-session''' instead.<br />
# If you log in with GDM/KDM, then select the ''Openbox'' session and it will automatically use autostart.<br />
<br />
Startup programs are managed in {{Filename|~/.config/openbox/autostart.sh}}. Full instructions and best practices for how to do this are available at the [http://icculus.org/openbox/index.php/Help:Autostart Openbox website].<br />
<br />
=== Per-application settings ===<br />
Openbox features per-application settings, allowing you to define rules for your programs. For example, you can:<br />
* load your web browser on a certain desktop<br />
* load your terminal without a window border<br />
* load your torrent client at a certain position on your screen<br />
<br />
These are defined in {{Filename|~/.config/openbox/rc.xml}}. As you might expect, the instructions are well-documented within the file itself. Full details can also be found here: http://icculus.org/openbox/index.php/Help:Applications<br />
<br />
=== Theming and Appearance ===<br />
With the exception of the Openbox Themes topic, the following section is intended for users who have configured Openbox to run as a standalone desktop, without the assistance of GNOME, KDE or Xfce.<br />
<br />
==== Openbox Themes ====<br />
Openbox themes control the appearance of window borders, including the titlebar and titlebar buttons. They also determine the appearance of the application menu and on-screen display (OSD). <br />
<br />
Additional themes are available from the standard repositories:<br />
<br />
# pacman -S openbox-themes<br />
<br />
This package is by no means definitive. You can download more themes at websites such as:<br />
*[http://www.box-look.org/index.php?xcontentmode=7402 box-look.org]<br />
*[http://customize.org/browse/tags/openbox customize.org]<br />
*http://www.minuslab.net/themes/<br />
*http://celo.wordpress.com/themes/<br />
*http://vault.openmonkey.com/pages/openbox<br />
*http://hewphoria.com/?p=submission&type=theme&cat=7<br />
<br />
Downloaded themes should be extracted to <tt>~/.themes</tt> and can be installed or selected with the [[Openbox#Preferences|ObConf]] tool.<br />
<br />
Creating new themes is fairly easy and again [http://icculus.org/openbox/index.php/Help:Themes well-documented].<br />
<br />
For a GUI theme editor, take a look at [http://xyne.archlinux.ca/info/obtheme ObTheme].<br />
<br />
==== Desktop Wallpaper ====<br />
<br />
Openbox itself does not include a way to change the wallpaper. This can be done easily with programs like [[Feh]] or [[Nitrogen]]. Other options include ImageMagick, hsetroot and xsetbg.<br />
<br />
==== GTK Themes ====<br />
====== GTK2/GTK+ ======<br />
GTK+ themes can be managed easily with the '''[[LXDE | lxappearance]]''', '''gtk-chtheme''', or '''switch2''' utilities. To install, run:<br />
# pacman -S lxappearance<br />
and/or<br />
# pacman -S gtk-chtheme<br />
and/or<br />
# pacman -S gtk-theme-switch2<br />
<br />
Now you can simply run {{Codeline|lxappearance}}, {{Codeline|gtk-chtheme}} or {{Codeline|switch2}} to set the desired theme.<br />
<br />
====== GTK1 ======<br />
For legacy GTK1 themes, install the '''gtk-theme-switch''' package:<br />
# pacman -S gtk-theme-switch<br />
Then run {{Codeline|switch}} to select a desired theme.<br />
<br />
==== GTK Fonts ====<br />
===== Manually edit the config file =====<br />
If you want to change the type and size of your fonts, add the following to {{Filename|~/.gtkrc.mine}}:<br />
style "user-font"<br />
{<br />
font_name = "[font-name] [size]"<br />
}<br />
widget_class "*" style "user-font"<br />
gtk-font-name = "[font-name] [size]"<br />
<br />
where {{Codeline|[font-name] [size]}} is the desired font and point size. For example:<br />
style "user-font"<br />
{<br />
font_name = "DejaVu Sans 8"<br />
}<br />
widget_class "*" style "user-font"<br />
gtk-font-name = "DejaVu Sans 8"<br />
<br />
Both {{Codeline|font_name}} and {{Codeline|gtk-font-name}} fields are required for backwards compatibility.<br />
===== Use GUI tools =====<br />
You can use '''gtk-chtheme''' or '''lxappearance''' to set GTK font settings. Please refer to the above section.<br />
<br />
==== GTK Icons ====<br />
First, extract the desired icon theme to <tt>/usr/share/icons</tt> (system-wide access) or <tt>~/.icons</tt> (local user access), then:<br />
===== Manually edit the config file =====<br />
Add the following to {{Filename|~/.gtkrc.mine}}: <br />
gtk-icon-theme-name = "[name-of-icon-theme]"<br />
<br />
where {{Codeline|[name-of-icon-theme]}} is the name of the icon theme directory. For example:<br />
gtk-icon-theme-name = "Tango"<br />
<br />
Ensure {{Filename|~/.gtkrc-2.0}} is configured to parse {{Filename|~/.gtkrc.mine}}:<br />
<br />
# ~/.gtkrc-2.0<br />
# -- THEME AUTO-WRITTEN DO NOT EDIT<br />
include "/usr/share/themes/Rezlooks-Gilouche/gtk-2.0/gtkrc"<br />
include "/home/username/.gtkrc.mine"<br />
# -- THEME AUTO-WRITTEN DO NOT EDIT<br />
===== Use GUI tools =====<br />
You can use '''lxappearance''' to choose GTK icon themes. Please refer to the above section.<br />
<br />
==== Mouse cursor themes ====<br />
Extract the desired Xcursor theme to either <tt>/usr/share/icons</tt> (system-wide access) or <tt>~/.icons</tt> (local user access). There are also a limited amount of themes available in the community repository that can be installed using pacman.<br />
<br />
Add this to {{Filename|~/.Xdefaults}}:<br />
Xcursor.theme: [name-of-cursor-theme]<br />
where {{Codeline|[name-of-cursor-theme]}} is the name of the cursor theme directory. For example:<br />
Xcursor.theme: Vanilla-DMZ-AA<br />
To change the size:<br />
Xcursor.size: [size]<br />
<br />
==== Desktop Icons ====<br />
Openbox does not provide a means to display icons on the desktop. PcmanFM, [http://rox.sourceforge.net ROX], [http://idesk.sourceforge.net iDesk], or even Nautilus (and the gnome-settings-daemon) can provide this function. <br />
<br />
ROX and PCmanFM have the additional advantage of being lightweight file managers.<br />
<br />
== Tips & Tricks ==<br />
=== Improve Fonts ===<br />
Improve the appearance of fonts for LCD monitors [http://wiki.archlinux.org/index.php/Fonts#Fonts_with_LCD_filter_enabled by following this guide.]<br />
<br />
Then, create {{Filename|~/.fonts.conf}} and add:<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<match target="font" ><br />
<edit mode="assign" name="rgba" ><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font" ><br />
<edit mode="assign" name="hinting"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font" ><br />
<edit mode="assign" name="hintstyle"><br />
<const>hintfull</const><br />
</edit><br />
</match> <br />
</fontconfig><br />
<br />
<br />
=== Recommended Programs ===<br />
<br />
There is list of [[Lightweight Software]] at Arch's wiki, most of them nicely fits with Openbox.<br />
<br />
==== Login Managers ====<br />
[http://slim.berlios.de/ SLiM] provides a lightweight and elegant graphical login solution for standalone Openbox configurations. Refer to Arch's [[SLiM]] wiki for detailed instructions.<br />
<br />
[http://qingy.sourceforge.net/ Qingy] is ultralight and very configurable graphical login. It support login to both console and X Windows sessions. It uses [http://www.directfb.org DirectFB], therefore it does not start X Windows unless you choose X Windows session. See article about [[Qingy]] at Arch's wiki.<br />
<br />
==== Composite Desktop ====<br />
[[Xcompmgr]] is a lightweight composite manager capable of rendering drop shadows, fading and simple window transparency within Openbox and other window managers.<br />
<br />
[http://aur.archlinux.org/packages.php?ID=30042 Cairo Comp Mgr] is an alternative.<br />
<br />
==== Transparency ====<br />
By using the program transset-df, it is virtually the same as [[transset]], (available by: pacman -S transset-df) you can enable transparancy of windows on the fly. For instance by editing the following in {{Filename|~/.config/openbox/rc.xml}} you can have your middle mouse scroll enable and disable transparency by scrolling down and up on the scroll button, respectively, while over the title bar (it is in the <mouse> section):<br />
<context name="Titlebar"><br />
<mousebind button="Left" action="Press"><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
</mousebind><br />
<mousebind button="Left" action="Drag"><br />
<action name="Move"/><br />
</mousebind><br />
<mousebind button="Left" action="DoubleClick"><br />
<action name="ToggleMaximizeFull"/><br />
</mousebind><br />
<mousebind button="Middle" action="Press"><br />
<action name="Lower"/> <br />
<action name="FocusToBottom"/><br />
<action name="Unfocus"/><br />
</mousebind><br />
<mousebind button="Up" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --inc </execute><br />
</action><br />
</mousebind><br />
<mousebind button="Down" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --dec </execute><br />
</action><br />
</mousebind><br />
<mousebind button="Right" action="Press"><br />
<action name="Focus"/><br />
<action name="Raise"/><br />
<action name="ShowMenu"><br />
<menu>client-menu</menu><br />
</action><br />
</mousebind><br />
</context><br />
As of now, it only appears to work when no other actions are taken.<br />
<br />
==== Application Launchers ====<br />
===== dmenu =====<br />
Set-up dmenu as described in the [[dmenu]] wiki article. Then, add the following entry to the <keyboard> section {{Filename|~/.config/openbox/rc.xml}} to enable a shortcut to launch dmenu:<br />
<keybind key="W-space"><br />
<action name="Execute"><br />
<execute>dmenu_run</execute><br />
</action><br />
</keybind><br />
<br />
===== Gmrun =====<br />
[http://sourceforge.net/projects/gmrun gmrun] provides an excellent Run dialog box, similar to the Alt+F2 features found in Gnome and KDE:<br />
# pacman -S gmrun<br />
Add the following entry to the <keyboard> section {{Filename|~/.config/openbox/rc.xml}} to enable Alt+F2 functionality:<br />
<keybind key="A-F2"><br />
<action name="execute"><execute>gmrun</execute></action><br />
</keybind><br />
<br />
===== Bashrun =====<br />
[http://bashrun.sourceforge.net bashrun] provides a different, barebones approach to a run dialog, using a specialized bash session within a small xterm window. It is available in the community repository and can be launched through the Alt+F2 style approach mentioned previously. To make bashrun act more like a traditional run dialog, add the following entry to the <applications> section {{Filename|~/.config/openbox/rc.xml}}:<br />
<application name="bashrun"><br />
<desktop>all</desktop><br />
<decor>no</decor> # switch to yes if you prefer a bordered window<br />
<focus>yes</focus><br />
<skip_pager>yes</skip_pager><br />
<layer>above</layer><br />
</application><br />
<br />
===== Launchy =====<br />
[http://www.launchy.net/ Launchy] is a less minimalistic approach; it is skinnable and offers more functionality such as a calculator, checking the weather, etc. Originally for Windows, similar to Gnome Do.<br />
# pacman -S launchy<br />
It is launched by Ctrl+Space key combination.<br />
<br />
===== LXPanel =====<br />
[http://www.gnomefiles.org/app.php/LXPanel LXPanel] If LXPanel is used as a taskbar manager, the run utility from the LXPanel menu can be executed with {{Codeline|"lxpanelctl run"}}.<br />
<br />
===== gnome-panel =====<br />
The gnome-panel run dialog can be executed with <br />
gnome-panel-control --run-dialog<br />
<br />
==== File managers ====<br />
<br />
There are many possibilities, but the most popular lightweight file managers are:<br />
* [http://thunar.xfce.org Thunar]. Thunar supports auto-mount features and other plugins. <br />
# pacman -S thunar<br />
Thunar may be started in daemon mode for tighter desktop integration. For instance, inserting a USB pendrive will invoke a Thunar window to popup, with the drive contents listed in the window. <br />
<br />
To start Thunar in daemon mode, edit {{Filename|~/.config/openbox/autostart.sh}} and add:<br />
thunar --daemon &<br />
<br />
* [http://rox.sourceforge.net ROX] (ROX provides desktop icons)<br />
# pacman -S rox<br />
* [http://pcmanfm.sourceforge.net PCMan] (pcmanfm also provides desktop icons)<br />
# pacman -S pcmanfm<br />
For even lighter options, consider [http://www.obsession.se/gentoo/ Gentoo] or [http://emelfm.sourceforge.net/ emelFM], both of which use the familiar 'Midnight Commander' two pane layout (these two require Gtk 1.2.x).<br />
<br />
Of course, you can also use GNOME's Nautilus. Although slower than the above solutions, it has the additional advantage of VFS support (e.g. remote SSH, FTP and Samba connections).<br />
<br />
==== Clipboard Managers and copy/paste====<br />
You may wish to install a clipboard manager for feature rich copy/paste ability. '''xfce4-clipman-plugin, parcellite,''' or '''glipper-old''' may be installed via pacman. Add your choice to autostart.sh. From the terminal, Ctrl+Insert as copy and Shift+Insert as paste generally works as well. You may also copy from terminal with Ctrl+Shift+C, and paste with mouse middle click.<br />
==== Panels, Trays, and Pagers ====<br />
<br />
There are quite a lot of utilities available that provide a panel (taskbar), system tray, and pager to Openbox. The most common are:<br />
<br />
'''Panels'''<br />
* [http://wiki.archlinux.org/index.php/PyPanel PyPanel]<br />
* [http://nsf.110mb.com/bmpanel/ bmpanel]<br />
* [http://code.google.com/p/tint2/ Tint2]<br />
* [http://www.gnomefiles.org/app.php/LXPanel LXPanel]<br />
* [http://fbpanel.sourceforge.net fbpanel]<br />
* [http://perlpanel.org/ PerlPanel]<br />
* [http://www.chatjunkies.org/fspanel/ fspanel]<br />
* [http://www.xfce.org/projects/xfce4-panel/ xfce4-panel]<br />
* [http://developer.gnome.org/arch/gnome/corecomponents/panel/ gnome-panel]<br />
* [http://code.google.com/p/avant-window-navigator/ avant-window-navigator]<br />
* [http://developer.berlios.de/projects/cairo-dock/ cairo-dock]<br />
* [http://code.google.com/p/wbar/ wbar]<br />
<br />
'''Trays'''<br />
* [http://stalonetray.sourceforge.net/ Stalonetray]<br />
* [http://download.gna.org/fvwm-crystal/trayer/1.0/ Trayer]<br />
<br />
'''Pagers'''<br />
* [http://projects.l3ib.org/trac/visibility Visibility]<br />
* [http://bbtools.sourceforge.net/ bbpager]<br />
* [http://aur.archlinux.org/packages.php?ID=970 netwmpager]<br />
* [http://useperl.ru/ipager/index.en.html IPager]<br />
<br />
Make your choice and add it to your startup file.<br />
<br />
==== Pipe-menus ====<br />
<br />
Pipe-menus are small scripts that can return menu-items to create a dynamic feel of the Openbox menu.<br />
<br />
'''RSS-Reader'''<br />
* [http://primo-nordica.net/dezza/fasterfeeder.py FasterFeeder RSS Reader for Openbox]<br />
<br />
=== Get xprop values for per-app settings quickly ===<br />
If you use per-application settings frequently, you might find this bash alias handy:<br />
<br />
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'<br />
<br />
To use, run '''{{Codeline|xp}}''' and click on the running program that you'd like to define with per-app settings. The result will display only the info that Openbox requires, namely the WM_WINDOW_ROLE and WM_CLASS (name and class) values:<br />
<br />
[thayer@dublin:~] $ xp<br />
WM_WINDOW_ROLE(STRING) = "roster"<br />
WM_CLASS(STRING) = "gajim.py", "Gajim.py"<br />
WM_CLASS(STRING) = "NAME", "CLASS"<br />
<br />
=== Firefox/Gran Paradiso application rules === <br />
For whatever reason, Firefox and its open source equivalents will ignore application rules (e.g. <desktop>) unless {{Codeline|class&#61;"Firefox*"}} is used, regardless of what xprop reports as the actual WM_CLASS values.<br />
<br />
=== Linking the menu to a command ===<br />
Some people would want to link the Openbox main menu, or any other, to a command. This is useful for creating a menu button in a panel, for example. Although Openbox doesn't support this, a very simple script, xdotool, can simulate a keypress by running a command. Xdotool is [http://aur.archlinux.org/packages.php?do_Details=1&ID=14789&O=0&L=0&C=0&K=xdotool&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd available on AUR]. To use it, simply add the following code to the <keyboard> section of your {{Filename|rc.xml}}:<br />
<keybind key="A-C-q"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
Restart/reconfigure Openbox. You can now magically summon your menu at your cursor position by running the following command:<br />
# xdotool key ctrl+alt+q<br />
Of course, you can change the shortcut to your liking.<br />
<br />
=== Urxvt in the background === <br />
With Openbox, running a terminal as desktop background is easy. You won't need '''devilspie''' here.<br />
<br />
First you must enable transparency, open your {{Filename|.Xdefaults}} file (if it doesn't exist yet, create it in your home folder).<br />
URxvt*transparent:true<br />
URxvt*scrollBar:false<br />
URxvt*geometry:124x24 #I don't use the whole screen, if you want a full screen term don't bother with this and see below.<br />
URxvt*borderLess:true<br />
URxvt*foreground:Black #Font color. My wallpaper is White, you may wish to change this to White.<br />
<br />
Then edit your {{Filename|.config/openbox/rc.xml}} file:<br />
<application name="urxvt"><br />
<decor>no</decor><br />
<focus>yes</focus><br />
<position><br />
<x>center</x><br />
<y>20</y><br />
</position><br />
<layer>below</layer><br />
<desktop>all</desktop><br />
<maximized>true</maximized> #Only if you want a full size terminal.<br />
</application><br />
<br />
The ''magic'' comes from the {{Codeline|<layer>below</layer>}} line, which place the application under all others. Here Urxvt is displayed on all desktops, change it to your convenience.<br />
<br />
== Additional Resources ==<br />
* [http://icculus.org/openbox/ Openbox Website] &ndash; The official website<br />
* [http://planetob.openmonkey.com/ Planet Openbox] &ndash; Openbox news portal<br />
* [http://www.box-look.org/ Box-Look.org] &ndash; A good resource for themes and related artwork<br />
<!-- vim: set ft=Wikipedia: --></div>Stabelehttps://wiki.archlinux.org/index.php?title=Automatic_login_to_virtual_console&diff=74662Automatic login to virtual console2009-08-26T11:13:42Z<p>Stabele: renaming vc/X to ttyX</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Security (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
== Using mingetty to log in users ==<br />
<br />
Preferred method: You can use the mingetty package, that is available from the [http://aur.archlinux.org/packages.php?do_Details=1&ID=13793&O=0&L=0&C=0&K=mingetty&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd Arch User Repository]. In /etc/inittab change:<br />
<pre><br />
c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux<br />
c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux<br />
c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux<br />
c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux<br />
c5:2345:respawn:/sbin/agetty -8 38400 tty5 linux<br />
c6:2345:respawn:/sbin/agetty -8 38400 tty6 linux<br />
</pre><br />
to<br />
<pre><br />
c1:2345:respawn:/sbin/mingetty --autologin george tty1 linux<br />
c2:2345:respawn:/sbin/agetty 38400 tty2 linux<br />
c3:2345:respawn:/sbin/agetty 38400 tty3 linux<br />
c4:2345:respawn:/sbin/agetty 38400 tty4 linux<br />
c5:2345:respawn:/sbin/agetty 38400 tty5 linux<br />
c6:2345:respawn:/sbin/agetty 38400 tty6 linux<br />
</pre><br />
you can change every line to use mingetty if you prefer however that's not necessary.<br />
<br />
== Using a C login program ==<br />
<br />
As an alternative you can:<br />
<br />
* Create a C login program, <code>autologingeorge.c</code>, for the user <code>george</code>:<br />
<pre><br />
#include <unistd.h><br />
<br />
int main() {<br />
execlp( "login", "login", "-f", "george", 0);<br />
}</pre><br />
Here, the C function <code>execlp</code> executes the command <code>login -f george</code>.<br />
* Compile it:<br />
<pre><br />
# gcc -o autologingeorge autologingeorge.c<br />
</pre><br />
* Gain root access (with <code>su</code>) and copy the executable to a public directory:<br />
<pre><br />
# cp autologingeorge /usr/local/sbin/<br />
</pre><br />
* Edit <code>/etc/inittab</code>. The lines:<br />
<pre><br />
c1:2345:respawn:/sbin/agetty 38400 tty1 linux<br />
c2:2345:respawn:/sbin/agetty 38400 tty2 linux<br />
c3:2345:respawn:/sbin/agetty 38400 tty3 linux<br />
c4:2345:respawn:/sbin/agetty 38400 tty4 linux<br />
c5:2345:respawn:/sbin/agetty 38400 tty5 linux<br />
c6:2345:respawn:/sbin/agetty 38400 tty6 linux<br />
</pre><br />
should look something like:<br />
<pre><br />
c1:2345:respawn:/sbin/agetty -n -l /usr/local/sbin/autologingeorge 38400 tty1 linux<br />
c2:2345:respawn:/sbin/agetty 38400 tty2 linux<br />
c3:2345:respawn:/sbin/agetty 38400 tty3 linux<br />
c4:2345:respawn:/sbin/agetty 38400 tty4 linux<br />
c5:2345:respawn:/sbin/agetty 38400 tty5 linux<br />
c6:2345:respawn:/sbin/agetty 38400 tty6 linux<br />
</pre><br />
<br />
<br />
== Restarting the system ==<br />
<br />
Next time you start up your linux system, the user <code>george</code> will be automatically logged in on the first virtual console (<code>tty1</code>). To understand why, do <code>man agetty</code>.<br />
<br />
You can now [[Start X at boot]] and have your box go directly into X.</div>Stabelehttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=68448List of applications2009-05-08T17:06:37Z<p>Stabele: formating change</p>
<hr />
<div>[[Category:Software (English)]]<br />
'''This list is purely a point of reference for people looking for software to fill a particular need. No flame wars. For special list of lightweight apps only see [[Lightweight Software]].'''<br />
<br />
'''NOTE: This will likely get big. So please try to keep entries alphabetically organized'''<br />
= [[Backup_programs|Backup]] =<br />
* [[dar]] -A full featured command-line backup tool, short for Disk ARchive [http://dar.linux.free.fr/ Home Site] [http://aur.archlinux.org/packages.php?ID=1612 Package]<br />
* [[duplicity]] - A utility for encrypted, bandwidth-efficient backups using the rsync algorithm [http://www.nongnu.org/duplicity/ Home Site] [http://aur.archlinux.org/packages.php?ID=5881 Package]<br />
* [[packrat]] - A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3 [http://www.zeroflux.org/projects/ Home Site] [http://aur.archlinux.org/packages.php?ID=21951 Package]<br />
* [[rdiff-backup]] - A utility for local/remote mirroring and incremental backups [http://www.nongnu.org/rdiff-backup/ Home Site] [http://aur.archlinux.org/packages.php?ID=172 Package]<br />
* [[rsnapshot]] - A remote filesystem snapshot utility [http://www.rsnapshot.org Home Site] [http://aur.archlinux.org/packages.php?ID=3070 Package]<br />
* [[rsync]] - A file transfer program to keep remote files in sync [http://samba.anu.edu.au/rsync/ Home Site] [http://www.archlinux.org/packages/extra/i686/rsync/ Package]<br />
* [[safekeep]] - A client/server backup system which enhances the power of rdiff-backup [http://safekeep.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=16463 Package]<br />
<br />
= Internet =<br />
== BitTorrent Clients ==<br />
* [http://aria2.sourceforge.net/ aria2] - Fast command line downloader with support for multiple protocols, including BitTorrent <br />
* [http://deluge-torrent.org/ Deluge] - BitTorrent client written in Python and wrapped with PyGTK <br />
* [http://ktorrent.org/ Ktorrent] - Feature-rich BitTorrent client developed using Qt <br />
* [http://libtorrent.rakshasa.no/ rTorrent] - Simple and lightweight ncurses BitTorrent client for text-based console. <br />
* [http://www.transmissionbt.com/ Transmission] - Simple and easy BitTorrent client (GTK+ GUI and CLI) <br />
* [http://azureus.sourceforge.net/ Vuze] - Feature-rich BitTorrent client written in Java <br />
* [http://mldonkey.sourceforge.net/Main_Page MLDonkey] - Multi protocol p2p client suporting BitTorrent <br />
[http://en.wikipedia.org/wiki/BitTorrent_client#Operating_system_support List of BitTorrent Clients]<br />
<br />
== Chat Clients ==<br />
=== IRC Clients ===<br />
* [[Irssi]] - ncurses IRC client - http://www.irssi.org/<br />
* [[Weechat]] - ncurses IRC client<br />
* [[Xchat]] - http://www.xchat.org/<br />
<br />
=== Jabber/XMPP Clients ===<br />
* [[freetalk]] - Freetalk is a CLI Jabber client. Freetalk is extensible, configurable, and scriptable through a Guile interface. <br />
* [[gajim]] - A GTK2 Jabber/XMPP client, light and feature-rich<br />
* [[jabber.el]] - jabber.el is a Jabber client for Emacs.<br />
* [[mcabber]] A curses xmpp client<br />
* [[psi]] - A Qt Jabber/XMPP client<br />
<br />
=== MSN Clients ===<br />
* [[aMsn]] - A tcl/tk MSN Client. http://www.amsn-project.net/<br />
* [[Emesene]] - A GTK2 MSN Client. http://emesene.org/<br />
* [[Galaxium Messenger]] - A Mono MSN Client. http://code.google.com/p/galaxium/<br />
* [[Kmess]] - A KDE MSN Client. http://kmess.org/<br />
* [[Mercury]] - A Java MSN Client. http://www.mercury.im/<br />
<br />
=== Multi-Protocol Clients ===<br />
* [http://aur.archlinux.org/packages.php?ID=22543 BarnOwl] - A console chat client for the AIM, IRC, Jabber, and Zephyr protocols http://barnowl.mit.edu/<br />
* [[Carrier/Funpidgin]] - fork of Pidgin with many improvements and more user-oriented developers http://funpidgin.sourceforge.net <br />
* [[CenterIM]] - An ncurses client with support for ICQ, Yahoo!, AIM, MSN, IRC, Jabber, LiveJournal, and Gadu-Gadu<br />
* [[Finch]] - An ncurses version of Pidgin<br />
* [[Kopete]] - A Kde multi-protocol IM client<br />
* [[Pidgin]] - A GTK2 multi-protocol IM client<br />
* [[qutim]] - a Qt multiprotocol client that resembles the look'n'feel of the QIP program. http://qutim.org<br />
<br />
[http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients List of Instant Messaging Clients]<br />
<br />
== Mail Clients ==<br />
* [[Alpine]] The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages) http://www.washington.edu/alpine<br />
* [[Claws-mail]] - A GTK+ based e-mail client http://www.claws-mail.org<br />
* [[Evolution]] - A mature and feature-rich e-mail client used in GNOME by default.<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[Kmail]] - A mature and feature-rich e-mail client part of the kde project. http://kontact.kde.org/kmail/<br />
* [[mutt]] - The famous, mature old command-line client http://www.mutt.org/<br />
* [[Sylpheed]] - Lightweight and user-friendly e-mail client http://sylpheed.sraoss.jp/en/<br />
* [[Thunderbird]] - Mozilla's GTK2-based client.<br />
<br />
== News Aggregators ==<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[Canto]] - A ncurses RSS aggregator http://codezen.org/canto/<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[Liferea]] - A GTK desktop news aggregator for online news feeds and weblogs http://liferea.sourceforge.net<br />
* [http://www.newsbeuter.org Newsbeuter] - A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup.<br />
* [http://aur.archlinux.org/packages.php?ID=11369 Rawdog] - An "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order http://offog.org/code/rawdog.html<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
* [[Snownews]] - Text mode RSS newsreader.<br />
<br />
== Web Browsers ==<br />
=== Graphical ===<br />
* [[Arora]] - Cross-platform open source web browser using the [http://webkit.org/ WebKit] rendering engine, built on top of Qt. http://www.arora-browser.org/<br />
* [[Dillo]] - A small, fast graphical web browser built on FLTK http://www.dillo.org/<br />
* [[Epiphany]] - A GNOME reworking of Firefox, really. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering ([http://www.mozilla.com/firefox/all-beta.html 3.1b2]) http://www.mozilla.com/firefox/<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* [[Midori]] - Young but promising GTK2/WebKit browser, featherweight with very fast rendering http://www.twotoasts.de/index.php?/pages/midori_summary.html<br />
* [[Opera]] - Highly customizable browser with focuses on usability and an adherence to web rendering standards http://www.opera.com/<br />
<br />
=== Text Based ===<br />
* [[Elinks]] - An advanced and well-established feature-rich text mode web browser. http://elinks.or.cz<br />
* [[links-g]] A text WWW browser, similar to Lynx, with framebuffer and X graphics enabled http://links.twibright.com/<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
= Document Indexers =<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
= Document Readers =<br />
*[[ePDFView ]] - A free lightweight PDF document viewer using Poppler and GTK+ libraries. http://trac.emma-soft.com/epdfview/<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[http://aur.archlinux.org/packages.php?ID=23344 Foxit Reader] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*[[Okular]] - PDF viewer for KDE. http://okular.kde.org/<br />
*[[xpdf]] - A viewer for Portable Document Format (PDF) files http://www.foolabs.com/xpdf/<br />
<br />
= Multimedia =<br />
== Audio ==<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [[Ario]] - A GTK client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [[aTunes]] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [[Banshee]] - yet another GTK iTunes clone, yet more feature-rich and more actively developed.<br />
* [[Cmus]] is a very feature-rich ncurses-based music player.<br />
* [[Cplay]] is a curses front-end for various audio players.<br />
* [[Exaile]] - A GTK clone of Amarok<br />
* [[Goggles Music Manager]] - A lightweight music manager and player that automatically categorizes your music files.<br />
* [[moc]] - A ncurses-based daemon/client style player, designed to be flexible and easy to use. http://moc.daper.net/<br />
* [[MPD]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [[mpg123]] - command line audio player.<br />
* [[ncmpc]] - An ncurses-based front-end to mpd<br />
* [[ncmpcpp]] - A clone of ncmpc with some new features written in C++ http://unkart.ovh.org/ncmpcpp/ (in [http://aur.archlinux.org/packages.php?K=ncmpcpp&start=0&PP=100 AUR])<br />
* [http://aur.archlinux.org/packages.php?ID=21461 PyTone] - An advanced music jukebox with a console interface http://www.luga.de/pytone/<br />
* [[Quod Libet]] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK clone of iTunes, used by default in GNOME<br />
* [[Sonata]] - A Python-based front-end to mpd<br />
* [[Songbird]] - an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP http://getsongbird.com/<br />
* [[XMMS]] - A skinnable GTK+1 standalone media player similar to winamp<br />
=== Visualization ===<br />
* [[projectM]] - OpenGL music visualizer for 3D accelerated graphic cards http://projectm.sourceforge.net/<br />
<br />
=== Editing ===<br />
* [[Audacity]] - A sound recorder and editor<br />
<br />
== Graphics and Image Manipulation ==<br />
* [[Blender]] - A fully integrated 3D graphics creation suite http://blender3d.org<br />
* [[Dia]] - DIAgram editor http://www.gnome.org/projects/dia<br />
* [[Gimp]] - GNU Image Manipulation Program http://www.gimp.org<br />
* [[imagemagick]] - An image viewing/manipulation program http://www.imagemagick.org/<br />
* [[Inkscape]] - A vector-based drawing program - svg compliant http://inkscape.sourceforge.net<br />
* [[mtpaint]] - A simple GTK2 painting program designed for creating icons and pixel based artwork. http://mtpaint.sourceforge.net<br />
* [[Xara]] - An advanced vector graphics program, development release http://www.xaraxtreme.org<br />
<br />
== Image Viewers ==<br />
* [http://s01.de/~gottox/index.cgi/proj_bgs bgs] - Back Ground Setter (bgs) is a lightweight background setter. <br />
* [[eog]] - "Eye of Gnome" image viewer<br />
* [[feh]] - Command-line based, can be used for slideshows, quick viewing, and setting wallpaper<br />
* [[gpicview]] - Picture viewer of the LXDE Desktop http://lxde.org/<br />
* [[geeqie]] - Lightweight, speedy fork of gqview http://geeqie.sourceforge.net/<br />
* [[gqview]] - A stand-alone GTK2 image viewer<br />
* [[gThumb]] - Image browser and viewer for the GNOME Desktop<br />
* [[Mirage]] - light and extensible GTK+ image viewer http://mirageiv.berlios.de/<br />
* [[qiv]] - Quick Image Viewer (qiv) is a very small and fast GDK/Imlib image viewer http://www.klografx.net/qiv/<br />
* [[Ristretto]] - Fast and lightweight viewer, often installed as part of the Xfce desktop environment<br />
* [[XnView MP]] - Extensible port of the complete and customizeable XnView. Currently under development http://newsgroup.xnview.com/viewforum.php?f=60<br />
*[[xv]] - xv is a nice image viewer [http://www.trilon.com/xv/ Home Site] [http://aur.archlinux.org/packages.php?ID=9015 Package]<br />
<br />
== Phone ==<br />
* [[moto4lin]] - Motorola P2K telephone manager built on Qt3 http://moto4lin.sourceforge.net/<br />
<br />
== Video ==<br />
* [[mplayer]] - A "Swiss army knife" of sorts for media playing on Linux<br />
* [[VLC]] - A simple multi-platform media player, streamer, and encoder, that handles huge numbers of media formats.<br />
* [[SMPlayer]] is a complete frontend for [[MPlayer]].<br />
* [[Whaaw! Media Player]] is a lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who don't like all those GNOME dependencies. http://home.gna.org/whaawmp/<br />
<br />
= Note Taking Organizers =<br />
* [[hnb]] - A program to organize many kinds of data in one place. [http://hnb.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home Site]<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home Site]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home Site]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [[http://zim-wiki.org/ Home Site]<br />
<br />
= Office =<br />
== Suites ==<br />
* [[Koffice]] - KOffice is a free, integrated office suite for KDE, the K Desktop Environment. http://www.koffice.org/<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
<br />
== Word Processors ==<br />
* [[Abiword]] - A lightweight fast word processor http://www.abisource.com/<br />
* [[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
== Spreadsheets ==<br />
* [[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
* [[OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
= Security =<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[denyhosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
= Time Management =<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home Site]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clay.ll.pl/osmo/ Home Site]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home Site]<br />
* [[Remind]] - A sophisticated calendar and alarm progam [http://www.roaringpenguin.com/penguin/open_source_remind.php Home Site]<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home Site]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home Site]<br />
* [[Wyrd]] - A text-based front-end to Remind. [http://pessimization.com/software/wyrd/ Home Site]<br />
<br />
= Utilities =<br />
== Arch Package Management ==<br />
See also [[Comparison of AUR frontends]]. <br />
* [[Aurnotify]] - Displays the latest updated packages from Arch Linux User Repository. http://adesklets.sourceforge.net/desklets.html<br />
* [http://husio.homelinux.com/static/aurshell/ Aurshell] - A program wherein a number of commands exist, such as '''aur search <query>'''<br />
* [http://ghost1227.com/downloads?func=fileinfo&id=4 Makeaur] - A simple shell script designed to expedite the AUR installation process <br />
* [http://xyne.archlinux.ca/info/powerpill Powerpill] - A wrapper and download accelerator for Pacman that works with other wrappers<br />
* [[TuPac]] - A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...<br />
* [[Yaourt]] - Usage identical to Pacman, with support for core, extra, community, and unsupported repositories<br />
<br />
==Clipboard Managers==<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager.<br />
<br />
== Compression Tools ==<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[Squeeze]] - A featherweight front-end for command line archiving tools. Passworded archives are currently unsupported. http://squeeze.xfce.org/<br />
* [[XArchive]] - A GTK+ front-end for command line archiving tools.<br />
* [[Xarchiver]] - A lightweight, desktop independent front-end for command line archiving tools built with GTK2. http://xarchiver.xfce.org/<br />
* [[File Roller]] The default archive manager for GNOME.<br />
<br />
== File Managers ==<br />
* [[emelFM2]] - File manager that implements a three-pane design http://emelfm2.net<br />
* [[Krusader]] - Advanced twin panel (commander style) file manager for KDE http://www.krusader.org/<br />
* [[Midnight Commander]] - Terminal filemanager/shell that emulates Norton Commander http://www.midnight-commander.org/<br />
* [[Nautilus]] - Extensible, heavyweight file manager used by default in GNOME with support for custom scripts http://projects.gnome.org/nautilus/<br />
* [[PCMan File Manager]] - Part of the standard [[LXDE]] DE, a small and efficient graphical file manager http://pcmanfm.sourceforge.net/<br />
* [[ROX-Filer]] - Small and fast file manager which can optionally manage desktop backgrounds and panels http://roscidus.com/desktop/ROX-Filer<br />
* [[Thunar]] - [http://goodies.xfce.org/projects/thunar-plugins/start Extensible], medium weight file manager used by default in Xfce with support for plugins http://www.xfce.org/projects/thunar/<br />
* [[Vifm]] - Ncurses based file manager with vi-like keybindings http://vifm.sourceforge.net/<br />
* [[Xfe]] - Small and very fast Commander like file manager http://roland65.free.fr/xfe/<br />
<br />
== Panels ==<br />
* [[fbpanel]] Lightweight, NETWM compliant desktop panel. [http://fbpanel.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=5255 Package]<br />
* [[LXPanel]] Lightweight X11 desktop panel and part of the LXDE DE. [http://lxde.org/ Home Site] [http://aur.archlinux.org/packages.php?ID=17813 Package]<br />
* [[PyPanel]] Lightweight panel/taskbar written in Python and C. [http://pypanel.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=9118 Package]<br />
* [[Tint]] Simple panel/taskbar developed specifically for Openbox. [http://code.google.com/p/tint2/ Home Site] [http://aur.archlinux.org/packages.php?ID=17082 Package]<br />
* [[BMPanel]] Lightweight, NETWM compliant desktop panel. [http://nsf.110mb.com/bmpanel/ Home Site] [http://aur.archlinux.org/packages.php?ID=15165 Package]<br />
<br />
== System Monitoring ==<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*[[conky]] - advanced, highly configurable system monitor for X based on torsmo http://conky.sourceforge.net/<br />
*[[gkrellm]] - System monitor package for GTK2 http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
<br />
== Terminals ==<br />
* [[Aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/ <br />
* [[Gnome-Terminal]] - GNOME default (standalone) terminal with support for Unicode and pseudo-transparency<br />
* [[Konsole]] - KDE's default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* [[Lilyterm]] — Lightweight and plain terminal emulator<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
* [[roxterm]] - Tabbed, VTE-based terminal emulator http://roxterm.sourceforge.net/<br />
* [[rxvt-unicode]] (or urxvt) - A small, fast and customizable terminal which uses ~/.Xdefaults http://software.schmorp.de/pkg/rxvt-unicode.html<br />
* [[sakura]] - terminal emulator based on GTK and VTE. http://www.pleyades.net/david/sakura.php<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[xterm]] - The default of defaults, requires only X<br />
* [[Terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/<br />
<br />
== Text Editors ==<br />
* [[Beaver]] - Early AdVanced EditoR.<br />
* [[Bluefish]] - GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins http://bluefish.openoffice.nl/<br />
* [[Cssed]] - GTK2 based Cascading Style Sheets (CSS) editor http://cssed.sourceforge.net/<br />
* [[Emacs]] - The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons <br />
* [[Geany]] is a text editor using the GTK2 toolkit with basic features of an integrated development environment.<br />
* [[Gedit]] - Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality<br />
* [[Kate]] (a part of the KDE desktop)<br />
* [[KWrite]] (a part of the KDE desktop)<br />
* [[LeafPad]] - GTK+ based simple text editor http://tarot.freeshell.org/leafpad/<br />
* [[medit]] is intended to be a useful programming and around-programming text editor.<br />
* [[Mousepad]] - Lightweight text editor with support for word wrapping, line numbering and printing http://www.xfce.org/projects/mousepad/<br />
* [[Nano]] - A console based editor, similar to vim with a more intuitive interface, a good choice for newbies and casual users.<br />
* [[Scite]] - A generally useful editor with facilities for building and running programs http://www.scintilla.org/SciTE.html<br />
* [[Vim]] - "Vi improved," its many shortcuts and utilities may take a while to master but are a huge asset to programmers<br />
<br />
== Trays ==<br />
* [[Docker]] is a docking application which acts as a system tray.<br />
* [[Stalonetray]] is a stand-alone system tray.<br />
* [[Trayer]] swallows GTK 1.2/2.x application docklets, and KDE docklets.<br />
<br />
= Desktop Environments (DE) =<br />
* [[GNOME]] - Heavyweight DE that focuses on usability by offering simple controls and options http://www.gnome.org/<br />
* [[KDE]] - Heavyweight DE that focuses on customizeable options and integrated applications http://www.kde.org/<br />
* [[LXDE]] - Fully modular, lightweight DE based on Openbox offered with a suite of lightweight tools http://www.lxde.org/<br />
* [[ROX Desktop]] - Lightweight DE with excellent drag-and-drop support http://roscidus.com/desktop/<br />
* [[Xfce]] - Partially modular, medium weight DE which attempts to emulate the usability of GNOME http://www.xfce.org/<br />
<br />
= Window Managers (WM) =<br />
== Stacking Window Managers ==<br />
* [[Compiz]] - Compositing WM, similar to GNOME's Metacity http://freedesktop.org/wiki/Software/Compiz<br />
* [[Enlightenment]] - WM which attempts to provide minimal DE features with a native image viewer and file manager, amongst others http://www.enlightenment.org/<br />
* [[Fluxbox]] - Lightweight, easily configurable WM with support for panels and a tabbed interface http://www.fluxbox.org<br />
* [[JWM]] - Simple, stable and featherweight WM with native support for panels and buttons. XML-based configuration http://joewing.net/programs/jwm/<br />
* [[Openbox]] - Lightweight WM with numerous customization options and a mature code base. XML-based configuration http://icculus.org/openbox<br />
* [[pekwm]] - Lightweight, themeable WM configured with an intuitive Perl-like syntax http://pekwm.org/projects/pekwm<br />
* [[Sawfish]] - Medium weight WM, formerly the default WM in GNOME (subsequently substituted by Metacity) http://sawfish.wikia.com<br />
<br />
== Tiling Window Managers ==<br />
Window managers that tile work by partitioning off areas of the screen and are designed to maximize the usage of the screen without forcing the user to muck around with window positions and frames. See also [[Comparison of Tiling Window Managers]].<br />
* [[awesome]]<br />
* [[dwm]]<br />
* [[Ion3]]<br />
* [[ratpoison]]<br />
* [[scrotwm]]<br />
* [[Stumpwm]]<br />
* [[wmii]]<br />
* [[Xmonad]]<br />
* [[Musca]]<br />
<br />
= Additional Resources =<br />
*[http://en.gentoo-wiki.com/wiki/Lightweight_package_selection_using_Xfce_(also_suitable_for_office_usage)|Lightweight Package Selection for Xfce (Gentoo)]<br />
*[http://wiki.xfce.org/recommendedapps Xfce Suggested Applications]<br />
*[http://wiki.archlinux.org/index.php/Lightweight_Software Lightweight Software List]</div>Stabelehttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=68447List of applications2009-05-08T17:04:27Z<p>Stabele: adding link to article Lightweight Software (and vice versa)</p>
<hr />
<div>[[Category:Software (English)]]<br />
'''This list is purely a point of reference for people looking for software to fill a particular need. No flame wars.'''<br />
<br />
'''For special list of lightweight apps only see [[Lightweight Software]].'''<br />
<br />
'''NOTE: This will likely get big. So please try to keep entries alphabetically organized'''<br />
= [[Backup_programs|Backup]] =<br />
* [[dar]] -A full featured command-line backup tool, short for Disk ARchive [http://dar.linux.free.fr/ Home Site] [http://aur.archlinux.org/packages.php?ID=1612 Package]<br />
* [[duplicity]] - A utility for encrypted, bandwidth-efficient backups using the rsync algorithm [http://www.nongnu.org/duplicity/ Home Site] [http://aur.archlinux.org/packages.php?ID=5881 Package]<br />
* [[packrat]] - A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3 [http://www.zeroflux.org/projects/ Home Site] [http://aur.archlinux.org/packages.php?ID=21951 Package]<br />
* [[rdiff-backup]] - A utility for local/remote mirroring and incremental backups [http://www.nongnu.org/rdiff-backup/ Home Site] [http://aur.archlinux.org/packages.php?ID=172 Package]<br />
* [[rsnapshot]] - A remote filesystem snapshot utility [http://www.rsnapshot.org Home Site] [http://aur.archlinux.org/packages.php?ID=3070 Package]<br />
* [[rsync]] - A file transfer program to keep remote files in sync [http://samba.anu.edu.au/rsync/ Home Site] [http://www.archlinux.org/packages/extra/i686/rsync/ Package]<br />
* [[safekeep]] - A client/server backup system which enhances the power of rdiff-backup [http://safekeep.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=16463 Package]<br />
<br />
= Internet =<br />
== BitTorrent Clients ==<br />
* [http://aria2.sourceforge.net/ aria2] - Fast command line downloader with support for multiple protocols, including BitTorrent <br />
* [http://deluge-torrent.org/ Deluge] - BitTorrent client written in Python and wrapped with PyGTK <br />
* [http://ktorrent.org/ Ktorrent] - Feature-rich BitTorrent client developed using Qt <br />
* [http://libtorrent.rakshasa.no/ rTorrent] - Simple and lightweight ncurses BitTorrent client for text-based console. <br />
* [http://www.transmissionbt.com/ Transmission] - Simple and easy BitTorrent client (GTK+ GUI and CLI) <br />
* [http://azureus.sourceforge.net/ Vuze] - Feature-rich BitTorrent client written in Java <br />
* [http://mldonkey.sourceforge.net/Main_Page MLDonkey] - Multi protocol p2p client suporting BitTorrent <br />
[http://en.wikipedia.org/wiki/BitTorrent_client#Operating_system_support List of BitTorrent Clients]<br />
<br />
== Chat Clients ==<br />
=== IRC Clients ===<br />
* [[Irssi]] - ncurses IRC client - http://www.irssi.org/<br />
* [[Weechat]] - ncurses IRC client<br />
* [[Xchat]] - http://www.xchat.org/<br />
<br />
=== Jabber/XMPP Clients ===<br />
* [[freetalk]] - Freetalk is a CLI Jabber client. Freetalk is extensible, configurable, and scriptable through a Guile interface. <br />
* [[gajim]] - A GTK2 Jabber/XMPP client, light and feature-rich<br />
* [[jabber.el]] - jabber.el is a Jabber client for Emacs.<br />
* [[mcabber]] A curses xmpp client<br />
* [[psi]] - A Qt Jabber/XMPP client<br />
<br />
=== MSN Clients ===<br />
* [[aMsn]] - A tcl/tk MSN Client. http://www.amsn-project.net/<br />
* [[Emesene]] - A GTK2 MSN Client. http://emesene.org/<br />
* [[Galaxium Messenger]] - A Mono MSN Client. http://code.google.com/p/galaxium/<br />
* [[Kmess]] - A KDE MSN Client. http://kmess.org/<br />
* [[Mercury]] - A Java MSN Client. http://www.mercury.im/<br />
<br />
=== Multi-Protocol Clients ===<br />
* [http://aur.archlinux.org/packages.php?ID=22543 BarnOwl] - A console chat client for the AIM, IRC, Jabber, and Zephyr protocols http://barnowl.mit.edu/<br />
* [[Carrier/Funpidgin]] - fork of Pidgin with many improvements and more user-oriented developers http://funpidgin.sourceforge.net <br />
* [[CenterIM]] - An ncurses client with support for ICQ, Yahoo!, AIM, MSN, IRC, Jabber, LiveJournal, and Gadu-Gadu<br />
* [[Finch]] - An ncurses version of Pidgin<br />
* [[Kopete]] - A Kde multi-protocol IM client<br />
* [[Pidgin]] - A GTK2 multi-protocol IM client<br />
* [[qutim]] - a Qt multiprotocol client that resembles the look'n'feel of the QIP program. http://qutim.org<br />
<br />
[http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients List of Instant Messaging Clients]<br />
<br />
== Mail Clients ==<br />
* [[Alpine]] The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages) http://www.washington.edu/alpine<br />
* [[Claws-mail]] - A GTK+ based e-mail client http://www.claws-mail.org<br />
* [[Evolution]] - A mature and feature-rich e-mail client used in GNOME by default.<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[Kmail]] - A mature and feature-rich e-mail client part of the kde project. http://kontact.kde.org/kmail/<br />
* [[mutt]] - The famous, mature old command-line client http://www.mutt.org/<br />
* [[Sylpheed]] - Lightweight and user-friendly e-mail client http://sylpheed.sraoss.jp/en/<br />
* [[Thunderbird]] - Mozilla's GTK2-based client.<br />
<br />
== News Aggregators ==<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[Canto]] - A ncurses RSS aggregator http://codezen.org/canto/<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[Liferea]] - A GTK desktop news aggregator for online news feeds and weblogs http://liferea.sourceforge.net<br />
* [http://www.newsbeuter.org Newsbeuter] - A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup.<br />
* [http://aur.archlinux.org/packages.php?ID=11369 Rawdog] - An "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order http://offog.org/code/rawdog.html<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
* [[Snownews]] - Text mode RSS newsreader.<br />
<br />
== Web Browsers ==<br />
=== Graphical ===<br />
* [[Arora]] - Cross-platform open source web browser using the [http://webkit.org/ WebKit] rendering engine, built on top of Qt. http://www.arora-browser.org/<br />
* [[Dillo]] - A small, fast graphical web browser built on FLTK http://www.dillo.org/<br />
* [[Epiphany]] - A GNOME reworking of Firefox, really. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering ([http://www.mozilla.com/firefox/all-beta.html 3.1b2]) http://www.mozilla.com/firefox/<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* [[Midori]] - Young but promising GTK2/WebKit browser, featherweight with very fast rendering http://www.twotoasts.de/index.php?/pages/midori_summary.html<br />
* [[Opera]] - Highly customizable browser with focuses on usability and an adherence to web rendering standards http://www.opera.com/<br />
<br />
=== Text Based ===<br />
* [[Elinks]] - An advanced and well-established feature-rich text mode web browser. http://elinks.or.cz<br />
* [[links-g]] A text WWW browser, similar to Lynx, with framebuffer and X graphics enabled http://links.twibright.com/<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
= Document Indexers =<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
= Document Readers =<br />
*[[ePDFView ]] - A free lightweight PDF document viewer using Poppler and GTK+ libraries. http://trac.emma-soft.com/epdfview/<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[http://aur.archlinux.org/packages.php?ID=23344 Foxit Reader] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*[[Okular]] - PDF viewer for KDE. http://okular.kde.org/<br />
*[[xpdf]] - A viewer for Portable Document Format (PDF) files http://www.foolabs.com/xpdf/<br />
<br />
= Multimedia =<br />
== Audio ==<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [[Ario]] - A GTK client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [[aTunes]] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [[Banshee]] - yet another GTK iTunes clone, yet more feature-rich and more actively developed.<br />
* [[Cmus]] is a very feature-rich ncurses-based music player.<br />
* [[Cplay]] is a curses front-end for various audio players.<br />
* [[Exaile]] - A GTK clone of Amarok<br />
* [[Goggles Music Manager]] - A lightweight music manager and player that automatically categorizes your music files.<br />
* [[moc]] - A ncurses-based daemon/client style player, designed to be flexible and easy to use. http://moc.daper.net/<br />
* [[MPD]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [[mpg123]] - command line audio player.<br />
* [[ncmpc]] - An ncurses-based front-end to mpd<br />
* [[ncmpcpp]] - A clone of ncmpc with some new features written in C++ http://unkart.ovh.org/ncmpcpp/ (in [http://aur.archlinux.org/packages.php?K=ncmpcpp&start=0&PP=100 AUR])<br />
* [http://aur.archlinux.org/packages.php?ID=21461 PyTone] - An advanced music jukebox with a console interface http://www.luga.de/pytone/<br />
* [[Quod Libet]] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK clone of iTunes, used by default in GNOME<br />
* [[Sonata]] - A Python-based front-end to mpd<br />
* [[Songbird]] - an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP http://getsongbird.com/<br />
* [[XMMS]] - A skinnable GTK+1 standalone media player similar to winamp<br />
=== Visualization ===<br />
* [[projectM]] - OpenGL music visualizer for 3D accelerated graphic cards http://projectm.sourceforge.net/<br />
<br />
=== Editing ===<br />
* [[Audacity]] - A sound recorder and editor<br />
<br />
== Graphics and Image Manipulation ==<br />
* [[Blender]] - A fully integrated 3D graphics creation suite http://blender3d.org<br />
* [[Dia]] - DIAgram editor http://www.gnome.org/projects/dia<br />
* [[Gimp]] - GNU Image Manipulation Program http://www.gimp.org<br />
* [[imagemagick]] - An image viewing/manipulation program http://www.imagemagick.org/<br />
* [[Inkscape]] - A vector-based drawing program - svg compliant http://inkscape.sourceforge.net<br />
* [[mtpaint]] - A simple GTK2 painting program designed for creating icons and pixel based artwork. http://mtpaint.sourceforge.net<br />
* [[Xara]] - An advanced vector graphics program, development release http://www.xaraxtreme.org<br />
<br />
== Image Viewers ==<br />
* [http://s01.de/~gottox/index.cgi/proj_bgs bgs] - Back Ground Setter (bgs) is a lightweight background setter. <br />
* [[eog]] - "Eye of Gnome" image viewer<br />
* [[feh]] - Command-line based, can be used for slideshows, quick viewing, and setting wallpaper<br />
* [[gpicview]] - Picture viewer of the LXDE Desktop http://lxde.org/<br />
* [[geeqie]] - Lightweight, speedy fork of gqview http://geeqie.sourceforge.net/<br />
* [[gqview]] - A stand-alone GTK2 image viewer<br />
* [[gThumb]] - Image browser and viewer for the GNOME Desktop<br />
* [[Mirage]] - light and extensible GTK+ image viewer http://mirageiv.berlios.de/<br />
* [[qiv]] - Quick Image Viewer (qiv) is a very small and fast GDK/Imlib image viewer http://www.klografx.net/qiv/<br />
* [[Ristretto]] - Fast and lightweight viewer, often installed as part of the Xfce desktop environment<br />
* [[XnView MP]] - Extensible port of the complete and customizeable XnView. Currently under development http://newsgroup.xnview.com/viewforum.php?f=60<br />
*[[xv]] - xv is a nice image viewer [http://www.trilon.com/xv/ Home Site] [http://aur.archlinux.org/packages.php?ID=9015 Package]<br />
<br />
== Phone ==<br />
* [[moto4lin]] - Motorola P2K telephone manager built on Qt3 http://moto4lin.sourceforge.net/<br />
<br />
== Video ==<br />
* [[mplayer]] - A "Swiss army knife" of sorts for media playing on Linux<br />
* [[VLC]] - A simple multi-platform media player, streamer, and encoder, that handles huge numbers of media formats.<br />
* [[SMPlayer]] is a complete frontend for [[MPlayer]].<br />
* [[Whaaw! Media Player]] is a lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who don't like all those GNOME dependencies. http://home.gna.org/whaawmp/<br />
<br />
= Note Taking Organizers =<br />
* [[hnb]] - A program to organize many kinds of data in one place. [http://hnb.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home Site]<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home Site]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home Site]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [[http://zim-wiki.org/ Home Site]<br />
<br />
= Office =<br />
== Suites ==<br />
* [[Koffice]] - KOffice is a free, integrated office suite for KDE, the K Desktop Environment. http://www.koffice.org/<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
<br />
== Word Processors ==<br />
* [[Abiword]] - A lightweight fast word processor http://www.abisource.com/<br />
* [[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
== Spreadsheets ==<br />
* [[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
* [[OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
= Security =<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[denyhosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
= Time Management =<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home Site]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clay.ll.pl/osmo/ Home Site]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home Site]<br />
* [[Remind]] - A sophisticated calendar and alarm progam [http://www.roaringpenguin.com/penguin/open_source_remind.php Home Site]<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home Site]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home Site]<br />
* [[Wyrd]] - A text-based front-end to Remind. [http://pessimization.com/software/wyrd/ Home Site]<br />
<br />
= Utilities =<br />
== Arch Package Management ==<br />
See also [[Comparison of AUR frontends]]. <br />
* [[Aurnotify]] - Displays the latest updated packages from Arch Linux User Repository. http://adesklets.sourceforge.net/desklets.html<br />
* [http://husio.homelinux.com/static/aurshell/ Aurshell] - A program wherein a number of commands exist, such as '''aur search <query>'''<br />
* [http://ghost1227.com/downloads?func=fileinfo&id=4 Makeaur] - A simple shell script designed to expedite the AUR installation process <br />
* [http://xyne.archlinux.ca/info/powerpill Powerpill] - A wrapper and download accelerator for Pacman that works with other wrappers<br />
* [[TuPac]] - A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...<br />
* [[Yaourt]] - Usage identical to Pacman, with support for core, extra, community, and unsupported repositories<br />
<br />
==Clipboard Managers==<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager.<br />
<br />
== Compression Tools ==<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[Squeeze]] - A featherweight front-end for command line archiving tools. Passworded archives are currently unsupported. http://squeeze.xfce.org/<br />
* [[XArchive]] - A GTK+ front-end for command line archiving tools.<br />
* [[Xarchiver]] - A lightweight, desktop independent front-end for command line archiving tools built with GTK2. http://xarchiver.xfce.org/<br />
* [[File Roller]] The default archive manager for GNOME.<br />
<br />
== File Managers ==<br />
* [[emelFM2]] - File manager that implements a three-pane design http://emelfm2.net<br />
* [[Krusader]] - Advanced twin panel (commander style) file manager for KDE http://www.krusader.org/<br />
* [[Midnight Commander]] - Terminal filemanager/shell that emulates Norton Commander http://www.midnight-commander.org/<br />
* [[Nautilus]] - Extensible, heavyweight file manager used by default in GNOME with support for custom scripts http://projects.gnome.org/nautilus/<br />
* [[PCMan File Manager]] - Part of the standard [[LXDE]] DE, a small and efficient graphical file manager http://pcmanfm.sourceforge.net/<br />
* [[ROX-Filer]] - Small and fast file manager which can optionally manage desktop backgrounds and panels http://roscidus.com/desktop/ROX-Filer<br />
* [[Thunar]] - [http://goodies.xfce.org/projects/thunar-plugins/start Extensible], medium weight file manager used by default in Xfce with support for plugins http://www.xfce.org/projects/thunar/<br />
* [[Vifm]] - Ncurses based file manager with vi-like keybindings http://vifm.sourceforge.net/<br />
* [[Xfe]] - Small and very fast Commander like file manager http://roland65.free.fr/xfe/<br />
<br />
== Panels ==<br />
* [[fbpanel]] Lightweight, NETWM compliant desktop panel. [http://fbpanel.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=5255 Package]<br />
* [[LXPanel]] Lightweight X11 desktop panel and part of the LXDE DE. [http://lxde.org/ Home Site] [http://aur.archlinux.org/packages.php?ID=17813 Package]<br />
* [[PyPanel]] Lightweight panel/taskbar written in Python and C. [http://pypanel.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=9118 Package]<br />
* [[Tint]] Simple panel/taskbar developed specifically for Openbox. [http://code.google.com/p/tint2/ Home Site] [http://aur.archlinux.org/packages.php?ID=17082 Package]<br />
* [[BMPanel]] Lightweight, NETWM compliant desktop panel. [http://nsf.110mb.com/bmpanel/ Home Site] [http://aur.archlinux.org/packages.php?ID=15165 Package]<br />
<br />
== System Monitoring ==<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*[[conky]] - advanced, highly configurable system monitor for X based on torsmo http://conky.sourceforge.net/<br />
*[[gkrellm]] - System monitor package for GTK2 http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
<br />
== Terminals ==<br />
* [[Aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/ <br />
* [[Gnome-Terminal]] - GNOME default (standalone) terminal with support for Unicode and pseudo-transparency<br />
* [[Konsole]] - KDE's default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* [[Lilyterm]] — Lightweight and plain terminal emulator<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
* [[roxterm]] - Tabbed, VTE-based terminal emulator http://roxterm.sourceforge.net/<br />
* [[rxvt-unicode]] (or urxvt) - A small, fast and customizable terminal which uses ~/.Xdefaults http://software.schmorp.de/pkg/rxvt-unicode.html<br />
* [[sakura]] - terminal emulator based on GTK and VTE. http://www.pleyades.net/david/sakura.php<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[xterm]] - The default of defaults, requires only X<br />
* [[Terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/<br />
<br />
== Text Editors ==<br />
* [[Beaver]] - Early AdVanced EditoR.<br />
* [[Bluefish]] - GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins http://bluefish.openoffice.nl/<br />
* [[Cssed]] - GTK2 based Cascading Style Sheets (CSS) editor http://cssed.sourceforge.net/<br />
* [[Emacs]] - The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons <br />
* [[Geany]] is a text editor using the GTK2 toolkit with basic features of an integrated development environment.<br />
* [[Gedit]] - Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality<br />
* [[Kate]] (a part of the KDE desktop)<br />
* [[KWrite]] (a part of the KDE desktop)<br />
* [[LeafPad]] - GTK+ based simple text editor http://tarot.freeshell.org/leafpad/<br />
* [[medit]] is intended to be a useful programming and around-programming text editor.<br />
* [[Mousepad]] - Lightweight text editor with support for word wrapping, line numbering and printing http://www.xfce.org/projects/mousepad/<br />
* [[Nano]] - A console based editor, similar to vim with a more intuitive interface, a good choice for newbies and casual users.<br />
* [[Scite]] - A generally useful editor with facilities for building and running programs http://www.scintilla.org/SciTE.html<br />
* [[Vim]] - "Vi improved," its many shortcuts and utilities may take a while to master but are a huge asset to programmers<br />
<br />
== Trays ==<br />
* [[Docker]] is a docking application which acts as a system tray.<br />
* [[Stalonetray]] is a stand-alone system tray.<br />
* [[Trayer]] swallows GTK 1.2/2.x application docklets, and KDE docklets.<br />
<br />
= Desktop Environments (DE) =<br />
* [[GNOME]] - Heavyweight DE that focuses on usability by offering simple controls and options http://www.gnome.org/<br />
* [[KDE]] - Heavyweight DE that focuses on customizeable options and integrated applications http://www.kde.org/<br />
* [[LXDE]] - Fully modular, lightweight DE based on Openbox offered with a suite of lightweight tools http://www.lxde.org/<br />
* [[ROX Desktop]] - Lightweight DE with excellent drag-and-drop support http://roscidus.com/desktop/<br />
* [[Xfce]] - Partially modular, medium weight DE which attempts to emulate the usability of GNOME http://www.xfce.org/<br />
<br />
= Window Managers (WM) =<br />
== Stacking Window Managers ==<br />
* [[Compiz]] - Compositing WM, similar to GNOME's Metacity http://freedesktop.org/wiki/Software/Compiz<br />
* [[Enlightenment]] - WM which attempts to provide minimal DE features with a native image viewer and file manager, amongst others http://www.enlightenment.org/<br />
* [[Fluxbox]] - Lightweight, easily configurable WM with support for panels and a tabbed interface http://www.fluxbox.org<br />
* [[JWM]] - Simple, stable and featherweight WM with native support for panels and buttons. XML-based configuration http://joewing.net/programs/jwm/<br />
* [[Openbox]] - Lightweight WM with numerous customization options and a mature code base. XML-based configuration http://icculus.org/openbox<br />
* [[pekwm]] - Lightweight, themeable WM configured with an intuitive Perl-like syntax http://pekwm.org/projects/pekwm<br />
* [[Sawfish]] - Medium weight WM, formerly the default WM in GNOME (subsequently substituted by Metacity) http://sawfish.wikia.com<br />
<br />
== Tiling Window Managers ==<br />
Window managers that tile work by partitioning off areas of the screen and are designed to maximize the usage of the screen without forcing the user to muck around with window positions and frames. See also [[Comparison of Tiling Window Managers]].<br />
* [[awesome]]<br />
* [[dwm]]<br />
* [[Ion3]]<br />
* [[ratpoison]]<br />
* [[scrotwm]]<br />
* [[Stumpwm]]<br />
* [[wmii]]<br />
* [[Xmonad]]<br />
* [[Musca]]<br />
<br />
= Additional Resources =<br />
*[http://en.gentoo-wiki.com/wiki/Lightweight_package_selection_using_Xfce_(also_suitable_for_office_usage)|Lightweight Package Selection for Xfce (Gentoo)]<br />
*[http://wiki.xfce.org/recommendedapps Xfce Suggested Applications]<br />
*[http://wiki.archlinux.org/index.php/Lightweight_Software Lightweight Software List]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Lightweight_Applications&diff=68446Lightweight Applications2009-05-08T17:01:07Z<p>Stabele: adding link to article Common Apps (and vice versa)</p>
<hr />
<div>[[Category:Desktop user's guide (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Lightweight Software}}<br />
{{i18n_entry|Русский|Выбор программ}}<br />
{{i18n_links_end}}<br />
<br />
== Introduction ==<br />
<br />
This list is in response to the plethora of posts in the forums asking for help finding lightweight software. Please feel free to add to it. Discussion can be made in the following [http://bbs.archlinux.org/viewtopic.php?pid=448593 thread]. For general list of recommended software (not necessary lightweight) see [[Common Apps]]. <br />
<br />
== Internet ==<br />
<br />
=== Browsers ===<br />
<br />
[http://www.dillo.org/ Dillo] is a small, fast graphical web browser built on FLTK (older versions use GTK+).<br />
<br />
[http://elinks.or.cz/ ELinks] is a full featured text mode browser.<br />
<br />
[http://tkhtml.tcl.tk/hv3.html/ HV3] is an extremely fast and lightweight web browser with excellent rendering capabilities.<br />
<br />
[http://kazehakase.sourceforge.jp/ Kazehakase] is a GTK+ web browser that uses the Gecko rendering engine.<br />
<br />
[http://links.sourceforge.net/ Links-g] is a text WWW browser, similar to Lynx, with framebuffer and X graphics enabled.<br />
<br />
[http://www.twotoasts.de/index.php?/pages/midori_summary.html Midori] is a lightweight web browser based on Gtk WebKit.<br />
<br />
[http://code.google.com/p/arora/ Arora] is a simple cross platform web browser based on Qt (Webkit).<br />
<br />
=== Email Clients ===<br />
<br />
[[mutt]] is a small but very powerful text-based mail client.<br />
<br />
[[alpine]] is another powerful, and user-friendly text-based mail and news client.<br />
<br />
[http://www.claws-mail.org/ Sylpheed Claws] is a lightweight and user-friendly e-mail client.<br />
<br />
[http://www.mozilla.com/thunderbird/ Thunderbird] is an email and Usenet client based on Mozilla code.<br />
<br />
=== Instant Messengers ===<br />
<br />
[[Bitlbee]] is a way to use other IM to your [[#IRC]] client.<br />
<br />
[http://www.emesene.org/ emesene] is a Python/GTK+ instant messenger for the Windows Live Messenger network.<br />
<br />
[[Pidgin]] is a multiprotocol instant messenger.<br />
<br />
[http://pidgin.im Pidgin Light] is a light Pidgin version without gstreamer, tcl, tk, xscreensaver support.<br />
<br />
[http://developer.pidgin.im/wiki/Using%20Finch Finch] is a curses based version of Pidgin.<br />
<br />
=== IRC ===<br />
<br />
[http://irssi.org/ Irssi] is a modular text mode IRC client with Perl scripting.<br />
<br />
[http://lostirc.sourceforge.net LostIRC] is a simple IRC client.<br />
<br />
[http://weechat.flashtux.org/ WeeChat] is a fast, light & extensible curses-based IRC client.<br />
<br />
[http://xchat.org XChat] is a GTK+ X client with Perl and Python scripting support.<br />
<br />
[http://www.smuxi.org/ Smuxi] Lightweight GTK frontend inspired by irssi.<br />
<br />
=== Torrents ===<br />
<br />
[http://deluge-torrent.org/ Deluge] is a bittorrent client written with Python and PyGTK.<br />
<br />
[http://libtorrent.rakshasa.no/ rTorrent] is a very simple, elegant and ultra-light BitTorrent client. It is written in C++ and uses ncurses, so it is completely text based and runs entirely in a console.<br />
<br />
[http://www.transmissionbt.com/ Transmission] is a fast, easy, and free BitTorrent client (GTK+ GUI and CLI).<br />
<br />
== Multimedia ==<br />
<br />
=== Audio Players ===<br />
<br />
[http://cmus.sourceforge.net/ C* Music Player] is a very feature-rich ncurses-based music player.<br />
<br />
[http://moc.daper.net/ MOC (Music On Console)] is an ncurses console audio player with support for the MP3, Ogg, and WAV formats.<br />
<br />
[http://hem.bredband.net/kaw/ncmpc/ ncmpc] is a curses client for [[mpd]].<br />
<br />
[http://unkart.ovh.org/ncmpcpp/ ncmpcpp] is an almost exact clone of ncmpc with some new features.<br />
<br />
[http://sonata.berlios.de/ Sonata] is an elegant GTK+ music client for [[mpd]].<br />
<br />
[http://mask.tf.hut.fi/~flu/cplay/ cplay] is a curses front-end for various audio players.<br />
<br />
=== Image Editors ===<br />
<br />
[http://mtpaint.sourceforge.net/ mtPaint] is a graphic editing program geared towards creating indexed palette images and pixel art.<br />
<br />
=== Image Viewers ===<br />
<br />
[http://linuxbrit.co.uk/feh/ Feh] is a fast, lightweight image viewer that uses imlib2.<br />
<br />
[http://lxde.sourceforge.net/gpicview/ GPicView] is a simple and fast image viewer for X. Made by the developers of [[LXDE]]<br />
<br />
[http://gqview.sourceforge.net/ GQview] is an image browser that features single click access to view images and move around the directory tree.<br />
<br />
[http://goodies.xfce.org/projects/applications/ristretto Ristretto] is a fast and lightweight picture-viewer for the Xfce desktop environment.<br />
<br />
[http://mirageiv.berlios.de Mirage] is a fast and simple GTK+ image viewer.<br />
<br />
=== Video Players ===<br />
<br />
[http://smplayer.sourceforge.net/ SMPlayer] is a complete frontend for [[MPlayer]].<br />
<br />
[http://www.videolan.org/vlc/ VLC] is a multi-platform video player that supports many audio and video formats out-of-the-box.<br />
<br />
== Office ==<br />
<br />
=== PDF Tools ===<br />
<br />
[http://www.emma-soft.com/projects/epdfview/ ePDFView] is a free lightweight PDF document viewer using Poppler and GTK+ libraries.<br />
<br />
[http://www.foolabs.com/xpdf/ Xpdf] is a viewer for Portable Document Format (PDF) files.<br />
<br />
[http://code.google.com/p/apvlv/ apvlv] is a lightweight PDF viewer with VIM key bindings.<br />
<br />
=== Text Editors ===<br />
<br />
[http://www.nongnu.org/beaver/ Beaver] is an Early AdVanced EditoR.<br />
<br />
[http://www.geany.org Geany] is a text editor using the GTK+ 2 toolkit with basic features of an integrated development environment.<br />
<br />
[http://tarot.freeshell.org/leafpad/ Leafpad] is a notepad clone for GTK+ 2.x that emphasizes simplicity.<br />
<br />
[http://mooedit.sourceforge.net/ medit] is intended to be a useful programming and around-programming text editor.<br />
<br />
[http://www.xfce.org/projects/mousepad/ Mousepad] is a simple text editor for Xfce based on Leafpad.<br />
<br />
Vi, [[Vim]], gVim the classic vi text editor.<br />
<br />
=== Word Processors ===<br />
<br />
[http://www.abisource.com/ Abiword] is a full-featured word processor ([[Abiword|HOWTO]]).<br />
<br />
== System ==<br />
<br />
=== GUI Compression Tools ===<br />
<br />
[http://squeeze.xfce.org/ Squeeze] is a modern and advanced archive manager.<br />
<br />
[http://xarchive.sourceforge.net Xarchive] is a GTK+ 2 front-end for various command line archiving tools.<br />
<br />
[http://xarchiver.xfce.org/ Xarchiver] is a lightweight desktop independent archive manager built with GTK+ 2.<br />
<br />
=== File Managers ===<br />
<br />
[http://emelfm2.net/ emelFM2] is file manager that implements the popular two-pane design.<br />
<br />
[http://www.midnight-commander.org Midnight Commander] is a console-based, dual-paned, file manager.<br />
<br />
[http://pcmanfm.sourceforge.net/ PCManFM] is a lightweight file manager which features tabbed browsing.<br />
<br />
[http://rox.sourceforge.net ROX] is a small and fast file manager which can optionally manage the desktop background and panels.<br />
<br />
[http://thunar.xfce.org/ Thunar] is fast and responsive with a good start up time and directory load time.<br />
<br />
=== Monitors ===<br />
<br />
[http://conky.sourceforge.net/ Conky] is a lightweight, scriptable system monitor ([[Conky|HOWTO]]).<br />
<br />
[http://htop.sourceforge.net/ htop] is a simple, ncurses interactive process viewer.<br />
<br />
=== Panels ===<br />
<br />
[http://fbpanel.sourceforge.net fbpanel] is a lightweight, NETWM compliant desktop panel.<br />
<br />
[http://lxde.org LXPanel] is a lightweight X11 desktop panel (part of LXDE).<br />
<br />
[http://pypanel.sourceforge.net/ PyPanel] is a lightweight panel/taskbar written in Python and C ([[PyPanel|HOWTO]]).<br />
<br />
[http://code.google.com/p/tint2/ Tint] is a simple panel/taskbar intentionally made for openbox3, but should also work with other window managers ([[Tint|HOWTO]]).<br />
<br />
[http://nsf.110mb.com/bmpanel/ BMPanel] (BitMap Panel) is a lightweight, NETWM compliant panel for the X11 system.<br />
<br />
=== Login managers ===<br />
<br />
[[SLiM]] provides a lightweight and elegant graphical login solution.<br />
<br />
[[Qingy]] is ultralight and very configurable graphical login independent on X Windows.<br />
<br />
=== Window managers ===<br />
<br />
[[Dwm]] is an extra light dynamic window manager which is configured by directly editing the source(which itself is less than 2000 SLOC). <br />
<br />
[[Musca]] is a very lightweight window manager which has features from dwm and ratpoison. Uses about 350-400KB of memory.<br />
<br />
[[Xfce]] is a desktop environment much lighter but similar to GNOME. It includes the xfwm4 window manager.<br />
<br />
[[Fluxbox]] is a lightweight and highly configurable window manager.<br />
<br />
[[Openbox]] is another lightweight and highly configurable window manager.<br />
<br />
[[Awesome]] is a floating and tiling window manager initially based on a [[dwm]] code rewriting.<br />
<br />
[[PekWM]] is small and easily configurable window manager.<br />
<!-- [[Xmonad]] is a tiling window manager for X. This one is actually huge (install size ~350 MiB). --><br />
<br />
=== Terminals ===<br />
<br />
[http://software.schmorp.de/pkg/rxvt-unicode urxvt] is a highly extendable unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, quake-style dropdown, pseudo-transparency, and is extensible with perl.<br />
<br />
[http://lilyterm.luna.com.tw/index_en.html Lilyterm] is a light and easy to use libvte based X Terminal Emulator.<br />
<br />
[http://rox.sourceforge.net ROXTerm] is a tabbed, VTE-based terminal emulator with a small footprint.<br />
<br />
[http://www.pleyades.net/david/sakura.php Sakura] is a terminal emulator based on GTK+ and VTE.<br />
<br />
=== Trays ===<br />
<br />
[http://icculus.org/openbox/2/docker/ Docker] is a docking application which acts as a system tray.<br />
<br />
[http://stalonetray.sourceforge.net Stalonetray] is a stand-alone system tray.<br />
<br />
[http://gna.org/projects/fvwm-crystal/ Trayer] swallows GTK+ 1.2/2.x application docklets, and KDE docklets.</div>Stabelehttps://wiki.archlinux.org/index.php?title=OpenSSH&diff=68436OpenSSH2009-05-08T10:47:15Z<p>Stabele: correction - sshfs uses SFTP, not SCP</p>
<hr />
<div>[[Category:Daemons_and_system_services (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Русский|SSH_(Русский)}}<br />
{{i18n_entry|English|SSH}}<br />
{{i18n_entry|简体中文|SSH_(简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
= Introduction =<br />
Secure Shell or SSH is a network protocol that allows data to be exchanged over a secure channel between two computers. Encryption provides confidentiality and integrity of data. SSH uses public-key cryptography to authenticate the remote computer and allow the remote computer to authenticate the user, if necessary.<br />
<br />
SSH is typically used to log into a remote machine and execute commands, but it also supports tunneling, forwarding arbitrary TCP ports and X11 connections; it can transfer files using the associated SFTP or SCP protocols.<br />
<br />
An SSH server, by default, listens on the standard TCP port 22. An ssh client program is typically used for establishing connections to an sshd daemon accepting remote connections. Both are commonly present on most modern operating systems, including Mac OS X, Linux, Solaris and OpenVMS. Proprietary, freeware and open source versions of various levels of complexity and completeness exist.<br />
<br />
= OpenSSH =<br />
<br />
OpenSSH (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the ssh protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.<br />
<br />
OpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.<br />
<br />
== Installing OpenSSH ==<br />
# pacman -Sy openssh<br />
<br />
== Configuring the SSH server ==<br />
To configure you must edit the configuration file:<br />
$ su -c 'nano /etc/ssh/sshd_config'<br />
<br />
You may want to change the default port from 22 to any higher port (see [http://en.wikipedia.org/wiki/Security_through_obscurity security through obscurity]). <br />
<br />
Even though the port ssh is running on could be detected by using a port-scanner like nmap, changing it will reduce the number of log entries caused by automated authentication attempts.<br />
<br />
===Adjust the configuration===<br />
The configuration file can be found at ''/etc/ssh/ssh_config'' and the basic version looks like this:<br />
<br />
<pre><br />
# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for various options<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc<br />
# EscapeChar ~<br />
</pre><br />
<br />
It is recommended to change the Protocol line into this:<br />
Protocol 2<br />
<br />
That means that only Protocol 2 will be used, since Protocol 1 is considered somewhat insecure.<br />
<br />
Of course there is also a configuration file for the SSH daemon. It's called ''/etc/ssh/sshd_config'' and looks like this:<br />
<pre><br />
# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#Protocol 2,1<br />
ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh''host''key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh''host''rsa_key<br />
#HostKey /etc/ssh/ssh''host''dsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 768<br />
<br />
# Logging<br />
#obsoletes ~QuietMode and ~FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh''known''hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you don't trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
#ChallengeResponseAuthentication yes<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing,<br />
# and session processing. If this is enabled, PAM authentication will<br />
# be allowed through the ~ChallengeResponseAuthentication mechanism.<br />
# Depending on your PAM configuration, this may bypass the setting of<br />
# PasswordAuthentication, ~PermitEmptyPasswords, and<br />
# "PermitRootLogin without-password". If you just want the PAM account and<br />
# session checks to run without PAM authentication, then enable this but set<br />
# ChallengeResponseAuthentication=no<br />
#UsePAM no<br />
<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression yes<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
<br />
# no default banner path<br />
#Banner /some/path<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
</pre><br />
<br />
To allow access only for some users add this line:<br />
AllowUsers user1 user2<br />
<br />
You might want to change some lines so that they look as following:<br />
<pre><br />
Protocol 2<br />
.<br />
.<br />
.<br />
LoginGraceTime 120<br />
.<br />
.<br />
.<br />
PermitRootLogin no # (put yes here if you want root login)<br />
</pre><br />
<br />
You could also uncomment the BANNER option and edit ''/etc/issue'' for a nice welcome message.<br />
<br />
===Allowing others in===<br />
{{Box Note | You have to adjust this file to remotely connect to your machine since the file is empty by default}}<br />
<br />
To let other people ssh to your machine you need to adjust ''/etc/hosts.allow'', add the following:<br />
<br />
<pre><br />
# let everyone connect to you<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match<br />
sshd: 192.168.1.<br />
</pre><br />
<br />
Now you should check your ''/etc/hosts.deny'' for the following line and make sure it looks like this:<br />
ALL: ALL: DENY<br />
<br />
That's it. You can SSH out and others should be able to SSH in :).<br />
<br />
To start using the new configuration, restart the daemon:<br />
$ su -c '/etc/rc.d/sshd restart'<br />
<br />
== Managing SSHD Daemon ==<br />
Just add sshd to the "DAEMONS" section of your /etc/[[rc.conf]]:<br />
DAEMONS=(... ... '''sshd''' ... ...)<br />
<br />
To start/restart/stop the daemon, use the following:<br />
# /etc/rc.d/sshd {start|stop|restart}<br />
<br />
==Connecting to the server==<br />
To connect to a server, run:<br />
$ ssh -p port user@server-address<br />
<br />
= Tips and Tricks =<br />
<br />
== Encrypted Socks Tunnel ==<br />
This is highly useful for laptop users connected to various unsafe wireless connections. The only thing you need is an SSH server running at a somewhat secure location, like your home or at work. It might be useful to use a dynamic DNS service like [http://www.dyndns.org/ DynDNS] so you don't have to remember your IP-address.<br />
<br />
=== Step 1: Start the Connection ===<br />
You only have to execute this single command in your favorite terminal to start the connection:<br />
$ ssh -ND 4711 user@host<br />
where "user" is your username at the SSH server running at the "host". It will ask for your password, and then you're connected! The "N" flag disables the interactive prompt, and the "D" flag specifies the local port on wich to listen on (you can choose any port number if you want).<br />
<br />
One way to make this easier is to put an alias line in your ~/.bashrc file as following:<br />
alias sshtunnel="ssh -ND 4711 -v user@host"<br />
It's nice to add the verbose "-v" flag, because then you can verify that it's actually connected from that output. Now you just have to execute the "sshtunnel" command :)<br />
<br />
=== Step 2: Configure your Browser (or other programs) ===<br />
<br />
The above step is completely useless if you don't configure your web browser (or other programs) to use this newly created socks tunnel. <br />
<br />
* For Firefox: ''Edit -> Preferences -> Advanced -> Network -> Connection -> Setting'':<br />
: Check the "Manual proxy configuration" radio button, and enter "localhost" in the "SOCKS host" text field, and then enter your port number in the next text field (I used 4711 above).<br />
<br />
: Make sure you select SOCKS4 as the protocol to use. This procedure will not work for SOCKS5.<br />
<br />
Enjoy your secure tunnel!<br />
<br />
== X11 Forwarding ==<br />
<br />
To run graphical programs through a SSH connection you can enable X11 forwarding. An option needs to be set in the configuration files on the server and client.<br />
<br />
Install xorg-xauth on the server:<br />
# pacman -Sy xorg-xauth<br />
<br />
* Enable the ''X11Forwarding'' option in ''sshd_config'' on the server.<br />
* Enable the ''ForwardX11'' option in ''ssh_config'' on the client.<br />
<br />
''In order to have this work with an Ubuntu server on my machine I needed to install xorg-xauth as well as enable ForwardX11Trusted in ssh_config on the (Arch) client''<br />
<br />
== Mounting a Remote Filesystem with SSHFS ==<br />
<br />
Install sshfs<br />
# pacman -Sy sshfs<br />
<br />
Add the user that we want to give the permission to mount SSH folders to the fuse group <br />
<br />
# gpasswd -a USER fuse<br />
<br />
Load the fuse module (in /etc/rc.conf for example)<br />
<br />
And then, after logging in, we can try to mount a remote folder using sshfs:<br />
# mkdir ~/remote_folder<br />
# sshfs USER@remote_server:/tmp ~/remote_folder<br />
<br />
The command above will cause the folder /tmp on the remote server to be mounted as ~/remote_folder on the local machine. Copying any file to this folder will result in transparent copying over the network using SFTP. Same concerns direct file editing, creating or removing.<br />
<br />
When we’re done working with the remote filesystem, we can unmount the remote folder by issuing:<br />
# fusermount -u ~/remote_folder<br />
<br />
If we work on this folder on a daily basis, it is wise to add it to the /etc/fstab table. This way is can be automatically mounted upon system boot or mounted manually (if noauto option is chosen) without the need to specify the remote location each time. Here is a sample entry in the table:<br />
sshfs#USER@remote_server:/tmp /full/path/to/directory fuse defaults,auto 0 0<br />
<br />
= Links & References =<br />
*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]<br />
*[[Using SSH Keys]]<br />
*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Talk:Lightweight_Applications&diff=68435Talk:Lightweight Applications2009-05-08T10:35:37Z<p>Stabele: /* Change links to arch wiki where topis exists */ new section</p>
<hr />
<div>What are the criteria for what makes software lightweight or not? If Thunderbird is included I find it strange that Firefox isn't included as well.<br />
--[[User:Trontonic|Trontonic]] 20:26, 31 March 2009 (EDT)<br />
:I wouldn't call anything based on Mozilla "lightweight". And definitely not Firefox, which is an infamous resource hog.&mdash;[[User:J. M.|J. M.]] 23:20, 31 March 2009 (EDT)<br />
<br />
== Change links to arch wiki where topis exists ==<br />
<br />
Most of programs on list have dedicated page in arch wiki. Now the link from software name points to package homepage and few have link to arch wiki article at the end under HOWTO. I personally would prefere to point directly to arch wiki article (as it is in [[Common_Apps]]). What do you think? If you disagree, I will try to add link to arch wiki under HOWTO.</div>Stabelehttps://wiki.archlinux.org/index.php?title=Post_Installation_Tips&diff=67898Post Installation Tips2009-04-29T21:05:41Z<p>Stabele: /* Smart shellcompletion */ typo</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Poinstalační tipy (Česky)}}<br />
{{i18n_entry|English|Post Installation Tips}}<br />
{{i18n_entry|Español|Consejos para después de Instalar (Español)}}<br />
{{i18n_entry|Italiano|Suggerimenti Post Installazione}}<br />
{{i18n_entry|Ελληνικά|Post Installation Tips (Ελληνικά)}}<br />
{{i18n_entry|简体中文|ArchTips(简体中文)}}<br />
{{i18n_entry|Türkçe|Kurulum Sonrası Ayarları (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
Here are some performance tweaks and other useful information for Arch Linux newbies.<br />
<br />
==Hardware Auto-Recognition==<br />
* <code>lshwd</code> is your hardware auto-recognition tool. It will inform you which module you need to load and set.<br />
* Or you can use <code>hwdetect</code>. In my experience it detects more hardware and is faster than lshwd. More information: [[hwdetect]]<br />
<br />
==Lilo Boot Process Speed-Up==<br />
* To speed up lilo boot process, add the following command to <code>/etc/lilo.conf</code>:<br />
compact<br />
<br />
==End of Boot Process==<br />
After the boot process, the screen is cleared and the login prompt appears. Some users may want to modify this behavior such that they can see the messages that appeared during the boot process still.<br />
<br />
You can either add one of the following to the bottom of your /etc/rc.local file:<br />
* Wait at the end of the process until you press a key before clearing the screen and letting you log in:<br />
read -n1<br />
* Wait for at most 5 seconds or until you press a key:<br />
read -t5 -n1<br />
<br />
Or:<br />
* Remove the first 3 characters in <code>/etc/issue</code> file, which is a "clear screen" escape code. Obviously this will stop the screen from being cleared after you log out from your login session as well as just after boot.<br />
* Run <code>dmesg</code> from the shell prompt to display all the boot messages generated by the kernel.<br />
* comment out the agetty instance that runs on vc/1 in /etc/inittab.<br />
<pre>#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux</pre><br />
<br />
==Colorize your console prompt (PS1)==<br />
~/.bashrc and /root/.bash_profile contain the default PS1 (shell prompt) variables for normal user and root, respectively.<br />
<br />
As normal user:<br />
$ nano ~/.bashrc<br />
Comment out the default prompt:<br />
#PS1='[\u@\h \W]\$ '<br />
And add:<br />
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '<br />
This will give a very pleasing, colorful prompt and theme for the console with bright white text.<br />
The awkward string above contains color-set escape sequences (start coloring: \[\e[color\], end coloring: \[\e[m\]) and info placeholders:<br />
*'''\u''' - username, your original prompt has also '''\h''' - host name<br />
*'''\w''' - current absolute path, use '''\W''' for current relative path<br />
*'''\$''' - the prompt character (eg. '#')<br />
<br />
The last color-set sequence "\[\e[1;37m\]" is not closed, so the remaining text (everything you type, output of the programs) will be in that (bright white) color. You may wish to change this color or delete sequence for default color.<br />
<br />
<br />
As root, edit the /root/.bashrc:<br />
# nano /root/.bash_profile<br />
Comment out the default PS1:<br />
#PS1='[\u@\h \W]\$ '<br />
The following PS1 is useful for a root bash prompt, with red designation and green console text:<br />
PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '<br />
<br />
For more, see the [[Color Bash Prompt]] wiki entry.<br />
<br />
==Colorize the output of 'ls'==<br />
Your <code>~/.bashrc</code> should already have the following entry copied from <code>/etc/skel/.bashrc</code><br />
alias ls='ls --color=auto'<br />
<br />
Just add to your <code>~/.bashrc</code><br />
eval `dircolors -b`<br />
This will further enhance the colored <code>ls</code> output; for example, broken (orphan) symlinks will show in red, etc.<br><br />
''Note the backquote/backtick/grave accent character used here - this is not a single quote/apostrophe.''<br />
<br />
==Colorize the output of 'grep'==<br />
In your <code>~/.bashrc</code> file add the following entry:<br />
export GREP_COLOR="1;33"<br />
alias grep='grep --color=auto'<br />
<br />
The variable <code>GREP_COLOR</code> here is used to specify the output color, in this example a light yellow color.<br />
<br />
==Colorizing and the Emacs Shell: avoid strange symbols==<br />
<br />
By default the Emacs Shell will show rawly the escape sequences used to print the colors, that is, you will see a bunch of annoying strange symbols. You must include this into your .emacs configuration file:<br />
<br />
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)<br />
<br />
==Less on steroids==<br />
If you are a frequent user of the command line interface, you might want to install lesspipe (which you can find in the community repository). It will allow you to type:<br />
less lesspipe.tar.gz<br />
==> use tar_file:contained_file to view a file in the archive<br />
-rw------- solstice/users 695 2008-01-04 19:24 lesspipe/PKGBUILD<br />
-rw------- solstice/users 43 2007-11-07 11:17 lesspipe/lesspipe.sh<br />
lesspipe.tar.gz (END)<br />
<br />
i.e. use less to see the content of many files, instead of using specific command each time.<br />
Use <tt>man lesspipe</tt> to see how to activate it.<br />
<br />
==Change Console Fonts==<br />
Terminus is a popular favorite amongst Archers. Install with:<br />
pacman -S terminus-font<br />
Edit /etc/rc.conf:<br />
CONSOLEFONT="ter-v16b"<br />
Or find other fonts(with other sizes and styles) in /usr/share/kbd/consolefonts.<br />
Switch fonts on-the-fly with '''setfont''':<br />
setfont ter-v16b<br />
If the console font is changed during the boot process and you get a strange character output, add the "keymap" hook to the mkinitcpio.conf and create the initramfs image again: [[Mkinitcpio#Available_hooks|available Hooks in mkinitcpio]].<br />
<br />
==Getting a colored manpage==<br />
If you're new to linux, you will have to read a lot of manpages if you want to learn. However color will allow a clearer presentation of the contents and hopefully easier digestion. There are two ways to get color in your manpages. <br />
<br />
'''First method'''<br />
<br />
The first, more basic method is to install a reader program like most(8).<br />
# pacman -S most<br />
<br />
This is similar to less and more but also allows you to render text in color in an easier way.<br />
<br />
To get it up and running change the /etc/man.conf file and change the PAGER and BROWSER variable to:<br />
PAGER /usr/bin/most -s<br />
BROWSER /usr/bin/most -s<br />
<br />
'''Note: '''<br />
As of February, 2009, Arch uses man-db instead of man. Edit /etc/man_db.conf, uncomment the pager definition, and change it to:<br />
DEFINE pager most -s<br />
<br />
Now you can type:<br />
$ man whatever_man_page<br />
to see it in clarifying colors.<br />
<br />
If you want to modify the colors, experiment with the ~/.mostrc file (create it if it isn't there) or use /etc/most.conf.<br />
<br />
example ~/.mostrc:<br />
<br />
% Color settings<br />
<br />
color normal lightgray black<br />
color status yellow blue<br />
color underline yellow black<br />
color overstrike brightblue black<br />
<br />
another example for less-like keybindings (jump to line with 'J'):<br />
<br />
% less-like keybindings<br />
<br />
unsetkey "^K"<br />
unsetkey "g"<br />
unsetkey "G"<br />
unsetkey ":"<br />
<br />
setkey next_file ":n"<br />
setkey find_file ":e"<br />
setkey next_file ":p"<br />
setkey toggle_options ":o"<br />
setkey toggle_case ":c"<br />
setkey delete_file ":d"<br />
setkey exit ":q"<br />
<br />
setkey bob "g"<br />
setkey eob "G"<br />
setkey down "e"<br />
setkey down "E"<br />
setkey down "j"<br />
setkey down "^N"<br />
setkey up "y"<br />
setkey up "^Y"<br />
setkey up "k"<br />
setkey up "^P"<br />
setkey up "^K"<br />
setkey page_down "f"<br />
setkey page_down "^F"<br />
setkey page_up "b"<br />
setkey page_up "^B"<br />
setkey other_window "z"<br />
setkey other_window "w"<br />
setkey search_backward "?"<br />
setkey bob "p"<br />
setkey goto_mark "'"<br />
setkey find_file "E"<br />
setkey edit "v"<br />
<br />
'''Second method'''<br />
<br />
Alternatively you can get the same coloured result for manpages with less. This method has the advantage that less has many more features than most, so it comes much more handy for advanced users. Just add the following to your ~/.SHELLrc (i.e., ~/.bashrc if you use bash, or ~/.zshrc if you use zsh). To customize the colors, use different ANSI color codes; see http://en.wikipedia.org/wiki/ANSI_escape_code.<br />
<br />
export LESS_TERMCAP_mb=$'\E[01;31m'<br />
export LESS_TERMCAP_md=$'\E[01;31m'<br />
export LESS_TERMCAP_me=$'\E[0m'<br />
export LESS_TERMCAP_se=$'\E[0m' <br />
export LESS_TERMCAP_so=$'\E[01;44;33m' <br />
export LESS_TERMCAP_ue=$'\E[0m'<br />
export LESS_TERMCAP_us=$'\E[01;32m'<br />
<br />
Source: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html<br />
<br />
==Accessing AUR seamlessly==<br />
Everyone should know how to use AUR, ABS, and makepkg if they want to build packages. Tracking and updating your custom built packages can become tedious, especially if you have many. There are some programs and scripts that help make building packages more convenient.<br />
<br />
[[AUR Helpers|See a list of programs that help you access AUR]]<br />
<br />
==Enabling History Search==<br />
Usually, when typing <code>ls</code> and pressing <up> key, your current input will be replaced with the last command used. If you are using history search, only past commands beginning with <code>ls</code> (the current input) will be shown.<br />
<br />
You can enable this mode by adding to <code>/etc/inputrc</code> or your <code>~/.inputrc</code>:<br />
"\e[A":history-search-backward<br />
"\e[B":history-search-forward<br />
<br />
==Fast shellcompletion==<br />
<br />
If you put into ~/.bashrc<br />
set show-all-if-ambiguous on<br />
you will no longer have to hit the <Tab> key twice to produce a list of all possible completions. A single <Tab> will suffice.<br />
<br />
==Smart shellcompletion==<br />
Bash can be extended to use smart context-sensitive completion. This is a very handy feature.<br />
# pacman -S bash-completion<br />
<br />
and afterwards add to ~/.bashrc<br />
if [ -f /etc/bash_completion ]; then<br />
. /etc/bash_completion<br />
fi<br />
<br />
'''Note:''' You may not need the above ~/.bashrc entries as /etc/profile will load any profiles from /etc/profile.d<br><br />
In there, bash_completion.sh will source /etc/bash_completion anyway.<br />
<br />
==Enabling mouse support in console (gpm)==<br />
* You can enable mouse support in the console by installing <b>gpm</b>:<br />
# pacman -S gpm<br />
* If you see the mouse cursor flickering and it doesn't work properly, you will need to change <code>/etc/conf.d/gpm</code>.<br />
'''For PS/2 mouse replace the existing line with:'''<br />
[ED: This is what works for my Synaptics touchpad, neither syn nor synps2 did.]<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
'''For USB mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
'''For IBM Trackpoint, replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
* When it works, you can add <code>gpm</code> into <code>DAEMONS</code> array in <code>/etc/rc.conf</code> to have it started at boot.<br />
* Mouse support in the console is useful for many things, including programs such as Links and Lynx.<br />
<br />
==Start X at boot==<br />
* [[Start X at boot]]<br />
<br />
==Beautifying Fonts for LCD's==<br />
See [[Fonts]]<br />
<br />
==Activating Numlock on Bootup==<br />
* [[Activating Numlock on Bootup]]<br />
<br />
==ABS to build your own packages==<br />
* If you use [[ABS]] to build your own packages, remember to do it outside of the main /var/abs tree. Copy the PKGBUILD and all accompanying files to an empty directory in your homedir and build from there. That way you won't risk your modifications getting overwritten on the next <code>abs</code> run and it's easier to keep track of them.<br />
<br />
==Optimizing your packages==<br />
* For optimizing the packages you build using makepkg (the kernel is a good example), set your GCC preferred settings in <code>/etc/makepkg.conf</code>:<br />
(example for Athlon CPU)<br />
export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
See [[Safe Cflags|Safe CFlags]] for more info.<br />
<br />
==Timesaving Command-aliases==<br />
* You can create your own commands-aliases using <code><homedir>/.bashrc</code> or <code>/etc/profile</code>. Both can be used to define your own aliases:<br />
<pre><br />
alias ll="ls -lh"<br />
alias la="ls -a"<br />
alias exit="clear; exit"<br />
alias x="startx"<br />
<br />
# Lets you search through all available packages simply using 'pacsearch packagename'<br />
alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep "<br />
<br />
# sudo pacman -Syu by typing pacup (sudo must be installed and configured first)<br />
alias pacup="sudo pacman -Syu"<br />
<br />
# sudo pacman -S by typing pac<br />
alias pac="sudo pacman -S"<br />
</pre><br />
<br />
Colorized pacman -Ss search output: <br />
# colorized pacman output with pacs alias:<br />
alias pacs="pacsearch"<br />
pacsearch() {<br />
echo -e "$(pacman -Ss "$@" | sed \<br />
-e 's#^core/.*#\\033[1;31m&\\033[0;37m#g' \<br />
-e 's#^extra/.*#\\033[0;32m&\\033[0;37m#g' \<br />
-e 's#^community/.*#\\033[1;35m&\\033[0;37m#g' \<br />
-e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' ) \<br />
\033[0m"<br />
}<br />
<br />
You can also download pacman-color from the [http://aur.archlinux.org/packages.php?ID=11827 AUR].<br />
<br />
==Disabling IPv6==<br />
Until the widespread adoption of IPv6, you may benefit from [[IPv6_-_Disabling_the_Module|disabling the IPv6 module]]. <br />
<br />
==Useful Commands & Programs==<br />
*<code>grep</code> - searches for files by its contents (example: <code>grep -i syslog /etc/*</code> will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the <code>-i</code> parameter))<br />
*<code>pkill/killall <process_name></code> - kills processes by name (example: <code>killall kdm</code>)<br />
*<code>pidof <process_name></code> - find the pid of the processes by name (example: <code>pidof init</code>)<br />
*<code>ps</code> - display process status (example: <code>ps xau</code> will display all active processes)<br />
*<code>locate</code> - quickly locates files on your hard drive (use <code>updatedb</code> to create a database of them first) (example: <code>locate Xservers</code> will find all files named Xservers)<br />
<br />
====pacman====<br />
There are some nice ways to do a bunch of things easily with bash commands. If we want to install a number of packages sharing similar patterns in their names - not the entire group nor all matching packages - eg. '''kdemod''', we can do:<br />
pacman -S kdemod-{applets,theme,tools}<br />
Of course, that is not limited and can be expanded to however many levels you need:<br />
pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}<br />
Pacman has the '''-q''' option to hide the version column, and we can do something like reinstall packages with "compiz" as part of their name:<br />
pacman -S `pacman -Qq | grep compiz`<br />
The above can be achieved without '''-q''' by issuing an '''awk''' operation:<br />
pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`<br />
Want to reinstall everything? Easy! Wait - not so fast. Listing currently installed packages will output everything including those that have been built with ''makepkg''. Simply running<br />
pacman -S `pacman -Qq`<br />
will output errors because some (or many) of them were not found in the database. We need a way to list only packages that have been installed by pacman. In order to do so, we must combine a command to list all packages, and another to hide the list of foreign packages. This, we achieve by using '''comm -3''' to show only the packages that are not foreign packages.<br />
pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))<br />
<br />
====makepkg====<br />
An automated tool to create packages - it actually automates the <code>./configure && make && make install</code> procedure, (or whatever combination of commands involved in the building of the application) and packs it up into a .pkg.tar.gz to be easily installed with pacman. It uses a script file called a PKGBUILD which must exist in the build directory. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.<br />
<br />
====ABS====<br />
An automated toolkit that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all PKGBUILD scripts from the SVN repository into <code>/var/abs</code>.<br />
<br />
==Extracting compressed files==<br />
For tar archives, the easiest method is to let '''tar''' automatically handle the file according to its ''contents'':<br />
file.''EXTENSION'' : tar '''a'''xvf file.''EXTENSION'' ''(the file may be an uncompressed, gzipped or bzipped tar archive)''<br />
Or you can force a given format:<br />
file.tar : tar xvf file.tar<br />
file.tgz : tar xvzf file.tgz<br />
file.tar.gz : tar xvzf file.tar.gz<br />
file.bz : bzip -cd file.bz | tar xvf -<br />
file.bz2 : tar xvjf file.tar.bz2 <b>OR</b> bzip2 -cd file.bz2 | tar xvf -<br />
file.zip : unzip file.zip<br />
file.rar : unrar x file.rar<br />
The construction of these tar arguments is quite archaic (but nevertheless handy). Have a look at the tar manpage, section COMPATIBILITY for how they work in detail. (tar comes in the tar package)<br />
<br />
The following function will decompress a wide range of compressed filetypes. Add the function to '~/.bashrc' and then run with the syntax 'extract MyCompressedFile'<br />
<br />
extract () {<br />
if [ -f $1 ] ; then<br />
case $1 in<br />
*.tar.bz2) tar xvjf $1 ;;<br />
*.tar.gz) tar xvzf $1 ;;<br />
*.bz2) bunzip2 $1 ;;<br />
*.rar) unrar x $1 ;;<br />
*.gz) gunzip $1 ;;<br />
*.tar) tar xvf $1 ;;<br />
*.tbz2) tar xvjf $1 ;;<br />
*.tgz) tar xvzf $1 ;;<br />
*.zip) unzip $1 ;;<br />
*.Z) uncompress $1 ;;<br />
*.7z) 7z x $1 ;;<br />
*) echo "don't know how to extract '$1'..." ;;<br />
esac<br />
else<br />
echo "'$1' is not a valid file!"<br />
fi<br />
}<br />
<br />
==Speeding up DNS queries==<br />
* [[Speeding up DNS with dnsmasq]]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Post_Installation_Tips&diff=67897Post Installation Tips2009-04-29T21:04:59Z<p>Stabele: Undo revision 67896 by Stabele (Talk)</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Poinstalační tipy (Česky)}}<br />
{{i18n_entry|English|Post Installation Tips}}<br />
{{i18n_entry|Español|Consejos para después de Instalar (Español)}}<br />
{{i18n_entry|Italiano|Suggerimenti Post Installazione}}<br />
{{i18n_entry|Ελληνικά|Post Installation Tips (Ελληνικά)}}<br />
{{i18n_entry|简体中文|ArchTips(简体中文)}}<br />
{{i18n_entry|Türkçe|Kurulum Sonrası Ayarları (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
Here are some performance tweaks and other useful information for Arch Linux newbies.<br />
<br />
==Hardware Auto-Recognition==<br />
* <code>lshwd</code> is your hardware auto-recognition tool. It will inform you which module you need to load and set.<br />
* Or you can use <code>hwdetect</code>. In my experience it detects more hardware and is faster than lshwd. More information: [[hwdetect]]<br />
<br />
==Lilo Boot Process Speed-Up==<br />
* To speed up lilo boot process, add the following command to <code>/etc/lilo.conf</code>:<br />
compact<br />
<br />
==End of Boot Process==<br />
After the boot process, the screen is cleared and the login prompt appears. Some users may want to modify this behavior such that they can see the messages that appeared during the boot process still.<br />
<br />
You can either add one of the following to the bottom of your /etc/rc.local file:<br />
* Wait at the end of the process until you press a key before clearing the screen and letting you log in:<br />
read -n1<br />
* Wait for at most 5 seconds or until you press a key:<br />
read -t5 -n1<br />
<br />
Or:<br />
* Remove the first 3 characters in <code>/etc/issue</code> file, which is a "clear screen" escape code. Obviously this will stop the screen from being cleared after you log out from your login session as well as just after boot.<br />
* Run <code>dmesg</code> from the shell prompt to display all the boot messages generated by the kernel.<br />
* comment out the agetty instance that runs on vc/1 in /etc/inittab.<br />
<pre>#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux</pre><br />
<br />
==Colorize your console prompt (PS1)==<br />
~/.bashrc and /root/.bash_profile contain the default PS1 (shell prompt) variables for normal user and root, respectively.<br />
<br />
As normal user:<br />
$ nano ~/.bashrc<br />
Comment out the default prompt:<br />
#PS1='[\u@\h \W]\$ '<br />
And add:<br />
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '<br />
This will give a very pleasing, colorful prompt and theme for the console with bright white text.<br />
The awkward string above contains color-set escape sequences (start coloring: \[\e[color\], end coloring: \[\e[m\]) and info placeholders:<br />
*'''\u''' - username, your original prompt has also '''\h''' - host name<br />
*'''\w''' - current absolute path, use '''\W''' for current relative path<br />
*'''\$''' - the prompt character (eg. '#')<br />
<br />
The last color-set sequence "\[\e[1;37m\]" is not closed, so the remaining text (everything you type, output of the programs) will be in that (bright white) color. You may wish to change this color or delete sequence for default color.<br />
<br />
<br />
As root, edit the /root/.bashrc:<br />
# nano /root/.bash_profile<br />
Comment out the default PS1:<br />
#PS1='[\u@\h \W]\$ '<br />
The following PS1 is useful for a root bash prompt, with red designation and green console text:<br />
PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '<br />
<br />
For more, see the [[Color Bash Prompt]] wiki entry.<br />
<br />
==Colorize the output of 'ls'==<br />
Your <code>~/.bashrc</code> should already have the following entry copied from <code>/etc/skel/.bashrc</code><br />
alias ls='ls --color=auto'<br />
<br />
Just add to your <code>~/.bashrc</code><br />
eval `dircolors -b`<br />
This will further enhance the colored <code>ls</code> output; for example, broken (orphan) symlinks will show in red, etc.<br><br />
''Note the backquote/backtick/grave accent character used here - this is not a single quote/apostrophe.''<br />
<br />
==Colorize the output of 'grep'==<br />
In your <code>~/.bashrc</code> file add the following entry:<br />
export GREP_COLOR="1;33"<br />
alias grep='grep --color=auto'<br />
<br />
The variable <code>GREP_COLOR</code> here is used to specify the output color, in this example a light yellow color.<br />
<br />
==Colorizing and the Emacs Shell: avoid strange symbols==<br />
<br />
By default the Emacs Shell will show rawly the escape sequences used to print the colors, that is, you will see a bunch of annoying strange symbols. You must include this into your .emacs configuration file:<br />
<br />
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)<br />
<br />
==Less on steroids==<br />
If you are a frequent user of the command line interface, you might want to install lesspipe (which you can find in the community repository). It will allow you to type:<br />
less lesspipe.tar.gz<br />
==> use tar_file:contained_file to view a file in the archive<br />
-rw------- solstice/users 695 2008-01-04 19:24 lesspipe/PKGBUILD<br />
-rw------- solstice/users 43 2007-11-07 11:17 lesspipe/lesspipe.sh<br />
lesspipe.tar.gz (END)<br />
<br />
i.e. use less to see the content of many files, instead of using specific command each time.<br />
Use <tt>man lesspipe</tt> to see how to activate it.<br />
<br />
==Change Console Fonts==<br />
Terminus is a popular favorite amongst Archers. Install with:<br />
pacman -S terminus-font<br />
Edit /etc/rc.conf:<br />
CONSOLEFONT="ter-v16b"<br />
Or find other fonts(with other sizes and styles) in /usr/share/kbd/consolefonts.<br />
Switch fonts on-the-fly with '''setfont''':<br />
setfont ter-v16b<br />
If the console font is changed during the boot process and you get a strange character output, add the "keymap" hook to the mkinitcpio.conf and create the initramfs image again: [[Mkinitcpio#Available_hooks|available Hooks in mkinitcpio]].<br />
<br />
==Getting a colored manpage==<br />
If you're new to linux, you will have to read a lot of manpages if you want to learn. However color will allow a clearer presentation of the contents and hopefully easier digestion. There are two ways to get color in your manpages. <br />
<br />
'''First method'''<br />
<br />
The first, more basic method is to install a reader program like most(8).<br />
# pacman -S most<br />
<br />
This is similar to less and more but also allows you to render text in color in an easier way.<br />
<br />
To get it up and running change the /etc/man.conf file and change the PAGER and BROWSER variable to:<br />
PAGER /usr/bin/most -s<br />
BROWSER /usr/bin/most -s<br />
<br />
'''Note: '''<br />
As of February, 2009, Arch uses man-db instead of man. Edit /etc/man_db.conf, uncomment the pager definition, and change it to:<br />
DEFINE pager most -s<br />
<br />
Now you can type:<br />
$ man whatever_man_page<br />
to see it in clarifying colors.<br />
<br />
If you want to modify the colors, experiment with the ~/.mostrc file (create it if it isn't there) or use /etc/most.conf.<br />
<br />
example ~/.mostrc:<br />
<br />
% Color settings<br />
<br />
color normal lightgray black<br />
color status yellow blue<br />
color underline yellow black<br />
color overstrike brightblue black<br />
<br />
another example for less-like keybindings (jump to line with 'J'):<br />
<br />
% less-like keybindings<br />
<br />
unsetkey "^K"<br />
unsetkey "g"<br />
unsetkey "G"<br />
unsetkey ":"<br />
<br />
setkey next_file ":n"<br />
setkey find_file ":e"<br />
setkey next_file ":p"<br />
setkey toggle_options ":o"<br />
setkey toggle_case ":c"<br />
setkey delete_file ":d"<br />
setkey exit ":q"<br />
<br />
setkey bob "g"<br />
setkey eob "G"<br />
setkey down "e"<br />
setkey down "E"<br />
setkey down "j"<br />
setkey down "^N"<br />
setkey up "y"<br />
setkey up "^Y"<br />
setkey up "k"<br />
setkey up "^P"<br />
setkey up "^K"<br />
setkey page_down "f"<br />
setkey page_down "^F"<br />
setkey page_up "b"<br />
setkey page_up "^B"<br />
setkey other_window "z"<br />
setkey other_window "w"<br />
setkey search_backward "?"<br />
setkey bob "p"<br />
setkey goto_mark "'"<br />
setkey find_file "E"<br />
setkey edit "v"<br />
<br />
'''Second method'''<br />
<br />
Alternatively you can get the same coloured result for manpages with less. This method has the advantage that less has many more features than most, so it comes much more handy for advanced users. Just add the following to your ~/.SHELLrc (i.e., ~/.bashrc if you use bash, or ~/.zshrc if you use zsh). To customize the colors, use different ANSI color codes; see http://en.wikipedia.org/wiki/ANSI_escape_code.<br />
<br />
export LESS_TERMCAP_mb=$'\E[01;31m'<br />
export LESS_TERMCAP_md=$'\E[01;31m'<br />
export LESS_TERMCAP_me=$'\E[0m'<br />
export LESS_TERMCAP_se=$'\E[0m' <br />
export LESS_TERMCAP_so=$'\E[01;44;33m' <br />
export LESS_TERMCAP_ue=$'\E[0m'<br />
export LESS_TERMCAP_us=$'\E[01;32m'<br />
<br />
Source: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html<br />
<br />
==Accessing AUR seamlessly==<br />
Everyone should know how to use AUR, ABS, and makepkg if they want to build packages. Tracking and updating your custom built packages can become tedious, especially if you have many. There are some programs and scripts that help make building packages more convenient.<br />
<br />
[[AUR Helpers|See a list of programs that help you access AUR]]<br />
<br />
==Enabling History Search==<br />
Usually, when typing <code>ls</code> and pressing <up> key, your current input will be replaced with the last command used. If you are using history search, only past commands beginning with <code>ls</code> (the current input) will be shown.<br />
<br />
You can enable this mode by adding to <code>/etc/inputrc</code> or your <code>~/.inputrc</code>:<br />
"\e[A":history-search-backward<br />
"\e[B":history-search-forward<br />
<br />
==Fast shellcompletion==<br />
<br />
If you put into ~/.bashrc<br />
set show-all-if-ambiguous on<br />
you will no longer have to hit the <Tab> key twice to produce a list of all possible completions. A single <Tab> will suffice.<br />
<br />
==Smart shellcompletion==<br />
Bash can be extended to have smart context-sensitive completion. This is a very handy feature.<br />
# pacman -S bash-completion<br />
<br />
and afterwards add to ~/.bashrc<br />
if [ -f /etc/bash_completion ]; then<br />
. /etc/bash_completion<br />
fi<br />
<br />
'''Note:''' You may not need the above ~/.bashrc entries as /etc/profile will load any profiles from /etc/profile.d<br><br />
In there, bash_completion.sh will source /etc/bash_completion anyway.<br />
<br />
==Enabling mouse support in console (gpm)==<br />
* You can enable mouse support in the console by installing <b>gpm</b>:<br />
# pacman -S gpm<br />
* If you see the mouse cursor flickering and it doesn't work properly, you will need to change <code>/etc/conf.d/gpm</code>.<br />
'''For PS/2 mouse replace the existing line with:'''<br />
[ED: This is what works for my Synaptics touchpad, neither syn nor synps2 did.]<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
'''For USB mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
'''For IBM Trackpoint, replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
* When it works, you can add <code>gpm</code> into <code>DAEMONS</code> array in <code>/etc/rc.conf</code> to have it started at boot.<br />
* Mouse support in the console is useful for many things, including programs such as Links and Lynx.<br />
<br />
==Start X at boot==<br />
* [[Start X at boot]]<br />
<br />
==Beautifying Fonts for LCD's==<br />
See [[Fonts]]<br />
<br />
==Activating Numlock on Bootup==<br />
* [[Activating Numlock on Bootup]]<br />
<br />
==ABS to build your own packages==<br />
* If you use [[ABS]] to build your own packages, remember to do it outside of the main /var/abs tree. Copy the PKGBUILD and all accompanying files to an empty directory in your homedir and build from there. That way you won't risk your modifications getting overwritten on the next <code>abs</code> run and it's easier to keep track of them.<br />
<br />
==Optimizing your packages==<br />
* For optimizing the packages you build using makepkg (the kernel is a good example), set your GCC preferred settings in <code>/etc/makepkg.conf</code>:<br />
(example for Athlon CPU)<br />
export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
See [[Safe Cflags|Safe CFlags]] for more info.<br />
<br />
==Timesaving Command-aliases==<br />
* You can create your own commands-aliases using <code><homedir>/.bashrc</code> or <code>/etc/profile</code>. Both can be used to define your own aliases:<br />
<pre><br />
alias ll="ls -lh"<br />
alias la="ls -a"<br />
alias exit="clear; exit"<br />
alias x="startx"<br />
<br />
# Lets you search through all available packages simply using 'pacsearch packagename'<br />
alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep "<br />
<br />
# sudo pacman -Syu by typing pacup (sudo must be installed and configured first)<br />
alias pacup="sudo pacman -Syu"<br />
<br />
# sudo pacman -S by typing pac<br />
alias pac="sudo pacman -S"<br />
</pre><br />
<br />
Colorized pacman -Ss search output: <br />
# colorized pacman output with pacs alias:<br />
alias pacs="pacsearch"<br />
pacsearch() {<br />
echo -e "$(pacman -Ss "$@" | sed \<br />
-e 's#^core/.*#\\033[1;31m&\\033[0;37m#g' \<br />
-e 's#^extra/.*#\\033[0;32m&\\033[0;37m#g' \<br />
-e 's#^community/.*#\\033[1;35m&\\033[0;37m#g' \<br />
-e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' ) \<br />
\033[0m"<br />
}<br />
<br />
You can also download pacman-color from the [http://aur.archlinux.org/packages.php?ID=11827 AUR].<br />
<br />
==Disabling IPv6==<br />
Until the widespread adoption of IPv6, you may benefit from [[IPv6_-_Disabling_the_Module|disabling the IPv6 module]]. <br />
<br />
==Useful Commands & Programs==<br />
*<code>grep</code> - searches for files by its contents (example: <code>grep -i syslog /etc/*</code> will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the <code>-i</code> parameter))<br />
*<code>pkill/killall <process_name></code> - kills processes by name (example: <code>killall kdm</code>)<br />
*<code>pidof <process_name></code> - find the pid of the processes by name (example: <code>pidof init</code>)<br />
*<code>ps</code> - display process status (example: <code>ps xau</code> will display all active processes)<br />
*<code>locate</code> - quickly locates files on your hard drive (use <code>updatedb</code> to create a database of them first) (example: <code>locate Xservers</code> will find all files named Xservers)<br />
<br />
====pacman====<br />
There are some nice ways to do a bunch of things easily with bash commands. If we want to install a number of packages sharing similar patterns in their names - not the entire group nor all matching packages - eg. '''kdemod''', we can do:<br />
pacman -S kdemod-{applets,theme,tools}<br />
Of course, that is not limited and can be expanded to however many levels you need:<br />
pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}<br />
Pacman has the '''-q''' option to hide the version column, and we can do something like reinstall packages with "compiz" as part of their name:<br />
pacman -S `pacman -Qq | grep compiz`<br />
The above can be achieved without '''-q''' by issuing an '''awk''' operation:<br />
pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`<br />
Want to reinstall everything? Easy! Wait - not so fast. Listing currently installed packages will output everything including those that have been built with ''makepkg''. Simply running<br />
pacman -S `pacman -Qq`<br />
will output errors because some (or many) of them were not found in the database. We need a way to list only packages that have been installed by pacman. In order to do so, we must combine a command to list all packages, and another to hide the list of foreign packages. This, we achieve by using '''comm -3''' to show only the packages that are not foreign packages.<br />
pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))<br />
<br />
====makepkg====<br />
An automated tool to create packages - it actually automates the <code>./configure && make && make install</code> procedure, (or whatever combination of commands involved in the building of the application) and packs it up into a .pkg.tar.gz to be easily installed with pacman. It uses a script file called a PKGBUILD which must exist in the build directory. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.<br />
<br />
====ABS====<br />
An automated toolkit that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all PKGBUILD scripts from the SVN repository into <code>/var/abs</code>.<br />
<br />
==Extracting compressed files==<br />
For tar archives, the easiest method is to let '''tar''' automatically handle the file according to its ''contents'':<br />
file.''EXTENSION'' : tar '''a'''xvf file.''EXTENSION'' ''(the file may be an uncompressed, gzipped or bzipped tar archive)''<br />
Or you can force a given format:<br />
file.tar : tar xvf file.tar<br />
file.tgz : tar xvzf file.tgz<br />
file.tar.gz : tar xvzf file.tar.gz<br />
file.bz : bzip -cd file.bz | tar xvf -<br />
file.bz2 : tar xvjf file.tar.bz2 <b>OR</b> bzip2 -cd file.bz2 | tar xvf -<br />
file.zip : unzip file.zip<br />
file.rar : unrar x file.rar<br />
The construction of these tar arguments is quite archaic (but nevertheless handy). Have a look at the tar manpage, section COMPATIBILITY for how they work in detail. (tar comes in the tar package)<br />
<br />
The following function will decompress a wide range of compressed filetypes. Add the function to '~/.bashrc' and then run with the syntax 'extract MyCompressedFile'<br />
<br />
extract () {<br />
if [ -f $1 ] ; then<br />
case $1 in<br />
*.tar.bz2) tar xvjf $1 ;;<br />
*.tar.gz) tar xvzf $1 ;;<br />
*.bz2) bunzip2 $1 ;;<br />
*.rar) unrar x $1 ;;<br />
*.gz) gunzip $1 ;;<br />
*.tar) tar xvf $1 ;;<br />
*.tbz2) tar xvjf $1 ;;<br />
*.tgz) tar xvzf $1 ;;<br />
*.zip) unzip $1 ;;<br />
*.Z) uncompress $1 ;;<br />
*.7z) 7z x $1 ;;<br />
*) echo "don't know how to extract '$1'..." ;;<br />
esac<br />
else<br />
echo "'$1' is not a valid file!"<br />
fi<br />
}<br />
<br />
==Speeding up DNS queries==<br />
* [[Speeding up DNS with dnsmasq]]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Post_Installation_Tips&diff=67896Post Installation Tips2009-04-29T21:04:25Z<p>Stabele: /* Smart shellcompletion */ typo</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Poinstalační tipy (Česky)}}<br />
{{i18n_entry|English|Post Installation Tips}}<br />
{{i18n_entry|Español|Consejos para después de Instalar (Español)}}<br />
{{i18n_entry|Italiano|Suggerimenti Post Installazione}}<br />
{{i18n_entry|Ελληνικά|Post Installation Tips (Ελληνικά)}}<br />
{{i18n_entry|简体中文|ArchTips(简体中文)}}<br />
{{i18n_entry|Türkçe|Kurulum Sonrası Ayarları (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
Here are some performance tweaks and other useful information for Arch Linux newbies.<br />
<br />
==Hardware Auto-Recognition==<br />
* <code>lshwd</code> is your hardware auto-recognition tool. It will inform you which module you need to load and set.<br />
* Or you can use <code>hwdetect</code>. In my experience it detects more hardware and is faster than lshwd. More information: [[hwdetect]]<br />
<br />
==Lilo Boot Process Speed-Up==<br />
* To speed up lilo boot process, add the following command to <code>/etc/lilo.conf</code>:<br />
compact<br />
<br />
==End of Boot Process==<br />
After the boot process, the screen is cleared and the login prompt appears. Some users may want to modify this behavior such that they can see the messages that appeared during the boot process still.<br />
<br />
You can either add one of the following to the bottom of your /etc/rc.local file:<br />
* Wait at the end of the process until you press a key before clearing the screen and letting you log in:<br />
read -n1<br />
* Wait for at most 5 seconds or until you press a key:<br />
read -t5 -n1<br />
<br />
Or:<br />
* Remove the first 3 characters in <code>/etc/issue</code> file, which is a "clear screen" escape code. Obviously this will stop the screen from being cleared after you log out from your login session as well as just after boot.<br />
* Run <code>dmesg</code> from the shell prompt to display all the boot messages generated by the kernel.<br />
* comment out the agetty instance that runs on vc/1 in /etc/inittab.<br />
<pre>#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux</pre><br />
<br />
==Colorize your console prompt (PS1)==<br />
~/.bashrc and /root/.bash_profile contain the default PS1 (shell prompt) variables for normal user and root, respectively.<br />
<br />
As normal user:<br />
$ nano ~/.bashrc<br />
Comment out the default prompt:<br />
#PS1='[\u@\h \W]\$ '<br />
And add:<br />
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '<br />
This will give a very pleasing, colorful prompt and theme for the console with bright white text.<br />
The awkward string above contains color-set escape sequences (start coloring: \[\e[color\], end coloring: \[\e[m\]) and info placeholders:<br />
*'''\u''' - username, your original prompt has also '''\h''' - host name<br />
*'''\w''' - current absolute path, use '''\W''' for current relative path<br />
*'''\$''' - the prompt character (eg. '#')<br />
<br />
The last color-set sequence "\[\e[1;37m\]" is not closed, so the remaining text (everything you type, output of the programs) will be in that (bright white) color. You may wish to change this color or delete sequence for default color.<br />
<br />
<br />
As root, edit the /root/.bashrc:<br />
# nano /root/.bash_profile<br />
Comment out the default PS1:<br />
#PS1='[\u@\h \W]\$ '<br />
The following PS1 is useful for a root bash prompt, with red designation and green console text:<br />
PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '<br />
<br />
For more, see the [[Color Bash Prompt]] wiki entry.<br />
<br />
==Colorize the output of 'ls'==<br />
Your <code>~/.bashrc</code> should already have the following entry copied from <code>/etc/skel/.bashrc</code><br />
alias ls='ls --color=auto'<br />
<br />
Just add to your <code>~/.bashrc</code><br />
eval `dircolors -b`<br />
This will further enhance the colored <code>ls</code> output; for example, broken (orphan) symlinks will show in red, etc.<br><br />
''Note the backquote/backtick/grave accent character used here - this is not a single quote/apostrophe.''<br />
<br />
==Colorize the output of 'grep'==<br />
In your <code>~/.bashrc</code> file add the following entry:<br />
export GREP_COLOR="1;33"<br />
alias grep='grep --color=auto'<br />
<br />
The variable <code>GREP_COLOR</code> here is used to specify the output color, in this example a light yellow color.<br />
<br />
==Colorizing and the Emacs Shell: avoid strange symbols==<br />
<br />
By default the Emacs Shell will show rawly the escape sequences used to print the colors, that is, you will see a bunch of annoying strange symbols. You must include this into your .emacs configuration file:<br />
<br />
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)<br />
<br />
==Less on steroids==<br />
If you are a frequent user of the command line interface, you might want to install lesspipe (which you can find in the community repository). It will allow you to type:<br />
less lesspipe.tar.gz<br />
==> use tar_file:contained_file to view a file in the archive<br />
-rw------- solstice/users 695 2008-01-04 19:24 lesspipe/PKGBUILD<br />
-rw------- solstice/users 43 2007-11-07 11:17 lesspipe/lesspipe.sh<br />
lesspipe.tar.gz (END)<br />
<br />
i.e. use less to see the content of many files, instead of using specific command each time.<br />
Use <tt>man lesspipe</tt> to see how to activate it.<br />
<br />
==Change Console Fonts==<br />
Terminus is a popular favorite amongst Archers. Install with:<br />
pacman -S terminus-font<br />
Edit /etc/rc.conf:<br />
CONSOLEFONT="ter-v16b"<br />
Or find other fonts(with other sizes and styles) in /usr/share/kbd/consolefonts.<br />
Switch fonts on-the-fly with '''setfont''':<br />
setfont ter-v16b<br />
If the console font is changed during the boot process and you get a strange character output, add the "keymap" hook to the mkinitcpio.conf and create the initramfs image again: [[Mkinitcpio#Available_hooks|available Hooks in mkinitcpio]].<br />
<br />
==Getting a colored manpage==<br />
If you're new to linux, you will have to read a lot of manpages if you want to learn. However color will allow a clearer presentation of the contents and hopefully easier digestion. There are two ways to get color in your manpages. <br />
<br />
'''First method'''<br />
<br />
The first, more basic method is to install a reader program like most(8).<br />
# pacman -S most<br />
<br />
This is similar to less and more but also allows you to render text in color in an easier way.<br />
<br />
To get it up and running change the /etc/man.conf file and change the PAGER and BROWSER variable to:<br />
PAGER /usr/bin/most -s<br />
BROWSER /usr/bin/most -s<br />
<br />
'''Note: '''<br />
As of February, 2009, Arch uses man-db instead of man. Edit /etc/man_db.conf, uncomment the pager definition, and change it to:<br />
DEFINE pager most -s<br />
<br />
Now you can type:<br />
$ man whatever_man_page<br />
to see it in clarifying colors.<br />
<br />
If you want to modify the colors, experiment with the ~/.mostrc file (create it if it isn't there) or use /etc/most.conf.<br />
<br />
example ~/.mostrc:<br />
<br />
% Color settings<br />
<br />
color normal lightgray black<br />
color status yellow blue<br />
color underline yellow black<br />
color overstrike brightblue black<br />
<br />
another example for less-like keybindings (jump to line with 'J'):<br />
<br />
% less-like keybindings<br />
<br />
unsetkey "^K"<br />
unsetkey "g"<br />
unsetkey "G"<br />
unsetkey ":"<br />
<br />
setkey next_file ":n"<br />
setkey find_file ":e"<br />
setkey next_file ":p"<br />
setkey toggle_options ":o"<br />
setkey toggle_case ":c"<br />
setkey delete_file ":d"<br />
setkey exit ":q"<br />
<br />
setkey bob "g"<br />
setkey eob "G"<br />
setkey down "e"<br />
setkey down "E"<br />
setkey down "j"<br />
setkey down "^N"<br />
setkey up "y"<br />
setkey up "^Y"<br />
setkey up "k"<br />
setkey up "^P"<br />
setkey up "^K"<br />
setkey page_down "f"<br />
setkey page_down "^F"<br />
setkey page_up "b"<br />
setkey page_up "^B"<br />
setkey other_window "z"<br />
setkey other_window "w"<br />
setkey search_backward "?"<br />
setkey bob "p"<br />
setkey goto_mark "'"<br />
setkey find_file "E"<br />
setkey edit "v"<br />
<br />
'''Second method'''<br />
<br />
Alternatively you can get the same coloured result for manpages with less. This method has the advantage that less has many more features than most, so it comes much more handy for advanced users. Just add the following to your ~/.SHELLrc (i.e., ~/.bashrc if you use bash, or ~/.zshrc if you use zsh). To customize the colors, use different ANSI color codes; see http://en.wikipedia.org/wiki/ANSI_escape_code.<br />
<br />
export LESS_TERMCAP_mb=$'\E[01;31m'<br />
export LESS_TERMCAP_md=$'\E[01;31m'<br />
export LESS_TERMCAP_me=$'\E[0m'<br />
export LESS_TERMCAP_se=$'\E[0m' <br />
export LESS_TERMCAP_so=$'\E[01;44;33m' <br />
export LESS_TERMCAP_ue=$'\E[0m'<br />
export LESS_TERMCAP_us=$'\E[01;32m'<br />
<br />
Source: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html<br />
<br />
==Accessing AUR seamlessly==<br />
Everyone should know how to use AUR, ABS, and makepkg if they want to build packages. Tracking and updating your custom built packages can become tedious, especially if you have many. There are some programs and scripts that help make building packages more convenient.<br />
<br />
[[AUR Helpers|See a list of programs that help you access AUR]]<br />
<br />
==Enabling History Search==<br />
Usually, when typing <code>ls</code> and pressing <up> key, your current input will be replaced with the last command used. If you are using history search, only past commands beginning with <code>ls</code> (the current input) will be shown.<br />
<br />
You can enable this mode by adding to <code>/etc/inputrc</code> or your <code>~/.inputrc</code>:<br />
"\e[A":history-search-backward<br />
"\e[B":history-search-forward<br />
<br />
==Fast shellcompletion==<br />
<br />
If you put into ~/.bashrc<br />
set show-all-if-ambiguous on<br />
you will no longer have to hit the <Tab> key twice to produce a list of all possible completions. A single <Tab> will suffice.<br />
<br />
==Smart shellcompletion==<br />
Bash can be extended use have smart context-sensitive completion. This is a very handy feature.<br />
# pacman -S bash-completion<br />
<br />
and afterwards add to ~/.bashrc<br />
if [ -f /etc/bash_completion ]; then<br />
. /etc/bash_completion<br />
fi<br />
<br />
'''Note:''' You may not need the above ~/.bashrc entries as /etc/profile will load any profiles from /etc/profile.d<br><br />
In there, bash_completion.sh will source /etc/bash_completion anyway.<br />
<br />
==Enabling mouse support in console (gpm)==<br />
* You can enable mouse support in the console by installing <b>gpm</b>:<br />
# pacman -S gpm<br />
* If you see the mouse cursor flickering and it doesn't work properly, you will need to change <code>/etc/conf.d/gpm</code>.<br />
'''For PS/2 mouse replace the existing line with:'''<br />
[ED: This is what works for my Synaptics touchpad, neither syn nor synps2 did.]<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
'''For USB mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
'''For IBM Trackpoint, replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
* When it works, you can add <code>gpm</code> into <code>DAEMONS</code> array in <code>/etc/rc.conf</code> to have it started at boot.<br />
* Mouse support in the console is useful for many things, including programs such as Links and Lynx.<br />
<br />
==Start X at boot==<br />
* [[Start X at boot]]<br />
<br />
==Beautifying Fonts for LCD's==<br />
See [[Fonts]]<br />
<br />
==Activating Numlock on Bootup==<br />
* [[Activating Numlock on Bootup]]<br />
<br />
==ABS to build your own packages==<br />
* If you use [[ABS]] to build your own packages, remember to do it outside of the main /var/abs tree. Copy the PKGBUILD and all accompanying files to an empty directory in your homedir and build from there. That way you won't risk your modifications getting overwritten on the next <code>abs</code> run and it's easier to keep track of them.<br />
<br />
==Optimizing your packages==<br />
* For optimizing the packages you build using makepkg (the kernel is a good example), set your GCC preferred settings in <code>/etc/makepkg.conf</code>:<br />
(example for Athlon CPU)<br />
export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
See [[Safe Cflags|Safe CFlags]] for more info.<br />
<br />
==Timesaving Command-aliases==<br />
* You can create your own commands-aliases using <code><homedir>/.bashrc</code> or <code>/etc/profile</code>. Both can be used to define your own aliases:<br />
<pre><br />
alias ll="ls -lh"<br />
alias la="ls -a"<br />
alias exit="clear; exit"<br />
alias x="startx"<br />
<br />
# Lets you search through all available packages simply using 'pacsearch packagename'<br />
alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep "<br />
<br />
# sudo pacman -Syu by typing pacup (sudo must be installed and configured first)<br />
alias pacup="sudo pacman -Syu"<br />
<br />
# sudo pacman -S by typing pac<br />
alias pac="sudo pacman -S"<br />
</pre><br />
<br />
Colorized pacman -Ss search output: <br />
# colorized pacman output with pacs alias:<br />
alias pacs="pacsearch"<br />
pacsearch() {<br />
echo -e "$(pacman -Ss "$@" | sed \<br />
-e 's#^core/.*#\\033[1;31m&\\033[0;37m#g' \<br />
-e 's#^extra/.*#\\033[0;32m&\\033[0;37m#g' \<br />
-e 's#^community/.*#\\033[1;35m&\\033[0;37m#g' \<br />
-e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' ) \<br />
\033[0m"<br />
}<br />
<br />
You can also download pacman-color from the [http://aur.archlinux.org/packages.php?ID=11827 AUR].<br />
<br />
==Disabling IPv6==<br />
Until the widespread adoption of IPv6, you may benefit from [[IPv6_-_Disabling_the_Module|disabling the IPv6 module]]. <br />
<br />
==Useful Commands & Programs==<br />
*<code>grep</code> - searches for files by its contents (example: <code>grep -i syslog /etc/*</code> will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the <code>-i</code> parameter))<br />
*<code>pkill/killall <process_name></code> - kills processes by name (example: <code>killall kdm</code>)<br />
*<code>pidof <process_name></code> - find the pid of the processes by name (example: <code>pidof init</code>)<br />
*<code>ps</code> - display process status (example: <code>ps xau</code> will display all active processes)<br />
*<code>locate</code> - quickly locates files on your hard drive (use <code>updatedb</code> to create a database of them first) (example: <code>locate Xservers</code> will find all files named Xservers)<br />
<br />
====pacman====<br />
There are some nice ways to do a bunch of things easily with bash commands. If we want to install a number of packages sharing similar patterns in their names - not the entire group nor all matching packages - eg. '''kdemod''', we can do:<br />
pacman -S kdemod-{applets,theme,tools}<br />
Of course, that is not limited and can be expanded to however many levels you need:<br />
pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}<br />
Pacman has the '''-q''' option to hide the version column, and we can do something like reinstall packages with "compiz" as part of their name:<br />
pacman -S `pacman -Qq | grep compiz`<br />
The above can be achieved without '''-q''' by issuing an '''awk''' operation:<br />
pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`<br />
Want to reinstall everything? Easy! Wait - not so fast. Listing currently installed packages will output everything including those that have been built with ''makepkg''. Simply running<br />
pacman -S `pacman -Qq`<br />
will output errors because some (or many) of them were not found in the database. We need a way to list only packages that have been installed by pacman. In order to do so, we must combine a command to list all packages, and another to hide the list of foreign packages. This, we achieve by using '''comm -3''' to show only the packages that are not foreign packages.<br />
pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))<br />
<br />
====makepkg====<br />
An automated tool to create packages - it actually automates the <code>./configure && make && make install</code> procedure, (or whatever combination of commands involved in the building of the application) and packs it up into a .pkg.tar.gz to be easily installed with pacman. It uses a script file called a PKGBUILD which must exist in the build directory. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.<br />
<br />
====ABS====<br />
An automated toolkit that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all PKGBUILD scripts from the SVN repository into <code>/var/abs</code>.<br />
<br />
==Extracting compressed files==<br />
For tar archives, the easiest method is to let '''tar''' automatically handle the file according to its ''contents'':<br />
file.''EXTENSION'' : tar '''a'''xvf file.''EXTENSION'' ''(the file may be an uncompressed, gzipped or bzipped tar archive)''<br />
Or you can force a given format:<br />
file.tar : tar xvf file.tar<br />
file.tgz : tar xvzf file.tgz<br />
file.tar.gz : tar xvzf file.tar.gz<br />
file.bz : bzip -cd file.bz | tar xvf -<br />
file.bz2 : tar xvjf file.tar.bz2 <b>OR</b> bzip2 -cd file.bz2 | tar xvf -<br />
file.zip : unzip file.zip<br />
file.rar : unrar x file.rar<br />
The construction of these tar arguments is quite archaic (but nevertheless handy). Have a look at the tar manpage, section COMPATIBILITY for how they work in detail. (tar comes in the tar package)<br />
<br />
The following function will decompress a wide range of compressed filetypes. Add the function to '~/.bashrc' and then run with the syntax 'extract MyCompressedFile'<br />
<br />
extract () {<br />
if [ -f $1 ] ; then<br />
case $1 in<br />
*.tar.bz2) tar xvjf $1 ;;<br />
*.tar.gz) tar xvzf $1 ;;<br />
*.bz2) bunzip2 $1 ;;<br />
*.rar) unrar x $1 ;;<br />
*.gz) gunzip $1 ;;<br />
*.tar) tar xvf $1 ;;<br />
*.tbz2) tar xvjf $1 ;;<br />
*.tgz) tar xvzf $1 ;;<br />
*.zip) unzip $1 ;;<br />
*.Z) uncompress $1 ;;<br />
*.7z) 7z x $1 ;;<br />
*) echo "don't know how to extract '$1'..." ;;<br />
esac<br />
else<br />
echo "'$1' is not a valid file!"<br />
fi<br />
}<br />
<br />
==Speeding up DNS queries==<br />
* [[Speeding up DNS with dnsmasq]]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Post_Installation_Tips&diff=67895Post Installation Tips2009-04-29T21:03:28Z<p>Stabele: /* SmartEnabling shellcompletion */ renaming from Enabling shellcompletion and clarification</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Poinstalační tipy (Česky)}}<br />
{{i18n_entry|English|Post Installation Tips}}<br />
{{i18n_entry|Español|Consejos para después de Instalar (Español)}}<br />
{{i18n_entry|Italiano|Suggerimenti Post Installazione}}<br />
{{i18n_entry|Ελληνικά|Post Installation Tips (Ελληνικά)}}<br />
{{i18n_entry|简体中文|ArchTips(简体中文)}}<br />
{{i18n_entry|Türkçe|Kurulum Sonrası Ayarları (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
Here are some performance tweaks and other useful information for Arch Linux newbies.<br />
<br />
==Hardware Auto-Recognition==<br />
* <code>lshwd</code> is your hardware auto-recognition tool. It will inform you which module you need to load and set.<br />
* Or you can use <code>hwdetect</code>. In my experience it detects more hardware and is faster than lshwd. More information: [[hwdetect]]<br />
<br />
==Lilo Boot Process Speed-Up==<br />
* To speed up lilo boot process, add the following command to <code>/etc/lilo.conf</code>:<br />
compact<br />
<br />
==End of Boot Process==<br />
After the boot process, the screen is cleared and the login prompt appears. Some users may want to modify this behavior such that they can see the messages that appeared during the boot process still.<br />
<br />
You can either add one of the following to the bottom of your /etc/rc.local file:<br />
* Wait at the end of the process until you press a key before clearing the screen and letting you log in:<br />
read -n1<br />
* Wait for at most 5 seconds or until you press a key:<br />
read -t5 -n1<br />
<br />
Or:<br />
* Remove the first 3 characters in <code>/etc/issue</code> file, which is a "clear screen" escape code. Obviously this will stop the screen from being cleared after you log out from your login session as well as just after boot.<br />
* Run <code>dmesg</code> from the shell prompt to display all the boot messages generated by the kernel.<br />
* comment out the agetty instance that runs on vc/1 in /etc/inittab.<br />
<pre>#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux</pre><br />
<br />
==Colorize your console prompt (PS1)==<br />
~/.bashrc and /root/.bash_profile contain the default PS1 (shell prompt) variables for normal user and root, respectively.<br />
<br />
As normal user:<br />
$ nano ~/.bashrc<br />
Comment out the default prompt:<br />
#PS1='[\u@\h \W]\$ '<br />
And add:<br />
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '<br />
This will give a very pleasing, colorful prompt and theme for the console with bright white text.<br />
The awkward string above contains color-set escape sequences (start coloring: \[\e[color\], end coloring: \[\e[m\]) and info placeholders:<br />
*'''\u''' - username, your original prompt has also '''\h''' - host name<br />
*'''\w''' - current absolute path, use '''\W''' for current relative path<br />
*'''\$''' - the prompt character (eg. '#')<br />
<br />
The last color-set sequence "\[\e[1;37m\]" is not closed, so the remaining text (everything you type, output of the programs) will be in that (bright white) color. You may wish to change this color or delete sequence for default color.<br />
<br />
<br />
As root, edit the /root/.bashrc:<br />
# nano /root/.bash_profile<br />
Comment out the default PS1:<br />
#PS1='[\u@\h \W]\$ '<br />
The following PS1 is useful for a root bash prompt, with red designation and green console text:<br />
PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '<br />
<br />
For more, see the [[Color Bash Prompt]] wiki entry.<br />
<br />
==Colorize the output of 'ls'==<br />
Your <code>~/.bashrc</code> should already have the following entry copied from <code>/etc/skel/.bashrc</code><br />
alias ls='ls --color=auto'<br />
<br />
Just add to your <code>~/.bashrc</code><br />
eval `dircolors -b`<br />
This will further enhance the colored <code>ls</code> output; for example, broken (orphan) symlinks will show in red, etc.<br><br />
''Note the backquote/backtick/grave accent character used here - this is not a single quote/apostrophe.''<br />
<br />
==Colorize the output of 'grep'==<br />
In your <code>~/.bashrc</code> file add the following entry:<br />
export GREP_COLOR="1;33"<br />
alias grep='grep --color=auto'<br />
<br />
The variable <code>GREP_COLOR</code> here is used to specify the output color, in this example a light yellow color.<br />
<br />
==Colorizing and the Emacs Shell: avoid strange symbols==<br />
<br />
By default the Emacs Shell will show rawly the escape sequences used to print the colors, that is, you will see a bunch of annoying strange symbols. You must include this into your .emacs configuration file:<br />
<br />
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)<br />
<br />
==Less on steroids==<br />
If you are a frequent user of the command line interface, you might want to install lesspipe (which you can find in the community repository). It will allow you to type:<br />
less lesspipe.tar.gz<br />
==> use tar_file:contained_file to view a file in the archive<br />
-rw------- solstice/users 695 2008-01-04 19:24 lesspipe/PKGBUILD<br />
-rw------- solstice/users 43 2007-11-07 11:17 lesspipe/lesspipe.sh<br />
lesspipe.tar.gz (END)<br />
<br />
i.e. use less to see the content of many files, instead of using specific command each time.<br />
Use <tt>man lesspipe</tt> to see how to activate it.<br />
<br />
==Change Console Fonts==<br />
Terminus is a popular favorite amongst Archers. Install with:<br />
pacman -S terminus-font<br />
Edit /etc/rc.conf:<br />
CONSOLEFONT="ter-v16b"<br />
Or find other fonts(with other sizes and styles) in /usr/share/kbd/consolefonts.<br />
Switch fonts on-the-fly with '''setfont''':<br />
setfont ter-v16b<br />
If the console font is changed during the boot process and you get a strange character output, add the "keymap" hook to the mkinitcpio.conf and create the initramfs image again: [[Mkinitcpio#Available_hooks|available Hooks in mkinitcpio]].<br />
<br />
==Getting a colored manpage==<br />
If you're new to linux, you will have to read a lot of manpages if you want to learn. However color will allow a clearer presentation of the contents and hopefully easier digestion. There are two ways to get color in your manpages. <br />
<br />
'''First method'''<br />
<br />
The first, more basic method is to install a reader program like most(8).<br />
# pacman -S most<br />
<br />
This is similar to less and more but also allows you to render text in color in an easier way.<br />
<br />
To get it up and running change the /etc/man.conf file and change the PAGER and BROWSER variable to:<br />
PAGER /usr/bin/most -s<br />
BROWSER /usr/bin/most -s<br />
<br />
'''Note: '''<br />
As of February, 2009, Arch uses man-db instead of man. Edit /etc/man_db.conf, uncomment the pager definition, and change it to:<br />
DEFINE pager most -s<br />
<br />
Now you can type:<br />
$ man whatever_man_page<br />
to see it in clarifying colors.<br />
<br />
If you want to modify the colors, experiment with the ~/.mostrc file (create it if it isn't there) or use /etc/most.conf.<br />
<br />
example ~/.mostrc:<br />
<br />
% Color settings<br />
<br />
color normal lightgray black<br />
color status yellow blue<br />
color underline yellow black<br />
color overstrike brightblue black<br />
<br />
another example for less-like keybindings (jump to line with 'J'):<br />
<br />
% less-like keybindings<br />
<br />
unsetkey "^K"<br />
unsetkey "g"<br />
unsetkey "G"<br />
unsetkey ":"<br />
<br />
setkey next_file ":n"<br />
setkey find_file ":e"<br />
setkey next_file ":p"<br />
setkey toggle_options ":o"<br />
setkey toggle_case ":c"<br />
setkey delete_file ":d"<br />
setkey exit ":q"<br />
<br />
setkey bob "g"<br />
setkey eob "G"<br />
setkey down "e"<br />
setkey down "E"<br />
setkey down "j"<br />
setkey down "^N"<br />
setkey up "y"<br />
setkey up "^Y"<br />
setkey up "k"<br />
setkey up "^P"<br />
setkey up "^K"<br />
setkey page_down "f"<br />
setkey page_down "^F"<br />
setkey page_up "b"<br />
setkey page_up "^B"<br />
setkey other_window "z"<br />
setkey other_window "w"<br />
setkey search_backward "?"<br />
setkey bob "p"<br />
setkey goto_mark "'"<br />
setkey find_file "E"<br />
setkey edit "v"<br />
<br />
'''Second method'''<br />
<br />
Alternatively you can get the same coloured result for manpages with less. This method has the advantage that less has many more features than most, so it comes much more handy for advanced users. Just add the following to your ~/.SHELLrc (i.e., ~/.bashrc if you use bash, or ~/.zshrc if you use zsh). To customize the colors, use different ANSI color codes; see http://en.wikipedia.org/wiki/ANSI_escape_code.<br />
<br />
export LESS_TERMCAP_mb=$'\E[01;31m'<br />
export LESS_TERMCAP_md=$'\E[01;31m'<br />
export LESS_TERMCAP_me=$'\E[0m'<br />
export LESS_TERMCAP_se=$'\E[0m' <br />
export LESS_TERMCAP_so=$'\E[01;44;33m' <br />
export LESS_TERMCAP_ue=$'\E[0m'<br />
export LESS_TERMCAP_us=$'\E[01;32m'<br />
<br />
Source: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html<br />
<br />
==Accessing AUR seamlessly==<br />
Everyone should know how to use AUR, ABS, and makepkg if they want to build packages. Tracking and updating your custom built packages can become tedious, especially if you have many. There are some programs and scripts that help make building packages more convenient.<br />
<br />
[[AUR Helpers|See a list of programs that help you access AUR]]<br />
<br />
==Enabling History Search==<br />
Usually, when typing <code>ls</code> and pressing <up> key, your current input will be replaced with the last command used. If you are using history search, only past commands beginning with <code>ls</code> (the current input) will be shown.<br />
<br />
You can enable this mode by adding to <code>/etc/inputrc</code> or your <code>~/.inputrc</code>:<br />
"\e[A":history-search-backward<br />
"\e[B":history-search-forward<br />
<br />
==Fast shellcompletion==<br />
<br />
If you put into ~/.bashrc<br />
set show-all-if-ambiguous on<br />
you will no longer have to hit the <Tab> key twice to produce a list of all possible completions. A single <Tab> will suffice.<br />
<br />
==Smart shellcompletion==<br />
Bash can be extended to have smart context-sensitive completion. This is a very handy feature.<br />
# pacman -S bash-completion<br />
<br />
and afterwards add to ~/.bashrc<br />
if [ -f /etc/bash_completion ]; then<br />
. /etc/bash_completion<br />
fi<br />
<br />
'''Note:''' You may not need the above ~/.bashrc entries as /etc/profile will load any profiles from /etc/profile.d<br><br />
In there, bash_completion.sh will source /etc/bash_completion anyway.<br />
<br />
==Enabling mouse support in console (gpm)==<br />
* You can enable mouse support in the console by installing <b>gpm</b>:<br />
# pacman -S gpm<br />
* If you see the mouse cursor flickering and it doesn't work properly, you will need to change <code>/etc/conf.d/gpm</code>.<br />
'''For PS/2 mouse replace the existing line with:'''<br />
[ED: This is what works for my Synaptics touchpad, neither syn nor synps2 did.]<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
'''For USB mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
'''For IBM Trackpoint, replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
* When it works, you can add <code>gpm</code> into <code>DAEMONS</code> array in <code>/etc/rc.conf</code> to have it started at boot.<br />
* Mouse support in the console is useful for many things, including programs such as Links and Lynx.<br />
<br />
==Start X at boot==<br />
* [[Start X at boot]]<br />
<br />
==Beautifying Fonts for LCD's==<br />
See [[Fonts]]<br />
<br />
==Activating Numlock on Bootup==<br />
* [[Activating Numlock on Bootup]]<br />
<br />
==ABS to build your own packages==<br />
* If you use [[ABS]] to build your own packages, remember to do it outside of the main /var/abs tree. Copy the PKGBUILD and all accompanying files to an empty directory in your homedir and build from there. That way you won't risk your modifications getting overwritten on the next <code>abs</code> run and it's easier to keep track of them.<br />
<br />
==Optimizing your packages==<br />
* For optimizing the packages you build using makepkg (the kernel is a good example), set your GCC preferred settings in <code>/etc/makepkg.conf</code>:<br />
(example for Athlon CPU)<br />
export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
See [[Safe Cflags|Safe CFlags]] for more info.<br />
<br />
==Timesaving Command-aliases==<br />
* You can create your own commands-aliases using <code><homedir>/.bashrc</code> or <code>/etc/profile</code>. Both can be used to define your own aliases:<br />
<pre><br />
alias ll="ls -lh"<br />
alias la="ls -a"<br />
alias exit="clear; exit"<br />
alias x="startx"<br />
<br />
# Lets you search through all available packages simply using 'pacsearch packagename'<br />
alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep "<br />
<br />
# sudo pacman -Syu by typing pacup (sudo must be installed and configured first)<br />
alias pacup="sudo pacman -Syu"<br />
<br />
# sudo pacman -S by typing pac<br />
alias pac="sudo pacman -S"<br />
</pre><br />
<br />
Colorized pacman -Ss search output: <br />
# colorized pacman output with pacs alias:<br />
alias pacs="pacsearch"<br />
pacsearch() {<br />
echo -e "$(pacman -Ss "$@" | sed \<br />
-e 's#^core/.*#\\033[1;31m&\\033[0;37m#g' \<br />
-e 's#^extra/.*#\\033[0;32m&\\033[0;37m#g' \<br />
-e 's#^community/.*#\\033[1;35m&\\033[0;37m#g' \<br />
-e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' ) \<br />
\033[0m"<br />
}<br />
<br />
You can also download pacman-color from the [http://aur.archlinux.org/packages.php?ID=11827 AUR].<br />
<br />
==Disabling IPv6==<br />
Until the widespread adoption of IPv6, you may benefit from [[IPv6_-_Disabling_the_Module|disabling the IPv6 module]]. <br />
<br />
==Useful Commands & Programs==<br />
*<code>grep</code> - searches for files by its contents (example: <code>grep -i syslog /etc/*</code> will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the <code>-i</code> parameter))<br />
*<code>pkill/killall <process_name></code> - kills processes by name (example: <code>killall kdm</code>)<br />
*<code>pidof <process_name></code> - find the pid of the processes by name (example: <code>pidof init</code>)<br />
*<code>ps</code> - display process status (example: <code>ps xau</code> will display all active processes)<br />
*<code>locate</code> - quickly locates files on your hard drive (use <code>updatedb</code> to create a database of them first) (example: <code>locate Xservers</code> will find all files named Xservers)<br />
<br />
====pacman====<br />
There are some nice ways to do a bunch of things easily with bash commands. If we want to install a number of packages sharing similar patterns in their names - not the entire group nor all matching packages - eg. '''kdemod''', we can do:<br />
pacman -S kdemod-{applets,theme,tools}<br />
Of course, that is not limited and can be expanded to however many levels you need:<br />
pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}<br />
Pacman has the '''-q''' option to hide the version column, and we can do something like reinstall packages with "compiz" as part of their name:<br />
pacman -S `pacman -Qq | grep compiz`<br />
The above can be achieved without '''-q''' by issuing an '''awk''' operation:<br />
pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`<br />
Want to reinstall everything? Easy! Wait - not so fast. Listing currently installed packages will output everything including those that have been built with ''makepkg''. Simply running<br />
pacman -S `pacman -Qq`<br />
will output errors because some (or many) of them were not found in the database. We need a way to list only packages that have been installed by pacman. In order to do so, we must combine a command to list all packages, and another to hide the list of foreign packages. This, we achieve by using '''comm -3''' to show only the packages that are not foreign packages.<br />
pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))<br />
<br />
====makepkg====<br />
An automated tool to create packages - it actually automates the <code>./configure && make && make install</code> procedure, (or whatever combination of commands involved in the building of the application) and packs it up into a .pkg.tar.gz to be easily installed with pacman. It uses a script file called a PKGBUILD which must exist in the build directory. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.<br />
<br />
====ABS====<br />
An automated toolkit that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all PKGBUILD scripts from the SVN repository into <code>/var/abs</code>.<br />
<br />
==Extracting compressed files==<br />
For tar archives, the easiest method is to let '''tar''' automatically handle the file according to its ''contents'':<br />
file.''EXTENSION'' : tar '''a'''xvf file.''EXTENSION'' ''(the file may be an uncompressed, gzipped or bzipped tar archive)''<br />
Or you can force a given format:<br />
file.tar : tar xvf file.tar<br />
file.tgz : tar xvzf file.tgz<br />
file.tar.gz : tar xvzf file.tar.gz<br />
file.bz : bzip -cd file.bz | tar xvf -<br />
file.bz2 : tar xvjf file.tar.bz2 <b>OR</b> bzip2 -cd file.bz2 | tar xvf -<br />
file.zip : unzip file.zip<br />
file.rar : unrar x file.rar<br />
The construction of these tar arguments is quite archaic (but nevertheless handy). Have a look at the tar manpage, section COMPATIBILITY for how they work in detail. (tar comes in the tar package)<br />
<br />
The following function will decompress a wide range of compressed filetypes. Add the function to '~/.bashrc' and then run with the syntax 'extract MyCompressedFile'<br />
<br />
extract () {<br />
if [ -f $1 ] ; then<br />
case $1 in<br />
*.tar.bz2) tar xvjf $1 ;;<br />
*.tar.gz) tar xvzf $1 ;;<br />
*.bz2) bunzip2 $1 ;;<br />
*.rar) unrar x $1 ;;<br />
*.gz) gunzip $1 ;;<br />
*.tar) tar xvf $1 ;;<br />
*.tbz2) tar xvjf $1 ;;<br />
*.tgz) tar xvzf $1 ;;<br />
*.zip) unzip $1 ;;<br />
*.Z) uncompress $1 ;;<br />
*.7z) 7z x $1 ;;<br />
*) echo "don't know how to extract '$1'..." ;;<br />
esac<br />
else<br />
echo "'$1' is not a valid file!"<br />
fi<br />
}<br />
<br />
==Speeding up DNS queries==<br />
* [[Speeding up DNS with dnsmasq]]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Post_Installation_Tips&diff=67894Post Installation Tips2009-04-29T20:59:57Z<p>Stabele: /* Fast shellcompletion */ - completion after single Tab</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Poinstalační tipy (Česky)}}<br />
{{i18n_entry|English|Post Installation Tips}}<br />
{{i18n_entry|Español|Consejos para después de Instalar (Español)}}<br />
{{i18n_entry|Italiano|Suggerimenti Post Installazione}}<br />
{{i18n_entry|Ελληνικά|Post Installation Tips (Ελληνικά)}}<br />
{{i18n_entry|简体中文|ArchTips(简体中文)}}<br />
{{i18n_entry|Türkçe|Kurulum Sonrası Ayarları (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
==Introduction==<br />
Here are some performance tweaks and other useful information for Arch Linux newbies.<br />
<br />
==Hardware Auto-Recognition==<br />
* <code>lshwd</code> is your hardware auto-recognition tool. It will inform you which module you need to load and set.<br />
* Or you can use <code>hwdetect</code>. In my experience it detects more hardware and is faster than lshwd. More information: [[hwdetect]]<br />
<br />
==Lilo Boot Process Speed-Up==<br />
* To speed up lilo boot process, add the following command to <code>/etc/lilo.conf</code>:<br />
compact<br />
<br />
==End of Boot Process==<br />
After the boot process, the screen is cleared and the login prompt appears. Some users may want to modify this behavior such that they can see the messages that appeared during the boot process still.<br />
<br />
You can either add one of the following to the bottom of your /etc/rc.local file:<br />
* Wait at the end of the process until you press a key before clearing the screen and letting you log in:<br />
read -n1<br />
* Wait for at most 5 seconds or until you press a key:<br />
read -t5 -n1<br />
<br />
Or:<br />
* Remove the first 3 characters in <code>/etc/issue</code> file, which is a "clear screen" escape code. Obviously this will stop the screen from being cleared after you log out from your login session as well as just after boot.<br />
* Run <code>dmesg</code> from the shell prompt to display all the boot messages generated by the kernel.<br />
* comment out the agetty instance that runs on vc/1 in /etc/inittab.<br />
<pre>#c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux</pre><br />
<br />
==Colorize your console prompt (PS1)==<br />
~/.bashrc and /root/.bash_profile contain the default PS1 (shell prompt) variables for normal user and root, respectively.<br />
<br />
As normal user:<br />
$ nano ~/.bashrc<br />
Comment out the default prompt:<br />
#PS1='[\u@\h \W]\$ '<br />
And add:<br />
PS1='\[\e[0;32m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[m\] \[\e[1;32m\]\$ \[\e[m\]\[\e[1;37m\] '<br />
This will give a very pleasing, colorful prompt and theme for the console with bright white text.<br />
The awkward string above contains color-set escape sequences (start coloring: \[\e[color\], end coloring: \[\e[m\]) and info placeholders:<br />
*'''\u''' - username, your original prompt has also '''\h''' - host name<br />
*'''\w''' - current absolute path, use '''\W''' for current relative path<br />
*'''\$''' - the prompt character (eg. '#')<br />
<br />
The last color-set sequence "\[\e[1;37m\]" is not closed, so the remaining text (everything you type, output of the programs) will be in that (bright white) color. You may wish to change this color or delete sequence for default color.<br />
<br />
<br />
As root, edit the /root/.bashrc:<br />
# nano /root/.bash_profile<br />
Comment out the default PS1:<br />
#PS1='[\u@\h \W]\$ '<br />
The following PS1 is useful for a root bash prompt, with red designation and green console text:<br />
PS1='\[\e[0;31m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\] \[\e[0;31m\]\$ \[\e[m\]\[\e[0;32m\] '<br />
<br />
For more, see the [[Color Bash Prompt]] wiki entry.<br />
<br />
==Colorize the output of 'ls'==<br />
Your <code>~/.bashrc</code> should already have the following entry copied from <code>/etc/skel/.bashrc</code><br />
alias ls='ls --color=auto'<br />
<br />
Just add to your <code>~/.bashrc</code><br />
eval `dircolors -b`<br />
This will further enhance the colored <code>ls</code> output; for example, broken (orphan) symlinks will show in red, etc.<br><br />
''Note the backquote/backtick/grave accent character used here - this is not a single quote/apostrophe.''<br />
<br />
==Colorize the output of 'grep'==<br />
In your <code>~/.bashrc</code> file add the following entry:<br />
export GREP_COLOR="1;33"<br />
alias grep='grep --color=auto'<br />
<br />
The variable <code>GREP_COLOR</code> here is used to specify the output color, in this example a light yellow color.<br />
<br />
==Colorizing and the Emacs Shell: avoid strange symbols==<br />
<br />
By default the Emacs Shell will show rawly the escape sequences used to print the colors, that is, you will see a bunch of annoying strange symbols. You must include this into your .emacs configuration file:<br />
<br />
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)<br />
<br />
==Less on steroids==<br />
If you are a frequent user of the command line interface, you might want to install lesspipe (which you can find in the community repository). It will allow you to type:<br />
less lesspipe.tar.gz<br />
==> use tar_file:contained_file to view a file in the archive<br />
-rw------- solstice/users 695 2008-01-04 19:24 lesspipe/PKGBUILD<br />
-rw------- solstice/users 43 2007-11-07 11:17 lesspipe/lesspipe.sh<br />
lesspipe.tar.gz (END)<br />
<br />
i.e. use less to see the content of many files, instead of using specific command each time.<br />
Use <tt>man lesspipe</tt> to see how to activate it.<br />
<br />
==Change Console Fonts==<br />
Terminus is a popular favorite amongst Archers. Install with:<br />
pacman -S terminus-font<br />
Edit /etc/rc.conf:<br />
CONSOLEFONT="ter-v16b"<br />
Or find other fonts(with other sizes and styles) in /usr/share/kbd/consolefonts.<br />
Switch fonts on-the-fly with '''setfont''':<br />
setfont ter-v16b<br />
If the console font is changed during the boot process and you get a strange character output, add the "keymap" hook to the mkinitcpio.conf and create the initramfs image again: [[Mkinitcpio#Available_hooks|available Hooks in mkinitcpio]].<br />
<br />
==Getting a colored manpage==<br />
If you're new to linux, you will have to read a lot of manpages if you want to learn. However color will allow a clearer presentation of the contents and hopefully easier digestion. There are two ways to get color in your manpages. <br />
<br />
'''First method'''<br />
<br />
The first, more basic method is to install a reader program like most(8).<br />
# pacman -S most<br />
<br />
This is similar to less and more but also allows you to render text in color in an easier way.<br />
<br />
To get it up and running change the /etc/man.conf file and change the PAGER and BROWSER variable to:<br />
PAGER /usr/bin/most -s<br />
BROWSER /usr/bin/most -s<br />
<br />
'''Note: '''<br />
As of February, 2009, Arch uses man-db instead of man. Edit /etc/man_db.conf, uncomment the pager definition, and change it to:<br />
DEFINE pager most -s<br />
<br />
Now you can type:<br />
$ man whatever_man_page<br />
to see it in clarifying colors.<br />
<br />
If you want to modify the colors, experiment with the ~/.mostrc file (create it if it isn't there) or use /etc/most.conf.<br />
<br />
example ~/.mostrc:<br />
<br />
% Color settings<br />
<br />
color normal lightgray black<br />
color status yellow blue<br />
color underline yellow black<br />
color overstrike brightblue black<br />
<br />
another example for less-like keybindings (jump to line with 'J'):<br />
<br />
% less-like keybindings<br />
<br />
unsetkey "^K"<br />
unsetkey "g"<br />
unsetkey "G"<br />
unsetkey ":"<br />
<br />
setkey next_file ":n"<br />
setkey find_file ":e"<br />
setkey next_file ":p"<br />
setkey toggle_options ":o"<br />
setkey toggle_case ":c"<br />
setkey delete_file ":d"<br />
setkey exit ":q"<br />
<br />
setkey bob "g"<br />
setkey eob "G"<br />
setkey down "e"<br />
setkey down "E"<br />
setkey down "j"<br />
setkey down "^N"<br />
setkey up "y"<br />
setkey up "^Y"<br />
setkey up "k"<br />
setkey up "^P"<br />
setkey up "^K"<br />
setkey page_down "f"<br />
setkey page_down "^F"<br />
setkey page_up "b"<br />
setkey page_up "^B"<br />
setkey other_window "z"<br />
setkey other_window "w"<br />
setkey search_backward "?"<br />
setkey bob "p"<br />
setkey goto_mark "'"<br />
setkey find_file "E"<br />
setkey edit "v"<br />
<br />
'''Second method'''<br />
<br />
Alternatively you can get the same coloured result for manpages with less. This method has the advantage that less has many more features than most, so it comes much more handy for advanced users. Just add the following to your ~/.SHELLrc (i.e., ~/.bashrc if you use bash, or ~/.zshrc if you use zsh). To customize the colors, use different ANSI color codes; see http://en.wikipedia.org/wiki/ANSI_escape_code.<br />
<br />
export LESS_TERMCAP_mb=$'\E[01;31m'<br />
export LESS_TERMCAP_md=$'\E[01;31m'<br />
export LESS_TERMCAP_me=$'\E[0m'<br />
export LESS_TERMCAP_se=$'\E[0m' <br />
export LESS_TERMCAP_so=$'\E[01;44;33m' <br />
export LESS_TERMCAP_ue=$'\E[0m'<br />
export LESS_TERMCAP_us=$'\E[01;32m'<br />
<br />
Source: http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html<br />
<br />
==Accessing AUR seamlessly==<br />
Everyone should know how to use AUR, ABS, and makepkg if they want to build packages. Tracking and updating your custom built packages can become tedious, especially if you have many. There are some programs and scripts that help make building packages more convenient.<br />
<br />
[[AUR Helpers|See a list of programs that help you access AUR]]<br />
<br />
==Enabling History Search==<br />
Usually, when typing <code>ls</code> and pressing <up> key, your current input will be replaced with the last command used. If you are using history search, only past commands beginning with <code>ls</code> (the current input) will be shown.<br />
<br />
You can enable this mode by adding to <code>/etc/inputrc</code> or your <code>~/.inputrc</code>:<br />
"\e[A":history-search-backward<br />
"\e[B":history-search-forward<br />
<br />
==Fast shellcompletion==<br />
<br />
If you put into ~/.bashrc<br />
set show-all-if-ambiguous on<br />
you will no longer have to hit the <Tab> key twice to produce a list of all possible completions. A single <Tab> will suffice.<br />
<br />
==Enabling shellcompletion==<br />
This is a very desirable feature that you will no doubt benefit greatly from.<br />
# pacman -S bash-completion<br />
<br />
and afterwards add to ~/.bashrc<br />
if [ -f /etc/bash_completion ]; then<br />
. /etc/bash_completion<br />
fi<br />
<br />
'''Note:''' You may not need the above ~/.bashrc entries as /etc/profile will load any profiles from /etc/profile.d<br><br />
In there, bash_completion.sh will source /etc/bash_completion anyway.<br />
<br />
==Enabling mouse support in console (gpm)==<br />
* You can enable mouse support in the console by installing <b>gpm</b>:<br />
# pacman -S gpm<br />
* If you see the mouse cursor flickering and it doesn't work properly, you will need to change <code>/etc/conf.d/gpm</code>.<br />
'''For PS/2 mouse replace the existing line with:'''<br />
[ED: This is what works for my Synaptics touchpad, neither syn nor synps2 did.]<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
'''For USB mouse replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
'''For IBM Trackpoint, replace the existing line with:'''<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
* When it works, you can add <code>gpm</code> into <code>DAEMONS</code> array in <code>/etc/rc.conf</code> to have it started at boot.<br />
* Mouse support in the console is useful for many things, including programs such as Links and Lynx.<br />
<br />
==Start X at boot==<br />
* [[Start X at boot]]<br />
<br />
==Beautifying Fonts for LCD's==<br />
See [[Fonts]]<br />
<br />
==Activating Numlock on Bootup==<br />
* [[Activating Numlock on Bootup]]<br />
<br />
==ABS to build your own packages==<br />
* If you use [[ABS]] to build your own packages, remember to do it outside of the main /var/abs tree. Copy the PKGBUILD and all accompanying files to an empty directory in your homedir and build from there. That way you won't risk your modifications getting overwritten on the next <code>abs</code> run and it's easier to keep track of them.<br />
<br />
==Optimizing your packages==<br />
* For optimizing the packages you build using makepkg (the kernel is a good example), set your GCC preferred settings in <code>/etc/makepkg.conf</code>:<br />
(example for Athlon CPU)<br />
export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"<br />
See [[Safe Cflags|Safe CFlags]] for more info.<br />
<br />
==Timesaving Command-aliases==<br />
* You can create your own commands-aliases using <code><homedir>/.bashrc</code> or <code>/etc/profile</code>. Both can be used to define your own aliases:<br />
<pre><br />
alias ll="ls -lh"<br />
alias la="ls -a"<br />
alias exit="clear; exit"<br />
alias x="startx"<br />
<br />
# Lets you search through all available packages simply using 'pacsearch packagename'<br />
alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep "<br />
<br />
# sudo pacman -Syu by typing pacup (sudo must be installed and configured first)<br />
alias pacup="sudo pacman -Syu"<br />
<br />
# sudo pacman -S by typing pac<br />
alias pac="sudo pacman -S"<br />
</pre><br />
<br />
Colorized pacman -Ss search output: <br />
# colorized pacman output with pacs alias:<br />
alias pacs="pacsearch"<br />
pacsearch() {<br />
echo -e "$(pacman -Ss "$@" | sed \<br />
-e 's#^core/.*#\\033[1;31m&\\033[0;37m#g' \<br />
-e 's#^extra/.*#\\033[0;32m&\\033[0;37m#g' \<br />
-e 's#^community/.*#\\033[1;35m&\\033[0;37m#g' \<br />
-e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' ) \<br />
\033[0m"<br />
}<br />
<br />
You can also download pacman-color from the [http://aur.archlinux.org/packages.php?ID=11827 AUR].<br />
<br />
==Disabling IPv6==<br />
Until the widespread adoption of IPv6, you may benefit from [[IPv6_-_Disabling_the_Module|disabling the IPv6 module]]. <br />
<br />
==Useful Commands & Programs==<br />
*<code>grep</code> - searches for files by its contents (example: <code>grep -i syslog /etc/*</code> will search all files in /etc for those containing the word "syslog"; NOT case-sensitive (using the <code>-i</code> parameter))<br />
*<code>pkill/killall <process_name></code> - kills processes by name (example: <code>killall kdm</code>)<br />
*<code>pidof <process_name></code> - find the pid of the processes by name (example: <code>pidof init</code>)<br />
*<code>ps</code> - display process status (example: <code>ps xau</code> will display all active processes)<br />
*<code>locate</code> - quickly locates files on your hard drive (use <code>updatedb</code> to create a database of them first) (example: <code>locate Xservers</code> will find all files named Xservers)<br />
<br />
====pacman====<br />
There are some nice ways to do a bunch of things easily with bash commands. If we want to install a number of packages sharing similar patterns in their names - not the entire group nor all matching packages - eg. '''kdemod''', we can do:<br />
pacman -S kdemod-{applets,theme,tools}<br />
Of course, that is not limited and can be expanded to however many levels you need:<br />
pacman -S kdemod-{ui-{kde,kdemod},kdeartwork}<br />
Pacman has the '''-q''' option to hide the version column, and we can do something like reinstall packages with "compiz" as part of their name:<br />
pacman -S `pacman -Qq | grep compiz`<br />
The above can be achieved without '''-q''' by issuing an '''awk''' operation:<br />
pacman -S `pacman -Q | awk '/compiz/ { print $1 }'`<br />
Want to reinstall everything? Easy! Wait - not so fast. Listing currently installed packages will output everything including those that have been built with ''makepkg''. Simply running<br />
pacman -S `pacman -Qq`<br />
will output errors because some (or many) of them were not found in the database. We need a way to list only packages that have been installed by pacman. In order to do so, we must combine a command to list all packages, and another to hide the list of foreign packages. This, we achieve by using '''comm -3''' to show only the packages that are not foreign packages.<br />
pacman -S $(comm -3 <(pacman -Qq) <(pacman -Qqm))<br />
<br />
====makepkg====<br />
An automated tool to create packages - it actually automates the <code>./configure && make && make install</code> procedure, (or whatever combination of commands involved in the building of the application) and packs it up into a .pkg.tar.gz to be easily installed with pacman. It uses a script file called a PKGBUILD which must exist in the build directory. View a PKGBUILD file and read the installation document to learn more about how to work with makepkg.<br />
<br />
====ABS====<br />
An automated toolkit that allows you to rebuild any of pacman's packages (so you may provide your own compiler and linker settings, for better optimization, debugging info, etc). Simply executing abs will synchronize all PKGBUILD scripts from the SVN repository into <code>/var/abs</code>.<br />
<br />
==Extracting compressed files==<br />
For tar archives, the easiest method is to let '''tar''' automatically handle the file according to its ''contents'':<br />
file.''EXTENSION'' : tar '''a'''xvf file.''EXTENSION'' ''(the file may be an uncompressed, gzipped or bzipped tar archive)''<br />
Or you can force a given format:<br />
file.tar : tar xvf file.tar<br />
file.tgz : tar xvzf file.tgz<br />
file.tar.gz : tar xvzf file.tar.gz<br />
file.bz : bzip -cd file.bz | tar xvf -<br />
file.bz2 : tar xvjf file.tar.bz2 <b>OR</b> bzip2 -cd file.bz2 | tar xvf -<br />
file.zip : unzip file.zip<br />
file.rar : unrar x file.rar<br />
The construction of these tar arguments is quite archaic (but nevertheless handy). Have a look at the tar manpage, section COMPATIBILITY for how they work in detail. (tar comes in the tar package)<br />
<br />
The following function will decompress a wide range of compressed filetypes. Add the function to '~/.bashrc' and then run with the syntax 'extract MyCompressedFile'<br />
<br />
extract () {<br />
if [ -f $1 ] ; then<br />
case $1 in<br />
*.tar.bz2) tar xvjf $1 ;;<br />
*.tar.gz) tar xvzf $1 ;;<br />
*.bz2) bunzip2 $1 ;;<br />
*.rar) unrar x $1 ;;<br />
*.gz) gunzip $1 ;;<br />
*.tar) tar xvf $1 ;;<br />
*.tbz2) tar xvjf $1 ;;<br />
*.tgz) tar xvzf $1 ;;<br />
*.zip) unzip $1 ;;<br />
*.Z) uncompress $1 ;;<br />
*.7z) 7z x $1 ;;<br />
*) echo "don't know how to extract '$1'..." ;;<br />
esac<br />
else<br />
echo "'$1' is not a valid file!"<br />
fi<br />
}<br />
<br />
==Speeding up DNS queries==<br />
* [[Speeding up DNS with dnsmasq]]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Kernel_Panics&diff=66782Kernel Panics2009-04-13T19:28:50Z<p>Stabele: structure (but not content) change for clarification</p>
<hr />
<div>[[Category: System recovery (English)]]<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Kernel (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|:Kernel Panics (Česky)}}<br />
{{i18n_entry|English|:Kernel Panics}}<br />
{{i18n_entry|Español|:Kernel Panics (Español)}}<br />
{{i18n_entry|Italiano|:Kernel Panics (Italiano)}}<br />
{{i18n_entry|简体中文|:Kernel Panics (简体中文)}}<br />
{{i18n_entry|Ελληνικά|:Kernel Panics (Ελληνικά)}}<br />
{{i18n_entry|Türkçe|:Çekirdek Hataları}}<br />
{{i18n_links_end}}<br />
<br />
This page describes how to repair a computer whose kernel panics at boot.<br />
<br />
==Troubleshooting==<br />
To make troubleshooting easier, ensure that the kernel is not in quiet mode. Remove 'quiet' from the kernel line in GRUB if it is. Upon boot, check the output immediately before the panic and decide whether there is any useful information. There are probably too many causes for a kernel panic to keep well-documented in this wiki. Make sure that your system's configuration in /boot is correct and that none of the computer's hardware is faulty - it is good idea to run memtest from the Arch install/rescue CD or another utility (red entries are bad). If you believe the configuration in /boot may be erroneous, try option 1. If you believe the kernel panic is the fault of the panic itself, follow option 2 in order to install an earlier kernel.<br />
<br />
==Option 1: Check bootloader configuration==<br />
Another possibility is an error in the bootloader's configuration (e.g. <tt>/boot/grub/menu.lst</tt>). For example, repartitioning hard drives can change partitions' order. GRUB users may recall whether repartitioning has occurred recently and make sure the ''root'' and ''kernel'' lines match up with the new partitioning scheme. And examine the file for typos and extraneous characters. An extra space, or character in the wrong place will cause a kernel panic.<br />
<br />
==Option 2: Reinstall kernel==<br />
Reinstalling the kernel is probably the best bet when no other major system modifications have taken place recently.<br />
<br />
===Start from the installation CD===<br />
The first step is booting the installation CD. When started, type arch, like you would when installing arch.<br />
# arch<br />
<br />
===Chroot to your normal root===<br />
When booted, you are in a minimal but functional live GNU/Linux environment with some basic tools.<br />
Now, you have to mount your normal root disk to /mnt.<br />
# mount /dev/sdXY /mnt<br />
If you use a boot partition, don't forget to mount it<br />
# mount /dev/sdXZ /mnt/boot<br />
<br />
Newer kernels use an initial ramdisk to set up the kernel environment. When you reinstall a kernel, that initial ramdisk will be regenerated with mkinitcpio. One of mkinitcpio's features is that it does autodetection to find out what kernel modules are required for starting up your computer. For this autodetection to work, /dev, /sys and /proc need to mounted in your chroot:<br />
<br />
# mount -t proc none /mnt/proc<br />
# mount -t sysfs none /mnt/sys<br />
# mount --bind /dev /mnt/dev<br />
<br />
Now, we will chroot to this disk:<br />
# chroot /mnt<br />
<br />
===Roll back to previous kernel version===<br />
If you keep your downloaded pacman packages, you now can easily roll back. If you didn't keep them, you have to find a way to get a previous kernel version on your system now.<br />
<br />
Let's suppose you keep the previous versions. We will now install the last working one.<br />
# pacman -U /var/cache/pacman/pkg/kernel26-2.6.23.''xx-x''.pkg.tar.gz<br />
Of course, make sure that you adapt this line to your own kernel version.<br />
<br />
Otherwise, check the install CD for a package. For example, the version 2008.06 i686 CD contains addons/core-pkgs/kernel26-2.6.25.6-1-i686.pkg.tar.gz.<br />
<br />
==Reboot==<br />
Now is the time to reboot and see if the system modifications have stopped the panic.<br />
If reverting to an older kernel works, don't forget to check the arch-newspage to check what went wrong with the kernel build.</div>Stabelehttps://wiki.archlinux.org/index.php?title=Openbox&diff=65987Openbox2009-03-30T13:51:55Z<p>Stabele: adding reference to Lightweight Softwar article at the begining of Recommended Programs section</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|OpenBox (Česky)}}<br />
{{i18n_entry|English|Openbox}}<br />
{{i18n_entry|Español|Openbox (Español)}}<br />
{{i18n_entry|Italiano|Openbox_(Italiano)}}<br />
{{i18n_entry|Nederlands|Openbox_(Nederlands)}}<br />
{{i18n_entry|Русский|Openbox (Русский)}}<br />
{{i18n_entry|简体中文|Openbox(简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
== Introduction ==<br />
Openbox is a lightweight and highly configurable window manager with extensive standards support. Its features are well-documented at the [http://icculus.org/openbox/ official website]. This article will pertain to running Openbox under Arch Linux.<br />
<br />
== Installation ==<br />
Openbox is available from the standard repositories:<br />
# pacman -S openbox<br />
<br />
Once installed, pacman will direct you to copy the default <tt>menu.xml</tt> & <tt>rc.xml</tt> configuration files to <tt>~/.config/openbox/</tt>, for example: <br />
<br />
'''''Note:''' [[do this as a regular user, not as root.]]''<br />
<br />
$ mkdir -p ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml<br />
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml<br />
<br />
<tt>rc.xml</tt> is the core configuration file for Openbox. It is used to manage keyboard shortcuts, themes, virtual desktops and other features.<br />
<br />
<tt>menu.xml</tt> controls the Openbox application menu that appears when you click on your desktop. The default items are pretty sparse, but it's very easy to modify the menu structure to suit your needs. See the menu section below for more details, or visit the [http://icculus.org/openbox/ Openbox website].<br />
<br />
== Getting Started ==<br />
<br />
=== Using Openbox ===<br />
To run Openbox on its own, simply add the following to the bottom of ~/.xinitrc:<br />
exec openbox-session<br />
<br />
=== Using Openbox with GNOME ===<br />
==== GNOME 2.24 ====<br />
First, create '''/usr/share/applications/openbox.desktop''' containing the following:<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=OpenBox<br />
Exec=openbox<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=openbox<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=OpenBox<br />
Then, in gconf, set '''/desktop/gnome/session/required_components/windowmanager''' to '''openbox''':<br />
$ gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager openbox<br />
Finally, choose the '''GNOME''' session in the GDM sessions menu.<br />
<br />
==== GNOME 2.22 and previous ====<br />
# If you use GDM, select the "GNOME/Openbox" login option<br />
# If you use startx, add '''exec openbox-gnome-session''' to ~/.xinitrc<br />
# From the shell:<br />
xinit /usr/bin/openbox-gnome-session<br />
<br />
=== Using Openbox with KDE ===<br />
# If you use KDM, select the "KDE/Openbox" login option<br />
# If you use startx, add '''exec openbox-kde-session''' to ~/.xinitrc<br />
# From the shell:<br />
$ xinit /usr/bin/openbox-kde-session<br />
<br />
=== Using Openbox with Xfce4 ===<br />
Log into a normal Xfce4 session. From your terminal of choice, do:<br />
<br />
$ killall xfwm4 ; openbox & exit<br />
<br />
This will kill xfwm4, run Openbox, and close the terminal. <br />
<br />
Log out, making sure to check the "Save session for future logins" checkbox.<br />
<br />
On next login, Xfce4 will use Openbox as its WM.<br />
<br />
To be able to exit the session using xfce4-session, open your file ~/.config/openbox/menu.xml (if it isn't there, copy it from /etc/xdg/openbox/menu.xml). <br />
<br />
Look for the entry:<br />
<br />
<item label="Exit Openbox"><br />
<action name="Exit"><br />
<prompt>yes</prompt><br />
</action><br />
</item><br />
<br />
and change it to:<br />
<br />
<item label="Exit Openbox"><br />
<action name="Execute"><br />
<prompt>yes</prompt><br />
<command>xfce4-session-logout</command><br />
</action><br />
</item><br />
<br />
Otherwise, using the "Exit" entry of the root-menu will cause Openbox to terminate its execution, leaving you without a window manager.<br />
<br />
If you have an issue changing between virtual desktops with the mouse wheel skipping over virtual desktops, open your ~/.config/openbox/rc.xml file and move the mouse binds with actions "DesktopPrevious" and "DesktopNext" from the context "Desktop" to the context "Root" (you may need to define the Root context).<br />
<br />
If you want to use the Openbox root-menu instead of Xfce's, you may terminate Xfdesktop by running the following command in a terminal:<br />
<br />
$ xfdesktop --quit<br />
<br />
However, Xfdesktop manages the wallpaper and desktop icons, requiring you to use other utilities, such as ROX, for these functions.<br />
<br />
(When terminating Xfdesktop, the above issue with the virtual desktops is no longer a problem.)<br />
<br />
== Configuration ==<br />
<br />
=== Preferences ===<br />
Currently, there are two options for configuring the core Openbox preferences; manually edit the '''rc.xml''', or use the ObConf tool.<br />
<br />
==== Setting Preferences Manually ====<br />
<br />
To configure Openbox manually, simply edit '''~/.config/openbox/rc.xml''' with your favourite text editor. The config file provides plenty of comments throughout, and [http://icculus.org/openbox/index.php/Help:Contents full documentation] is available at the official website.<br />
<br />
==== Setting Preferences with ObConf ====<br />
<br />
[http://icculus.org/openbox/index.php/ObConf:About ObConf] is GUI-based Openbox configuration tool, which can be used to set most preferences including themes, virtual desktops, window properties and desktop margins.<br />
<br />
To install ObConf, run:<br />
# pacman -S obconf<br />
<br />
'''''Note:''''' ObConf cannot be used to configure keyboard shortcuts and some other advanced features. For these modifications, you must edit '''rc.xml''' manually (see above.)<br />
<br />
=== Menu Management ===<br />
<br />
The default Openbox menu includes a variety of applications to get you started, but you'll probably want to customize this at some point. There are a number of ways to do so:<br />
<br />
==== Manually ====<br />
Similar to the '''rc.xml''' file, you can edit '''~/.config/openbox/menu.xml''' with your favourite text editor. Although many of the settings are self-explanatory, [http://icculus.org/openbox/index.php/Help:Menus full documentation] is available.<br />
<br />
==== MenuMaker ====<br />
[http://menumaker.sourceforge.net/ MenuMaker] is a powerful tool that creates XML-based menus for a variety of Window Managers, including Openbox. MenuMaker will search your computer for executable programs and create an XML menu based on the results. It can be configured to exclude Legacy X, GNOME, KDE, or Xfce applications if the user desires.<br />
<br />
MenuMaker is available in the community repository:<br />
# pacman -S menumaker<br />
<br />
Once installed, you can generate a complete menu by running:<br />
$ mmaker -v OpenBox3<br />
<br />
By default, MenuMaker will not overwrite an existing menu.xml. To do so, run it with the -f (force) argument:<br />
<br />
$ mmaker -vf OpenBox3<br />
<br />
To see a full list of options, run '''mmaker --help'''<br />
<br />
This will give you a pretty thorough menu. Now you can modify the menu.xml by hand, or simply regenerate the list whenever you install new software.<br />
<br />
==== Obmenu ====<br />
Obmenu is a GUI-based menu editor for Openbox. For those who don't enjoy editing XML source code, this is probably the best option for you.<br />
<br />
It is available in the community repository:<br />
# pacman -S obmenu<br />
<br />
Once installed, simply run '''obmenu''' and add or remove the desired applications.<br />
<br />
===== obm-xdg =====<br />
<tt>obm-xdg</tt> is a command-line tool that comes with Obmenu. It can generate a categorized sub-menu of installed GTK/GNOME applications.<br />
<br />
To use obm-xdg, add the following line to '''~/.config/openbox/menu.xml''':<br />
<br />
<menu execute="obm-xdg" id="xdg-menu" label="xdg"/><br />
<br />
Then run '''openbox --reconfigure''' to refresh the Openbox menu. You should now see a sub-menu labeled '''xdg''' in your menu.<br />
<br />
'''''NOTE:''' If you do not have GNOME installed, then you need to install '''gnome-menus''' package for obm-xdg to work.''<br />
<br />
=== Startup Programs ===<br />
Openbox features support for running programs at startup. This is provided by the "openbox-session" command.<br />
<br />
There are two ways to enable autostart:<br />
# If you use startx/xinit to log into your X session, edit ~/.xinitrc and change the line that executes ''openbox'' to execute '''openbox-session''' instead.<br />
# If you log in with GDM/KDM, then select the ''Openbox'' session and it will automatically use autostart.<br />
<br />
Startup programs are managed in '''~/.config/openbox/autostart.sh'''. Full instructions and best practices for how to do this are available at the [http://icculus.org/openbox/index.php/Help:Autostart Openbox website].<br />
<br />
=== Per-application settings ===<br />
Openbox features per-application settings, allowing you to define rules for your programs. For example, you can:<br />
* load your web browser on a certain desktop<br />
* load your terminal without a window border<br />
* load your torrent client at a certain position on your screen<br />
<br />
These are defined in '''~/.config/openbox/rc.xml'''. As you might expect, the instructions are well-documented within the file itself. Full details can also be found here: http://icculus.org/openbox/index.php/Help:Applications<br />
<br />
=== Theming and Appearance ===<br />
With the exception of the Openbox Themes topic, the following section is intended for users who have configured Openbox to run as a standalone desktop, without the assistance of GNOME, KDE or Xfce.<br />
<br />
==== Openbox Themes ====<br />
Openbox themes control the appearance of window borders, including the titlebar and titlebar buttons. They also determine the appearance of the application menu and on-screen display (OSD). <br />
<br />
Additional themes are available from the standard repositories:<br />
<br />
# pacman -S openbox-themes<br />
<br />
This package is by no means definitive. You can download more themes at websites such as:<br />
*[http://www.box-look.org/index.php?xcontentmode=7402 box-look.org]<br />
*[http://customize.org/browse/tags/openbox customize.org]<br />
*http://www.minuslab.net/themes/<br />
*http://celo.wordpress.com/themes/<br />
*http://vault.openmonkey.com/pages/openbox<br />
*http://hewphoria.com/?p=submission&type=theme&cat=7<br />
<br />
Downloaded themes should be extracted to '''~/.themes''' and can be installed or selected with the [[Openbox#Preferences|ObConf]] tool.<br />
<br />
Creating new themes is fairly easy and again [http://icculus.org/openbox/index.php/Help:Themes well-documented].<br />
<br />
==== Desktop Wallpaper ====<br />
<br />
Openbox itself does not include a way to change the wallpaper. This can be done easily with programs like [[Feh]] or [[Nitrogen]]. Other options include ImageMagick, hsetroot and xsetbg.<br />
<br />
==== GTK Themes ====<br />
====== GTK2/GTK+ ======<br />
GTK+ themes can be managed easily with the ''[[LXDE | lxappearance]]'', ''gtk-chtheme'', or ''switch2'' utilities. To install, run:<br />
# pacman -S lxappearance<br />
and/or<br />
# pacman -S gtk-chtheme<br />
and/or<br />
# pacman -S gtk-theme-switch2<br />
<br />
Now you can simply run '''lxappearance''', '''gtk-chtheme''' or '''switch2''' to set the desired theme.<br />
<br />
====== GTK1 ======<br />
For legacy GTK1 themes, install the '''gtk-theme-switch''' package:<br />
# pacman -S gtk-theme-switch<br />
Then run '''''switch''''' to select a desired theme.<br />
<br />
==== GTK Fonts ====<br />
===== Manually edit the config file =====<br />
If you want to change the type and size of your fonts, add the following to '''~/.gtkrc.mine''':<br />
style "user-font"<br />
{<br />
font_name = "[font-name] [size]"<br />
}<br />
widget_class "*" style "user-font"<br />
gtk-font-name = "[font-name] [size]"<br />
<br />
where [font-name] [size] is the desired font and point size. For example:<br />
style "user-font"<br />
{<br />
font_name = "DejaVu Sans 8"<br />
}<br />
widget_class "*" style "user-font"<br />
gtk-font-name = "DejaVu Sans 8"<br />
<br />
Both <tt>font_name</tt> and <tt>gtk-font-name</tt> fields are required for backwards compatibility.<br />
===== Use GUI tools =====<br />
You can use '''gtk-chtheme''' or '''lxappearance''' to set GTK font settings. Please refer to the above section.<br />
<br />
==== GTK Icons ====<br />
First, extract the desired icon theme to '''/usr/share/icons''' (system-wide access) or '''~/.icons''' (local user access), then:<br />
===== Manually edit the config file =====<br />
Add the following to ~/.gtkrc.mine: <br />
gtk-icon-theme-name = "[name-of-icon-theme]"<br />
<br />
where [name-of-icon-theme] is the name of the icon theme directory. For example:<br />
gtk-icon-theme-name = "Tango"<br />
<br />
Ensure ~/.gtkrc-2.0 is configured to parse ~/.gtkrc.mine:<br />
<br />
# ~/.gtkrc-2.0<br />
# -- THEME AUTO-WRITTEN DO NOT EDIT<br />
include "/usr/share/themes/Rezlooks-Gilouche/gtk-2.0/gtkrc"<br />
include "/home/username/.gtkrc.mine"<br />
# -- THEME AUTO-WRITTEN DO NOT EDIT<br />
===== Use GUI tools =====<br />
You can use '''lxappearance''' to choose GTK icon themes. Please refer to the above section.<br />
<br />
==== Mouse cursor themes ====<br />
Extract the desired Xcursor theme to either '''/usr/share/icons''' (system-wide access) or '''~/.icons''' (local user access).<br />
<br />
Add this to ~/.Xdefaults:<br />
Xcursor.theme: [name-of-cursor-theme]<br />
where [name-of-cursor-theme] is the name of the cursor theme directory. For example:<br />
Xcursor.theme: Vanilla-DMZ-AA<br />
To change the size:<br />
Xcursor.size: [size]<br />
<br />
==== Desktop Icons ====<br />
Openbox does not provide a means to display icons on the desktop. PcmanFM, [http://rox.sourceforge.net ROX], [http://idesk.sourceforge.net iDesk], or even Nautilus (and the gnome-settings-daemon) can provide this function. <br />
<br />
ROX and PCmanFM have the additional advantage of being lightweight file managers.<br />
<br />
== Tips & Tricks ==<br />
=== Improve Fonts ===<br />
Improve the appearance of fonts for LCD monitors [http://wiki.archlinux.org/index.php/Fonts#Fonts_with_LCD_filter_enabled by following this guide.]<br />
<br />
Then, create ~/.fonts.conf and add:<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<match target="font" ><br />
<edit mode="assign" name="rgba" ><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font" ><br />
<edit mode="assign" name="hinting"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font" ><br />
<edit mode="assign" name="hintstyle"><br />
<const>hintfull</const><br />
</edit><br />
</match> <br />
</fontconfig><br />
<br />
<br />
=== Recommended Programs ===<br />
<br />
There is list of [[Lightweight Software]] at Arch's wiki, most of them nicely fits with Openbox.<br />
<br />
==== Login Managers ====<br />
[http://slim.berlios.de/ SLiM] provides a lightweight and elegant graphical login solution for standalone Openbox configurations. Refer to Arch's [[SLiM]] wiki for detailed instructions.<br />
<br />
[http://qingy.sourceforge.net/ Qingy] is ultralight and very configurable graphical login. It support login to both console and X Windows sessions. It uses [http://www.directfb.org DirectFB], therefore it does not start X Windows unless you choose X Windows session. See article about [[Qingy]] at Arch's wiki.<br />
<br />
==== Composite Desktop ====<br />
[[Xcompmgr]] is a lightweight composite manager capable of rendering drop shadows, fading and simple window transparency within Openbox and other window managers.<br />
<br />
==== Application Launchers ====<br />
===== dmenu =====<br />
Set-up dmenu as described in the [[dmenu]] wiki article. Then, add the following entry to the <keyboard> section '''~/.config/openbox/rc.xml''' to enable a shortcut to launch dmenu:<br />
<keybind key="W-space"><br />
<action name="Execute"><br />
<execute>dmenu_run</execute><br />
</action><br />
</keybind><br />
<br />
===== Gmrun =====<br />
[http://sourceforge.net/projects/gmrun gmrun] provides an excellent Run dialog box, similar to the Alt+F2 features found in Gnome and KDE:<br />
pacman -S gmrun<br />
Add the following entry to the <keyboard> section '''~/.config/openbox/rc.xml''' to enable Alt+F2 functionality:<br />
<keybind key="A-F2"><br />
<action name="execute"><execute>gmrun</execute></action><br />
</keybind><br />
<br />
===== Bashrun =====<br />
[http://bashrun.sourceforge.net bashrun] provides a different, barebones approach to a run dialog, using a specialized bash session within a small xterm window. It is available in the community repository and can be launched through the Alt+F2 style approach mentioned previously. To make bashrun act more like a traditional run dialog, add the following entry to the <applications> section '''~/.config/openbox/rc.xml''':<br />
<application name="bashrun"><br />
<desktop>all</desktop><br />
<decor>no</decor> # switch to yes if you prefer a bordered window<br />
<focus>yes</focus><br />
<skip_pager>yes</skip_pager><br />
<layer>above</layer><br />
</application><br />
<br />
===== Launchy =====<br />
[http://www.launchy.net/ Launchy] is a less minimalistic approach; it is skinnable and offers more functionality such as a calculator, checking the weather, etc. Originally for Windows, similar to Gnome Do.<br />
pacman -S launchy<br />
It is launched by Ctrl + Space key combination.<br />
<br />
===== LXPanel =====<br />
[http://www.gnomefiles.org/app.php/LXPanel LXPanel] If LXPanel is used as a taskbar manager, the run utility from the LXPanel menu can be executed with "lxpanelctl run".<br />
<br />
==== File managers ====<br />
<br />
There are many possibilities, but the most popular lightweight file managers are:<br />
* [http://thunar.xfce.org Thunar]. Thunar supports auto-mount features and other plugins. <br />
pacman -S thunar<br />
Thunar may be started in daemon mode for tighter desktop integration. For instance, inserting a USB pendrive will invoke a Thunar window to popup, with the drive contents listed in the window. <br />
<br />
To start Thunar in daemon mode, edit ~/.config/openbox/autostart.sh and add:<br />
thunar --daemon &<br />
<br />
* [http://rox.sourceforge.net ROX] (ROX provides desktop icons)<br />
pacman -S rox<br />
* [http://pcmanfm.sourceforge.net PCMan] (pcmanfm also provides desktop icons)<br />
pacman -S pcmanfm<br />
For even lighter options, consider [http://www.obsession.se/gentoo/ Gentoo] or [http://emelfm.sourceforge.net/ emelFM], both of which use the familiar 'Midnight Commander' two pane layout (these two require gtk 1.2.x).<br />
<br />
Of course, you can also use GNOME's Nautilus. Although slower than the above solutions, it has the additional advantage of VFS support (e.g. remote SSH, FTP and Samba connections).<br />
<br />
==== Clipboard Managers and copy/paste====<br />
You may wish to install a clipboard manager for feature rich copy/paste ability. '''xfce4-clipman-plugin, parcellite,''' or '''glipper-old''' may be installed via pacman. Add your choice to autostart.sh. From the terminal, Ctrl+Insert as copy and Shift+Insert as paste generally works as well. You may also copy from terminal with Ctrl+Shift+C, and paste with mouse middle click.<br />
==== Panels, Trays, and Pagers ====<br />
<br />
There are quite a lot of utilities available that provide a panel (taskbar), system tray, and pager to Openbox. The most common are:<br />
<br />
'''Panels'''<br />
* [http://wiki.archlinux.org/index.php/PyPanel PyPanel]<br />
* [http://nsf.110mb.com/bmpanel/ bmpanel]<br />
* [http://code.google.com/p/tint2/ Tint2]<br />
* [http://sourceforge.net/projects/lxpanel LXPanel]<br />
* [http://fbpanel.sourceforge.net fbpanel]<br />
* [http://perlpanel.org/ PerlPanel]<br />
* [http://www.chatjunkies.org/fspanel/ fspanel]<br />
* [http://www.xfce.org/projects/xfce4-panel/ xfce4-panel]<br />
* [http://developer.gnome.org/arch/gnome/corecomponents/panel/ gnome-panel]<br />
* [http://code.google.com/p/avant-window-navigator/ avant-window-navigator]<br />
* [http://developer.berlios.de/projects/cairo-dock/ cairo-dock]<br />
* [http://code.google.com/p/wbar/ wbar]<br />
<br />
'''Trays'''<br />
* [http://stalonetray.sourceforge.net/ Stalonetray]<br />
* [http://download.gna.org/fvwm-crystal/trayer/1.0/ Trayer]<br />
<br />
'''Pagers'''<br />
* [http://projects.l3ib.org/trac/visibility Visibility]<br />
* [http://bbtools.sourceforge.net/ bbpager]<br />
* [http://aur.archlinux.org/packages.php?ID=970 netwmpager]<br />
* [http://useperl.ru/ipager/index.en.html IPager]<br />
<br />
Make your choice and add it to your startup file.<br />
<br />
=== Get xprop values for per-app settings quickly ===<br />
If you use per-application settings frequently, you might find this bash alias handy:<br />
<br />
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'<br />
<br />
To use, run '''xp''' and click on the running program that you'd like to define with per-app settings. The result will display only the info that Openbox requires, namely the WM_WINDOW_ROLE and WM_CLASS (name and class) values:<br />
<br />
[thayer@dublin:~] $ xp<br />
WM_WINDOW_ROLE(STRING) = "roster"<br />
WM_CLASS(STRING) = "gajim.py", "Gajim.py"<br />
WM_CLASS(STRING) = "NAME", "CLASS"<br />
<br />
=== Firefox/Gran Paradiso application rules === <br />
For whatever reason, Firefox and its open source equivalents will ignore application rules (e.g. <desktop>) unless '''<code>class="Firefox*"</code>''' is used, regardless of what xprop reports as the actual WM_CLASS values.<br />
<br />
=== Linking the menu to a command ===<br />
Some people would want to link the Openbox main menu, or any other, to a command. This is useful for creating a menu button in a panel, for example. Although Openbox doesn't support this, a very simple script , xdotool, can simulate a keypress by running a command. Xdotool is [http://aur.archlinux.org/packages.php?do_Details=1&ID=14789&O=0&L=0&C=0&K=xdotool&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd available on AUR]. To use it, simply add the following code to the <keyboard> section of your rc.xml:<br />
<keybind key="A-C-q"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
Restart/reconfigure Openbox. You can now magically summon your menu at your cursor position by running the following command:<br />
# xdotool key ctrl+alt+q<br />
Of course, you can change the shortcut to your liking.<br />
<br />
=== Urxvt in the background === <br />
With Openbox, running a terminal as desktop background is easy. You won't need '''devilspie''' here.<br />
<br />
First you must enable transparency, open your '''.Xdefaults''' file (if it doesn't exist yet, create it in your home folder).<br />
URxvt*transparent:true<br />
URxvt*scrollBar:false<br />
URxvt*geometry:124x24 #I don't use the whole screen, if you want a full screen term don't bother with this and see below.<br />
URxvt*borderLess:true<br />
URxvt*foreground:Black #Font color. My wallpaper is White, you may wish to change this to White.<br />
<br />
Then edit your '''.config/openbox/rc.xml''' file :<br />
<application name="urxvt"><br />
<decor>no</decor><br />
<focus>yes</focus><br />
<position><br />
<x>center</x><br />
<y>20</y><br />
</position><br />
<layer>below</layer><br />
<desktop>all</desktop><br />
<maximized>true</maximized> #Only if you want a full size terminal.<br />
</application><br />
<br />
The ''magic'' comes from the '''<layer>below</layer>''' line, which place the application under all others. Here Urxvt is displayed on all desktops, change it to your convenience.<br />
<br />
== Additional Resources ==<br />
* [http://icculus.org/openbox/ Openbox Website] - The official website<br />
* [http://planetob.openmonkey.com/ Planet Openbox] - Openbox news portal<br />
* [http://www.box-look.org/ Box-Look.org] - A good resource for themes and related artwork</div>Stabelehttps://wiki.archlinux.org/index.php?title=Lightweight_Applications&diff=65985Lightweight Applications2009-03-30T13:39:37Z<p>Stabele: adding lightweight login managers SLiM and Quingy</p>
<hr />
<div>[[Category:Desktop user's guide (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Lightweight Software}}<br />
{{i18n_entry|Русский|Выбор программ}}<br />
{{i18n_links_end}}<br />
<br />
== Introduction ==<br />
<br />
This list is in response to the plethora of posts in the forums asking for help finding lightweight software. Please feel free to add to it. Discussion can be made in the following [http://bbs.archlinux.org/viewtopic.php?pid=448593 thread].<br />
<br />
== Internet ==<br />
<br />
=== Browsers ===<br />
<br />
[http://www.dillo.org/ Dillo] is a small, fast graphical web browser built on FLTK (older versions use GTK+).<br />
<br />
[http://kazehakase.sourceforge.jp/ Kazehakase] is a GTK+ web browser that uses the Gecko rendering engine.<br />
<br />
[http://links.sourceforge.net/ Links-g] is a text WWW browser, similar to Lynx, with framebuffer and X graphics enabled.<br />
<br />
[http://www.twotoasts.de/index.php?/pages/midori_summary.html Midori] is a lightweight web browser based on Gtk WebKit.<br />
<br />
[http://elinks.or.cz/ ELinks] is a full featured text mode browser.<br />
<br />
=== Email Clients ===<br />
<br />
[[mutt]] is a small but very powerful text-based mail client.<br />
<br />
[http://www.claws-mail.org/ Sylpheed Claws] is a lightweight and user-friendly e-mail client.<br />
<br />
[http://www.mozilla.com/thunderbird/ Thunderbird] is an email and Usenet client based on Mozilla code.<br />
<br />
=== Instant Messengers ===<br />
<br />
[[Bitlbee]] is a way to use other IM to your [[#IRC]] client.<br />
<br />
[http://www.emesene.org/ emesene] is a Python/GTK+ instant messenger for the Windows Live Messenger network.<br />
<br />
[[Pidgin]] is a multiprotocol instant messenger.<br />
<br />
[http://pidgin.im Pidgin Light] is a light Pidgin version without gstreamer, tcl, tk, xscreensaver support.<br />
<br />
=== IRC ===<br />
<br />
[http://irssi.org/ Irssi] is a modular text mode IRC client with Perl scripting.<br />
<br />
[http://lostirc.sourceforge.net LostIRC] is a simple IRC client.<br />
<br />
[http://weechat.flashtux.org/ WeeChat] is a fast, light & extensible curses-based IRC client.<br />
<br />
[http://xchat.org XChat] is a GTK+ X client with Perl and Python scripting support.<br />
<br />
[http://www.smuxi.org/main/ SMUxI] Lightweight GTK frontend for Irssi.<br />
<br />
=== Torrents ===<br />
<br />
[http://deluge-torrent.org/ Deluge] is a bittorrent client written with Python and PyGTK.<br />
<br />
[http://libtorrent.rakshasa.no/ rTorrent] is a very simple, elegant and ultra-light BitTorrent client. It is written in C++ and uses ncurses, so it is completely text based and runs entirely in a console.<br />
<br />
[http://www.transmissionbt.com/ Transmission] is a fast, easy, and free BitTorrent client (GTK+ GUI and CLI).<br />
<br />
== Multimedia ==<br />
<br />
=== Audio Players ===<br />
<br />
[http://cmus.sourceforge.net/ C* Music Player] is a very feature-rich ncurses-based music player.<br />
<br />
[http://moc.daper.net/ MOC (Music On Console)] is an ncurses console audio player with support for the MP3, Ogg, and WAV formats.<br />
<br />
[http://hem.bredband.net/kaw/ncmpc/ ncmpc] is a curses client for [[mpd]].<br />
<br />
[http://unkart.ovh.org/ncmpcpp/ ncmpcpp] is an almost exact clone of ncmpc with some new features.<br />
<br />
[http://sonata.berlios.de/ Sonata] is an elegant GTK+ music client for [[mpd]].<br />
<br />
[http://mask.tf.hut.fi/~flu/cplay/ cplay] is a curses front-end for various audio players.<br />
<br />
=== Image Editors ===<br />
<br />
[http://mtpaint.sourceforge.net/ mtPaint] is a graphic editing program geared towards creating indexed palette images and pixel art.<br />
<br />
=== Image Viewers ===<br />
<br />
[http://linuxbrit.co.uk/feh/ Feh] is a fast, lightweight image viewer that uses imlib2.<br />
<br />
[http://lxde.sourceforge.net/gpicview/ GPicView] is a simple and fast image viewer for X. Made by the developers of [[LXDE]]<br />
<br />
[http://gqview.sourceforge.net/ GQview] is an image browser that features single click access to view images and move around the directory tree.<br />
<br />
[http://goodies.xfce.org/projects/applications/ristretto Ristretto] is a fast and lightweight picture-viewer for the Xfce desktop environment.<br />
<br />
[http://mirageiv.berlios.de Mirage] is a fast and simple GTK+ image viewer.<br />
<br />
=== Video Players ===<br />
<br />
[http://smplayer.sourceforge.net/ SMPlayer] is a complete frontend for [[MPlayer]].<br />
<br />
[http://www.videolan.org/vlc/ VLC] is a multi-platform video player that supports many audio and video formats out-of-the-box.<br />
<br />
== Office ==<br />
<br />
=== PDF Tools ===<br />
<br />
[http://www.emma-soft.com/projects/epdfview/ ePDFView] is a free lightweight PDF document viewer using Poppler and GTK+ libraries.<br />
<br />
[http://www.foolabs.com/xpdf/ Xpdf] is a viewer for Portable Document Format (PDF) files.<br />
<br />
[http://code.google.com/p/apvlv/ apvlv] is a lightweight PDF viewer with VIM key bindings.<br />
<br />
=== Text Editors ===<br />
<br />
[http://www.nongnu.org/beaver/ Beaver] is an Early AdVanced EditoR.<br />
<br />
[http://www.geany.org Geany] is a text editor using the GTK+ 2 toolkit with basic features of an integrated development environment.<br />
<br />
[http://tarot.freeshell.org/leafpad/ Leafpad] is a notepad clone for GTK+ 2.x that emphasizes simplicity.<br />
<br />
[http://mooedit.sourceforge.net/ medit] is intended to be a useful programming and around-programming text editor.<br />
<br />
[http://www.xfce.org/projects/mousepad/ Mousepad] is a simple text editor for Xfce based on Leafpad.<br />
<br />
Vi, [[Vim]], gVim the classic vi text editor.<br />
<br />
=== Word Processors ===<br />
<br />
[http://www.abisource.com/ Abiword] is a full-featured word processor ([[Abiword|HOWTO]]).<br />
<br />
== System ==<br />
<br />
=== GUI Compression Tools ===<br />
<br />
[http://squeeze.xfce.org/ Squeeze] is a modern and advanced archive manager.<br />
<br />
[http://xarchive.sourceforge.net Xarchive] is a GTK+ 2 front-end for various command line archiving tools.<br />
<br />
[http://xarchiver.xfce.org/ Xarchiver] is a lightweight desktop independent archive manager built with GTK+ 2.<br />
<br />
=== File Managers ===<br />
<br />
[http://emelfm2.net/ emelFM2] is file manager that implements the popular two-pane design.<br />
<br />
[http://www.midnight-commander.org Midnight Commander] is a console-based, dual-paned, file manager.<br />
<br />
[http://pcmanfm.sourceforge.net/ PCManFM] is a lightweight file manager which features tabbed browsing.<br />
<br />
[http://rox.sourceforge.net ROX] is a small and fast file manager which can optionally manage the desktop background and panels.<br />
<br />
[http://thunar.xfce.org/ Thunar] is fast and responsive with a good start up time and directory load time.<br />
<br />
=== Monitors ===<br />
<br />
[http://conky.sourceforge.net/ Conky] is a lightweight, scriptable system monitor ([[Conky|HOWTO]]).<br />
<br />
[http://htop.sourceforge.net/ htop] is a simple, ncurses interactive process viewer.<br />
<br />
=== Panels ===<br />
<br />
[http://fbpanel.sourceforge.net fbpanel] is a lightweight, NETWM compliant desktop panel.<br />
<br />
[http://lxde.org LXPanel] is a lightweight X11 desktop panel (part of LXDE).<br />
<br />
[http://pypanel.sourceforge.net/ PyPanel] is a lightweight panel/taskbar written in Python and C ([[PyPanel|HOWTO]]).<br />
<br />
[http://code.google.com/p/tint2/ Tint] is a simple panel/taskbar intentionally made for openbox3, but should also work with other window managers ([[Tint|HOWTO]]).<br />
<br />
=== Login managers ===<br />
<br />
[[SLiM]] provides a lightweight and elegant graphical login solution.<br />
<br />
[[Qingy]] is ultralight and very configurable graphical login independent on X Windows.<br />
<br />
=== Window managers ===<br />
<br />
[[Dwm]] is a extra light dynamic window manager which is configured by directly editing the source(which itself is less than 2000 SLOC). <br />
<br />
[[Xfce]] is a desktop environment much lighter but similar to GNOME. It includes the xfwm4 window manager.<br />
<br />
[[Fluxbox]] is a lightweight and highly configurable window manager.<br />
<br />
[[Openbox]] is another lightweight and highly configurable window manager.<br />
<br />
[[Awesome]] is a floating and tiling window manager initially based on a [[dwm]] code rewriting.<br />
<br />
[[PekWM]] is small and easily configurable window manager.<br />
<!-- [[Xmonad]] is a tiling window manager for X. This one is actually huge (install size ~350 MiB). --><br />
<br />
=== Terminals ===<br />
<br />
[http://software.schmorp.de/pkg/rxvt-unicode urxvt] is a highly extendable unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, quake-style dropdown, pseudo-transparency, and is extensible with perl.<br />
<br />
[http://lilyterm.luna.com.tw/index_en.html Lilyterm] is a light and easy to use libvte based X Terminal Emulator.<br />
<br />
[http://rox.sourceforge.net ROXTerm] is a tabbed, VTE-based terminal emulator with a small footprint.<br />
<br />
[http://www.pleyades.net/david/sakura.php Sakura] is a terminal emulator based on GTK+ and VTE.<br />
<br />
=== Trays ===<br />
<br />
[http://icculus.org/openbox/2/docker/ Docker] is a docking application which acts as a system tray.<br />
<br />
[http://stalonetray.sourceforge.net Stalonetray] is a stand-alone system tray.<br />
<br />
[http://gna.org/projects/fvwm-crystal/ Trayer] swallows GTK+ 1.2/2.x application docklets, and KDE docklets.</div>Stabelehttps://wiki.archlinux.org/index.php?title=Openbox&diff=65984Openbox2009-03-30T12:50:04Z<p>Stabele: adding Quingy as login tool</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|OpenBox (Česky)}}<br />
{{i18n_entry|English|Openbox}}<br />
{{i18n_entry|Español|Openbox (Español)}}<br />
{{i18n_entry|Italiano|Openbox_(Italiano)}}<br />
{{i18n_entry|Nederlands|Openbox_(Nederlands)}}<br />
{{i18n_entry|Русский|Openbox (Русский)}}<br />
{{i18n_entry|简体中文|Openbox(简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
== Introduction ==<br />
Openbox is a lightweight and highly configurable window manager with extensive standards support. Its features are well-documented at the [http://icculus.org/openbox/ official website]. This article will pertain to running Openbox under Arch Linux.<br />
<br />
== Installation ==<br />
Openbox is available from the standard repositories:<br />
# pacman -S openbox<br />
<br />
Once installed, pacman will direct you to copy the default <tt>menu.xml</tt> & <tt>rc.xml</tt> configuration files to <tt>~/.config/openbox/</tt>, for example: <br />
<br />
'''''Note:''' [[do this as a regular user, not as root.]]''<br />
<br />
$ mkdir -p ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml<br />
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml<br />
<br />
<tt>rc.xml</tt> is the core configuration file for Openbox. It is used to manage keyboard shortcuts, themes, virtual desktops and other features.<br />
<br />
<tt>menu.xml</tt> controls the Openbox application menu that appears when you click on your desktop. The default items are pretty sparse, but it's very easy to modify the menu structure to suit your needs. See the menu section below for more details, or visit the [http://icculus.org/openbox/ Openbox website].<br />
<br />
== Getting Started ==<br />
<br />
=== Using Openbox ===<br />
To run Openbox on its own, simply add the following to the bottom of ~/.xinitrc:<br />
exec openbox-session<br />
<br />
=== Using Openbox with GNOME ===<br />
==== GNOME 2.24 ====<br />
First, create '''/usr/share/applications/openbox.desktop''' containing the following:<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=OpenBox<br />
Exec=openbox<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=openbox<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=OpenBox<br />
Then, in gconf, set '''/desktop/gnome/session/required_components/windowmanager''' to '''openbox''':<br />
$ gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager openbox<br />
Finally, choose the '''GNOME''' session in the GDM sessions menu.<br />
<br />
==== GNOME 2.22 and previous ====<br />
# If you use GDM, select the "GNOME/Openbox" login option<br />
# If you use startx, add '''exec openbox-gnome-session''' to ~/.xinitrc<br />
# From the shell:<br />
xinit /usr/bin/openbox-gnome-session<br />
<br />
=== Using Openbox with KDE ===<br />
# If you use KDM, select the "KDE/Openbox" login option<br />
# If you use startx, add '''exec openbox-kde-session''' to ~/.xinitrc<br />
# From the shell:<br />
$ xinit /usr/bin/openbox-kde-session<br />
<br />
=== Using Openbox with Xfce4 ===<br />
Log into a normal Xfce4 session. From your terminal of choice, do:<br />
<br />
$ killall xfwm4 ; openbox & exit<br />
<br />
This will kill xfwm4, run Openbox, and close the terminal. <br />
<br />
Log out, making sure to check the "Save session for future logins" checkbox.<br />
<br />
On next login, Xfce4 will use Openbox as its WM.<br />
<br />
To be able to exit the session using xfce4-session, open your file ~/.config/openbox/menu.xml (if it isn't there, copy it from /etc/xdg/openbox/menu.xml). <br />
<br />
Look for the entry:<br />
<br />
<item label="Exit Openbox"><br />
<action name="Exit"><br />
<prompt>yes</prompt><br />
</action><br />
</item><br />
<br />
and change it to:<br />
<br />
<item label="Exit Openbox"><br />
<action name="Execute"><br />
<prompt>yes</prompt><br />
<command>xfce4-session-logout</command><br />
</action><br />
</item><br />
<br />
Otherwise, using the "Exit" entry of the root-menu will cause Openbox to terminate its execution, leaving you without a window manager.<br />
<br />
If you have an issue changing between virtual desktops with the mouse wheel skipping over virtual desktops, open your ~/.config/openbox/rc.xml file and move the mouse binds with actions "DesktopPrevious" and "DesktopNext" from the context "Desktop" to the context "Root" (you may need to define the Root context).<br />
<br />
If you want to use the Openbox root-menu instead of Xfce's, you may terminate Xfdesktop by running the following command in a terminal:<br />
<br />
$ xfdesktop --quit<br />
<br />
However, Xfdesktop manages the wallpaper and desktop icons, requiring you to use other utilities, such as ROX, for these functions.<br />
<br />
(When terminating Xfdesktop, the above issue with the virtual desktops is no longer a problem.)<br />
<br />
== Configuration ==<br />
<br />
=== Preferences ===<br />
Currently, there are two options for configuring the core Openbox preferences; manually edit the '''rc.xml''', or use the ObConf tool.<br />
<br />
==== Setting Preferences Manually ====<br />
<br />
To configure Openbox manually, simply edit '''~/.config/openbox/rc.xml''' with your favourite text editor. The config file provides plenty of comments throughout, and [http://icculus.org/openbox/index.php/Help:Contents full documentation] is available at the official website.<br />
<br />
==== Setting Preferences with ObConf ====<br />
<br />
[http://icculus.org/openbox/index.php/ObConf:About ObConf] is GUI-based Openbox configuration tool, which can be used to set most preferences including themes, virtual desktops, window properties and desktop margins.<br />
<br />
To install ObConf, run:<br />
# pacman -S obconf<br />
<br />
'''''Note:''''' ObConf cannot be used to configure keyboard shortcuts and some other advanced features. For these modifications, you must edit '''rc.xml''' manually (see above.)<br />
<br />
=== Menu Management ===<br />
<br />
The default Openbox menu includes a variety of applications to get you started, but you'll probably want to customize this at some point. There are a number of ways to do so:<br />
<br />
==== Manually ====<br />
Similar to the '''rc.xml''' file, you can edit '''~/.config/openbox/menu.xml''' with your favourite text editor. Although many of the settings are self-explanatory, [http://icculus.org/openbox/index.php/Help:Menus full documentation] is available.<br />
<br />
==== MenuMaker ====<br />
[http://menumaker.sourceforge.net/ MenuMaker] is a powerful tool that creates XML-based menus for a variety of Window Managers, including Openbox. MenuMaker will search your computer for executable programs and create an XML menu based on the results. It can be configured to exclude Legacy X, GNOME, KDE, or Xfce applications if the user desires.<br />
<br />
MenuMaker is available in the community repository:<br />
# pacman -S menumaker<br />
<br />
Once installed, you can generate a complete menu by running:<br />
$ mmaker -v OpenBox3<br />
<br />
By default, MenuMaker will not overwrite an existing menu.xml. To do so, run it with the -f (force) argument:<br />
<br />
$ mmaker -vf OpenBox3<br />
<br />
To see a full list of options, run '''mmaker --help'''<br />
<br />
This will give you a pretty thorough menu. Now you can modify the menu.xml by hand, or simply regenerate the list whenever you install new software.<br />
<br />
==== Obmenu ====<br />
Obmenu is a GUI-based menu editor for Openbox. For those who don't enjoy editing XML source code, this is probably the best option for you.<br />
<br />
It is available in the community repository:<br />
# pacman -S obmenu<br />
<br />
Once installed, simply run '''obmenu''' and add or remove the desired applications.<br />
<br />
===== obm-xdg =====<br />
<tt>obm-xdg</tt> is a command-line tool that comes with Obmenu. It can generate a categorized sub-menu of installed GTK/GNOME applications.<br />
<br />
To use obm-xdg, add the following line to '''~/.config/openbox/menu.xml''':<br />
<br />
<menu execute="obm-xdg" id="xdg-menu" label="xdg"/><br />
<br />
Then run '''openbox --reconfigure''' to refresh the Openbox menu. You should now see a sub-menu labeled '''xdg''' in your menu.<br />
<br />
'''''NOTE:''' If you do not have GNOME installed, then you need to install '''gnome-menus''' package for obm-xdg to work.''<br />
<br />
=== Startup Programs ===<br />
Openbox features support for running programs at startup. This is provided by the "openbox-session" command.<br />
<br />
There are two ways to enable autostart:<br />
# If you use startx/xinit to log into your X session, edit ~/.xinitrc and change the line that executes ''openbox'' to execute '''openbox-session''' instead.<br />
# If you log in with GDM/KDM, then select the ''Openbox'' session and it will automatically use autostart.<br />
<br />
Startup programs are managed in '''~/.config/openbox/autostart.sh'''. Full instructions and best practices for how to do this are available at the [http://icculus.org/openbox/index.php/Help:Autostart Openbox website].<br />
<br />
=== Per-application settings ===<br />
Openbox features per-application settings, allowing you to define rules for your programs. For example, you can:<br />
* load your web browser on a certain desktop<br />
* load your terminal without a window border<br />
* load your torrent client at a certain position on your screen<br />
<br />
These are defined in '''~/.config/openbox/rc.xml'''. As you might expect, the instructions are well-documented within the file itself. Full details can also be found here: http://icculus.org/openbox/index.php/Help:Applications<br />
<br />
=== Theming and Appearance ===<br />
With the exception of the Openbox Themes topic, the following section is intended for users who have configured Openbox to run as a standalone desktop, without the assistance of GNOME, KDE or Xfce.<br />
<br />
==== Openbox Themes ====<br />
Openbox themes control the appearance of window borders, including the titlebar and titlebar buttons. They also determine the appearance of the application menu and on-screen display (OSD). <br />
<br />
Additional themes are available from the standard repositories:<br />
<br />
# pacman -S openbox-themes<br />
<br />
This package is by no means definitive. You can download more themes at websites such as:<br />
*[http://www.box-look.org/index.php?xcontentmode=7402 box-look.org]<br />
*[http://customize.org/browse/tags/openbox customize.org]<br />
*http://www.minuslab.net/themes/<br />
*http://celo.wordpress.com/themes/<br />
*http://vault.openmonkey.com/pages/openbox<br />
*http://hewphoria.com/?p=submission&type=theme&cat=7<br />
<br />
Downloaded themes should be extracted to '''~/.themes''' and can be installed or selected with the [[Openbox#Preferences|ObConf]] tool.<br />
<br />
Creating new themes is fairly easy and again [http://icculus.org/openbox/index.php/Help:Themes well-documented].<br />
<br />
==== Desktop Wallpaper ====<br />
<br />
Openbox itself does not include a way to change the wallpaper. This can be done easily with programs like [[Feh]] or [[Nitrogen]]. Other options include ImageMagick, hsetroot and xsetbg.<br />
<br />
==== GTK Themes ====<br />
====== GTK2/GTK+ ======<br />
GTK+ themes can be managed easily with the ''[[LXDE | lxappearance]]'', ''gtk-chtheme'', or ''switch2'' utilities. To install, run:<br />
# pacman -S lxappearance<br />
and/or<br />
# pacman -S gtk-chtheme<br />
and/or<br />
# pacman -S gtk-theme-switch2<br />
<br />
Now you can simply run '''lxappearance''', '''gtk-chtheme''' or '''switch2''' to set the desired theme.<br />
<br />
====== GTK1 ======<br />
For legacy GTK1 themes, install the '''gtk-theme-switch''' package:<br />
# pacman -S gtk-theme-switch<br />
Then run '''''switch''''' to select a desired theme.<br />
<br />
==== GTK Fonts ====<br />
===== Manually edit the config file =====<br />
If you want to change the type and size of your fonts, add the following to '''~/.gtkrc.mine''':<br />
style "user-font"<br />
{<br />
font_name = "[font-name] [size]"<br />
}<br />
widget_class "*" style "user-font"<br />
gtk-font-name = "[font-name] [size]"<br />
<br />
where [font-name] [size] is the desired font and point size. For example:<br />
style "user-font"<br />
{<br />
font_name = "DejaVu Sans 8"<br />
}<br />
widget_class "*" style "user-font"<br />
gtk-font-name = "DejaVu Sans 8"<br />
<br />
Both <tt>font_name</tt> and <tt>gtk-font-name</tt> fields are required for backwards compatibility.<br />
===== Use GUI tools =====<br />
You can use '''gtk-chtheme''' or '''lxappearance''' to set GTK font settings. Please refer to the above section.<br />
<br />
==== GTK Icons ====<br />
First, extract the desired icon theme to '''/usr/share/icons''' (system-wide access) or '''~/.icons''' (local user access), then:<br />
===== Manually edit the config file =====<br />
Add the following to ~/.gtkrc.mine: <br />
gtk-icon-theme-name = "[name-of-icon-theme]"<br />
<br />
where [name-of-icon-theme] is the name of the icon theme directory. For example:<br />
gtk-icon-theme-name = "Tango"<br />
<br />
Ensure ~/.gtkrc-2.0 is configured to parse ~/.gtkrc.mine:<br />
<br />
# ~/.gtkrc-2.0<br />
# -- THEME AUTO-WRITTEN DO NOT EDIT<br />
include "/usr/share/themes/Rezlooks-Gilouche/gtk-2.0/gtkrc"<br />
include "/home/username/.gtkrc.mine"<br />
# -- THEME AUTO-WRITTEN DO NOT EDIT<br />
===== Use GUI tools =====<br />
You can use '''lxappearance''' to choose GTK icon themes. Please refer to the above section.<br />
<br />
==== Mouse cursor themes ====<br />
Extract the desired Xcursor theme to either '''/usr/share/icons''' (system-wide access) or '''~/.icons''' (local user access).<br />
<br />
Add this to ~/.Xdefaults:<br />
Xcursor.theme: [name-of-cursor-theme]<br />
where [name-of-cursor-theme] is the name of the cursor theme directory. For example:<br />
Xcursor.theme: Vanilla-DMZ-AA<br />
To change the size:<br />
Xcursor.size: [size]<br />
<br />
==== Desktop Icons ====<br />
Openbox does not provide a means to display icons on the desktop. PcmanFM, [http://rox.sourceforge.net ROX], [http://idesk.sourceforge.net iDesk], or even Nautilus (and the gnome-settings-daemon) can provide this function. <br />
<br />
ROX and PCmanFM have the additional advantage of being lightweight file managers.<br />
<br />
== Tips & Tricks ==<br />
=== Improve Fonts ===<br />
Improve the appearance of fonts for LCD monitors [http://wiki.archlinux.org/index.php/Fonts#Fonts_with_LCD_filter_enabled by following this guide.]<br />
<br />
Then, create ~/.fonts.conf and add:<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<match target="font" ><br />
<edit mode="assign" name="rgba" ><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font" ><br />
<edit mode="assign" name="hinting"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font" ><br />
<edit mode="assign" name="hintstyle"><br />
<const>hintfull</const><br />
</edit><br />
</match> <br />
</fontconfig><br />
<br />
<br />
=== Recommended Programs ===<br />
<br />
==== Login Managers ====<br />
[http://slim.berlios.de/ SLiM] provides a lightweight and elegant graphical login solution for standalone Openbox configurations. Refer to Arch's [[SLiM]] wiki for detailed instructions.<br />
<br />
[http://qingy.sourceforge.net/ Qingy] is ultralight and very configurable graphical login. It support login to both console and X Windows sessions. It uses [http://www.directfb.org DirectFB], therefore it does not start X Windows unless you choose X Windows session. See article about [[Qingy]] at Arch's wiki.<br />
<br />
==== Composite Desktop ====<br />
[[Xcompmgr]] is a lightweight composite manager capable of rendering drop shadows, fading and simple window transparency within Openbox and other window managers.<br />
<br />
==== Application Launchers ====<br />
===== dmenu =====<br />
Set-up dmenu as described in the [[dmenu]] wiki article. Then, add the following entry to the <keyboard> section '''~/.config/openbox/rc.xml''' to enable a shortcut to launch dmenu:<br />
<keybind key="W-space"><br />
<action name="Execute"><br />
<execute>dmenu_run</execute><br />
</action><br />
</keybind><br />
<br />
===== Gmrun =====<br />
[http://sourceforge.net/projects/gmrun gmrun] provides an excellent Run dialog box, similar to the Alt+F2 features found in Gnome and KDE:<br />
pacman -S gmrun<br />
Add the following entry to the <keyboard> section '''~/.config/openbox/rc.xml''' to enable Alt+F2 functionality:<br />
<keybind key="A-F2"><br />
<action name="execute"><execute>gmrun</execute></action><br />
</keybind><br />
<br />
===== Bashrun =====<br />
[http://bashrun.sourceforge.net bashrun] provides a different, barebones approach to a run dialog, using a specialized bash session within a small xterm window. It is available in the community repository and can be launched through the Alt+F2 style approach mentioned previously. To make bashrun act more like a traditional run dialog, add the following entry to the <applications> section '''~/.config/openbox/rc.xml''':<br />
<application name="bashrun"><br />
<desktop>all</desktop><br />
<decor>no</decor> # switch to yes if you prefer a bordered window<br />
<focus>yes</focus><br />
<skip_pager>yes</skip_pager><br />
<layer>above</layer><br />
</application><br />
<br />
===== Launchy =====<br />
[http://www.launchy.net/ Launchy] is a less minimalistic approach; it is skinnable and offers more functionality such as a calculator, checking the weather, etc. Originally for Windows, similar to Gnome Do.<br />
pacman -S launchy<br />
It is launched by Ctrl + Space key combination.<br />
<br />
===== LXPanel =====<br />
[http://www.gnomefiles.org/app.php/LXPanel LXPanel] If LXPanel is used as a taskbar manager, the run utility from the LXPanel menu can be executed with "lxpanelctl run".<br />
<br />
==== File managers ====<br />
<br />
There are many possibilities, but the most popular lightweight file managers are:<br />
* [http://thunar.xfce.org Thunar]. Thunar supports auto-mount features and other plugins. <br />
pacman -S thunar<br />
Thunar may be started in daemon mode for tighter desktop integration. For instance, inserting a USB pendrive will invoke a Thunar window to popup, with the drive contents listed in the window. <br />
<br />
To start Thunar in daemon mode, edit ~/.config/openbox/autostart.sh and add:<br />
thunar --daemon &<br />
<br />
* [http://rox.sourceforge.net ROX] (ROX provides desktop icons)<br />
pacman -S rox<br />
* [http://pcmanfm.sourceforge.net PCMan] (pcmanfm also provides desktop icons)<br />
pacman -S pcmanfm<br />
For even lighter options, consider [http://www.obsession.se/gentoo/ Gentoo] or [http://emelfm.sourceforge.net/ emelFM], both of which use the familiar 'Midnight Commander' two pane layout (these two require gtk 1.2.x).<br />
<br />
Of course, you can also use GNOME's Nautilus. Although slower than the above solutions, it has the additional advantage of VFS support (e.g. remote SSH, FTP and Samba connections).<br />
<br />
==== Clipboard Managers and copy/paste====<br />
You may wish to install a clipboard manager for feature rich copy/paste ability. '''xfce4-clipman-plugin, parcellite,''' or '''glipper-old''' may be installed via pacman. Add your choice to autostart.sh. From the terminal, Ctrl+Insert as copy and Shift+Insert as paste generally works as well. You may also copy from terminal with Ctrl+Shift+C, and paste with mouse middle click.<br />
==== Panels, Trays, and Pagers ====<br />
<br />
There are quite a lot of utilities available that provide a panel (taskbar), system tray, and pager to Openbox. The most common are:<br />
<br />
'''Panels'''<br />
* [http://wiki.archlinux.org/index.php/PyPanel PyPanel]<br />
* [http://nsf.110mb.com/bmpanel/ bmpanel]<br />
* [http://code.google.com/p/tint2/ Tint2]<br />
* [http://sourceforge.net/projects/lxpanel LXPanel]<br />
* [http://fbpanel.sourceforge.net fbpanel]<br />
* [http://perlpanel.org/ PerlPanel]<br />
* [http://www.chatjunkies.org/fspanel/ fspanel]<br />
* [http://www.xfce.org/projects/xfce4-panel/ xfce4-panel]<br />
* [http://developer.gnome.org/arch/gnome/corecomponents/panel/ gnome-panel]<br />
* [http://code.google.com/p/avant-window-navigator/ avant-window-navigator]<br />
* [http://developer.berlios.de/projects/cairo-dock/ cairo-dock]<br />
* [http://code.google.com/p/wbar/ wbar]<br />
<br />
'''Trays'''<br />
* [http://stalonetray.sourceforge.net/ Stalonetray]<br />
* [http://download.gna.org/fvwm-crystal/trayer/1.0/ Trayer]<br />
<br />
'''Pagers'''<br />
* [http://projects.l3ib.org/trac/visibility Visibility]<br />
* [http://bbtools.sourceforge.net/ bbpager]<br />
* [http://aur.archlinux.org/packages.php?ID=970 netwmpager]<br />
* [http://useperl.ru/ipager/index.en.html IPager]<br />
<br />
Make your choice and add it to your startup file.<br />
<br />
=== Get xprop values for per-app settings quickly ===<br />
If you use per-application settings frequently, you might find this bash alias handy:<br />
<br />
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'<br />
<br />
To use, run '''xp''' and click on the running program that you'd like to define with per-app settings. The result will display only the info that Openbox requires, namely the WM_WINDOW_ROLE and WM_CLASS (name and class) values:<br />
<br />
[thayer@dublin:~] $ xp<br />
WM_WINDOW_ROLE(STRING) = "roster"<br />
WM_CLASS(STRING) = "gajim.py", "Gajim.py"<br />
WM_CLASS(STRING) = "NAME", "CLASS"<br />
<br />
=== Firefox/Gran Paradiso application rules === <br />
For whatever reason, Firefox and its open source equivalents will ignore application rules (e.g. <desktop>) unless '''<code>class="Firefox*"</code>''' is used, regardless of what xprop reports as the actual WM_CLASS values.<br />
<br />
=== Linking the menu to a command ===<br />
Some people would want to link the Openbox main menu, or any other, to a command. This is useful for creating a menu button in a panel, for example. Although Openbox doesn't support this, a very simple script , xdotool, can simulate a keypress by running a command. Xdotool is [http://aur.archlinux.org/packages.php?do_Details=1&ID=14789&O=0&L=0&C=0&K=xdotool&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd available on AUR]. To use it, simply add the following code to the <keyboard> section of your rc.xml:<br />
<keybind key="A-C-q"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
Restart/reconfigure Openbox. You can now magically summon your menu at your cursor position by running the following command:<br />
# xdotool key ctrl+alt+q<br />
Of course, you can change the shortcut to your liking.<br />
<br />
=== Urxvt in the background === <br />
With Openbox, running a terminal as desktop background is easy. You won't need '''devilspie''' here.<br />
<br />
First you must enable transparency, open your '''.Xdefaults''' file (if it doesn't exist yet, create it in your home folder).<br />
URxvt*transparent:true<br />
URxvt*scrollBar:false<br />
URxvt*geometry:124x24 #I don't use the whole screen, if you want a full screen term don't bother with this and see below.<br />
URxvt*borderLess:true<br />
URxvt*foreground:Black #Font color. My wallpaper is White, you may wish to change this to White.<br />
<br />
Then edit your '''.config/openbox/rc.xml''' file :<br />
<application name="urxvt"><br />
<decor>no</decor><br />
<focus>yes</focus><br />
<position><br />
<x>center</x><br />
<y>20</y><br />
</position><br />
<layer>below</layer><br />
<desktop>all</desktop><br />
<maximized>true</maximized> #Only if you want a full size terminal.<br />
</application><br />
<br />
The ''magic'' comes from the '''<layer>below</layer>''' line, which place the application under all others. Here Urxvt is displayed on all desktops, change it to your convenience.<br />
<br />
== Additional Resources ==<br />
* [http://icculus.org/openbox/ Openbox Website] - The official website<br />
* [http://planetob.openmonkey.com/ Planet Openbox] - Openbox news portal<br />
* [http://www.box-look.org/ Box-Look.org] - A good resource for themes and related artwork</div>Stabelehttps://wiki.archlinux.org/index.php?title=Qingy&diff=65983Qingy2009-03-30T12:36:56Z<p>Stabele: typo</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|Qingy}}<br />
{{i18n_entry|Türkçe|Qingy (Türkçe)}}<br />
{{i18n_links_end}}<br />
[[Category:Boot process (English)]]<br />
[[Category:Display managers (English)]]<br />
[[Category:Eye candy (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
==What is qingy?==<br />
<br />
[http://qingy.sourceforge.net/ Qingy] is a replacement for getty, using [http://www.directfb.org DirectFB] to provide a fast, nice GUI without the overhead of the X Window System. It allows users to log in and start the session of their choice (text console, gnome, kde, wmaker, etc.). Running several X sessions is also possible.<br />
<br />
==How to get qingy?==<br />
<br />
A package is available in the [community] repo. To install:<br />
# pacman -S qingy <br />
<br />
Several extra themes are also available. In [community] repo, there is an Arch specific theme:<br />
# pacman -S qingy-theme-arch<br />
<br />
A package of several various themes is available in AUR:<br />
<br />
*[http://aur.archlinux.org/packages.php?do_Details=1&ID=5501 qingy-themes]<br />
<br />
==How to setup qingy?==<br />
To use qingy, you'll need to edit /etc/inittab.<br />
<br />
Replace:<br />
c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux<br />
c2:2345:respawn:/sbin/agetty -8 38400 vc/2 linux<br />
c3:2345:respawn:/sbin/agetty -8 38400 vc/3 linux<br />
c4:2345:respawn:/sbin/agetty -8 38400 vc/4 linux<br />
c5:2345:respawn:/sbin/agetty -8 38400 vc/5 linux<br />
c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux<br />
<br />
by:<br />
c1:2345:respawn:/sbin/qingy tty1<br />
c2:2345:respawn:/sbin/qingy tty2<br />
c3:2345:respawn:/sbin/qingy tty3<br />
c4:2345:respawn:/sbin/qingy tty4<br />
c5:2345:respawn:/sbin/qingy tty5<br />
c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux<br />
<br />
Qingy's author suggest to keep agetty on a console (here on console 6) as a safety measure as qingy is still beta software.<br />
<br />
Because qingy uses tty0-9 insead of vc/1-6 so you need add tty to /etc/securetty : <br />
#<br />
# /etc/securetty<br />
#<br />
console<br />
vc/1<br />
vc/2<br />
vc/3<br />
vc/4<br />
vc/5<br />
vc/6<br />
tty0<br />
tty1<br />
tty2<br />
tty3<br />
tty4<br />
tty5<br />
tty6<br />
tty7<br />
<br />
==Having problems with your Synaptics touchpad?==<br />
Qingy (and quite possibly other DirectFB applicationss) has some issues using Synaptics touchpad. This can be solved by adding:<br />
disable-module=linux_input<br />
to /etc/directfbrc. If the file does not exist, create it. This will enable you to use your touchpad, however some extra functionality like tapping or tap-dragging might not work.</div>Stabelehttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=65982List of applications2009-03-30T12:34:21Z<p>Stabele: changing description of Openbox WM from "medium weight" to "lightweight"</p>
<hr />
<div>[[Category:Software (English)]]<br />
'''This list is purely a point of reference for people looking for software to fill a particular need. No flame wars.'''<br />
<br />
'''NOTE: This will likely get big. So please try to keep entries alphabetically organized'''<br />
= [[Backup_programs|Backup]] =<br />
* [[dar]] -A full featured command-line backup tool, short for Disk ARchive [http://dar.linux.free.fr/ Home Site] [http://aur.archlinux.org/packages.php?ID=1612 Package]<br />
* [[duplicity]] - A utility for encrypted, bandwidth-efficient backups using the rsync algorithm [http://www.nongnu.org/duplicity/ Home Site] [http://aur.archlinux.org/packages.php?ID=5881 Package]<br />
* [[packrat]] - A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3 [http://www.zeroflux.org/projects/ Home Site] [http://aur.archlinux.org/packages.php?ID=21951 Package]<br />
* [[rdiff-backup]] - A utility for local/remote mirroring and incremental backups [http://www.nongnu.org/rdiff-backup/ Home Site] [http://aur.archlinux.org/packages.php?ID=172 Package]<br />
* [[rsnapshot]] - A remote filesystem snapshot utility [http://www.rsnapshot.org Home Site] [http://aur.archlinux.org/packages.php?ID=3070 Package]<br />
* [[rsync]] - A file transfer program to keep remote files in sync [http://samba.anu.edu.au/rsync/ Home Site] [http://www.archlinux.org/packages/extra/i686/rsync/ Package]<br />
* [[safekeep]] - A client/server backup system which enhances the power of rdiff-backup [http://safekeep.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=16463 Package]<br />
<br />
= Internet =<br />
== BitTorrent Clients ==<br />
* [http://aria2.sourceforge.net/ aria2] - Fast command line downloader with support for multiple protocols, including BitTorrent <br />
* [http://deluge-torrent.org/ Deluge] - BitTorrent client written in Python and wrapped with PyGTK <br />
* [http://ktorrent.org/ Ktorrent] - Feature-rich BitTorrent client developed using Qt <br />
* [http://libtorrent.rakshasa.no/ rTorrent] - Simple and lightweight ncurses BitTorrent client for text-based console. <br />
* [http://www.transmissionbt.com/ Transmission] - Simple and easy BitTorrent client (GTK+ GUI and CLI) <br />
* [http://azureus.sourceforge.net/ Vuze] - Feature-rich BitTorrent client written in Java <br />
* [http://mldonkey.sourceforge.net/Main_Page MLDonkey] - Multi protocol p2p client suporting BitTorrent <br />
[http://en.wikipedia.org/wiki/BitTorrent_client#Operating_system_support List of BitTorrent Clients]<br />
<br />
== Chat Clients ==<br />
=== IRC Clients ===<br />
* [[Irssi]] - ncurses IRC client - http://www.irssi.org/<br />
* [[Weechat]] - ncurses IRC client<br />
* [[Xchat]] - http://www.xchat.org/<br />
<br />
=== Jabber/XMPP Clients ===<br />
* [[freetalk]] - Freetalk is a CLI Jabber client. Freetalk is extensible, configurable, and scriptable through a Guile interface. <br />
* [[gajim]] - A GTK2 Jabber/XMPP client, light and feature-rich<br />
* [[jabber.el]] - jabber.el is a Jabber client for Emacs.<br />
* [[mcabber]] A curses xmpp client<br />
* [[psi]] - A Qt Jabber/XMPP client<br />
<br />
=== MSN Clients ===<br />
* [[aMsn]] - A tcl/tk MSN Client. http://www.amsn-project.net/<br />
* [[Emesene]] - A GTK2 MSN Client. http://emesene.org/<br />
* [[Galaxium Messenger]] - A Mono MSN Client. http://code.google.com/p/galaxium/<br />
* [[Kmess]] - A KDE MSN Client. http://kmess.org/<br />
* [[Mercury]] - A Java MSN Client. http://www.mercury.im/<br />
<br />
=== Multi-Protocol Clients ===<br />
* [http://aur.archlinux.org/packages.php?ID=22543 BarnOwl] - A console chat client for the AIM, IRC, Jabber, and Zephyr protocols http://barnowl.mit.edu/<br />
* [[Carrier/Funpidgin]] - fork of Pidgin with many improvements and more user-oriented developers http://funpidgin.sourceforge.net <br />
* [[CenterIM]] - An ncurses client with support for ICQ, Yahoo!, AIM, MSN, IRC, Jabber, LiveJournal, and Gadu-Gadu<br />
* [[Finch]] - An ncurses version of Pidgin<br />
* [[Kopete]] - A Kde multi-protocol IM client<br />
* [[Pidgin]] - A GTK2 multi-protocol IM client<br />
* [[qutim]] - a Qt multiprotocol client that resembles the look'n'feel of the QIP program. http://qutim.org<br />
<br />
[http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients List of Instant Messaging Clients]<br />
<br />
== Mail Clients ==<br />
* [[Alpine]] The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages) http://www.washington.edu/alpine<br />
* [[Claws-mail]] - A GTK+ based e-mail client http://www.claws-mail.org<br />
* [[Evolution]] - A mature and feature-rich e-mail client used in GNOME by default.<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[mutt]] - The famous, mature old command-line client http://www.mutt.org/<br />
* [[Sylpheed]] - Lightweight and user-friendly e-mail client http://sylpheed.sraoss.jp/en/<br />
* [[Thunderbird]] - Mozilla's GTK2-based client.<br />
<br />
== News Aggregators ==<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[Canto]] - A ncurses RSS aggregator http://codezen.org/canto/<br />
* [[Gnus]] - mail, nntp, rss client for Emacs.<br />
* [[Liferea]] - A GTK desktop news aggregator for online news feeds and weblogs http://liferea.sourceforge.net<br />
* [http://aur.archlinux.org/packages.php?ID=11369 Rawdog] - An "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order http://offog.org/code/rawdog.html<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
* [[Snownews]] - Text mode RSS newsreader.<br />
<br />
== Web Browsers ==<br />
=== Graphical ===<br />
* [[Arora]] - Cross-platform open source web browser using the [http://webkit.org/ WebKit] rendering engine, built on top of Qt. http://www.arora-browser.org/<br />
* [[Dillo]] - A small, fast graphical web browser built on FLTK http://www.dillo.org/<br />
* [[Epiphany]] - A GNOME reworking of Firefox, really. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering ([http://www.mozilla.com/firefox/all-beta.html 3.1b2]) http://www.mozilla.com/firefox/<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* [[Midori]] - Young but promising GTK2/WebKit browser, featherweight with very fast rendering http://www.twotoasts.de/index.php?/pages/midori_summary.html<br />
* [[Opera]] - Highly customizable browser with focuses on usability and an adherence to web rendering standards http://www.opera.com/<br />
<br />
=== Text Based ===<br />
* [[Elinks]] - An advanced and well-established feature-rich text mode web browser. http://elinks.or.cz<br />
* [[links-g]] A text WWW browser, similar to Lynx, with framebuffer and X graphics enabled http://links.twibright.com/<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
== Document Indexers ==<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
== Document Readers ==<br />
*[[ePDFView ]] - A free lightweight PDF document viewer using Poppler and GTK+ libraries. http://trac.emma-soft.com/epdfview/<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[http://aur.archlinux.org/packages.php?ID=23344 Foxit Reader] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*[[Okular]] - PDF viewer for KDE. http://okular.kde.org/<br />
*[[xpdf]] - A viewer for Portable Document Format (PDF) files http://www.foolabs.com/xpdf/<br />
<br />
== Multimedia ==<br />
=== Audio ===<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [[Ario]] - A GTK client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [[aTunes]] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [[Banshee]] - yet another GTK iTunes clone, yet more feature-rich and more actively developed.<br />
* [[Cmus]] is a very feature-rich ncurses-based music player.<br />
* [[Cplay]] is a curses front-end for various audio players.<br />
* [[Exaile]] - A GTK clone of Amarok<br />
* [[Goggles Music Manager]] - A lightweight music manager and player that automatically categorizes your music files.<br />
* [[moc]] - A ncurses-based daemon/client style player, designed to be flexible and easy to use. http://moc.daper.net/<br />
* [[MPD]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [[mpg123]] - command line audio player.<br />
* [[ncmpc]] - An ncurses-based front-end to mpd<br />
* [[ncmpcpp]] - A clone of ncmpc with some new features written in C++ http://unkart.ovh.org/ncmpcpp/ (in [http://aur.archlinux.org/packages.php?K=ncmpcpp&start=0&PP=100 AUR])<br />
* [http://aur.archlinux.org/packages.php?ID=21461 PyTone] - An advanced music jukebox with a console interface http://www.luga.de/pytone/<br />
* [[Quod Libet]] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK clone of iTunes, used by default in GNOME<br />
* [[Sonata]] - A Python-based front-end to mpd<br />
* [[Songbird]] - an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP http://getsongbird.com/<br />
* [[XMMS]] - A skinnable GTK+1 standalone media player similar to winamp<br />
==== Visualization ====<br />
* [[projectM]] - OpenGL music visualizer for 3D accelerated graphic cards http://projectm.sourceforge.net/<br />
<br />
=== Editing ===<br />
* [[Audacity]] - A sound recorder and editor<br />
<br />
=== Graphics and Image Manipulation ===<br />
* [[Blender]] - A fully integrated 3D graphics creation suite http://blender3d.org<br />
* [[Dia]] - DIAgram editor http://www.gnome.org/projects/dia<br />
* [[Gimp]] - GNU Image Manipulation Program http://www.gimp.org<br />
* [[imagemagick]] - An image viewing/manipulation program http://www.imagemagick.org/<br />
* [[Inkscape]] - A vector-based drawing program - svg compliant http://inkscape.sourceforge.net<br />
* [[mtpaint]] - A simple GTK2 painting program designed for creating icons and pixel based artwork. http://mtpaint.sourceforge.net<br />
* [[Xara]] - An advanced vector graphics program, development release http://www.xaraxtreme.org<br />
<br />
=== Image Viewers ===<br />
* [http://s01.de/~gottox/index.cgi/proj_bgs bgs] - Back Ground Setter (bgs) is a lightweight background setter. <br />
* [[eog]] - "Eye of Gnome" image viewer<br />
* [[feh]] - Command-line based, can be used for slideshows, quick viewing, and setting wallpaper<br />
* [[gpicview]] - Picture viewer of the LXDE Desktop http://lxde.org/<br />
* [[geeqie]] - Lightweight, speedy fork of gqview http://geeqie.sourceforge.net/<br />
* [[gqview]] - A stand-alone GTK2 image viewer<br />
* [[gThumb]] - Image browser and viewer for the GNOME Desktop<br />
* [[Mirage]] - light and extensible GTK+ image viewer http://mirageiv.berlios.de/<br />
* [[qiv]] - Quick Image Viewer (qiv) is a very small and fast GDK/Imlib image viewer http://www.klografx.net/qiv/<br />
* [[Ristretto]] - Fast and lightweight viewer, often installed as part of the Xfce desktop environment<br />
* [[XnView MP]] - Extensible port of the complete and customizeable XnView. Currently under development http://newsgroup.xnview.com/viewforum.php?f=60<br />
*[[xv]] - xv is a nice image viewer [http://www.trilon.com/xv/ Home Site] [http://aur.archlinux.org/packages.php?ID=9015 Package]<br />
<br />
=== Phone ===<br />
* [[moto4lin]] - Motorola P2K telephone manager built on Qt3 http://moto4lin.sourceforge.net/<br />
<br />
=== Video ===<br />
* [[mplayer]] - A "Swiss army knife" of sorts for media playing on Linux<br />
* [[VLC]] - A simple multi-platform media player, streamer, and encoder, that handles huge numbers of media formats.<br />
* [[SMPlayer]] is a complete frontend for [[MPlayer]].<br />
* [[Whaaw! Media Player]] is a lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who don't like all those GNOME dependencies. http://home.gna.org/whaawmp/<br />
<br />
== Note Taking Organizers ==<br />
* [[hnb]] - A program to organize many kinds of data in one place. [http://hnb.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home Site]<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home Site]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home Site]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [[http://zim-wiki.org/ Home Site]<br />
<br />
== Office ==<br />
=== Suites ===<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
=== Word Processors ===<br />
* [[Abiword]] - A lightweight fast word processor http://www.abisource.com/<br />
* [[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
=== Spreadsheets ===<br />
* [[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
* [[OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
== Security ==<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[denyhosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
== Time Management ==<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home Site]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clay.ll.pl/osmo/ Home Site]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home Site]<br />
* [[Remind]] - A sophisticated calendar and alarm progam [http://www.roaringpenguin.com/penguin/open_source_remind.php Home Site]<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home Site]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home Site]<br />
* [[Wyrd]] - A text-based front-end to Remind. [http://pessimization.com/software/wyrd/ Home Site]<br />
<br />
== Utilities ==<br />
=== Arch Package Management ===<br />
See also [[Comparison of AUR frontends]]. <br />
* [[Aurnotify]] - Displays the latest updated packages from Arch Linux User Repository. http://adesklets.sourceforge.net/desklets.html<br />
* [http://husio.homelinux.com/static/aurshell/ Aurshell] - A program wherein a number of commands exist, such as '''aur search <query>'''<br />
* [http://ghost1227.com/downloads?func=fileinfo&id=4 Makeaur] - A simple shell script designed to expedite the AUR installation process <br />
* [http://xyne.archlinux.ca/info/powerpill Powerpill] - A wrapper and download accelerator for Pacman that works with other wrappers<br />
* [[TuPac]] - A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...<br />
* [[Yaourt]] - Usage identical to Pacman, with support for core, extra, community, and unsupported repositories<br />
<br />
===Clipboard Managers===<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager.<br />
<br />
=== Compression Tools ===<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[Squeeze]] - A featherweight front-end for command line archiving tools. Passworded archives are currently unsupported. http://squeeze.xfce.org/<br />
* [[XArchive]] - A GTK+ front-end for command line archiving tools.<br />
* [[Xarchiver]] - A lightweight, desktop independent front-end for command line archiving tools built with GTK2. http://xarchiver.xfce.org/<br />
* [[File Roller]] The default archive manager for GNOME.<br />
<br />
=== File Managers ===<br />
* [[emelFM2]] - File manager that implements a three-pane design http://emelfm2.net<br />
* [[Krusader]] - Advanced twin panel (commander style) file manager for KDE http://www.krusader.org/<br />
* [[Midnight Commander]] - Terminal filemanager/shell that emulates Norton Commander http://www.midnight-commander.org/<br />
* [[Nautilus]] - Extensible, heavyweight file manager used by default in GNOME with support for custom scripts http://projects.gnome.org/nautilus/<br />
* [[PCMan File Manager]] - Part of the standard [[LXDE]] DE, a small and efficient graphical file manager http://pcmanfm.sourceforge.net/<br />
* [[ROX-Filer]] - Small and fast file manager which can optionally manage desktop backgrounds and panels http://roscidus.com/desktop/ROX-Filer<br />
* [[Thunar]] - [http://goodies.xfce.org/projects/thunar-plugins/start Extensible], medium weight file manager used by default in Xfce with support for plugins http://www.xfce.org/projects/thunar/<br />
* [[Vifm]] - Ncurses based file manager with vi-like keybindings http://vifm.sourceforge.net/<br />
* [[Xfe]] - Small and very fast Commander like file manager http://roland65.free.fr/xfe/<br />
<br />
=== Panels ===<br />
* [[fbpanel]] Lightweight, NETWM compliant desktop panel. [http://fbpanel.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=5255 Package]<br />
* [[LXPanel]] Lightweight X11 desktop panel and part of the LXDE DE. [http://lxde.org/ Home Site] [http://aur.archlinux.org/packages.php?ID=17813 Package]<br />
* [[PyPanel]] Lightweight panel/taskbar written in Python and C. [http://pypanel.sourceforge.net/ Home Site] [http://aur.archlinux.org/packages.php?ID=9118 Package]<br />
* [[Tint]] Simple panel/taskbar developed specifically for Openbox. [http://code.google.com/p/tint2/ Home Site] [http://aur.archlinux.org/packages.php?ID=17082 Package]<br />
* [[BMPanel]] Lightweight, NETWM compliant desktop panel. [http://nsf.110mb.com/bmpanel/ Home Site] [http://aur.archlinux.org/packages.php?ID=15165 Package]<br />
<br />
=== System Monitoring ===<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*[[conky]] - advanced, highly configurable system monitor for X based on torsmo http://conky.sourceforge.net/<br />
*[[gkrellm]] - System monitor package for GTK2 http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
<br />
=== Terminals ===<br />
* [[Aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/ <br />
* [[Gnome-Terminal]] - GNOME default (standalone) terminal with support for Unicode and pseudo-transparency<br />
* [[Konsole]] - KDE's default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* [[Lilyterm]] — Lightweight and plain terminal emulator<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
* [[roxterm]] - Tabbed, VTE-based terminal emulator http://roxterm.sourceforge.net/<br />
* [[rxvt-unicode]] (or urxvt) - A small, fast and customizable terminal which uses ~/.Xdefaults http://software.schmorp.de/pkg/rxvt-unicode.html<br />
* [[sakura]] - terminal emulator based on GTK and VTE. http://www.pleyades.net/david/sakura.php<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[xterm]] - The default of defaults, requires only X<br />
* [[Terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/<br />
<br />
=== Text Editors ===<br />
* [[Beaver]] - Early AdVanced EditoR.<br />
* [[Bluefish]] - GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins http://bluefish.openoffice.nl/<br />
* [[Cssed]] - GTK2 based Cascading Style Sheets (CSS) editor http://cssed.sourceforge.net/<br />
* [[Emacs]] - The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons <br />
* [[Geany]] is a text editor using the GTK2 toolkit with basic features of an integrated development environment.<br />
* [[Gedit]] - Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality<br />
* [[Kate]] (a part of the KDE desktop)<br />
* [[KWrite]] (a part of the KDE desktop)<br />
* [[LeafPad]] - GTK+ based simple text editor http://tarot.freeshell.org/leafpad/<br />
* [[medit]] is intended to be a useful programming and around-programming text editor.<br />
* [[Mousepad]] - Lightweight text editor with support for word wrapping, line numbering and printing http://www.xfce.org/projects/mousepad/<br />
* [[Nano]] - A console based editor, similar to vim with a more intuitive interface, a good choice for newbies and casual users.<br />
* [[Scite]] - A generally useful editor with facilities for building and running programs http://www.scintilla.org/SciTE.html<br />
* [[Vim]] - "Vi improved," its many shortcuts and utilities may take a while to master but are a huge asset to programmers<br />
<br />
=== Trays ===<br />
* [[Docker]] is a docking application which acts as a system tray.<br />
* [[Stalonetray]] is a stand-alone system tray.<br />
* [[Trayer]] swallows GTK 1.2/2.x application docklets, and KDE docklets.<br />
<br />
== Desktop Environments (DE) ==<br />
* [[GNOME]] - Heavyweight DE that focuses on usability by offering simple controls and options http://www.gnome.org/<br />
* [[KDE]] - Heavyweight DE that focuses on customizeable options and integrated applications http://www.kde.org/<br />
* [[LXDE]] - Fully modular, lightweight DE based on Openbox offered with a suite of lightweight tools http://www.lxde.org/<br />
* [[ROX Desktop]] - Lightweight DE with excellent drag-and-drop support http://roscidus.com/desktop/<br />
* [[Xfce]] - Partially modular, medium weight DE which attempts to emulate the usability of GNOME http://www.xfce.org/<br />
<br />
== Window Managers (WM) ==<br />
=== Stacking Window Managers ===<br />
* [[Compiz]] - Compositing WM, similar to GNOME's Metacity http://freedesktop.org/wiki/Software/Compiz<br />
* [[Enlightenment]] - WM which attempts to provide minimal DE features with a native image viewer and file manager, amongst others http://www.enlightenment.org/<br />
* [[Fluxbox]] - Lightweight, easily configurable WM with support for panels and a tabbed interface http://www.fluxbox.org<br />
* [[JWM]] - Simple, stable and featherweight WM with native support for panels and buttons. XML-based configuration http://joewing.net/programs/jwm/<br />
* [[Openbox]] - Lightweight WM with numerous customization options and a mature code base. XML-based configuration http://icculus.org/openbox<br />
* [[pekwm]] - Lightweight, themeable WM configured with an intuitive Perl-like syntax http://pekwm.org/projects/pekwm<br />
* [[Sawfish]] - Medium weight WM, formerly the default WM in GNOME (subsequently substituted by Metacity) http://sawfish.wikia.com<br />
<br />
=== Tiling Window Managers ===<br />
Window managers that tile work by partitioning off areas of the screen and are designed to maximize the usage of the screen without forcing the user to muck around with window positions and frames. See also [[Comparison of Tiling Window Managers]].<br />
* [[awesome]]<br />
* [[dwm]]<br />
* [[Ion3]]<br />
* [[ratpoison]]<br />
* [[scrotwm]]<br />
* [[Stumpwm]]<br />
* [[wmii]]<br />
* [[Xmonad]]<br />
* [[Musca]]<br />
<br />
== Additional Resources ==<br />
*[http://en.gentoo-wiki.com/wiki/Lightweight_package_selection_using_Xfce_(also_suitable_for_office_usage)|Lightweight Package Selection for Xfce (Gentoo)]<br />
*[http://wiki.xfce.org/recommendedapps Xfce Suggested Applications]</div>Stabelehttps://wiki.archlinux.org/index.php?title=Qingy&diff=65951Qingy2009-03-29T17:17:22Z<p>Stabele: adding /etc/securetty modification (not my idea, from arch forum by user syamajala)</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|Qingy}}<br />
{{i18n_entry|Türkçe|Qingy (Türkçe)}}<br />
{{i18n_links_end}}<br />
[[Category:Boot process (English)]]<br />
[[Category:Display managers (English)]]<br />
[[Category:Eye candy (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
==What is qingy?==<br />
<br />
[http://qingy.sourceforge.net/ Qingy] is a replacement for getty, using [http://www.directfb.org DirectFB] to provide a fast, nice GUI without the overhead of the X Window System. It allows users to log in and start the session of their choice (text console, gnome, kde, wmaker, etc.). Running several X sessions is also possible.<br />
<br />
==How to get qingy?==<br />
<br />
A package is available in the [community] repo. To install:<br />
# pacman -S qingy <br />
<br />
Several extra themes are also available. In [community] repo, there is an Arch specific theme:<br />
# pacman -S qingy-theme-arch<br />
<br />
A package of several various themes is available in AUR:<br />
<br />
*[http://aur.archlinux.org/packages.php?do_Details=1&ID=5501 qingy-themes]<br />
<br />
==How to setup qingy?==<br />
To use qingy, you'll need to edit /etc/inittab.<br />
<br />
Replace:<br />
c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux<br />
c2:2345:respawn:/sbin/agetty -8 38400 vc/2 linux<br />
c3:2345:respawn:/sbin/agetty -8 38400 vc/3 linux<br />
c4:2345:respawn:/sbin/agetty -8 38400 vc/4 linux<br />
c5:2345:respawn:/sbin/agetty -8 38400 vc/5 linux<br />
c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux<br />
<br />
by:<br />
c1:2345:respawn:/sbin/qingy tty1<br />
c2:2345:respawn:/sbin/qingy tty2<br />
c3:2345:respawn:/sbin/qingy tty3<br />
c4:2345:respawn:/sbin/qingy tty4<br />
c5:2345:respawn:/sbin/qingy tty5<br />
c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux<br />
<br />
Qingy's author suggest to keep agetty on a console (here on console 6) as a safety measure as qingy is still beta software.<br />
<br />
Because qingy uses tty0-9 insead of vc/1-6 you need add tty to /etc/securetty : <br />
#<br />
# /etc/securetty<br />
#<br />
console<br />
vc/1<br />
vc/2<br />
vc/3<br />
vc/4<br />
vc/5<br />
vc/6<br />
tty0<br />
tty1<br />
tty2<br />
tty3<br />
tty4<br />
tty5<br />
tty6<br />
tty7<br />
<br />
==Having problems with your Synaptics touchpad?==<br />
Qingy (and quite possibly other DirectFB applicationss) has some issues using Synaptics touchpad. This can be solved by adding:<br />
disable-module=linux_input<br />
to /etc/directfbrc. If the file does not exist, create it. This will enable you to use your touchpad, however some extra functionality like tapping or tap-dragging might not work.</div>Stabele