https://wiki.archlinux.org/api.php?action=feedcontributions&user=Keiichi&feedformat=atom
ArchWiki - User contributions [en]
2024-03-28T19:02:01Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Talk:Beginners%27_guide&diff=86666
Talk:Beginners' guide
2009-12-06T22:26:34Z
<p>Keiichi: Undo revision 86653 by KitchM (Talk) I didn't see him edit your text, why the dog fight? I think what he's saying has some merit.</p>
<hr />
<div>#The Beginners Guide now redirects to Beginners' Guide.<br />
#A version bump in mediawiki has rectified the former apostrophe bug which rendered the page useless.<br />
#Please make all editing suggestions here.<br />
#Please keep discussions civil and productive.<br />
<br />
Thanks.<br />
[[User:Misfit138|Misfit138]] 15:23, 22 October 2009 (EDT)<br />
<br />
==Suggestions==<br />
<br />
===Actual experience===<br />
The following is my experience for following this guide through, until the very end where I have LXDE set up. I used the 2009.08 core iso to install.<br />
#The section 2.9.1 states that we will be prompted for configuring initramfs. This is not true anymore. System Configuration will simply present us with the menu listing all the config files for us to select and edit. The first being /etc/rc.conf. Maybe merge the info in this section into 2.9.4 (/etc/mkinitcpio.conf)?<br />
#In 2.9.3 (fstab), my initial fstab does not use UUIDs for my disks, it uses /dev/sda1, /dev/sdb1, etc. directly. Perhaps mention (for beginner's sake) that we could do '/sbin/blkid >> /etc/fstab' to get the UUIDs into the file for easy edits?<br />
#In 3.5 (install sudo), doing 'pacman -S sudo vim' at that stage will result in the 'vim: /usr/bin/rview exists in filesystem' error and pacman exits without installation. Maybe mention that we can simply 'rm /usr/bin/{view,rview}' before pacman? (Reference: http://www.archlinux.org/news/445/)<br />
#In 4.3.3.2 (perform the X test), we can in fact just type 'exit' in xterm to shut down X and return to our prompt.<br />
#In 5.3.4 (LXDE), we must also install garmin, which will ask to remove FAM. Else when we enter LXDE, an error message will pop up asking us to make sure one of the two is running. <br />
#Note: I did not read any wireless sections, as I don't need it (and I have dhcp upstream). Also, I have not progressed into the Appendix.<br />
Apart from the above, this guide is perfect! Everything works as written. (Except the 2009.08-netinstall has a faulty version of pacman and will segfault during package downloads. That's why I used the core iso, but this will be a non-issue when the next iso is out.)<br />
[[User:Claestw|Claestw]] 21:22, 24 October 2009 (EDT)<br />
<br />
===About 2.9.3 - /etc/fstab===<br />
*I think the possibility of using tmpfs for /tmp should at least be mentioned and possibly even encouraged.<br />
*Only the noatime option is mentioned, what about its big brother nodiratime and its safer cousin relatime ? Maybe a note about that in the Arch installer-generated /etc/fstab would be good too. See http://kerneltrap.org/node/14148 for details.<br />
[[User:Changaco|Changaco]] 08:13, 25 October 2009 (EDT)<br />
<br />
===Add group scanner to group list===<br />
*I think it would be good to add this group in the useradd part of the guide, as it is one that would be commonly needed. [[User:Kyo|Kyo]] 11:07, 27 October 2009 (EDT)<br />
<br />
===inittab===<br />
I would add the inittab method not only as a note on the kde guide, but also gnome and the others as it's generally preferred. [[User:Kyo|Kyo]] 11:22, 30 October 2009 (EDT)<br />
<br />
:I disagree. Adding a login manager to rc.conf is simpler and more in line with the the other configuration steps that you are going through during your first time install.<br />
<br />
::I agree with ^. [[User:Manolo|manolo]] 10:49, 13 November 2009 (EST)<br />
<br />
===/boot on primary partition ===<br />
There were a couple of forum threads were people couldn't boot because /boot wasn't on a primary partition. I suggest to recommend putting /boot on a primary partition, with a disclaimer that it is not necessary if you know what you are doing. Explaining when it would not be necessary would be tool complicated at this point.<br />
<br />
===Clarifying 2.9.10 (pacman mirrorlist)===<br />
Specifying the pacman mirror list is slightly confusing. There are two files that show up in the list to edit (pacman.conf and mirrorlist). All the other files are given explicitly with more detail than setting up the mirror list.<br />
: Changing the mirrorlist at install time does not make sense. That is best done after the install. Setting up the mirrorslist, is explained in [[Mirrors]] with a section/link in [[Post Installation Tips#Mirrors]]. -- [[User:M l|M l]] 11:07, 25 November 2009 (EST)<br />
<br />
=== The Don't Panic Section ===<br />
<br />
This section needs to be expanded so as to explain why we shouldn't panic and how not to. It appears to need a more encouraging tone and a clear reasoning, otherwise the whole point of the title and the words used won't make any sense to a lot of readers. - [[User:KitchM|KitchM]] 14:23, 30 November 2009 (EST)<br />
<br />
===UNIX-like overdo===<br />
UNIX-like has 8 mentions in the whole article--this is a little too much. Also, UNIX isn't a technical term, so it does not need the <nowiki><tt></nowiki> tags. [[User:Time|Time]] 04:07, 6 December 2009 (EST)</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_vs_Others&diff=86580
Arch vs Others
2009-12-06T06:46:06Z
<p>Keiichi: Redirected page to Arch Compared to Other Distributions</p>
<hr />
<div>#REDIRECT [[Arch Compared to Other Distributions]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_Compared_To_Other_Distros&diff=86579
Arch Compared To Other Distros
2009-12-06T06:46:04Z
<p>Keiichi: Redirected page to Arch Compared to Other Distributions</p>
<hr />
<div>#REDIRECT [[Arch Compared to Other Distributions]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:Arch_Compared_To_Other_Distributions&diff=86578
Talk:Arch Compared To Other Distributions
2009-12-06T06:45:10Z
<p>Keiichi: moved Talk:Arch Compared To Other Distributions to Talk:Arch Compared to Other Distributions:&#32;As per the discussion, I'm moving it.</p>
<hr />
<div>#REDIRECT [[Talk:Arch Compared to Other Distributions]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:Arch_compared_to_other_distributions&diff=86577
Talk:Arch compared to other distributions
2009-12-06T06:45:10Z
<p>Keiichi: moved Talk:Arch Compared To Other Distributions to Talk:Arch Compared to Other Distributions:&#32;As per the discussion, I'm moving it.</p>
<hr />
<div>== Suggestions ==<br />
<br />
===Title===<br />
<br />
Should be ''Arch Compared '''t'''o Other Distributions''. [[User:Time|Time]] 22:08, 5 December 2009 (EST)<br />
<br />
: Agreed, proper name for a title.<br />
: --[[User:Gen2ly|Gen2ly]] 22:46, 5 December 2009 (EST)<br />
<br />
== Comments ==</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_Compared_To_Other_Distributions&diff=86576
Arch Compared To Other Distributions
2009-12-06T06:45:10Z
<p>Keiichi: moved Arch Compared To Other Distributions to Arch Compared to Other Distributions:&#32;As per the discussion, I'm moving it.</p>
<hr />
<div>#REDIRECT [[Arch Compared to Other Distributions]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_compared_to_other_distributions&diff=86575
Arch compared to other distributions
2009-12-06T06:45:10Z
<p>Keiichi: moved Arch Compared To Other Distributions to Arch Compared to Other Distributions:&#32;As per the discussion, I'm moving it.</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:FAQs (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|A brief comparison of Arch Linux with other popular GNU/Linux distributions and BSDs.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n entry|Deutsch|Arch im Vergleich mit anderen Distributionen}}<br />
{{i18n entry|English|Arch Compared To Other Distros}}<br />
{{i18n entry|Español|Arch Comparada con Otras Distribuciones}}<br />
{{i18n entry|Français|Arch Comparée Aux Autres Distros}}<br />
{{i18n entry|Italiano|Arch Comparato con altre Distro}}<br />
{{i18n entry|Nederlands|Arch in vergelijking met andere distributies}}<br />
{{i18n entry|Português do Brasil|Arch_x_Outras(Português_do_Brasil)}}<br />
{{i18n entry|Slovensky|Arch vs Ostatné distribúcie}}<br />
{{i18n entry|Polski|Porownanie Archa z innymi dystrybucjami}}<br />
{{i18n entry|Česky|Arch_vs_ostatní_linuxové_distribuce (Česky)}}<br />
{{i18n entry|简体中文|Arch 与其他发行版的比较}}<br />
{{i18n entry|Русский|Arch и другие}}<br />
{{i18n entry|ไทย|ข้อแตกต่างระหว่าง Arch กับ Distro อื่นๆ}}<br />
{{i18n entry|Türkçe|Arch ve Diğerleri}}<br />
{{i18n entry|한국어|Arch Compared To Other Distros (한국어)}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|Arch Linux}}<br />
{{Article summary wiki|The Arch Way}}<br />
{{Article summary heading|External links}}<br />
{{Article summary link|DistroWatch.com|http://distrowatch.com/}}<br />
{{Article summary end}}<br />
<br />
This page attempts to draw a comparison between Arch Linux and other popular GNU/Linux distributions and <tt>UNIX</tt>-like operating systems. The summaries that follow are only brief descriptions that may help a person decide if Arch Linux will suit their needs. Although reviews and descriptions can be useful, first-hand experience is often the best way to compare distributions.<br />
<br />
== Source-based ==<br />
<br />
Source-based distros are highly portable, giving the advantage of controlling and compiling the entire OS and applications for a particular machine architecture and usage scheme, with the disadvantage of the time-consuming nature of source compilation. The Arch base and all packages are compiled for i686 and x86-64 architectures, offering a potential performance boost over i386/i486/i586 binary distros, with the added advantage of expedient installation.<br />
<br />
=== Gentoo ===<br />
<br />
Both Arch Linux and Gentoo Linux are rolling release systems, which means that packages become available to the distribution a short time after they are released upstream. Gentoo packages are built directly from source code while official Arch packages are pre-built binaries. This makes Arch Linux quicker to build or update the system, and allows Gentoo Linux to be more readily customizable. The build system for Gentoo is "global"; offering compile options that affect packages system-wide via USE flags. In comparison, the [[Arch Build System]] is targeted at building individual packages. Arch supports i686 and x86_64 architectures while Gentoo covers x86, ppc, sparc, alpha, amd64, mips, hppa, and itanium architectures. Because both the Gentoo and Arch installations only install a base system, both are considered to be highly customizable. Gentoo users will generally feel quite comfortable with most aspects of Arch.<br />
<br />
=== Sorcerer/Lunar-Linux/Source Mage ===<br />
<br />
Sorcerer/Lunar-Linux/Source Mage (SLS) are all source-based distros, much like Gentoo is, but are originally related to one another. SLS distros use a rather simple set of script files to create package descriptions, and use a global configuration file to configure the compilation process, much like the [[Arch Build System]]. The SLS tools do full dependency checking (including handling optional features) and package tracking (and uninstalling/upgrading). There are no binary packages for any of the SLS family, although they all can roll back earlier installed packages easily.<br />
<br />
The install involves installing a base system (much like Arch's: i686-optimized, CLI and ncurses menus, only core tools), then recompiling the base system (optionally) afterwards. There is obviously no "standard" WM/DE/DM, and Xorg is not included in the base installation. Several X server alternatives are available (X.Org 6.8 or 7, XFree86).<br />
<br />
SLS has a very complicated history. Perhaps the best write-up about it can be found at [http://wiki.sourcemage.org/SourceMage/History the SourceMage wiki].<br />
<br />
== Minimalist ==<br />
<br />
The minimalist distros are quite comparable to Arch, sharing several similarities. All are considered 'simple' from a technical standpoint.<br />
<br />
=== LFS ===<br />
<br />
LFS, or Linux From Scratch, is just that; the minimal base package set for a functional GNU/Linux system, manually compiled and configured from scratch. LFS is as minimal as it gets, and offers an excellent and educational process of building a base system. Arch provides these very same packages, plus a BSD-style init, a few extra tools and the powerful [[pacman]] package manager as its base system, already compiled for i686/x86-64. LFS provides no online repositories; sources are manually obtained, compiled and installed with '''make'''. (Several manual methods of package management exist, and are mentioned in LFS Hints) Along with the minimal Arch base system, the Arch community and developers provide and maintain many thousands of binary packages installable via pacman as well as [[PKGBUILD]] build scripts for use with the [[Arch Build System]]. Arch also includes the [[makepkg]] tool for expediently building or customizing {{Filename|.pkg.tar.gz}} packages, readily installable by pacman. Judd Vinet built Arch from scratch, and then wrote pacman in C. Historically, Arch was sometimes humorously described simply as "Linux, with a nice package manager."<br />
<br />
=== CRUX ===<br />
<br />
Arch is independently developed, was built from scratch and is not based on any other GNU/Linux distribution. Before creating Arch, Judd Vinet admired and used CRUX, a minimalist distro created by Per Lidén. Originally inspired by ideas in common with CRUX, Arch was built from scratch, and [[pacman]] was then coded in C. The two share some guiding principles: for instance, both are architecture-optimized, minimalist and K.I.S.S.-oriented. Both ship with ports-like systems, use *BSD-style init systems and, like *BSD, both provide a minimal base environment to build upon. Arch features pacman, which handles binary system package management and works seamlessly with the [[Arch Build System]]. CRUX uses a community contributed system called prt-get, which, in combination with its own ports system, handles dependency resolution, but builds all packages from source (though the CRUX base installation is i686 binary). Arch officially supports x86-64 and i686, whereas CRUX is i686-only.<br />
<br />
Arch uses a rolling-release system and features a large array of binary package repositories as well as the [[Arch User Repository]]. CRUX provides a more slimmed-down officially supported ports system in addition to a modest community repository.<br />
<br />
=== Slackware ===<br />
<br />
The mighty Slackware and Arch are quite similar in that both are simple distributions focused on elegance and minimalism. Slackware is famous for its lack of branding and completely vanilla packages, from the kernel up. Arch typically applies patching only to avoid severe breakage and preserve functionality, if absolutely necessary. Both use BSD-style init scripts. Arch supplies a package management system in [[pacman]] which, unlike Slackware's standard tools, offers automatic dependency resolution and allows for more automated system upgrades. Slackware users typically prefer their method of manual dependency resolution, citing the level of system control it grants them. Arch is a rolling-release system. Slackware is seen as more conservative in its release cycle, preferring proven stable packages. Arch is more 'bleeding-edge' in this respect. Arch offers the [[Arch Build System]], an actual ports-like system. The (unofficial) Slackbuild system is very similar to the [[Arch User Repository]] concept. Slackware users will generally be quite comfortable with most aspects of Arch.<br />
<br />
== Graphical ==<br />
<br />
Sometimes called "newbie" distros, the graphical distros share a lot of similarities, though Arch is quite different from them. Arch may be a better choice if you want to learn about GNU/Linux by building up from a very minimal base, as an installation of Arch installs very few packages in comparison. Graphical distros tend to ship with GUI installers (like Fedora's Anaconda) and GUI system-configuration tools (like SUSE's YaST). Specific differences between distros are described below.<br />
<br />
=== Ubuntu ===<br />
<br />
Ubuntu is an immensely popular Debian-based distro commercially sponsored by Canonical Ltd., while Arch is an indepedently developed system built from scratch. If you like to compile your own kernels, try out bleeding-edge CVS-only projects, or build a program from source every once in a while, Arch is better suited. If you want to get up and running quickly and not fiddle around with the guts of the system as much, Ubuntu is better suited. Arch is presented as a much more minimalist design from the base installation onward, relying on the user to customize it to their own specific needs. In general, developers and tinkerers will probably like Arch better than Ubuntu, though some Arch users claim to have started on Ubuntu and eventually migrated to Arch. Ubuntu moves between discrete releases every 6 months, whereas Arch is a rolling-release system. Arch offers a ports-like package build system, the [[Arch Build System]], while Ubuntu does not. The two communities differ in some ways as well. The Arch community is much smaller and is strongly encouraged to be proactive; a large percentage contribute to the distro. In contrast, the Ubuntu community is quite large and can therefore tolerate a much larger percentage of users who do not contribute to development, package or repo maintenance.<br />
<br />
=== Fedora ===<br />
<br />
Fedora is a spin-off from the Red Hat distribution and has continually been one of the most popular distributions to date. As such, there is a massive community and lots of pre-built packages and support available. Fedora packages are RPM-based, using YUM as its package manager. Arch uses [[pacman]] to manage {{Filename|.pkg.tar.gz}} packages. Fedora famously doesn't attempt to support the MP3 media format due to perceived patent issues. Arch is more lenient in its disposition toward MP3 and other media. Fedora uses a graphical install by default. Arch does not offer a graphical installer, but rather, uses an ncurses-based installer, relying more on the user for manual configuration. Fedora has a scheduled release cycle. Arch is a rolling-release system. The Arch design approach is geared more toward lightweight elegance and minimalism rather than automation/auto-configuration. Fedora does innovate and recently earned much community recognition for integration of SELinux and GCJ compiled packages to remove the need for Sun's JRE. Fedora supports neither JFS nor ReiserFS out of the box.<br />
<br />
=== Mandriva ===<br />
<br />
Mandriva Linux (formerly Mandrake Linux) was created in 1998 with the goal of making GNU/Linux easy to use for everyone. It is RPM-based and uses the urpmi package manager. Again, Arch takes a simpler approach, being text-based and relying on more manual configuration and is aimed a bit more toward intermediate to advanced users.<br />
<br />
=== SUSE ===<br />
<br />
SUSE is centered around its well-regarded YaST configuration tool, which is a one-stop shop for most users' configuration needs. Arch doesn't offer such a facility as it goes against [[The Arch Way]]. SUSE, therefore, is widely regarded as more appropriate for less-experienced users, or those who want a more GUI-driven environment, auto-configuration and expected functionality out of the box.<br />
<br />
=== PCLinuxOS ===<br />
<br />
PCLinuxOS is a popular Mandriva-based distro providing a complete DE, designed for user-friendliness and is described as "simple", though its definition of simple is quite different than the Arch definition. Arch is designed as a simple base system to be customized from the ground up and is aimed more toward advanced users. PCLOS uses the apt package manager as a wrapper for RPM packages. Arch uses its own independently-developed [[pacman]] package manager with {{Filename|.pkg.tar.gz}} packages. PCLOS is very GUI-driven, provides GUI hardware configuration tools and the Synaptic package management front-end, and claims to have little or no reliance on the shell. Arch is command-line oriented and designed for more simple approaches to system configuration, management and maintenance. PCLOS recommends 256MB RAM as part of its minimum system requirements. Being more lightweight, Arch can run on systems with much less system memory, requiring only 64MB of RAM for a base i686 install, and will run flawlessly on more modern systems.<br />
<br />
== The *BSDs ==<br />
<br />
Both Arch and *BSD offer a tightly-integrated base and ports system combined with available binary packages. The BSDs derive from Berkeley <tt>UNIX</tt>. Therefore, *BSDs are not GNU/Linux distros, but rather, <tt>UNIX</tt>-like OS's.<br />
<br />
=== FreeBSD ===<br />
<br />
Both Arch and [http://www.freebsd.org/about.html FreeBSD] offer software which can be obtained using binaries or compiled using 'ports' systems. Both share a very similar init system. FreeBSD boasts that it is more of a system designed as a whole, compared to GNU/Linux distros, with each application 'ported' over to FreeBSD and made sure to work in the process. Both use {{Filename|/etc/rc.conf}} as a main configuration file. The FreeBSD license is generally more protective of the ''coder'', compared to the GPL, which in contrast favors protection of the ''code'' itself. Arch is released under the GPL. In FreeBSD, like Arch, decisions are delegated to you, the power user. This may be the most interesting comparison to Arch since it goes head-to-head in package modernity and has a somewhat sizable, smart, active, no-nonsense community. Both systems share many similarities and FreeBSD users will generally feel quite comfortable with most aspects of Arch.<br />
<br />
=== NetBSD ===<br />
<br />
NetBSD is a free, secure, and highly portable <tt>UNIX</tt>-like open-source operating system available for over 50 platforms, from 64-bit Opteron machines and desktop systems to hand-held and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source. Many applications are easily available through pkgsrc, the NetBSD Packages Collection. Arch may not operate on the vast number of devices NetBSD operates on, but for an i686 system it may offer more applications. Also, the default installation method in pkgsrc is to pull and compile sources whereas Arch offers binary packages. Arch does share many similarities with NetBSD; both use {{Filename|/etc/rc.conf}} as the primary configuration file, they are very minimalist and lightweight, they both offer ports systems as well as binaries and both have active, no-nonsense developers and communities. Arch also borrows from *BSD for its init system concepts.<br />
<br />
=== OpenBSD ===<br />
<br />
The OpenBSD project produces a free, multi-platform 4.4BSD-based <tt>UNIX</tt>-like operating system. Efforts focus on portability, standardization, code correctness, proactive security, and integrated cryptography. In contrast, Arch focuses more on simplicity, elegance, minimalism and bleeding edge software. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, GNU/Linux, BSD/OS, SunOS and HP-UX. OpenBSD is self-described as 'perhaps the #1 security OS'.<br />
<br />
In common with Arch, OpenBSD offers a small, elegant, base install and uses a ports system and packaging systems to allow for easy installation and management of programs which are not part of the base operating system. In contrast to a GNU/Linux system like Arch, but in common with most other BSD-based operating systems, the OpenBSD kernel and userland programs, such as the shell and common tools (like ls, cp, cat and ps), are developed together in a single source repository.<br />
<br />
== Other ==<br />
<br />
These OS's fall into the 'other' category.<br />
<br />
=== Debian GNU/Linux ===<br />
<br />
Debian is a much larger project and community and features stable, testing, and unstable branches, offering over 20,000 binary packages. Arch does not 'split' their packages into "-dev" and "-common" as Debian does, therefore, Arch repositories will seem much smaller. Debian has a more vehement stance on free software. Arch is more lenient when it comes to 'non-free' packages as defined by GNU. Debian's design approach focuses more on stability and stringent testing. Arch is focused more on the philosophy of simplicity, minimalism, and offering bleeding edge software. Arch packages are more current than Debian Stable and Testing, typically being about equal with Debian unstable. Both Debian and Arch offer well-regarded package management systems. Arch is a rolling release, whereas Debian Stable is released with "frozen" packages. Debian is available for many architectures, including alpha, arm, hppa, i386, x86_64, ia64, m68k, mips, mipsel, powerpc, s390, and sparc, whereas Arch is i686 and x86_64 only. Arch provides more expedient support for building custom, installable packages from outside sources, with a ports-like package build system. Debian does not offer a ports system, relying instead on its huge binary repositories. The Arch installation system only offers a minimal base, transparently exposed during system configuration, whereas Debian's methods offer a more automatically configured approach as well as several alternative methods of installation. Debian utilizes the SysVinit, whereas Arch uses a simpler *BSD-style init.<br />
<br />
=== Frugalware ===<br />
<br />
Arch is text-based and command-line oriented. Frugalware has adopted Arch's [[pacman]] as its package manager, but uses bzipped tarballs. In contrast, Arch uses gzipped tarballs, for the purpose of expedience of installation. Frugalware doesn't support the JFS filesystem by default. Frugalware is no longer based on Slackware but is rather a distro of its own, and is promoted as an i686 distro. Arch is a fundamentally different system, being installed as a minimal base environment and expanded with pacman according to the user's choices and needs. Frugalware is installed from a DVD, with default software choices and desktop environment chosen for the user already. Frugalware has a scheduled release cycle. Again, Arch is more focused on simplicity, minimalism, code-correctness and bleeding edge packages within a rolling-release model.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_compared_to_other_distributions&diff=86574
Arch compared to other distributions
2009-12-06T06:44:27Z
<p>Keiichi: minor redirection fixes</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:FAQs (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|A brief comparison of Arch Linux with other popular GNU/Linux distributions and BSDs.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n entry|Deutsch|Arch im Vergleich mit anderen Distributionen}}<br />
{{i18n entry|English|Arch Compared To Other Distros}}<br />
{{i18n entry|Español|Arch Comparada con Otras Distribuciones}}<br />
{{i18n entry|Français|Arch Comparée Aux Autres Distros}}<br />
{{i18n entry|Italiano|Arch Comparato con altre Distro}}<br />
{{i18n entry|Nederlands|Arch in vergelijking met andere distributies}}<br />
{{i18n entry|Português do Brasil|Arch_x_Outras(Português_do_Brasil)}}<br />
{{i18n entry|Slovensky|Arch vs Ostatné distribúcie}}<br />
{{i18n entry|Polski|Porownanie Archa z innymi dystrybucjami}}<br />
{{i18n entry|Česky|Arch_vs_ostatní_linuxové_distribuce (Česky)}}<br />
{{i18n entry|简体中文|Arch 与其他发行版的比较}}<br />
{{i18n entry|Русский|Arch и другие}}<br />
{{i18n entry|ไทย|ข้อแตกต่างระหว่าง Arch กับ Distro อื่นๆ}}<br />
{{i18n entry|Türkçe|Arch ve Diğerleri}}<br />
{{i18n entry|한국어|Arch Compared To Other Distros (한국어)}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|Arch Linux}}<br />
{{Article summary wiki|The Arch Way}}<br />
{{Article summary heading|External links}}<br />
{{Article summary link|DistroWatch.com|http://distrowatch.com/}}<br />
{{Article summary end}}<br />
<br />
This page attempts to draw a comparison between Arch Linux and other popular GNU/Linux distributions and <tt>UNIX</tt>-like operating systems. The summaries that follow are only brief descriptions that may help a person decide if Arch Linux will suit their needs. Although reviews and descriptions can be useful, first-hand experience is often the best way to compare distributions.<br />
<br />
== Source-based ==<br />
<br />
Source-based distros are highly portable, giving the advantage of controlling and compiling the entire OS and applications for a particular machine architecture and usage scheme, with the disadvantage of the time-consuming nature of source compilation. The Arch base and all packages are compiled for i686 and x86-64 architectures, offering a potential performance boost over i386/i486/i586 binary distros, with the added advantage of expedient installation.<br />
<br />
=== Gentoo ===<br />
<br />
Both Arch Linux and Gentoo Linux are rolling release systems, which means that packages become available to the distribution a short time after they are released upstream. Gentoo packages are built directly from source code while official Arch packages are pre-built binaries. This makes Arch Linux quicker to build or update the system, and allows Gentoo Linux to be more readily customizable. The build system for Gentoo is "global"; offering compile options that affect packages system-wide via USE flags. In comparison, the [[Arch Build System]] is targeted at building individual packages. Arch supports i686 and x86_64 architectures while Gentoo covers x86, ppc, sparc, alpha, amd64, mips, hppa, and itanium architectures. Because both the Gentoo and Arch installations only install a base system, both are considered to be highly customizable. Gentoo users will generally feel quite comfortable with most aspects of Arch.<br />
<br />
=== Sorcerer/Lunar-Linux/Source Mage ===<br />
<br />
Sorcerer/Lunar-Linux/Source Mage (SLS) are all source-based distros, much like Gentoo is, but are originally related to one another. SLS distros use a rather simple set of script files to create package descriptions, and use a global configuration file to configure the compilation process, much like the [[Arch Build System]]. The SLS tools do full dependency checking (including handling optional features) and package tracking (and uninstalling/upgrading). There are no binary packages for any of the SLS family, although they all can roll back earlier installed packages easily.<br />
<br />
The install involves installing a base system (much like Arch's: i686-optimized, CLI and ncurses menus, only core tools), then recompiling the base system (optionally) afterwards. There is obviously no "standard" WM/DE/DM, and Xorg is not included in the base installation. Several X server alternatives are available (X.Org 6.8 or 7, XFree86).<br />
<br />
SLS has a very complicated history. Perhaps the best write-up about it can be found at [http://wiki.sourcemage.org/SourceMage/History the SourceMage wiki].<br />
<br />
== Minimalist ==<br />
<br />
The minimalist distros are quite comparable to Arch, sharing several similarities. All are considered 'simple' from a technical standpoint.<br />
<br />
=== LFS ===<br />
<br />
LFS, or Linux From Scratch, is just that; the minimal base package set for a functional GNU/Linux system, manually compiled and configured from scratch. LFS is as minimal as it gets, and offers an excellent and educational process of building a base system. Arch provides these very same packages, plus a BSD-style init, a few extra tools and the powerful [[pacman]] package manager as its base system, already compiled for i686/x86-64. LFS provides no online repositories; sources are manually obtained, compiled and installed with '''make'''. (Several manual methods of package management exist, and are mentioned in LFS Hints) Along with the minimal Arch base system, the Arch community and developers provide and maintain many thousands of binary packages installable via pacman as well as [[PKGBUILD]] build scripts for use with the [[Arch Build System]]. Arch also includes the [[makepkg]] tool for expediently building or customizing {{Filename|.pkg.tar.gz}} packages, readily installable by pacman. Judd Vinet built Arch from scratch, and then wrote pacman in C. Historically, Arch was sometimes humorously described simply as "Linux, with a nice package manager."<br />
<br />
=== CRUX ===<br />
<br />
Arch is independently developed, was built from scratch and is not based on any other GNU/Linux distribution. Before creating Arch, Judd Vinet admired and used CRUX, a minimalist distro created by Per Lidén. Originally inspired by ideas in common with CRUX, Arch was built from scratch, and [[pacman]] was then coded in C. The two share some guiding principles: for instance, both are architecture-optimized, minimalist and K.I.S.S.-oriented. Both ship with ports-like systems, use *BSD-style init systems and, like *BSD, both provide a minimal base environment to build upon. Arch features pacman, which handles binary system package management and works seamlessly with the [[Arch Build System]]. CRUX uses a community contributed system called prt-get, which, in combination with its own ports system, handles dependency resolution, but builds all packages from source (though the CRUX base installation is i686 binary). Arch officially supports x86-64 and i686, whereas CRUX is i686-only.<br />
<br />
Arch uses a rolling-release system and features a large array of binary package repositories as well as the [[Arch User Repository]]. CRUX provides a more slimmed-down officially supported ports system in addition to a modest community repository.<br />
<br />
=== Slackware ===<br />
<br />
The mighty Slackware and Arch are quite similar in that both are simple distributions focused on elegance and minimalism. Slackware is famous for its lack of branding and completely vanilla packages, from the kernel up. Arch typically applies patching only to avoid severe breakage and preserve functionality, if absolutely necessary. Both use BSD-style init scripts. Arch supplies a package management system in [[pacman]] which, unlike Slackware's standard tools, offers automatic dependency resolution and allows for more automated system upgrades. Slackware users typically prefer their method of manual dependency resolution, citing the level of system control it grants them. Arch is a rolling-release system. Slackware is seen as more conservative in its release cycle, preferring proven stable packages. Arch is more 'bleeding-edge' in this respect. Arch offers the [[Arch Build System]], an actual ports-like system. The (unofficial) Slackbuild system is very similar to the [[Arch User Repository]] concept. Slackware users will generally be quite comfortable with most aspects of Arch.<br />
<br />
== Graphical ==<br />
<br />
Sometimes called "newbie" distros, the graphical distros share a lot of similarities, though Arch is quite different from them. Arch may be a better choice if you want to learn about GNU/Linux by building up from a very minimal base, as an installation of Arch installs very few packages in comparison. Graphical distros tend to ship with GUI installers (like Fedora's Anaconda) and GUI system-configuration tools (like SUSE's YaST). Specific differences between distros are described below.<br />
<br />
=== Ubuntu ===<br />
<br />
Ubuntu is an immensely popular Debian-based distro commercially sponsored by Canonical Ltd., while Arch is an indepedently developed system built from scratch. If you like to compile your own kernels, try out bleeding-edge CVS-only projects, or build a program from source every once in a while, Arch is better suited. If you want to get up and running quickly and not fiddle around with the guts of the system as much, Ubuntu is better suited. Arch is presented as a much more minimalist design from the base installation onward, relying on the user to customize it to their own specific needs. In general, developers and tinkerers will probably like Arch better than Ubuntu, though some Arch users claim to have started on Ubuntu and eventually migrated to Arch. Ubuntu moves between discrete releases every 6 months, whereas Arch is a rolling-release system. Arch offers a ports-like package build system, the [[Arch Build System]], while Ubuntu does not. The two communities differ in some ways as well. The Arch community is much smaller and is strongly encouraged to be proactive; a large percentage contribute to the distro. In contrast, the Ubuntu community is quite large and can therefore tolerate a much larger percentage of users who do not contribute to development, package or repo maintenance.<br />
<br />
=== Fedora ===<br />
<br />
Fedora is a spin-off from the Red Hat distribution and has continually been one of the most popular distributions to date. As such, there is a massive community and lots of pre-built packages and support available. Fedora packages are RPM-based, using YUM as its package manager. Arch uses [[pacman]] to manage {{Filename|.pkg.tar.gz}} packages. Fedora famously doesn't attempt to support the MP3 media format due to perceived patent issues. Arch is more lenient in its disposition toward MP3 and other media. Fedora uses a graphical install by default. Arch does not offer a graphical installer, but rather, uses an ncurses-based installer, relying more on the user for manual configuration. Fedora has a scheduled release cycle. Arch is a rolling-release system. The Arch design approach is geared more toward lightweight elegance and minimalism rather than automation/auto-configuration. Fedora does innovate and recently earned much community recognition for integration of SELinux and GCJ compiled packages to remove the need for Sun's JRE. Fedora supports neither JFS nor ReiserFS out of the box.<br />
<br />
=== Mandriva ===<br />
<br />
Mandriva Linux (formerly Mandrake Linux) was created in 1998 with the goal of making GNU/Linux easy to use for everyone. It is RPM-based and uses the urpmi package manager. Again, Arch takes a simpler approach, being text-based and relying on more manual configuration and is aimed a bit more toward intermediate to advanced users.<br />
<br />
=== SUSE ===<br />
<br />
SUSE is centered around its well-regarded YaST configuration tool, which is a one-stop shop for most users' configuration needs. Arch doesn't offer such a facility as it goes against [[The Arch Way]]. SUSE, therefore, is widely regarded as more appropriate for less-experienced users, or those who want a more GUI-driven environment, auto-configuration and expected functionality out of the box.<br />
<br />
=== PCLinuxOS ===<br />
<br />
PCLinuxOS is a popular Mandriva-based distro providing a complete DE, designed for user-friendliness and is described as "simple", though its definition of simple is quite different than the Arch definition. Arch is designed as a simple base system to be customized from the ground up and is aimed more toward advanced users. PCLOS uses the apt package manager as a wrapper for RPM packages. Arch uses its own independently-developed [[pacman]] package manager with {{Filename|.pkg.tar.gz}} packages. PCLOS is very GUI-driven, provides GUI hardware configuration tools and the Synaptic package management front-end, and claims to have little or no reliance on the shell. Arch is command-line oriented and designed for more simple approaches to system configuration, management and maintenance. PCLOS recommends 256MB RAM as part of its minimum system requirements. Being more lightweight, Arch can run on systems with much less system memory, requiring only 64MB of RAM for a base i686 install, and will run flawlessly on more modern systems.<br />
<br />
== The *BSDs ==<br />
<br />
Both Arch and *BSD offer a tightly-integrated base and ports system combined with available binary packages. The BSDs derive from Berkeley <tt>UNIX</tt>. Therefore, *BSDs are not GNU/Linux distros, but rather, <tt>UNIX</tt>-like OS's.<br />
<br />
=== FreeBSD ===<br />
<br />
Both Arch and [http://www.freebsd.org/about.html FreeBSD] offer software which can be obtained using binaries or compiled using 'ports' systems. Both share a very similar init system. FreeBSD boasts that it is more of a system designed as a whole, compared to GNU/Linux distros, with each application 'ported' over to FreeBSD and made sure to work in the process. Both use {{Filename|/etc/rc.conf}} as a main configuration file. The FreeBSD license is generally more protective of the ''coder'', compared to the GPL, which in contrast favors protection of the ''code'' itself. Arch is released under the GPL. In FreeBSD, like Arch, decisions are delegated to you, the power user. This may be the most interesting comparison to Arch since it goes head-to-head in package modernity and has a somewhat sizable, smart, active, no-nonsense community. Both systems share many similarities and FreeBSD users will generally feel quite comfortable with most aspects of Arch.<br />
<br />
=== NetBSD ===<br />
<br />
NetBSD is a free, secure, and highly portable <tt>UNIX</tt>-like open-source operating system available for over 50 platforms, from 64-bit Opteron machines and desktop systems to hand-held and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source. Many applications are easily available through pkgsrc, the NetBSD Packages Collection. Arch may not operate on the vast number of devices NetBSD operates on, but for an i686 system it may offer more applications. Also, the default installation method in pkgsrc is to pull and compile sources whereas Arch offers binary packages. Arch does share many similarities with NetBSD; both use {{Filename|/etc/rc.conf}} as the primary configuration file, they are very minimalist and lightweight, they both offer ports systems as well as binaries and both have active, no-nonsense developers and communities. Arch also borrows from *BSD for its init system concepts.<br />
<br />
=== OpenBSD ===<br />
<br />
The OpenBSD project produces a free, multi-platform 4.4BSD-based <tt>UNIX</tt>-like operating system. Efforts focus on portability, standardization, code correctness, proactive security, and integrated cryptography. In contrast, Arch focuses more on simplicity, elegance, minimalism and bleeding edge software. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, GNU/Linux, BSD/OS, SunOS and HP-UX. OpenBSD is self-described as 'perhaps the #1 security OS'.<br />
<br />
In common with Arch, OpenBSD offers a small, elegant, base install and uses a ports system and packaging systems to allow for easy installation and management of programs which are not part of the base operating system. In contrast to a GNU/Linux system like Arch, but in common with most other BSD-based operating systems, the OpenBSD kernel and userland programs, such as the shell and common tools (like ls, cp, cat and ps), are developed together in a single source repository.<br />
<br />
== Other ==<br />
<br />
These OS's fall into the 'other' category.<br />
<br />
=== Debian GNU/Linux ===<br />
<br />
Debian is a much larger project and community and features stable, testing, and unstable branches, offering over 20,000 binary packages. Arch does not 'split' their packages into "-dev" and "-common" as Debian does, therefore, Arch repositories will seem much smaller. Debian has a more vehement stance on free software. Arch is more lenient when it comes to 'non-free' packages as defined by GNU. Debian's design approach focuses more on stability and stringent testing. Arch is focused more on the philosophy of simplicity, minimalism, and offering bleeding edge software. Arch packages are more current than Debian Stable and Testing, typically being about equal with Debian unstable. Both Debian and Arch offer well-regarded package management systems. Arch is a rolling release, whereas Debian Stable is released with "frozen" packages. Debian is available for many architectures, including alpha, arm, hppa, i386, x86_64, ia64, m68k, mips, mipsel, powerpc, s390, and sparc, whereas Arch is i686 and x86_64 only. Arch provides more expedient support for building custom, installable packages from outside sources, with a ports-like package build system. Debian does not offer a ports system, relying instead on its huge binary repositories. The Arch installation system only offers a minimal base, transparently exposed during system configuration, whereas Debian's methods offer a more automatically configured approach as well as several alternative methods of installation. Debian utilizes the SysVinit, whereas Arch uses a simpler *BSD-style init.<br />
<br />
=== Frugalware ===<br />
<br />
Arch is text-based and command-line oriented. Frugalware has adopted Arch's [[pacman]] as its package manager, but uses bzipped tarballs. In contrast, Arch uses gzipped tarballs, for the purpose of expedience of installation. Frugalware doesn't support the JFS filesystem by default. Frugalware is no longer based on Slackware but is rather a distro of its own, and is promoted as an i686 distro. Arch is a fundamentally different system, being installed as a minimal base environment and expanded with pacman according to the user's choices and needs. Frugalware is installed from a DVD, with default software choices and desktop environment chosen for the user already. Frugalware has a scheduled release cycle. Again, Arch is more focused on simplicity, minimalism, code-correctness and bleeding edge packages within a rolling-release model.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Advanced_Linux_Sound_Architecture&diff=86573
Advanced Linux Sound Architecture
2009-12-06T06:36:44Z
<p>Keiichi: minor redirection fixes</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|ALSA}}<br />
{{i18n_entry|Español|ALSA (Español)}}<br />
{{i18n_entry|Deutsch|ALSA Einrichten}}<br />
{{i18n_entry|Italiano|ALSA (Italiano)}}<br />
{{i18n_entry|Nederlands|ALSA instellen}}<br />
{{i18n_entry|Русский|ALSA_(Russian)}}<br />
{{i18n_entry|Slovensky|Nastavenie ALSA}}<br />
{{i18n_entry|Česky|ALSA (Česky)}}<br />
{{i18n_entry|简体中文|ALSA 安装设置 (简体中文)}}<br />
{{i18n_entry|עברית|הגדרת ALSA}}<br />
{{i18n_entry|Рolski|ALSA Setup (Polski)}}<br />
{{i18n_entry|Português do Brasil|Instalação ALSA}}<br />
{{i18n_entry|ไทย|ALSA Setup (ไทย)}}<br />
{{i18n_entry|Türkçe|ALSA (Türkçe)}}<br />
{{i18n_entry|Français|ALSA (Français)}}<br />
{{i18n_entry|한국어|ALSA (한국어)}}<br />
{{i18n_links_end}}<br />
<br />
The Advanced Linux Sound Architecture (ALSA) is a Linux kernel component intended to provide device drivers for sound cards.<br />
<br />
This document tells how to get ALSA working with 2.6 kernels. Also see how to [[Allow_multiple_programs_to_play_sound_at_once|allow multiple programs to play sound at once]]<br />
<br />
See the [[Open Sound System]] page if you are looking for alternatives.<br />
<br />
==Installation==<br />
===Kernel drivers===<br />
<br />
ALSA has been included in the 2.6 kernels and is included in all Arch '''kernel26*''' packages. If you build a custom kernel, do not forget to enable the correct ALSA driver.<br />
<br />
All necessary modules should be detected and loaded automatically by udev. No special configuration has to be done unless you use ISA cards. '''NEVER''' use alsaconf if you have a PCI or ISAPNP sound card, as the entries alsaconf adds to the modprobe.conf file might break udev's autodetection.<br />
<br />
===Userspace utilities===<br />
<br />
* Required for native ALSA programs and administration<br />
# pacman -Sy alsa-lib alsa-utils<br />
* Recommended if you want to use applications with OSS sound support in combination with dmix:<br />
# pacman -S alsa-oss<br />
<br />
All ALSA programs will most likely have alsa-lib as a dependency.<br />
<br />
==Configuration==<br />
===Set the default sound card===<br />
<br />
Telephony-capable modems and snd-pcsp (the internal PC speaker ALSA module) can conflict with the sound card for the default sound card slot. (pcspkr is another, non-ALSA PC speaker module. It will not conflict with ALSA sound cards.) To prevent this, discover your sound card model name with [http://linux.die.net/man/8/lspci lspci(8)] and your ALSA driver module names with ls(1):<br />
<br />
$ ls -l /sys/module/snd/holders<br />
total 0<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_ac97_codec -> ../../snd_ac97_codec<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_intel8x0 -> ../../snd_intel8x0<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_intel8x0m -> ../../snd_intel8x0m<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_pcm -> ../../snd_pcm<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:53 snd_pcsp -> ../../snd_pcsp<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_timer -> ../../snd_timer<br />
<br />
Then add the names of your sound card modules to:<br />
<br />
{{file |name=/etc/modprobe.d/modprobe.conf (prior to module-init-tools 3.8, use /etc/modprobe.conf) |content=<br />
options snd-intel8x0 index=0<br />
options snd-pcsp index=1<br />
}}<br />
<br />
These entries ensure that the Intel 82801DB-ICH4 sound card will become card 0 and the PC speaker will become card 1.<br />
<br />
If you do not want snd-pcsp to load at all you can add the following to:<br />
<br />
{{file |name=/etc/rc.conf |content=MODULES=(... !snd-pcsp)<br />
}}<br />
<br />
If you want the PC speaker completely been disabled you can additionally add the following to:<br />
<br />
{{file |name=/etc/rc.conf |content=MODULES=(... !pcspkr)<br />
}}<br />
<br />
<br />
{{Note| You will need to unload all your sound modules and reload them for the changes to take affect. It might be easier to reboot. Your choice. }}<br />
<br />
===Making sure the sound modules are loaded===<br />
<br />
You can assume that udev will autodetect your sound properly, including the OSS compatibility modules. You can check this with the command<br />
<br />
$ lsmod|grep '^snd' | column -t<br />
snd_usb_audio 69696 0 <br />
snd_usb_lib 13504 1 snd_usb_audio<br />
snd_rawmidi 20064 1 snd_usb_lib<br />
snd_hwdep 7044 1 snd_usb_audio<br />
snd_seq_oss 29412 0 <br />
snd_seq_midi_event 6080 1 snd_seq_oss<br />
snd_seq 46220 4 snd_seq_oss,snd_seq_midi_event<br />
snd_seq_device 6796 3 snd_rawmidi,snd_seq_oss,snd_seq<br />
snd_pcm_oss 45216 0 <br />
snd_mixer_oss 15232 1 snd_pcm_oss<br />
snd_intel8x0 27932 0 <br />
snd_ac97_codec 87648 1 snd_intel8x0<br />
snd_ac97_bus 1792 1 snd_ac97_codec<br />
snd_pcm 76296 4 snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec<br />
snd_timer 19780 2 snd_seq,snd_pcm<br />
snd 43776 12 snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,<br />
snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer<br />
snd_page_alloc 7944 2 snd_intel8x0,snd_pcm<br />
<br />
If the output looks similar, your sound drivers have been successfully autodetected (note that in this case, snd_intel8x0 and snd_usb_audio are the drivers for the hardware devices). You might also want to check the directory '''/dev/snd''' for the right device files:<br />
<br />
$ ls -l /dev/snd<br />
total 0<br />
crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0<br />
crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1<br />
crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c<br />
crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p<br />
crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c<br />
crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c<br />
crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p<br />
crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq<br />
crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer<br />
<br />
If you have at least the devices '''controlC0''' and '''pcmC0D0p''' or similar, then your sound modules have been detected and loaded properly.<br />
<br />
If this is not the case, your sound modules have not been detected properly. '''If you want any help on IRC or the forums, please post the output of the above commands.''' To solve this, you can try loading the modules manually:<br />
<br />
* Locate the module for your soundcard: [http://www.alsa-project.org/main/index.php/Matrix:Main ALSA Soundcard Matrix] The module will be prefixed with 'snd-' (for example: 'snd-via82xx').<br />
* Load modules:<br />
# modprobe snd-NAME-OF-MODULE<br />
# modprobe snd-pcm-oss<br />
* Check for the device files in '''/dev/snd''' (see above) and/or try if '''alsamixer''' or '''amixer''' have reasonable output.<br />
* Add '''snd-NAME-OF-MODULE''' and '''snd-pcm-oss''' to the list of MODULES in {{Filename|/etc/rc.conf}} to ensure they are loaded next time (make sure '''snd-NAME-OF-MODULE''' is before '''snd-pcm-oss''').<br />
<br />
===Unmute the channels and test===<br />
<br />
In this section, we assume that you are logged in as root. If you want to perform these steps as an unprivileged user, you have to skip to the next section ''Setup Permissions'' first.<br />
<br />
* Unmute Soundcard<br />
<br />
The current version of ALSA installs with all channels '''muted by default''', so even if installation completes successfully and all devices are working properly you will hear no sound. You will need to unmute the channels manually. It is recommended to use {{Codeline|alsamixer}} to accomplish this. From the alsamixer text ui, the label "MM" below a channel indicates that the channel is muted, and "00" indicates that it is open. Press the 'm' key to toggle MM/00. Use arrow-keys left and right to navigate through the channels and the arrow-keys up and down to adjust the volume. Such things as Master and PCM and possibly Speaker will need to unmuted for your sound to work.<br />
<br />
{{Note | When using '''{{Codeline|amixer}}''', be sure to '''unmute''' as well as bring volumes up to a specific level in percent, i.e you need to use that % sign. '''{{Codeline|amixer}}''' understands the percent sign (%), not numbers. If you use a number (say, 90) then '''{{Codeline|amixer}}''' will take it as 100%, which can harm your speakers.}}<br />
<br />
# amixer set Master 90% unmute<br />
# amixer set PCM 85% unmute<br />
<br />
* Try to play a WAV file<br />
<br />
# aplay /usr/share/sounds/alsa/Front_Center.wav<br />
<br />
{{Note | Some cards need to have digital output muted/turned off in order to hear analog sound. For the Soundblaster Audigy LS mute the IEC958 channel.}}<br />
<br />
If you cannot hear anything, double check your mixer settings, being sure to unmute PCM, MASTER (and some machines such as the IBM Thinkpad have an additional 'SPEAKER' channel) and try the alsaconf utility as root:<br />
# alsaconf<br />
<br />
* [[Allow multiple programs to play sound at once]]<br />
<br />
===Setup Permissions===<br />
<br />
To be able to use the sound card as a user, follow these steps:<br />
<br />
* Add your user to the audio group:<br />
# gpasswd -a USERNAME audio<br />
<br />
* Log your user out and back in to ensure the audio group is loaded.<br />
<br />
===Restore ALSA Mixer settings at startup===<br />
<br />
* Run {{Codeline|alsactl store}} once to create {{Filename|/etc/asound.state}}.<br />
<br />
# alsactl store<br />
<br />
* Edit {{Filename|/etc/[[rc.conf]]}} and add {{Codeline|"alsa"}} to the list of daemons to start on boot-up. This will store the mixer settings on every shutdown and restore them when you boot.<br />
<br />
* If the mixer settings are not loaded on boot-up, add the following line to {{Filename|/etc/rc.local}}:<br />
<br />
# alsactl restore<br />
<br />
===Getting SPDIF Output===<br />
<br />
(from gralves from the Gentoo forums)<br />
* In GNOME Volume Control, under the Options tab, change the IEC958 to PCM. This option can be enabled in the preferences.<br />
* If you don't have GNOME Volume Control installed,<br />
** Edit /etc/asound.state. This file is where alsasound stores your mixer settings.<br />
** Find a line that says: 'IEC958 Playback Switch'. Near it you will find a line saying value:false. Change it to value:true.<br />
** Now find this line: 'IEC958 Playback AC97-SPSA'. Change its value to 0.<br />
** Restart ALSA.<br />
<br />
Alternative way to enable SPDIF output automatically on login (tested on SoundBlaster Audigy):<br />
<br />
* add following lines to {{Filename|/etc/rc.local}}:<br />
# Use COAX-digital output<br />
amixer set 'IEC958 Optical' 100 unmute<br />
amixer set 'Audigy Analog/Digital Output Jack' on<br />
<br />
You can see the name of your card's digital output with:<br />
$ amixer scontrols<br />
<br />
===System-Wide Equalizer===<br />
<br />
{{Note | This method requires the use of a ladspa plugin which might use quite a bit of CPU when sound plays. In addition, this was made with stereophonic sound (e.g. headphones) in mind.}}<br />
<br />
* You will need, in addition to the aforementioned userspace utilities, alsa-plugins.<br />
# pacman -S alsa-plugins<br />
* Get the ladspa and swh-plugins packages too if you don't already have them.<br />
# pacman -S ladspa swh-plugins<br />
* If you haven't already created either an {{Filename|~/.asoundrc}} or a {{Filename|/etc/asound.conf}} file, then create either one<br />
$ vim ~/.asoundrc<br />
* Insert the following into your ALSA configuration file ({{Filename|~/.asoundrc}} or {{Filename|/etc/asound.conf}}):<br />
<br />
{{file |name=/etc/asound.conf |content=pcm.eq {<br />
type ladspa<br><br />
# The output from the EQ can either go direct to a hardware device<br />
# (if you have a hardware mixer, e.g. SBLive/Audigy) or it can go<br />
# to the software mixer shown here.<br />
#slave.pcm "plughw:0,0"<br />
slave.pcm "plug:dmix"<br><br />
# Sometimes you may need to specify the path to the plugins,<br />
# especially if you've just installed them. Once you've logged<br />
# out/restarted this shouldn't be necessary, but if you get errors<br />
# about being unable to find plugins, try uncommenting this.<br />
#path "/usr/lib/ladspa"<br><br />
plugins [<br />
{<br />
label mbeq<br />
id 1197<br />
input {<br />
#this setting is here by example, edit to your own taste<br />
#bands: 50hz, 100hz, 156hz, 220hz, 311hz, 440hz, 622hz, 880hz, 1250hz, 1750hz, 25000hz,<br />
#50000hz, 10000hz, 20000hz<br />
controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ]<br />
}<br />
}<br />
]<br />
}<br><br />
# Redirect the default device to go via the EQ - you may want to do<br />
# this last, once you're sure everything is working. Otherwise all<br />
# your audio programs will break/crash if something has gone wrong.<br><br />
pcm.!default {<br />
type plug<br />
slave.pcm "eq"<br />
}<br><br />
# Redirect the OSS emulation through the EQ too (when programs are running through "aoss")<br><br />
pcm.dsp0 {<br />
type plug<br />
slave.pcm "eq"<br />
}<br />
}}<br />
<br />
*Reload your alsa settings (as root).<br />
# /etc/rc.d/alsa restart<br />
<br />
*You should be good to go (if not, ask in the forum).<br />
<br />
==Troubleshooting==<br />
===Model Settings===<br />
<br />
Although Alsa detects your soundcard through the BIOS at times Alsa may not be able to recognize your [http://www.mjmwired.net/kernel/Documentation/sound/alsa/HD-Audio-Models.txt model type]. The soundcard chip can be found in <code>alsamixer</code> (e.g. ALC662) and the model can be set in {{Filename|/etc/modprobe.d/modprobe.conf}}. For example:<br />
<br />
options snd-hda-intel model=MODEL<br />
<br />
There are other model settings too. For most cases Alsa defaults will do. If you want to look at more specific settings for your soundcard take a look at the [http://bugtrack.alsa-project.org/main/index.php/Matrix:Main Alsa Soundcard List] find your model, then Details, then look at the "Setting up modprobe..." section. Enter these values in {{Filename|/etc/modprobe.d/modprobe.conf}}. For example, for an Intel AC97 audio:<br />
<br />
<pre># ALSA portion<br />
alias char-major-116 snd<br />
alias snd-card-0 snd-intel8x0<br />
# module options should go here<br />
<br />
# OSS/Free portion<br />
alias char-major-14 soundcore<br />
alias sound-slot-0 snd-card-0<br />
<br />
# card #1<br />
alias sound-service-0-0 snd-mixer-oss<br />
alias sound-service-0-1 snd-seq-oss<br />
alias sound-service-0-3 snd-pcm-oss<br />
alias sound-service-0-8 snd-seq-oss<br />
alias sound-service-0-12 snd-pcm-oss</pre><br />
<br />
===Conflicting PC Speaker===<br />
<br />
Remember, ALSA installs with all channels '''muted by default''' (see previous section, [[Advanced Linux Sound Architecture#Unmute the channels and test|unmuting your soundcard]]).<br />
<br />
However, if you're sure nothing is muted, that your drivers are installed correctly, and that your volume is right, but you still do not hear anything, then try blacklisting snd-pcsp from your modules array in rc.conf:<br />
<br />
MODULES=(!snd-pcsp ... )<br />
<br />
Note that this will disable your PC's internal speaker.<br />
If that doesn't work, then try adding the following line to <code>/etc/modprobe.d/modprobe.conf</code>:<br />
<br />
options snd-NAME-OF-MODULE ac97_quirk=0<br />
<br />
The above fix has been observed to work with <code>via82xx</code><br />
options snd-NAME-OF-MODULE ac97_quirk=1<br />
The above fix has been reported to work with <code>snd_intel8x0</code><br />
<br />
===No Sound with Onboard Intel Sound Card===<br />
<br />
There may be an issue with two conflicting modules loaded, namely <code>snd_intel8x0</code> and <code>snd_intel8x0m</code>. In this case, edit <code>rc.conf</code> and in the MODULES array blacklist the latter one so that it reads <code>!snd_intel8x0m</code> afterwards.<br />
<br />
''Muting'' the "External Amplifier" in <code>alsamixer</code> or <code>amixer</code> may also help. See [http://alsa.opensrc.org/index.php/Intel8x0#Dell_Inspiron_8600_.28and_probably_others.29 the ALSA wiki].<br />
<br />
With '''Intel Corporation 82801 I (ICH9 Family) HD Audio Controller''' on laptop, you may need to add this line to<br />
<br />
/etc/modprobe.d/sound<br />
options snd-hda-intel model=laptop<br />
<br />
or<br />
options snd-hda-intel model=laptop enable=1 index=0<br />
<br />
Otherwise, the pcspkr may not work, and only the headphone have sound.<br />
<br />
===Poor Sound Quality===<br />
<br />
If you experience poor sound quality, try setting the PCM volume (in alsamixer) to a level such that gain is 0.<br />
<br />
===Pops When Starting and Stopping Playback===<br />
<br />
Some modules can power off your sound card when not in use. this can make an audible noise when powering down your sound card. If you find this annoying try "modinfo snd-MY-MODULE", and look for a module option that adjusts or disables this feature. <br />
<br />
for example: to disable the power saving mode using snd-hda-intel add "options snd-hda-intel power_save=0" in /etc/modprobe.d/modprobe.conf. or try it with "modprobe snd-hda-intel power_save=0"<br />
<br />
===Alsamixer Does Not Run===<br />
<br />
If running alsamixer does not work and you wind up with the following error<br />
alsamixer: function snd_ctl_open failed for default: No such device or directory<br />
<br />
You should first check /etc/group to ensure that your current user is in the 'audio' group. Don't forget to log out and log in again for the group changes.<br />
<br />
Then you might need to re-install your kernel. Run 'pacman -S kernel26' or whichever patchset you prefer to use.<br />
<br />
===S/PDIF Output Does Not Work===<br />
<br />
If the optical/coaxial digital output of your motherboard/sound card is not working or stopped working, and have already enabled and unmuted it in alsamixer, try running<br />
iecset audio on<br />
<br />
as root.<br />
<br />
You can also put this command in rc.local as it sometimes it may stop working after a reboot.<br />
<br />
===HDMI Output Does Not Work===<br />
<br />
If the HDMI output of your motherboard/sound card is not working or stopped working, and have already enabled and unmuted it in alsamixer, try the following.<br />
<br />
Query for Playback Devices:<br />
<br />
% aplay -l<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
<br />
Now that we have the info for the HDMI device, try a test, In the example below, 0 is the card number and 3 is the device number.<br />
<br />
% aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav<br />
<br />
If the test is successful, edit/create asound.conf in /etc to set HDMI as the default audio device, reboot, and audio should now work. There might be a better way to do this??<br />
<br />
% cat /etc/asound.conf<br />
pcm.!default {<br />
type plug<br />
slave.pcm {<br />
type hw<br />
card 0<br />
device 3<br />
}<br />
}<br />
<br />
===No Adjustable PCM Channel===<br />
<br />
You may find that you lack adjustable PCM channel. In this case try to remove all sound-related stuff from MODULES section in /etc/rc.conf, except for snd-NAME-OF-MODULE and snd-pcm-oss.<br />
<br />
===HP TX2500===<br />
<br />
Add these 2 lines into {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options snd-cmipci mpu_port=0x330 fm_port=0x388<br />
options snd-hda-intel index=0 model=toshiba position_fix=1<br />
<br />
And don't forget to enable 'hal' in the DAEMONS section of your {{Filename|/etc/rc.conf}}.<br />
<br />
options snd-hda-intel model=hp (works for tx2000cto)<br />
<br />
===Skipping Sound When Playing MP3===<br />
<br />
If you have sound skipping when playing MP3 files and you have more then 2 speakers attacked to your computer (i.e. > 2 speaker system), run alsamixer and disable the channels for the speakers that you '''DON'T''' have (i.e. don't enable the sound for the center speaker if you don't have a center speaker<br />
<br />
===Using a USB Headset and External USB Sound Cards===<br />
<br />
If you are using a USB headset with ALSA you can try using asoundconf (currently only available from the AUR) to set the headset as the primary sound output. ''note: before running please make sure you have usb audio modual enabled<br />
#modprobe snd-usb-audio<br />
<br />
you can add this to /etc/rc.conf if you wish''<br />
<br />
# asoundconf is-active<br />
# asoundconf list<br />
# asoundconf set-default-soundcard <chosen soundcard><br />
<br />
===KDE Settings===<br />
<br />
* Start up KDE:<br />
# startx<br />
<br />
* Set up the volumes as you want them for this user (each user has their own settings):<br />
# alsamixer<br />
<br />
Log out and log back in as user xyz to get sound to work (I had to kill X, logout then log back in as user xyz, then start X and open Firefox and bam audio working on YouTube)<br />
<br />
* '''KDE 3.3:''' Go to ''K Menu &rarr; Multimedia &rarr; KMix''<br />
** Choose ''Settings &rarr; Configure KMix...''<br />
** Uncheck the option "Restore volumes on logon"<br />
** Press OK, and you should be all set. Now your volumes will be the same from the command line or within KDE.<br />
<br />
===Error 'Unkown hardware' Appears After a Kernel Update===<br />
<br />
The following messages may be displayed during the start-up ALSA after the kernel update:<br />
Unknown hardware "foo" "bar" ...<br />
Hardware is initialized using a guess method<br />
/usr/sbin/alsactl: set_control:nnnn:failed to obtain info for control #mm (No such file or directory)<br />
<br />
Then, try to store ALSA mixer settings again:<br />
# alsactl store<br />
<br />
===HDA Analyzer===<br />
<br />
If the mappings to your audio pins(plugs) do not correspond but ALSA works fine, you could try HDA Analyzer -- a pyGTK2 GUI for HD-audio control can be found [http://www.alsa-project.org/main/index.php/HDA_Analyzer at the ALSA wiki].<br />
Try tweaking the Widget Control section of the PIN nodes, to make microphones IN and headphone jacks OUT. Referring to the Config Defaults heading is a good idea.<br />
<br />
==Example configurations==<br />
The following should serve as a guide for more advanced setups. The configuration takes place in /etc/asound.conf as mentioned earlier in this article. None of the following configurations are guaranteed to be working. <br />
<br />
===Upmixing of stereo sources to 7.1 using dmix while saturated sources do not get upmixed===<br />
# 2008-11-15<br />
#<br />
# This .asoundrc will allow the following:<br />
#<br />
# - upmix stereo files to 7.1 speakers.<br />
# - playback real 7.1 sounds, on 7.1 speakers,<br />
# - allow the playback of both stereo (upmixed) and surround(7.1) sources at the same time.<br />
# - use the 6th and 7th channel (side speakers) as a separate soundcard, i.e. for headphones<br />
# (This is called the "alternate" output throughout the file, device names prefixed with 'a')<br />
# - play mono sources in stereo (like skype & ekiga) on the alterate output<br />
#<br />
# Make sure you have "8 Channels" and NOT "6 Channels" selected in alsamixer!<br />
#<br />
# Please try the following commands, to make sure everything is working as it should.<br />
#<br />
# To test stereo upmix : speaker-test -c2 -Ddefault -twav<br />
# To test surround(5.1): speaker-test -c6 -Dplug:dmix6 -twav<br />
# To test surround(7.1): speaker-test -c6 -Dplug:dmix8 -twav<br />
# To test alternative output: speaker-test -c2 -Daduplex -twav<br />
# To test mono upmix: speaker-test -c1 -Dmonoduplex -twav<br />
#<br />
#<br />
# It may not work out of the box for all cards. If it doesnt work for you, read the comments throughout the file.<br />
# The basis of this file was written by wishie of #alsa, and then modified with info from various sources by <br />
# squisher. Svenstaro modified it for 7.1 output support.<br />
<br />
#Define the soundcard to use<br />
pcm.snd_card {<br />
type hw<br />
card 0<br />
device 0<br />
}<br />
<br />
# 8 channel dmix - output whatever audio, to all 8 speakers<br />
pcm.dmix8 {<br />
type dmix<br />
ipc_key 1024<br />
ipc_key_add_uid false<br />
ipc_perm 0660<br />
slave {<br />
pcm "snd_card"<br />
rate 48000<br />
channels 8<br />
period_time 0<br />
period_size 1024<br />
buffer_time 0<br />
buffer_size 5120<br />
}<br />
<br />
# Some cards, like the "nforce" variants require the following to be uncommented. <br />
# It routes the audio to the correct speakers.<br />
# bindings {<br />
# 0 0<br />
# 1 1<br />
# 2 4<br />
# 3 5<br />
# 4 2<br />
# 5 3<br />
# 6 6<br />
# 7 7<br />
# }<br />
}<br />
<br />
# upmixing - duplicate stereo data to all 8 channels<br />
pcm.ch71dup {<br />
type route<br />
slave.pcm dmix8<br />
slave.channels 8<br />
ttable.0.0 1<br />
ttable.1.1 1<br />
ttable.0.2 1<br />
ttable.1.3 1<br />
ttable.0.4 0.5<br />
ttable.1.4 0.5<br />
ttable.0.5 0.5<br />
ttable.1.5 0.5<br />
ttable.0.6 1<br />
ttable.1.7 1<br />
}<br />
<br />
# this creates a six channel soundcard<br />
# and outputs to the eight channel one<br />
# i.e. for usage in mplayer I had to define in ~/.mplayer/config:<br />
# ao=alsa:device=dmix6<br />
# channels=6<br />
pcm.dmix6 {<br />
type route<br />
slave.pcm dmix8<br />
slave.channels 8<br />
ttable.0.0 1<br />
ttable.1.1 1<br />
ttable.2.2 1<br />
ttable.3.3 1<br />
ttable.4.4 1<br />
ttable.5.5 1<br />
ttable.6.6 1<br />
ttable.7.7 1<br />
}<br />
<br />
# share the microphone, i.e. because virtualbox grabs it by default<br />
pcm.microphone {<br />
type dsnoop<br />
ipc_key 1027<br />
slave {<br />
pcm "snd_card"<br />
}<br />
}<br />
<br />
# rate conversion, needed i.e. for wine<br />
pcm.2chplug {<br />
type plug<br />
slave.pcm "ch71dup"<br />
}<br />
pcm.a2chplug {<br />
type plug<br />
slave.pcm "dmix8"<br />
}<br />
<br />
# routes the channel for the alternative<br />
# 2 channel output, which becomes the 7th and 8th channel <br />
# on the real soundcard<br />
#pcm.alt2ch {<br />
# type route<br />
# slave.pcm "a2chplug"<br />
# slave.channels 8<br />
# ttable.0.6 1<br />
# ttable.1.7 1<br />
#}<br />
<br />
# skype and ekiga are only mono, so route left channel to the right channel<br />
# note: this gets routed to the alternative 2 channels<br />
pcm.mono_playback {<br />
type route<br />
slave.pcm "a2chplug"<br />
slave.channels 8<br />
# Send Skype channel 0 to the L and R speakers at full volume<br />
#ttable.0.6 1<br />
#ttable.0.7 1<br />
}<br />
<br />
# 'full-duplex' device for use with aoss<br />
pcm.duplex {<br />
type asym<br />
playback.pcm "2chplug"<br />
capture.pcm "microphone"<br />
}<br />
<br />
#pcm.aduplex {<br />
# type asym<br />
# playback.pcm "alt2ch"<br />
# capture.pcm "microphone"<br />
#}<br />
<br />
pcm.monoduplex {<br />
type asym<br />
playback.pcm "mono_playback"<br />
capture.pcm "microphone"<br />
}<br />
<br />
# for aoss<br />
pcm.dsp0 "duplex"<br />
ctl.mixer0 "duplex"<br />
<br />
# softvol manages volume in alsa<br />
# i.e. wine likes this<br />
pcm.mainvol {<br />
type softvol<br />
slave.pcm "duplex"<br />
control {<br />
name "2ch-Upmix Master"<br />
card 0<br />
}<br />
}<br />
<br />
#pcm.!default "mainvol"<br />
<br />
# set the default device according to the environment<br />
# variable ALSA_DEFAULT_PCM and default to mainvol<br />
pcm.!default {<br />
@func refer<br />
name { @func concat <br />
strings [ "pcm."<br />
{ @func getenv<br />
vars [ ALSA_DEFAULT_PCM ]<br />
default "mainvol"<br />
}<br />
]<br />
}<br />
}<br />
<br />
# uncomment the following if you want to be able to control<br />
# the mixer device through environment variables as well<br />
#ctl.!default {<br />
# @func refer<br />
# name { @func concat <br />
# strings [ "ctl."<br />
# { @func getenv<br />
# vars [ ALSA_DEFAULT_CTL<br />
# ALSA_DEFAULT_PCM<br />
# ]<br />
# default "duplex"<br />
# }<br />
# ]<br />
# }<br />
#}<br />
<br />
===Surround51 incl. upmix stereo & dmix, swap L/R, bad speaker position in room===<br />
<br />
Bad practice but works fine for almost everything without additional per-program/file customization:<br />
pcm.!default {<br />
type route<br />
## forwards to the mixer pcm defined below<br />
slave.pcm dmix51<br />
slave.channels 6<br />
<br />
## "Native Channels" stereo, swap left/right<br />
ttable.0.1 1<br />
ttable.1.0 1<br />
## original normal left/right commented out<br />
# ttable.0.0 1<br />
# ttable.1.1 1<br />
<br />
## route "native surround" so it still works but weaken signal (+ RL/RF swap) <br />
## because my rear speakers are more like random than really behind me<br />
ttable.2.3 0.7<br />
ttable.3.2 0.7<br />
ttable.4.4 0.7<br />
ttable.5.5 0.7<br />
<br />
## stereo => quad speaker "upmix" for "rear" speakers + swap L/R<br />
ttable.0.3 1<br />
ttable.1.2 1<br />
<br />
## stereo L+R => join to Center & Subwoofer 50%/50%<br />
ttable.0.4 0.5<br />
ttable.1.4 0.5<br />
ttable.0.5 0.5<br />
ttable.1.5 0.5<br />
## to test: "$ speaker-test -c6 -twav" and: "$ speaker-test -c2 -twav"<br />
}<br />
<br />
pcm.dmix51 {<br />
type dmix<br />
ipc_key 1024<br />
# let multiple users share<br />
ipc_key_add_uid false <br />
# IPC permissions (octal, default 0600)<br />
# I think changing this fixed something - but I'm not sure what.<br />
ipc_perm 0660 # <br />
slave {<br />
## this is specific to my hda_intel. Often hd:0 is just allready it; To find: $ aplay -L <br />
pcm surround51 <br />
# this rate makes my soundcard crackle<br />
# rate 44100<br />
# this rate stops flash in firefox from playing audio, but I don't need that<br />
rate 48000<br />
channels 6<br />
## Any other values in the 4 lines below seem to make my soundcard crackle, too<br />
period_time 0<br />
period_size 1024<br />
buffer_time 0<br />
buffer_size 4096<br />
}<br />
}<br />
<br />
==External Resources==<br />
<br />
More info can be found here:<br />
* [http://www.mjmwired.net/kernel/Documentation/sound/alsa/ALSA-Configuration.txt Advanced ALSA module configuration]<br />
* [http://alsa.opensrc.org/index.php/Main_Page Unofficial ALSA Wiki]<br />
* [http://alsa.opensrc.org/index.php/Aadebug A simple shell script to aid ALSA audio debugging]<br />
* [http://bbs.archlinux.org/viewtopic.php?id=36815 HOWTO: Compile driver from svn]<br />
* [http://gentoo-wiki.com/HOWTO_Set_up_a_system-wide_equaliser_with_ALSA_and_LADSPA HOWTO Set up a system-wide equaliser with ALSA and LADSPA]<br />
<br />
* [http://archux.com/page/setting-audio Simple instructions for setting up ALSA]<br />
<!-- vim: set ft=Wikipedia: --></div>
Keiichi
https://wiki.archlinux.org/index.php?title=Network_configuration/Wireless&diff=86572
Network configuration/Wireless
2009-12-06T06:27:31Z
<p>Keiichi: tiny redirection fix</p>
<hr />
<div>[[Category:Communication and network (English)]]<br />
[[Category:Networking (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Wireless_Setup}}<br />
{{i18n_entry|Español|Wireless_Setup_(Español)}}<br />
{{i18n_entry|Italiano|Configurazione_Wireless}}<br />
{{i18n_entry|Nederlands|Draadloze_Configuratie}}<br />
{{i18n_entry|Deutsch|Drahtlos_Installation}}<br />
{{i18n_entry|简体中文|无线设置}}<br />
{{i18n_entry|Russian|Wireless_Setup_(Русский)}}<br />
{{i18n_entry|Türkçe|Kablosuz Bağlantı}}<br />
{{i18n_links_end}}<br />
Configuring wireless is a two-part process; the first part is to identify and ensure the correct driver for your wireless device is installed, (they are available on the installation media, so make sure you install them) and to configure the interface. The second is choosing a method of managing wireless connections. This article covers both parts, and provides additional links to wireless management tools.<br />
<br />
'''About new Arch systems:''' The wireless drivers and tools are available during Arch set-up under the ''base-devel'' category. Be sure to install the proper driver for your card. Udev will usually load the appropriate module, thereby creating the wireless interface, in the initial live system of the installer, as well as the newly installed system on your hard drive. If you are configuring your wireless functionality after, and not during, Arch installation, simply ensure the required packages are installed with pacman, (driver, firmware if needed, wireless_tools, wpa_supplicant, etc.) and follow the guidelines below.<br />
<br />
==Part I: Identify the card and driver==<br />
<br />
===First steps===<br />
#Check to see whether the Linux kernel supports your hardware. You can find your card with 'lspci | grep -i net'. The [https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported Ubuntu Wiki] has an extensive list of wireless cards and whether or not they are supported by available linux kernel drivers.<br />
#*Check the [http://linux-wless.passys.nl/ Linux Wireless Support] page for your hardware or in The Linux Questions [http://www.linuxquestions.org/hcl/index.php?cat=10 hardware compatibility list] (HCL), which also has a good list of Linux-friendly hardware <br />
#*Also, [http://wireless.kernel.org/en/users/Devices this page] has a matrix of supported hardware.<br />
#If the hardware is supported only under Windows<br />
#*[http://ndiswrapper.sourceforge.net/wiki/index.php/List ndiswrapper] for hardware supported only under Windows (some Broadcom, 3com, etc)<br />
#*You will need the .inf and .sys files from your Windows driver -- [http://ndiswrapper.sourceforge.net/mediawiki/index.php/List check here]<br />
#If your hardware is not listed anywhere<br />
#*Try a web search for the exact model name of your hardware with the word "linux" - and feel free to ask for help on [http://bbs.archlinux.org the forums]<br />
#*There is a chance that your hardware will not function under GNU/Linux (however, this is rarely the case)<br />
<br />
===How it works===<br />
The Arch kernel is ''modular'', meaning many of the drivers for machine hardware reside on the hard drive and are available as ''modules''. At boot, udev takes an inventory of your hardware. Udev will load appropriate modules (drivers) for your corresponding hardware, and the driver, in turn, will allow creation of a kernel ''interface''. <br />
<br />
The interface name for different drivers and chipsets will vary. Some examples are wlan0, eth1, and ath0.<br />
<br />
*Note: Udev is not perfect. If the proper module is not loaded by udev on boot, simply modprobe it and add the module name to etc/rc.conf on the '''MODULES=''' line.<br />
<br />
===Installation===<br />
<br />
====If you have wired internet available====<br />
If you have wired ethernet available, and are simply adding wireless functionality to an existing system, and did not include wireless_tools during initial installation, use pacman to install:<br />
# pacman -S wireless_tools<br />
The drivers' corresponding package names are all highlighted in '''bold''' on this page. The packages can be installed during initial package selection on the Arch installation media and can also be installed later with pacman, e.g.:<br />
# pacman -S madwifi<br />
<br />
====If you have only wireless internet available====<br />
The '''wireless_tools''' package is now available as part of the base system and is also on the live installation media (CD/USB stick image) under the '''base-devel''' category. <br />
<br />
You cannot initialize wireless hardware without these user-space tools, so ensure they are installed from the installer media, (during package selection), especially if you have no other means of networking other than wirelessly. Otherwise, you will be stuck in a recursion when you reboot your newly installed Arch system; you will need wireless_tools and drivers, but in order to get them, you will need wireless_tools and drivers.<br />
<br />
===Drivers and firmware===<br />
Methods and procedures for installing drivers for various chip-sets are covered below. In addition, certain chip-sets require the installation of corresponding ''firmware'' (also covered below).<br />
<br />
====wlan-ng====<br />
Packages: '''wlan-ng26-utils'''<br />
<br />
This driver support PRISM based cards, which are hard to find now. The PRISM card is an IEEE 802.11 compliant 2.4 GHz DSSS WLAN network interface card that uses the Intersil PRISM chip-set for its radio functions and the AMD PCNet-Mobile chip (AM79C930) for its Media Access Controller (MAC) function. The supported adapters can be found from here: http://www.linux-wlan.org/docs/wlan_adapters.html.gz<br />
<br />
For wlan-ng you do not need the wireless_tools package as mentioned above. Instead you will need to learn the tools in the wlan-ng26-utils package: '''wlancfg and wlanctl-ng'''.<br />
<br />
See http://www.linux-wlan.org/<br />
<br />
====rt2860 and rt2870====<br />
In kernel since 2.6.29 and requires no extra packages. It can be configured using the standard wpa_supplicant and iwconfig tools.<br />
<br />
It has a wide range of options that can be configured with iwpriv. These are documented in the [http://www.ralinktech.com/ralink/Home/Support/Linux.html source tarballs] available from Ralink<br />
<br />
For rt2870sta, also see [[Rt2870]]<br />
<br />
====w322u====<br />
Treat this Tenda card as an rt2870sta. See: [[Rt2870]]<br />
<br />
====rtl8180====<br />
Realtek rtl8180 PCI/Cardbus 802.11b now fully supported in the kernel. It can be configured using the standard wpa_supplicant and iwconfig tools.<br />
<br />
====rt2x00====<br />
Unified driver for Ralink chip-sets (replaces rt2500,rt61,rt73 etc). In kernel since 2.6.24, some devices require extra firmware. It can be configured using the standard wpa_supplicant and iwconfig tools.<br />
<br />
Some chips require a firmware file, which can be installed as follows, depending on the chip-set:<br />
<pre>pacman -S rt2x00-rt71w-fw</pre><br />
<pre>pacman -S rt2x00-rt61-fw</pre><br />
<br />
See: [[Using the new rt2x00 beta driver]]<br />
<br />
====rt2500, rt61, rt73 (obsolete)====<br />
For Ralink <br />
* PCI/PCMCIA based rt2500 series chip-sets.<br />
* PCI/PCMCIA based rt61 series chip-sets<br />
* USB based rt73 series chip-sets. <br />
<br />
Drivers are now '''obsolete''' and '''unsupported'''. The rt2x00 driver family is stable and to be used instead.<br />
<br />
Support standard iwconfig tools for unencrypted and WEP connections, although it can be quite sensitive to the order of commands.<br />
The driver does support WPA (using hardware encryption), but in a non-standard way. wpa_supplicant appears to include special support for this driver, and it is also possible to negotiate a WPA connection manually using iwpriv commands.<br />
See [http://rt2400.cvs.sourceforge.net/*checkout*/rt2400/source/rt2500/Module/iwpriv_usage.txt these instructions] for details.<br />
<br />
====madwifi====<br />
Package: '''madwifi'''<br />
<br />
The module is called <tt>ath_pci</tt>. The newer module, ath5k, will eventually phase out ath_pci.<br />
modprobe ath_pci<br />
for the older driver, or:<br />
modprobe ath5k<br />
for the development version. Note that not all cards work with ath5k yet.<br />
<br />
If using ath_pci, you may need to blacklist ath5k by adding it to the MODULES=array in /etc/rc.conf, and subsequently prefixing it with a bang (!):<br />
MODULES=(!ath5k forcedeth snd_intel8x0 ... ...)<br />
<br />
Some users '''may need''' to use the 'countrycode' option when loading the MadWifi driver in order to use channels and transmit power settings that are legal in their country/region. In the Netherlands, for example, you would load the module like this:<br />
<br />
modprobe ath_pci countrycode=528<br />
<br />
You can verify the settings with the <tt>iwlist</tt> command. See <tt>man iwlist</tt> and the [http://madwifi-project.org/wiki/UserDocs/CountryCode CountryCode page on the MadWifi wiki]. To have this setting automatically applied during boot, add the following to <tt>/etc/modprobe.d/modprobe.conf</tt>:<br />
<br />
{{Note| The new module-init-tools 3.8 package changes the location of the configuration file: /etc/modprobe.conf is no longer read, instead /etc/modprobe.d/modprobe.conf is used. [http://www.archlinux.org/news/450/ link]}}<br />
<br />
options ath_pci countrycode=528<br />
<br />
{{Note|A user had to remove the countrycode option completely or else the ath0 device was not created (kernel 2.6.21).}}<br />
<br />
====ath9k====<br />
ath9k is Atheros' officially supported driver for the newer 11n chip-sets. All of the chips with 11n capabilities are supported, with a maximum throughput around 180 Mbps. To see a complete list of supported hardware, check this [http://wireless.kernel.org/en/users/Drivers/ath9k page].<br />
<br />
Working modes: Station, AP and Adhoc.<br />
<br />
ath9k has been part of the kernel as of 2.6.27. But it has undergone some heavy development, and the changes have not propagated to the mainline kernel tree yet.<br />
The best solution would be to use the [http://wireless.kernel.org/en/users/Download compat-wireless] package for now.<br />
A [https://lists.ath9k.org/mailman/listinfo/ath9k-devel mailing list] exists for support and development related discussions.<br />
<br />
====ipw2100 and ipw2200====<br />
Fully supported in the kernel, but requires additional firmware. It can be configured using the standard wpa_supplicant and iwconfig tools.<br />
<br />
Depending on which of the chips you have, use either:<br />
<br />
'''ipw2100-fw'''<br />
pacman -S ipw2100-fw<br />
<br />
or:<br />
<br />
'''ipw2200-fw'''<br />
pacman -S ipw2200-fw<br />
<br />
If installing after initial Arch installation, the module may need to be reloaded for the firmware to be loaded; run the following as root:<br />
<br />
rmmod ipw2200<br />
modprobe ipw2200<br />
<br />
=====Enabling the radiotap interface=====<br />
Launch the following (as root):<br />
<br />
rmmod ipw2200<br />
modprobe ipw2200 rtap_iface=1<br />
<br />
=====Enabling the LED=====<br />
Most laptops will have a front LED to indicate when the wireless is connected (or not). Run the following (as root) to enable this feature:<br />
<br />
echo "options ipw2200 led=1" >> /etc/modprobe.d/ipw2200.conf<br />
<br />
or if using sudo:<br />
<br />
echo "options ipw2200 led=1" | sudo tee -a /etc/modprobe.d/ipw2200.conf<br />
<br />
====iwl3945, iwl4965 and iwl5000-series====<br />
'''I'''ntel's open source '''W'''iFi drivers for '''L'''inux (See [http://intellinuxwireless.org iwlwifi]) will work for both the 3945 and 4965 chipsets since kernel v2.6.24. And iwl5000-series chipsets (including 5100BG, 5100ABG, 5100AGN, 5300AGN and 5350AGN) module has been supported since '''kernel 2.6.27''', by the intree driver '''iwlagn'''.<br />
<br />
=====Installing Firmware (Microcode)=====<br />
Install the appropriate firmware package for your chipset:<br />
# pacman -S iwlwifi-3945-ucode<br />
or:<br />
# pacman -S iwlwifi-4965-ucode<br />
or:<br />
# pacman -S iwlwifi-5000-ucode<br />
<br />
If you need wireless connectivity to access pacman's repositories, the firmware files are also available direct from Intel. See [http://intellinuxwireless.org/?n=downloads this ] page, select and download the archive.<br />
$ wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-XXXX-ucode-XXX.XX.X.XX.tgz<br />
<br />
After downloading, you must extract and copy the *.ucode file to the firmware directory, commonly /lib/firmware<br />
# tar zxvf iwlwifi-XXXX-ucode-XXX.XX.X.XX.tgz<br />
# cd iwlwifi-XXXX-ucode-XXX.XX.X.XX/<br />
# cp iwlwifi-XXXX-X.ucode /lib/firmware/<br />
<br />
=====Loading the Driver=====<br />
If MOD_AUTOLOAD is set to yes in /etc/rc.conf (it is by default) that should be all that is required. Simply check for the presence of the drivers by running '''ifconfig -a''' from a terminal. There should be a listing for wlan0.<br />
<br />
To manually load the driver at startup, edit <tt>/etc/rc.conf</tt> as root and add '''iwl3945''' or '''iwl4965''' respectively to the MODULES array. For example:<br />
<br />
MODULES=( ... b44 mii '''iwl3945''' snd-mixer-oss ...)<br />
<br />
The drivers should now load after a reboot, and running '''ifconfig -a''' from a terminal should report '''wlan0''' as a new network interface.<br />
<br />
=====Other Notes=====<br />
* The windows NETw4x32 driver can be used with ndiswrapper as an alternative to the iwl3945 and ipw3945 drivers<br />
* In some cases (specifically a [[Dell Latitude D620]] with Arch 2008.06, though it could happen elsewhere) after installation you may have both iwl3945 and ipw3945 in your <tt>MODULES=()</tt> section of rc.conf. The card will not work with both modules loaded, so you will have to ! out the ipw3945 module and then reboot or remove the module manually before you can use your wireless card.<br />
* By default iwl3945 is configured to only work with networks on channels 1-11. Higher ranges are not allowed in some parts of the world (US). In the EU however channels 12 and 13 are used quite common. To make iwl3945 scan for all channels, add "options cfg80211 ieee80211_regdom=EU" to /etc/modprobe.d/options. With "iwlist f" you can check which channels are allowed.<br />
* If you want to enable more channels on Intel Wifi 5100 (and quite possible other cards too) you can do that with the crda package. After install, edit /etc/conf.d/wireless-regdom and uncomment the line where your country code is found. Add wireless-regdom to your DAEMONS in rc.conf and restart (which is the easiest thing to do). You should now, when writing sudo iwlist wlan0 channel, have access to more channels (depending on your location).<br />
<br />
====ipw3945 (obsolete)====<br />
{{Note| ''The ipw3945 driver is no longer actively developed, and the iwlwifi driver (described above) should work perfectly, but may conflict with the former one. So, only one of them should be installed. If you choose to use the iwlwifi driver you still do need the '''ipw3945-ucode''' package though.''}}<br />
# pacman -S ipw3945 ipw3945-ucode ipw3945d<br />
To initialize the driver on startup, edit <tt>/etc/rc.conf</tt> as root and add '''ipw3945''' to the MODULES array and '''ipw3945d''' to the DAEMONS array. For example:<br />
<br />
MODULES=(... mii '''ipw3945''' snd-mixer-oss ...)<br />
<br />
DAEMONS=(syslog-ng '''ipw3945d''' network ...)<br />
<br />
'''Note:''' The '''ipw3945d''' daemon ''must'' be inserted BEFORE network and dhcdbd/networkmanager in the array.<br />
<br />
====orinoco====<br />
This should be part of the kernel package and be installed already.<br />
<br />
Note: Some orinoco chipsets are Hermes I/II. You can use http://aur.archlinux.org/packages.php?ID=9637 to replace the orinoco driver and gain WPA support. See http://ubuntuforums.org/showthread.php?p=2154534#post2154534 for more information.<br />
<br />
To use the driver, blacklist orinoco_cs in rc.conf (!orinoco_cs in the MODULES array) and add wlags49_h1_cs. Example:<br />
MODULES=(!snd_pcsp !eepro100 ''!orinoco_cs'' '''wlags49_h1_cs''')<br />
<br />
====ndiswrapper====<br />
Ndiswrapper is not a real driver, but you can use it when there are no native Linux drivers for your wireless chips. So it is very useful in some situations. To use it you need the *.inf file from your Windows driver (the *.sys file must also be present in the same directory). Be sure to use drivers appropriate to your architecture (i.e. 32/64bit). If you need to extract these files from an *.exe file, you can use either cabextract or wine. Ndiswrapper is included on the Arch Linux installation CD.<br />
<br />
Follow these steps to configure ndiswrapper.<br />
<pre><br />
#Install the driver to /etc/ndiswrapper/*<br />
ndiswrapper -i filename.inf<br />
#List all installed driver for ndiswrapper<br />
ndiswrapper -l<br />
#Write configuration file in /etc/modprobe.d/ndiswrapper.conf<br />
ndiswrapper -m<br />
depmod -a</pre><br />
<br />
Now the ndiswrapper install is almost finished; you just have to update /etc/rc.conf to load the module at boot (below is a sample of my config; yours might look slightly different):<br />
<br />
<pre>MODULES=(ndiswrapper snd-intel8x0 !usbserial)</pre><br />
<br />
The important part is making sure that ndiswrapper exists on this line, so just add it alongside the other modules. It would be best to test that ndiswrapper will load now, so:<br />
<br />
<pre>modprobe ndiswrapper<br />
iwconfig</pre><br />
<br />
and wlan0 should exist. Check this page if you're having problems:<br />
[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,installation/ Ndiswrapper installation wiki].<br />
<br />
====prism54====<br />
Download the firmware driver for your appropriate card from [http://www.prism54.org/ this site]. Rename the firmware file to 'isl3890'.<br />
If nonexistent, create the directory /lib/firmware and place the file 'isl3890' in it. This should do the trick. [http://bbs.archlinux.org/viewtopic.php?t=16569&start=0&postdays=0&postorder=asc&highlight=siocsifflags+such+file++directory]<br />
<br />
If that did not work, try this:<br />
<br />
*Reload the prism module (modprobe p54usb or modprobe p54pci, depending on your hardware)<br />
alternatively remove your wifi card and then reconnect it<br />
*Use the "dmesg" command, and look at the end of the output it prints out.<br />
Look for a section looking like this: <br />
firmware: requesting '''isl3887usb_bare'''<br />
p54: LM86 firmware<br />
p54: FW rev 2.5.8.0 - Softmac protocol 3.0<br />
and try renaming the firmware file to the name corresponding to the part bolded here.<br />
<br />
====ACX100/111====<br />
packages: tiacx tiacx-firmware<br />
<br />
The driver should tell you which firmware it needs; check /var/log/messages.log or use the dmesg command.<br />
<br />
Link the appropriate firmware to '/lib/firmware':<br />
ln -s /usr/share/tiacx/acx111_2.3.1.31/tiacx111c16 /lib/firmware<br />
<br />
For another way to determine which firmware revision number to use, see the [http://acx100.sourceforge.net/wiki/Firmware "Which firmware" section] of the acx100.sourceforge wiki. For ACX100, you can follow the links provided there, to a table of card model number vs. "firmware files known to work"; you can figure out the rev. number you need, by looking at the suffix there. E.g. a dlink_dwl650+ uses "1.9.8.b", in which case you'd do this:<br />
ln -s /usr/share/tiacx/acx100_1.9.8.b/* /lib/firmware<br />
<br />
If you find that the driver is spamming your kernel log, for example because you're running Kismet with channel-hopping, you could put this in /etc/modprobe.d/modprobe.conf:<br />
options acx debug=0<br />
<br />
{{Note|The open-source acx driver does not support WPA/RSN encryption. Ndiswrapper will have to be used with the windows driver to enable the enhanced encryption. See ndiswrapper, this page, for more details.}}<br />
<br />
====BCM43XX====<br />
Broadcom users that have 43xx series chipsets have a new alternative to ndiswrapper. In kernel version 2.6.17, the bcm43xx driver was introduced.<br />
<br />
#Run <pre>iwconfig</pre> or <pre>hwd -s</pre> to determine that you have an appropriate card. Example: <pre>Network : Broadcom Corp.|BCM94306 802.11g NIC module: unknown</pre> For a list of supported devices, see [http://bcm43xx.berlios.de/?go=devices this].<br />
#Run <pre>pacman -Sy b43-fwcutter</pre> to install the firmware cutter application.<br />
#Download the Windows driver file for your card from which to extract the firmware.<br />
#If you download the driver from Dell's website, you must run in on a Windows machine or under WINE (it is a .exe file that extracts itself to C:\Dell\[driver numbers]). Or you may try [http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o], [http://freewebs.com/ronserver/bcm43xx.tar.gz] or [http://xeve.de/down/wl_apsta.o]. You will not need it after the next step, so location where it is saved is not important.<br />
#Run <pre>bcm43xx-fwcutter -w /lib/firmware /home/&lt;user&gt;/Desktop/wl_apsta.o</pre> You may have to create /lib/firmware first.<br />
#Restart, and configure your device as normal. You may want to add bcm43xx into the modules section of your rc.conf file. Good luck!<br />
<br />
====b43====<br />
This driver is the successor to the bcm43xx driver, and is included in kernel 2.6.24.<br />
<br />
#Run <pre>lspci</pre> to determine that you have an appropriate card. An example: <pre>0c:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)</pre> For a list of supported devices, see [http://linuxwireless.org/en/users/Drivers/b43/devices here]. <br><br> Either install the "b43-firmware" package from [http://aur.archlinux.org/packages.php?ID=21690 AUR], or perform the following steps manually:<br />
#Install the firmware cutter application from core. It is named "b43-fwcutter".<br />
#Because Arch has kernel >=2.6.25, download version 4.150.10.5 of Broadcom's proprietary driver. The older version(4.80.53.0) will be dropped in July. <pre>wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2</pre><br />
#Unpack the compressed file.<pre>tar xjf broadcom-wl-4.150.10.5.tar.bz2</pre><br />
#Change the current directory to the newly created directory, and then further to the driver folder: <pre>cd broadcom-wl-4.150.10.5/driver</pre><br />
#Create /lib/firmware if you do not have and then Run <pre>b43-fwcutter -w "/lib/firmware/" wl_apsta_mimo.o</pre> <br />
#Restart, and configure your device as normal.<br />
You may want to add b43 into the modules section of your rc.conf file.<pre>MODULES=(...b43 !bcm43xx !ndiswrapper...)</pre><br />
<br />
====broadcom-wl====<br />
For recent Broadcom 43xx cards not supported by bcm43xx or b43. Not just for 4312 cards. See the [[Broadcom_BCM4312|Broadcom 4312 wiki page]]. It is available in [http://aur.archlinux.org/packages.php?ID=19514 AUR]. These chipsets are used in most Dell laptops, among others.<br />
<br />
====rtl8187====<br />
See: [[Rtl8187_wireless|rtl8187]]<br />
<br />
====zd1211rw====<br />
[http://zd1211.wiki.sourceforge.net/ zd1211rw] is a driver for the ZyDAS ZD1211 802.11b/g USB WLAN chipset and it is included in recent versions of the Linux kernel. See [http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices] for a list of supported devices. You only need to install the firmware for the device: <pre>pacman -Sy zd1211-firmware</pre><br />
<br />
===Test installation===<br />
After loading your driver run<br />
iwconfig<br />
and see if a wireless interface (wlan''x'', eth''x'', ath''x'') is recognized.<br />
<br />
If <code>iwlist scan</code> displays <code>Interface does not support scanning</code> then you probably forgot to install the firmware.<br />
<br />
==Part II: Wireless management==<br />
Assuming that your drivers are installed and working properly, you will need to choose a method for managing your wireless connections. The following subsections will help you decide the best way to do just that.<br />
<br />
Procedure and tools you will need will depend on several factors:<br />
* The '''easiness of configuration management''', from a completely manual setup procedure that you will need to repeat at each boot to a software-managed, automatic solution<br />
* The '''encryption type''' (or not) that protects the wireless network<br />
* If you need '''network profiles''', i.e. if your computer will frequently change networks (such as a laptop)<br />
<br />
===Management methods===<br />
This table shows the different methods that can be used to activate and manage a wireless network connection, depending on the encryption and management types, and the various tools that are required. Although there may be other possibilities, these are the most frequently used:<br />
{| border="1"<br />
! Management || No encryption/WEP || WPA/WPA2 PSK<br />
|-<br />
| Manual, need to repeat at each computer reboot || <code>ifconfig + iwconfig + dhcpcd/ifconfig</code> || <code>ifconfig + iwconfig + wpa_supplicant + dhcpcd/ifconfig</code><br />
|-<br />
| Automatically managed, centralized without network profile support || define interface in <code>/etc/rc.conf</code> || not covered<br />
|-<br />
| Automatically managed, with network profiles support || colspan="2" align="center" | <code>Netcfg, wicd, NetworkManager, etc…</code><br />
|}<br />
<br />
Whatever your choice, you should try to connect using the manual method first. This will help you understand the different steps that are required and debug them in case a problem arose. Another tip: if possible (e.g. if you manage your wifi access point), try connecting with no encryption, to check everything works. Then try using encryption, either WEP (simpler to configure) or WPA.<br />
<br />
====Manual setup====<br />
The programs provided by the package '''wireless_tools''' are the basic set of tools to set up a wireless network. Moreover, if you use WPA/WPA2 encryption, you will need the package '''wpa_supplicant'''. These powerful users-pace console tools work extremely well and allow complete, manual control from the shell.<br />
<br />
These examples assume your wireless device is <code>wlan0</code>. Replace <code>wlan0</code> with the appropriate device name.<br />
{{Note| Depending on your hardware and encryption type, some of these steps may not be necessary. Some cards are known to require interface activation and/or access point scanning before being associated to an access point and being given an IP address. Some experimentation may be required. For instance, WPA/WPA2 users may directly try to activate their wireless network from step 3.}}<br />
<br />
1. ''(Optional, may be required)'' Some cards require that the kernel interface be activated before you can use the wireless_tools:<br />
# ifconfig wlan0 up<br />
<br />
2. ''(Optional, may be required)'' See what access points are available:<br />
# iwlist wlan0 scan<br />
<br />
3. Depending on the encryption, you need to associate your wireless device with the access point to use and pass the encryption key.<br />
<br />
Assuming you want to use the ESSID named <code>MyEssid</code>:<br />
* ''No encryption''<br />
# iwconfig wlan0 essid "MyEssid"<br />
* ''WEP''<br />
using an hexadecimal key:<br />
# iwconfig wlan0 essid "MyEssid" key 1234567890<br />
using an ascii key:<br />
# iwconfig wlan0 essid "MyEssid" key s:asciikey<br />
* ''WPA/WPA2''<br />
<br />
You need to edit the <code>/etc/wpa_supplicant.conf</code> file as described in [[WPA_Supplicant]]. Then, issue this command:<br />
# wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf<br />
<br />
This is assuming your device uses the <code>wext</code> driver. If this does not work, you may need to adjust these options. Check [[WPA_Supplicant]] for more information and troubleshooting.<br />
<br />
4. Finally, provide an IP address to the network interface. Simple examples are:<br />
# dhcpcd wlan0<br />
for DHCP, or<br />
# ifconfig wlan0 192.168.0.2<br />
# route add default gw 192.168.0.1<br />
for static IP.<br />
<br />
{{Note| Although the manual configuration method will help troubleshoot wireless problems, you will have to retype every command each time you reboot.}}<br />
<br />
====Automatic setup====<br />
There are many solutions to choose from, but remember that all of them are mutually exclusive; you should not run two daemons simultaneously.<br />
<br />
=====Standard network daemon=====<br />
{{Note| This method and configuration examples are only valid for unencrypted or WEP-encrypted networks, which are particularly unsecure. To use WPA/WPA2, you will need to use other solutions such as such as '''[[netcfg]]''' or '''[[wicd]]'''. Also, avoid mixing these methods as they may create a conflict and prevent the wireless card from functioning.}}<br />
<br />
* The '''/etc/rc.conf''' file is sourced by the network script. Therefore, you may define and configure a simple wireless setup within /etc/rc.conf for a centralized approach with '''wlan_<interface>="<interface> essid <essid>"''' and '''INTERFACES=(<interface1> <interface2>)'''. The name of the network goes in place of '''MyEssid'''.<br />
<br />
For example:<br />
# /etc/rc.conf<br />
eth0="dhcp"<br />
wlan0="dhcp"<br />
wlan_wlan0="wlan0 essid MyEssid" # Unencrypted<br />
#wlan_wlan0="wlan0 essid MyEssid key 1234567890" # hex WEP key<br />
#wlan_wlan0="wlan0 essid MyEssid key s:asciikey" # ascii WEP key<br />
INTERFACES=(eth0 wlan0)<br />
<br />
Not all wireless cards are <code>wlan0</code>. Determine your wireless interface with ifconfig -a. <br />
Atheros-based cards, for example, are typically <code>ath0</code>, so change <code>wlan_wlan0</code> to:<br />
wlan_ath0="ath0 essid MyEssid key 12345678" <br />
Also define ath0 in the INTERFACES=line.)<br />
<br />
* Alternatively, you may define wlan_<interface> within /etc/conf.d/wireless, (which is also sourced by the network script), for a de-centralized approach:<br />
# /etc/conf.d/wireless<br />
wlan_wlan0="wlan0 essid MyEssid"<br />
<br />
These solutions are limited for a laptop which is always on the move. It would be good to have multiple [[Network Profiles]] and be able to easily switch from one to another. That is the aim of network managers, such as netcfg.<br />
<br />
=====Netcfg=====<br />
'''netcfg''' provides a ''versatile, robust and fast'' solution to networking on Arch.<br />
<br />
It uses a profile based setup and is capable of detection and connection to a wide range of network types. This is no harder than using graphical tools. Following the directions above, you can get a list of wireless networks. Then, as with graphical tools, you will need a password.<br />
<br />
See: [[Network Profiles]], and [[Network Profiles development]]<br />
<br />
=====Autowifi=====<br />
Autowifi is a daemon that configures your wireless network automatically depending on the ESSID. Once configured, no user interaction is necessary and no GUI tools are required.<br />
<br />
See: [[Autowifi]]<br />
<br />
=====Wicd=====<br />
Wicd is a network manager that can handle both wireless and wired connections. It is written in Python and Gtk with fewer dependencies than NetworkManager, making it an ideal solution for lightweight desktop users. Wicd is now available in the extra repository for both i686 and x86_64.<br />
<br />
See: [[Wicd]]<br />
<br />
=====NetworkManager=====<br />
NetworkManager is an advanced network management tool that is enabled by default in most popular Linux distributions. In addition to managing wired connections, NetworkManager provides worry-free wireless roaming with an easy-to-use GUI program for selecting your desired network. <br />
<br />
See: [[NetworkManager]]<br />
<br />
=====Wifi Radar=====<br />
WiFi Radar is Python/PyGTK2 utility for managing wireless profiles (and ''only'' wireless). It enables you to scan for available networks and create profiles for your preferred networks.<br />
<br />
See: [[Wifi Radar]]<br />
<br />
=====Wlassistant=====<br />
Wlassistant is a very intuitive and straightforward GUI application for managing your wireless connections. <br />
<br />
Install from AUR: http://aur.archlinux.org/packages.php?ID=1726<br />
<br />
Wlassistant must be run with root privileges:<br />
# sudo wlassistant<br />
One method of using wlassistant is to configure your wireless card within /etc/rc.conf, specifying the access point you use most often. On startup, your card will automatically be configured for this ESSID, but if other wireless networks are needed/available, wlassistant can then be invoked to access them. Background the network daemon in /etc/rc.conf, by prefixing it with a @, to avoid boot delays.<br />
<br />
==See also==<br />
*[[Sharing ppp connection with wlan interface]]<br />
<br />
==External links==<br />
*[http://www.gnome.org/projects/NetworkManager/ NetworkManager] -- The official website for NetworkManager<br />
*[http://wicd.sourceforge.net/ WICD] -- The official website for WICD<br />
*[https://lists.anl.gov/mailman/listinfo/wifi-radar Wifi Radar] -- Wifi Radar information page<br />
*[http://madwifi.org/wiki/UserDocs/FirstTimeHowTo The madwifi project's method of installing] -- Recommended if you are having trouble after reading this article</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Xorg&diff=86571
Xorg
2009-12-06T06:23:40Z
<p>Keiichi: redirection fixes</p>
<hr />
<div>[[Category:X Server (English)]][[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Dansk|Xorg (Dansk)}}<br />
{{i18n_entry|English|Xorg}}<br />
{{i18n_entry|Ελληνικά|Xorg (Ελληνικά)}}<br />
{{i18n_entry|Español|Configurando Xorg (Español)}}<br />
{{i18n_entry|Polski|Xorg_(Polski)}}<br />
{{i18n_entry|Русский|Xorg (Русский)}}<br />
{{i18n_entry|Česky|Xorg (Česky)}}<br />
{{i18n_entry|Italiano|Xorg (Italiano)}}<br />
{{i18n_entry|简体中文|Xorg (简体中文)}}<br />
{{i18n_entry|Türkçe|Xorg (Türkçe)}}<br />
{{i18n_entry|Français|Xorg (Français)}}<br />
{{i18n_links_end}}<br />
'''Xorg''' is the public, open-source implementation of the X Window System Version 11. (See the [[Wikipedia:X.Org Server|Xorg]] Wikipedia article or visit the [http://www.x.org/wiki/ Xorg website] for more details) Basically, if you desire a GUI program in Arch Linux, you will want Xorg.<br />
<br />
==Installing==<br />
<br />
Before beginning, make sure you do the following:<br />
#Make sure that [[pacman]] is configured and refreshed ( pacman -Syy ).<br />
#Make a note about third-party drivers (e.g., [[NVIDIA]] or [[ATI]] drivers). <br />
<br />
First install the complete 'xorg' group:<br />
# pacman -S xorg<br />
<br />
The default 'vesa' driver, though widely compatible with nearly all available chip sets, is merely a fall-back (not accelerated and does not support many resolutions). Therefore, a proper video driver should be installed if possible. This command will list all open source video drivers available:<br />
# pacman -Ss xf86-video<br />
<br />
Look for the appropriate driver for your card and install it with {{Codeline|pacman -S}}. <br />
<br />
To discover which card is in your system:<br />
$ lspci | grep "VGA"<br />
You can also install [[hwdetect]] ({{Codeline|pacman -S hwdetect}}) or {{Package AUR|lshw}} (available in the [[Arch User Repository]]):<br />
$ hwdetect -s<br />
or:<br />
$ lshw -short<br />
<br />
===Changes with modular Xorg===<br />
<br />
This section serves as a reference for those accustomed to older versions of Xorg. Most users can skip to section [[#Configuring|Configuring]].<br />
<br />
====Most Common Packages====<br />
<br />
Make sure you install drivers for mouse, keyboard and video card. For mouse and keyboard, '''xf86-input-evdev''' should be sufficient. If not, '''xf86-input-keyboard''' and '''xf86-input-mouse''' should be installed. Other '''xf86-input-*''' packages are available for different input devices.<br />
<br />
For the video card, find out which driver is required and install the corresponding '''xf86-video-*''' package.<br />
<br />
To install all drivers in one run, the '''xorg-input-drivers''' and '''xorg-video-drivers''' are available.<br />
<br />
====OpenGL 3D Acceleration====<br />
<br />
X.Org 7.0 on Arch Linux uses a modular design for mesa, the OpenGL rendering system. Several implementations are available:<br />
* libgl-dri: Open-source DRI OpenGL implementation. Falls back to software rendering when no DRI driver is installed<br />
* Some other driver providing libGL (ati, nvidia)<br />
<br />
When pacman installs an application that needs mesa, it will install one of these packages. To be sure about the right library for your setup, install the library you want prior to installing Xorg. Installing the right package afterwards is also possible, though this gives some dependency errors sometimes, which can be ignored with the -d switch.<br />
<br />
====Glxgears and Glxinfo====<br />
<br />
These applications are included in the 'mesa' package.<br />
<br />
====Changed paths (and configuration)====<br />
<br />
Xorg now installs everything in <tt>/usr</tt>, where the older versions installed in <tt>/usr/X11R6</tt>. Several configuration files need updates:<br />
* {{Filename|/etc/X11/xorg.conf}}<br />
** Font paths reside in /usr/share/fonts<br />
** RGB database is in /usr/share/X11/rgb<br />
** Module path is /usr/lib/xorg/modules<br />
<br />
Also note that some X configuration tools might stop working. The easiest way to configure Xorg is by installing the correct driver packages and running {{Codeline|Xorg -configure}}, which results in a {{Filename|xorg.conf.new}} which only needs modification in the resolutions, mouse configuration and keyboard layouts.<br />
<br />
Some packages have hard-coded references to <tt>/usr/X11R6</tt>. These packages need fixing. In the meantime, look what packages install files in <tt>/usr/X11R6</tt>, uninstall those, make a symlink from <tt>/usr</tt> to <tt>/usr/X11R6</tt> and reinstall the affected packages. Another option is to move the contents of <tt>/usr/X11R6</tt> to <tt>/usr</tt> and make the symlink.<br />
<br />
Or you can just add a second module path via:<br />
ModulePath "/usr/X11R6/lib/modules"<br />
This works e.g. for Nvidia 76.76.<br />
<br />
{{Note|See this entry for additional upgrade info: http://www.archlinux.org/blog/2006/01/02/how-to-upgrade-xorg/}}<br />
<br />
==Configuring==<br />
<br />
Before you can run Xorg, you may need to configure it so that it knows about your graphics card, monitor, mouse and keyboard. Current versions of Xorg effectively auto-detects (with the help of [[HAL]]) most hardware without previous configuration. Because of these improvements, it may be advantageous to start without a {{Filename|xorg.conf}} and add sections only as required.<br />
<br />
Follow the directions in [[#Running Xorg|Running Xorg]] first to determine if configuring Xorg is a necessity for normal functioning. If '''X''' works as expected and you still want to have a base {{Filename|xorg.conf}} file, it is now possible to [[#From the Xorg.0.log file|create it from Xorg's log file]].<br />
<br />
===Xorg -configure===<br />
You can use:<br />
# Xorg -configure<br />
or:<br />
# X -configure<br />
The command automatically generates {{Filename|/root/xorg.conf.new}}. You can change the output to the current path:<br />
# X -configure ./xorg.conf.new<br />
and copy it to {{Filename|/etc/X11/xorg.conf}}.<br />
<br />
===hwd===<br />
{{Note | hwd has been updated (ver. 5.5) to work with xorg-server-1.5.x and 1.6.x. Currently, it disables HAL-based input device hot-plugging and instead generates a traditional {{Filename|xorg.conf}} including input devices.}}<br />
<br />
Perhaps the easiest way of getting Xorg up and running quickly is to use <tt>hwd</tt>, a tool written by users in the Arch Linux community. It is a hardware-detection tool that has multiple uses, one of which is setting up Xorg. Fortunately, hwd is much more streamlined than <tt>xorgconf</tt> and does not require any input at all.<br />
<br />
First, install the [http://aur.archlinux.org/packages.php?ID=26913 hwd package from the AUR].<br />
<br />
Then, simply run the following command to generate a default {{Filename|xorg.conf}} file:<br />
# hwd -xa<br />
<br />
This will overwrite any existing {{Filename|/etc/X11/xorg.conf}} file with a practical set of defaults, based on what <tt>hwd</tt> detected for your hardware.<br />
<br />
Alternatively, you can generate a sample Xorg configuration ({{Filename|/etc/X11/xorg.conf.hwd}}) without overwriting your existing settings. To do so, run <tt>hwd</tt> with the {{Codeline|-x}} flag instead:<br />
# hwd -x<br />
<br />
Sample result:<br />
/etc/X11/xorg.conf.ati<br />
/etc/X11/xorg.conf.vesa<br />
<br />
Your sample file(s) ready, rename 'xorg.conf'.<br />
If unsure first try 'vesa' (default).<br />
<br />
To use the sample configuration(s), you must manually rename it. Sample:<br />
# mv /etc/X11/xorg.conf.vesa /etc/X11/xorg.conf<br />
<br />
===nvidia-xconfig===<br />
NVIDIA users can also use<br />
# nvidia-xconfig<br />
when they have official nvidia drivers [[NVIDIA|installed]].<br />
<br />
Comment the line:<br />
Load "type1"<br />
in the {{Codeline|Module}} section, since recent Xorg versions do not include the type1 font module (completely replaced by freetype).<br />
<br />
===From the Xorg.0.log file===<br />
If you managed to start x without any xorg.conf file, you can find the default Xorg configuration in {{Filename|/var/log/Xorg.0.log}}. Just copy the text between lines like<br />
(==) --- Start of built-in configuration ---<br />
and<br />
(==) --- End of built-in configuration ---<br />
to your new xorg.conf file.<br />
<br />
===Manual configuration===<br />
Refer to [[HAL]] and {{Codeline|man xorg.conf}} to familiarize yourself with Xorg's manual configuration syntax.<br />
<br />
====Monitor Settings====<br />
<br />
Depending on your hardware, Xorg may fail to detect your monitor capabilities correctly, or you may simply wish to use a lower resolution than your monitor is capable of. You might want to look up the following values in your monitor's manual before setting them.<br />
The following settings are specified in section 'Monitor', file {{Filename|/etc/X11/xorg.conf}}:<br />
<br />
*Horizontal sync<br />
HorizSync 28-64<br />
<br />
*Refresh rate<br />
VertRefresh 60<br />
<br />
The following are specified in the Screen section:<br />
<br />
*Color depth<br />
Depth 24<br />
<br />
*Resolution<br />
Modes "1280x1024" "1024x768" "800x600"<br />
<br />
===== Display Size and DPI =====<br />
<br />
In order to get correct dots per inch (DPI) set, the display size must recognized or set. Having the correct DPI is especially necessary where fine detail is required (like font rendering). Previously manufacturers tried to create a standard for 96 DPI (an 10.3" diagonal monitor would be 800x600, a 13.2" monitor 1024x768). Now days screens can be of any number of DPI and this may not match horizontal and vertically. To be able to set the DPI the Xorg server attempts to auto-detect your monitor's physical screen size through the graphic card with [http://en.wikipedia.org/wiki/Display_Data_Channel DDC]. When the Xorg server knows the physical screen size, it will be able to set the correct DPI depending on resolution size.<br />
<br />
To see if your display size and DPI are detected/calculated correctly:<br />
<br />
$ xdpyinfo | grep dimensions<br />
$ xdpyinfo | grep "dots per inch"<br />
<br />
Check that the dimensions match your display size. If the Xorg server is not able to correctly calculate the screen size, it will default to 75x75 DPI and you will have to calculate it yourself.<br />
<br />
If you have specifications on the physical size of the screen, they can be entered in the Xorg configuration file so that the proper DPI is calculated:<br />
<br />
<pre><br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
DisplaySize 286 179 # In millimeters<br />
EndSection<br />
</pre><br />
<br />
If you do not have specifications for horizontal and physical screen width and height (most specifications these days only list by diagonal size), you can use the monitors native resolution (or aspect ratio) and diagonal length to calculate the horizontal and vertical physical dimensions. Using the Pythagorean theorem on a 13.3" diagonal length screen with a 1280x800 native resolution (or 16:10 aspect ratio):<br />
<br />
echo 'scale=5;sqrt(1280^2+800^2)' | bc # 1509.43698<br />
<br />
This will give the pixel diagonal length and with this value you can discover the physical horizontal and vertical lengths (and convert it to millimeters):<br />
<br />
<pre><br />
echo 'scale=5;(13.3/1509)*1280*25.4' | bc # 286.43072<br />
echo 'scale=5;(13.3/1509)*800*25.4' | bc # 179.01920<br />
</pre><br />
<br />
{{Note|This calculation works for most monitor sizes, however there is the seldom cheaper monitor that may compress aspect ratio (e.g 16:10 aspect resolution to a 16:9 monitor) if this is the case you should measure you screen size manually.}}<br />
<br />
In the case X ignores your {{Codeline|DisplaySize}} setting (because of this ([https://bugs.freedesktop.org/show_bug.cgi?id=9758 bug]), add the following line to the {{Codeline|Device}} section:<br />
<br />
Option "NoDDC" "true"<br />
<br />
DPI can be set too if you only plan to use one resolution:<br />
<br />
<pre><br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
Option "DPI" "96 x 96"<br />
EndSection<br />
</pre><br />
<br />
If for some odd reason that the nvidia drivers don't set the correct DPI, you can turn off auto-detection:<br />
<br />
Option "UseEdidDpi" "false"<br />
<br />
For RandR compliant drivers, you can set it by: <br />
<br />
xrandr --dpi 96<br />
<br />
You can add that command to your {{Filename|.xinitrc}} to have the DPI settings applied when you start X manually.<br />
<br />
=====Multi-monitor setups=====<br />
<br />
The easiest way to achieve a working multi-monitor setup is using xrandr after X starts. First, run (from any account):<br />
xrandr -q<br />
<br />
This will list all your available video outputs, with some information about them. Assume your output names are VGA-0, DVI-0 and S-video. Then, to merge screens connected to DVI-0 and VGA-0 outputs, you just need to run:<br />
xrandr --output DVI-0 --right-of VGA-0<br />
<br />
If this command works for you, just add it to your [[xinitrc|~/.xinitrc]] file.<br />
<br />
See [[HowToRandR12]] for more information on multi-monitor setup.<br />
<br />
====Keyboard Settings====<br />
<br />
Xorg may fail to detect your keyboard correctly. This might give problems with your keyboard layout or keyboard model not being set correctly.<br />
<br />
To see a full list of keyboard models, layouts, variants and options, open:<br />
<br />
/usr/share/X11/xkb/rules/xorg.lst<br />
<br />
=====Input hot-plugging=====<br />
<br />
{{Note|This will disable Xorg hot-plugging for '''all''' input devices and revert to the same behavior as xorg-server 1.4. It is much more convenient to configure devices through HAL instead of xorg.conf. See: [[Xorg Input Hotplugging]]}}<br />
<br />
Normally, Xorg tries to configure your keyboard using the xf86-input-evdev driver (which in turn uses dbus and HAL) instead of using your configuration settings in xorg.conf. This may result in an undesired auto-configured keyboard layout. The fastest workaround is to disable the hot-plugging mechanism by adding the following section to your xorg.conf:<br />
<br />
Section "ServerFlags"<br />
Option "AutoAddDevices" "False"<br />
EndSection<br />
<br />
=====Keyboard layout=====<br />
<br />
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/<br />
Then open {{filename|/etc/hal/fdi/policy/10-keymap.fdi}} and edit "us" in <code>input.xkb.layout</code> to what you want and, if necessary, edit <code>input.xkb.variant</code> too.<br />
<br />
If this is not working for you, the following command (with your keyboard layout instead of pl), executed in X, should switch to your keyboard layout.<br />
# setxkbmap pl <br />
<br />
To make it permanent you can e.g. add this command to {{filename|~/.xinitrc}} file (before starting the window manager).<br />
<br />
======Through xorg.conf (depreciated)======<br />
{{Note|Changing the keyboard layout through xorg.conf requires disabling input hot-plugging.}}<br />
<br />
To change the keyboard layout, use the XkbLayout option in the keyboard InputDevice section. For example, if you have a keyboard with English layout:<br />
<br />
Option "XkbLayout" "gb"<br />
<br />
To be able to easily switch keyboard layouts, for example between a US and a Swedish layout use this instead:<br />
<br />
Option "XkbLayout" "us, se"<br />
Option "XkbOptions" "grp:caps_toggle"<br />
<br />
This makes your Caps Lock key switch between the different layouts. This is mainly useful if you do not run a Desktop Environment which takes care of keyboard layouts for you.<br />
<br />
To change the keyboard model, use the XkbModel option in the keyboard InputDevice section. For example, if you have a Microsoft Wireless Multimedia Keyboard:<br />
<br />
Option "XkbModel" "microsoftmult"<br />
<br />
===Proprietary Drivers===<br />
<br />
If you wish to use third-party graphics drivers, do check that the X server runs OK first. Xorg should run smoothly without official drivers, which are typically needed only for advanced features such as 3D-accelerated rendering for games, dual-screen setups, and TV-out. Refer to the [[NVIDIA]] and [[ATI]] for help with driver installation.<br />
<br />
===Fonts===<br />
<br />
There some tips for setting up fonts in [[Font Configuration]].<br />
<br />
===Sample xorg.conf Files===<br />
Anyone who has an Xorg.conf file written up that works, go ahead and post a link to it here for others to look at. Please do not in-line the entire configuration file; upload it somewhere else and link.<br />
* raskolnikov (via unichrome and synaptics drivers): http://athanatos.free.fr/Arch/xorg.conf<br />
* Mr.Elendig (nvidia with composite and other settings): http://arch.har-ikkje.net/configs/etc/X11/xorg.conf<br />
<br />
==Running Xorg==<br />
<br />
{{Warning|Unless you have disabled input hot-plugging (not recommended), the HAL daemon ''needs'' to be started before running Xorg.}}<br />
<br />
Add hal to the DAEMONS=array of {{Filename|/etc/[[rc.conf]]}}:<br />
DAEMONS=(syslogng '''hal''' network netfs crond)<br />
<br />
Start hal:<br />
# /etc/rc.d/hal start<br />
<br />
Finally, start Xorg:<br />
$ startx<br />
or<br />
$ xinit<br />
<br />
The default X environment is rather bare, and you will typically seek to install window managers or desktop environments to supplement X. <br />
<br />
If a problem occurs, then view the log at {{Filename|/var/log/Xorg.0.log}}. Be on the lookout for any lines beginning with {{Codeline|(EE)}} which represent errors, and also {{Codeline|(WW)}} which are warnings that could indicate other issues.<br />
<br />
'''Please Note:''' Using startx or xinit requires a {{Filename|[[xinitrc|~/.xinitrc ]]}} file, so that X knows what to run when it starts. Your best option is to copy {{Filename|/etc/skel/.xinitrc}} to your home directory and edit it. Comment out the {{Codeline|exec}} lines you do not want, and add or uncomment one for the WM you want to use. If you are using GNOME it is best to start GNOME through gdm to avoid HAL permission problems.<br />
<br />
In addition, you can also install twm and xterm (via pacman), which will be used as a fall-back if {{Filename|~/.xinitrc}} does not exist (as stated in {{Filename|/etc/X11/xinit/xinitrc}}).<br />
<br />
==Tips and Tricks==<br />
<br />
===X startup (/usr/bin/startx) tweaking===<br />
For X's option reference see:<br />
$ man Xserver<br />
<br />
The following options have to be appended to the variable {{Codeline|"defaultserverargs"}} in the {{Filename|/usr/bin/startx}} file:<br />
* Prevent X from listening on tcp:<br />
-nolisten tcp<br />
<br />
{{Note | This seems to be the default option now in {{Filename|/etc/X11/xinit/xserverrc}}.}}<br />
<br />
* Getting rid of the gray weave pattern while X is starting and let X set a black root window:<br />
-br<br />
<br />
{{Note | There seems to be no need for that in recent releases of Xorg.}}<br />
<br />
* Enable deferred glyph loading for 16 bit fonts:<br />
-deferglyphs 16<br />
<br />
Note: If you start X with kdm, the startx script does not seem to be executed. X options must be appended to the variable {{Codeline|"ServerArgsLocal"}} or {{Codeline|"ServerCmd"}} in the {{Filename|/usr/share/config/kdm/kdmrc}} file. By default kdm options are:<br />
ServerArgsLocal=-nolisten tcp<br />
ServerCmd=/usr/bin/X<br />
<br />
===Virtual X session===<br />
To start another X session in for example CTRL + ALT + F8 you need to type this on a console:<br />
xinit /path/to/wm -- :1<br />
<br />
Change "/path/to/wm" to your window manager start file or to your login manager like gdm, kdm and slim.<br />
<br />
==Troubleshooting==<br />
<br />
===Blank screen after startx===<br />
Check if your user are in hal and dbus group.<br />
If not type this command's:<br />
gpasswd -a user hal<br />
gpasswd -a user dbus<br />
And after this startx.<br />
<br />
===Xorg's Common User Problems===<br />
If you are having trouble with Xorg (it will not start or the screen is just black, the keyboard and mouse is not working, etc.) first take these simple steps:<br />
<br />
* Did you run any Xorg configure scripts? ( xorg -Configure )<br />
<br />
* Did you check the log file? ( /var/log/Xorg.0.log ) <br />
pacman -S wgetpaste && wgetpaste /var/log/Xorg.0.log<br />
<br />
* Did you start hal?<br />
* My keyboard and mouse do not work.<br />
pacman -S xf86-input-{mouse,keyboard}<br />
* This ATI video card is giving me prolems.<br />
:Take a look at the [[ATI]] page. ATI is not famous for their drivers - so if you are considering buying a new PC, take a good look at the graphics card first.<br />
<br />
===Xorg "can not see" the resolutions your monitor supports===<br />
I found myself in a situation where if I used one of my monitors (a gnr ts902), Xorg would only present me with the options 640x480 and 320x480 which of course was less than I desired. After a lot of research I found through read-edid (in [[AUR]]) that part of my EDID was corrupt and so I could only read my HorizSync with read-edid. This fortunately was enough and after adding the right HorizSync line to the xorg.conf's Monitor section (I did not have to add VertRefresh) I restarted X to see the right resolution.<br />
<br />
The following:<br />
Option "ModeValidation" "NoEdidModes"<br />
Option "UseEdid" "false"<br />
might also be needed (untested).<br />
<br />
To switch between layouts with Alt+Shift:<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"<br />
<br />
===Problem with your Apple Keyboard?===<br />
More information can be found [[Apple Keyboard|here]].<br />
<br />
===A Quick Fix for the Bitstream-Vera Conflict===<br />
If you see a message that ttf-bitstream-vera conflicts with Xorg:<br />
#Exit the pacman session by answering no.<br />
#Run <code>pacman -Rd xorg</code><br />
#Run <code>pacman -Syu</code><br />
#Run <code>pacman -S xorg</code><br />
#Update your paths in /etc/X11/xorg.conf<br />
<br />
===A Quick Fix for file conflicts in /usr/include===<br />
If you see messages about file conflicts in /usr/include/X11 and /usr/include/GL:<br />
#Run <code>rm /usr/include/{GL,X11}</code><br />
#Run <code>pacman -Su</code><br />
The symlinked directories removed by this operation are replaced by real directories in the new Xorg package, causing these file conflicts to appear.<br />
<br />
===libgl-dri conflicts===<br />
<br />
(Note below, that nvidia-legacy has been replaced by nvidia-71xx or nvidia-96xx. See [[NVIDIA | here]] for further details of which driver to use.)<br />
<br />
If you get a message similar to:<br />
:: libgl-dri conflicts with nvidia-legacy. Remove nvidia-legacy? [Y/n]<br />
this is due to the multiple OpenGL implementations explained in the OpenGL section above - pacman is attempting to install libgl-dri to satisfy this dependency, but also trying to upgrade your existing video driver, and they conflict. To solve, try:<br />
<br />
* Updating your video driver before a full system update: <br />
# pacman -S nvidia-legacy<br />
# pacman -Syu<br />
<br />
Or, if that does not work,<br />
* Remove your existing video driver, do the update, then reinstall your driver:<br />
# pacman -Rd nvidia-legacy<br />
# pacman -Syu<br />
# pacman -S nvidia-legacy<br />
:: nvidia-legacy conflicts with libgl-dri. Remove libgl-dri? [Y/n] '''Y'''<br />
<br />
===Mouse wheel not working===<br />
The "Auto" protocol does not seem to work properly in Xorg 7 any more. In the InputDevice section for your mouse, change:<br />
Option "Protocol" "auto"<br />
to<br />
Option "Protocol" "IMPS/2"<br />
or<br />
Option "Protocol" "ExplorerPS/2"<br />
If you were using "Auto" to configure your touchpad mouse (and its mouse wheel) you will have to start using the "synaptics" driver, instead. The mouse wheel will be included on the right-hand area of the touchpad, then.<br />
<br />
In 'Section "Module"' add:<br />
Load "synaptics"<br />
In 'Section "InputDevice"' add/change:<br />
Driver "synaptics"<br />
Protocol "auto-dev"<br />
Read man synaptics for more information.<br />
<br />
===Touchpad mouse taps not working===<br />
Previous versions of Xorg 7 allowed you to use the "Auto" protocol to configure your mouse, and tapping was enabled, too. Now you have to specify the driver, and explicitly enable tapping.<br />
<br />
In 'Section "Module"' add:<br />
Load "synaptics"<br />
In 'Section "InputDevice"' add/change:<br />
Driver "synaptics"<br />
Protocol "auto-dev"<br />
Option "TapButton1" "1"<br />
Option "TapButton2" "2"<br />
Option "TapButton3" "3"<br />
And read man synaptics.<br />
<br />
===Extra mouse buttons not working===<br />
USB Mice users should read [[Get All Mouse Buttons Working]].<br />
<br />
Intellimouse (ExplorerPS/2) users might find their scroll and side buttons are not behaving as they used to. Previously xorg.conf needed:<br />
Option "Buttons" "7"<br />
Option "ZAxisMapping" "6 7"<br />
and users also had to run xmodmap to get the side buttons working with a command like:<br />
xmodmap -e "pointer=1 2 3 6 7 4 5"<br />
Now xmodmap is no longer required. Instead, make xorg.conf look like this:<br />
Option "Buttons" "5"<br />
Option "ZAxisMapping" "4 5"<br />
Option "ButtonMapping" "1 2 3 6 7"<br />
and the side buttons on a 7-button Intellimouse will work like they used to, without needing to run xmodmap.<br />
<br />
===Keyboard problems===<br />
<br />
====Problems with switching to tty1====<br />
Auto-generated xorg.conf files may cause you problems. If you cannot get to tty1 by holding CTRL-ALT and pressing F1 or cannot get the £ sign for gb people, check to see if the following entries are in your /etc/X11/xorg.conf:<br />
<br />
Option "XkbLayout" "uk" #"uk" is not a real layout, look in /usr/share/X11/xkb/symbols/ for a list of real ones.<br />
#Try "gb" if you want a UK keyboard layout<br />
Option "XkbRules" "xfree86" #this should be "xorg"<br />
Option "XkbVariant" "nodeadkeys" #This line is also known to cause the problems described, try commenting it out.<br />
<br />
Some keyboard layouts have changed. I wondered why:<br />
* I was not able to Ctrl+Alt+Fx to switch to console<br />
* I was not able to use layouts<br />
The problem was that the ''sk_qwerty'' layout does not exist anymore. I had to replace<br />
Option "XkbLayout" "us,sk_qwerty"<br />
with<br />
Option "XkbLayout" "us,sk"<br />
Option "XkbVariant" ",qwerty"<br />
<br />
Another thing to look for if your keyboard is not properly functioning is the XkbRules option:<br><br />
You will need to change<br />
Option "XkbRules" "xfree86"<br />
to<br />
Option "XkbRules" "xorg"<br />
<br />
====AltGR (Compose Key) not working properly====<br />
<br />
If, after the update, you cannot use the AltGr key as expected any more, try adding this to your keyboard section:<br />
Option "XkbOptions" "compose:ralt"<br />
<br />
This is not the correct way to activate the AltGr Key on a German keyboard (for example, to use the '|' and '@' keys on German keyboards).<br />
Just choose a valid keyboard variant for it to work again, for example (the example is for a German keyboard):<br />
Option "XkbLayout" "de"<br />
Option "XkbVariant" "nodeadkeys"<br />
<br />
The solutions above do not work on an Italian keyboard. To activate the AltGr key on an Italian keyboard make sure you have the following lines set up properly:<br />
Driver "kbd"<br />
Option "XkbRules" "xorg"<br />
Option "XkbVariant" ""<br />
<br />
This might still not be enough for a swedish keyboard. Try the above, but with lv3 instead of compose. (Thank you wyvern!)<br />
That is:<br />
Option "XkbLayout" "se"<br />
Option "XkbVariant" "nodeadkeys"<br />
Option "XkbOptions" "lv3:ralt_switch"<br />
<br />
====Cannot set qwerty layouts using the setxkbmap command====<br />
<br />
After the update, there are not qwerty layouts as for example sk_qwerty. If you want to switch your present keyboard layout to any qwerty keyboard layout use this command:<br />
$ setxkbmap NAME_OF_THE_LAYOUT qwerty<br />
e.g.: for sk_qwerty use:<br />
$ setxkbmap sk qwerty<br />
<br />
After the update, trying the above command I had this message "Error loading new keyboard description". I find out that the xserver does not have the rights to write, execute, read in the directory /var/tmp.<br />
<br />
So, give the permissions to that directory. Restart the xserver and you will have your deadkeys back. Afterwards, confirm a layout (e.g., ''it'' layout):<br />
$ setxkbmap -layout it<br />
<br />
====Setup French Canadian (old ca_enhanced) layout====<br />
<br />
<br />
'''With disabled hotplugging'''<br />
<br />
Since the new Xorg changed the way it deals with keyboards, the following method will only work if you disable "hotplugging" : [[Xorg Input Hotplugging]]<br />
<br />
With Xorg7, "ca_enhanced" is no more. You have to do a little trick to get the same layout that you are used to:<br />
Switch the old:<br />
Option "XkbLayout" "ca_enhanced"<br />
To:<br />
Option "XkbLayout" "ca"<br />
Option "XkbVariant" "fr"<br />
<br />
It will be similar with other layout, I presume. You can refer to Gentoo HowTo there: http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml<br />
<br />
<br />
'''Workaround'''<br />
<br />
I use a workaround so that I do not have to manually change the HAL fdi policies, as this is the new way of dealing with keymaps with the new Xorg. I use "setxkbmap" : [[Xorg Input Hotplugging#Using setxkbmap]]<br />
<br />
Change the X keyboard layout to french canadian with this command:<br />
<br />
#setxkbmap ca -variant fr<br />
<br />
<br />
To make it change automatically, you can try this: <br />
<br />
Created the file <br />
<br />
~.config/autostart/keymap.desktop<br />
<br />
and added this to it:<br />
<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Version=0.9.4<br />
Type=Application<br />
Name=Keymap French Canadian<br />
Comment=<br />
Exec=setxkbmap ca -variant fr<br />
StartupNotify=false<br />
Terminal=false<br />
Hidden=false<br />
<br />
It works at least for XFCE4 and LXDE.<br />
<br />
===Missing libraries===<br />
* '''Help! I get an error message running my favourite app saying "libXsomething" does not exist!'''<br><br />
In most cases, all you need to do is take the name of the library (eg libXau.so.1), convert it all to lowercase, remove the extension, and pacman for it:<br />
# pacman -S libxau<br />
<br />
This will install the library you are missing, and all will be well again!<br />
<br />
===Some packages fail to build and complain about missing X11 includes===<br />
<br />
Just reinstall the packages xproto and libx11, even if they are already installed.<br />
<br />
===Unable to load font '(null)'===<br />
* '''Some programs do not work and say unable to load font `(null)'.'''<br><br />
These packages would like some extra fonts. Some programs only work with bitmap fonts.<br />
Two major packages with bitmap fonts are available, xorg-fonts-75dpi and xorg-fonts-100dpi. You do not need both; one should be enough. To find out which one would be better in your case, try this:<br />
<br />
$ xdpyinfo | grep resolution<br />
<br />
and grab what is closer to you (75 or 100 instead of XX)<br />
<br />
# pacman -S xorg-fonts-XXdpi<br />
<br />
<br />
<br />
===After updating to xorg-server 1.5, KDE4 Konsole crashes and/or systray icons disappear on right click===<br />
Replace<br />
Option "BackingStore" "True"<br />
by<br />
Option "BackingStore" "False"<br />
in /etc/X11/xorg.conf.<br />
<br />
===Updating from testing version to extra (missing files)===<br />
<br />
If you have updated from Xorg 7 in testing to Xorg 7 in extra and are finding that many files seem to be missing (including startx, /usr/share/X11/rgb.txt, and others), you may have lost many files due to the xorg-clients package splitting from a single package into many smaller sub packages. <br><br />
<br />
You need to reinstall all the packages that are dependencies of xorg-clients:<br />
# pacman -S xorg-apps xorg-font-utils xorg-res-utils xorg-server-utils \<br />
xorg-twm xorg-utils xorg-xauth xorg-xdm xorg-xfs xorg-xfwp \<br />
xorg-xinit xorg-xkb-utils xorg-xsm<br />
<br />
This should fix the problem.<br />
<br />
===Problem with MIME types in various desktop environments===<br />
<br />
If you noticed icons missing and cannot click-open files in desktop environments, add the following lines to /etc/profile or your preferred init script and reboot.<br />
XDG_DATA_DIRS=$XDG_DATA_DIRS:/usr/share<br />
export XDG_DATA_DIRS<br />
<br />
===DRI stops working with Matrox cards===<br />
<br />
If you use a Matrox card and DRI stops working after upgrading to Xorg 7, try adding the line<br />
Option "OldDmaInit" "On"<br />
to the Device section that references the video card in xorg.conf.<br />
<br />
===Cannot start any clients under Xephyr===<br />
<br />
The client connections are rejected by the X server's security mechanism, you can find a complete explanation and solution on [[http://wiki.debian.org/XStrikeForce/FAQ#howtoxnest the Debian wiki]].<br />
<br />
===Cannot start X clients as root using "su"===<br />
If you are getting "Client is not authorized to connect to server", try adding the line <br />
session optional pam_xauth.so<br />
to the file /etc/pam.d/su. pam_xauth will properly set environment variables and handle xauth keys.<br />
<br />
===Cannot run in framebuffer mode===<br />
<br />
If the X fail to start with the following log messages:<br />
(WW) Falling back to old probe method for fbdev<br />
(II) Loading sub module "fbdevhw"<br />
(II) LoadModule: "fbdevhw"<br />
(II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so<br />
(II) Module fbdevhw: vendor="X.Org Foundation"<br />
compiled for 1.6.1, module version=0.0.2<br />
ABI class: X.Org Video Driver, version 5.0<br />
(II) FBDEV(1): using default device<br />
<br />
Fatal server error:<br />
Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices<br />
<br />
then simply uninstalling <code>xf86-video-fbdev</code> will help.<br />
<br />
===Ctrl-Alt-Backspace does not exit X===<br />
====Modification to /etc/X11/xorg.conf====<br />
New Xorg disables zapping with {{Keypress|Ctrl}}+{{Keypress|Alt}}+{{Keypress|Backspace}} by default. You can enable it by adding the following line to {{Filename|/etc/X11/xorg.conf}}<br />
<br />
Option "XkbOptions" "terminate:ctrl_alt_bksp" <br />
<br />
to InputDevice section for keyboard<br />
<br />
====If you use input hotplugging====<br />
<br />
If you are using hal to manage your keyboard, you must add the following to {{Filename|/etc/hal/fdi/policy/10-keymap.fdi}} to enable this behavior. If that file does not exist, copy it from the template at {{Filename|/usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi}}<br />
<br />
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/10-keymap.fdi<br />
<br />
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge><br />
<br />
If the "input.xkb.options" line already exist, just add "terminate:ctrl_alt_bksp" to the existing line, like this<br />
<merge key="input.xkb.options" type="string">grp:alt_shift_toggle,terminate:ctrl_alt_bksp</merge><br />
<br />
Restart hal after making the modification and you'll also need to restart X.<br />
<br />
Another way is to add the following line to {{Filename|~/.xinitrc}} <br />
setxkbmap -option terminate:ctrl_alt_bksp<br />
<br />
{{Note|If you use a login/display manager like (K/G/X)DM or Slim, you will need to run the above setxkbmap command around your WM/DE's login time. ~/.config/autostart is usually respected for such (using .desktop files). It may also work in ~/.bashrc.}}<br />
<br />
===Shift-Backspace does exit X===<br />
In order to disable this feature, add the following to the ServerFlags section in /etc/X11/xorg.conf<br />
Option "DontZap" "True"<br />
<br />
To swap from Shift-Backspace to Ctrl-Alt-Backspace, set the DontZap option to False and use one of the above ways to set the key combination.<br />
<br />
===Disabling Xorg before the GUI login===<br />
<br />
If Xorg is set to boot up automatically and for some reason you need to prevent it from starting up before the login/display manager appears (if your rc.conf file is misconfigured and Xorg does not recognize your mouse or keyboard input, for instance), there are two ways. From the grub menu you can specify the runlevel in the kernel line by adding a number to the end of the kernel line specifying the run level you want. The following example sets the run level to 3:<br />
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/..ro 3<br />
<br />
If you have not only misconfigured rc.conf to make Xorg unusable, but you have also set the grub menu wait time to zero, or cannot otherwise use grub to prevent Xorg from booting, you must use the Arch live CD. Boot up the live CD and login as root. You need a mount point, such as /mnt, and you need to know the name of the partition you want to mount. You can use the command<br />
fdisk -l<br />
as root to see your partitions. Usually the one you want will be like /dev/sda1. Then to mount this to /mnt use <br />
mount /dev/sda1 /mnt<br />
<br />
Then your filesystem will show up under /mnt. So your rc.conf file, for example, would be in /mnt/etc/rc.conf. From here you can delete the gdm module to prevent Xorg from booting up normally, or make any other necessary changes.<br />
<br />
==See Also==<br />
* [[Display Manager]]<br />
* [[Start X at boot]]<br />
* [[Font Configuration]]<br />
* Proprietary Video Drivers<br />
** [[ATI]]<br />
** [[NVIDIA]]<br />
* [[Desktop Environment]]<br />
** [[KDE]]<br />
** [[GNOME]]<br />
** [[Xfce]]<br />
** [[Enlightenment]]<br />
** [[Fluxbox]]<br />
** [[Openbox]]<br />
** [[LXDE]]<br />
* [[Get All Mouse Buttons Working]]<br />
* [[Compiz]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Pacman&diff=86562
Pacman
2009-12-06T06:09:11Z
<p>Keiichi: redirection fixes</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:Utilities (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|An overview of Arch Linux's package manager.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|Česky|:pacman (Česky)}}<br />
{{i18n_entry|Dansk|:pacman_(Dansk)}}<br />
{{i18n_entry|Deutsch|:pacman (Deutsch)}}<br />
{{i18n_entry|English|:pacman}}<br />
{{i18n_entry|Español|:pacman (Español)}}<br />
{{i18n_entry|Français|:pacman (Français)}}<br />
{{i18n_entry|Italiano|:pacman (Italiano)}}<br />
{{i18n_entry|Nederlands|:pacman (Nederlands)}}<br />
{{i18n_entry|Polski|:pacman (Polski)}}<br />
{{i18n_entry|Português de Portugal|:pacman (Portugues)}}<br />
{{i18n_entry|Romanian|:pacman (română)}}<br />
{{i18n_entry|Русский|:pacman (Русский)}}<br />
{{i18n_entry|简体中文|:pacman (简体中文)}}<br />
{{i18n_entry|한국어|:pacman (한국어)}}<br />
{{i18n_entry|Türkçe|:pacman (Türkçe)}}<br />
{{i18n_entry|Ελληνικά|:pacman_(Ελληνικά)}}<br />
{{i18n_entry|日本語|:pacman_(日本語)}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|Arch Build System}}<br />
{{Article summary wiki|Pacman Tips}}<br />
{{Article summary wiki|Pacman GUI Frontends}}<br />
{{Article summary end}}<br />
{{DISPLAYTITLE:pacman}}<br />
The '''[http://archlinux.org/pacman/ pacman]''' package manager is one of the main features of Arch Linux. It combines a simple binary package format with an easy-to-use build system (see [[makepkg]] and [[Arch Build System]]). The goal of pacman is to make it possible to easily manage packages, whether they are from the official Arch repositories or the user's own builds.<br />
<br />
pacman keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows you to download/install packages with a simple command, complete with all required dependencies.<br />
<br />
pacman is written in the C programming language. It uses the .tar.gz package format, in an effort to further enhance its speed; Gzipped tarballs, though slightly larger, are decompressed much faster than their Bzipped counterparts, and are therefore generally installed more expediently.<br />
<br />
==Configuration==<br />
pacman configuration is located in {{Filename|/etc/pacman.conf}}. This is the place where the user configures the program to work in the desired manner. In depth information about the configuration file can be found in [http://www.archlinux.org/pacman/pacman.conf.5.html man pacman.conf].<br />
<br />
===General options===<br />
General options are in the {{Codeline|[options]}} section. Read the man page or look in the default {{Filename|pacman.conf}} for information on what can be done here.<br />
<br />
====Skip package from being upgraded====<br />
To skip upgrading a specific package, add it to the pertinent section:<br />
IgnorePkg=kernel26<br />
<br />
====Skip package group from being upgraded====<br />
As with packages, skipping a whole package group is also possible:<br />
IgnoreGroup=gnome<br />
<br />
===Repositories===<br />
This section defines which repositories to use, as referred to in {{Filename|pacman.conf}}. They can be stated here directly, or included from another file.<br />
<br />
All official repositories use the same {{Filename|/etc/pacman.d/mirrorlist}} file which contains a variable, '{{Codeline|$repo}}', making it a requisite to maintain only one list.<br />
<br />
The following is an example for the official repositories which have numerous [[mirrors]]. Avoid using ftp.archlinux.org as it is [http://www.archlinux.org/news/302/ throttled].<br />
<pre><br />
[core]<br />
# Add your preferred servers here, they will be used first<br />
Include=/etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
# Add your preferred servers here, they will be used first<br />
Include=/etc/pacman.d/mirrorlist<br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include=/etc/pacman.d/mirrorlist<br />
</pre><br />
{{Note|Care should be taken when using the {{Codeline|[testing]}} repository.}}<br />
<br />
==Usage==<br />
To read other examples of what pacman can do, refer to [http://archlinux.org/pacman/pacman.8.html man pacman]. The examples below are just a small sample of operations that can be performed.<br />
<br />
===Installing packages===<br />
To install a single package or list of packages (including dependencies), issue the following command:<br />
# pacman -S package_name1 package_name2<br />
<br />
Sometimes there are multiple versions of a package in different repositories (e.g. extra and testing). Specify which one to install:<br />
# pacman -S extra/package_name<br />
# pacman -S testing/package_name<br />
<br />
===Removing packages===<br />
To remove a single package, leaving all of its dependencies installed:<br />
# pacman -R package_name<br />
<br />
To remove a package's dependencies which are not required by any other installed package:<br />
# pacman -Rs package_name<br />
<br />
pacman saves important configuration files when removing certain applications and names them with the extension: {{Filename|.pacsave}}. To delete these backup files use the -n option:<br />
# pacman -Rn package_name<br />
# pacman -Rns package_name<br />
<br />
{{Note|pacman will not remove configurations that the application itself creates (for example {{Filename|.dot}} files in the home folder).}}<br />
<br />
===Upgrading packages===<br />
pacman can update all packages on the system with just one command. This could take quite a while depending on how up-to-date the system is. The best option is to synchronize the repository databases ''and'' update the system in one go, with the following:<br />
# pacman -Syu<br />
<br />
{{Note|As a rolling-release distribution, updating your Arch Linux system is not always as straightforward as with other fixed-release distributions. Furthermore, pacman is not a "fire-and-forget" package manager. As a result, properly maintaining an Arch Linux system with pacman tends to confuse new users (as recurring forum discussions would indicate).<br />
<br />
Please read the following section ''thoroughly'' before continuing.}}<br />
<br />
pacman is a powerful package management tool, but it does not attempt to "do everything", as it were. Read [[The Arch Way]] if this confuses you. Rather, users must be vigilant and take responsibility for maintaining their own system. When performing a system update ({{Codeline|pacman -Syu}}), for example, '''it is essential that users read all information output by pacman and use common sense.'''<br />
<br />
For example, if {{Codeline|kernel26}} is to be updated to a new minor version, the cautious user immediately recognizes that packages that include kernel modules (such as {{Codeline|catalyst}} and {{Codeline|virtualbox-modules}}) must be updated/rebuilt as well. If a {{Codeline|kernel26}} update is available, but no updates are yet available for {{Codeline|catalyst}}, it is not recommended to update {{Codeline|kernel26}} unless willing to deal with {{Codeline|catalyst}} breaking!<br />
<br />
This is not a problem unique to Arch Linux, per se; kernel modules must be built against the running kernel. However, fixed-release distributions usually ensure that kernel updates are accompanied with updates to all "affected" packages. As a cutting-edge rolling-release distribution, kernel updates are available immediately in Arch Linux. "Affected" packages are usually updated within a matter of hours of a kernel update, but may not be available until your repositories are synced. '''Always use common sense!'''<br />
<br />
Another example: during an update, pacman indicates that a new version of {{Codeline|xorg-server}} is available. The update changes input device handling -- X will not start afterwards without user intervention; changes to {{Filename|xorg.conf}} are necessary. However, without fail, dozens of forum threads are opened after the update is released by users unable to start X. <br />
<br />
Instead of immediately updating as soon as updates are available, users must recognize that an update to {{Codeline|xorg-server}} may cause X not to start afterwards. This means that is not wise to update {{Codeline|xorg-server}} if one is about to deliver an important presentation, for example. Rather, update during free time and be prepared to deal with any problems that may arise due to the update.<br />
<br />
Next, a visit to the [http://archlinux.org/ Arch Linux home page] is always warranted. In this example, a news item was posted regarding the update which linked to a ArchWiki page that described how to reconfigure X. Often when updates to "critical" packages require user intervention, an appropriate update to http://archlinux.org will be made. Normally there will be forum posts describing the very same issue shortly after the update becomes available across the mirrors, detailing the solution any "problems". <br />
<br />
When the actual update is performed, be sure to read the messages printed out by pacman. Packagers often describe the changes and the expected problems, and direct the users to the appropriate ArchWiki page. '''Always read all information output by pacman!'''<br />
<br />
===Querying package databases===<br />
pacman queries the local package database with the -Q flag; see:<br />
$ pacman -Q --help<br />
<br />
and queries the sync databases with the -S flag; see:<br />
$ pacman -S --help<br />
<br />
pacman can search for packages in the database, searching both in packages' names and descriptions:<br />
$ pacman -Ss package<br />
<br />
To search for already installed packages:<br />
$ pacman -Qs package<br />
<br />
To display extensive information about a given package:<br />
$ pacman -Si package<br />
for locally installed packages:<br />
$ pacman -Qi package<br />
<br />
To retrieve a list of the files installed by a package:<br />
$ pacman -Ql package<br />
<br />
One can also query the database to know which package a file on the file system belongs to.<br />
$ pacman -Qo /path/to/a/file<br />
<br />
To list all packages no longer required as dependencies (orphans):<br />
$ pacman -Qdt<br />
<br />
===Additional commands===<br />
Download a package without installing it:<br />
# pacman -Sw package<br />
<br />
Install a 'local' package that is not from a repository:<br />
# pacman -U /path/to/package/package_name-version.pkg.tar.gz<br />
<br />
Install a 'remote' package (not from a repository):<br />
# pacman -U http://www.examplepackage/repo/examplepkg.tar.gz<br />
<br />
Clean the package cache of packages that are not currently installed (/var/cache/pacman/pkg):<br />
# pacman -Sc<br />
<br />
Clean the entire package cache:<br />
{{Warning|Only do this when certain that [[Downgrading Packages]] will not be a necessity, as pacman -Scc removes ''all'' packages from the cache.}}<br />
# pacman -Scc<br />
<br />
==Troubleshooting==<br />
{{FAQ<br />
|question=An update to package XYZ broke my system!<br />
|answer=Arch Linux is a rolling-release cutting-edge distribution. Package updates are available as soon as they are deemed stable enough for general use. However, updates sometimes require user intervention: configuration files may need to be updated, optional dependencies may change, etc.<br />
<br />
The most important tip to remember is to not "blindly" update your system. Always read the list of packages to be updated. Note whether "critical" packages are going to be updated ({{Codeline|kernel26}}, {{Codeline|xorg-server}}, {{Codeline|klibc}}, and so on). If so, it is usually a good idea to check for any news at http://archlinux.org and scan recent forum posts to see if people are experiencing problems as a result of an update.<br />
<br />
If a package update is expected/known to cause problems, packagers will ensure that pacman displays an appropriate message when the package is updated. If experiencing trouble after an update, always double-check your pacman logs ({{Filename|/var/log/pacman.log}}) for related messages. <br />
<br />
At this point, '''only after ensuring there is no information available through pacman, there is no relative news on http://archlinux.org, and there are no forum posts regarding the update''', you should consider seeking help on the forum, over [[IRC Channel|IRC]], or [[Downgrading Packages|downgrading the offending package]].<br />
<br />
Re-read the last paragraph.}}<br />
<br />
{{FAQ<br />
|question=I know an update to package ABC was released, but pacman says my system is up to date!<br />
|answer=pacman mirrors are not synced immediately. It may take over 24 hours before an update is available to you. <br />
<br />
The only options are be patient or use another mirror.}}<br />
<br />
{{FAQ<br />
|question=I get an error when updating: "file exists in filesystem"!<br />
|answer=ASIDE: ''Taken from http://bbs.archlinux.org/viewtopic.php?id=56373 by Misfit138.''<br />
<br />
error: could not prepare transaction<br />
error: failed to commit transaction (conflicting files)<br />
package: /path/to/file exists in filesystem<br />
Errors occurred, no packages were upgraded.<br />
<br />
Why this is happening: pacman has detected a file conflict, and by design, will not overwrite files for you. This is a design feature, not a flaw.<br />
<br />
It is the user's responsibility to maintain their system, not the package manager's. ({{Codeline|pacman -Qo}} may be invoked to query which package owns the file, if any.)<br />
<br />
The issue is usually trivial to solve. A safe way is to first check if another package owns the file ({{Codeline|pacman -Qo /path/to/file}}). If the file is owned by another package, [[Reporting Bug Guidelines|file a bug report]]. If the file is not owned by another package, rename the file which 'exists in filesystem' and re-issue the update command. If all goes well, the file may then be removed.}}<br />
<br />
{{FAQ<br />
|question=I get an error when installing a package: "not found in sync db"<br />
|answer=Firstly, ensure the package actually exists (and watch out for typos!) If certain the package exists, your package list may be out-of-date or your repositories may be incorrectly configured. Try running {{Codeline|pacman -Syy}} to force a refresh of all package lists.}}<br />
<br />
{{FAQ<br />
|question=pacman is repeatedly upgrading the same package!<br />
|answer=This is due to duplicate entries in {{Filename|/var/lib/pacman/local/}}, such as two {{Codeline|kernel26}} instances. {{Codeline|pacman -Qi}} outputs the correct version, but {{Codeline|pacman -Qu}} recognizes the old version and therefore will attempt to upgrade.<br />
<br />
Solution: delete the offending entry in {{Filename|/var/lib/pacman/local/}}.<br />
<br />
{{Note|pacman version 3.4 should display an error in case of duplicate entries, which should make this note obsolete.}}}}<br />
<br />
{{FAQ<br />
|question=pacman crashes during an upgrade!<br />
|answer=In the case that pacman crashes with a "database write" error whilst removing packages, and reinstalling or upgrading packages fails:<br />
#Boot using the Arch live CD<br />
#Mount your root filesystem<br />
#Update the pacman database via {{Codeline|pacman -Syy}}<br />
#Reinstall the broken package via {{Codeline|pacman -r /path/to/root -S package}}}}<br />
<br />
==Further reading==<br />
<br />
===Man pages===<br />
*[http://www.archlinux.org/pacman/pacman.8.html pacman]<br />
*[http://www.archlinux.org/pacman/pacman.conf.5.html pacman.conf]<br />
*[http://www.archlinux.org/pacman/repo-add.8.html repo-add]<br />
*[http://www.archlinux.org/pacman/libalpm.3.html libalpm]<br />
*[http://www.archlinux.org/pacman/makepkg.8.html makepkg]<br />
*[http://www.archlinux.org/pacman/makepkg.conf.5.html makepkg.conf]<br />
*[http://www.archlinux.org/pacman/PKGBUILD.5.html PKGBUILD]<br />
<br />
===Related articles===<br />
* [[Pacman Tips]]<br />
* [[Pacman GUI Frontends]]<br />
* [[Improve Pacman Performance]]<br />
* [[Downgrading Packages]]<br />
* [[Arch User Repository]]<br />
* [[Rucksack]]<br />
* [[Powerpill]]<br />
* [[Mirrors]]<br />
* [[Local Mirror]]<br />
* [[Pacman Rosetta]]<br />
<br />
==External links==<br />
* [http://archux.com/page/using-pacman Using pacman]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=CFLAGS&diff=86557
CFLAGS
2009-12-06T05:59:25Z
<p>Keiichi: Redirected page to Makepkg.conf</p>
<hr />
<div>#REDIRECT [[Makepkg.conf]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_old&diff=86491
Beginners' guide old
2009-12-06T01:11:41Z
<p>Keiichi: Undo revision 86457 by Misfit138 (Talk)</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]][[Category:About Arch (English)]]<br />
[[Category:HOWTOs (English)]][[Category:Accessibility (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Provides a highly detailed, explanatory guide to installing, configuring and using a full-featured Arch Linux system.}}<br />
{{Article summary heading|Languages}}<br />
{{i18n_entry|Česky|Průvodce začátečníka (Česky)}}<br />
{{i18n_entry|简体中文|Arch 新手安装指南 (简体中文)}}<br />
{{i18n_entry|正體中文|Beginner's Guide 新手指南}}<br />
{{i18n_entry|Dansk|Dansk_Begynderguide}}<br />
{{i18n_entry|Deutsch|Beginners Guide (Deutsch)}}<br />
{{i18n_entry|English|Beginners Guide}}<br />
{{i18n_entry|Español|Guía para Principiantes (Español)}}<br />
{{i18n_entry|Français|Manuel_du_Débutant_(Français)}}<br />
{{i18n_entry|Italiano|Beginners Guide (Italiano)}}<br />
{{i18n_entry|Indonesia|Beginners_Guide_(Indonesia)}}<br />
{{i18n_entry|Lietuviškai|Pradedančiųjų gidas (Lietuviškai)}}<br />
{{i18n_entry|Nederlands|Beginners_Guide_(Nederlands)}}<br />
{{i18n_entry|Português Brasil|Guia do Iniciante(Português do Brasil)}}<br />
{{i18n_entry|Português|Guia para Principiantes(Português)}}<br />
{{i18n_entry|Русский|Руководство_для_новичков}}<br />
{{i18n_entry|Türkçe|Başlangıç Rehberi (Türkçe)}}<br />
{{i18n_entry|हिन्दी|नौसिखिया गाइड(हिन्दी)}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|:Category:Accessibility (English)}} (Accessibility Resources)<br />
{{Article summary wiki|Official Arch Linux Install Guide}}<br />
{{Article summary wiki|Beginners' Guide Appendix}}<br />
{{Article summary wiki|Post Installation Tips}}<br />
{{Article summary end}}<br />
==Preface==<br />
=====Introduction=====<br />
This document will guide you through the process of installing and configuring [[Arch Linux]]; a simple, agile and lightweight GNU/Linux distribution, and <tt>UNIX</tt>-like operating system targeted at competent users. <br />
* Arch Linux requires a certain level of intimate knowledge of its configuration process and of <tt>UNIX</tt>-like system methodology, and for this reason, extra explanatory information is included. <br />
* This guide is aimed at new Arch users, but strives to serve as a strong reference and informative base for all.<br />
<br />
'''Arch Linux Has:'''<br />
* [[The Arch Way]]; Which follows <tt>UNIX</tt>-like design and philosophy<br />
* All its packages compiled for the i686 and x86_64 architectures<br />
* The [[Arch Boot Process]]; Which uses BSD style init scripts, featuring one centralized configuration file<br />
* mkinitcpio; A simple and dynamic initramfs creator<br />
* The [[Pacman]] package manager; Which is lightweight and agile, with a very modest memory footprint<br />
* The [[Arch Build System]]; A ports like package building system, making it simple to create your own easily installable Arch packages from source<br />
* The [[Arch User Repository]]; Which offers thousands of build scripts for Arch from user provided software packages<br />
<br />
=====License=====<br />
<br />
Arch Linux, pacman, documentation, and scripts are copyright<br />
©2002-2007 by Judd Vinet, ©2007-2009 by Aaron Griffin and are licensed under the GNU General Public License Version 2.<br />
<br />
=====Don't Panic=====<br />
The Arch Linux system is assembled by the ''user'', from the shell, using basic command line tools. Unlike the more rigid structures of other distributions and installers, there are no default environments nor configurations chosen for you. From the command line, ''you'' will add packages from the Arch repositories using the pacman tool via your internet connection and manually configure your installation by editing text files until your system is customized to your requirements. You will also manually add non-root user(s) and manage groups and permissions. This method allows for maximum flexibility, choice, and system resource control ''from the base up''.<br />
<br />
Arch Linux is a distribution aimed at competent GNU/Linux users who desire a 'do-it-yourself' approach.<br />
<br />
=====The Arch Way=====<br />
<br />
'''''The design principles behind Arch are aimed at keeping it simple.'' '''<br />
<br />
'Simple', in this context, shall mean 'without unnecessary additions, modifications, or complications'. In short; an elegant, minimalist approach.<br />
<br />
'''Some thoughts to keep in mind as you consider simplicity:'''<br />
<br />
*''&quot; 'Simple' is defined from a technical standpoint, not a usability standpoint. It is better to be technically elegant with a higher learning curve, than to be easy to use and technically [inferior].&quot; -Aaron Griffin''<br />
*''Entia non sunt multiplicanda praeter necessitatem'' or &quot;Entities should not be multiplied unnecessarily.&quot; -Occam's razor. The term ''razor'' refers to the act of shaving away unnecessary complications to arrive at the simplest explanation, method or theory.<br />
*''&quot;The extraordinary part of [my method] lies in its simplicity..The height of cultivation always runs to simplicity.&quot;'' - Bruce Lee<br />
<br />
=====About This Guide=====<br />
<br />
The Arch wiki is an excellent resource and should be consulted for issues [[Main Page|first]]. The IRC room (at freenode #archlinux), and the [http://bbs.archlinux.org/ forums] are also available if the answer cannot be found elsewhere.<br />
<br />
{{Note|Following this guide closely is essential in order to successfully install a properly configured Arch Linux system, so ''please'' read it thoroughly. It is strongly recommended you read each section completely <u>before</u> carrying out the tasks contained.}}<br />
<br />
Since GNU/Linux Distributions are fundamentally 'modular' by design, the guide is logically divided into 4 main components of a desktop <tt>UNIX</tt>-like operating system: <br />
<br />
'''[[#Part I: Install the Base System|Part I: Installing the Base system]]'''<br />
<br />
'''[[#Part II: Configure & Update the New Arch Linux base system|Part II: Configure & Update the New Arch Linux base system]]'''<br />
<br />
'''[[#Part III: Install X and configure ALSA|Part III: Installing X and configuring ALSA]]'''<br />
<br />
'''[[#Part IV: Installing and configuring a Desktop Environment|Part IV: Installing a Desktop Environment]]'''<br />
<br />
==Part I: Install the Base System==<br />
<br />
===Step 1: Obtain the latest Installation media ===<br />
<br />
You can obtain Arch's official installation media from [http://archlinux.org/download/ here]. The latest version is 2009.08 <br />
<br />
*Both the Core and the Netinstall images provide only the necessary packages to create an '''Arch Linux base system'''. ''Note that the Base System does not include a GUI. It is mainly comprised of the GNU toolchain (compiler, assembler, linker, libraries, shell, and utilities), the Linux kernel, and a few extra libraries and modules.''<br />
*Core images facilitate both installing from CD and Net. <br />
*Netinstall images are smaller and provide no packages themselves; the entire system is retrieved via internet.<br />
*The isolinux images are provided for people who experience trouble using the grub version. There are no other differences.<br />
* [[Arch64_FAQ|The Arch64 FAQ]] can help you choose between the 32- and 64-bit versions.<br />
<br />
====CD installer====<br />
Burn the .iso image file to a CD with your preferred CD burner drive and software, and continue with [[#Step 2: Boot Arch Linux Installer | Step 2: Boot Arch Linux Installer]]<br />
{{Note| The quality of optical drives, as well as the CD media itself, vary greatly. Generally, using a slow burn speed is recommended for reliable burns; Some users recommend speeds '''''as low as 4x or 2x.''''' If you are experiencing unexpected behavior from the CD, try burning at the minimum speed supported by your system. }}<br />
<br />
====USB stick====<br />
{{Warning|This will irrevocably destroy all data on your USB stick!}}<br />
<br />
'''<tt>UNIX</tt> Method:'''<br />
<br />
Insert an empty or expendable USB stick, determine its path, and write the .img to the USB stick with the <code>/bin/dd</code> program:<br />
dd if=archlinux-2009.08-''{core|netinstall}''-''{i686|x86_64}''.img of=/dev/sd''x''<br />
where <code>if=</code> is the path to the img file and <code>of=</code> is your USB device. Make sure to use {{Filename|/dev/sd'''x'''}} and not {{Filename|/dev/sd'''x1'''}}.<br />
<br />
'''Check md5sum (optional):'''<br />
<br />
Make a note of the number of records (blocks) read in and written out, then perform the following check:<br />
dd if=/dev/sd''x'' count=''number_of_records'' status=noxfer | md5sum<br />
The md5sum returned should match the md5sum of the downloaded archlinux image file; they both should match the md5sum of the image as listed in the md5sums file in the mirror distribution site.<br />
<br />
'''Windows Method:'''<br />
<br />
Download Disk Imager from https://launchpad.net/win32-image-writer/+download. Insert flash media. Start the Disk Imager and select the image file. Select the Drive letter associated with the flash drive. Click "write".<br />
<br />
Continue with [[#Step 2: Boot Arch Linux Installer | Step 2: Boot Arch Linux Installer]]<br />
<br />
===Step 2: Boot Arch Linux Installer===<br />
Insert the CD or USB stick and boot from it. You may have to<br />
change the boot order in your computer BIOS or press a key (usually DEL, F1, F2, F11 or F12) during the BIOS POST (Power On Self-Test) phase.<br />
<br />
{{Tip|The memory requirements for a basic install are:<br />
* Core : 128 MB RAM x86_64/i686 (all packages selected, with swap partition)<br />
* Netinstall : 128 MB RAM x86_64/i686 (all packages selected, with swap partition)}}<br />
<br />
The main menu should be displayed at this point. Select the preferred choice by using the arrow keys to highlight your choice, and then by pressing Enter.<br />
<br />
Usually, the first item, Boot Archlive, is the preferred selection. However, choose Boot Archlive [legacy IDE] if you have trouble with libata/PATA, or have no SATA (Serial ATA) drives.<br />
<br />
To change GRUB boot options, press '''e'''. Many users may wish to change the resolution of the framebuffer, for more readable console output. Append:<br />
vga=773<br />
to the kernel line, followed by <ENTER>, for a 1024x768 framebuffer. When done, press '''b''' to boot into that selection.<br />
<br />
The system will now boot and present a login prompt. Login as 'root', without the quotes.<br />
<br />
If your system has errors trying to boot from the live CD or there are other '''hardware''' errors, refer to the [[Installation Troubleshooting]] wiki page.<br />
<br />
====Changing the keymap====<br />
If you have a non-US keyboard layout you can interactively choose your keymap/console font with the command:<br />
# km<br />
or use the loadkeys command:<br />
# loadkeys ''layout''<br />
(replace ''layout'' with your keyboard layout such as &quot;<code>fr</code>&quot; or &quot;<code>be-latin1</code>&quot;)<br />
<br />
====Documentation====<br />
The official install guide is conveniently available right on the live system! To access it, change to vc/2 (virtual console #2) with <ALT>+F2, and then invoke <code>/usr/bin/less</code> by typing in the following at the # prompt:<br />
# less /arch/docs/official_installation_guide_en<br />
<code>less</code> will allow you to page through the document. Change back to vc/1 with <ALT>+F1 to follow the rest of the install process.<br />
<br />
Change back to vc/2 at any time if you need to reference the Official Guide as you go thru the installation process.<br />
<br />
{{tip|Please note that the official guide only covers installation and configuration of the base system. Once that is installed, it is strongly recommended that you come back here to the wiki to find out more about post-installation considerations and other related issues.}}<br />
<br />
===Step 3: Start the Installation===<br />
As root, run the installer script from vc/1:<br />
# /arch/setup<br />
<br />
===A: Select an installation source===<br />
After a welcome screen, you will be prompted for an installation source. Choose the appropriate source for the installer you are using.<br />
* If you chose the CORE installer, continue below with [[#B: Set Clock|B: Set Clock]].<br />
* Netinstall only: You shall be prompted to load ethernet drivers manually, if desired. Udev is quite effective at loading the required modules, so you may assume it has already done so. You may verify this by invoking ifconfig -a from vc/3. (Select OK to continue.)<br />
<br />
====Configure Network (Netinstall)====<br />
Available Interfaces will be presented. If an interface and HWaddr ('''H'''ard'''W'''are '''addr'''ess) is listed, then your module has already been loaded. If your interface is not listed, you may probe it from the installer, or manually do so from another virtual console.<br />
<br />
The following screen will prompt you to ''Select the interface, Probe,'' or ''Cancel''. Choose the appropriate interface and continue.<br />
<br />
The installer will then ask if you wish to use DHCP. Choosing Yes will run '''dhcpcd''' to discover an available gateway and request an IP address; Choosing No will prompt you for your static IP, netmask, broadcast, gateway DNS IP, HTTP proxy, and FTP proxy. Lastly, you will be presented with an overview to ensure your entries are correct.<br />
<br />
=====(A)DSL Quickstart for the Live Environment (If you have a pure modem (or router in bridge mode) to connect to your ISP) =====<br />
<br />
Switch to another virtual console (<Alt> + F2), login as root and invoke <br />
# pppoe-setup<br />
If everything is well configured in the end you can connect to your ISP with <br />
# pppoe-start<br />
<br />
Return to first virtual console with <ALT>+F1. Continue with [[#B: Set Clock|B: Set Clock]]<br />
<br />
=====Wireless Quickstart For the Live Environment (If you need wireless connectivity during the installation process)=====<br />
<br />
The wireless drivers and utilities are now available to you in the live environment of the installation media. A good knowledge of your wireless hardware will be of key importance to successful configuration. Note that the following quickstart procedure ''executed at this point in the installation'' will initialize your wireless hardware for use ''in the live environment''. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. <br />
<br />
Also note that these steps are optional if wireless connectivity is unnecessary at this point in the installation; wireless functionality may always be established later.<br />
<br />
The basic procedure will be:<br />
* Switch to a free virtual console, e.g.: <ALT>+F3<br />
* (Optional) Identify the wireless interface and driver module:<br />
# lsmod | grep -i net<br />
* Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with <code>/usr/sbin/iwconfig</code>:<br />
# iwconfig<br />
Example output:<br />
lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated <br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0 <br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
<code>wlan0</code> is the available wireless interface in the example.<br />
* Bring the interface up with <code>/sbin/ifconfig <interface> up</code>.<br />
An example using the wlan0 interface:<br />
# ifconfig wlan0 up<br />
(Remember, your interface may be named something else, depending on your module (driver) and chipset: wlan0, eth1, etc.)<br />
* If the essid has been forgotten or is unknown, use <code>/sbin/iwlist <interface> scan</code> to scan for nearby networks.<br />
# iwlist wlan0 scan<br />
* Specify the id of the chosen wireless network with iwconfig <interface> essid &quot;<youressid>&quot; key <your_wep_key> (give the essid (the 'network name') of the network in quotes). <br />
* An example using WEP and a hexadecimal key:<br />
# iwconfig wlan0 essid &quot;linksys&quot; key 0241baf34c<br />
* An example using WEP and an ASCII passphrase:<br />
# iwconfig wlan0 essid "linksys" key s:pass1<br />
* An example using an unsecured network:<br />
# iwconfig wlan0 essid "linksys"<br />
* Request an IP address with <code>/sbin/dhcpcd <interface> </code>. e.g.:<br />
# dhcpcd wlan0<br />
* Ensure you can route using <code>/bin/ping</code>:<br />
# ping -c 3 www.google.com<br />
Done.<br />
* For connecting to a network using WPA, consult the [[WPA Supplicant]] article, and continue below.<br />
<br />
======Does the Wireless Chipset require Firmware?======<br />
A small percentage of wireless chipsets also require firmware, in addition to a corresponding driver. If unsure, invoke <code>/usr/bin/dmesg</code> to query the kernel log for a firmware request from the wireless chipset:<br />
# dmesg | grep firmware<br />
Example output from an Intel chipset which requires and has requested firmware from the kernel at boot:<br />
firmware: requesting iwlwifi-5000-1.ucode<br />
If there is no output, it may be concluded that the system's wireless chipset does not require firmware.<br />
<br />
{{Note | '''Wireless chipset firmware packages (for cards which require them) are pre-installed under /lib/firmware in the live environment, (on CD/USB stick) ''but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it!'' Package selection and installation is covered below. Ensure installation of both your wireless module and firmware during the package selection step! See [[Wireless Setup]] if you are unsure about the requirement of corresponding firmware installation for your particular chipset. This is a very common error.'''}}<br />
<br />
After the initial Arch installation is complete, you may wish to refer to [[Wireless Setup]] to ensure a permanent configuration solution for your installed system.<br />
<br />
Return to vc/1 with <ALT>+F1. Continue with [[#B: Set Clock|B: Set Clock]]<br />
<br />
===B: Set Clock===<br />
* UTC - Choose UTC if running only <tt>UNIX</tt>-like operating system(s).<br />
<br />
* localtime - Choose local if multi-booting with a Microsoft Windows OS.<br />
<br />
===C: Prepare Hard Drive===<br />
<br />
{{Warning|Partitioning hard drives can destroy data. You are strongly cautioned and advised to backup your critical data if applicable.}}<br />
<br />
{{Note|Partitioning may be performed before initiating the Arch installation if desired, by utilizing [http://gparted.sourceforge.net/download.php GParted] or other available tools. If the installation drive has already been partitioned to the required specifications, continue with [[#Set Filesystem Mountpoints| Set Filesystem Mountpoints]]}}<br />
<br />
Verify current disk identities and layout by invoking <code>/sbin/fdisk</code> with the <code>-l</code> (lower-case L) switch.<br />
<br />
Open another virtual console (<ALT>+F3) and enter:<br />
# fdisk -l<br />
Take note of the disk(s)/partition(s) to utilize for the Arch installation.<br />
<br />
Switch back to the installation script with <ALT>+F1<br />
<br />
Select the first menu entry &quot;Prepare Hard Drive&quot;.<br />
* Option 1: Auto Prepare<br />
Auto-Prepare divides the disk into the following configuration:<br />
<br />
* ext2 /boot partition, default size 32MB. ''You will be prompted to modify the size to your requirement.''<br />
* swap partition, default size 256MB. ''You will be prompted to modify the size to your requirement.''<br />
* A Separate / and /home partition, (sizes can also be specified). Available filesystems include ext2, ext3, ext4, reiserfs, xfs and jfs, but note that ''both / and /home shall share the same fs type'' if choosing the Auto Prepare option.<br />
<br />
Be warned that Auto-prepare will completely erase the chosen hard drive. Read the <font color=&quot;red&quot;>warning</font> presented by the installer very carefully, and make sure the correct device is about to be partitioned.<br />
<br />
* Option 2: '''(Recommended)''' Partition Hard Drives (with cfdisk)<br />
<br />
This option will allow for the most robust and customized partitioning solution for your personal needs.<br />
<br />
''At this point, more advanced GNU/Linux users who are familiar and comfortable with manually partitioning may wish to skip down to '''[[#D: Select Packages|D: Select Packages]]''' below.''<br />
<br />
{{Note|If you are installing to a USB flash key, see "[[Installing Arch Linux on a USB key]]".}}<br />
<br />
====Partition Hard Drives====<br />
<br />
=====Partition Info=====<br />
<br />
Partitioning a hard disk drive defines specific areas (the partitions) within the disk, that will each appear and behave as a separate disk and upon which a filesystem may be created (formatted).<br />
*There are 3 types of disk partitions:<br />
#Primary<br />
#Extended<br />
#Logical<br />
'''Primary''' partitions can be bootable, and are limited to 4 partitions per disk or raid volume. If a partitioning scheme requires more than 4 partitions, an '''extended''' partition which will contain '''logical''' partitions will be required.<br />
<br />
Extended partitions are not usable by themselves; they are merely a &quot;container&quot; for logical partitions. If required, a hard disk shall contain only one extended partition; which shall then be sub-divided into logical partitions.<br />
<br />
When partitioning a disk, one can observe this numbering scheme by creating primary partitions sda1 through sda3 followed by creating an extended partition, sda4, and subsequently creating logical partition(s) within the extended partition; sda5, sda6, and so on.<br />
<br />
=====Swap Partition=====<br />
A swap partition is a place on the drive where virtual ram resides, allowing the kernel to easily use disk storage for data that does not fit into physical RAM.<br />
<br />
Historically, the general rule for swap partition size was 2x the amount of physical RAM. Over time, as computers have gained ever larger memory capacities, this rule has become increasingly deprecated. Generally, on machines with up to 512MB RAM, the 2x rule is usually quite sufficient. On machines with 1GB RAM, generally a 1x rule is adequate. If the installation machine provides gratuitous amounts of RAM (more than 1024 MB) it may be possible to completely forget a swap partition altogether, though this is not recommended (see note below). A 1 GB swap partition will be used in this example.<br />
{{Note|If using suspend-to-disk, (hibernate) a swap partition at least '''equal''' in size to the amount of physical RAM is required. Some Arch users even recommend oversizing it beyond the amount of physical RAM by 10-15%, to allow for possible bad sectors.}}<br />
<br />
=====Partition Scheme=====<br />
A disk partitioning scheme is a very personalized preference. Each user's choices will be unique to their own computing habits and requirements. If you would like to dual boot Arch Linux and a Windows operating systems please see [[Windows and Arch Dual Boot]].<br />
<br />
Filesystem candidates for separate partitions include:<br />
<br />
'''/''' (root) ''The root filesystem is the primary filesystem from which all other filesystems stem; the top of the hierarchy. All files and directories appear under the root directory &quot;/&quot;, even if they are stored on different physical devices. The contents of the root filesystem must be adequate to boot, restore, recover, and/or repair the system. Therefore, certain directories under / are not themselves candidates for separate partitions. (See warning below).''<br />
<br />
'''/boot''' ''This directory contains the kernel and ramdisk images as well as the bootloader configuration file, and bootloader stages. /boot also stores data that is used before the kernel begins executing userspace programs. This may include saved master boot sectors and sector map files. /boot is essential for booting, but is unique in that it may still be kept on its own separate partition (if required).''<br />
<br />
'''/home''' ''User data and user specific configuration files for applications are stored in each user's home directory in a file that starts with the '.' character (a &quot;dot file&quot;).''<br />
<br />
'''/usr''' ''While root is the primary filesystem, /usr is the secondary hierarchy, for user data, containing the majority of (multi-)user utilities and applications. /usr is shareable, read-only data. This means that /usr shall be shareable between various hosts and must not be written to, except in the case of system update/upgrade. Any information that is host-specific or varies with time is stored elsewhere.''<br />
<br />
'''/tmp''' ''directory for programs that require temporary files''<br />
<br />
'''/var''' ''contains variable data; spool directories and files, administrative and logging data, pacman's cache, the ABS tree, etc.''<br />
{{Warning | Besides /boot, directories essential for booting are: ''''''/bin', '/dev', '/etc', '/lib', '/proc' and '/sbin'. Therefore, they must not reside on a separate partition from /.'''''}}<br />
'''''There are several advantages for using discrete filesystems, rather than combining all into one partition''''':<br />
<br />
* Security: Each filesystem may be configured in /etc/fstab as 'nosuid', 'nodev', 'noexec', 'readonly', etc.<br />
* Stability: A user, or malfunctioning program can completely fill a filesystem with garbage if they have write permissions for it. Critical programs, which reside on a different filesystem remain unaffected.<br />
* Speed: A filesystem which gets written to frequently may become somewhat fragmented. (An effective method of avoiding fragmentation is to ensure that each filesystem is never in danger of filling up completely.) Separate filesystems remain unaffected, and each can be defragmented separately as well.<br />
* Integrity: If one filesystem becomes corrupted, separate filesystems remain unaffected.<br />
* Versatility: Sharing data across several systems becomes more expedient when independent filesystems are used. Separate filesystem types may also be chosen based upon the nature of data and usage.<br />
In this example, we shall use separate partitions for /, /var, /home, and a swap partition.<br />
<br />
{{Note | /var contains many small files. This should be taken into consideration when choosing a filesystem type for it, (if creating its own separate partition).}}<br />
<br />
=====How big should my partitions be?=====<br />
This question is best answered based upon individual needs.<br />
You may wish to simply create '''one partition for root and one partition for swap or only one root partition without swap''' or refer to the following examples and consider these guidelines to provide a frame of reference:<br />
* The root filesystem (/) in the example will contain the /usr directory, which can become moderately large, depending upon how much software is installed. 15-20 GB should be sufficient for most users.<br />
<br />
* The /var filesystem will contain, among other data, the [[ABS]] tree and the pacman cache. Keeping cached packages is useful and versatile; it provides the ability to downgrade packages if needed. /var tends to grow in size; the pacman cache can grow large over long periods of time, but can be safely cleared if needed. If you are using an SSD, you may wish to locate your /var on an HDD and keep the / and /home partitions on your SSD to avoid needless read/writes to the SSD. 6-8 Gigs on a desktop system should be sufficient for /var. Servers tend to have extremely large /var filesystems.<br />
<br />
* The /home filesystem is typically where user data, downloads, and multimedia reside. On a desktop system, /home is typically the largest filesystem on the drive by a large margin. Remember that if you chose to reinstall Arch, all the data on your /home partition will be untouched (so long as you have a separate /home partition). <br />
<br />
* An extra 25% of space added to each filesystem will provide a cushion for unforeseen occurrence, expansion, and serve as a preventive against fragmentation.<br />
'''''From the guidelines above, the example system shall contain a ~15GB root (/) partition, ~7GB /var, 1GB swap, and a /home containing the remaining disk space.'''''<br />
<br />
=====Create Partition:cfdisk=====<br />
Start by creating the primary partition that will contain the '''root''', (/) filesystem.<br />
<br />
Choose '''N'''ew -> Primary and enter the desired size for root (/). Put the partition at the beginning of the disk.<br />
<br />
Also choose the '''T'''ype by designating it as '83 Linux'. The created / partition shall appear as sda1 in our example.<br />
<br />
Now create a primary partition for /var, designating it as '''T'''ype 83 Linux. The created /var partition shall appear as sda2<br />
<br />
Next, create a partition for swap. Select an appropriate size and specify the '''T'''ype as 82 (Linux swap / Solaris). The created swap partition shall appear as sda3.<br />
<br />
Lastly, create a partition for your /home directory. Choose another primary partition and set the desired size.<br />
<br />
Likewise, select the '''T'''ype as 83 Linux. The created /home partition shall appear as sda4.<br />
<br />
Example:<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 6256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
Choose '''W'''rite and type ''''yes''''. Beware that this operation may destroy data on your disk. Choose '''Q'''uit to leave the partitioner.<br />
Choose Done to leave this menu and continue with &quot;Set Filesystem Mountpoints&quot;.<br />
<br />
{{Note | Since the latest developments of the Linux kernel which include the libata and PATA modules, all IDE, SATA and SCSI drives have adopted the sd''x'' naming scheme. This is perfectly normal and should not be a concern.}}<br />
<br />
====Set Filesystem Mountpoints====<br />
First you will be asked for your swap partition. Choose the appropriate partition (sda3 in this example). You will be asked if you want to create a swap filesystem; select yes. Next, choose where to mount the / (root) directory (sda1 in the example). At this time, you will be asked to specify the filesystem type.<br />
<br />
=====Filesystem Types=====<br />
Again, a filesystem type is a very subjective matter which comes down to personal preference. Each has its own advantages, disadvantages, and unique idiosyncrasies. Here is a very brief overview of supported filesystems:<br />
<br />
1. '''ext2''' ''Second Extended Filesystem''- Old, reliable GNU/Linux filesystem. Very stable, but ''without journaling support''. May be inconvenient for root (/) and /home, due to very long fsck's. ''An ext2 filesystem can easily be converted to ext3.'' Generally regarded as a good choice for /boot/.<br />
<br />
2. '''ext3''' ''Third Extended Filesystem''- Essentially the ext2 system, but with journaling support. ext3 is completely compatible with ext2. ''Extremely'' stable, mature, and by far the most widely used, supported and developed GNU/Linux FS.<br />
<br />
'''High Performance Filesystems:'''<br />
<br />
3. '''ext4''' ''Fourth Extended Filesystem''- Backward compatible with ext2 and ext3, Introduces support for volumes with sizes up to 1 exabyte and files with sizes up to 16 terabyte. Increases the 32,000 subdirectory limit in ext3 to 64,000. Offers online defragmentation ability. <br />
{{Note | ext4 is a new filesystem and may have some bugs.}}<br />
<br />
4. '''ReiserFS''' (V3)- Hans Reiser's high-performance journaling FS uses a very interesting method of data throughput based on an unconventional and creative algorithm. ReiserFS is touted as very fast, especially when dealing with many small files. ReiserFS is fast at formatting, yet comparatively slow at mounting. Quite mature and stable. ReiserFS is not actively developed at this time (Reiser4 is the new Reiser filesystem). Generally regarded as a good choice for /var/.<br />
<br />
5. '''JFS''' - IBM's '''J'''ournaled '''F'''ile'''S'''ystem- The first filesystem to offer journaling. JFS had many years of use in the IBM AIX® OS before being ported to Linux. JFS currently uses the least CPU resources of any GNU/Linux filesystem. Very fast at formatting, mounting and fsck's, and very good all-around performance, especially in conjunction with the deadline I/O scheduler. (See [[JFS]].) Not as widely supported as ext or ReiserFS, but very mature and stable.<br />
<br />
6. '''XFS''' - Another early journaling filesystem originally developed by Silicon Graphics for the IRIX OS and ported to Linux. XFS offers very fast throughput on large files and large filesystems. Very fast at formatting and mounting. Generally benchmarked as slower with many small files, in comparison to other filesystems. XFS is very mature and offers online defragmentation ability.<br />
* JFS and XFS filesystems cannot be ''shrunk'' by disk utilities (such as gparted or parted magic)<br />
<br />
===== A note on Journaling=====<br />
All above filesystems, except ext2, utilize [http://en.wikipedia.org/wiki/Journaling_file_system journaling]. Journaling file systems are fault-resilient file systems that use a journal to log changes before they are committed to the file system to avoid metadata corruption in the event of a crash. Note that not all journaling techniques are alike; specifically, only ext3 and ext4 offer ''data-mode journaling'', (though, not by default), which journals ''both'' data ''and'' meta-data (but with a significant speed penalty). The others only offer ''ordered-mode journaling'', which journals meta-data only. While all will return your filesystem to a valid state after recovering from a crash, ''data-mode journaling'' offers the greatest protection against file system corruption and data loss but can suffer from performance degradation, as all data is written twice (first to the journal, then to the disk). Depending upon how important your data is, this may be a consideration in choosing your filesystem type.<br />
<br />
'''''Moving on...'''''<br />
<br />
Choose and create the filesystem (format the partition) for / by selecting '''yes'''. You will now be prompted to add any additional partitions. In our example, sda2 and sda4 remain. For sda2, choose a filesystem type and mount it as /var. Finally, choose the filesystem type for sda4, and mount it as /home. <br />
{{Box Note |If you have not created and do not need a separate /boot partition, you may safely ignore the warning that it does not exist.}} Return to the main menu.<br />
<br />
===D: Select Packages===<br />
<br />
*Core ISO: Choose CD as source and select the appropriate CD drive if more than one exist on the installation machine.<br />
*Netinstall: Select an FTP/HTTP mirror. ''Note that archlinux.org is throttled to 50KB/s''.<br />
<br />
Package selection is split into two stages. First, select the package category:<br />
{{Note | For expedience, all packages in '''base''' are selected by default. Use the space-bar to select and de-select packages.}}<br />
* '''Base''': The minimal base environment. ''Always select it and only remove packages that will not be used.''<br />
* '''Base-devel''': Extra tools such as '''make''', '''automake''' and '''wireless-tools''' as well as wireless firmwares. ''Most beginners should choose to install it, and will probably need it later.<br />
''<br />
After category selection, you will be presented with the full lists of packages, allowing you to fine-tune your selections. Use the space bar to select and unselect.<br />
<br />
{{Note | If you are going to require connection to a wireless network with WPA encryption, consider installing netcfg2 (as well as wireless_tools), which will enable you to do so.}}<br />
<br />
Adter selecting the needed packages, leave the selection<br />
screen and continue to the next step, Install Packages.<br />
<br />
===E: Install Packages===<br />
Next, choose 'Install Packages'. You will be asked if you wish to keep the packages in the pacman cache. If you choose 'yes', you will have the flexibility to [[Downgrade packages|downgrade]] to previous package versions in the future, so this is recommended (you can always clear the cache in the future). The installer script will now install the selected packages, as well as the default Arch 2.6 kernel, to your system.<br />
*Netinstall: The [[Pacman]] package manager will now download and install your selected packages. (See vc/5 for output, vc/1 to return to the installer)<br />
*Core image: The packages will be installed from the CD/USB stick.<br />
<br />
===F: Configure the System===<br />
''Closely following and understanding these steps is of key importance to ensure a properly configured system.''<br />
<br />
*At this stage of the installation, you will configure the primary configuration files of your Arch Linux base system.<br />
<br />
*Previous versions of the installer included [[Hwdetect|hwdetect]] to gather information for your configuration. This has been deprecated, and '''[[Udev|udev]]''' should handle most module loading automatically at boot.<br />
<br />
Now you will be asked which text editor you want to use; choose [[Nano|nano]], [http://joe-editor.sourceforge.net/ joe] or [[Vim|vi]], ('''nano''' is generally considered easiest of the 3). You will be presented with a menu including the main configuration files for your system. <br />
<br />
{{Note | ''It is very important at this point to edit, or at least verify by opening, every configuration file.'' The installer script relies on your input to create these files on your installation. A common error is to skip over these critical steps of configuration.}}<br />
<br />
=====Can the installer handle this more automatically?=====<br />
Hiding the process of system configuration is in direct opposition to '''''[[The Arch Way]]'''''. While it is true that recent versions of the kernel and hardware probing tools offer excellent hardware support and auto-configuration, Arch presents the user all pertinent configuration files during installation for the purposes of ''transparency and system resource control''. By the time you have finished modifying these files to your specifications, you will have learned the simple method of manual Arch Linux system configuration and become more familiar with the base structure, leaving you better prepared to use and maintain your new installation productively.<br />
<br />
'''''Moving on...'''''<br />
<br />
====/etc/rc.conf====<br />
Arch Linux uses the file '''/etc/rc.conf''' as the principal location for system configuration. This one file contains a wide range of configuration information, principally used at system startup. As its name directly implies, it also contains settings for and invokes the /etc/rc* files, and is, of course, sourced ''by'' these files.<br />
<br />
=====LOCALIZATION section=====<br />
* '''LOCALE'''=: This sets your system locale, which will be used by all i18n-aware applications and utilities. You can get a list of the available locales by running {{Codeline|locale -a}} from the command line. This setting's default is fine for US English users.<br />
* '''HARDWARECLOCK'''=: Specifies whether the hardware clock, which is synchronized on boot and on shutdown, stores '''UTC''' time, or '''localtime'''. UTC makes sense because it greatly simplifies changing timezones and daylight savings time. localtime is necessary if you dual boot with an operating system such as Windows, that only stores localtime to the hardware clock.<br />
* '''USEDIRECTISA'''=: Use direct I/O request instead of {{Filename|/dev/rtc}} for hwclock<br />
* '''TIMEZONE'''=: Specify your TIMEZONE. (All available zones are under {{Filename|/usr/share/zoneinfo/}}).<br />
* '''KEYMAP'''=: The available keymaps are in {{Filename|/usr/share/kbd/keymaps}}. Please note that this setting is only valid for your TTYs, not any graphical window managers or '''X'''.<br />
* '''CONSOLEFONT'''=: Available console fonts reside under {{Filename|/usr/share/kbd/consolefonts/}} if you must change. The default (blank) is safe.<br />
* '''CONSOLEMAP'''=: Defines the console map to load with the setfont program at boot. Possible maps are found in {{Filename|/usr/share/kbd/consoletrans}}, if needed. The default (blank) is safe.<br />
* '''USECOLOR'''=: Select &quot;yes&quot; if you have a color monitor and wish to have colors in your consoles.<br />
LOCALE=&quot;en_US.utf8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;US/Eastern&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
<br />
=====HARDWARE Section=====<br />
* '''MOD_AUTOLOAD'''=: Setting this to &quot;yes&quot; will use '''udev''' to automatically probe hardware and load the appropriate modules during boot, (convenient with the default modular kernel). Setting this to &quot;no&quot; will rely on the user's ability to specify this information manually, or compile their own custom kernel and modules, etc.<br />
* '''MOD_BLACKLIST'''=: This has become deprecated in favor of adding blacklisted modules directly to the '''MODULES=''' line below.<br />
* '''MODULES'''=: Specify additional MODULES if you know that an important module is missing. If your system has any floppy drives, add "floppy". If you will be using loopback filesystems, add "loop". Also specify any blacklisted modules by prefixing them with a bang (!). Udev will be forced NOT to load blacklisted modules. In the example, the IPv6 module as well as the annoying pcspeaker are blacklisted.<br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !snd_pcsp !pcspkr loop)<br />
<br />
=====NETWORKING Section=====<br />
* '''HOSTNAME'''=:Set your HOSTNAME to your liking.<br />
* '''eth0'''=: 'Ethernet, card 0'. Adjust the interface IP address, netmask and broadcast address ''if'' you are using '''static IP'''. Set eth0=&quot;dhcp&quot; if you want to use '''DHCP'''<br />
* '''INTERFACES'''=: Specify all interfaces here. <br />
* '''gateway'''=: If you are using '''static IP''', set the gateway address. If using '''DHCP''', you can usually ignore this variable, though some users have reported the need to define it.<br />
* '''ROUTES'''=: If you are using static '''IP''', remove the '''!''' in front of 'gateway'. If using '''DHCP''', you can usually leave this variable commented out with the bang (!), but again, some users require the gateway and ROUTES defined. If you experience networking issues with pacman, for instance, you may want to return to these variables.<br />
<br />
====== Example, using a dynamically assigned IP address ('''DHCP''') ======<br />
<br />
HOSTNAME=&quot;arch&quot;<br />
#eth0=&quot;eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255&quot;<br />
eth0=&quot;dhcp&quot;<br />
INTERFACES=(eth0)<br />
gateway=&quot;default gw 192.168.0.1&quot;<br />
ROUTES=(!gateway)<br />
<br />
======Example, using a '''static''' IP address======<br />
<br />
HOSTNAME=&quot;arch&quot;<br />
eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(eth0)<br />
gateway="default gw 192.168.0.1"<br />
ROUTES=(gateway)<br />
<br />
Modify {{Filename|/etc/resolv.conf}} to contain the DNS servers of choice. Example:<br />
<br />
search my.isp.net.<br />
nameserver 4.2.2.1<br />
nameserver 4.2.2.2<br />
nameserver 4.2.2.3<br />
<br />
Various processes can overwrite the contents of {{filename|/etc/resolv.conf}}. For example, by default Arch Linux uses the '''dhcpcd''' DHCP client, which will overwrite the file when it starts. [[Resolv.conf|Various methods]] may be used to preserve the nameserver settings in {{filename|/etc/resolv.conf}}. For example, dhcpcd's configurations file may be edited to prevent the dhcpcd daemon from overwriting the file. To do this, you will need to modify the {{Filename|/etc/conf.d/dhcpcd}} configuration:<br />
<br />
# Arguments to be passed to the DHCP client daemon<br />
# DHCPCD_ARGS="-q"<br />
DHCPCD_ARGS="-C resolv.conf -q"<br />
<br />
{{tip|If using a non-standard MTU size (a.k.a. jumbo frames) is desired AND the installation machine hardware supports them, see the [[Jumbo Frames]] wiki article for further configuration.}}<br />
<br />
=====DAEMONS Section=====<br />
This array simply lists the names of those scripts contained in /etc/rc.d/ which are to be started during the boot process, and the order in which they start. Asynchronous initialization by backgrounding is also supported and useful for speeding up boot. <br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
*If a script name is prefixed with a bang (!), it is not executed.<br />
*If a script is prefixed with an &quot;at&quot; symbol (@), it shall be executed in the background; the startup sequence will not wait for successful completion of each daemon before continuing to the next. (Useful for speeding up system boot). Do not background daemons that are needed by other daemons. For example "mpd" depends on "network", therefore backgrounding network may cause mpd to break.<br />
*Edit this array whenever new system services are installed, if starting them automatically during boot is desired.<br />
<br />
{{Note | This 'BSD-style' init, is the Arch way of handling what other distributions handle with various symlinks to an /etc/init.d directory.}}<br />
<br />
======About DAEMONS======<br />
The [[daemons]] line need not be changed at this time, but it is useful to explain what daemons are, as they will be addressed later in this guide.<br />
A ''daemon'' is a program that runs in the background, waiting for events to occur and offering services. A good example is a webserver that waits for a request to deliver a page (e.g.:httpd) or an SSH server waiting for a user login (e.g.:sshd). While these are full-featured applications, there are also daemons whose work is not that visible. Examples are a daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers the CPU frequency if the system has nothing to do (e.g.:cpufreq), and a daemon which provides a graphical login (e.g.: gdm, kdm). All these programs can be added to the daemons line and will be started when the system boots. Useful daemons will be presented during this guide.<br />
<br />
Historically, the term ''daemon'' was coined by the programmers of MIT's Project MAC. They took the name from ''Maxwell's demon'', an imaginary being from a famous thought experiment that constantly works in the background, sorting molecules. <tt>UNIX</tt> systems inherited this terminology and created the backronym '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor.<br />
<br />
{{Tip|All Arch daemons reside under /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
The '''fstab''' (for '''f'''ile '''s'''ystems '''tab'''le) is part of the system configuration listing all available disks and disk partitions, and indicating how they are to be initialized or otherwise integrated into the overall system's filesystem. The '''/etc/fstab''' file is most commonly used by the '''mount''' command. The mount command takes a filesystem on a device, and adds it to the main system hierarchy that you see when you use your system. '''mount -a''' is called from /etc/rc.sysinit, about 3/4 of the way through the boot process, and reads /etc/fstab to determine which options should be used when mounting the specified devices therein. If '''noauto''' is appended to a filesystem in /etc/fstab, '''mount -a''' will not mount it at boot.<br />
<br />
=====An example /etc/fstab=====<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
#/dev/cdrom /media/cdrom auto ro,user,noauto,unhide 0 0<br />
#/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0<br />
#/dev/fd0 /media/fl auto user,noauto 0 0<br />
/dev/sda1 / jfs defaults,noatime 0 1<br />
/dev/sda2 /var reiserfs defaults,noatime,notail 0 2<br />
/dev/sda3 swap swap defaults 0 0<br />
/dev/sda4 /home jfs defaults,noatime 0 2<br />
{{Note | The 'noatime' option disables writing read access times to the metadata of files and may safely be appended to / and /home regardless of your specified filesystem type for increased speed, performance, and power efficiency (see [http://kerneltrap.org/node/14148 here] for more). 'notail' disables the ReiserFS tailpacking feature, for added performance at the cost of slightly less efficient disk usage.}}<br />
<br />
* '''<file system>''': describes the block device or remote filesystem to be mounted. For regular mounts, this field will contain a link to a block device node (as created by mknod which is called by udev at boot) for the device to be mounted; for instance, '/dev/cdrom' or '/dev/sda1'. <br />
{{Note | Rather than the sd''x'' naming scheme, you may choose to use UUID, or other persistent block device naming schemes for consistent device mapping. Due to active developments in the kernel and also udev, the ordering in which drivers for storage controllers are loaded may change randomly, yielding an unbootable system/kernel panic. Nearly every motherboard has several controllers (onboard SATA, onboard IDE), and due to the aforementioned development updates, /dev/sda may become /dev/sdb on the next reboot. (See [[Persistent block device naming| this wiki article]] for more information on persistent block device naming. )}}<br />
<br />
* '''<dir>''': describes the mount point for the filesystem. For swap partitions, this field should be specified as 'swap'; (Swap partitions are not actually mounted.)<br />
<br />
* '''<type>''': describes the type of the filesystem. The Linux kernel supports many filesystem types. (For the filesystems currently supported by the running kernel, see /proc/filesystems). An entry 'swap' denotes a file or partition to be used for swapping. An entry 'ignore' causes the line to be ignored. This is useful to show disk partitions which are currently unused.<br />
<br />
* '''<options>''': describes the mount options associated with the filesystem. It is formatted as a comma separated list of options with no intervening spaces. It contains at least the type of mount plus any additional options appropriate to the filesystem type. For documentation on the available options for non-nfs file systems, see mount(8).<br />
<br />
* '''<dump>''': used by the dump(8) command to determine which filesystems are to be dumped. dump is a backup utility. If the fifth field is not present, a value of zero is returned and dump will assume that the filesystem does not need to be backed up. ''Note that dump is not installed by default.''<br />
<br />
* '''<pass>''': used by the fsck(8) program to determine the order in which filesystem checks are done at boot time. The root filesystem should be specified with a <pass> of 1, and other filesystems should have a <pass> of 2 or 0. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware. If the sixth field is not present or zero, a value of zero is returned and fsck will assume that the filesystem does not need to be checked.<br />
<br />
*If you plan on using '''hal''' to automount media such as DVDs, you may wish to comment out the cdrom and dvd entries in preparation for '''hal''', which will be installed later in this guide.<br />
<br />
Expanded information available in the [[Fstab]] wiki entry.<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
''Most users will not need to modify this file at this time, but please read the following explanatory information.''<br />
<br />
This file allows further fine-tuning of the initial ram filesystem, or initramfs, (also historically referred to as the initial ramdisk or &quot;initrd&quot;) for your system. The initramfs is a gzipped image that is read by the kernel during boot. The purpose of the initramfs is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required for devices like IDE, SCSI, or SATA drives (or USB/FW, if you are booting from a USB/FW drive). Once the initrramfs loads the proper modules, either manually or through udev, it passes control to the kernel and your boot continues. For this reason, the initramfs only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of common kernel modules will be loaded later on by udev, during the init process.<br />
<br />
'''mkinitcpio''' is the next generation of '''initramfs creation'''. It has many advantages over the old '''mkinitrd''' and '''mkinitramfs''' scripts.<br />
<br />
* It uses '''klibc''' and '''kinit''' which are developed by Linux kernel devs to provide a small and lightweight base for early userspace.<br />
* It can use '''udev''' for hardware autodetection at runtime, thus prevents you from having tons of unnecessary modules loaded.<br />
* Its hook-based init script is easily extendable with custom hooks, which can easily be included in pacman packages without having to modifiy mkinitcpio itself.<br />
* It already supports '''lvm2''', '''dm-crypt''' for both legacy and luks volumes, '''raid''', '''swsusp''' and '''suspend2''' resuming and booting from '''usb mass storage''' devices.<br />
* Many features can be configured from the kernel command line without having to rebuild the image.<br />
* The '''mkinitcpio''' script makes it possible to include the image in a kernel, thus making a self-contained kernel image is possible.<br />
* Its flexibility makes recompiling a kernel unnecessary in many cases.<br />
<br />
If using RAID or LVM on the root filesystem, the appropriate HOOKS must be configured. See the wiki pages for [[Installing with Software RAID or LVM| RAID]] and [[Configuring mkinitcpio | /etc/mkinitcpio]] for more info. If using a non-US keyboard. add the "<code>keymap</code>" hook to load your local keymap during boot. Add the "<code>usbinput</code>" hook if using a USB keyboard, e.g.:<br />
HOOKS="base udev autodetect pata scsi sata filesystems keymap usbinput"<br />
(Otherwise, if boot fails for some reason you will be asked to enter root's password for system maintenance but will be unable to do so.)<br />
<br />
If you need support for booting from USB devices, FireWire devices, PCMCIA devices, NFS shares, software RAID arrays, LVM2 volumes, encrypted volumes, or DSDT support, configure your HOOKS accordingly. <br />
<br />
If doing a CF or SD card install, you may need to add the <code>usbinput</code> HOOK for your system to boot properly. <br />
<br />
''If you are using a US keyboard, and have no need for any of the above HOOKS, editing this configuration should be unnecessary at this point.''<br />
<br />
'''mkinitcpio''' is an Arch innovation developed by Aaron Griffin and Tobias Powalowski with some help from the community.<br />
<br />
==== /etc/modprobe.d/modprobe.conf====<br />
<br />
This file can be used to set special configuration options for the kernel modules. It is unnecessary to configure this file at this time.<br />
<br />
====/etc/resolv.conf (for Static IP)====<br />
The ''resolver'' is a set of routines in the C library that provide access to the Internet Domain Name System (DNS). One of the main functions of DNS is to translate domain names into IP addresses, to make the Web a friendlier place. The resolver configuration file, or /etc/resolv.conf, contains information that is read by the resolver routines the first time they are invoked by a process.<br />
<br />
*''If you are using DHCP, you may safely ignore this file, as by default, it will be dynamically created and destroyed by the dhcpcd daemon. You may change this default behavior if you wish. (See [http://wiki.archlinux.org/index.php/Network#For_DHCP_IP Network]]).''<br />
<br />
If you use a static IP, set your DNS servers in /etc/resolv.conf (nameserver <ip-address>). You may have as many as you wish.<br />
An example, using OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
If you are using a router, you will probably want to specify your DNS servers in the router itself, and merely point to it from your '''/etc/resolv.conf''', using your router's IP (which is also your gateway from '''/etc/rc.conf'''), e.g.:<br />
nameserver 192.168.1.1<br />
<br />
If using '''DHCP''', you may also specify your DNS servers in the router, or allow automatic assignment from your ISP, if your ISP is so equipped.<br />
<br />
====/etc/hosts====<br />
This file associates IP addresses with hostnames and aliases, one line per IP address. For each host a single line should be present with the following information:<br />
<IP-address> <hostname> [aliases...]<br />
Add your ''hostname'', coinciding with the one specified in /etc/rc.conf, as an alias, so that it looks like this:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
{{Note |''This format, '''including the 'localhost' and your actual host name''', is required for program compatibility! So, if you have named your computer Archhost, then that line above should look like this:<br />
127.0.0.1 localhost.localdomain localhost Archhost<br />
Errors in this entry may cause poor network performance and/or certain programs to open very slowly, or not work at all. This is a very common error for beginners.''}}<br />
<br />
If you use a static IP, add another line using the syntax: <static-IP> <hostname.domainname.org> <hostname> e.g.:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|For convenience, you may also use /etc/hosts aliases for hosts on your network, and/or on the Web, e.g.:<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
The above example would allow you to access google simply by typing 'g' into your browser, and access to a media and data server on your network by name and without the need for typing out their respective IP addresses.}}<br />
<br />
====/etc/hosts.deny and /etc/hosts.allow====<br />
Modify these configurations according to your needs if you plan on using the [[SSH|ssh]] daemon. The default configuration will reject all incoming connections, not only ssh connections. Edit your '''/etc/hosts.allow '''file and add the appropriate parameters: <br />
<br />
* let everyone connect to you<br />
sshd: ALL<br />
<br />
* restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
* restrict it to your local LAN network (range 192.168.0.0 to 192.168.0.255)<br />
sshd: 192.168.0.<br />
<br />
* OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
If you do not plan on using the [[SSH|ssh]] daemon, leave this file at the default, (empty), for added security.<br />
<br />
====/etc/locale.gen====<br />
The '''/usr/sbin/locale-gen''' command reads from '''/etc/locale.gen''' to generate specific locales. They can then be used by '''glibc''' and any other locale-aware program or library for rendering text, correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards. The ability to setup a default locale is a great built-in privilege of using a <tt>UNIX</tt>-like operating system.<br />
<br />
By default /etc/locale.gen is an empty file with commented documentation. Once edited, the file remains untouched. '''locale-gen''' runs on every '''glibc''' upgrade, generating all the locales specified in /etc/locale.gen.<br />
<br />
Choose the locale(s) you need (remove the # in front of the lines you want), e.g.:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
The installer will now run the locale-gen script, which will generate the locales you specified. You may change your locale in the future by editing /etc/locale.gen and subsequently running 'locale-gen' as root.<br />
<br />
{{Note |'''''If you fail to choose your locale, this will lead to a &quot;The current locale is invalid...&quot; error. This is perhaps the most common mistake by new Arch users, and also leads to the most commonly asked questions on the forum.'''''}}<br />
<br />
====Pacman-Mirror====<br />
Choose a mirror repository for '''pacman'''. <br />
*''archlinux.org is throttled, limiting downloads to 50KB/s''<br />
<br />
====Root password====<br />
Finally, set a root password and make sure that you remember it later. Return to the main menu and continue with installing bootloader.<br />
<br />
===G: Install Bootloader===<br />
Because we have no secondary operating system in our example, we will need a bootloader. [http://www.gnu.org/software/grub/ GNU GRUB] is the recommended bootloader. Alternatively, you may choose [http://lilo.go.dyndns.org/ LILO].<br />
<br />
====GRUB====<br />
The provided '''GRUB''' configuration ('''/boot/grub/menu.lst''') should be sufficient, but verify its contents to ensure accuracy (specifically, ensure that the root (/) partition is specified by UUID on line 3). You may want to alter the resolution of the console by adding a vga=<number> kernel argument corresponding to your desired virtual console resolution. (A table of resolutions and the corresponding numbers is printed in the menu.lst.)<br />
<br />
Example: <br />
title Arch Linux (Main)<br />
root (hd0,0) <br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro vga=773<br />
initrd /boot/kernel26.img<br />
{{Note | ''The linux kernel, 'vmlinuz', is so named because it incorporated '''v'''irtual '''m'''emory capability early in its development. The '''z''' denotes a zipped (compressed) image.''}}<br />
<br />
Explanation:<br />
<br />
Line 1: '''title''': A printed menu selection. &quot;Arch Linux (Main)&quot; will be printed on the screen as a menu selection.<br />
<br />
Line 2: '''root''': '''GRUB''''s root; the drive and partition where the kernel (/boot) resides, according to system BIOS. (More accurately, where GRUB's stage2 file resides). '''NOT necessarily the root''' (/) file system, as they can reside on separate partitions. GRUB's numbering scheme starts at 0, and uses an hd''x,x'' format regardless of IDE or SATA, and enclosed within parentheses. <br />
<br />
The example indicates that /boot is on the first partition of the first drive, according to BIOS, or, (hd0,0).<br />
<br />
Line 3: '''kernel''': This line specifies:<br />
<br />
* The path and filename of the kernel '''''relative to GRUB's root'''''.<br />
In the example, /boot is merely a directory residing on the same partition as / and '''vmlinuz26''' is the kernel filename; '''/boot/vmlinuz26'''. ''If /boot were on a separate partition, the path and filename would be simply '''/vmlinuz26''', being relative to '''GRUB''''s root.'' <br />
<br />
* The root= argument to the kernel statement specifies the partition containing the root (/) directory in the booted system, (more accurately, the partition containing '''/sbin/init'''). <br />
<br />
*An easy way to distinguish the 2 appearances of 'root' in /boot/grub/menu.lst is to remember that the first root statement ''informs GRUB where the kernel resides'', whereas the second root= kernel argument ''tells the kernel where the root filesystem (/) resides''.<br />
<br />
* Kernel options. <br />
<br />
In our example, '''ro''' mounts the filesystem as read only during startup, (usually a safe default; you may wish to change this in case it causes problems booting) and the '''&quot;vga=773&quot;''' argument will give a 1024x768 framebuffer with 256 color depth.<br />
<br />
Line 4: '''initrd''': (For Initial RAM disk) The path and filename of the initial RAM filesystem '''relative to GRUB''''s root. Again, in the example, /boot is merely a directory residing on the same partition as / and '''kernel26.img''' is the initrd filename; '''/boot/kernel26.img'''. ''If /boot were on a separate partition, the path and filename would be simply '''/kernel26.img''', being relative to '''GRUB''''s root.'' <br />
<br />
Install the '''GRUB''' bootloader (to the master boot record, sda in our example).<br />
{{tip|For more details, see the [[GRUB]] wiki page.}}<br />
<br />
===H: Reboot===<br />
That's it; You have configured and installed your Arch Linux base system. Exit the install, and reboot:<br />
# reboot<br />
(Be sure to remove the installer CD)<br />
<br />
==Part II: Configure & Update the New Arch Linux base system==<br />
Your new Arch Linux system will boot up and finish with a login prompt (you may want to change the boot order in your '''BIOS''' back to booting from hard disk).<br />
<br />
'''Congratulations, and welcome to your new Arch Linux base system!'''<br />
<br />
Your new Arch Linux base system is now a functional GNU/Linux environment ready for customization. From here, you may build this elegant set of tools into whatever you wish or require for your purposes. <br />
<br />
Login with the root account. We will configure pacman and update the system as root, then add a normal user. <br />
{{Note |Virtual consoles 1-6 are available. You may switch between them with ALT+F1...F6}}<br />
<br />
===Step 1: Configuring the network (if necessary)===<br />
*''This section will assist you in configuring most types of networks, if your network configuration is not working for you.''<br />
<br />
If you properly configured your system, you should have a working network. Try to ping www.google.com to verify this.<br />
# ping -c 3 www.google.com<br />
<br />
''If you have successfully established a network connection, continue with '''[[#Step 2: Update, Sync and Upgrade the system with pacman|Update, Sync and Upgrade the system with pacman]]'''.''<br />
<br />
If, after trying to ping www.google.com, an &quot;unknown host&quot; error is received, you may conclude that your network is not properly configured. You may choose to double-check the following files for integrity and proper settings:<br />
<br />
'''/etc/rc.conf''' # Specifically, check your HOSTNAME= and NETWORKING section for typos and errors.<br />
<br />
'''/etc/hosts''' # Double-check your format. (See above.)<br />
<br />
'''/etc/resolv.conf''' # If you are using a static IP. If you are using DHCP, this file will be dynamically created and destroyed by default, but can be changed to your preference. (See [[Network]].)<br />
<br />
{{Tip|Advanced instructions for configuring the network can be found in the [[Network]] article.}}<br />
<br />
====Wired LAN====<br />
<br />
Check your Ethernet with<br />
# ifconfig -a<br />
All interfaces will be listed. You should see an entry for eth0, or perhaps eth1. <br />
*'''Static IP'''<br />
<br />
If required, you can set a new static IP with:<br />
# ifconfig eth0 <ip address> netmask <netmask> up <br />
and the default gateway with<br />
# route add default gw <ip address of the gateway><br />
Verify that /etc/resolv.conf contains your DNS server and add it if it is missing. <br />
Check your network again with ping www.google.com. If everything is working now, adjust /etc/rc.conf as described above for static IP. <br />
*'''DHCP'''<br />
If you have a DHCP server/router in your network try:<br />
# dhcpcd eth0<br />
If this is working, adjust /etc/rc.conf as described above, for dynamic IP.<br />
<br />
====Wireless LAN====<br />
* Ensure the driver has created a usable interface:<br />
# iwconfig<br />
* Bring the interface up with <code>ifconfig <interface> up</code>. e.g.:<br />
# ifconfig wlan0 up<br />
* (Optional) Scan for available access points:<br />
# iwlist wlan0 scan | less<br />
* Specify the id of the wireless network with <code>iwconfig <interface> essid <youressid></code>. Or, if using WEP; <code>iwconfig <interface> essid <youressid> key <yourwepkey></code>, e.g.:<br />
# iwconfig wlan0 essid linksys key ABCDEF01234<br />
* Request an IP address with <code>dhcpcd <interface></code>. e.g.:<br />
# dhcpcd wlan0<br />
* Ensure you can route:<br />
$ ping -c 3 www.google.com<br />
Done.<br />
<br />
Detailed setup guide: [[Wireless Setup]]<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and password to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
Tip: Read [[Dialup without a dialer HOWTO]].<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably. In case you're using a so-called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should indulge in the vast information found on the [http://www.linmodems.org/ LinModem] homepage.<br />
<br />
====ISDN====<br />
<br />
Setting up ISDN is done in three steps:<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP <br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you will not need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module, which needs two parameters: type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so-called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, and available online. The type parameter depends on your card; a list of all possible types can be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<br />
# modprobe hisax type=18 protocol=2<br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file, in which you should see your card being prepared for action. Please note that you will probably need to load some USB modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you have confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf:<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
Alternatively, you can add only the options line here, and add hisax to your MODULES array in the rc.conf. It's your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done, you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl; it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples. Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you have configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dial-up connection with<br />
# isdnctrl dial ippp0<br />
as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
<br />
These instructions are relevant to you only if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the pppoe-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<br />
# /etc/rc.d/adsl start<br />
<br />
and<br />
<br />
# /etc/rc.d/adsl stop<br />
<br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically 'dial in' at boot, add adsl to your DAEMONS array, and put a ! before the network entry, since the network is handled by adsl now.<br />
<br />
===Step 2: Update, Sync, and Upgrade the system with [[pacman]]===<br />
Now we will update the system using [[pacman]]. <br />
<br />
====What is pacman ?====<br />
[[Pacman]] is the '''pac'''kage '''man'''ager of Arch Linux. Pacman is written in ''C'' and is designed from the ground up to be lightweight with a very modest memory footprint, fast, simple, and versatile. It manages your entire package system and handles installation, removal, package downgrade (through cache), custom compiled package handling, automatic dependency resolution, remote and local searches and much more. Pacman's output is streamlined, very readable and provides ETA for each package download. Arch uses the .tar.gz package format, which further enhances pacman's speed; Gzipped tarballs, though slightly larger, are decompressed many times faster than their Bzipped counterparts, and are therefore installed much more expediently. <br />
<br />
We will use pacman to download software packages from remote repositories and install them onto your system.<br />
<br />
Pacman is the most important tool in your Arch Linux toolbox for building the base system into whatsoever you please.<br />
<br />
====Package Repositories and /etc/pacman.conf====<br />
Arch currently offers the following 4 repositories readily accessible through pacman:<br />
<br />
'''[core]'''<br />
<br />
The simple principle behind [core] is to provide only one of each necessary tool for a base Arch Linux system; The GNU toolchain, the Linux kernel, one editor, one command line browser, etc. (There are a few exceptions to this. For instance, both vi and nano are provided, allowing the user to choose one or both.) It contains all the packages that MUST be in perfect working order to ensure the system remains in a usable state. These are the absolute system-critical packages. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible <br />
*''The Core installation media simply contains an installer script, and a snapshot of the core repository at the time of release.''<br />
<br />
'''[extra]'''<br />
<br />
The [extra] repository contains all Arch packages that are not themselves necessary for a base Arch system, but contribute to a more full-featured environment. '''X''', KDE, and Apache, for instance, can be found here. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible<br />
'''[testing]'''<br />
<br />
The [testing] repository contains packages that are candidates for the [core] or [extra] repositories. New packages go into [testing] if:<br />
<br />
<nowiki>*</nowiki> they are expected to break something on update and need to be tested first.<br />
<br />
<nowiki>*</nowiki> they require other packages to be rebuilt. In this case, all packages that need to be rebuilt are put into [testing] first and when all rebuilds are done, they are moved back to the other repositories. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible<br />
{{Note|* [testing] is the only repository that can have name collisions with any of the other official repositories. Therefore, if enabled, [testing] must be the first repo listed in <code>pacman.conf</code>.}}<br />
<br />
{{Warning|Only experienced users should use [testing].}}<br />
<br />
'''[community]'''<br />
<br />
The [community] repository is maintained by the ''Trusted Users (TUs)'' and is simply the binary branch of the ''Arch User Repository ([[AUR]])''. It contains binary packages which originated as PKGBUILDs from ''AUR'' [unsupported] that have acquired enough votes and were adopted by a ''TU''. Like all repos listed above, [community] may be readily accessed by pacman.<br />
* TU maintained<br />
* All binary packages<br />
* pacman accessible<br />
<br />
'''AUR (unsupported)'''<br />
<br />
The '''[[AUR]]''' also contains the '''unsupported''' branch, which cannot be accessed directly by pacman*. '''AUR''' [unsupported] does not contain binary packages. Rather, it provides more than sixteen thousand PKGBUILD scripts for building packages from source, that may be unavailable through the other repos. When an AUR unsupported package acquires enough popular votes, it may be moved to the AUR [community] binary repo, if a TU is willing to adopt and maintain it there.<br />
* TU maintained<br />
* All PKGBUILD bash build scripts<br />
* '''''Not''''' pacman accessible by default<br />
<br />
<nowiki>*</nowiki> pacman wrappers ('''''[[AUR Helpers]]''''') can help you seamlessly access AUR.<br />
<br />
'''/etc/pacman.conf'''<br />
<br />
pacman will attempt to read /etc/pacman.conf each time it is invoked. This configuration file is divided into sections, or repositories. Each section defines a package [[Official Repositories|repository]] that pacman can use when searching for packages. The exception to this is the options section, which defines global options.<br />
<br />
Note that the defaults should work, so modifying at this point may be unnecessary, but verification is always recommended. Further info available in the [[Mirrors]] article.<br />
# nano /etc/pacman.conf<br />
Example:<br />
#<br />
# /etc/pacman.conf<br />
#<br />
# See the pacman.conf(5) manpage for option and repository directives<br />
<br />
#<br />
# GENERAL OPTIONS<br />
#<br />
[options]<br />
# The following paths are commented out with their default values listed.<br />
# If you wish to use different paths, uncomment and update the paths.<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
#LogFile = /var/log/pacman.log<br />
HoldPkg = pacman glibc<br />
# If upgrades are available for these packages they will be asked for first<br />
SyncFirst = pacman<br />
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u<br />
#XferCommand = /usr/bin/curl %u > %o<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
#IgnorePkg =<br />
#IgnoreGroup =<br />
<br />
#NoUpgrade =<br />
#NoExtract =<br />
<br />
# Misc options (all disabled by default)<br />
#NoPassiveFtp<br />
#UseSyslog<br />
#ShowSize<br />
#UseDelta<br />
#TotalDownload<br />
#<br />
# REPOSITORIES<br />
# - can be defined here or included from another file<br />
# - pacman will search repositories in the order defined here<br />
# - local/custom mirrors can be added here or in separate files<br />
# - repositories listed first will take precedence when packages<br />
# have identical names, regardless of version number<br />
# - URLs will have $repo replaced by the name of the current repo<br />
#<br />
# Repository entries are of the format:<br />
# [repo-name]<br />
# Server = ServerName<br />
# Include = IncludePath<br />
#<br />
# The header [repo-name] is crucial - it must be present and<br />
# uncommented to enable the repo.<br />
# <br />
<br />
# Testing is disabled by default. To enable, uncomment the following<br />
# two lines. You can add preferred servers immediately after the header,<br />
# and they will be used before the default mirrors.<br />
#[testing]<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
[core]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist <br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
# An example of a custom package repository. See the pacman manpage for<br />
# tips on creating your own repositories.<br />
#[custom]<br />
#Server = file:///home/custompkgs<br />
<br />
Enable all desired repositories (remove the # in front of the 'Include =' and '[repository]' lines).<br />
<br />
<br />
*'''''When choosing repos, be sure to uncomment both the repository header lines in [brackets] as well as the 'Include =' lines. Failure to do so will result in the selected repository being omitted! This is a very common error.'' '''<br />
<br />
====/etc/pacman.d/mirrorlist ====<br />
Defines pacman repo mirrors and priorities.<br />
<br />
'''Build a mirrorlist using the rankmirrors script'''<br />
<br />
<code>/usr/bin/rankmirrors</code> is a python script which will attempt to detect the mirrors which are closest to the installation machine based on the mirrors specified in /etc/pacman.d/mirrorlist. Faster mirrors will dramatically improve pacman performance, and the overall Arch Linux experience. This script may be run periodically, especially if the chosen mirrors provide inconsistent throughput and/or updates.<br />
<br />
First, use pacman to install python:<br />
# pacman -Sy python <br />
'''cd''' to the /etc/pacman.d/ directory:<br />
# cd /etc/pacman.d<br />
Backup the existing /etc/pacman.d/mirrorlist:<br />
# cp mirrorlist mirrorlist.backup<br />
Edit mirrorlist.backup and uncomment all mirrors on the same continent or within geographical proximity to test with rankmirrors.<br />
# nano mirrorlist.backup<br />
Run the script against the mirrorlist.backup with the -n switch and redirect output to a new /etc/pacman.d/mirrorlist file:<br />
# rankmirrors -n 6 mirrorlist.backup > mirrorlist<br />
'''-n 6''': rank the 6 fastest mirrors<br />
<br />
'''Force pacman to refresh the package lists'''<br />
<br />
After creating/editing /etc/pacman.d/mirrorlist, (manually or by <code>/usr/bin/rankmirrors</code>) issue the following command:<br />
# pacman -Syy<br />
Passing two --refresh or -y flags forces pacman to refresh all package lists even if they are considered to be up to date. Issuing pacman -Syy ''whenever a mirror is changed'', is good practice and will avoid possible headaches.<br />
<br />
====Mirrorcheck for up-to-date packages====<br />
Some of the official mirrors may contain packages that are out-of-date. [http://users.archlinux.de/~gerbra/mirrorcheck.html ArchLinux Mirrorcheck] reports various aspects about the mirrors such as, those experiencing network problems, data collection problems, reports the last time they have been synced, etc.<br />
<br />
One may wish to manually inspect the mirrors in the /etc/pacman.d/mirrorlist insuring that it only contains up-to-date mirrors if having the latest package versions is a priority.<br />
<br />
====Ignoring packages====<br />
After executing the command &quot;pacman -Syu&quot;, the entire system will be updated. It is possible to prevent a package from being upgraded. A typical scenario would be a package for which an upgrade may prove problematic for the system. In this case, there are two options; indicate the package(s) to skip in the pacman command line using the --ignore switch (do pacman -S --help for details) or permanently indicate the package(s) to skip in the /etc/pacman.conf file in the IgnorePkg array. List each package, with one intervening space :<br />
IgnorePkg = wine <br />
The typical way to use Arch is to use pacman to install all packages unless there is no package available, in which case [[ABS]] may be used. Many user-contributed package build scripts are also available in the [[AUR]]. <br />
<br />
The power user is expected to keep the system up to date with pacman -Syu, rather than selectively upgrading packages. You may diverge from this typical usage as you wish; just be warned that there is a greater chance that things will not work as intended and that it could break your system. The majority of complaints happen when selective upgrading, unusual compilation or improper software installation is performed. Use of '''IgnorePkg''' in /etc/pacman.conf is therefore discouraged, and should only be used sparingly, if you know what you are doing.<br />
<br />
====Ignoring Configuration Files====<br />
In the same vein, you can also &quot;protect&quot; your configuration/system files from being overwritten during &quot;pacman -Su&quot; using the following option in your /etc/pacman.conf<br />
<br />
NoUpgrade = etc/lilo.conf boot/grub/menu.lst<br />
<br />
====Get familiar with pacman====<br />
pacman is the Arch user's best friend. It is highly recommended to study and learn how to use the pacman(8) tool. Try:<br />
$ man pacman<br />
<br />
For more information,please look up the [[pacman]] wiki entries at your leisure.<br />
<br />
====Powerpill, a pacman wrapper script====<br />
Before you continue, consider installing Xyne's powerpill (now in [community]) which is a pacman wrapper script that speeds up package retrieval by using aria2c (an external download helper) for concurrent/segmented downloads. In other words, powerpill pulls packages in parallel effectively speeding up your downloads. This is particularly advantageous on new installs when pulling down hundreds of megs of packages.<br />
<br />
# pacman -S powerpill<br />
<br />
Treat powerpill as pacman as you consider installations, for example, the following will update your system:<br />
<br />
# powerpill -Syu<br />
<br />
See the [[Powerpill]] wiki article for more.<br />
<br />
===Step 3: Update System===<br />
You are now ready to upgrade your entire system. Before you do, read through the [http://www.archlinux.org/news/ news] (and optionally the [http://archlinux.org/pipermail/arch-announce/ announce mailing list]). Often the developers will provide important information about required configurations and modifications for known issues. Consulting these pages before any upgrade is good practice. <br />
<br />
Sync, refresh, and upgrade your entire new system with:<br />
# pacman -Syu<br />
or:<br />
# pacman --sync --refresh --sysupgrade<br />
<br />
pacman will now download a fresh copy of the master package list from the server(s) defined in pacman.conf(5) and perform all available upgrades. (You may be prompted to upgrade pacman itself at this point. If so, say yes, and then reissue the pacman -Syu command when finished.) <br />
<br />
Reboot if a kernel upgrade has occurred. <br />
<br />
{{Note|Occasionally, configuration changes may take place requiring user action during an update; read pacman's output for any pertinent information.}}<br />
<br />
Pacman output is saved in /var/log/pacman.log.<br />
<br />
See [[Package_Management_FAQs|Package Management FAQs]] for answers to frequently asked questions regarding updating and managing your packages.<br />
<br />
=====The Arch rolling release model=====<br />
Keep in mind that Arch is a '''rolling release''' distribution. This means there is never a reason to reinstall or perform elaborate system rebuilds to upgrade to the newest version. Simply issuing '''pacman -Syu''' periodically keeps your entire system up-to-date and on the bleeding edge. At the end of this upgrade, your system is completely current. '''Reboot''' if a kernel upgrade has occurred.<br />
=====Network Time Protocol=====<br />
You may wish to set the system time now using OpenNTPD to sync the local clock to remote NTP servers. OpenNTPD may also be added to the DAEMONS= array in /etc/rc.conf to provide this service at each boot. (See the [[Network Time Protocol]] article.)<br />
<br />
===Step 4: Add a user and setup groups===<br />
<tt>UNIX</tt> is a multi-user environment. You should not do your everyday work using the root account. It is more than poor practice; it is dangerous. Root is for administrative tasks. Instead, add a normal, non-root user account using the <code>/usr/sbin/useradd</code> program:<br />
# useradd -m -G [groups] -s [login_shell] [username] <br />
* '''-m''' Creates user home directory as /home/'''username'''. Within their home directory, a user can write files, delete them, install programs, etc. Users' home directories shall contain their data and personal configuration files, the so-called 'dot files' (their name is preceded by a dot), which are 'hidden'. (To view dotfiles, enable the appropriate option in your file manager or run ls with the -a switch.) If there is a conflict between ''user'' (under /home/username) and ''global'' configuration files, (usually under /etc/) the settings in the ''user'' file will prevail. Dotfiles likely to be altered by the end user include .xinitrc and .bashrc files. The configuration files for xinit and Bash respectively. They allow the user the ability to change the window manager to be started upon login and also aliases, user-specified commands and environment variables respectively. When a user is created, their dotfiles shall be taken from the /etc/skel directory where system sample files reside.<br />
* '''-G''' A list of supplementary groups which the user is also a member of. ''Each group is separated from the next by a comma, with no intervening spaces''. The default is for the user to belong only to the initial group (users). <br />
* '''-s''' The path and filename of the user´s default login shell.<br />
Useful groups for your non-root user include:<br />
*'''audio''' - for tasks involving sound card and related software<br />
*'''floppy''' - for access to a floppy if applicable<br />
*'''lp''' - for managing printing tasks<br />
*'''optical''' - for managing tasks pertaining to the optical drive(s)<br />
*'''storage''' - for managing storage devices<br />
*'''video''' - for video tasks and hardware acceleration<br />
*'''wheel''' - for using sudo<br />
*'''power''' - used w/ power options (e.g.: shutdown with power button) <br />
A typical desktop system example, adding a user named &quot;archie&quot; specifying bash as the login shell:<br />
# useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash archie<br />
Next, add a password for your new user using <code>/usr/bin/passwd</code>.<br />
<br />
An example for our user, 'archie':<br />
# passwd archie<br />
(You will be prompted to provide the new <tt>UNIX</tt> password.)<br />
<br />
Your new non-root user has now been created, complete with a home directory and a login password.<br />
<br />
'''Alternative method, using <code>/usr/sbin/adduser</code>:'''<br />
<br />
Alternatively, you may use <code>adduser</code>, an interactive user adding program which will prompt you for the above data ''(recommended for beginners)'':<br />
# adduser<br />
'''Deleting the user account:'''<br />
<br />
In the event of error, or if you wish to delete this user account in favor of a different name or for any other reason, use <code>/usr/sbin/userdel</code>:<br />
# userdel -r [username]<br />
* '''-r ''' Files in the user´s home directory will be removed along with the home directory itself and the user´s mail spool.<br />
<br />
If you want to change the name of your user or any existing user, see the [[Change username]] page of the Arch wiki and/or the [[Groups]] and [[User Management]] articles for further information. You may also check the man pages for <code>usermod(8)</code> and <code>gpasswd(8)</code>.<br />
<br />
===Step 5: Install and setup Sudo (Optional)===<br />
There has been a recent update to the vi packages since the latest installation media (2009.08) was created. Therefore, before installing sudo, use the following command to remove the incompatible files:<br />
# rm /usr/bin/{view,rview}<br />
Install Sudo and vim:<br />
# pacman -S sudo vim<br />
To add a user as a sudo user (a &quot;sudoer&quot;), the visudo command must be run as root. If you do not know how to use vi, you may set the EDITOR environment variable to the editor of your choice before running visudo. e.g.:<br />
# EDITOR=nano visudo<br />
If you are comfortable using vi, issue the visudo command without the EDITOR=nano variable:<br />
# visudo<br />
This will open the file /etc/sudoers in a special session of vi. visudo copies the file to be edited to a temporary file, edits it with an editor, (vi by default), and subsequently runs a sanity check. If it passes, the temporary file overwrites the original with the correct permissions. <br />
<br />
{{Warning|Do not edit /etc/sudoers directly with an editor; Errors in syntax can cause annoyances (like rendering the root account unusable). You must use the ''visudo'' command to edit /etc/sudoers.}}<br />
<br />
To give the user full root privileges when he/she precedes a command with &quot;sudo&quot;, add the following line:<br />
USER_NAME ALL=(ALL) ALL<br />
where USER_NAME is the username of the individual.<br />
<br />
For more information, such as sudoer <TAB> completion, see [[Sudo]]<br />
<br />
==Part III: Install X and configure ALSA==<br />
<br />
<br />
===Step 1: Configure sound with alsamixer===<br />
The Advanced Linux Sound Architecture (known by the acronym '''ALSA''') is a Linux kernel component intended to replace the original Open Sound System (OSS) for providing device drivers for sound cards. Besides the sound device drivers, '''ALSA''' also bundles a user space library for application developers who want to use driver features with a higher level API than direct interaction with the kernel drivers.<br />
{{Note| Alsa is included in the Arch mainline kernel and udev will automatically probe your hardware at boot, loading the corresponding kernel module for your audio card. Therefore, your sound should already be working, but upstream sources mute all channels by default.}}<br />
{{Note| OSS4.1 has been released under a free license and is generally considered a significant improvement over older OSS versions. If you have issues with ALSA, or simply wish to explore another option, you may choose OSS4.1 instead. Instructions can be found in [[OSS]]}} <br />
<br />
The alsa-utils package contains the alsamixer userspace tool, which allows configuration of the sound device from the console or terminal.<br />
<br />
By default the upstream kernel sources ship with snd_pcsp, the alsa pc speaker module. snd_pcsp is usually loaded before your &quot;actual&quot; sound card module. In most cases, it will be more convenient if this module is loaded last, as it will allow alsamixer to correctly control the desired sound card.<br />
<br />
To have snd_pcsp load last, add the following to /etc/modprobe.d/modprobe.conf:<br />
options snd-pcsp index=2<br />
<br />
Alternatively, if you do not want snd_pcsp to load at all, blacklist it by adding the following to /etc/rc.conf:<br />
MODULES=(... !snd_pcsp)<br />
<br />
{{Note | You will need to unload all your sound modules and reload them for the changes to take effect. It might be easier to reboot. Your choice. }}<br />
<br />
Install the alsa-utils package:<br />
# pacman -S alsa-utils<br />
Also, you may want to install the alsa-oss package, which wraps applications written for [[OSS]] in a compatibility library, allowing them to work with [[ALSA]]. To install the alsa-oss package:<br />
# pacman -S alsa-oss <br />
Did you add your normal user to the audio group? If not, use <code>/usr/bin/gpasswd</code>. As root do:<br />
# gpasswd -a ''yourusername'' audio<br />
As '''''normal, non-root''''' user, invoke <code>/usr/bin/alsamixer</code>:<br />
# su - ''yourusername'' <br />
'''$''' alsamixer<br />
Unmute the Master and PCM channels by scrolling to them with cursor left/right and pressing '''M'''. Increase the volume levels with the cursor-up key. (70-90 Should be a safe range.) Some machines, (like the Thinkpad T61), have a '''Speaker''' channel which must be unmuted and adjusted as well. Leave alsamixer by pressing ESC. <br />
==== Sound test ====<br />
Ensure your speakers are properly connected, and test your sound configuration as normal user using <code>/usr/bin/aplay</code>:<br />
$ aplay /usr/share/sounds/alsa/Front_Center.wav<br />
You should hear a very eloquent woman say, &quot;Front, center.&quot;<br />
==== Saving the Sound Settings ====<br />
Exit your normal user shell and run <code>/usr/sbin/alsactl</code> as root:<br />
$ exit<br />
# alsactl store<br />
This will create the file '/etc/asound.state', saving the alsamixer settings. <br />
<br />
Also, add the alsa ''daemon'' to your DAEMONS section in /etc/rc.conf to automatically restore the mixer settings at boot.<br />
# nano /etc/rc.conf<br />
DAEMONS=(syslog-ng network crond '''alsa''')<br />
''Note that the alsa daemon merely restores your volume mixer levels on boot up by reading /etc/asound.state. It is separate from the alsa audio library (and kernel level API).''<br />
<br />
Expanded information available in the [[ALSA]] wiki entry.<br />
<br />
===Step 2: Install X===<br />
The '''X''' Window System version 11 (commonly '''X11''', or just simply '''X''') is a networking and display protocol which provides windowing on bitmap displays. It provides the standard toolkit and protocol to build graphical user interfaces (GUIs) on <tt>UNIX</tt>-like operating systems.<br />
<br />
'''X''' provides the basic framework, or primitives, for building GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. '''X''' does not mandate the user interface — individual client programs handle this. <br />
<br />
'''X''' is so named because it was preceded by the '''W''' Window System, originally developed at Stanford University. <br />
<br />
====A: The <code>X-Files</code>====<br />
Now we will install the base '''[[Xorg]]''' packages using pacman. This is the first step in building a GUI.<br />
If you plan on using an '''open-source''' video driver, and need 3d acceleration, install the libgl library before installing Xorg:<br />
# pacman -S libgl<br />
''(Proprietary video drivers provide their own gl library implementations.)''<br />
<br />
Install the base packages:<br />
# pacman -S xorg<br />
The 3d utilities glxgears and glxinfo are included in the '''mesa''' package:<br />
# pacman -S mesa<br />
<br />
====B: Install Video Driver Package====<br />
Now we have the base packages we need for running the '''X''' Server. You should add the driver for your graphics card now (e.g. xf86-video-<name>). The easiest way to configure X.org is by installing the correct driver packages first, and then generating /etc/X11/xorg.conf using an autoconfiguration script, like Xorg -configure.<br />
<br />
You will need knowledge of which video chipset your machine has. If you do not know, use the <code>/usr/sbin/lspci</code> program:<br />
# lspci | grep VGA<br />
<br />
If you need a list of all '''open-source''' video drivers, do: <br />
# pacman -Ss xf86-video | less<br />
Here is a list of '''open source''' drivers, and the corresponding video chipsets.<br />
*'''xf86-video-apm''' &mdash; Alliance ProMotion video driver<br />
*'''xf86-video-ark''' &mdash; ark video driver<br />
*'''xf86-video-ati''' &mdash; ATI(AMD) radeon video driver<br />
**'''xf86-video-r128''' &mdash; ATI(AMD) video driver for X.org ati Rage128 video<br />
**'''xf86-video-mach64''' &mdash; ATI(AMD) video driver for X.org mach64 video<br />
**'''xf86-video-radeonhd''' &mdash; ATI(AMD) radeonhd video driver<br />
*'''xf86-video-chips''' &mdash; Chips and Technologies video driver<br />
*'''xf86-video-cirrus''' &mdash; Cirrus Logic video driver<br />
*'''xf86-video-dummy''' &mdash; dummy video driver<br />
*'''xf86-video-fbdev''' &mdash; framebuffer video driver<br />
*'''xf86-video-glint''' &mdash; GLINT/Permedia video driver<br />
*'''xf86-video-i128''' &mdash; Number 0 i128 video driver<br />
*'''xf86-video-i740''' &mdash; Intel i740 video driver<br />
*'''xf86-video-i810''' &mdash; Intel i810/i830/i9xx video drivers (deprecated - use -intel)<br />
*'''xf86-video-intel''' &mdash; Newer Version of Intel i810/i830/i9xx video drivers<br />
*'''xf86-video-intel-legacy''' &mdash; Legacy-driver for older intel cards as 82865G (xf86-video-intel currently crashes with older cards)<br />
*'''xf86-video-imstt''' &mdash; Integrated Micro Solutions Twin Turbo video driver<br />
*'''xf86-video-mga''' &mdash; mga video driver (Matrox Graphics Adapter)<br />
*'''xf86-video-neomagic''' &mdash; neomagic video driver<br />
*'''xf86-video-nv''' &mdash; Nvidia nv video driver<br />
*'''xf86-video-nouveau''' &mdash; Open Source 3D acceleration driver for nVidia cards (experimental), check: [http://nouveau.freedesktop.org/wiki/] for Current Status<br />
*'''xf86-video-openchrome''' &mdash; VIA/S3G UniChrome, UniChrome Pro and Chrome9 video driver<br />
*'''xf86-video-rendition''' &mdash; Rendition video driver<br />
*'''xf86-video-s3''' &mdash; S3 video driver<br />
*'''xf86-video-s3virge''' &mdash; S3 Virge video driver<br />
*'''xf86-video-savage''' &mdash; savage video driver<br />
*'''xf86-video-siliconmotion''' &mdash; siliconmotion video driver<br />
*'''xf86-video-sis''' &mdash; SiS video driver<br />
*'''xf86-video-sisusb''' &mdash; SiS USB video driver<br />
*'''xf86-video-tdfx''' &mdash; tdfx video driver<br />
*'''xf86-video-trident''' &mdash; Trident video driver<br />
*'''xf86-video-tseng''' &mdash; tseng video driver<br />
*'''xf86-video-unichrome''' &mdash; VIA S3 Unichrome video drivers<br />
*'''xf86-video-v4l''' &mdash; v4l video driver<br />
*'''xf86-video-vesa''' &mdash; vesa video driver<br />
*'''xf86-video-vga''' &mdash; VGA 16 color video driver<br />
*'''xf86-video-vmware''' &mdash; vmware video driver<br />
*'''xf86-video-voodoo''' &mdash; voodoo video driver<br />
<br />
'''''Note''''': The '''vesa''' driver is the most generic, and should work with almost any modern video chipset. If you cannot find a suitable driver for your video chipset, vesa ''should'' work.<br />
<br />
Use pacman to install the appropriate video driver for your video card/onboard video. e.g.:<br />
# pacman -S xf86-video-savage<br />
(for the Savage driver.)<br />
<br />
*If you have an NVIDIA or ATI graphics card you may wish to install the proprietary NVIDIA or ATI drivers. '''Installing proprietary video drivers is covered below.'''.<br />
*If you do not want to install the proprietary drivers or do not have an NVIDIA or ATI graphics card, you should skip down to '''[[#Step 3: Configure X|Step 3: Configure X]]'''.<br />
<br />
-----<br />
<br />
<br />
=====NVIDIA Graphics Cards=====<br />
The NVIDIA proprietary drivers are generally considered to be of good quality, and offer 3D performance, whereas the open source '''nv''' driver offers only 2d support at this time. <br />
<br />
Before you configure your Graphics Card you will need to know which driver fits. Arch currently has several different driver packages that each match a certain subset of Cards: <br />
<br />
'''1. nvidia-96xx''' ''slightly newer cards up to the GF 4.''<br />
<br />
'''2. nvidia-173xx''' ''Geforce FX series cards''<br />
<br />
'''3. nvidia''' ''newest GPUs after the GF FX''<br />
<br />
{{Note| Nvidia-71xx series proprietary drivers, which are required by extremely old cards like TNT and TNT2, have been removed because they do not work with the new Xorg that Arch makes use of and nvidia has discontinued support for such. You should use the xf86-video-nv or xf86-video-vesa drivers instead.}}<br />
<br />
Consult the NVIDIA website to see which one is for you. The difference is only for the installation; Configuration works the same with every driver.<br />
<br />
Select and install the appropriate NVIDIA driver ''for your card'', e.g.: <br />
# pacman -S nvidia-96xx<br />
<br />
The NVIDIA package has a utility for updating your existing /etc/X11/xorg.conf for use with the NVIDIA driver:<br />
# nvidia-xconfig<br />
<br />
It also has several options which will further specify the contents and options of the xorg.conf file.<br />
For example,<br />
# nvidia-xconfig --composite --add-argb-glx-visuals<br />
<br />
For more detailed information, see nvidia-xconfig(1).<br />
<br />
Some useful tweaking options in the device section are (beware that these may not work on your system):<br />
Option &quot;RenderAccel&quot; &quot;true&quot;<br />
Option &quot;NoLogo&quot; &quot;true&quot;<br />
Option &quot;AGPFastWrite&quot; &quot;true&quot;<br />
Option &quot;EnablePageFlip&quot; &quot;true&quot;<br />
Make sure all instances of DRI are commented out:<br />
# Load &quot;dri&quot;<br />
Double check your /etc/X11/xorg.conf to make sure your default depth, horizontal sync, vertical refresh, and resolutions are acceptable.<br />
<br />
Update kernel module dependencies using <code>/sbin/depmod</code>:<br />
# depmod -a<br />
(A reboot may be necessary.)<br />
{{Tip|Advanced instructions for NVIDIA configuration can be found in the [[NVIDIA]] article.}}<br />
<br />
You may now continue with '''[[#Step 3: Configure X|Step 3: Configure X]]''' to familiarize yourself further, or continue the installation process with '''[[#C: Test X|Test X]]'''.<br />
<br />
=====ATI Graphics Cards=====<br />
ATI owners have multiple options for drivers. <br />
* The open source '''''radeon''''' driver provided by the '''xf86-video-ati''' package. <br />
** This is the original, reverse-engineered open source driver which fully supports Radeon chipsets up to X1950 (latest R500 chipsets). Cards up to the 9200 series are fully supported, stable, and provide full 2D and 3D acceleration. Cards from 9500 to X1950 feature full 2D acceleration, and stable 3D acceleration, but lack certain features provided by the proprietary driver, (for example, powersaving is still in a testing phase). Cards from HD2xxx (R6xx) to the newest are supported by xf86-video-ati, but only offer 2d support at this time.<br />
* The open source '''''radeonhd''''' driver provided by the '''xf86-video-radeonhd''' package.<br />
** This driver supports ATI R500 chipsets (Radeon X1000 series) and newer. It is written by Novell with specifications provided to the public by AMD. It supports RandR 1.2 and development is currently very active. Therefore, functionality may be inconsistent across the spectrum of cards supported. (Some users report excellent performance and reliability while others experience trouble.) It also supports HDMI, with sound.<br />
* The proprietary '''''fglrx''''' driver provided by the Catalyst package located in the AUR. The proprietary driver is covered below.<br />
The open-source drivers will usually suit most needs and are generally less problematic.<br />
<br />
Install the '''''radeon''''' ATI Driver with<br />
# pacman -S xf86-video-ati libgl ati-dri<br />
Install the '''''radeonhd''''' ATi Driver with<br />
# pacman -S xf86-video-radeonhd libgl ati-dri<br />
<br />
The proprietary ATI driver '''Catalyst''' was once a precompiled package offered by Arch in the <code>extra</code> repository, but as of March 2009, official support has been dropped because of dissatisfaction with the quality and speed of development of the proprietary driver.The catalyst driver is now available in [http://aur.archlinux.org/packages.php?ID=22899 AUR]. Installation information for Catalyst driver is available [[ATI#Proprietary_ATI_Catalyst_driver | here]]<br />
<br />
{{Warning| The proprietary ATI driver supports only R600 and newer devices (that means, HD2xxx and newer). Older series cards (X1xxx and older) are not supported.}}<br />
<br />
{{Tip|Advanced instructions for ATI configuration can be found in the [[ATI | ATI wiki article]].}}<br />
<br />
====C: Install Input Driver Packages====<br />
The latest X requires you to install drivers for your input devices, keyboard and mouse included. For a complete list of available input drivers,<br />
# pacman -Ss xf86-input | less<br />
<br />
For most users, xf86-input-keyboard and xf86-input-mouse should be sufficient for a basic setup. Use pacman to install your desired drivers for your input devices. e.g.:<br />
# pacman -S xf86-input-keyboard xf86-input-mouse<br />
<br />
===Step 3: Configure X===<br />
<br />
====A: The xorg.conf file====<br />
<br />
/etc/X11/xorg.conf is the main configuration file for your '''X''' Window System, the foundation of your '''G'''raphical '''U'''ser '''I'''nterface. It is a plain text file ordered into sections and subsections. Important sections are ''Files, InputDevice, Module, Monitor, Modes, Screen, Device, and ServerLayout''. Sections can appear in any order and there may be more than one section of each kind, for example, if you have more than one monitor, or if your laptop has a trackpoint as well as a mouse. <br />
<br />
Since X11R7.2 the X.Org X Server features autoconfiguration. Therefore, it can function without an xorg.conf file in many cases. ''If'' the autoconfiguration ''works satisfactorily'' and you do not need to specify special features such as aiglx, compositing and so forth, you may forgo creating an xorg.conf file and continue below with [[#B: Input hotplugging| Input hotplugging]].<br />
<br />
=====Standard xorg.conf generation=====<br />
<br />
Advanced users may wish to manually create their own xorg.conf file. You may also use the <code>/usr/bin/Xorg</code> program with the -configure option to generate a basic config file; As root, do:<br />
# Xorg -configure<br />
This will create a config file at /root/xorg.conf.new <br />
<br />
Copy the file to <code>/etc/X11/</code>:<br />
# cp /root/xorg.conf.new /etc/X11/xorg.conf<br />
<br />
=====Alternative xorg.conf generation=====<br />
<br />
Newer versions of the Xorg Server(>1.6) do not include the /usr/bin/xorgconfig or /usr/bin/xorgcfg scripts. If you run into problems generating/using an xorg.conf file, you might want to consider using this guide.<br />
<br />
See the [[Xorg#Without_xorg.conf|article on X.Org, section "Without xorg.conf"]].<br />
<br />
* Note that if you are in possession of a properly configured xorg.conf under another distribution and with the same Xorg version, you may easily copy it over to your current Arch system's <code>/etc/X11/</code> directory.<br />
<br />
<br />
{{Tip | For Intel graphics card, specific configuration may be necessary to get proper 2D or 3D performance, as stated in [[Intel_Graphics]] wiki article.}}<br />
<br />
====B: Input hotplugging====<br />
<br />
[[Xorg input hotplugging|Input hotplugging]] is supported since the 1.4 version of the X.Org X Server and enabled by default. When enabled, X will utilize hal to allow for the hotplugging and removal of human interface devices without having to restart X. <br />
<br />
{{Warning | Starting the '''X''' server using input hotplugging without the '''HAL''' daemon installed and running may result in the inability to use the mouse and/or keyboard, and the '''X''' server appearing to freeze as a result .}}<br />
<br />
You must decide whether you will use input hotplugging (enabled by default), or disable it. Input hotplugging is convenient for many users, especially those with mobile machines like laptops and netbooks. Other users may wish to disable it in favor of manual or more static device configuration within /etc/xorg.conf.<br />
<br />
{{Tip | See the article on [[Xorg input hotplugging]] for full details.}}<br />
<br />
=====Using input hotplugging=====<br />
<br />
Install HAL, dbus and the evdev input driver:<br />
# pacman -S hal dbus xf86-input-evdev<br />
<br />
Set the keyboard layout (if you do not use a standard US keyboard)<br />
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/<br />
# nano /etc/hal/fdi/policy/10-keymap.fdi<br />
Edit the &quot;input.xkb.layout&quot; key and possibly the &quot;input.xkb.variant&quot; key in this file.<br />
<br />
Laptop users will also need the synaptics package to allow X to configure the touchpad:<br />
# pacman -S xf86-input-synaptics<br />
<br />
{{Tip|For instructions on fine tuning or troubleshooting touchpad settings, see the [[Touchpad Synaptics]] article.}}<br />
<br />
<br />
'''The HAL daemon'''<br />
<br />
The hal daemon '''must''' be started '''before''' the '''X''' server:<br />
# /etc/rc.d/hal start<br />
Add the hal daemon to the DAEMONS array in /etc/rc.conf to start it at every boot.<br />
<br />
=====Disable input hotplugging=====<br />
Disabling input hotplugging will skip devices detected by hal and will use the keyboard/mouse configuration from xorg.conf:<br />
# nano /etc/X11/xorg.conf<br />
add the following:<br />
Section &quot;ServerFlags&quot;<br />
Option &quot;AutoAddDevices&quot; &quot;False&quot;<br />
EndSection<br />
<br />
======Set the keyboard layout if not using a standard US keyboard======<br />
Add option lines in the &quot;InputDevice&quot; section of the /etc/X11/xorg.conf file specifying the keyboard layout and variant:<br />
Option &quot;XkbLayout&quot; &quot;be&quot;<br />
Option &quot;XkbVariant&quot; &quot;&quot;<br />
<br />
Alternative method using the setxkbmap command:<br />
# setxkbmap pl <br />
(with the proper keyboard layout instead of <code>pl</code> of course) should switch your keyboard layout in x.<br />
To make this permanent, add this command to <code>/home/<youruser>/.xinitrc</code> before starting the window manager (before command like <code>exec startxfce4</code>).<br />
<br />
==== C: Test X ====<br />
<br />
First, read the warning about input hotplugging in the previous section. At this point, you should have xorg installed, with a suitable video driver and an /etc/X11/xorg.conf configuration file. If you want to test your configuration quickly, to ensure your ability to successfully start '''X''' from the command line before installing a complete desktop environment, you can do so by configuring ~/.xinitrc to invoke '''Xterm'''. Xterm is a very simple terminal emulator which runs in the '''X '''Server environment; it is installed as part of the base xorg packages.<br />
<br />
===== Prepare for the test by configuring ~/.xinitrc=====<br />
<br />
One of the main functions of this file is to dictate what '''X''' Window client is invoked with the '''/usr/bin/startx''' and/or '''/usr/bin/xinit''' program ''on a per-user basis''. (The '''startx''' script is merely a front end to the more versatile '''xinit''' command.) There are vast amounts of additional configurable specifications and commands that may also be added to ~/[[.xinitrc]] as you further customize your system. <br />
{{Note | '''[[.xinitrc]]''' is a so-called 'dot' (.) file. Files in a UNIX filesystem which are preceded with a dot (.) are 'hidden', and will not show up with a regular 'ls' command, usually for the sake of keeping directories tidy. Dot files may be seen by issuing '''ls -a'''. The 'rc' denotes ''Run Commands'' and simply indicates that it is a configuration file. Since it controls how a program runs, it is (although historically incorrect) also said to stand for &quot;Run Control&quot;.}}<br />
<br />
'''startx/xinit''' will start the '''X''' server and clients. To determine the client to run, '''startx/xinit''' will first look to parse a [[.xinitrc]] file in the user's home directory. In the absence of file ~/[[.xinitrc]], it defaults to the global xinitrc in the xinit library directory; /etc/X11/xinit/xinitrc, which defaults to using the TWM window manager. (Hence, if you invoke startx without a ~/[[.xinitrc]] file, a TWM session will start.) Further details in the [[.xinitrc]] wiki entry.<br />
<br />
Switch to your '''''normal, non-root''''' user:<br />
<br />
# su - ''yourusername''<br />
<br />
* /etc/skel/ contains files and directories to provide sane defaults for newly created user accounts. The name '''skel''' is derived from the word '''skeleton''', because the files it contains form the basic structure for users' home directories.<br />
<br />
* Sample .xinitrc provided [[Xinitrc#A_standard_.xinitrc | here]] <br />
Copy the sample xinitrc file from /etc/skel/ to your home directory: <br />
<br />
$ cp /etc/skel/[[.xinitrc]] ~/<br />
Edit the file: <br />
$ nano ~/.xinitrc<br />
and add &quot;<code>exec xterm</code>&quot; so that it looks like this:<br />
<br />
#!/bin/sh<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
# exec wmaker<br />
# exec startkde<br />
# exec icewm<br />
# exec blackbox<br />
# exec fluxbox<br />
#<br />
exec xterm<br />
<br />
{{Note | ''Be sure to have only '''one''' uncommented '''exec''' line in ~/.xinitrc'' for now.}}<br />
<br />
Below, we shall edit this file again to specify the appropriate desktop environment/window manager of your choice.<br />
<br />
===== Perform the test =====<br />
<br />
Test your configurations by starting '''X''' as '''normal, non-root''' user, with:<br />
<br />
$ startx<br />
or<br />
$ xinit<br />
<br />
You should have an '''xterm''' session open up. You can test your keyboard and its layout in it. You may have to move your mouse around until it enters the xterm area before you see the mouse cursor or xterm responds to your keyboard.<br />
<br />
If you prove a properly configured /etc/X11/xorg.conf by successfully running the test, you can be assured that your DE/WM of choice will work smoothly.<br />
<br />
Exit Xterm with:<br />
$ exit<br />
{{Tip|Advanced instructions for Xorg configuration can be found in the [[Xorg]] article.}}<br />
<br />
<br />
{{Note| With Xorg 1.6 CTRL-Alt-Backspace has been deprecated and will not work to exit out of this test. A somewhat messy work around is to switch to a different virtual console (CTRL-Alt-F2, for example) and then switch back to the console the test is running in (probably CTRL-Alt-F1). You will then be able to use CTRL-C to kill the X test. You can enable CTRL-Alt-Backspace by editing xorg.conf, as described [http://wiki.archlinux.org/index.php/Xorg#Ctrl-Alt-Backspace_doesn.27t_exit_X here].}}<br />
If the screen goes black, you may still attempt to switch to a different virtual console (CTRL-Alt-F2, for example), and login blindly as root, followed by <Enter>, followed by root's password followed by <enter>. Finally, reboot blindly with:<br />
# reboot<br />
or <br />
# init 6<br />
<br />
=====In case of errors=====<br />
If you have problems starting '''X''', you can look for errors in the /var/log/Xorg.0.log file and on the console output of the virtual console you started '''X''' from. <br />
<br />
'''''If using /etc/X11/xorg.conf'''''<br />
<br />
Inspect the config file:<br />
<br />
# nano /etc/X11/xorg.conf<br />
<br />
The video driver may need to be specified. e.g.:<br />
Section &quot;Device&quot;<br />
<br />
...<br />
Driver &quot;savage&quot;<br />
...<br />
<br />
EndSection<br />
<br />
Horizontal sync and vertical refresh specs under section &quot;Monitor&quot; may need to be added:<br />
Section &quot;Monitor&quot;<br />
Identifier &quot;Monitor0&quot;<br />
VendorName &quot;Monitor Vendor&quot;<br />
ModelName &quot;Monitor Model&quot;<br />
HorizSync 30.0 - 130.0 # Safe for LCD's<br />
VertRefresh 50.0 - 100.0 # Safe for LCD's and most CRT's.<br />
EndSection<br />
(If these specs are unknown, consult the documentation of the computer monitor.)<br />
<br />
Color depth can be specified under section &quot;Screen&quot;:<br />
Section &quot;Screen&quot;<br />
Identifier &quot;Screen0&quot;<br />
Device &quot;Card0&quot;<br />
Monitor &quot;Monitor0&quot;<br />
DefaultDepth 24<br />
(Typically, this will be set to 24 for true color.)<br />
<br />
Also add desired Modes to the &quot;Display&quot; subsection, at least under the Depth 24 header, e.g.:<br />
SubSection &quot;Display&quot;<br />
Viewport 0 0<br />
Depth 24<br />
Modes &quot;1024x768&quot; &quot;800x600&quot; &quot;640x480&quot;<br />
Add the following section, if eye candy which requires the composite extension is desired: <br />
Section &quot;Extensions&quot;<br />
Option &quot;Composite&quot; &quot;Enable&quot;<br />
EndSection<br />
Try the config again, after modifying:<br />
# startx<br />
or<br />
# xinit<br />
'''''Still having trouble? Detailed instructions are in the [[Xorg]] article.'''''<br />
<br />
=====Need Help?=====<br />
<br />
If you are still having trouble after consulting the [[Xorg]] article and need assistance via the Arch forums, be sure to install and use wgetpaste:<br />
<br />
# pacman -S wgetpaste<br />
Use wgetpaste and provide links for the following files when asking for help in your forum post:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log.old<br />
Use wgetpaste like so:<br />
$ wgetpaste </path/to/file><br />
Post the corresponding links given within your forum post. Be sure to provide appropriate hardware and driver information as well.<br />
{{Warning| '''''It is very important to provide detail when troubleshooting X. Please provide all pertinent information as detailed above when asking for assistance on the Arch forums. '''''}}<br />
<br />
==Part IV: Installing and configuring a Desktop Environment ==<br />
While The '''X''' Window System provides the basic framework for building a ''graphical user interface'' (GUI), a '''Desktop Environment''' (DE), works atop and in conjunction with '''X''', to provide a completely functional and dynamic GUI. A DE typically provides a window manager, icons, applets, windows, toolbars, folders, wallpapers, a suite of applications and abilities like drag and drop. The particular functionalities and designs of each DE will uniquely affect your overall environment and experience. Therefore, choosing a DE is a very subjective and personal decision. Choose the best environment for ''your'' needs.<br />
<br />
If you desire a lighter, less demanding GUI to configure manually, you may choose to simply install a '''Window Manager''', or WM. A WM controls the placement and appearance of application windows in conjunction with the X Window System but does NOT include such features as panels, applets, icons, applications, etc., by default.<br />
* Lightweight floating WM's include: [[#Openbox|'''Openbox''']], [[#Fluxbox|'''Fluxbox''']], [[#fvwm2|'''fvwm2''']], [[PekWM|'''pekwm''']], [[Evilwm|'''evilwm''']], '''Windowmaker, and TWM'''.<br />
* If you need something completely different, try a tiling WM like [[Awesome|'''awesome''']], [[Ion3|'''ion3''']], [[Wmii|'''wmii''']], [[Dwm|'''dwm''']], [[Xmonad|'''xmonad''']], or [[Ratpoison|'''ratpoison''']].<br />
<br />
===Step 1: Install Fonts===<br />
At this point, you may wish to save time by installing visually pleasing, true type fonts, before installing a desktop environment/window manager. Dejavu and bitstream-vera are good, general-purpose font sets. You may also want to install the Microsoft font sets, which are especially popular on websites, and may be required for the proper function of Flash animations which feature text.<br />
<br />
Install with:<br />
# pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<br />
<br />
Refer to [[Xorg Font Configuration]] for how to configure fonts.<br />
<br />
===Step 2: ~/.xinitrc (again)===<br />
<br />
As '''non-root user''', edit your /home/username/.xinitrc to specify the DE you wish to use. This will allow you to use '''startx/xinit''' from the shell, in the future, to open your DE/WM of choice:<br />
<br />
$ nano ~/.xinitrc<br />
<br />
Uncomment or add the ''''exec''' ..' line of the appropriate desktop environment/window manager. Some examples are below:<br />
<br />
For the Xfce4 desktop environment:<br />
exec startxfce4 <br />
<br />
For the KDE desktop environment:<br />
exec startkde<br />
A '''startkde''' or '''startxfce4''' command starts the KDE or Xfce4 desktop environment. This is exactly the same as entering: <br />
$ xinit /usr/bin/startxfce4<br />
or<br />
$ xinit /usr/bin/starkde<br />
from the shell prompt. Note that such a command does not finish until you logout of the DE. Normally the shell would wait for KDE to finish, then run the next command. The &quot;exec&quot; prefix to this command within the ~/.xinitrc file tells the shell that this is the last command, so the shell does not need to wait to run a subsequent command.<br />
<br />
In the future, after the DE of choice is installed and if trouble with automounting is experienced, try using the following command in ~/.xinitrc instead. (Replace "startxfce4" with the command that is appropriate for your window manager/DE.)<br />
exec ck-launch-session startxfce4<br />
This will ensure the various environment variables are set correctly by starting a clean consolekit session. ConsoleKit is a framework for keeping track of the various users, sessions, and seats present on a system. It provides a mechanism for software to react to changes of any of these items or of any of the metadata associated with them. It works in conjunction with dbus, and other tools.<br />
<br />
Remember to have only one uncommented '''exec''' line in your ~/.xinitrc for now.<br />
<br />
===Step 3: Install a Desktop Environment===<br />
<br />
Continue below, installing the DE/WM of your choice.<br />
<br />
* [[#GNOME|'''GNOME''']]<br />
* [[#KDE|'''KDE''']]<br />
* [[#Xfce|'''Xfce''']]<br />
* [[#LXDE|'''LXDE''']]<br />
* [[#Openbox|'''Openbox''']]<br />
* [[#Fluxbox|'''Fluxbox''']]<br />
* [[#fvwm2|'''fvwm2''']]<br />
<br />
====GNOME====<br />
=====About GNOME=====<br />
The '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment. The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for end-users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.<br />
<br />
=====Installation=====<br />
Install the base GNOME environment with:<br />
# pacman -S gnome<br />
<br />
Additionally, you can install the extras:<br />
# pacman -S gnome-extra<br />
<br />
It's safe to choose all packages shown in the extra package.<br />
<br />
=====Useful DAEMONS for GNOME=====<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. Some users prefer to use the '''hal''' daemon. The '''hal''' daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The '''fam''' daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system. Both '''hal''' and '''fam''' can make life easier for the GNOME user. The hal and fam packages are installed when you install GNOME, but must be invoked to become useful.<br />
<br />
You may want to install a graphical login manager. For GNOME, the '''gdm''' daemon is a good choice. <br />
<br />
As root:<br />
# pacman -S gdm<br />
<br />
Start hal and fam:<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
<br />
Add them to your /etc/rc.conf DAEMONS section, so they will be invoked at boot:<br />
# nano /etc/rc.conf<br />
<br />
DAEMONS=(syslog-ng network crond alsa '''hal fam gdm''')<br />
(If you prefer to log into the console and manually start X, leave out gdm.)<br />
<br />
Then edit your /etc/gdm/custom.conf and in the '''[servers]''' section add:<br />
0=Standard vt7<br />
<br />
As normal user, start X:<br />
$ startx<br />
or<br />
$ xinit<br />
If ~/.xinitrc is not configured for GNOME, you may always start it with '''xinit''', followed by the path to GNOME:<br />
$ xinit /usr/bin/gnome-session<br />
<br />
{{Tip|Advanced instructions for installing and configuring GNOME can be found in the [[Gnome]] article.}}<br />
<br />
Congratulations! Welcome to your GNOME desktop environment on your new Arch Linux system! You may wish to continue by viewing '''[[Beginners Guide Appendix#Tweaks.2FFinishing_touches|Tweaks and finishing touches]]''', or the rest of the information below. You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
=====Eye Candy=====<br />
By default, GNOME does not come with many themes and icons. You may wish to install some more attractive artwork for GNOME:<br />
<br />
A nice gtk (gui widget) theme engine (includes themes) is the murrine engine. Install with:<br />
# pacman -S gtk-engine-murrine<br />
<br />
Optional for more themes:<br />
# pacman -S murrine-themes-collection <br />
<br />
Once it has been installed, select it with System -> Preferences -> Appearance -> Theme tab.<br />
<br />
The Arch Linux repositories also have a few more nice themes and engines. Install the following to see for yourself:<br />
<br />
# pacman -S gtk-engines gtk-aurora-engine gtk-candido-engine gtk-rezlooks-engine<br />
<br />
You can find many more themes, icons, and wallpapers at [http://www.gnome-look.org GNOME-Look].<br />
<br />
====KDE====<br />
=====About KDE=====<br />
The '''K''' '''D'''esktop '''E'''nvironment. KDE is a powerful Free Software graphical desktop environment for GNU/Linux and <tt>UNIX</tt> workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of <tt>UNIX</tt>-like operating systems.<br />
<br />
=====Installation=====<br />
Choose one of the following, then continue below with '''[[#Useful KDE DAEMONS|Useful KDE DAEMONS]]''': <br />
<br />
1. The package '''kde''' is the official and complete vanilla KDE 4.2 residing under the Arch [extra] repo.<br />
<br />
Install base kde:<br />
# pacman -S kdebase-workspace<br />
Install the whole Desktop Environment: <br />
# pacman -S kde<br />
''or'' <br />
# pacman -S kde-meta<br />
<br />
2. Alternatively, another KDE project exists called '''KDEmod''', part of the Chakra distribution. It is an Arch Linux (and spinoff) exclusive, community-driven package set designed for modularity and offers a choice between KDE 3.5.10 or 4.x.x. KDEmod can be installed with pacman, after adding the proper repositories to /etc/pacman.conf. The project website, including complete installation instructions, can be found at [http://www.chakra-project.org/ http://www.chakra-project.org/].<br />
<br />
=====Useful KDE DAEMONS=====<br />
<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services.<br />
<br />
KDE will require the '''hal''' ('''H'''ardware '''A'''bstraction '''L'''ayer) daemon for optimal functionality. The hal daemon, among other things, will facilitate the automatic mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The hal package is installed when you install xorg-server, but must be invoked to become useful.<br />
<br />
The '''kdm''' daemon is the '''K''' '''D'''isplay '''M'''anager, which provides a '''graphical login''', if desired.<br />
<br />
-----<br />
<br />
Start hal:<br />
# /etc/rc.d/hal start<br />
<br />
{{Note|The hal daemon relies on, and will automatically start, the dbus daemon.}}<br />
Edit your DAEMONS array in /etc/rc.conf:<br />
# nano /etc/rc.conf<br />
Add '''hal''' to your DAEMONS array, to invoke it on boot. If you prefer a graphical login, add '''kdm''' as well: <br />
DAEMONS=(syslog-ng '''hal''' network crond alsa '''kdm''')<br />
{{Note|If you installed KDEmod3 instead of normal KDE, use kdm3 instead of kdm.}}<br />
<br />
*This method will start the system at runlevel 3, (/etc/inittab default, multiuser mode), and then start KDM as a daemon. <br />
<br />
*Some users prefer an alternative method of starting a display manager like KDM on boot by utilizing the /etc/inittab method and starting the system at runlevel 5. See [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]] for more.<br />
<br />
*If you prefer to log into the '''console''' at runlevel 3, and manually start X, leave out kdm, or comment it out with a bang, ( ! ).<br />
<br />
Now try starting your X Server as normal user:<br />
$ startx<br />
or<br />
$ xinit<br />
{{Tip|Advanced instructions for installing and configuring KDE can be found in the [[KDE]] article.}}<br />
<br />
Congratulations! Welcome to your KDE desktop environment on your new Arch Linux system! You may wish to continue by viewing '''[[Beginners Guide Appendix|The Beginners Guide Appendix]]''', or the rest of the information below. You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
====Xfce====<br />
=====About Xfce=====<br />
Xfce is another free software desktop environment for Linux. It aims to be fast and lightweight, while still being visually appealing and easy to use. Xfce is modular and reusable. It consists of separately packaged components that together provide the full functionality of the desktop environment, but which can be selected in subsets to create the user's preferred personal working environment. Xfce is mainly used for its ability to run a modern desktop environment on relatively modest hardware. It is based on the GTK+ 2 toolkit (the same as GNOME). It uses the Xfwm window manager, described below. Its configuration is entirely mouse-driven, and the configuration files are hidden from the casual user.<br />
<br />
=====Installation=====<br />
Install Xfce: <br />
# pacman -S xfce4 <br />
You may also wish to install themes and extras:<br />
# pacman -S xfce4-goodies gtk2-themes-collection<br />
Note: '''xfce4-xfapplet-plugin''' (a plugin that allows the use of GNOME applets in the Xfce4 panel) is part of the '''xfce4-goodies''' group and depends on '''gnome-panel''', which in turn depends on '''gnome-desktop'''. You may wish to take this into consideration before installing, since it represents a significant number of extra dependencies.<br />
<br />
If you get errors about dbus-launch then you need to install dbus aswell:<br />
# pacman -S dbus<br />
<br />
If you wish to admire 'Tips and Tricks' on login, install the '''fortune-mod''' package:<br />
# pacman -S fortune-mod<br />
<br />
=====Useful DAEMONS=====<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. Some Xfce users prefer to use the '''hal''' daemon. The hal daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The fam daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system. The hal and fam packages are installed when you install Xfce, but must be invoked to become useful.<br />
<br />
Start hal and fam:<br />
<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
{{Note|The hal daemon relies on, and will automatically start, the dbus daemon.}}<br />
Edit your DAEMONS array in /etc/rc.conf:<br />
# nano /etc/rc.conf<br />
Add '''hal''' and '''fam''' to your DAEMONS array, to invoke them at boot.<br />
<br />
{{Tip|Advanced instructions for installing and configuring Xfce can be found in the [[Xfce]] article.}}<br />
<br />
If you wish to install one, see [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]]. Otherwise you can login in via the console and run:<br />
<br />
$ startxfce4<br />
<br />
Congratulations! Welcome to your Xfce desktop environment on your new Arch Linux system! You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
====LXDE====<br />
=====About LXDE=====<br />
LXDE, (for ''L''ightweight ''X''11 ''D''esktop ''E''nvironment), is a new project focused on providing a modern desktop environment which aims to be lightweight, fast, intuitive and functional while keeping system resource usage low. LXDE is quite different from other desktop environments, since each component of LXDE is a discrete and independent application, and each can be easily substituted by other programs. This modular design eliminates all unnecessary dependencies and provides more flexibility. Details and screenshots available at: http://lxde.org/ <br />
<br />
LXDE provides:<br />
# The OpenBox windowmanager<br />
# PCManFM File manager<br />
# LXpanel system panel<br />
# LXSession session manager<br />
# LXAppearance GTK+ theme switcher<br />
# GPicView image viewer<br />
# Leafpad simple text editor<br />
# XArchiver: Lightweight, fast, and desktop-independent gtk+-based file archiver<br />
# LXNM (still under development): Lightweight network manager for LXDE supporting wireless connections<br />
These lightweight and versatile tools combine for quick setup, modularity and simplicity.<br />
<br />
Install LXDE with: <br />
# pacman -S lxde gamin openbox<br />
<br />
Add:<br />
exec startlxde<br />
*If you experience problems with Policykit or plan on running '''nm-applet''', the following command should be used instead<br />
exec ck-launch-session startlxde<br />
to your ~/.xinitrc and start with ''startx'' or ''xinit''<br />
<br />
{{Tip | Further information available at the [[LXDE]] wiki article.}}<br />
<br />
====*box====<br />
=====Fluxbox=====<br />
Fluxbox is yet another windowmanager for X.<br />
It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar things exactly like blackbox (100% theme/style compability).<br />
<br />
Install Fluxbox using <br />
# pacman -S fluxbox fluxconf<br />
<br />
If you use gdm/kdm a new fluxbox session will be automatically added. Otherwise, you should modify your user's .xinitrc and add this to it:<br />
exec startfluxbox <br />
<br />
More information is available in the [[Fluxbox]] article.<br />
<br />
=====Openbox=====<br />
Openbox is a standards compliant, fast, light-weight, extensible window manager.<br />
<br />
Openbox works with your applications, and makes your desktop easier to manage. This is because the approach to its development was the opposite of what seems to be the general case for window managers. Openbox was written first to comply with standards and to work properly. Only when that was in place did the team turn to the visual interface.<br />
<br />
Openbox is fully functional as a stand-alone working environment, or can be used as a drop-in replacement for the default window manager in the GNOME or KDE desktop environments. <br />
<br />
Install openbox using<br />
# pacman -S openbox<br />
Additional configuration tools are also available, if desired:<br />
# pacman -S obconf obmenu<br />
<br />
Once openbox is installed you will get a message to move menu.xml & rc.xml to ~/.config/openbox/ in your home directory:<br />
# su - ''yourusername''<br />
$ mkdir -p ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/rc.xml ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/<br />
<br />
'''rc.xml''' is the main configuration file for OpenBox. It may be manually edited, (or you can use OBconf). '''menu.xml''' configures the right-click menu.<br />
<br />
You may log into OpenBox via graphical login using KDM/GDM, or from the shell using '''startx''', in which case you will need to edit your ~/.xinitrc (as non-root user) and add the following:<br />
<br />
exec openbox-session<br />
<br />
NOTE: If you plan on running dbus (which is required by hal) then make sure your ~/.xinitrc reads:<br />
<br />
exec dbus-launch --exit-with-session openbox-session<br />
<br />
You may also start OpenBox from the shell using '''xinit''':<br />
$ xinit /usr/bin/openbox-session<br />
* Openbox may also be used as the window manager for GNOME, KDE, and Xfce.<br />
For KDM there is nothing left to do; openbox is listed in the sessions menu in KDM.<br />
<br />
Some useful, lightweight programs for OpenBox are:<br />
* PyPanel, Tint2, or LXpanel if you want a panel<br />
* feh if you want to set the background<br />
* ROX if you want a simple file manager (also provides simple icons)<br />
* PcmanFM a lightweight but versatile file manager (also provides desktop icon functionality)<br />
* iDesk (available in [[AUR]]) for providing desktop icons<br />
* Graveman for burning CD's or DVD's<br />
<br />
{{Tip | More information is available in the [[Openbox]] article.}}<br />
<br />
====FVWM2====<br />
FVWM (F Virtual Window Manager) is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system. Development is active, and support is excellent. <br />
<br />
Install fvwm2 with<br />
# pacman -S fvwm <br />
<br />
It will install the official version of the WM. However, if you want/need to use some more features than it provides, you can install the patched version from archlinuxfr (see [[Unofficial user repositories]]) or [[AUR]]. To install it from AUR or archlinuxfr repesctively, execute:<br />
$ yaourt -S fvwm-patched<br />
or<br />
# pacman -S fvwm-patched<br />
<br />
fvwm will automatically be listed in kdm/gdm in the sessions menu. Otherwise, add <br />
exec fvwm 2 <br />
<br />
to your user's .xinitrc.<br />
<br />
When you start [[FVWM2]], you will get into the blank configuration. However, when you left-click on the desktop, you will be able to select to configure FVWM. chose wanted modules and you are ready to go. Check out the configs in the http://www.box-look.org. One should also consider checking FVWM forums at http://fvwm.lair.be<br />
<br />
[[SLiM]] is a very good login manager, that does not have many dependencies and acts well with FVWM. Common Applications are similar to those suggested for [[Openbox]] or [[Fluxbox]].<br />
<br />
==Common and Lightweight Applications==<br />
For a list of [[Common Applications]] and [[Lightweight Applications]], visit their respective articles.<br />
<br />
=Appendix=<br />
See the [[Beginners' Guide Appendix]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Webcam&diff=86434
Webcam
2009-12-05T19:44:58Z
<p>Keiichi: Redirected page to Webcam Setup</p>
<hr />
<div>#REDIRECT [[Webcam Setup]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:Webcam_setup&diff=86432
Talk:Webcam setup
2009-12-05T19:44:36Z
<p>Keiichi: moved Talk:Webcam setup to Talk:Webcam Setup over redirect: Minor title fix.</p>
<hr />
<div></div>
Keiichi
https://wiki.archlinux.org/index.php?title=Webcam_setup&diff=86430
Webcam setup
2009-12-05T19:44:36Z
<p>Keiichi: moved Webcam setup to Webcam Setup over redirect: Minor title fix.</p>
<hr />
<div>[[Category:Other hardware (English)]] <br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Webcam Setup}}<br />
{{i18n_entry|简体中文|安装网络摄像机}}<br />
{{i18n_links_end}}<br />
<br />
= Introduction =<br />
This is a guide to setting up your webcam in Arch Linux.<br />
<br />
= Identify your webcam =<br />
Identify the name of your webcam and find a proper driver. Below is a list of webcams, and what drivers they work with. Click on the link to the right of the device name for information on compiling modules and other information. If you get your webcam to work, add the name of the webcam and the driver you used to the list!<br />
<br />
== pwc ==<br />
* Creative Labs Webcam Pro Ex<br />
* Logitech QuickCam Notebook Pro (only the "Pro" models)<br />
* Logitech Quickcam Pro 4000<br />
* Philips ToUCams (not confirmed at the moment, but it's using the pwc driver if I remember correctly)<br />
* Philips SPC900NC<br />
<br />
== [[Retrieving Qc-usb drivers HOWTO|qc-usb]] ==<br />
* Dexxa Webcam<br />
* Labtec Webcam (old model) <br />
* LegoCam<br />
* Logitech Quickcam Express (old model)<br />
* Logitech QuickCam Notebook (not the "Pro" models)<br />
* Logitech Quickcam Web<br />
<br />
== qc-usb-messenger ==<br />
* Logitech Quickcam Messenger<br />
* Logitech Quickcam Communicate (for Communicate MP/S5500 or "for Business" see the linux-uvc section below)<br />
<br />
It is now in the community repo.<br />
<br />
'''Note:''' If qc-usb-messenger does not work use the gspca module, by installing the gspcav1 package.<br><br />
'''Note:''' Now this driver is a module included in kernel 2.6.27<br />
<br />
== zr364xx ==<br />
This driver can be used for many webcams like:<br />
* Aiptek PocketDV 3300<br />
* Creative PC-CAM 880<br />
* Konica Revio 2<br />
* Genius Digital Camera<br />
* Maxell Maxcam PRO DV3<br />
You can find the full list of supported devices [http://royale.zerezo.com/zr364xx/ here]. You can find a PKGBUILD for this driver on the [http://aur.archlinux.org/ AUR].<br />
<br />
== sn9c102 ==<br />
* Trust Spacecam series<br />
* Maxell Smartcam (for notebooks): 352x288 max. resolution @ 3fps<br />
<br />
== spca5xx ==<br />
An extensive list of supported webcams is available [http://mxhaard.free.fr/spca5xx.html here].<br />
* Logitech QuickCam IM<br />
* Logitech QuickCam for Notebooks Deluxe<br />
** If hotplugged (not plugged in until after bootup), this camera will work with [[Webcam_Setup#linux-uvc|linux-uvc]], below. The only setup required will be to modify the device [[Webcam_Setup#Permissions|permissions]].<br />
* Logitech QuickCam Express<br />
* Labtec Webcam Pro<br />
* Trust Mini Webcam WB-1200p<br />
<br />
Kernels >= 2.6.11 would now use the gspca module, by installing the gspcav1 package.<br />
<br>Kernels >= 2.6.27 now already include the modules from the gspcav1 package.<br />
<br />
== stv680 ==<br />
Many cheap no-name cameras that came out Asia in the last couple of years use the stv680 chipset. Most of these cameras were novelty items (i.e. Pencam, SpyC@m and LegoCam). <br />
* Aiptek PenCam series<br />
* Digitaldream series<br />
* Dolphin Peripherals series<br />
* Lego LegoCam<br />
* Trust SpyC@m series<br />
* Welback Coolcam<br />
<br />
A more-complete list of webcams that use the stv680 chipset is available [http://webcam-osx.sourceforge.net/cameras/index.php?orderBy=controller here].<br />
<br />
== linux-uvc ==<br />
* Logitech Quickcam Pro 5000<br />
* Logitech Quickcam Pro 9000<br />
* Logitech Quickcam Orbit AF<br />
* Logitech Quickcam Orbit MP<br />
* Logitech Quickcam S5500<br />
* Microdia Pavilion Webcam (on MSI PR200)<br />
* Logitech Quickcam Communicate MP/S5500 or "for Business"<br />
* Chicony Electronics CNF7051<br />
<br />
You can find a full list of supported UVC devices [http://linux-uvc.berlios.de/ here].<br />
<br />
As of kernel 2.6.26 (or was it 2.6.27) linux-uvc is part of the kernel. Just load the uvcvideo module.<br />
<br />
'''''Note:''' This driver does not have V4L1 support.''<br />
<br />
== ov51x-jpeg ==<br />
* Sony EyeToy<br />
* Chicony DC-2120 <br />
* Chicony DC-2120 pro<br />
* Trust Spacecam 320<br />
* Hercules Webcam Deluxe <br />
* Hercules Webcam Classic <br />
* Creative Live! Cam Notebook Pro VF0400 <br />
* Creative Live! Cam Vista IM <br />
* Creative Live! Cam Vista IM VF0420 <br />
* Creative Vista Webcam VF0330 <br />
* ASUS webcam Model? <br />
* Philips PCVC820K/00 <br />
* NGS showtime plus <br />
* HP VGA Webcam with Integrated Microphone<br />
<br />
This is a kernel module found in the AUR with some additions to the original driver that provide jpeg decompression.<br />
See the [http://www.rastageeks.org/ov51x-jpeg/index.php/Main_Page webpage]<br />
<br />
For me to get my "Creative Live! Cam Vista IM" working with Skype I had to add this line to /etc/modprobe.d/modprobe.conf<br />
options ov51x-jpeg forceblock=1<br />
<br />
== r5u870 (Ricoh) ==<br />
* HP Pavilion Webcam<br />
* HP Webcam 1000<br />
* Sony VAIO VGP-VCCx<br />
<br />
The Ricoh webcam is built into most new Sony laptops. There are packages for the [http://aur.archlinux.org/packages.php?ID=15227 firmware] (install first) and [http://aur.archlinux.org/packages.php?ID=15226 driver] in AUR.<br />
<br />
''kernel26 dependency'' The r5u870 driver is currently broken for kernel 2.6.26 and later. For kernel 2.6.26 and later, just remove r5u870 and r5u870-fw, install from aur [http://aur.archlinux.org/packages.php?ID=21458 this] userspace tool (provides firmware too) and run '''loader''' command.<br />
<br />
== stk11xx (Syntek) ==<br />
* Integrated camera in lot of Asus laptops<br />
* Asus A8J, F3S, F5R, F5GL, F9E, VX2S, V1S, A6T<br />
<br />
Just install this [http://aur.archlinux.org/packages.php?do_Details=1&ID=12669 AUR package]. It contains the right kernel module.<br />
<br />
= Make sure the module is loaded for your webcam =<br />
The easiest way is to edit [[rc.conf]]. In the MODULES array, add the module of your webcam so it will be loaded into the kernel during init stage bootstrapping.<br />
<br />
'''Note:''' If your webcam is USB, the kernel ''should'' automatically load the proper driver. If this is the case, check dmesg after you plug your webcam in. You should see something like this:<br />
<br />
<pre>$ dmesg|tail<br />
sn9c102: V4L2 driver for SN9C10x PC Camera Controllers v1:1.24a<br />
usb 1-1: SN9C10[12] PC Camera Controller detected (vid/pid 0x0C45/0x600D)<br />
usb 1-1: PAS106B image sensor detected<br />
usb 1-1: Initialization succeeded<br />
usb 1-1: V4L2 device registered as /dev/video0<br />
usb 1-1: Optional device control through 'sysfs' interface ready<br />
usbcore: registered new driver sn9c102</pre><br />
<br />
= Permissions =<br />
In order to use your webcam you need to have permission to use <code>/dev/video0</code>.<br />
<br />
== udev ==<br />
If you use udev (which is default as of kernel 2.6.13) you only need to be in the group <b>video</b>. You can check it with:<br />
$ groups<br />
To add a user to the group run under root:<br />
# gpasswd -a <username> video<br />
Set permissions of the device:<br />
# chmod 666 /dev/video0<br />
<br />
== devfs ==<br />
Add the following to your <code>/etc/devfsd.conf</code>. This will give normal users permission to use <code>/dev/video0</code> (your webcam).<br />
# Give normal users access to webcam<br />
REGISTER video0 PERMISSIONS root.users 0660<br />
<br />
= Get software to use your webcam =<br />
<br />
Version 2.6.27 of the Linux kernel supports [http://mxhaard.free.fr/spca5xx.html many new webcam drivers]. Legacy Video4Linux API has been dropped, and these drivers now only support Video4Linux version 2. Pixel format decoding has been pushed to user space, since Video4Linux version 2 does not support kernel space decoding. The libv4l library provides userland applications with pixel decoding services and will be used by most programs. Other compatibility layers are also available.<br />
<br />
'''If your device is created but your image looks strange (mine was nearly completely green), you probably need this.'''<br />
<br />
If the application has V4L2 support but no pixelformat support (eg: cheese) then use the following command:<br />
LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so cheese<br />
<br />
If the application only supports the older version of V4L (skype is the most popular of this kind of software) then use this command:<br />
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype<br />
<br />
'''Hint:'''<br />
You also might want to put a line like the following into your .bashrc or .xinitrc<br />
so you don't have to type that long command all the time:<br />
export LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so<br />
or<br />
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so<br />
<br />
'''Or for 32-bit applications (ie. Skype) run within Arch64:'''<br />
<br />
export LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l2convert.so<br />
or<br />
export LD_PRELOAD=/opt/lib32/usr/lib/libv4l/v4l1compat.so<br />
<br />
These two libraries are part of the '''lib32-libv4l''' package.<br />
<br />
== Cheese ==<br />
Cheese is the GNOME photo/video taking client. It is similar to Photo Booth in Mac OS X. It is now in extra and is also part of the gnome-extra group<br />
<br />
== GTK+ UVC Viewer (guvcview) ==<br />
[http://guvcview.berlios.de/ guvcview] is a simple GTK interface for capturing (with sound!) and viewing video from devices supported by the linux UVC driver. Available in the [http://aur.archlinux.org/packages.php?ID=16521 AUR].<br />
<br />
== Kopete ==<br />
Kopete is the [[KDE]] instant messaging (IM) client. As of KDE 3.5, it has support for MSN and Yahoo! webcams, but not every cam works yet. It is included in the kdenetwork package.<br />
<br />
== xawtv ==<br />
This is a basic v4l device viewer, and although it is intended for use with TV tuner cards, it works well with webcams. It will display what your webcam sees in a window. Install it using <br />
# pacman -S xawtv<br />
Run it with <br />
$ xawtv -c /dev/video0<br />
If you're using an nVidia graphic card, and you get an error like<br />
X Error of failed request: XF86DGANoDirectVideoMode<br />
Major opcode of failed request: 139 (XFree86-DGA)<br />
Minor opcode of failed request: 1 (XF86DGAGetVideoLL)<br />
Serial number of failed request: 69<br />
Current serial number in output stream: 69<br />
you should instead run it as:<br />
$ xawtv -nodga<br />
<br />
==VLC==<br />
VLC can also be used to view and record your webcam. In VLC's file menu, open the 'Capture Device...' dialog and enter the video and audio device files. Or from the command line, do:<br />
$ vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/audio2"<br />
This will make VLC mirror your webcam. To take stills, simply choose 'Snapshot' in the 'Video' menu. To record the stream, you add a --sout argument, e.g.<br />
$ vlc v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/audio2" --sout "#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mpga,ab=192,channels=2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/tmp/test.mpg}}"<br />
<br />
(Obviously a bit overkill with regard to the bitrates but it's fine for testing purposes.) Notice that this will not produce a mirror on the display - in order to see what you're recording, you would need to add the display as a destination to the argument:<br />
... :duplicate{dst=display,dst=std{access= ....<br />
(Though this can tax older hardware somewhat...)<br />
<br />
==Mplayer==<br />
To use [[Mplayer]] to take snapshots from your webcam run this command from the terminal:<br />
$ mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -fps 15 -vf screenshot<br />
From here you have to press ''''s'''' to take the snapshot. The snapshot will be saved in your current folder as '''shotXXXX.png'''.<br />
If you want to record continuous video:<br />
$ mencoder tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o <filename>.avi<br />
Press Ctrl+Z to end the recording.<br />
<br />
== ekiga ==<br />
This is very similar to Microsoft NetMeeting. <br />
Get it with <br />
# pacman -S ekiga<br />
The configuration druid will set everything up for you.<br />
<br />
== Sonic-snap ==<br />
Sonic-snap [http://www.stolk.org/sonic-snap/] is a viewer/grabber for sn9c102-based webcams '''only'''.<br />
[http://aur.archlinux.org/packages.php?ID=6333 Available in AUR.]<br />
<br />
== Skype == <br />
The newest version of [[Skype]] has video support. Check Video Devices in the options for a test image which you can double-click to make full screen. You can install Skype with:<br />
# pacman -S skype<br />
If you get green/disorted picture with skype read the section [[Webcam_Setup#Get software to use your webcam]] above.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_old&diff=86429
Beginners' guide old
2009-12-05T19:34:41Z
<p>Keiichi: another minor introduction edit</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]][[Category:About Arch (English)]]<br />
[[Category:HOWTOs (English)]][[Category:Accessibility (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Provides a highly detailed, explanatory guide to installing, configuring and using a full-featured Arch Linux system.}}<br />
{{Article summary heading|Languages}}<br />
{{i18n_entry|Česky|Průvodce začátečníka (Česky)}}<br />
{{i18n_entry|简体中文|Arch 新手安装指南 (简体中文)}}<br />
{{i18n_entry|正體中文|Beginner's Guide 新手指南}}<br />
{{i18n_entry|Dansk|Dansk_Begynderguide}}<br />
{{i18n_entry|Deutsch|Beginners Guide (Deutsch)}}<br />
{{i18n_entry|English|Beginners Guide}}<br />
{{i18n_entry|Español|Guía para Principiantes (Español)}}<br />
{{i18n_entry|Français|Manuel_du_Débutant_(Français)}}<br />
{{i18n_entry|Italiano|Beginners Guide (Italiano)}}<br />
{{i18n_entry|Indonesia|Beginners_Guide_(Indonesia)}}<br />
{{i18n_entry|Lietuviškai|Pradedančiųjų gidas (Lietuviškai)}}<br />
{{i18n_entry|Nederlands|Beginners_Guide_(Nederlands)}}<br />
{{i18n_entry|Português Brasil|Guia do Iniciante(Português do Brasil)}}<br />
{{i18n_entry|Português|Guia para Principiantes(Português)}}<br />
{{i18n_entry|Русский|Руководство_для_новичков}}<br />
{{i18n_entry|Türkçe|Başlangıç Rehberi (Türkçe)}}<br />
{{i18n_entry|हिन्दी|नौसिखिया गाइड(हिन्दी)}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|:Category:Accessibility (English)}} (Accessibility Resources)<br />
{{Article summary wiki|Official Arch Linux Install Guide}}<br />
{{Article summary wiki|Beginners' Guide Appendix}}<br />
{{Article summary wiki|Post Installation Tips}}<br />
{{Article summary end}}<br />
==Preface==<br />
=====Introduction=====<br />
This document will guide you through the process of installing and configuring [[Arch Linux]]; a simple, agile and lightweight GNU/Linux distribution, and <tt>UNIX</tt>-like operating system targeted at competent users. <br />
* Arch Linux requires a certain level of intimate knowledge of its configuration process and of <tt>UNIX</tt>-like system methodology, and for this reason, extra explanatory information is included. <br />
* This guide is aimed at new Arch users, but strives to serve as a strong reference and informative base for all.<br />
<br />
'''Arch Linux Has:'''<br />
* [[The Arch Way]]; Which follows <tt>UNIX</tt>-like design and philosophy<br />
* All its packages compiled for the i686 and x86_64 architectures<br />
* The [[Arch Boot Process]]; Which uses BSD style init scripts, featuring one centralized configuration file<br />
* mkinitcpio; A simple and dynamic initramfs creator<br />
* The [[Pacman]] package manager; Which is lightweight and agile, with a very modest memory footprint<br />
* The [[Arch Build System]]; A ports like package building system, making it simple to create your own easily installable Arch packages from source<br />
* The [[Arch User Repository]]; Which offers thousands of build scripts for Arch from user provided software packages<br />
<br />
=====License=====<br />
<br />
Arch Linux, pacman, documentation, and scripts are copyright<br />
©2002-2007 by Judd Vinet, ©2007-2009 by Aaron Griffin and are licensed under the GNU General Public License Version 2.<br />
<br />
=====Don't Panic=====<br />
The Arch Linux system is assembled by the ''user'', from the shell, using basic command line tools. Unlike the more rigid structures of other distributions and installers, there are no default environments nor configurations chosen for you. From the command line, ''you'' will add packages from the Arch repositories using the pacman tool via your internet connection and manually configure your installation by editing text files until your system is customized to your requirements. You will also manually add non-root user(s) and manage groups and permissions. This method allows for maximum flexibility, choice, and system resource control ''from the base up''.<br />
<br />
Arch Linux is a distribution aimed at competent GNU/Linux users who desire a 'do-it-yourself' approach.<br />
<br />
=====The Arch Way=====<br />
<br />
'''''The design principles behind Arch are aimed at keeping it simple.'' '''<br />
<br />
'Simple', in this context, shall mean 'without unnecessary additions, modifications, or complications'. In short; an elegant, minimalist approach.<br />
<br />
'''Some thoughts to keep in mind as you consider simplicity:'''<br />
<br />
*''&quot; 'Simple' is defined from a technical standpoint, not a usability standpoint. It is better to be technically elegant with a higher learning curve, than to be easy to use and technically [inferior].&quot; -Aaron Griffin''<br />
*''Entia non sunt multiplicanda praeter necessitatem'' or &quot;Entities should not be multiplied unnecessarily.&quot; -Occam's razor. The term ''razor'' refers to the act of shaving away unnecessary complications to arrive at the simplest explanation, method or theory.<br />
*''&quot;The extraordinary part of [my method] lies in its simplicity..The height of cultivation always runs to simplicity.&quot;'' - Bruce Lee<br />
<br />
=====About This Guide=====<br />
<br />
The Arch wiki is an excellent resource and should be consulted for issues [[Main Page|first]]. The IRC room (at freenode #archlinux), and the [http://bbs.archlinux.org/ forums] are also available if the answer cannot be found elsewhere.<br />
<br />
{{Note|Following this guide closely is essential in order to successfully install a properly configured Arch Linux system, so ''please'' read it thoroughly. It is strongly recommended you read each section completely <u>before</u> carrying out the tasks contained.}}<br />
<br />
Since GNU/Linux Distributions are fundamentally 'modular' by design, the guide is logically divided into 4 main components of a desktop <tt>UNIX</tt>-like operating system: <br />
<br />
'''[[#Part I: Install the Base System|Part I: Installing the Base system]]'''<br />
<br />
'''[[#Part II: Configure & Update the New Arch Linux base system|Part II: Configure & Update the New Arch Linux base system]]'''<br />
<br />
'''[[#Part III: Install X and configure ALSA|Part III: Installing X and configuring ALSA]]'''<br />
<br />
'''[[#Part IV: Installing and configuring a Desktop Environment|Part IV: Installing a Desktop Environment]]'''<br />
<br />
==Part I: Install the Base System==<br />
<br />
===Step 1: Obtain the latest Installation media ===<br />
<br />
You can obtain Arch's official installation media from [http://archlinux.org/download/ here]. The latest version is 2009.08 <br />
<br />
*Both the Core and the Netinstall images provide only the necessary packages to create an '''Arch Linux base system'''. ''Note that the Base System does not include a GUI. It is mainly comprised of the GNU toolchain (compiler, assembler, linker, libraries, shell, and utilities), the Linux kernel, and a few extra libraries and modules.''<br />
*Core images facilitate both installing from CD and Net. <br />
*Netinstall images are smaller and provide no packages themselves; the entire system is retrieved via internet.<br />
*The isolinux images are provided for people who experience trouble using the grub version. There are no other differences.<br />
* [[Arch64_FAQ|The Arch64 FAQ]] can help you choose between the 32- and 64-bit versions.<br />
<br />
====CD installer====<br />
Burn the .iso image file to a CD with your preferred CD burner drive and software, and continue with [[#Step 2: Boot Arch Linux Installer | Step 2: Boot Arch Linux Installer]]<br />
{{Note| The quality of optical drives, as well as the CD media itself, vary greatly. Generally, using a slow burn speed is recommended for reliable burns; Some users recommend speeds '''''as low as 4x or 2x.''''' If you are experiencing unexpected behavior from the CD, try burning at the minimum speed supported by your system. }}<br />
<br />
====USB stick====<br />
{{Warning|This will irrevocably destroy all data on your USB stick!}}<br />
<br />
'''<tt>UNIX</tt> Method:'''<br />
<br />
Insert an empty or expendable USB stick, determine its path, and write the .img to the USB stick with the <code>/bin/dd</code> program:<br />
dd if=archlinux-2009.08-''{core|netinstall}''-''{i686|x86_64}''.img of=/dev/sd''x''<br />
where <code>if=</code> is the path to the img file and <code>of=</code> is your USB device. Make sure to use {{Filename|/dev/sd'''x'''}} and not {{Filename|/dev/sd'''x1'''}}.<br />
<br />
'''Check md5sum (optional):'''<br />
<br />
Make a note of the number of records (blocks) read in and written out, then perform the following check:<br />
dd if=/dev/sd''x'' count=''number_of_records'' status=noxfer | md5sum<br />
The md5sum returned should match the md5sum of the downloaded archlinux image file; they both should match the md5sum of the image as listed in the md5sums file in the mirror distribution site.<br />
<br />
'''Windows Method:'''<br />
<br />
Download Disk Imager from https://launchpad.net/win32-image-writer/+download. Insert flash media. Start the Disk Imager and select the image file. Select the Drive letter associated with the flash drive. Click "write".<br />
<br />
Continue with [[#Step 2: Boot Arch Linux Installer | Step 2: Boot Arch Linux Installer]]<br />
<br />
===Step 2: Boot Arch Linux Installer===<br />
Insert the CD or USB stick and boot from it. You may have to<br />
change the boot order in your computer BIOS or press a key (usually DEL, F1, F2, F11 or F12) during the BIOS POST (Power On Self-Test) phase.<br />
<br />
{{Tip|The memory requirements for a basic install are:<br />
* Core : 128 MB RAM x86_64/i686 (all packages selected, with swap partition)<br />
* Netinstall : 128 MB RAM x86_64/i686 (all packages selected, with swap partition)}}<br />
<br />
The main menu should be displayed at this point. Select the preferred choice by using the arrow keys to highlight your choice, and then by pressing Enter.<br />
<br />
Usually, the first item, Boot Archlive, is the preferred selection. However, choose Boot Archlive [legacy IDE] if you have trouble with libata/PATA, or have no SATA (Serial ATA) drives.<br />
<br />
To change GRUB boot options, press '''e'''. Many users may wish to change the resolution of the framebuffer, for more readable console output. Append:<br />
vga=773<br />
to the kernel line, followed by <ENTER>, for a 1024x768 framebuffer. When done, press '''b''' to boot into that selection.<br />
<br />
The system will now boot and present a login prompt. Login as 'root', without the quotes.<br />
<br />
If your system has errors trying to boot from the live CD or there are other '''hardware''' errors, refer to the [[Installation Troubleshooting]] wiki page.<br />
<br />
====Changing the keymap====<br />
If you have a non-US keyboard layout you can interactively choose your keymap/console font with the command:<br />
# km<br />
or use the loadkeys command:<br />
# loadkeys ''layout''<br />
(replace ''layout'' with your keyboard layout such as &quot;<code>fr</code>&quot; or &quot;<code>be-latin1</code>&quot;)<br />
<br />
====Documentation====<br />
The official install guide is conveniently available right on the live system! To access it, change to vc/2 (virtual console #2) with <ALT>+F2, and then invoke <code>/usr/bin/less</code> by typing in the following at the # prompt:<br />
# less /arch/docs/official_installation_guide_en<br />
<code>less</code> will allow you to page through the document. Change back to vc/1 with <ALT>+F1 to follow the rest of the install process.<br />
<br />
Change back to vc/2 at any time if you need to reference the Official Guide as you go thru the installation process.<br />
<br />
{{tip|Please note that the official guide only covers installation and configuration of the base system. Once that is installed, it is strongly recommended that you come back here to the wiki to find out more about post-installation considerations and other related issues.}}<br />
<br />
===Step 3: Start the Installation===<br />
As root, run the installer script from vc/1:<br />
# /arch/setup<br />
<br />
===A: Select an installation source===<br />
After a welcome screen, you will be prompted for an installation source. Choose the appropriate source for the installer you are using.<br />
* If you chose the CORE installer, continue below with [[#B: Set Clock|B: Set Clock]].<br />
* Netinstall only: You shall be prompted to load ethernet drivers manually, if desired. Udev is quite effective at loading the required modules, so you may assume it has already done so. You may verify this by invoking ifconfig -a from vc/3. (Select OK to continue.)<br />
<br />
====Configure Network (Netinstall)====<br />
Available Interfaces will be presented. If an interface and HWaddr ('''H'''ard'''W'''are '''addr'''ess) is listed, then your module has already been loaded. If your interface is not listed, you may probe it from the installer, or manually do so from another virtual console.<br />
<br />
The following screen will prompt you to ''Select the interface, Probe,'' or ''Cancel''. Choose the appropriate interface and continue.<br />
<br />
The installer will then ask if you wish to use DHCP. Choosing Yes will run '''dhcpcd''' to discover an available gateway and request an IP address; Choosing No will prompt you for your static IP, netmask, broadcast, gateway DNS IP, HTTP proxy, and FTP proxy. Lastly, you will be presented with an overview to ensure your entries are correct.<br />
<br />
=====(A)DSL Quickstart for the Live Environment (If you have a pure modem (or router in bridge mode) to connect to your ISP) =====<br />
<br />
Switch to another virtual console (<Alt> + F2), login as root and invoke <br />
# pppoe-setup<br />
If everything is well configured in the end you can connect to your ISP with <br />
# pppoe-start<br />
<br />
Return to first virtual console with <ALT>+F1. Continue with [[#B: Set Clock|B: Set Clock]]<br />
<br />
=====Wireless Quickstart For the Live Environment (If you need wireless connectivity during the installation process)=====<br />
<br />
The wireless drivers and utilities are now available to you in the live environment of the installation media. A good knowledge of your wireless hardware will be of key importance to successful configuration. Note that the following quickstart procedure ''executed at this point in the installation'' will initialize your wireless hardware for use ''in the live environment''. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. <br />
<br />
Also note that these steps are optional if wireless connectivity is unnecessary at this point in the installation; wireless functionality may always be established later.<br />
<br />
The basic procedure will be:<br />
* Switch to a free virtual console, e.g.: <ALT>+F3<br />
* (Optional) Identify the wireless interface and driver module:<br />
# lsmod | grep -i net<br />
* Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with <code>/usr/sbin/iwconfig</code>:<br />
# iwconfig<br />
Example output:<br />
lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated <br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0 <br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
<code>wlan0</code> is the available wireless interface in the example.<br />
* Bring the interface up with <code>/sbin/ifconfig <interface> up</code>.<br />
An example using the wlan0 interface:<br />
# ifconfig wlan0 up<br />
(Remember, your interface may be named something else, depending on your module (driver) and chipset: wlan0, eth1, etc.)<br />
* If the essid has been forgotten or is unknown, use <code>/sbin/iwlist <interface> scan</code> to scan for nearby networks.<br />
# iwlist wlan0 scan<br />
* Specify the id of the chosen wireless network with iwconfig <interface> essid &quot;<youressid>&quot; key <your_wep_key> (give the essid (the 'network name') of the network in quotes). <br />
* An example using WEP and a hexadecimal key:<br />
# iwconfig wlan0 essid &quot;linksys&quot; key 0241baf34c<br />
* An example using WEP and an ASCII passphrase:<br />
# iwconfig wlan0 essid "linksys" key s:pass1<br />
* An example using an unsecured network:<br />
# iwconfig wlan0 essid "linksys"<br />
* Request an IP address with <code>/sbin/dhcpcd <interface> </code>. e.g.:<br />
# dhcpcd wlan0<br />
* Ensure you can route using <code>/bin/ping</code>:<br />
# ping -c 3 www.google.com<br />
Done.<br />
* For connecting to a network using WPA, consult the [[WPA Supplicant]] article, and continue below.<br />
<br />
======Does the Wireless Chipset require Firmware?======<br />
A small percentage of wireless chipsets also require firmware, in addition to a corresponding driver. If unsure, invoke <code>/usr/bin/dmesg</code> to query the kernel log for a firmware request from the wireless chipset:<br />
# dmesg | grep firmware<br />
Example output from an Intel chipset which requires and has requested firmware from the kernel at boot:<br />
firmware: requesting iwlwifi-5000-1.ucode<br />
If there is no output, it may be concluded that the system's wireless chipset does not require firmware.<br />
<br />
{{Note | '''Wireless chipset firmware packages (for cards which require them) are pre-installed under /lib/firmware in the live environment, (on CD/USB stick) ''but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it!'' Package selection and installation is covered below. Ensure installation of both your wireless module and firmware during the package selection step! See [[Wireless Setup]] if you are unsure about the requirement of corresponding firmware installation for your particular chipset. This is a very common error.'''}}<br />
<br />
After the initial Arch installation is complete, you may wish to refer to [[Wireless Setup]] to ensure a permanent configuration solution for your installed system.<br />
<br />
Return to vc/1 with <ALT>+F1. Continue with [[#B: Set Clock|B: Set Clock]]<br />
<br />
===B: Set Clock===<br />
* UTC - Choose UTC if running only <tt>UNIX</tt>-like operating system(s).<br />
<br />
* localtime - Choose local if multi-booting with a Microsoft Windows OS.<br />
<br />
===C: Prepare Hard Drive===<br />
<br />
{{Warning|Partitioning hard drives can destroy data. You are strongly cautioned and advised to backup your critical data if applicable.}}<br />
<br />
{{Note|Partitioning may be performed before initiating the Arch installation if desired, by utilizing [http://gparted.sourceforge.net/download.php GParted] or other available tools. If the installation drive has already been partitioned to the required specifications, continue with [[#Set Filesystem Mountpoints| Set Filesystem Mountpoints]]}}<br />
<br />
Verify current disk identities and layout by invoking <code>/sbin/fdisk</code> with the <code>-l</code> (lower-case L) switch.<br />
<br />
Open another virtual console (<ALT>+F3) and enter:<br />
# fdisk -l<br />
Take note of the disk(s)/partition(s) to utilize for the Arch installation.<br />
<br />
Switch back to the installation script with <ALT>+F1<br />
<br />
Select the first menu entry &quot;Prepare Hard Drive&quot;.<br />
* Option 1: Auto Prepare<br />
Auto-Prepare divides the disk into the following configuration:<br />
<br />
* ext2 /boot partition, default size 32MB. ''You will be prompted to modify the size to your requirement.''<br />
* swap partition, default size 256MB. ''You will be prompted to modify the size to your requirement.''<br />
* A Separate / and /home partition, (sizes can also be specified). Available filesystems include ext2, ext3, ext4, reiserfs, xfs and jfs, but note that ''both / and /home shall share the same fs type'' if choosing the Auto Prepare option.<br />
<br />
Be warned that Auto-prepare will completely erase the chosen hard drive. Read the <font color=&quot;red&quot;>warning</font> presented by the installer very carefully, and make sure the correct device is about to be partitioned.<br />
<br />
* Option 2: '''(Recommended)''' Partition Hard Drives (with cfdisk)<br />
<br />
This option will allow for the most robust and customized partitioning solution for your personal needs.<br />
<br />
''At this point, more advanced GNU/Linux users who are familiar and comfortable with manually partitioning may wish to skip down to '''[[#D: Select Packages|D: Select Packages]]''' below.''<br />
<br />
{{Note|If you are installing to a USB flash key, see "[[Installing Arch Linux on a USB key]]".}}<br />
<br />
====Partition Hard Drives====<br />
<br />
=====Partition Info=====<br />
<br />
Partitioning a hard disk drive defines specific areas (the partitions) within the disk, that will each appear and behave as a separate disk and upon which a filesystem may be created (formatted).<br />
*There are 3 types of disk partitions:<br />
#Primary<br />
#Extended<br />
#Logical<br />
'''Primary''' partitions can be bootable, and are limited to 4 partitions per disk or raid volume. If a partitioning scheme requires more than 4 partitions, an '''extended''' partition which will contain '''logical''' partitions will be required.<br />
<br />
Extended partitions are not usable by themselves; they are merely a &quot;container&quot; for logical partitions. If required, a hard disk shall contain only one extended partition; which shall then be sub-divided into logical partitions.<br />
<br />
When partitioning a disk, one can observe this numbering scheme by creating primary partitions sda1 through sda3 followed by creating an extended partition, sda4, and subsequently creating logical partition(s) within the extended partition; sda5, sda6, and so on.<br />
<br />
=====Swap Partition=====<br />
A swap partition is a place on the drive where virtual ram resides, allowing the kernel to easily use disk storage for data that does not fit into physical RAM.<br />
<br />
Historically, the general rule for swap partition size was 2x the amount of physical RAM. Over time, as computers have gained ever larger memory capacities, this rule has become increasingly deprecated. Generally, on machines with up to 512MB RAM, the 2x rule is usually quite sufficient. On machines with 1GB RAM, generally a 1x rule is adequate. If the installation machine provides gratuitous amounts of RAM (more than 1024 MB) it may be possible to completely forget a swap partition altogether, though this is not recommended (see note below). A 1 GB swap partition will be used in this example.<br />
{{Note|If using suspend-to-disk, (hibernate) a swap partition at least '''equal''' in size to the amount of physical RAM is required. Some Arch users even recommend oversizing it beyond the amount of physical RAM by 10-15%, to allow for possible bad sectors.}}<br />
<br />
=====Partition Scheme=====<br />
A disk partitioning scheme is a very personalized preference. Each user's choices will be unique to their own computing habits and requirements. If you would like to dual boot Arch Linux and a Windows operating systems please see [[Windows and Arch Dual Boot]].<br />
<br />
Filesystem candidates for separate partitions include:<br />
<br />
'''/''' (root) ''The root filesystem is the primary filesystem from which all other filesystems stem; the top of the hierarchy. All files and directories appear under the root directory &quot;/&quot;, even if they are stored on different physical devices. The contents of the root filesystem must be adequate to boot, restore, recover, and/or repair the system. Therefore, certain directories under / are not themselves candidates for separate partitions. (See warning below).''<br />
<br />
'''/boot''' ''This directory contains the kernel and ramdisk images as well as the bootloader configuration file, and bootloader stages. /boot also stores data that is used before the kernel begins executing userspace programs. This may include saved master boot sectors and sector map files. /boot is essential for booting, but is unique in that it may still be kept on its own separate partition (if required).''<br />
<br />
'''/home''' ''User data and user specific configuration files for applications are stored in each user's home directory in a file that starts with the '.' character (a &quot;dot file&quot;).''<br />
<br />
'''/usr''' ''While root is the primary filesystem, /usr is the secondary hierarchy, for user data, containing the majority of (multi-)user utilities and applications. /usr is shareable, read-only data. This means that /usr shall be shareable between various hosts and must not be written to, except in the case of system update/upgrade. Any information that is host-specific or varies with time is stored elsewhere.''<br />
<br />
'''/tmp''' ''directory for programs that require temporary files''<br />
<br />
'''/var''' ''contains variable data; spool directories and files, administrative and logging data, pacman's cache, the ABS tree, etc.''<br />
{{Warning | Besides /boot, directories essential for booting are: ''''''/bin', '/dev', '/etc', '/lib', '/proc' and '/sbin'. Therefore, they must not reside on a separate partition from /.'''''}}<br />
'''''There are several advantages for using discrete filesystems, rather than combining all into one partition''''':<br />
<br />
* Security: Each filesystem may be configured in /etc/fstab as 'nosuid', 'nodev', 'noexec', 'readonly', etc.<br />
* Stability: A user, or malfunctioning program can completely fill a filesystem with garbage if they have write permissions for it. Critical programs, which reside on a different filesystem remain unaffected.<br />
* Speed: A filesystem which gets written to frequently may become somewhat fragmented. (An effective method of avoiding fragmentation is to ensure that each filesystem is never in danger of filling up completely.) Separate filesystems remain unaffected, and each can be defragmented separately as well.<br />
* Integrity: If one filesystem becomes corrupted, separate filesystems remain unaffected.<br />
* Versatility: Sharing data across several systems becomes more expedient when independent filesystems are used. Separate filesystem types may also be chosen based upon the nature of data and usage.<br />
In this example, we shall use separate partitions for /, /var, /home, and a swap partition.<br />
<br />
{{Note | /var contains many small files. This should be taken into consideration when choosing a filesystem type for it, (if creating its own separate partition).}}<br />
<br />
=====How big should my partitions be?=====<br />
This question is best answered based upon individual needs.<br />
You may wish to simply create '''one partition for root and one partition for swap or only one root partition without swap''' or refer to the following examples and consider these guidelines to provide a frame of reference:<br />
* The root filesystem (/) in the example will contain the /usr directory, which can become moderately large, depending upon how much software is installed. 15-20 GB should be sufficient for most users.<br />
<br />
* The /var filesystem will contain, among other data, the [[ABS]] tree and the pacman cache. Keeping cached packages is useful and versatile; it provides the ability to downgrade packages if needed. /var tends to grow in size; the pacman cache can grow large over long periods of time, but can be safely cleared if needed. If you are using an SSD, you may wish to locate your /var on an HDD and keep the / and /home partitions on your SSD to avoid needless read/writes to the SSD. 6-8 Gigs on a desktop system should be sufficient for /var. Servers tend to have extremely large /var filesystems.<br />
<br />
* The /home filesystem is typically where user data, downloads, and multimedia reside. On a desktop system, /home is typically the largest filesystem on the drive by a large margin. Remember that if you chose to reinstall Arch, all the data on your /home partition will be untouched (so long as you have a separate /home partition). <br />
<br />
* An extra 25% of space added to each filesystem will provide a cushion for unforeseen occurrence, expansion, and serve as a preventive against fragmentation.<br />
'''''From the guidelines above, the example system shall contain a ~15GB root (/) partition, ~7GB /var, 1GB swap, and a /home containing the remaining disk space.'''''<br />
<br />
=====Create Partition:cfdisk=====<br />
Start by creating the primary partition that will contain the '''root''', (/) filesystem.<br />
<br />
Choose '''N'''ew -> Primary and enter the desired size for root (/). Put the partition at the beginning of the disk.<br />
<br />
Also choose the '''T'''ype by designating it as '83 Linux'. The created / partition shall appear as sda1 in our example.<br />
<br />
Now create a primary partition for /var, designating it as '''T'''ype 83 Linux. The created /var partition shall appear as sda2<br />
<br />
Next, create a partition for swap. Select an appropriate size and specify the '''T'''ype as 82 (Linux swap / Solaris). The created swap partition shall appear as sda3.<br />
<br />
Lastly, create a partition for your /home directory. Choose another primary partition and set the desired size.<br />
<br />
Likewise, select the '''T'''ype as 83 Linux. The created /home partition shall appear as sda4.<br />
<br />
Example:<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 6256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
Choose '''W'''rite and type ''''yes''''. Beware that this operation may destroy data on your disk. Choose '''Q'''uit to leave the partitioner.<br />
Choose Done to leave this menu and continue with &quot;Set Filesystem Mountpoints&quot;.<br />
<br />
{{Note | Since the latest developments of the Linux kernel which include the libata and PATA modules, all IDE, SATA and SCSI drives have adopted the sd''x'' naming scheme. This is perfectly normal and should not be a concern.}}<br />
<br />
====Set Filesystem Mountpoints====<br />
First you will be asked for your swap partition. Choose the appropriate partition (sda3 in this example). You will be asked if you want to create a swap filesystem; select yes. Next, choose where to mount the / (root) directory (sda1 in the example). At this time, you will be asked to specify the filesystem type.<br />
<br />
=====Filesystem Types=====<br />
Again, a filesystem type is a very subjective matter which comes down to personal preference. Each has its own advantages, disadvantages, and unique idiosyncrasies. Here is a very brief overview of supported filesystems:<br />
<br />
1. '''ext2''' ''Second Extended Filesystem''- Old, reliable GNU/Linux filesystem. Very stable, but ''without journaling support''. May be inconvenient for root (/) and /home, due to very long fsck's. ''An ext2 filesystem can easily be converted to ext3.'' Generally regarded as a good choice for /boot/.<br />
<br />
2. '''ext3''' ''Third Extended Filesystem''- Essentially the ext2 system, but with journaling support. ext3 is completely compatible with ext2. ''Extremely'' stable, mature, and by far the most widely used, supported and developed GNU/Linux FS.<br />
<br />
'''High Performance Filesystems:'''<br />
<br />
3. '''ext4''' ''Fourth Extended Filesystem''- Backward compatible with ext2 and ext3, Introduces support for volumes with sizes up to 1 exabyte and files with sizes up to 16 terabyte. Increases the 32,000 subdirectory limit in ext3 to 64,000. Offers online defragmentation ability. <br />
{{Note | ext4 is a new filesystem and may have some bugs.}}<br />
<br />
4. '''ReiserFS''' (V3)- Hans Reiser's high-performance journaling FS uses a very interesting method of data throughput based on an unconventional and creative algorithm. ReiserFS is touted as very fast, especially when dealing with many small files. ReiserFS is fast at formatting, yet comparatively slow at mounting. Quite mature and stable. ReiserFS is not actively developed at this time (Reiser4 is the new Reiser filesystem). Generally regarded as a good choice for /var/.<br />
<br />
5. '''JFS''' - IBM's '''J'''ournaled '''F'''ile'''S'''ystem- The first filesystem to offer journaling. JFS had many years of use in the IBM AIX® OS before being ported to Linux. JFS currently uses the least CPU resources of any GNU/Linux filesystem. Very fast at formatting, mounting and fsck's, and very good all-around performance, especially in conjunction with the deadline I/O scheduler. (See [[JFS]].) Not as widely supported as ext or ReiserFS, but very mature and stable.<br />
<br />
6. '''XFS''' - Another early journaling filesystem originally developed by Silicon Graphics for the IRIX OS and ported to Linux. XFS offers very fast throughput on large files and large filesystems. Very fast at formatting and mounting. Generally benchmarked as slower with many small files, in comparison to other filesystems. XFS is very mature and offers online defragmentation ability.<br />
* JFS and XFS filesystems cannot be ''shrunk'' by disk utilities (such as gparted or parted magic)<br />
<br />
===== A note on Journaling=====<br />
All above filesystems, except ext2, utilize [http://en.wikipedia.org/wiki/Journaling_file_system journaling]. Journaling file systems are fault-resilient file systems that use a journal to log changes before they are committed to the file system to avoid metadata corruption in the event of a crash. Note that not all journaling techniques are alike; specifically, only ext3 and ext4 offer ''data-mode journaling'', (though, not by default), which journals ''both'' data ''and'' meta-data (but with a significant speed penalty). The others only offer ''ordered-mode journaling'', which journals meta-data only. While all will return your filesystem to a valid state after recovering from a crash, ''data-mode journaling'' offers the greatest protection against file system corruption and data loss but can suffer from performance degradation, as all data is written twice (first to the journal, then to the disk). Depending upon how important your data is, this may be a consideration in choosing your filesystem type.<br />
<br />
'''''Moving on...'''''<br />
<br />
Choose and create the filesystem (format the partition) for / by selecting '''yes'''. You will now be prompted to add any additional partitions. In our example, sda2 and sda4 remain. For sda2, choose a filesystem type and mount it as /var. Finally, choose the filesystem type for sda4, and mount it as /home. <br />
{{Box Note |If you have not created and do not need a separate /boot partition, you may safely ignore the warning that it does not exist.}} Return to the main menu.<br />
<br />
===D: Select Packages===<br />
<br />
*Core ISO: Choose CD as source and select the appropriate CD drive if more than one exist on the installation machine.<br />
*Netinstall: Select an FTP/HTTP mirror. ''Note that archlinux.org is throttled to 50KB/s''.<br />
<br />
Package selection is split into two stages. First, select the package category:<br />
{{Note | For expedience, all packages in '''base''' are selected by default. Use the space-bar to select and de-select packages.}}<br />
* '''Base''': The minimal base environment. ''Always select it and only remove packages that will not be used.''<br />
* '''Base-devel''': Extra tools such as '''make''', '''automake''' and '''wireless-tools''' as well as wireless firmwares. ''Most beginners should choose to install it, and will probably need it later.<br />
''<br />
After category selection, you will be presented with the full lists of packages, allowing you to fine-tune your selections. Use the space bar to select and unselect.<br />
<br />
{{Note | If you are going to require connection to a wireless network with WPA encryption, consider installing netcfg2 (as well as wireless_tools), which will enable you to do so.}}<br />
<br />
Adter selecting the needed packages, leave the selection<br />
screen and continue to the next step, Install Packages.<br />
<br />
===E: Install Packages===<br />
Next, choose 'Install Packages'. You will be asked if you wish to keep the packages in the pacman cache. If you choose 'yes', you will have the flexibility to [[Downgrade packages|downgrade]] to previous package versions in the future, so this is recommended (you can always clear the cache in the future). The installer script will now install the selected packages, as well as the default Arch 2.6 kernel, to your system.<br />
*Netinstall: The [[Pacman]] package manager will now download and install your selected packages. (See vc/5 for output, vc/1 to return to the installer)<br />
*Core image: The packages will be installed from the CD/USB stick.<br />
<br />
===F: Configure the System===<br />
''Closely following and understanding these steps is of key importance to ensure a properly configured system.''<br />
<br />
*At this stage of the installation, you will configure the primary configuration files of your Arch Linux base system.<br />
<br />
*Previous versions of the installer included [[Hwdetect|hwdetect]] to gather information for your configuration. This has been deprecated, and '''[[Udev|udev]]''' should handle most module loading automatically at boot.<br />
<br />
Now you will be asked which text editor you want to use; choose [[Nano|nano]], [http://joe-editor.sourceforge.net/ joe] or [[Vim|vi]], ('''nano''' is generally considered easiest of the 3). You will be presented with a menu including the main configuration files for your system. <br />
<br />
{{Note | ''It is very important at this point to edit, or at least verify by opening, every configuration file.'' The installer script relies on your input to create these files on your installation. A common error is to skip over these critical steps of configuration.}}<br />
<br />
=====Can the installer handle this more automatically?=====<br />
Hiding the process of system configuration is in direct opposition to '''''[[The Arch Way]]'''''. While it is true that recent versions of the kernel and hardware probing tools offer excellent hardware support and auto-configuration, Arch presents the user all pertinent configuration files during installation for the purposes of ''transparency and system resource control''. By the time you have finished modifying these files to your specifications, you will have learned the simple method of manual Arch Linux system configuration and become more familiar with the base structure, leaving you better prepared to use and maintain your new installation productively.<br />
<br />
'''''Moving on...'''''<br />
<br />
====/etc/rc.conf====<br />
Arch Linux uses the file '''/etc/rc.conf''' as the principal location for system configuration. This one file contains a wide range of configuration information, principally used at system startup. As its name directly implies, it also contains settings for and invokes the /etc/rc* files, and is, of course, sourced ''by'' these files.<br />
<br />
=====LOCALIZATION section=====<br />
* '''LOCALE'''=: This sets your system locale, which will be used by all i18n-aware applications and utilities. You can get a list of the available locales by running {{Codeline|locale -a}} from the command line. This setting's default is fine for US English users.<br />
* '''HARDWARECLOCK'''=: Specifies whether the hardware clock, which is synchronized on boot and on shutdown, stores '''UTC''' time, or '''localtime'''. UTC makes sense because it greatly simplifies changing timezones and daylight savings time. localtime is necessary if you dual boot with an operating system such as Windows, that only stores localtime to the hardware clock.<br />
* '''USEDIRECTISA'''=: Use direct I/O request instead of {{Filename|/dev/rtc}} for hwclock<br />
* '''TIMEZONE'''=: Specify your TIMEZONE. (All available zones are under {{Filename|/usr/share/zoneinfo/}}).<br />
* '''KEYMAP'''=: The available keymaps are in {{Filename|/usr/share/kbd/keymaps}}. Please note that this setting is only valid for your TTYs, not any graphical window managers or '''X'''.<br />
* '''CONSOLEFONT'''=: Available console fonts reside under {{Filename|/usr/share/kbd/consolefonts/}} if you must change. The default (blank) is safe.<br />
* '''CONSOLEMAP'''=: Defines the console map to load with the setfont program at boot. Possible maps are found in {{Filename|/usr/share/kbd/consoletrans}}, if needed. The default (blank) is safe.<br />
* '''USECOLOR'''=: Select &quot;yes&quot; if you have a color monitor and wish to have colors in your consoles.<br />
LOCALE=&quot;en_US.utf8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;US/Eastern&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
<br />
=====HARDWARE Section=====<br />
* '''MOD_AUTOLOAD'''=: Setting this to &quot;yes&quot; will use '''udev''' to automatically probe hardware and load the appropriate modules during boot, (convenient with the default modular kernel). Setting this to &quot;no&quot; will rely on the user's ability to specify this information manually, or compile their own custom kernel and modules, etc.<br />
* '''MOD_BLACKLIST'''=: This has become deprecated in favor of adding blacklisted modules directly to the '''MODULES=''' line below.<br />
* '''MODULES'''=: Specify additional MODULES if you know that an important module is missing. If your system has any floppy drives, add "floppy". If you will be using loopback filesystems, add "loop". Also specify any blacklisted modules by prefixing them with a bang (!). Udev will be forced NOT to load blacklisted modules. In the example, the IPv6 module as well as the annoying pcspeaker are blacklisted.<br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !snd_pcsp !pcspkr loop)<br />
<br />
=====NETWORKING Section=====<br />
* '''HOSTNAME'''=:Set your HOSTNAME to your liking.<br />
* '''eth0'''=: 'Ethernet, card 0'. Adjust the interface IP address, netmask and broadcast address ''if'' you are using '''static IP'''. Set eth0=&quot;dhcp&quot; if you want to use '''DHCP'''<br />
* '''INTERFACES'''=: Specify all interfaces here. <br />
* '''gateway'''=: If you are using '''static IP''', set the gateway address. If using '''DHCP''', you can usually ignore this variable, though some users have reported the need to define it.<br />
* '''ROUTES'''=: If you are using static '''IP''', remove the '''!''' in front of 'gateway'. If using '''DHCP''', you can usually leave this variable commented out with the bang (!), but again, some users require the gateway and ROUTES defined. If you experience networking issues with pacman, for instance, you may want to return to these variables.<br />
<br />
====== Example, using a dynamically assigned IP address ('''DHCP''') ======<br />
<br />
HOSTNAME=&quot;arch&quot;<br />
#eth0=&quot;eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255&quot;<br />
eth0=&quot;dhcp&quot;<br />
INTERFACES=(eth0)<br />
gateway=&quot;default gw 192.168.0.1&quot;<br />
ROUTES=(!gateway)<br />
<br />
======Example, using a '''static''' IP address======<br />
<br />
HOSTNAME=&quot;arch&quot;<br />
eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(eth0)<br />
gateway="default gw 192.168.0.1"<br />
ROUTES=(gateway)<br />
<br />
Modify {{Filename|/etc/resolv.conf}} to contain the DNS servers of choice. Example:<br />
<br />
search my.isp.net.<br />
nameserver 4.2.2.1<br />
nameserver 4.2.2.2<br />
nameserver 4.2.2.3<br />
<br />
Various processes can overwrite the contents of {{filename|/etc/resolv.conf}}. For example, by default Arch Linux uses the '''dhcpcd''' DHCP client, which will overwrite the file when it starts. [[Resolv.conf|Various methods]] may be used to preserve the nameserver settings in {{filename|/etc/resolv.conf}}. For example, dhcpcd's configurations file may be edited to prevent the dhcpcd daemon from overwriting the file. To do this, you will need to modify the {{Filename|/etc/conf.d/dhcpcd}} configuration:<br />
<br />
# Arguments to be passed to the DHCP client daemon<br />
# DHCPCD_ARGS="-q"<br />
DHCPCD_ARGS="-C resolv.conf -q"<br />
<br />
{{tip|If using a non-standard MTU size (a.k.a. jumbo frames) is desired AND the installation machine hardware supports them, see the [[Jumbo Frames]] wiki article for further configuration.}}<br />
<br />
=====DAEMONS Section=====<br />
This array simply lists the names of those scripts contained in /etc/rc.d/ which are to be started during the boot process, and the order in which they start. Asynchronous initialization by backgrounding is also supported and useful for speeding up boot. <br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
*If a script name is prefixed with a bang (!), it is not executed.<br />
*If a script is prefixed with an &quot;at&quot; symbol (@), it shall be executed in the background; the startup sequence will not wait for successful completion of each daemon before continuing to the next. (Useful for speeding up system boot). Do not background daemons that are needed by other daemons. For example "mpd" depends on "network", therefore backgrounding network may cause mpd to break.<br />
*Edit this array whenever new system services are installed, if starting them automatically during boot is desired.<br />
<br />
{{Note | This 'BSD-style' init, is the Arch way of handling what other distributions handle with various symlinks to an /etc/init.d directory.}}<br />
<br />
======About DAEMONS======<br />
The [[daemons]] line need not be changed at this time, but it is useful to explain what daemons are, as they will be addressed later in this guide.<br />
A ''daemon'' is a program that runs in the background, waiting for events to occur and offering services. A good example is a webserver that waits for a request to deliver a page (e.g.:httpd) or an SSH server waiting for a user login (e.g.:sshd). While these are full-featured applications, there are also daemons whose work is not that visible. Examples are a daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers the CPU frequency if the system has nothing to do (e.g.:cpufreq), and a daemon which provides a graphical login (e.g.: gdm, kdm). All these programs can be added to the daemons line and will be started when the system boots. Useful daemons will be presented during this guide.<br />
<br />
Historically, the term ''daemon'' was coined by the programmers of MIT's Project MAC. They took the name from ''Maxwell's demon'', an imaginary being from a famous thought experiment that constantly works in the background, sorting molecules. <tt>UNIX</tt> systems inherited this terminology and created the backronym '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor.<br />
<br />
{{Tip|All Arch daemons reside under /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
The '''fstab''' (for '''f'''ile '''s'''ystems '''tab'''le) is part of the system configuration listing all available disks and disk partitions, and indicating how they are to be initialized or otherwise integrated into the overall system's filesystem. The '''/etc/fstab''' file is most commonly used by the '''mount''' command. The mount command takes a filesystem on a device, and adds it to the main system hierarchy that you see when you use your system. '''mount -a''' is called from /etc/rc.sysinit, about 3/4 of the way through the boot process, and reads /etc/fstab to determine which options should be used when mounting the specified devices therein. If '''noauto''' is appended to a filesystem in /etc/fstab, '''mount -a''' will not mount it at boot.<br />
<br />
=====An example /etc/fstab=====<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
#/dev/cdrom /media/cdrom auto ro,user,noauto,unhide 0 0<br />
#/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0<br />
#/dev/fd0 /media/fl auto user,noauto 0 0<br />
/dev/sda1 / jfs defaults,noatime 0 1<br />
/dev/sda2 /var reiserfs defaults,noatime,notail 0 2<br />
/dev/sda3 swap swap defaults 0 0<br />
/dev/sda4 /home jfs defaults,noatime 0 2<br />
{{Note | The 'noatime' option disables writing read access times to the metadata of files and may safely be appended to / and /home regardless of your specified filesystem type for increased speed, performance, and power efficiency (see [http://kerneltrap.org/node/14148 here] for more). 'notail' disables the ReiserFS tailpacking feature, for added performance at the cost of slightly less efficient disk usage.}}<br />
<br />
* '''<file system>''': describes the block device or remote filesystem to be mounted. For regular mounts, this field will contain a link to a block device node (as created by mknod which is called by udev at boot) for the device to be mounted; for instance, '/dev/cdrom' or '/dev/sda1'. <br />
{{Note | Rather than the sd''x'' naming scheme, you may choose to use UUID, or other persistent block device naming schemes for consistent device mapping. Due to active developments in the kernel and also udev, the ordering in which drivers for storage controllers are loaded may change randomly, yielding an unbootable system/kernel panic. Nearly every motherboard has several controllers (onboard SATA, onboard IDE), and due to the aforementioned development updates, /dev/sda may become /dev/sdb on the next reboot. (See [[Persistent block device naming| this wiki article]] for more information on persistent block device naming. )}}<br />
<br />
* '''<dir>''': describes the mount point for the filesystem. For swap partitions, this field should be specified as 'swap'; (Swap partitions are not actually mounted.)<br />
<br />
* '''<type>''': describes the type of the filesystem. The Linux kernel supports many filesystem types. (For the filesystems currently supported by the running kernel, see /proc/filesystems). An entry 'swap' denotes a file or partition to be used for swapping. An entry 'ignore' causes the line to be ignored. This is useful to show disk partitions which are currently unused.<br />
<br />
* '''<options>''': describes the mount options associated with the filesystem. It is formatted as a comma separated list of options with no intervening spaces. It contains at least the type of mount plus any additional options appropriate to the filesystem type. For documentation on the available options for non-nfs file systems, see mount(8).<br />
<br />
* '''<dump>''': used by the dump(8) command to determine which filesystems are to be dumped. dump is a backup utility. If the fifth field is not present, a value of zero is returned and dump will assume that the filesystem does not need to be backed up. ''Note that dump is not installed by default.''<br />
<br />
* '''<pass>''': used by the fsck(8) program to determine the order in which filesystem checks are done at boot time. The root filesystem should be specified with a <pass> of 1, and other filesystems should have a <pass> of 2 or 0. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware. If the sixth field is not present or zero, a value of zero is returned and fsck will assume that the filesystem does not need to be checked.<br />
<br />
*If you plan on using '''hal''' to automount media such as DVDs, you may wish to comment out the cdrom and dvd entries in preparation for '''hal''', which will be installed later in this guide.<br />
<br />
Expanded information available in the [[Fstab]] wiki entry.<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
''Most users will not need to modify this file at this time, but please read the following explanatory information.''<br />
<br />
This file allows further fine-tuning of the initial ram filesystem, or initramfs, (also historically referred to as the initial ramdisk or &quot;initrd&quot;) for your system. The initramfs is a gzipped image that is read by the kernel during boot. The purpose of the initramfs is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required for devices like IDE, SCSI, or SATA drives (or USB/FW, if you are booting from a USB/FW drive). Once the initrramfs loads the proper modules, either manually or through udev, it passes control to the kernel and your boot continues. For this reason, the initramfs only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of common kernel modules will be loaded later on by udev, during the init process.<br />
<br />
'''mkinitcpio''' is the next generation of '''initramfs creation'''. It has many advantages over the old '''mkinitrd''' and '''mkinitramfs''' scripts.<br />
<br />
* It uses '''klibc''' and '''kinit''' which are developed by Linux kernel devs to provide a small and lightweight base for early userspace.<br />
* It can use '''udev''' for hardware autodetection at runtime, thus prevents you from having tons of unnecessary modules loaded.<br />
* Its hook-based init script is easily extendable with custom hooks, which can easily be included in pacman packages without having to modifiy mkinitcpio itself.<br />
* It already supports '''lvm2''', '''dm-crypt''' for both legacy and luks volumes, '''raid''', '''swsusp''' and '''suspend2''' resuming and booting from '''usb mass storage''' devices.<br />
* Many features can be configured from the kernel command line without having to rebuild the image.<br />
* The '''mkinitcpio''' script makes it possible to include the image in a kernel, thus making a self-contained kernel image is possible.<br />
* Its flexibility makes recompiling a kernel unnecessary in many cases.<br />
<br />
If using RAID or LVM on the root filesystem, the appropriate HOOKS must be configured. See the wiki pages for [[Installing with Software RAID or LVM| RAID]] and [[Configuring mkinitcpio | /etc/mkinitcpio]] for more info. If using a non-US keyboard. add the "<code>keymap</code>" hook to load your local keymap during boot. Add the "<code>usbinput</code>" hook if using a USB keyboard, e.g.:<br />
HOOKS="base udev autodetect pata scsi sata filesystems keymap usbinput"<br />
(Otherwise, if boot fails for some reason you will be asked to enter root's password for system maintenance but will be unable to do so.)<br />
<br />
If you need support for booting from USB devices, FireWire devices, PCMCIA devices, NFS shares, software RAID arrays, LVM2 volumes, encrypted volumes, or DSDT support, configure your HOOKS accordingly. <br />
<br />
If doing a CF or SD card install, you may need to add the <code>usbinput</code> HOOK for your system to boot properly. <br />
<br />
''If you are using a US keyboard, and have no need for any of the above HOOKS, editing this configuration should be unnecessary at this point.''<br />
<br />
'''mkinitcpio''' is an Arch innovation developed by Aaron Griffin and Tobias Powalowski with some help from the community.<br />
<br />
==== /etc/modprobe.d/modprobe.conf====<br />
<br />
This file can be used to set special configuration options for the kernel modules. It is unnecessary to configure this file at this time.<br />
<br />
====/etc/resolv.conf (for Static IP)====<br />
The ''resolver'' is a set of routines in the C library that provide access to the Internet Domain Name System (DNS). One of the main functions of DNS is to translate domain names into IP addresses, to make the Web a friendlier place. The resolver configuration file, or /etc/resolv.conf, contains information that is read by the resolver routines the first time they are invoked by a process.<br />
<br />
*''If you are using DHCP, you may safely ignore this file, as by default, it will be dynamically created and destroyed by the dhcpcd daemon. You may change this default behavior if you wish. (See [http://wiki.archlinux.org/index.php/Network#For_DHCP_IP Network]]).''<br />
<br />
If you use a static IP, set your DNS servers in /etc/resolv.conf (nameserver <ip-address>). You may have as many as you wish.<br />
An example, using OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
If you are using a router, you will probably want to specify your DNS servers in the router itself, and merely point to it from your '''/etc/resolv.conf''', using your router's IP (which is also your gateway from '''/etc/rc.conf'''), e.g.:<br />
nameserver 192.168.1.1<br />
<br />
If using '''DHCP''', you may also specify your DNS servers in the router, or allow automatic assignment from your ISP, if your ISP is so equipped.<br />
<br />
====/etc/hosts====<br />
This file associates IP addresses with hostnames and aliases, one line per IP address. For each host a single line should be present with the following information:<br />
<IP-address> <hostname> [aliases...]<br />
Add your ''hostname'', coinciding with the one specified in /etc/rc.conf, as an alias, so that it looks like this:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
{{Note |''This format, '''including the 'localhost' and your actual host name''', is required for program compatibility! So, if you have named your computer Archhost, then that line above should look like this:<br />
127.0.0.1 localhost.localdomain localhost Archhost<br />
Errors in this entry may cause poor network performance and/or certain programs to open very slowly, or not work at all. This is a very common error for beginners.''}}<br />
<br />
If you use a static IP, add another line using the syntax: <static-IP> <hostname.domainname.org> <hostname> e.g.:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|For convenience, you may also use /etc/hosts aliases for hosts on your network, and/or on the Web, e.g.:<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
The above example would allow you to access google simply by typing 'g' into your browser, and access to a media and data server on your network by name and without the need for typing out their respective IP addresses.}}<br />
<br />
====/etc/hosts.deny and /etc/hosts.allow====<br />
Modify these configurations according to your needs if you plan on using the [[SSH|ssh]] daemon. The default configuration will reject all incoming connections, not only ssh connections. Edit your '''/etc/hosts.allow '''file and add the appropriate parameters: <br />
<br />
* let everyone connect to you<br />
sshd: ALL<br />
<br />
* restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
* restrict it to your local LAN network (range 192.168.0.0 to 192.168.0.255)<br />
sshd: 192.168.0.<br />
<br />
* OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
If you do not plan on using the [[SSH|ssh]] daemon, leave this file at the default, (empty), for added security.<br />
<br />
====/etc/locale.gen====<br />
The '''/usr/sbin/locale-gen''' command reads from '''/etc/locale.gen''' to generate specific locales. They can then be used by '''glibc''' and any other locale-aware program or library for rendering text, correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards. The ability to setup a default locale is a great built-in privilege of using a <tt>UNIX</tt>-like operating system.<br />
<br />
By default /etc/locale.gen is an empty file with commented documentation. Once edited, the file remains untouched. '''locale-gen''' runs on every '''glibc''' upgrade, generating all the locales specified in /etc/locale.gen.<br />
<br />
Choose the locale(s) you need (remove the # in front of the lines you want), e.g.:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
The installer will now run the locale-gen script, which will generate the locales you specified. You may change your locale in the future by editing /etc/locale.gen and subsequently running 'locale-gen' as root.<br />
<br />
{{Note |'''''If you fail to choose your locale, this will lead to a &quot;The current locale is invalid...&quot; error. This is perhaps the most common mistake by new Arch users, and also leads to the most commonly asked questions on the forum.'''''}}<br />
<br />
====Pacman-Mirror====<br />
Choose a mirror repository for '''pacman'''. <br />
*''archlinux.org is throttled, limiting downloads to 50KB/s''<br />
<br />
====Root password====<br />
Finally, set a root password and make sure that you remember it later. Return to the main menu and continue with installing bootloader.<br />
<br />
===G: Install Bootloader===<br />
Because we have no secondary operating system in our example, we will need a bootloader. [http://www.gnu.org/software/grub/ GNU GRUB] is the recommended bootloader. Alternatively, you may choose [http://lilo.go.dyndns.org/ LILO].<br />
<br />
====GRUB====<br />
The provided '''GRUB''' configuration ('''/boot/grub/menu.lst''') should be sufficient, but verify its contents to ensure accuracy (specifically, ensure that the root (/) partition is specified by UUID on line 3). You may want to alter the resolution of the console by adding a vga=<number> kernel argument corresponding to your desired virtual console resolution. (A table of resolutions and the corresponding numbers is printed in the menu.lst.)<br />
<br />
Example: <br />
title Arch Linux (Main)<br />
root (hd0,0) <br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro vga=773<br />
initrd /boot/kernel26.img<br />
{{Note | ''The linux kernel, 'vmlinuz', is so named because it incorporated '''v'''irtual '''m'''emory capability early in its development. The '''z''' denotes a zipped (compressed) image.''}}<br />
<br />
Explanation:<br />
<br />
Line 1: '''title''': A printed menu selection. &quot;Arch Linux (Main)&quot; will be printed on the screen as a menu selection.<br />
<br />
Line 2: '''root''': '''GRUB''''s root; the drive and partition where the kernel (/boot) resides, according to system BIOS. (More accurately, where GRUB's stage2 file resides). '''NOT necessarily the root''' (/) file system, as they can reside on separate partitions. GRUB's numbering scheme starts at 0, and uses an hd''x,x'' format regardless of IDE or SATA, and enclosed within parentheses. <br />
<br />
The example indicates that /boot is on the first partition of the first drive, according to BIOS, or, (hd0,0).<br />
<br />
Line 3: '''kernel''': This line specifies:<br />
<br />
* The path and filename of the kernel '''''relative to GRUB's root'''''.<br />
In the example, /boot is merely a directory residing on the same partition as / and '''vmlinuz26''' is the kernel filename; '''/boot/vmlinuz26'''. ''If /boot were on a separate partition, the path and filename would be simply '''/vmlinuz26''', being relative to '''GRUB''''s root.'' <br />
<br />
* The root= argument to the kernel statement specifies the partition containing the root (/) directory in the booted system, (more accurately, the partition containing '''/sbin/init'''). <br />
<br />
*An easy way to distinguish the 2 appearances of 'root' in /boot/grub/menu.lst is to remember that the first root statement ''informs GRUB where the kernel resides'', whereas the second root= kernel argument ''tells the kernel where the root filesystem (/) resides''.<br />
<br />
* Kernel options. <br />
<br />
In our example, '''ro''' mounts the filesystem as read only during startup, (usually a safe default; you may wish to change this in case it causes problems booting) and the '''&quot;vga=773&quot;''' argument will give a 1024x768 framebuffer with 256 color depth.<br />
<br />
Line 4: '''initrd''': (For Initial RAM disk) The path and filename of the initial RAM filesystem '''relative to GRUB''''s root. Again, in the example, /boot is merely a directory residing on the same partition as / and '''kernel26.img''' is the initrd filename; '''/boot/kernel26.img'''. ''If /boot were on a separate partition, the path and filename would be simply '''/kernel26.img''', being relative to '''GRUB''''s root.'' <br />
<br />
Install the '''GRUB''' bootloader (to the master boot record, sda in our example).<br />
{{tip|For more details, see the [[GRUB]] wiki page.}}<br />
<br />
===H: Reboot===<br />
That's it; You have configured and installed your Arch Linux base system. Exit the install, and reboot:<br />
# reboot<br />
(Be sure to remove the installer CD)<br />
<br />
==Part II: Configure & Update the New Arch Linux base system==<br />
Your new Arch Linux system will boot up and finish with a login prompt (you may want to change the boot order in your '''BIOS''' back to booting from hard disk).<br />
<br />
'''Congratulations, and welcome to your new Arch Linux base system!'''<br />
<br />
Your new Arch Linux base system is now a functional GNU/Linux environment ready for customization. From here, you may build this elegant set of tools into whatever you wish or require for your purposes. <br />
<br />
Login with the root account. We will configure pacman and update the system as root, then add a normal user. <br />
{{Note |Virtual consoles 1-6 are available. You may switch between them with ALT+F1...F6}}<br />
<br />
===Step 1: Configuring the network (if necessary)===<br />
*''This section will assist you in configuring most types of networks, if your network configuration is not working for you.''<br />
<br />
If you properly configured your system, you should have a working network. Try to ping www.google.com to verify this.<br />
# ping -c 3 www.google.com<br />
<br />
''If you have successfully established a network connection, continue with '''[[#Step 2: Update, Sync and Upgrade the system with pacman|Update, Sync and Upgrade the system with pacman]]'''.''<br />
<br />
If, after trying to ping www.google.com, an &quot;unknown host&quot; error is received, you may conclude that your network is not properly configured. You may choose to double-check the following files for integrity and proper settings:<br />
<br />
'''/etc/rc.conf''' # Specifically, check your HOSTNAME= and NETWORKING section for typos and errors.<br />
<br />
'''/etc/hosts''' # Double-check your format. (See above.)<br />
<br />
'''/etc/resolv.conf''' # If you are using a static IP. If you are using DHCP, this file will be dynamically created and destroyed by default, but can be changed to your preference. (See [[Network]].)<br />
<br />
{{Tip|Advanced instructions for configuring the network can be found in the [[Network]] article.}}<br />
<br />
====Wired LAN====<br />
<br />
Check your Ethernet with<br />
# ifconfig -a<br />
All interfaces will be listed. You should see an entry for eth0, or perhaps eth1. <br />
*'''Static IP'''<br />
<br />
If required, you can set a new static IP with:<br />
# ifconfig eth0 <ip address> netmask <netmask> up <br />
and the default gateway with<br />
# route add default gw <ip address of the gateway><br />
Verify that /etc/resolv.conf contains your DNS server and add it if it is missing. <br />
Check your network again with ping www.google.com. If everything is working now, adjust /etc/rc.conf as described above for static IP. <br />
*'''DHCP'''<br />
If you have a DHCP server/router in your network try:<br />
# dhcpcd eth0<br />
If this is working, adjust /etc/rc.conf as described above, for dynamic IP.<br />
<br />
====Wireless LAN====<br />
* Ensure the driver has created a usable interface:<br />
# iwconfig<br />
* Bring the interface up with <code>ifconfig <interface> up</code>. e.g.:<br />
# ifconfig wlan0 up<br />
* (Optional) Scan for available access points:<br />
# iwlist wlan0 scan | less<br />
* Specify the id of the wireless network with <code>iwconfig <interface> essid <youressid></code>. Or, if using WEP; <code>iwconfig <interface> essid <youressid> key <yourwepkey></code>, e.g.:<br />
# iwconfig wlan0 essid linksys key ABCDEF01234<br />
* Request an IP address with <code>dhcpcd <interface></code>. e.g.:<br />
# dhcpcd wlan0<br />
* Ensure you can route:<br />
$ ping -c 3 www.google.com<br />
Done.<br />
<br />
Detailed setup guide: [[Wireless Setup]]<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and password to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
Tip: Read [[Dialup without a dialer HOWTO]].<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably. In case you're using a so-called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should indulge in the vast information found on the [http://www.linmodems.org/ LinModem] homepage.<br />
<br />
====ISDN====<br />
<br />
Setting up ISDN is done in three steps:<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP <br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you will not need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module, which needs two parameters: type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so-called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, and available online. The type parameter depends on your card; a list of all possible types can be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<br />
# modprobe hisax type=18 protocol=2<br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file, in which you should see your card being prepared for action. Please note that you will probably need to load some USB modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you have confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf:<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
Alternatively, you can add only the options line here, and add hisax to your MODULES array in the rc.conf. It's your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done, you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl; it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples. Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you have configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dial-up connection with<br />
# isdnctrl dial ippp0<br />
as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
<br />
These instructions are relevant to you only if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the pppoe-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<br />
# /etc/rc.d/adsl start<br />
<br />
and<br />
<br />
# /etc/rc.d/adsl stop<br />
<br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically 'dial in' at boot, add adsl to your DAEMONS array, and put a ! before the network entry, since the network is handled by adsl now.<br />
<br />
===Step 2: Update, Sync, and Upgrade the system with [[pacman]]===<br />
Now we will update the system using [[pacman]]. <br />
<br />
====What is pacman ?====<br />
[[Pacman]] is the '''pac'''kage '''man'''ager of Arch Linux. Pacman is written in ''C'' and is designed from the ground up to be lightweight with a very modest memory footprint, fast, simple, and versatile. It manages your entire package system and handles installation, removal, package downgrade (through cache), custom compiled package handling, automatic dependency resolution, remote and local searches and much more. Pacman's output is streamlined, very readable and provides ETA for each package download. Arch uses the .tar.gz package format, which further enhances pacman's speed; Gzipped tarballs, though slightly larger, are decompressed many times faster than their Bzipped counterparts, and are therefore installed much more expediently. <br />
<br />
We will use pacman to download software packages from remote repositories and install them onto your system.<br />
<br />
Pacman is the most important tool in your Arch Linux toolbox for building the base system into whatsoever you please.<br />
<br />
====Package Repositories and /etc/pacman.conf====<br />
Arch currently offers the following 4 repositories readily accessible through pacman:<br />
<br />
'''[core]'''<br />
<br />
The simple principle behind [core] is to provide only one of each necessary tool for a base Arch Linux system; The GNU toolchain, the Linux kernel, one editor, one command line browser, etc. (There are a few exceptions to this. For instance, both vi and nano are provided, allowing the user to choose one or both.) It contains all the packages that MUST be in perfect working order to ensure the system remains in a usable state. These are the absolute system-critical packages. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible <br />
*''The Core installation media simply contains an installer script, and a snapshot of the core repository at the time of release.''<br />
<br />
'''[extra]'''<br />
<br />
The [extra] repository contains all Arch packages that are not themselves necessary for a base Arch system, but contribute to a more full-featured environment. '''X''', KDE, and Apache, for instance, can be found here. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible<br />
'''[testing]'''<br />
<br />
The [testing] repository contains packages that are candidates for the [core] or [extra] repositories. New packages go into [testing] if:<br />
<br />
<nowiki>*</nowiki> they are expected to break something on update and need to be tested first.<br />
<br />
<nowiki>*</nowiki> they require other packages to be rebuilt. In this case, all packages that need to be rebuilt are put into [testing] first and when all rebuilds are done, they are moved back to the other repositories. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible<br />
{{Note|* [testing] is the only repository that can have name collisions with any of the other official repositories. Therefore, if enabled, [testing] must be the first repo listed in <code>pacman.conf</code>.}}<br />
<br />
{{Warning|Only experienced users should use [testing].}}<br />
<br />
'''[community]'''<br />
<br />
The [community] repository is maintained by the ''Trusted Users (TUs)'' and is simply the binary branch of the ''Arch User Repository ([[AUR]])''. It contains binary packages which originated as PKGBUILDs from ''AUR'' [unsupported] that have acquired enough votes and were adopted by a ''TU''. Like all repos listed above, [community] may be readily accessed by pacman.<br />
* TU maintained<br />
* All binary packages<br />
* pacman accessible<br />
<br />
'''AUR (unsupported)'''<br />
<br />
The '''[[AUR]]''' also contains the '''unsupported''' branch, which cannot be accessed directly by pacman*. '''AUR''' [unsupported] does not contain binary packages. Rather, it provides more than sixteen thousand PKGBUILD scripts for building packages from source, that may be unavailable through the other repos. When an AUR unsupported package acquires enough popular votes, it may be moved to the AUR [community] binary repo, if a TU is willing to adopt and maintain it there.<br />
* TU maintained<br />
* All PKGBUILD bash build scripts<br />
* '''''Not''''' pacman accessible by default<br />
<br />
<nowiki>*</nowiki> pacman wrappers ('''''[[AUR Helpers]]''''') can help you seamlessly access AUR.<br />
<br />
'''/etc/pacman.conf'''<br />
<br />
pacman will attempt to read /etc/pacman.conf each time it is invoked. This configuration file is divided into sections, or repositories. Each section defines a package [[Official Repositories|repository]] that pacman can use when searching for packages. The exception to this is the options section, which defines global options.<br />
<br />
Note that the defaults should work, so modifying at this point may be unnecessary, but verification is always recommended. Further info available in the [[Mirrors]] article.<br />
# nano /etc/pacman.conf<br />
Example:<br />
#<br />
# /etc/pacman.conf<br />
#<br />
# See the pacman.conf(5) manpage for option and repository directives<br />
<br />
#<br />
# GENERAL OPTIONS<br />
#<br />
[options]<br />
# The following paths are commented out with their default values listed.<br />
# If you wish to use different paths, uncomment and update the paths.<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
#LogFile = /var/log/pacman.log<br />
HoldPkg = pacman glibc<br />
# If upgrades are available for these packages they will be asked for first<br />
SyncFirst = pacman<br />
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u<br />
#XferCommand = /usr/bin/curl %u > %o<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
#IgnorePkg =<br />
#IgnoreGroup =<br />
<br />
#NoUpgrade =<br />
#NoExtract =<br />
<br />
# Misc options (all disabled by default)<br />
#NoPassiveFtp<br />
#UseSyslog<br />
#ShowSize<br />
#UseDelta<br />
#TotalDownload<br />
#<br />
# REPOSITORIES<br />
# - can be defined here or included from another file<br />
# - pacman will search repositories in the order defined here<br />
# - local/custom mirrors can be added here or in separate files<br />
# - repositories listed first will take precedence when packages<br />
# have identical names, regardless of version number<br />
# - URLs will have $repo replaced by the name of the current repo<br />
#<br />
# Repository entries are of the format:<br />
# [repo-name]<br />
# Server = ServerName<br />
# Include = IncludePath<br />
#<br />
# The header [repo-name] is crucial - it must be present and<br />
# uncommented to enable the repo.<br />
# <br />
<br />
# Testing is disabled by default. To enable, uncomment the following<br />
# two lines. You can add preferred servers immediately after the header,<br />
# and they will be used before the default mirrors.<br />
#[testing]<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
[core]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist <br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
# An example of a custom package repository. See the pacman manpage for<br />
# tips on creating your own repositories.<br />
#[custom]<br />
#Server = file:///home/custompkgs<br />
<br />
Enable all desired repositories (remove the # in front of the 'Include =' and '[repository]' lines).<br />
<br />
<br />
*'''''When choosing repos, be sure to uncomment both the repository header lines in [brackets] as well as the 'Include =' lines. Failure to do so will result in the selected repository being omitted! This is a very common error.'' '''<br />
<br />
====/etc/pacman.d/mirrorlist ====<br />
Defines pacman repo mirrors and priorities.<br />
<br />
'''Build a mirrorlist using the rankmirrors script'''<br />
<br />
<code>/usr/bin/rankmirrors</code> is a python script which will attempt to detect the mirrors which are closest to the installation machine based on the mirrors specified in /etc/pacman.d/mirrorlist. Faster mirrors will dramatically improve pacman performance, and the overall Arch Linux experience. This script may be run periodically, especially if the chosen mirrors provide inconsistent throughput and/or updates.<br />
<br />
First, use pacman to install python:<br />
# pacman -Sy python <br />
'''cd''' to the /etc/pacman.d/ directory:<br />
# cd /etc/pacman.d<br />
Backup the existing /etc/pacman.d/mirrorlist:<br />
# cp mirrorlist mirrorlist.backup<br />
Edit mirrorlist.backup and uncomment all mirrors on the same continent or within geographical proximity to test with rankmirrors.<br />
# nano mirrorlist.backup<br />
Run the script against the mirrorlist.backup with the -n switch and redirect output to a new /etc/pacman.d/mirrorlist file:<br />
# rankmirrors -n 6 mirrorlist.backup > mirrorlist<br />
'''-n 6''': rank the 6 fastest mirrors<br />
<br />
'''Force pacman to refresh the package lists'''<br />
<br />
After creating/editing /etc/pacman.d/mirrorlist, (manually or by <code>/usr/bin/rankmirrors</code>) issue the following command:<br />
# pacman -Syy<br />
Passing two --refresh or -y flags forces pacman to refresh all package lists even if they are considered to be up to date. Issuing pacman -Syy ''whenever a mirror is changed'', is good practice and will avoid possible headaches.<br />
<br />
====Mirrorcheck for up-to-date packages====<br />
Some of the official mirrors may contain packages that are out-of-date. [http://users.archlinux.de/~gerbra/mirrorcheck.html ArchLinux Mirrorcheck] reports various aspects about the mirrors such as, those experiencing network problems, data collection problems, reports the last time they have been synced, etc.<br />
<br />
One may wish to manually inspect the mirrors in the /etc/pacman.d/mirrorlist insuring that it only contains up-to-date mirrors if having the latest package versions is a priority.<br />
<br />
====Ignoring packages====<br />
After executing the command &quot;pacman -Syu&quot;, the entire system will be updated. It is possible to prevent a package from being upgraded. A typical scenario would be a package for which an upgrade may prove problematic for the system. In this case, there are two options; indicate the package(s) to skip in the pacman command line using the --ignore switch (do pacman -S --help for details) or permanently indicate the package(s) to skip in the /etc/pacman.conf file in the IgnorePkg array. List each package, with one intervening space :<br />
IgnorePkg = wine <br />
The typical way to use Arch is to use pacman to install all packages unless there is no package available, in which case [[ABS]] may be used. Many user-contributed package build scripts are also available in the [[AUR]]. <br />
<br />
The power user is expected to keep the system up to date with pacman -Syu, rather than selectively upgrading packages. You may diverge from this typical usage as you wish; just be warned that there is a greater chance that things will not work as intended and that it could break your system. The majority of complaints happen when selective upgrading, unusual compilation or improper software installation is performed. Use of '''IgnorePkg''' in /etc/pacman.conf is therefore discouraged, and should only be used sparingly, if you know what you are doing.<br />
<br />
====Ignoring Configuration Files====<br />
In the same vein, you can also &quot;protect&quot; your configuration/system files from being overwritten during &quot;pacman -Su&quot; using the following option in your /etc/pacman.conf<br />
<br />
NoUpgrade = etc/lilo.conf boot/grub/menu.lst<br />
<br />
====Get familiar with pacman====<br />
pacman is the Arch user's best friend. It is highly recommended to study and learn how to use the pacman(8) tool. Try:<br />
$ man pacman<br />
<br />
For more information,please look up the [[pacman]] wiki entries at your leisure.<br />
<br />
====Powerpill, a pacman wrapper script====<br />
Before you continue, consider installing Xyne's powerpill (now in [community]) which is a pacman wrapper script that speeds up package retrieval by using aria2c (an external download helper) for concurrent/segmented downloads. In other words, powerpill pulls packages in parallel effectively speeding up your downloads. This is particularly advantageous on new installs when pulling down hundreds of megs of packages.<br />
<br />
# pacman -S powerpill<br />
<br />
Treat powerpill as pacman as you consider installations, for example, the following will update your system:<br />
<br />
# powerpill -Syu<br />
<br />
See the [[Powerpill]] wiki article for more.<br />
<br />
===Step 3: Update System===<br />
You are now ready to upgrade your entire system. Before you do, read through the [http://www.archlinux.org/news/ news] (and optionally the [http://archlinux.org/pipermail/arch-announce/ announce mailing list]). Often the developers will provide important information about required configurations and modifications for known issues. Consulting these pages before any upgrade is good practice. <br />
<br />
Sync, refresh, and upgrade your entire new system with:<br />
# pacman -Syu<br />
or:<br />
# pacman --sync --refresh --sysupgrade<br />
<br />
pacman will now download a fresh copy of the master package list from the server(s) defined in pacman.conf(5) and perform all available upgrades. (You may be prompted to upgrade pacman itself at this point. If so, say yes, and then reissue the pacman -Syu command when finished.) <br />
<br />
Reboot if a kernel upgrade has occurred. <br />
<br />
{{Note|Occasionally, configuration changes may take place requiring user action during an update; read pacman's output for any pertinent information.}}<br />
<br />
Pacman output is saved in /var/log/pacman.log.<br />
<br />
See [[Package_Management_FAQs|Package Management FAQs]] for answers to frequently asked questions regarding updating and managing your packages.<br />
<br />
=====The Arch rolling release model=====<br />
Keep in mind that Arch is a '''rolling release''' distribution. This means there is never a reason to reinstall or perform elaborate system rebuilds to upgrade to the newest version. Simply issuing '''pacman -Syu''' periodically keeps your entire system up-to-date and on the bleeding edge. At the end of this upgrade, your system is completely current. '''Reboot''' if a kernel upgrade has occurred.<br />
=====Network Time Protocol=====<br />
You may wish to set the system time now using OpenNTPD to sync the local clock to remote NTP servers. OpenNTPD may also be added to the DAEMONS= array in /etc/rc.conf to provide this service at each boot. (See the [[Network Time Protocol]] article.)<br />
<br />
===Step 4: Add a user and setup groups===<br />
<tt>UNIX</tt> is a multi-user environment. You should not do your everyday work using the root account. It is more than poor practice; it is dangerous. Root is for administrative tasks. Instead, add a normal, non-root user account using the <code>/usr/sbin/useradd</code> program:<br />
# useradd -m -G [groups] -s [login_shell] [username] <br />
* '''-m''' Creates user home directory as /home/'''username'''. Within their home directory, a user can write files, delete them, install programs, etc. Users' home directories shall contain their data and personal configuration files, the so-called 'dot files' (their name is preceded by a dot), which are 'hidden'. (To view dotfiles, enable the appropriate option in your file manager or run ls with the -a switch.) If there is a conflict between ''user'' (under /home/username) and ''global'' configuration files, (usually under /etc/) the settings in the ''user'' file will prevail. Dotfiles likely to be altered by the end user include .xinitrc and .bashrc files. The configuration files for xinit and Bash respectively. They allow the user the ability to change the window manager to be started upon login and also aliases, user-specified commands and environment variables respectively. When a user is created, their dotfiles shall be taken from the /etc/skel directory where system sample files reside.<br />
* '''-G''' A list of supplementary groups which the user is also a member of. ''Each group is separated from the next by a comma, with no intervening spaces''. The default is for the user to belong only to the initial group (users). <br />
* '''-s''' The path and filename of the user´s default login shell.<br />
Useful groups for your non-root user include:<br />
*'''audio''' - for tasks involving sound card and related software<br />
*'''floppy''' - for access to a floppy if applicable<br />
*'''lp''' - for managing printing tasks<br />
*'''optical''' - for managing tasks pertaining to the optical drive(s)<br />
*'''storage''' - for managing storage devices<br />
*'''video''' - for video tasks and hardware acceleration<br />
*'''wheel''' - for using sudo<br />
*'''power''' - used w/ power options (e.g.: shutdown with power button) <br />
A typical desktop system example, adding a user named &quot;archie&quot; specifying bash as the login shell:<br />
# useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash archie<br />
Next, add a password for your new user using <code>/usr/bin/passwd</code>.<br />
<br />
An example for our user, 'archie':<br />
# passwd archie<br />
(You will be prompted to provide the new <tt>UNIX</tt> password.)<br />
<br />
Your new non-root user has now been created, complete with a home directory and a login password.<br />
<br />
'''Alternative method, using <code>/usr/sbin/adduser</code>:'''<br />
<br />
Alternatively, you may use <code>adduser</code>, an interactive user adding program which will prompt you for the above data ''(recommended for beginners)'':<br />
# adduser<br />
'''Deleting the user account:'''<br />
<br />
In the event of error, or if you wish to delete this user account in favor of a different name or for any other reason, use <code>/usr/sbin/userdel</code>:<br />
# userdel -r [username]<br />
* '''-r ''' Files in the user´s home directory will be removed along with the home directory itself and the user´s mail spool.<br />
<br />
If you want to change the name of your user or any existing user, see the [[Change username]] page of the Arch wiki and/or the [[Groups]] and [[User Management]] articles for further information. You may also check the man pages for <code>usermod(8)</code> and <code>gpasswd(8)</code>.<br />
<br />
===Step 5: Install and setup Sudo (Optional)===<br />
There has been a recent update to the vi packages since the latest installation media (2009.08) was created. Therefore, before installing sudo, use the following command to remove the incompatible files:<br />
# rm /usr/bin/{view,rview}<br />
Install Sudo and vim:<br />
# pacman -S sudo vim<br />
To add a user as a sudo user (a &quot;sudoer&quot;), the visudo command must be run as root. If you do not know how to use vi, you may set the EDITOR environment variable to the editor of your choice before running visudo. e.g.:<br />
# EDITOR=nano visudo<br />
If you are comfortable using vi, issue the visudo command without the EDITOR=nano variable:<br />
# visudo<br />
This will open the file /etc/sudoers in a special session of vi. visudo copies the file to be edited to a temporary file, edits it with an editor, (vi by default), and subsequently runs a sanity check. If it passes, the temporary file overwrites the original with the correct permissions. <br />
<br />
{{Warning|Do not edit /etc/sudoers directly with an editor; Errors in syntax can cause annoyances (like rendering the root account unusable). You must use the ''visudo'' command to edit /etc/sudoers.}}<br />
<br />
To give the user full root privileges when he/she precedes a command with &quot;sudo&quot;, add the following line:<br />
USER_NAME ALL=(ALL) ALL<br />
where USER_NAME is the username of the individual.<br />
<br />
For more information, such as sudoer <TAB> completion, see [[Sudo]]<br />
<br />
==Part III: Install X and configure ALSA==<br />
<br />
<br />
===Step 1: Configure sound with alsamixer===<br />
The Advanced Linux Sound Architecture (known by the acronym '''ALSA''') is a Linux kernel component intended to replace the original Open Sound System (OSS) for providing device drivers for sound cards. Besides the sound device drivers, '''ALSA''' also bundles a user space library for application developers who want to use driver features with a higher level API than direct interaction with the kernel drivers.<br />
{{Note| Alsa is included in the Arch mainline kernel and udev will automatically probe your hardware at boot, loading the corresponding kernel module for your audio card. Therefore, your sound should already be working, but upstream sources mute all channels by default.}}<br />
{{Note| OSS4.1 has been released under a free license and is generally considered a significant improvement over older OSS versions. If you have issues with ALSA, or simply wish to explore another option, you may choose OSS4.1 instead. Instructions can be found in [[OSS]]}} <br />
<br />
The alsa-utils package contains the alsamixer userspace tool, which allows configuration of the sound device from the console or terminal.<br />
<br />
By default the upstream kernel sources ship with snd_pcsp, the alsa pc speaker module. snd_pcsp is usually loaded before your &quot;actual&quot; sound card module. In most cases, it will be more convenient if this module is loaded last, as it will allow alsamixer to correctly control the desired sound card.<br />
<br />
To have snd_pcsp load last, add the following to /etc/modprobe.d/modprobe.conf:<br />
options snd-pcsp index=2<br />
<br />
Alternatively, if you do not want snd_pcsp to load at all, blacklist it by adding the following to /etc/rc.conf:<br />
MODULES=(... !snd_pcsp)<br />
<br />
{{Note | You will need to unload all your sound modules and reload them for the changes to take effect. It might be easier to reboot. Your choice. }}<br />
<br />
Install the alsa-utils package:<br />
# pacman -S alsa-utils<br />
Also, you may want to install the alsa-oss package, which wraps applications written for [[OSS]] in a compatibility library, allowing them to work with [[ALSA]]. To install the alsa-oss package:<br />
# pacman -S alsa-oss <br />
Did you add your normal user to the audio group? If not, use <code>/usr/bin/gpasswd</code>. As root do:<br />
# gpasswd -a ''yourusername'' audio<br />
As '''''normal, non-root''''' user, invoke <code>/usr/bin/alsamixer</code>:<br />
# su - ''yourusername'' <br />
'''$''' alsamixer<br />
Unmute the Master and PCM channels by scrolling to them with cursor left/right and pressing '''M'''. Increase the volume levels with the cursor-up key. (70-90 Should be a safe range.) Some machines, (like the Thinkpad T61), have a '''Speaker''' channel which must be unmuted and adjusted as well. Leave alsamixer by pressing ESC. <br />
==== Sound test ====<br />
Ensure your speakers are properly connected, and test your sound configuration as normal user using <code>/usr/bin/aplay</code>:<br />
$ aplay /usr/share/sounds/alsa/Front_Center.wav<br />
You should hear a very eloquent woman say, &quot;Front, center.&quot;<br />
==== Saving the Sound Settings ====<br />
Exit your normal user shell and run <code>/usr/sbin/alsactl</code> as root:<br />
$ exit<br />
# alsactl store<br />
This will create the file '/etc/asound.state', saving the alsamixer settings. <br />
<br />
Also, add the alsa ''daemon'' to your DAEMONS section in /etc/rc.conf to automatically restore the mixer settings at boot.<br />
# nano /etc/rc.conf<br />
DAEMONS=(syslog-ng network crond '''alsa''')<br />
''Note that the alsa daemon merely restores your volume mixer levels on boot up by reading /etc/asound.state. It is separate from the alsa audio library (and kernel level API).''<br />
<br />
Expanded information available in the [[ALSA]] wiki entry.<br />
<br />
===Step 2: Install X===<br />
The '''X''' Window System version 11 (commonly '''X11''', or just simply '''X''') is a networking and display protocol which provides windowing on bitmap displays. It provides the standard toolkit and protocol to build graphical user interfaces (GUIs) on <tt>UNIX</tt>-like operating systems.<br />
<br />
'''X''' provides the basic framework, or primitives, for building GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. '''X''' does not mandate the user interface — individual client programs handle this. <br />
<br />
'''X''' is so named because it was preceded by the '''W''' Window System, originally developed at Stanford University. <br />
<br />
====A: The <code>X-Files</code>====<br />
Now we will install the base '''[[Xorg]]''' packages using pacman. This is the first step in building a GUI.<br />
If you plan on using an '''open-source''' video driver, and need 3d acceleration, install the libgl library before installing Xorg:<br />
# pacman -S libgl<br />
''(Proprietary video drivers provide their own gl library implementations.)''<br />
<br />
Install the base packages:<br />
# pacman -S xorg<br />
The 3d utilities glxgears and glxinfo are included in the '''mesa''' package:<br />
# pacman -S mesa<br />
<br />
====B: Install Video Driver Package====<br />
Now we have the base packages we need for running the '''X''' Server. You should add the driver for your graphics card now (e.g. xf86-video-<name>). The easiest way to configure X.org is by installing the correct driver packages first, and then generating /etc/X11/xorg.conf using an autoconfiguration script, like Xorg -configure.<br />
<br />
You will need knowledge of which video chipset your machine has. If you do not know, use the <code>/usr/sbin/lspci</code> program:<br />
# lspci | grep VGA<br />
<br />
If you need a list of all '''open-source''' video drivers, do: <br />
# pacman -Ss xf86-video | less<br />
Here is a list of '''open source''' drivers, and the corresponding video chipsets.<br />
*'''xf86-video-apm''' &mdash; Alliance ProMotion video driver<br />
*'''xf86-video-ark''' &mdash; ark video driver<br />
*'''xf86-video-ati''' &mdash; ATI(AMD) radeon video driver<br />
**'''xf86-video-r128''' &mdash; ATI(AMD) video driver for X.org ati Rage128 video<br />
**'''xf86-video-mach64''' &mdash; ATI(AMD) video driver for X.org mach64 video<br />
**'''xf86-video-radeonhd''' &mdash; ATI(AMD) radeonhd video driver<br />
*'''xf86-video-chips''' &mdash; Chips and Technologies video driver<br />
*'''xf86-video-cirrus''' &mdash; Cirrus Logic video driver<br />
*'''xf86-video-dummy''' &mdash; dummy video driver<br />
*'''xf86-video-fbdev''' &mdash; framebuffer video driver<br />
*'''xf86-video-glint''' &mdash; GLINT/Permedia video driver<br />
*'''xf86-video-i128''' &mdash; Number 0 i128 video driver<br />
*'''xf86-video-i740''' &mdash; Intel i740 video driver<br />
*'''xf86-video-i810''' &mdash; Intel i810/i830/i9xx video drivers (deprecated - use -intel)<br />
*'''xf86-video-intel''' &mdash; Newer Version of Intel i810/i830/i9xx video drivers<br />
*'''xf86-video-intel-legacy''' &mdash; Legacy-driver for older intel cards as 82865G (xf86-video-intel currently crashes with older cards)<br />
*'''xf86-video-imstt''' &mdash; Integrated Micro Solutions Twin Turbo video driver<br />
*'''xf86-video-mga''' &mdash; mga video driver (Matrox Graphics Adapter)<br />
*'''xf86-video-neomagic''' &mdash; neomagic video driver<br />
*'''xf86-video-nv''' &mdash; Nvidia nv video driver<br />
*'''xf86-video-nouveau''' &mdash; Open Source 3D acceleration driver for nVidia cards (experimental), check: [http://nouveau.freedesktop.org/wiki/] for Current Status<br />
*'''xf86-video-openchrome''' &mdash; VIA/S3G UniChrome, UniChrome Pro and Chrome9 video driver<br />
*'''xf86-video-rendition''' &mdash; Rendition video driver<br />
*'''xf86-video-s3''' &mdash; S3 video driver<br />
*'''xf86-video-s3virge''' &mdash; S3 Virge video driver<br />
*'''xf86-video-savage''' &mdash; savage video driver<br />
*'''xf86-video-siliconmotion''' &mdash; siliconmotion video driver<br />
*'''xf86-video-sis''' &mdash; SiS video driver<br />
*'''xf86-video-sisusb''' &mdash; SiS USB video driver<br />
*'''xf86-video-tdfx''' &mdash; tdfx video driver<br />
*'''xf86-video-trident''' &mdash; Trident video driver<br />
*'''xf86-video-tseng''' &mdash; tseng video driver<br />
*'''xf86-video-unichrome''' &mdash; VIA S3 Unichrome video drivers<br />
*'''xf86-video-v4l''' &mdash; v4l video driver<br />
*'''xf86-video-vesa''' &mdash; vesa video driver<br />
*'''xf86-video-vga''' &mdash; VGA 16 color video driver<br />
*'''xf86-video-vmware''' &mdash; vmware video driver<br />
*'''xf86-video-voodoo''' &mdash; voodoo video driver<br />
<br />
'''''Note''''': The '''vesa''' driver is the most generic, and should work with almost any modern video chipset. If you cannot find a suitable driver for your video chipset, vesa ''should'' work.<br />
<br />
Use pacman to install the appropriate video driver for your video card/onboard video. e.g.:<br />
# pacman -S xf86-video-savage<br />
(for the Savage driver.)<br />
<br />
*If you have an NVIDIA or ATI graphics card you may wish to install the proprietary NVIDIA or ATI drivers. '''Installing proprietary video drivers is covered below.'''.<br />
*If you do not want to install the proprietary drivers or do not have an NVIDIA or ATI graphics card, you should skip down to '''[[#Step 3: Configure X|Step 3: Configure X]]'''.<br />
<br />
-----<br />
<br />
<br />
=====NVIDIA Graphics Cards=====<br />
The NVIDIA proprietary drivers are generally considered to be of good quality, and offer 3D performance, whereas the open source '''nv''' driver offers only 2d support at this time. <br />
<br />
Before you configure your Graphics Card you will need to know which driver fits. Arch currently has several different driver packages that each match a certain subset of Cards: <br />
<br />
'''1. nvidia-96xx''' ''slightly newer cards up to the GF 4.''<br />
<br />
'''2. nvidia-173xx''' ''Geforce FX series cards''<br />
<br />
'''3. nvidia''' ''newest GPUs after the GF FX''<br />
<br />
{{Note| Nvidia-71xx series proprietary drivers, which are required by extremely old cards like TNT and TNT2, have been removed because they do not work with the new Xorg that Arch makes use of and nvidia has discontinued support for such. You should use the xf86-video-nv or xf86-video-vesa drivers instead.}}<br />
<br />
Consult the NVIDIA website to see which one is for you. The difference is only for the installation; Configuration works the same with every driver.<br />
<br />
Select and install the appropriate NVIDIA driver ''for your card'', e.g.: <br />
# pacman -S nvidia-96xx<br />
<br />
The NVIDIA package has a utility for updating your existing /etc/X11/xorg.conf for use with the NVIDIA driver:<br />
# nvidia-xconfig<br />
<br />
It also has several options which will further specify the contents and options of the xorg.conf file.<br />
For example,<br />
# nvidia-xconfig --composite --add-argb-glx-visuals<br />
<br />
For more detailed information, see nvidia-xconfig(1).<br />
<br />
Some useful tweaking options in the device section are (beware that these may not work on your system):<br />
Option &quot;RenderAccel&quot; &quot;true&quot;<br />
Option &quot;NoLogo&quot; &quot;true&quot;<br />
Option &quot;AGPFastWrite&quot; &quot;true&quot;<br />
Option &quot;EnablePageFlip&quot; &quot;true&quot;<br />
Make sure all instances of DRI are commented out:<br />
# Load &quot;dri&quot;<br />
Double check your /etc/X11/xorg.conf to make sure your default depth, horizontal sync, vertical refresh, and resolutions are acceptable.<br />
<br />
Update kernel module dependencies using <code>/sbin/depmod</code>:<br />
# depmod -a<br />
(A reboot may be necessary.)<br />
{{Tip|Advanced instructions for NVIDIA configuration can be found in the [[NVIDIA]] article.}}<br />
<br />
You may now continue with '''[[#Step 3: Configure X|Step 3: Configure X]]''' to familiarize yourself further, or continue the installation process with '''[[#C: Test X|Test X]]'''.<br />
<br />
=====ATI Graphics Cards=====<br />
ATI owners have multiple options for drivers. <br />
* The open source '''''radeon''''' driver provided by the '''xf86-video-ati''' package. <br />
** This is the original, reverse-engineered open source driver which fully supports Radeon chipsets up to X1950 (latest R500 chipsets). Cards up to the 9200 series are fully supported, stable, and provide full 2D and 3D acceleration. Cards from 9500 to X1950 feature full 2D acceleration, and stable 3D acceleration, but lack certain features provided by the proprietary driver, (for example, powersaving is still in a testing phase). Cards from HD2xxx (R6xx) to the newest are supported by xf86-video-ati, but only offer 2d support at this time.<br />
* The open source '''''radeonhd''''' driver provided by the '''xf86-video-radeonhd''' package.<br />
** This driver supports ATI R500 chipsets (Radeon X1000 series) and newer. It is written by Novell with specifications provided to the public by AMD. It supports RandR 1.2 and development is currently very active. Therefore, functionality may be inconsistent across the spectrum of cards supported. (Some users report excellent performance and reliability while others experience trouble.) It also supports HDMI, with sound.<br />
* The proprietary '''''fglrx''''' driver provided by the Catalyst package located in the AUR. The proprietary driver is covered below.<br />
The open-source drivers will usually suit most needs and are generally less problematic.<br />
<br />
Install the '''''radeon''''' ATI Driver with<br />
# pacman -S xf86-video-ati libgl ati-dri<br />
Install the '''''radeonhd''''' ATi Driver with<br />
# pacman -S xf86-video-radeonhd libgl ati-dri<br />
<br />
The proprietary ATI driver '''Catalyst''' was once a precompiled package offered by Arch in the <code>extra</code> repository, but as of March 2009, official support has been dropped because of dissatisfaction with the quality and speed of development of the proprietary driver.The catalyst driver is now available in [http://aur.archlinux.org/packages.php?ID=22899 AUR]. Installation information for Catalyst driver is available [[ATI#Proprietary_ATI_Catalyst_driver | here]]<br />
<br />
{{Warning| The proprietary ATI driver supports only R600 and newer devices (that means, HD2xxx and newer). Older series cards (X1xxx and older) are not supported.}}<br />
<br />
{{Tip|Advanced instructions for ATI configuration can be found in the [[ATI | ATI wiki article]].}}<br />
<br />
====C: Install Input Driver Packages====<br />
The latest X requires you to install drivers for your input devices, keyboard and mouse included. For a complete list of available input drivers,<br />
# pacman -Ss xf86-input | less<br />
<br />
For most users, xf86-input-keyboard and xf86-input-mouse should be sufficient for a basic setup. Use pacman to install your desired drivers for your input devices. e.g.:<br />
# pacman -S xf86-input-keyboard xf86-input-mouse<br />
<br />
===Step 3: Configure X===<br />
<br />
====A: The xorg.conf file====<br />
<br />
/etc/X11/xorg.conf is the main configuration file for your '''X''' Window System, the foundation of your '''G'''raphical '''U'''ser '''I'''nterface. It is a plain text file ordered into sections and subsections. Important sections are ''Files, InputDevice, Module, Monitor, Modes, Screen, Device, and ServerLayout''. Sections can appear in any order and there may be more than one section of each kind, for example, if you have more than one monitor, or if your laptop has a trackpoint as well as a mouse. <br />
<br />
Since X11R7.2 the X.Org X Server features autoconfiguration. Therefore, it can function without an xorg.conf file in many cases. ''If'' the autoconfiguration ''works satisfactorily'' and you do not need to specify special features such as aiglx, compositing and so forth, you may forgo creating an xorg.conf file and continue below with [[#B: Input hotplugging| Input hotplugging]].<br />
<br />
=====Standard xorg.conf generation=====<br />
<br />
Advanced users may wish to manually create their own xorg.conf file. You may also use the <code>/usr/bin/Xorg</code> program with the -configure option to generate a basic config file; As root, do:<br />
# Xorg -configure<br />
This will create a config file at /root/xorg.conf.new <br />
<br />
Copy the file to <code>/etc/X11/</code>:<br />
# cp /root/xorg.conf.new /etc/X11/xorg.conf<br />
<br />
=====Alternative xorg.conf generation=====<br />
<br />
Newer versions of the Xorg Server(>1.6) do not include the /usr/bin/xorgconfig or /usr/bin/xorgcfg scripts. If you run into problems generating/using an xorg.conf file, you might want to consider using this guide.<br />
<br />
See the [[Xorg#Without_xorg.conf|article on X.Org, section "Without xorg.conf"]].<br />
<br />
* Note that if you are in possession of a properly configured xorg.conf under another distribution and with the same Xorg version, you may easily copy it over to your current Arch system's <code>/etc/X11/</code> directory.<br />
<br />
<br />
{{Tip | For Intel graphics card, specific configuration may be necessary to get proper 2D or 3D performance, as stated in [[Intel_Graphics]] wiki article.}}<br />
<br />
====B: Input hotplugging====<br />
<br />
[[Xorg input hotplugging|Input hotplugging]] is supported since the 1.4 version of the X.Org X Server and enabled by default. When enabled, X will utilize hal to allow for the hotplugging and removal of human interface devices without having to restart X. <br />
<br />
{{Warning | Starting the '''X''' server using input hotplugging without the '''HAL''' daemon installed and running may result in the inability to use the mouse and/or keyboard, and the '''X''' server appearing to freeze as a result .}}<br />
<br />
You must decide whether you will use input hotplugging (enabled by default), or disable it. Input hotplugging is convenient for many users, especially those with mobile machines like laptops and netbooks. Other users may wish to disable it in favor of manual or more static device configuration within /etc/xorg.conf.<br />
<br />
{{Tip | See the article on [[Xorg input hotplugging]] for full details.}}<br />
<br />
=====Using input hotplugging=====<br />
<br />
Install HAL, dbus and the evdev input driver:<br />
# pacman -S hal dbus xf86-input-evdev<br />
<br />
Set the keyboard layout (if you do not use a standard US keyboard)<br />
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/<br />
# nano /etc/hal/fdi/policy/10-keymap.fdi<br />
Edit the &quot;input.xkb.layout&quot; key and possibly the &quot;input.xkb.variant&quot; key in this file.<br />
<br />
Laptop users will also need the synaptics package to allow X to configure the touchpad:<br />
# pacman -S xf86-input-synaptics<br />
<br />
{{Tip|For instructions on fine tuning or troubleshooting touchpad settings, see the [[Touchpad Synaptics]] article.}}<br />
<br />
<br />
'''The HAL daemon'''<br />
<br />
The hal daemon '''must''' be started '''before''' the '''X''' server:<br />
# /etc/rc.d/hal start<br />
Add the hal daemon to the DAEMONS array in /etc/rc.conf to start it at every boot.<br />
<br />
=====Disable input hotplugging=====<br />
Disabling input hotplugging will skip devices detected by hal and will use the keyboard/mouse configuration from xorg.conf:<br />
# nano /etc/X11/xorg.conf<br />
add the following:<br />
Section &quot;ServerFlags&quot;<br />
Option &quot;AutoAddDevices&quot; &quot;False&quot;<br />
EndSection<br />
<br />
======Set the keyboard layout if not using a standard US keyboard======<br />
Add option lines in the &quot;InputDevice&quot; section of the /etc/X11/xorg.conf file specifying the keyboard layout and variant:<br />
Option &quot;XkbLayout&quot; &quot;be&quot;<br />
Option &quot;XkbVariant&quot; &quot;&quot;<br />
<br />
Alternative method using the setxkbmap command:<br />
# setxkbmap pl <br />
(with the proper keyboard layout instead of <code>pl</code> of course) should switch your keyboard layout in x.<br />
To make this permanent, add this command to <code>/home/<youruser>/.xinitrc</code> before starting the window manager (before command like <code>exec startxfce4</code>).<br />
<br />
==== C: Test X ====<br />
<br />
First, read the warning about input hotplugging in the previous section. At this point, you should have xorg installed, with a suitable video driver and an /etc/X11/xorg.conf configuration file. If you want to test your configuration quickly, to ensure your ability to successfully start '''X''' from the command line before installing a complete desktop environment, you can do so by configuring ~/.xinitrc to invoke '''Xterm'''. Xterm is a very simple terminal emulator which runs in the '''X '''Server environment; it is installed as part of the base xorg packages.<br />
<br />
===== Prepare for the test by configuring ~/.xinitrc=====<br />
<br />
One of the main functions of this file is to dictate what '''X''' Window client is invoked with the '''/usr/bin/startx''' and/or '''/usr/bin/xinit''' program ''on a per-user basis''. (The '''startx''' script is merely a front end to the more versatile '''xinit''' command.) There are vast amounts of additional configurable specifications and commands that may also be added to ~/[[.xinitrc]] as you further customize your system. <br />
{{Note | '''[[.xinitrc]]''' is a so-called 'dot' (.) file. Files in a UNIX filesystem which are preceded with a dot (.) are 'hidden', and will not show up with a regular 'ls' command, usually for the sake of keeping directories tidy. Dot files may be seen by issuing '''ls -a'''. The 'rc' denotes ''Run Commands'' and simply indicates that it is a configuration file. Since it controls how a program runs, it is (although historically incorrect) also said to stand for &quot;Run Control&quot;.}}<br />
<br />
'''startx/xinit''' will start the '''X''' server and clients. To determine the client to run, '''startx/xinit''' will first look to parse a [[.xinitrc]] file in the user's home directory. In the absence of file ~/[[.xinitrc]], it defaults to the global xinitrc in the xinit library directory; /etc/X11/xinit/xinitrc, which defaults to using the TWM window manager. (Hence, if you invoke startx without a ~/[[.xinitrc]] file, a TWM session will start.) Further details in the [[.xinitrc]] wiki entry.<br />
<br />
Switch to your '''''normal, non-root''''' user:<br />
<br />
# su - ''yourusername''<br />
<br />
* /etc/skel/ contains files and directories to provide sane defaults for newly created user accounts. The name '''skel''' is derived from the word '''skeleton''', because the files it contains form the basic structure for users' home directories.<br />
<br />
* Sample .xinitrc provided [[Xinitrc#A_standard_.xinitrc | here]] <br />
Copy the sample xinitrc file from /etc/skel/ to your home directory: <br />
<br />
$ cp /etc/skel/[[.xinitrc]] ~/<br />
Edit the file: <br />
$ nano ~/.xinitrc<br />
and add &quot;<code>exec xterm</code>&quot; so that it looks like this:<br />
<br />
#!/bin/sh<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
# exec wmaker<br />
# exec startkde<br />
# exec icewm<br />
# exec blackbox<br />
# exec fluxbox<br />
#<br />
exec xterm<br />
<br />
{{Note | ''Be sure to have only '''one''' uncommented '''exec''' line in ~/.xinitrc'' for now.}}<br />
<br />
Below, we shall edit this file again to specify the appropriate desktop environment/window manager of your choice.<br />
<br />
===== Perform the test =====<br />
<br />
Test your configurations by starting '''X''' as '''normal, non-root''' user, with:<br />
<br />
$ startx<br />
or<br />
$ xinit<br />
<br />
You should have an '''xterm''' session open up. You can test your keyboard and its layout in it. You may have to move your mouse around until it enters the xterm area before you see the mouse cursor or xterm responds to your keyboard.<br />
<br />
If you prove a properly configured /etc/X11/xorg.conf by successfully running the test, you can be assured that your DE/WM of choice will work smoothly.<br />
<br />
Exit Xterm with:<br />
$ exit<br />
{{Tip|Advanced instructions for Xorg configuration can be found in the [[Xorg]] article.}}<br />
<br />
<br />
{{Note| With Xorg 1.6 CTRL-Alt-Backspace has been deprecated and will not work to exit out of this test. A somewhat messy work around is to switch to a different virtual console (CTRL-Alt-F2, for example) and then switch back to the console the test is running in (probably CTRL-Alt-F1). You will then be able to use CTRL-C to kill the X test. You can enable CTRL-Alt-Backspace by editing xorg.conf, as described [http://wiki.archlinux.org/index.php/Xorg#Ctrl-Alt-Backspace_doesn.27t_exit_X here].}}<br />
If the screen goes black, you may still attempt to switch to a different virtual console (CTRL-Alt-F2, for example), and login blindly as root, followed by <Enter>, followed by root's password followed by <enter>. Finally, reboot blindly with:<br />
# reboot<br />
or <br />
# init 6<br />
<br />
=====In case of errors=====<br />
If you have problems starting '''X''', you can look for errors in the /var/log/Xorg.0.log file and on the console output of the virtual console you started '''X''' from. <br />
<br />
'''''If using /etc/X11/xorg.conf'''''<br />
<br />
Inspect the config file:<br />
<br />
# nano /etc/X11/xorg.conf<br />
<br />
The video driver may need to be specified. e.g.:<br />
Section &quot;Device&quot;<br />
<br />
...<br />
Driver &quot;savage&quot;<br />
...<br />
<br />
EndSection<br />
<br />
Horizontal sync and vertical refresh specs under section &quot;Monitor&quot; may need to be added:<br />
Section &quot;Monitor&quot;<br />
Identifier &quot;Monitor0&quot;<br />
VendorName &quot;Monitor Vendor&quot;<br />
ModelName &quot;Monitor Model&quot;<br />
HorizSync 30.0 - 130.0 # Safe for LCD's<br />
VertRefresh 50.0 - 100.0 # Safe for LCD's and most CRT's.<br />
EndSection<br />
(If these specs are unknown, consult the documentation of the computer monitor.)<br />
<br />
Color depth can be specified under section &quot;Screen&quot;:<br />
Section &quot;Screen&quot;<br />
Identifier &quot;Screen0&quot;<br />
Device &quot;Card0&quot;<br />
Monitor &quot;Monitor0&quot;<br />
DefaultDepth 24<br />
(Typically, this will be set to 24 for true color.)<br />
<br />
Also add desired Modes to the &quot;Display&quot; subsection, at least under the Depth 24 header, e.g.:<br />
SubSection &quot;Display&quot;<br />
Viewport 0 0<br />
Depth 24<br />
Modes &quot;1024x768&quot; &quot;800x600&quot; &quot;640x480&quot;<br />
Add the following section, if eye candy which requires the composite extension is desired: <br />
Section &quot;Extensions&quot;<br />
Option &quot;Composite&quot; &quot;Enable&quot;<br />
EndSection<br />
Try the config again, after modifying:<br />
# startx<br />
or<br />
# xinit<br />
'''''Still having trouble? Detailed instructions are in the [[Xorg]] article.'''''<br />
<br />
=====Need Help?=====<br />
<br />
If you are still having trouble after consulting the [[Xorg]] article and need assistance via the Arch forums, be sure to install and use wgetpaste:<br />
<br />
# pacman -S wgetpaste<br />
Use wgetpaste and provide links for the following files when asking for help in your forum post:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log.old<br />
Use wgetpaste like so:<br />
$ wgetpaste </path/to/file><br />
Post the corresponding links given within your forum post. Be sure to provide appropriate hardware and driver information as well.<br />
{{Warning| '''''It is very important to provide detail when troubleshooting X. Please provide all pertinent information as detailed above when asking for assistance on the Arch forums. '''''}}<br />
<br />
==Part IV: Installing and configuring a Desktop Environment ==<br />
While The '''X''' Window System provides the basic framework for building a ''graphical user interface'' (GUI), a '''Desktop Environment''' (DE), works atop and in conjunction with '''X''', to provide a completely functional and dynamic GUI. A DE typically provides a window manager, icons, applets, windows, toolbars, folders, wallpapers, a suite of applications and abilities like drag and drop. The particular functionalities and designs of each DE will uniquely affect your overall environment and experience. Therefore, choosing a DE is a very subjective and personal decision. Choose the best environment for ''your'' needs.<br />
<br />
If you desire a lighter, less demanding GUI to configure manually, you may choose to simply install a '''Window Manager''', or WM. A WM controls the placement and appearance of application windows in conjunction with the X Window System but does NOT include such features as panels, applets, icons, applications, etc., by default.<br />
* Lightweight floating WM's include: [[#Openbox|'''Openbox''']], [[#Fluxbox|'''Fluxbox''']], [[#fvwm2|'''fvwm2''']], [[PekWM|'''pekwm''']], [[Evilwm|'''evilwm''']], '''Windowmaker, and TWM'''.<br />
* If you need something completely different, try a tiling WM like [[Awesome|'''awesome''']], [[Ion3|'''ion3''']], [[Wmii|'''wmii''']], [[Dwm|'''dwm''']], [[Xmonad|'''xmonad''']], or [[Ratpoison|'''ratpoison''']].<br />
<br />
===Step 1: Install Fonts===<br />
At this point, you may wish to save time by installing visually pleasing, true type fonts, before installing a desktop environment/window manager. Dejavu and bitstream-vera are good, general-purpose font sets. You may also want to install the Microsoft font sets, which are especially popular on websites, and may be required for the proper function of Flash animations which feature text.<br />
<br />
Install with:<br />
# pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<br />
<br />
Refer to [[Xorg Font Configuration]] for how to configure fonts.<br />
<br />
===Step 2: ~/.xinitrc (again)===<br />
<br />
As '''non-root user''', edit your /home/username/.xinitrc to specify the DE you wish to use. This will allow you to use '''startx/xinit''' from the shell, in the future, to open your DE/WM of choice:<br />
<br />
$ nano ~/.xinitrc<br />
<br />
Uncomment or add the ''''exec''' ..' line of the appropriate desktop environment/window manager. Some examples are below:<br />
<br />
For the Xfce4 desktop environment:<br />
exec startxfce4 <br />
<br />
For the KDE desktop environment:<br />
exec startkde<br />
A '''startkde''' or '''startxfce4''' command starts the KDE or Xfce4 desktop environment. This is exactly the same as entering: <br />
$ xinit /usr/bin/startxfce4<br />
or<br />
$ xinit /usr/bin/starkde<br />
from the shell prompt. Note that such a command does not finish until you logout of the DE. Normally the shell would wait for KDE to finish, then run the next command. The &quot;exec&quot; prefix to this command within the ~/.xinitrc file tells the shell that this is the last command, so the shell does not need to wait to run a subsequent command.<br />
<br />
In the future, after the DE of choice is installed and if trouble with automounting is experienced, try using the following command in ~/.xinitrc instead. (Replace "startxfce4" with the command that is appropriate for your window manager/DE.)<br />
exec ck-launch-session startxfce4<br />
This will ensure the various environment variables are set correctly by starting a clean consolekit session. ConsoleKit is a framework for keeping track of the various users, sessions, and seats present on a system. It provides a mechanism for software to react to changes of any of these items or of any of the metadata associated with them. It works in conjunction with dbus, and other tools.<br />
<br />
Remember to have only one uncommented '''exec''' line in your ~/.xinitrc for now.<br />
<br />
===Step 3: Install a Desktop Environment===<br />
<br />
Continue below, installing the DE/WM of your choice.<br />
<br />
* [[#GNOME|'''GNOME''']]<br />
* [[#KDE|'''KDE''']]<br />
* [[#Xfce|'''Xfce''']]<br />
* [[#LXDE|'''LXDE''']]<br />
* [[#Openbox|'''Openbox''']]<br />
* [[#Fluxbox|'''Fluxbox''']]<br />
* [[#fvwm2|'''fvwm2''']]<br />
<br />
====GNOME====<br />
=====About GNOME=====<br />
The '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment. The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for end-users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.<br />
<br />
=====Installation=====<br />
Install the base GNOME environment with:<br />
# pacman -S gnome<br />
<br />
Additionally, you can install the extras:<br />
# pacman -S gnome-extra<br />
<br />
It's safe to choose all packages shown in the extra package.<br />
<br />
=====Useful DAEMONS for GNOME=====<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. Some users prefer to use the '''hal''' daemon. The '''hal''' daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The '''fam''' daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system. Both '''hal''' and '''fam''' can make life easier for the GNOME user. The hal and fam packages are installed when you install GNOME, but must be invoked to become useful.<br />
<br />
You may want to install a graphical login manager. For GNOME, the '''gdm''' daemon is a good choice. <br />
<br />
As root:<br />
# pacman -S gdm<br />
<br />
Start hal and fam:<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
<br />
Add them to your /etc/rc.conf DAEMONS section, so they will be invoked at boot:<br />
# nano /etc/rc.conf<br />
<br />
DAEMONS=(syslog-ng network crond alsa '''hal fam gdm''')<br />
(If you prefer to log into the console and manually start X, leave out gdm.)<br />
<br />
Then edit your /etc/gdm/custom.conf and in the '''[servers]''' section add:<br />
0=Standard vt7<br />
<br />
As normal user, start X:<br />
$ startx<br />
or<br />
$ xinit<br />
If ~/.xinitrc is not configured for GNOME, you may always start it with '''xinit''', followed by the path to GNOME:<br />
$ xinit /usr/bin/gnome-session<br />
<br />
{{Tip|Advanced instructions for installing and configuring GNOME can be found in the [[Gnome]] article.}}<br />
<br />
Congratulations! Welcome to your GNOME desktop environment on your new Arch Linux system! You may wish to continue by viewing '''[[Beginners Guide Appendix#Tweaks.2FFinishing_touches|Tweaks and finishing touches]]''', or the rest of the information below. You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
=====Eye Candy=====<br />
By default, GNOME does not come with many themes and icons. You may wish to install some more attractive artwork for GNOME:<br />
<br />
A nice gtk (gui widget) theme engine (includes themes) is the murrine engine. Install with:<br />
# pacman -S gtk-engine-murrine<br />
<br />
Optional for more themes:<br />
# pacman -S murrine-themes-collection <br />
<br />
Once it has been installed, select it with System -> Preferences -> Appearance -> Theme tab.<br />
<br />
The Arch Linux repositories also have a few more nice themes and engines. Install the following to see for yourself:<br />
<br />
# pacman -S gtk-engines gtk-aurora-engine gtk-candido-engine gtk-rezlooks-engine<br />
<br />
You can find many more themes, icons, and wallpapers at [http://www.gnome-look.org GNOME-Look].<br />
<br />
====KDE====<br />
=====About KDE=====<br />
The '''K''' '''D'''esktop '''E'''nvironment. KDE is a powerful Free Software graphical desktop environment for GNU/Linux and <tt>UNIX</tt> workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of <tt>UNIX</tt>-like operating systems.<br />
<br />
=====Installation=====<br />
Choose one of the following, then continue below with '''[[#Useful KDE DAEMONS|Useful KDE DAEMONS]]''': <br />
<br />
1. The package '''kde''' is the official and complete vanilla KDE 4.2 residing under the Arch [extra] repo.<br />
<br />
Install base kde:<br />
# pacman -S kdebase-workspace<br />
Install the whole Desktop Environment: <br />
# pacman -S kde<br />
''or'' <br />
# pacman -S kde-meta<br />
<br />
2. Alternatively, another KDE project exists called '''KDEmod''', part of the Chakra distribution. It is an Arch Linux (and spinoff) exclusive, community-driven package set designed for modularity and offers a choice between KDE 3.5.10 or 4.x.x. KDEmod can be installed with pacman, after adding the proper repositories to /etc/pacman.conf. The project website, including complete installation instructions, can be found at [http://www.chakra-project.org/ http://www.chakra-project.org/].<br />
<br />
=====Useful KDE DAEMONS=====<br />
<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services.<br />
<br />
KDE will require the '''hal''' ('''H'''ardware '''A'''bstraction '''L'''ayer) daemon for optimal functionality. The hal daemon, among other things, will facilitate the automatic mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The hal package is installed when you install xorg-server, but must be invoked to become useful.<br />
<br />
The '''kdm''' daemon is the '''K''' '''D'''isplay '''M'''anager, which provides a '''graphical login''', if desired.<br />
<br />
-----<br />
<br />
Start hal:<br />
# /etc/rc.d/hal start<br />
<br />
{{Note|The hal daemon relies on, and will automatically start, the dbus daemon.}}<br />
Edit your DAEMONS array in /etc/rc.conf:<br />
# nano /etc/rc.conf<br />
Add '''hal''' to your DAEMONS array, to invoke it on boot. If you prefer a graphical login, add '''kdm''' as well: <br />
DAEMONS=(syslog-ng '''hal''' network crond alsa '''kdm''')<br />
{{Note|If you installed KDEmod3 instead of normal KDE, use kdm3 instead of kdm.}}<br />
<br />
*This method will start the system at runlevel 3, (/etc/inittab default, multiuser mode), and then start KDM as a daemon. <br />
<br />
*Some users prefer an alternative method of starting a display manager like KDM on boot by utilizing the /etc/inittab method and starting the system at runlevel 5. See [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]] for more.<br />
<br />
*If you prefer to log into the '''console''' at runlevel 3, and manually start X, leave out kdm, or comment it out with a bang, ( ! ).<br />
<br />
Now try starting your X Server as normal user:<br />
$ startx<br />
or<br />
$ xinit<br />
{{Tip|Advanced instructions for installing and configuring KDE can be found in the [[KDE]] article.}}<br />
<br />
Congratulations! Welcome to your KDE desktop environment on your new Arch Linux system! You may wish to continue by viewing '''[[Beginners Guide Appendix|The Beginners Guide Appendix]]''', or the rest of the information below. You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
====Xfce====<br />
=====About Xfce=====<br />
Xfce is another free software desktop environment for Linux. It aims to be fast and lightweight, while still being visually appealing and easy to use. Xfce is modular and reusable. It consists of separately packaged components that together provide the full functionality of the desktop environment, but which can be selected in subsets to create the user's preferred personal working environment. Xfce is mainly used for its ability to run a modern desktop environment on relatively modest hardware. It is based on the GTK+ 2 toolkit (the same as GNOME). It uses the Xfwm window manager, described below. Its configuration is entirely mouse-driven, and the configuration files are hidden from the casual user.<br />
<br />
=====Installation=====<br />
Install Xfce: <br />
# pacman -S xfce4 <br />
You may also wish to install themes and extras:<br />
# pacman -S xfce4-goodies gtk2-themes-collection<br />
Note: '''xfce4-xfapplet-plugin''' (a plugin that allows the use of GNOME applets in the Xfce4 panel) is part of the '''xfce4-goodies''' group and depends on '''gnome-panel''', which in turn depends on '''gnome-desktop'''. You may wish to take this into consideration before installing, since it represents a significant number of extra dependencies.<br />
<br />
If you get errors about dbus-launch then you need to install dbus aswell:<br />
# pacman -S dbus<br />
<br />
If you wish to admire 'Tips and Tricks' on login, install the '''fortune-mod''' package:<br />
# pacman -S fortune-mod<br />
<br />
=====Useful DAEMONS=====<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. Some Xfce users prefer to use the '''hal''' daemon. The hal daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The fam daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system. The hal and fam packages are installed when you install Xfce, but must be invoked to become useful.<br />
<br />
Start hal and fam:<br />
<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
{{Note|The hal daemon relies on, and will automatically start, the dbus daemon.}}<br />
Edit your DAEMONS array in /etc/rc.conf:<br />
# nano /etc/rc.conf<br />
Add '''hal''' and '''fam''' to your DAEMONS array, to invoke them at boot.<br />
<br />
{{Tip|Advanced instructions for installing and configuring Xfce can be found in the [[Xfce]] article.}}<br />
<br />
If you wish to install one, see [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]]. Otherwise you can login in via the console and run:<br />
<br />
$ startxfce4<br />
<br />
Congratulations! Welcome to your Xfce desktop environment on your new Arch Linux system! You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
====LXDE====<br />
=====About LXDE=====<br />
LXDE, (for ''L''ightweight ''X''11 ''D''esktop ''E''nvironment), is a new project focused on providing a modern desktop environment which aims to be lightweight, fast, intuitive and functional while keeping system resource usage low. LXDE is quite different from other desktop environments, since each component of LXDE is a discrete and independent application, and each can be easily substituted by other programs. This modular design eliminates all unnecessary dependencies and provides more flexibility. Details and screenshots available at: http://lxde.org/ <br />
<br />
LXDE provides:<br />
# The OpenBox windowmanager<br />
# PCManFM File manager<br />
# LXpanel system panel<br />
# LXSession session manager<br />
# LXAppearance GTK+ theme switcher<br />
# GPicView image viewer<br />
# Leafpad simple text editor<br />
# XArchiver: Lightweight, fast, and desktop-independent gtk+-based file archiver<br />
# LXNM (still under development): Lightweight network manager for LXDE supporting wireless connections<br />
These lightweight and versatile tools combine for quick setup, modularity and simplicity.<br />
<br />
Install LXDE with: <br />
# pacman -S lxde gamin openbox<br />
<br />
Add:<br />
exec startlxde<br />
*If you experience problems with Policykit or plan on running '''nm-applet''', the following command should be used instead<br />
exec ck-launch-session startlxde<br />
to your ~/.xinitrc and start with ''startx'' or ''xinit''<br />
<br />
{{Tip | Further information available at the [[LXDE]] wiki article.}}<br />
<br />
====*box====<br />
=====Fluxbox=====<br />
Fluxbox is yet another windowmanager for X.<br />
It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar things exactly like blackbox (100% theme/style compability).<br />
<br />
Install Fluxbox using <br />
# pacman -S fluxbox fluxconf<br />
<br />
If you use gdm/kdm a new fluxbox session will be automatically added. Otherwise, you should modify your user's .xinitrc and add this to it:<br />
exec startfluxbox <br />
<br />
More information is available in the [[Fluxbox]] article.<br />
<br />
=====Openbox=====<br />
Openbox is a standards compliant, fast, light-weight, extensible window manager.<br />
<br />
Openbox works with your applications, and makes your desktop easier to manage. This is because the approach to its development was the opposite of what seems to be the general case for window managers. Openbox was written first to comply with standards and to work properly. Only when that was in place did the team turn to the visual interface.<br />
<br />
Openbox is fully functional as a stand-alone working environment, or can be used as a drop-in replacement for the default window manager in the GNOME or KDE desktop environments. <br />
<br />
Install openbox using<br />
# pacman -S openbox<br />
Additional configuration tools are also available, if desired:<br />
# pacman -S obconf obmenu<br />
<br />
Once openbox is installed you will get a message to move menu.xml & rc.xml to ~/.config/openbox/ in your home directory:<br />
# su - ''yourusername''<br />
$ mkdir -p ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/rc.xml ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/<br />
<br />
'''rc.xml''' is the main configuration file for OpenBox. It may be manually edited, (or you can use OBconf). '''menu.xml''' configures the right-click menu.<br />
<br />
You may log into OpenBox via graphical login using KDM/GDM, or from the shell using '''startx''', in which case you will need to edit your ~/.xinitrc (as non-root user) and add the following:<br />
<br />
exec openbox-session<br />
<br />
NOTE: If you plan on running dbus (which is required by hal) then make sure your ~/.xinitrc reads:<br />
<br />
exec dbus-launch --exit-with-session openbox-session<br />
<br />
You may also start OpenBox from the shell using '''xinit''':<br />
$ xinit /usr/bin/openbox-session<br />
* Openbox may also be used as the window manager for GNOME, KDE, and Xfce.<br />
For KDM there is nothing left to do; openbox is listed in the sessions menu in KDM.<br />
<br />
Some useful, lightweight programs for OpenBox are:<br />
* PyPanel, Tint2, or LXpanel if you want a panel<br />
* feh if you want to set the background<br />
* ROX if you want a simple file manager (also provides simple icons)<br />
* PcmanFM a lightweight but versatile file manager (also provides desktop icon functionality)<br />
* iDesk (available in [[AUR]]) for providing desktop icons<br />
* Graveman for burning CD's or DVD's<br />
<br />
{{Tip | More information is available in the [[Openbox]] article.}}<br />
<br />
====FVWM2====<br />
FVWM (F Virtual Window Manager) is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system. Development is active, and support is excellent. <br />
<br />
Install fvwm2 with<br />
# pacman -S fvwm <br />
<br />
It will install the official version of the WM. However, if you want/need to use some more features than it provides, you can install the patched version from archlinuxfr (see [[Unofficial user repositories]]) or [[AUR]]. To install it from AUR or archlinuxfr repesctively, execute:<br />
$ yaourt -S fvwm-patched<br />
or<br />
# pacman -S fvwm-patched<br />
<br />
fvwm will automatically be listed in kdm/gdm in the sessions menu. Otherwise, add <br />
exec fvwm 2 <br />
<br />
to your user's .xinitrc.<br />
<br />
When you start [[FVWM2]], you will get into the blank configuration. However, when you left-click on the desktop, you will be able to select to configure FVWM. chose wanted modules and you are ready to go. Check out the configs in the http://www.box-look.org. One should also consider checking FVWM forums at http://fvwm.lair.be<br />
<br />
[[SLiM]] is a very good login manager, that does not have many dependencies and acts well with FVWM. Common Applications are similar to those suggested for [[Openbox]] or [[Fluxbox]].<br />
<br />
==Common and Lightweight Applications==<br />
For a list of [[Common Applications]] and [[Lightweight Applications]], visit their respective articles.<br />
<br />
=Appendix=<br />
See the [[Beginners' Guide Appendix]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_old&diff=86428
Beginners' guide old
2009-12-05T19:19:21Z
<p>Keiichi: minor cleanup of the introduction</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]][[Category:About Arch (English)]]<br />
[[Category:HOWTOs (English)]][[Category:Accessibility (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Provides a highly detailed, explanatory guide to installing, configuring and using a full-featured Arch Linux system.}}<br />
{{Article summary heading|Languages}}<br />
{{i18n_entry|Česky|Průvodce začátečníka (Česky)}}<br />
{{i18n_entry|简体中文|Arch 新手安装指南 (简体中文)}}<br />
{{i18n_entry|正體中文|Beginner's Guide 新手指南}}<br />
{{i18n_entry|Dansk|Dansk_Begynderguide}}<br />
{{i18n_entry|Deutsch|Beginners Guide (Deutsch)}}<br />
{{i18n_entry|English|Beginners Guide}}<br />
{{i18n_entry|Español|Guía para Principiantes (Español)}}<br />
{{i18n_entry|Français|Manuel_du_Débutant_(Français)}}<br />
{{i18n_entry|Italiano|Beginners Guide (Italiano)}}<br />
{{i18n_entry|Indonesia|Beginners_Guide_(Indonesia)}}<br />
{{i18n_entry|Lietuviškai|Pradedančiųjų gidas (Lietuviškai)}}<br />
{{i18n_entry|Nederlands|Beginners_Guide_(Nederlands)}}<br />
{{i18n_entry|Português Brasil|Guia do Iniciante(Português do Brasil)}}<br />
{{i18n_entry|Português|Guia para Principiantes(Português)}}<br />
{{i18n_entry|Русский|Руководство_для_новичков}}<br />
{{i18n_entry|Türkçe|Başlangıç Rehberi (Türkçe)}}<br />
{{i18n_entry|हिन्दी|नौसिखिया गाइड(हिन्दी)}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Official Arch Linux Install Guide}} (for a more general approach)<br />
{{Article summary wiki|Beginners' Guide Appendix}}<br />
{{Article summary wiki|Post Installation Tips}}<br />
{{Article summary end}}<br />
[http://wiki.archlinux.org/index.php/Category:Accessibility_(English) Accessibility resources available]<!-- Making this a note brakes the format --><br />
==Preface==<br />
=====Introduction=====<br />
This document will guide you through the process of installing and configuring [[Arch Linux]]; a simple, agile and lightweight GNU/Linux distribution, and <tt>UNIX</tt>-like operating system targeted at competent users. <br />
* Arch Linux requires a certain level of intimate knowledge of its configuration process and of <tt>UNIX</tt>-like system methodology, and for this reason, extra explanatory information is included. <br />
* This guide is aimed at new Arch users, but strives to serve as a strong reference and informative base for all.<br />
<br />
'''Arch Linux has:'''<br />
* [[The Arch Way]]; Which follows <tt>UNIX</tt>-like design and philosophy<br />
* All its packages compiled for the i686 and x86_64 architectures<br />
* The [[Arch Boot Process]]; Which uses BSD style init scripts, featuring one centralized configuration file<br />
* mkinitcpio; A simple and dynamic initramfs creator<br />
* The [[Pacman]] package manager; Which is lightweight and agile, with a very modest memory footprint<br />
* The [[Arch Build System]]; A ports like package building system, making it simple to create your own easily installable Arch packages from source<br />
* The [[Arch User Repository]]; Which offers thousands of build scripts for Arch from user provided software packages<br />
<br />
=====License=====<br />
<br />
Arch Linux, pacman, documentation, and scripts are copyright<br />
©2002-2007 by Judd Vinet, ©2007-2009 by Aaron Griffin and are licensed under the GNU General Public License Version 2.<br />
<br />
=====Don't Panic=====<br />
The Arch Linux system is assembled by the ''user'', from the shell, using basic command line tools. Unlike the more rigid structures of other distributions and installers, there are no default environments nor configurations chosen for you. From the command line, ''you'' will add packages from the Arch repositories using the pacman tool via your internet connection and manually configure your installation by editing text files until your system is customized to your requirements. You will also manually add non-root user(s) and manage groups and permissions. This method allows for maximum flexibility, choice, and system resource control ''from the base up''.<br />
<br />
Arch Linux is a distribution aimed at competent GNU/Linux users who desire a 'do-it-yourself' approach.<br />
<br />
=====The Arch Way=====<br />
<br />
'''''The design principles behind Arch are aimed at keeping it simple.'' '''<br />
<br />
'Simple', in this context, shall mean 'without unnecessary additions, modifications, or complications'. In short; an elegant, minimalist approach.<br />
<br />
'''Some thoughts to keep in mind as you consider simplicity:'''<br />
<br />
*''&quot; 'Simple' is defined from a technical standpoint, not a usability standpoint. It is better to be technically elegant with a higher learning curve, than to be easy to use and technically [inferior].&quot; -Aaron Griffin''<br />
*''Entia non sunt multiplicanda praeter necessitatem'' or &quot;Entities should not be multiplied unnecessarily.&quot; -Occam's razor. The term ''razor'' refers to the act of shaving away unnecessary complications to arrive at the simplest explanation, method or theory.<br />
*''&quot;The extraordinary part of [my method] lies in its simplicity..The height of cultivation always runs to simplicity.&quot;'' - Bruce Lee<br />
<br />
=====About This Guide=====<br />
<br />
The Arch wiki is an excellent resource and should be consulted for issues [[Main Page|first]]. The IRC room (at freenode #archlinux), and the [http://bbs.archlinux.org/ forums] are also available if the answer cannot be found elsewhere.<br />
<br />
{{Note|Following this guide closely is essential in order to successfully install a properly configured Arch Linux system, so ''please'' read it thoroughly. It is strongly recommended you read each section completely <u>before</u> carrying out the tasks contained.}}<br />
<br />
Since GNU/Linux Distributions are fundamentally 'modular' by design, the guide is logically divided into 4 main components of a desktop <tt>UNIX</tt>-like operating system: <br />
<br />
'''[[#Part I: Install the Base System|Part I: Installing the Base system]]'''<br />
<br />
'''[[#Part II: Configure & Update the New Arch Linux base system|Part II: Configure & Update the New Arch Linux base system]]'''<br />
<br />
'''[[#Part III: Install X and configure ALSA|Part III: Installing X and configuring ALSA]]'''<br />
<br />
'''[[#Part IV: Installing and configuring a Desktop Environment|Part IV: Installing a Desktop Environment]]'''<br />
<br />
==Part I: Install the Base System==<br />
<br />
===Step 1: Obtain the latest Installation media ===<br />
<br />
You can obtain Arch's official installation media from [http://archlinux.org/download/ here]. The latest version is 2009.08 <br />
<br />
*Both the Core and the Netinstall images provide only the necessary packages to create an '''Arch Linux base system'''. ''Note that the Base System does not include a GUI. It is mainly comprised of the GNU toolchain (compiler, assembler, linker, libraries, shell, and utilities), the Linux kernel, and a few extra libraries and modules.''<br />
*Core images facilitate both installing from CD and Net. <br />
*Netinstall images are smaller and provide no packages themselves; the entire system is retrieved via internet.<br />
*The isolinux images are provided for people who experience trouble using the grub version. There are no other differences.<br />
* [[Arch64_FAQ|The Arch64 FAQ]] can help you choose between the 32- and 64-bit versions.<br />
<br />
====CD installer====<br />
Burn the .iso image file to a CD with your preferred CD burner drive and software, and continue with [[#Step 2: Boot Arch Linux Installer | Step 2: Boot Arch Linux Installer]]<br />
{{Note| The quality of optical drives, as well as the CD media itself, vary greatly. Generally, using a slow burn speed is recommended for reliable burns; Some users recommend speeds '''''as low as 4x or 2x.''''' If you are experiencing unexpected behavior from the CD, try burning at the minimum speed supported by your system. }}<br />
<br />
====USB stick====<br />
{{Warning|This will irrevocably destroy all data on your USB stick!}}<br />
<br />
'''<tt>UNIX</tt> Method:'''<br />
<br />
Insert an empty or expendable USB stick, determine its path, and write the .img to the USB stick with the <code>/bin/dd</code> program:<br />
dd if=archlinux-2009.08-''{core|netinstall}''-''{i686|x86_64}''.img of=/dev/sd''x''<br />
where <code>if=</code> is the path to the img file and <code>of=</code> is your USB device. Make sure to use {{Filename|/dev/sd'''x'''}} and not {{Filename|/dev/sd'''x1'''}}.<br />
<br />
'''Check md5sum (optional):'''<br />
<br />
Make a note of the number of records (blocks) read in and written out, then perform the following check:<br />
dd if=/dev/sd''x'' count=''number_of_records'' status=noxfer | md5sum<br />
The md5sum returned should match the md5sum of the downloaded archlinux image file; they both should match the md5sum of the image as listed in the md5sums file in the mirror distribution site.<br />
<br />
'''Windows Method:'''<br />
<br />
Download Disk Imager from https://launchpad.net/win32-image-writer/+download. Insert flash media. Start the Disk Imager and select the image file. Select the Drive letter associated with the flash drive. Click "write".<br />
<br />
Continue with [[#Step 2: Boot Arch Linux Installer | Step 2: Boot Arch Linux Installer]]<br />
<br />
===Step 2: Boot Arch Linux Installer===<br />
Insert the CD or USB stick and boot from it. You may have to<br />
change the boot order in your computer BIOS or press a key (usually DEL, F1, F2, F11 or F12) during the BIOS POST (Power On Self-Test) phase.<br />
<br />
{{Tip|The memory requirements for a basic install are:<br />
* Core : 128 MB RAM x86_64/i686 (all packages selected, with swap partition)<br />
* Netinstall : 128 MB RAM x86_64/i686 (all packages selected, with swap partition)}}<br />
<br />
The main menu should be displayed at this point. Select the preferred choice by using the arrow keys to highlight your choice, and then by pressing Enter.<br />
<br />
Usually, the first item, Boot Archlive, is the preferred selection. However, choose Boot Archlive [legacy IDE] if you have trouble with libata/PATA, or have no SATA (Serial ATA) drives.<br />
<br />
To change GRUB boot options, press '''e'''. Many users may wish to change the resolution of the framebuffer, for more readable console output. Append:<br />
vga=773<br />
to the kernel line, followed by <ENTER>, for a 1024x768 framebuffer. When done, press '''b''' to boot into that selection.<br />
<br />
The system will now boot and present a login prompt. Login as 'root', without the quotes.<br />
<br />
If your system has errors trying to boot from the live CD or there are other '''hardware''' errors, refer to the [[Installation Troubleshooting]] wiki page.<br />
<br />
====Changing the keymap====<br />
If you have a non-US keyboard layout you can interactively choose your keymap/console font with the command:<br />
# km<br />
or use the loadkeys command:<br />
# loadkeys ''layout''<br />
(replace ''layout'' with your keyboard layout such as &quot;<code>fr</code>&quot; or &quot;<code>be-latin1</code>&quot;)<br />
<br />
====Documentation====<br />
The official install guide is conveniently available right on the live system! To access it, change to vc/2 (virtual console #2) with <ALT>+F2, and then invoke <code>/usr/bin/less</code> by typing in the following at the # prompt:<br />
# less /arch/docs/official_installation_guide_en<br />
<code>less</code> will allow you to page through the document. Change back to vc/1 with <ALT>+F1 to follow the rest of the install process.<br />
<br />
Change back to vc/2 at any time if you need to reference the Official Guide as you go thru the installation process.<br />
<br />
{{tip|Please note that the official guide only covers installation and configuration of the base system. Once that is installed, it is strongly recommended that you come back here to the wiki to find out more about post-installation considerations and other related issues.}}<br />
<br />
===Step 3: Start the Installation===<br />
As root, run the installer script from vc/1:<br />
# /arch/setup<br />
<br />
===A: Select an installation source===<br />
After a welcome screen, you will be prompted for an installation source. Choose the appropriate source for the installer you are using.<br />
* If you chose the CORE installer, continue below with [[#B: Set Clock|B: Set Clock]].<br />
* Netinstall only: You shall be prompted to load ethernet drivers manually, if desired. Udev is quite effective at loading the required modules, so you may assume it has already done so. You may verify this by invoking ifconfig -a from vc/3. (Select OK to continue.)<br />
<br />
====Configure Network (Netinstall)====<br />
Available Interfaces will be presented. If an interface and HWaddr ('''H'''ard'''W'''are '''addr'''ess) is listed, then your module has already been loaded. If your interface is not listed, you may probe it from the installer, or manually do so from another virtual console.<br />
<br />
The following screen will prompt you to ''Select the interface, Probe,'' or ''Cancel''. Choose the appropriate interface and continue.<br />
<br />
The installer will then ask if you wish to use DHCP. Choosing Yes will run '''dhcpcd''' to discover an available gateway and request an IP address; Choosing No will prompt you for your static IP, netmask, broadcast, gateway DNS IP, HTTP proxy, and FTP proxy. Lastly, you will be presented with an overview to ensure your entries are correct.<br />
<br />
=====(A)DSL Quickstart for the Live Environment (If you have a pure modem (or router in bridge mode) to connect to your ISP) =====<br />
<br />
Switch to another virtual console (<Alt> + F2), login as root and invoke <br />
# pppoe-setup<br />
If everything is well configured in the end you can connect to your ISP with <br />
# pppoe-start<br />
<br />
Return to first virtual console with <ALT>+F1. Continue with [[#B: Set Clock|B: Set Clock]]<br />
<br />
=====Wireless Quickstart For the Live Environment (If you need wireless connectivity during the installation process)=====<br />
<br />
The wireless drivers and utilities are now available to you in the live environment of the installation media. A good knowledge of your wireless hardware will be of key importance to successful configuration. Note that the following quickstart procedure ''executed at this point in the installation'' will initialize your wireless hardware for use ''in the live environment''. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. <br />
<br />
Also note that these steps are optional if wireless connectivity is unnecessary at this point in the installation; wireless functionality may always be established later.<br />
<br />
The basic procedure will be:<br />
* Switch to a free virtual console, e.g.: <ALT>+F3<br />
* (Optional) Identify the wireless interface and driver module:<br />
# lsmod | grep -i net<br />
* Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with <code>/usr/sbin/iwconfig</code>:<br />
# iwconfig<br />
Example output:<br />
lo no wireless extensions.<br />
eth0 no wireless extensions.<br />
wlan0 unassociated ESSID:""<br />
Mode:Managed Channel=0 Access Point: Not-Associated <br />
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=8/0 <br />
Retry limit:7 RTS thr:off Fragment thr:off<br />
Power Management:off<br />
Link Quality:0 Signal level:0 Noise level:0<br />
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0<br />
Tx excessive retries:0 Invalid misc:0 Missed beacon:0<br />
<code>wlan0</code> is the available wireless interface in the example.<br />
* Bring the interface up with <code>/sbin/ifconfig <interface> up</code>.<br />
An example using the wlan0 interface:<br />
# ifconfig wlan0 up<br />
(Remember, your interface may be named something else, depending on your module (driver) and chipset: wlan0, eth1, etc.)<br />
* If the essid has been forgotten or is unknown, use <code>/sbin/iwlist <interface> scan</code> to scan for nearby networks.<br />
# iwlist wlan0 scan<br />
* Specify the id of the chosen wireless network with iwconfig <interface> essid &quot;<youressid>&quot; key <your_wep_key> (give the essid (the 'network name') of the network in quotes). <br />
* An example using WEP and a hexadecimal key:<br />
# iwconfig wlan0 essid &quot;linksys&quot; key 0241baf34c<br />
* An example using WEP and an ASCII passphrase:<br />
# iwconfig wlan0 essid "linksys" key s:pass1<br />
* An example using an unsecured network:<br />
# iwconfig wlan0 essid "linksys"<br />
* Request an IP address with <code>/sbin/dhcpcd <interface> </code>. e.g.:<br />
# dhcpcd wlan0<br />
* Ensure you can route using <code>/bin/ping</code>:<br />
# ping -c 3 www.google.com<br />
Done.<br />
* For connecting to a network using WPA, consult the [[WPA Supplicant]] article, and continue below.<br />
<br />
======Does the Wireless Chipset require Firmware?======<br />
A small percentage of wireless chipsets also require firmware, in addition to a corresponding driver. If unsure, invoke <code>/usr/bin/dmesg</code> to query the kernel log for a firmware request from the wireless chipset:<br />
# dmesg | grep firmware<br />
Example output from an Intel chipset which requires and has requested firmware from the kernel at boot:<br />
firmware: requesting iwlwifi-5000-1.ucode<br />
If there is no output, it may be concluded that the system's wireless chipset does not require firmware.<br />
<br />
{{Note | '''Wireless chipset firmware packages (for cards which require them) are pre-installed under /lib/firmware in the live environment, (on CD/USB stick) ''but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it!'' Package selection and installation is covered below. Ensure installation of both your wireless module and firmware during the package selection step! See [[Wireless Setup]] if you are unsure about the requirement of corresponding firmware installation for your particular chipset. This is a very common error.'''}}<br />
<br />
After the initial Arch installation is complete, you may wish to refer to [[Wireless Setup]] to ensure a permanent configuration solution for your installed system.<br />
<br />
Return to vc/1 with <ALT>+F1. Continue with [[#B: Set Clock|B: Set Clock]]<br />
<br />
===B: Set Clock===<br />
* UTC - Choose UTC if running only <tt>UNIX</tt>-like operating system(s).<br />
<br />
* localtime - Choose local if multi-booting with a Microsoft Windows OS.<br />
<br />
===C: Prepare Hard Drive===<br />
<br />
{{Warning|Partitioning hard drives can destroy data. You are strongly cautioned and advised to backup your critical data if applicable.}}<br />
<br />
{{Note|Partitioning may be performed before initiating the Arch installation if desired, by utilizing [http://gparted.sourceforge.net/download.php GParted] or other available tools. If the installation drive has already been partitioned to the required specifications, continue with [[#Set Filesystem Mountpoints| Set Filesystem Mountpoints]]}}<br />
<br />
Verify current disk identities and layout by invoking <code>/sbin/fdisk</code> with the <code>-l</code> (lower-case L) switch.<br />
<br />
Open another virtual console (<ALT>+F3) and enter:<br />
# fdisk -l<br />
Take note of the disk(s)/partition(s) to utilize for the Arch installation.<br />
<br />
Switch back to the installation script with <ALT>+F1<br />
<br />
Select the first menu entry &quot;Prepare Hard Drive&quot;.<br />
* Option 1: Auto Prepare<br />
Auto-Prepare divides the disk into the following configuration:<br />
<br />
* ext2 /boot partition, default size 32MB. ''You will be prompted to modify the size to your requirement.''<br />
* swap partition, default size 256MB. ''You will be prompted to modify the size to your requirement.''<br />
* A Separate / and /home partition, (sizes can also be specified). Available filesystems include ext2, ext3, ext4, reiserfs, xfs and jfs, but note that ''both / and /home shall share the same fs type'' if choosing the Auto Prepare option.<br />
<br />
Be warned that Auto-prepare will completely erase the chosen hard drive. Read the <font color=&quot;red&quot;>warning</font> presented by the installer very carefully, and make sure the correct device is about to be partitioned.<br />
<br />
* Option 2: '''(Recommended)''' Partition Hard Drives (with cfdisk)<br />
<br />
This option will allow for the most robust and customized partitioning solution for your personal needs.<br />
<br />
''At this point, more advanced GNU/Linux users who are familiar and comfortable with manually partitioning may wish to skip down to '''[[#D: Select Packages|D: Select Packages]]''' below.''<br />
<br />
{{Note|If you are installing to a USB flash key, see "[[Installing Arch Linux on a USB key]]".}}<br />
<br />
====Partition Hard Drives====<br />
<br />
=====Partition Info=====<br />
<br />
Partitioning a hard disk drive defines specific areas (the partitions) within the disk, that will each appear and behave as a separate disk and upon which a filesystem may be created (formatted).<br />
*There are 3 types of disk partitions:<br />
#Primary<br />
#Extended<br />
#Logical<br />
'''Primary''' partitions can be bootable, and are limited to 4 partitions per disk or raid volume. If a partitioning scheme requires more than 4 partitions, an '''extended''' partition which will contain '''logical''' partitions will be required.<br />
<br />
Extended partitions are not usable by themselves; they are merely a &quot;container&quot; for logical partitions. If required, a hard disk shall contain only one extended partition; which shall then be sub-divided into logical partitions.<br />
<br />
When partitioning a disk, one can observe this numbering scheme by creating primary partitions sda1 through sda3 followed by creating an extended partition, sda4, and subsequently creating logical partition(s) within the extended partition; sda5, sda6, and so on.<br />
<br />
=====Swap Partition=====<br />
A swap partition is a place on the drive where virtual ram resides, allowing the kernel to easily use disk storage for data that does not fit into physical RAM.<br />
<br />
Historically, the general rule for swap partition size was 2x the amount of physical RAM. Over time, as computers have gained ever larger memory capacities, this rule has become increasingly deprecated. Generally, on machines with up to 512MB RAM, the 2x rule is usually quite sufficient. On machines with 1GB RAM, generally a 1x rule is adequate. If the installation machine provides gratuitous amounts of RAM (more than 1024 MB) it may be possible to completely forget a swap partition altogether, though this is not recommended (see note below). A 1 GB swap partition will be used in this example.<br />
{{Note|If using suspend-to-disk, (hibernate) a swap partition at least '''equal''' in size to the amount of physical RAM is required. Some Arch users even recommend oversizing it beyond the amount of physical RAM by 10-15%, to allow for possible bad sectors.}}<br />
<br />
=====Partition Scheme=====<br />
A disk partitioning scheme is a very personalized preference. Each user's choices will be unique to their own computing habits and requirements. If you would like to dual boot Arch Linux and a Windows operating systems please see [[Windows and Arch Dual Boot]].<br />
<br />
Filesystem candidates for separate partitions include:<br />
<br />
'''/''' (root) ''The root filesystem is the primary filesystem from which all other filesystems stem; the top of the hierarchy. All files and directories appear under the root directory &quot;/&quot;, even if they are stored on different physical devices. The contents of the root filesystem must be adequate to boot, restore, recover, and/or repair the system. Therefore, certain directories under / are not themselves candidates for separate partitions. (See warning below).''<br />
<br />
'''/boot''' ''This directory contains the kernel and ramdisk images as well as the bootloader configuration file, and bootloader stages. /boot also stores data that is used before the kernel begins executing userspace programs. This may include saved master boot sectors and sector map files. /boot is essential for booting, but is unique in that it may still be kept on its own separate partition (if required).''<br />
<br />
'''/home''' ''User data and user specific configuration files for applications are stored in each user's home directory in a file that starts with the '.' character (a &quot;dot file&quot;).''<br />
<br />
'''/usr''' ''While root is the primary filesystem, /usr is the secondary hierarchy, for user data, containing the majority of (multi-)user utilities and applications. /usr is shareable, read-only data. This means that /usr shall be shareable between various hosts and must not be written to, except in the case of system update/upgrade. Any information that is host-specific or varies with time is stored elsewhere.''<br />
<br />
'''/tmp''' ''directory for programs that require temporary files''<br />
<br />
'''/var''' ''contains variable data; spool directories and files, administrative and logging data, pacman's cache, the ABS tree, etc.''<br />
{{Warning | Besides /boot, directories essential for booting are: ''''''/bin', '/dev', '/etc', '/lib', '/proc' and '/sbin'. Therefore, they must not reside on a separate partition from /.'''''}}<br />
'''''There are several advantages for using discrete filesystems, rather than combining all into one partition''''':<br />
<br />
* Security: Each filesystem may be configured in /etc/fstab as 'nosuid', 'nodev', 'noexec', 'readonly', etc.<br />
* Stability: A user, or malfunctioning program can completely fill a filesystem with garbage if they have write permissions for it. Critical programs, which reside on a different filesystem remain unaffected.<br />
* Speed: A filesystem which gets written to frequently may become somewhat fragmented. (An effective method of avoiding fragmentation is to ensure that each filesystem is never in danger of filling up completely.) Separate filesystems remain unaffected, and each can be defragmented separately as well.<br />
* Integrity: If one filesystem becomes corrupted, separate filesystems remain unaffected.<br />
* Versatility: Sharing data across several systems becomes more expedient when independent filesystems are used. Separate filesystem types may also be chosen based upon the nature of data and usage.<br />
In this example, we shall use separate partitions for /, /var, /home, and a swap partition.<br />
<br />
{{Note | /var contains many small files. This should be taken into consideration when choosing a filesystem type for it, (if creating its own separate partition).}}<br />
<br />
=====How big should my partitions be?=====<br />
This question is best answered based upon individual needs.<br />
You may wish to simply create '''one partition for root and one partition for swap or only one root partition without swap''' or refer to the following examples and consider these guidelines to provide a frame of reference:<br />
* The root filesystem (/) in the example will contain the /usr directory, which can become moderately large, depending upon how much software is installed. 15-20 GB should be sufficient for most users.<br />
<br />
* The /var filesystem will contain, among other data, the [[ABS]] tree and the pacman cache. Keeping cached packages is useful and versatile; it provides the ability to downgrade packages if needed. /var tends to grow in size; the pacman cache can grow large over long periods of time, but can be safely cleared if needed. If you are using an SSD, you may wish to locate your /var on an HDD and keep the / and /home partitions on your SSD to avoid needless read/writes to the SSD. 6-8 Gigs on a desktop system should be sufficient for /var. Servers tend to have extremely large /var filesystems.<br />
<br />
* The /home filesystem is typically where user data, downloads, and multimedia reside. On a desktop system, /home is typically the largest filesystem on the drive by a large margin. Remember that if you chose to reinstall Arch, all the data on your /home partition will be untouched (so long as you have a separate /home partition). <br />
<br />
* An extra 25% of space added to each filesystem will provide a cushion for unforeseen occurrence, expansion, and serve as a preventive against fragmentation.<br />
'''''From the guidelines above, the example system shall contain a ~15GB root (/) partition, ~7GB /var, 1GB swap, and a /home containing the remaining disk space.'''''<br />
<br />
=====Create Partition:cfdisk=====<br />
Start by creating the primary partition that will contain the '''root''', (/) filesystem.<br />
<br />
Choose '''N'''ew -> Primary and enter the desired size for root (/). Put the partition at the beginning of the disk.<br />
<br />
Also choose the '''T'''ype by designating it as '83 Linux'. The created / partition shall appear as sda1 in our example.<br />
<br />
Now create a primary partition for /var, designating it as '''T'''ype 83 Linux. The created /var partition shall appear as sda2<br />
<br />
Next, create a partition for swap. Select an appropriate size and specify the '''T'''ype as 82 (Linux swap / Solaris). The created swap partition shall appear as sda3.<br />
<br />
Lastly, create a partition for your /home directory. Choose another primary partition and set the desired size.<br />
<br />
Likewise, select the '''T'''ype as 83 Linux. The created /home partition shall appear as sda4.<br />
<br />
Example:<br />
<br />
Name Flags Part Type FS Type [Label] Size (MB)<br />
-------------------------------------------------------------------------<br />
sda1 Primary Linux 15440 #root<br />
sda2 Primary Linux 6256 #/var<br />
sda3 Primary Linux swap / Solaris 1024 #swap<br />
sda4 Primary Linux 140480 #/home<br />
<br />
Choose '''W'''rite and type ''''yes''''. Beware that this operation may destroy data on your disk. Choose '''Q'''uit to leave the partitioner.<br />
Choose Done to leave this menu and continue with &quot;Set Filesystem Mountpoints&quot;.<br />
<br />
{{Note | Since the latest developments of the Linux kernel which include the libata and PATA modules, all IDE, SATA and SCSI drives have adopted the sd''x'' naming scheme. This is perfectly normal and should not be a concern.}}<br />
<br />
====Set Filesystem Mountpoints====<br />
First you will be asked for your swap partition. Choose the appropriate partition (sda3 in this example). You will be asked if you want to create a swap filesystem; select yes. Next, choose where to mount the / (root) directory (sda1 in the example). At this time, you will be asked to specify the filesystem type.<br />
<br />
=====Filesystem Types=====<br />
Again, a filesystem type is a very subjective matter which comes down to personal preference. Each has its own advantages, disadvantages, and unique idiosyncrasies. Here is a very brief overview of supported filesystems:<br />
<br />
1. '''ext2''' ''Second Extended Filesystem''- Old, reliable GNU/Linux filesystem. Very stable, but ''without journaling support''. May be inconvenient for root (/) and /home, due to very long fsck's. ''An ext2 filesystem can easily be converted to ext3.'' Generally regarded as a good choice for /boot/.<br />
<br />
2. '''ext3''' ''Third Extended Filesystem''- Essentially the ext2 system, but with journaling support. ext3 is completely compatible with ext2. ''Extremely'' stable, mature, and by far the most widely used, supported and developed GNU/Linux FS.<br />
<br />
'''High Performance Filesystems:'''<br />
<br />
3. '''ext4''' ''Fourth Extended Filesystem''- Backward compatible with ext2 and ext3, Introduces support for volumes with sizes up to 1 exabyte and files with sizes up to 16 terabyte. Increases the 32,000 subdirectory limit in ext3 to 64,000. Offers online defragmentation ability. <br />
{{Note | ext4 is a new filesystem and may have some bugs.}}<br />
<br />
4. '''ReiserFS''' (V3)- Hans Reiser's high-performance journaling FS uses a very interesting method of data throughput based on an unconventional and creative algorithm. ReiserFS is touted as very fast, especially when dealing with many small files. ReiserFS is fast at formatting, yet comparatively slow at mounting. Quite mature and stable. ReiserFS is not actively developed at this time (Reiser4 is the new Reiser filesystem). Generally regarded as a good choice for /var/.<br />
<br />
5. '''JFS''' - IBM's '''J'''ournaled '''F'''ile'''S'''ystem- The first filesystem to offer journaling. JFS had many years of use in the IBM AIX® OS before being ported to Linux. JFS currently uses the least CPU resources of any GNU/Linux filesystem. Very fast at formatting, mounting and fsck's, and very good all-around performance, especially in conjunction with the deadline I/O scheduler. (See [[JFS]].) Not as widely supported as ext or ReiserFS, but very mature and stable.<br />
<br />
6. '''XFS''' - Another early journaling filesystem originally developed by Silicon Graphics for the IRIX OS and ported to Linux. XFS offers very fast throughput on large files and large filesystems. Very fast at formatting and mounting. Generally benchmarked as slower with many small files, in comparison to other filesystems. XFS is very mature and offers online defragmentation ability.<br />
* JFS and XFS filesystems cannot be ''shrunk'' by disk utilities (such as gparted or parted magic)<br />
<br />
===== A note on Journaling=====<br />
All above filesystems, except ext2, utilize [http://en.wikipedia.org/wiki/Journaling_file_system journaling]. Journaling file systems are fault-resilient file systems that use a journal to log changes before they are committed to the file system to avoid metadata corruption in the event of a crash. Note that not all journaling techniques are alike; specifically, only ext3 and ext4 offer ''data-mode journaling'', (though, not by default), which journals ''both'' data ''and'' meta-data (but with a significant speed penalty). The others only offer ''ordered-mode journaling'', which journals meta-data only. While all will return your filesystem to a valid state after recovering from a crash, ''data-mode journaling'' offers the greatest protection against file system corruption and data loss but can suffer from performance degradation, as all data is written twice (first to the journal, then to the disk). Depending upon how important your data is, this may be a consideration in choosing your filesystem type.<br />
<br />
'''''Moving on...'''''<br />
<br />
Choose and create the filesystem (format the partition) for / by selecting '''yes'''. You will now be prompted to add any additional partitions. In our example, sda2 and sda4 remain. For sda2, choose a filesystem type and mount it as /var. Finally, choose the filesystem type for sda4, and mount it as /home. <br />
{{Box Note |If you have not created and do not need a separate /boot partition, you may safely ignore the warning that it does not exist.}} Return to the main menu.<br />
<br />
===D: Select Packages===<br />
<br />
*Core ISO: Choose CD as source and select the appropriate CD drive if more than one exist on the installation machine.<br />
*Netinstall: Select an FTP/HTTP mirror. ''Note that archlinux.org is throttled to 50KB/s''.<br />
<br />
Package selection is split into two stages. First, select the package category:<br />
{{Note | For expedience, all packages in '''base''' are selected by default. Use the space-bar to select and de-select packages.}}<br />
* '''Base''': The minimal base environment. ''Always select it and only remove packages that will not be used.''<br />
* '''Base-devel''': Extra tools such as '''make''', '''automake''' and '''wireless-tools''' as well as wireless firmwares. ''Most beginners should choose to install it, and will probably need it later.<br />
''<br />
After category selection, you will be presented with the full lists of packages, allowing you to fine-tune your selections. Use the space bar to select and unselect.<br />
<br />
{{Note | If you are going to require connection to a wireless network with WPA encryption, consider installing netcfg2 (as well as wireless_tools), which will enable you to do so.}}<br />
<br />
Adter selecting the needed packages, leave the selection<br />
screen and continue to the next step, Install Packages.<br />
<br />
===E: Install Packages===<br />
Next, choose 'Install Packages'. You will be asked if you wish to keep the packages in the pacman cache. If you choose 'yes', you will have the flexibility to [[Downgrade packages|downgrade]] to previous package versions in the future, so this is recommended (you can always clear the cache in the future). The installer script will now install the selected packages, as well as the default Arch 2.6 kernel, to your system.<br />
*Netinstall: The [[Pacman]] package manager will now download and install your selected packages. (See vc/5 for output, vc/1 to return to the installer)<br />
*Core image: The packages will be installed from the CD/USB stick.<br />
<br />
===F: Configure the System===<br />
''Closely following and understanding these steps is of key importance to ensure a properly configured system.''<br />
<br />
*At this stage of the installation, you will configure the primary configuration files of your Arch Linux base system.<br />
<br />
*Previous versions of the installer included [[Hwdetect|hwdetect]] to gather information for your configuration. This has been deprecated, and '''[[Udev|udev]]''' should handle most module loading automatically at boot.<br />
<br />
Now you will be asked which text editor you want to use; choose [[Nano|nano]], [http://joe-editor.sourceforge.net/ joe] or [[Vim|vi]], ('''nano''' is generally considered easiest of the 3). You will be presented with a menu including the main configuration files for your system. <br />
<br />
{{Note | ''It is very important at this point to edit, or at least verify by opening, every configuration file.'' The installer script relies on your input to create these files on your installation. A common error is to skip over these critical steps of configuration.}}<br />
<br />
=====Can the installer handle this more automatically?=====<br />
Hiding the process of system configuration is in direct opposition to '''''[[The Arch Way]]'''''. While it is true that recent versions of the kernel and hardware probing tools offer excellent hardware support and auto-configuration, Arch presents the user all pertinent configuration files during installation for the purposes of ''transparency and system resource control''. By the time you have finished modifying these files to your specifications, you will have learned the simple method of manual Arch Linux system configuration and become more familiar with the base structure, leaving you better prepared to use and maintain your new installation productively.<br />
<br />
'''''Moving on...'''''<br />
<br />
====/etc/rc.conf====<br />
Arch Linux uses the file '''/etc/rc.conf''' as the principal location for system configuration. This one file contains a wide range of configuration information, principally used at system startup. As its name directly implies, it also contains settings for and invokes the /etc/rc* files, and is, of course, sourced ''by'' these files.<br />
<br />
=====LOCALIZATION section=====<br />
* '''LOCALE'''=: This sets your system locale, which will be used by all i18n-aware applications and utilities. You can get a list of the available locales by running {{Codeline|locale -a}} from the command line. This setting's default is fine for US English users.<br />
* '''HARDWARECLOCK'''=: Specifies whether the hardware clock, which is synchronized on boot and on shutdown, stores '''UTC''' time, or '''localtime'''. UTC makes sense because it greatly simplifies changing timezones and daylight savings time. localtime is necessary if you dual boot with an operating system such as Windows, that only stores localtime to the hardware clock.<br />
* '''USEDIRECTISA'''=: Use direct I/O request instead of {{Filename|/dev/rtc}} for hwclock<br />
* '''TIMEZONE'''=: Specify your TIMEZONE. (All available zones are under {{Filename|/usr/share/zoneinfo/}}).<br />
* '''KEYMAP'''=: The available keymaps are in {{Filename|/usr/share/kbd/keymaps}}. Please note that this setting is only valid for your TTYs, not any graphical window managers or '''X'''.<br />
* '''CONSOLEFONT'''=: Available console fonts reside under {{Filename|/usr/share/kbd/consolefonts/}} if you must change. The default (blank) is safe.<br />
* '''CONSOLEMAP'''=: Defines the console map to load with the setfont program at boot. Possible maps are found in {{Filename|/usr/share/kbd/consoletrans}}, if needed. The default (blank) is safe.<br />
* '''USECOLOR'''=: Select &quot;yes&quot; if you have a color monitor and wish to have colors in your consoles.<br />
LOCALE=&quot;en_US.utf8&quot;<br />
HARDWARECLOCK=&quot;localtime&quot;<br />
USEDIRECTISA=&quot;no&quot;<br />
TIMEZONE=&quot;US/Eastern&quot;<br />
KEYMAP=&quot;us&quot;<br />
CONSOLEFONT=<br />
CONSOLEMAP=<br />
USECOLOR=&quot;yes&quot;<br />
<br />
=====HARDWARE Section=====<br />
* '''MOD_AUTOLOAD'''=: Setting this to &quot;yes&quot; will use '''udev''' to automatically probe hardware and load the appropriate modules during boot, (convenient with the default modular kernel). Setting this to &quot;no&quot; will rely on the user's ability to specify this information manually, or compile their own custom kernel and modules, etc.<br />
* '''MOD_BLACKLIST'''=: This has become deprecated in favor of adding blacklisted modules directly to the '''MODULES=''' line below.<br />
* '''MODULES'''=: Specify additional MODULES if you know that an important module is missing. If your system has any floppy drives, add "floppy". If you will be using loopback filesystems, add "loop". Also specify any blacklisted modules by prefixing them with a bang (!). Udev will be forced NOT to load blacklisted modules. In the example, the IPv6 module as well as the annoying pcspeaker are blacklisted.<br />
# Scan hardware and load required modules at boot<br />
MOD_AUTOLOAD=&quot;yes&quot;<br />
# Module Blacklist - Deprecated<br />
MOD_BLACKLIST=()<br />
#<br />
MODULES=(!net-pf-10 !snd_pcsp !pcspkr loop)<br />
<br />
=====NETWORKING Section=====<br />
* '''HOSTNAME'''=:Set your HOSTNAME to your liking.<br />
* '''eth0'''=: 'Ethernet, card 0'. Adjust the interface IP address, netmask and broadcast address ''if'' you are using '''static IP'''. Set eth0=&quot;dhcp&quot; if you want to use '''DHCP'''<br />
* '''INTERFACES'''=: Specify all interfaces here. <br />
* '''gateway'''=: If you are using '''static IP''', set the gateway address. If using '''DHCP''', you can usually ignore this variable, though some users have reported the need to define it.<br />
* '''ROUTES'''=: If you are using static '''IP''', remove the '''!''' in front of 'gateway'. If using '''DHCP''', you can usually leave this variable commented out with the bang (!), but again, some users require the gateway and ROUTES defined. If you experience networking issues with pacman, for instance, you may want to return to these variables.<br />
<br />
====== Example, using a dynamically assigned IP address ('''DHCP''') ======<br />
<br />
HOSTNAME=&quot;arch&quot;<br />
#eth0=&quot;eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255&quot;<br />
eth0=&quot;dhcp&quot;<br />
INTERFACES=(eth0)<br />
gateway=&quot;default gw 192.168.0.1&quot;<br />
ROUTES=(!gateway)<br />
<br />
======Example, using a '''static''' IP address======<br />
<br />
HOSTNAME=&quot;arch&quot;<br />
eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"<br />
INTERFACES=(eth0)<br />
gateway="default gw 192.168.0.1"<br />
ROUTES=(gateway)<br />
<br />
Modify {{Filename|/etc/resolv.conf}} to contain the DNS servers of choice. Example:<br />
<br />
search my.isp.net.<br />
nameserver 4.2.2.1<br />
nameserver 4.2.2.2<br />
nameserver 4.2.2.3<br />
<br />
Various processes can overwrite the contents of {{filename|/etc/resolv.conf}}. For example, by default Arch Linux uses the '''dhcpcd''' DHCP client, which will overwrite the file when it starts. [[Resolv.conf|Various methods]] may be used to preserve the nameserver settings in {{filename|/etc/resolv.conf}}. For example, dhcpcd's configurations file may be edited to prevent the dhcpcd daemon from overwriting the file. To do this, you will need to modify the {{Filename|/etc/conf.d/dhcpcd}} configuration:<br />
<br />
# Arguments to be passed to the DHCP client daemon<br />
# DHCPCD_ARGS="-q"<br />
DHCPCD_ARGS="-C resolv.conf -q"<br />
<br />
{{tip|If using a non-standard MTU size (a.k.a. jumbo frames) is desired AND the installation machine hardware supports them, see the [[Jumbo Frames]] wiki article for further configuration.}}<br />
<br />
=====DAEMONS Section=====<br />
This array simply lists the names of those scripts contained in /etc/rc.d/ which are to be started during the boot process, and the order in which they start. Asynchronous initialization by backgrounding is also supported and useful for speeding up boot. <br />
DAEMONS=(network @syslog-ng netfs @crond)<br />
*If a script name is prefixed with a bang (!), it is not executed.<br />
*If a script is prefixed with an &quot;at&quot; symbol (@), it shall be executed in the background; the startup sequence will not wait for successful completion of each daemon before continuing to the next. (Useful for speeding up system boot). Do not background daemons that are needed by other daemons. For example "mpd" depends on "network", therefore backgrounding network may cause mpd to break.<br />
*Edit this array whenever new system services are installed, if starting them automatically during boot is desired.<br />
<br />
{{Note | This 'BSD-style' init, is the Arch way of handling what other distributions handle with various symlinks to an /etc/init.d directory.}}<br />
<br />
======About DAEMONS======<br />
The [[daemons]] line need not be changed at this time, but it is useful to explain what daemons are, as they will be addressed later in this guide.<br />
A ''daemon'' is a program that runs in the background, waiting for events to occur and offering services. A good example is a webserver that waits for a request to deliver a page (e.g.:httpd) or an SSH server waiting for a user login (e.g.:sshd). While these are full-featured applications, there are also daemons whose work is not that visible. Examples are a daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers the CPU frequency if the system has nothing to do (e.g.:cpufreq), and a daemon which provides a graphical login (e.g.: gdm, kdm). All these programs can be added to the daemons line and will be started when the system boots. Useful daemons will be presented during this guide.<br />
<br />
Historically, the term ''daemon'' was coined by the programmers of MIT's Project MAC. They took the name from ''Maxwell's demon'', an imaginary being from a famous thought experiment that constantly works in the background, sorting molecules. <tt>UNIX</tt> systems inherited this terminology and created the backronym '''d'''isk '''a'''nd '''e'''xecution '''mon'''itor.<br />
<br />
{{Tip|All Arch daemons reside under /etc/rc.d/}}<br />
<br />
====/etc/fstab====<br />
The '''fstab''' (for '''f'''ile '''s'''ystems '''tab'''le) is part of the system configuration listing all available disks and disk partitions, and indicating how they are to be initialized or otherwise integrated into the overall system's filesystem. The '''/etc/fstab''' file is most commonly used by the '''mount''' command. The mount command takes a filesystem on a device, and adds it to the main system hierarchy that you see when you use your system. '''mount -a''' is called from /etc/rc.sysinit, about 3/4 of the way through the boot process, and reads /etc/fstab to determine which options should be used when mounting the specified devices therein. If '''noauto''' is appended to a filesystem in /etc/fstab, '''mount -a''' will not mount it at boot.<br />
<br />
=====An example /etc/fstab=====<br />
# <file system> <dir> <type> <options> <dump> <pass><br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
#/dev/cdrom /media/cdrom auto ro,user,noauto,unhide 0 0<br />
#/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0<br />
#/dev/fd0 /media/fl auto user,noauto 0 0<br />
/dev/sda1 / jfs defaults,noatime 0 1<br />
/dev/sda2 /var reiserfs defaults,noatime,notail 0 2<br />
/dev/sda3 swap swap defaults 0 0<br />
/dev/sda4 /home jfs defaults,noatime 0 2<br />
{{Note | The 'noatime' option disables writing read access times to the metadata of files and may safely be appended to / and /home regardless of your specified filesystem type for increased speed, performance, and power efficiency (see [http://kerneltrap.org/node/14148 here] for more). 'notail' disables the ReiserFS tailpacking feature, for added performance at the cost of slightly less efficient disk usage.}}<br />
<br />
* '''<file system>''': describes the block device or remote filesystem to be mounted. For regular mounts, this field will contain a link to a block device node (as created by mknod which is called by udev at boot) for the device to be mounted; for instance, '/dev/cdrom' or '/dev/sda1'. <br />
{{Note | Rather than the sd''x'' naming scheme, you may choose to use UUID, or other persistent block device naming schemes for consistent device mapping. Due to active developments in the kernel and also udev, the ordering in which drivers for storage controllers are loaded may change randomly, yielding an unbootable system/kernel panic. Nearly every motherboard has several controllers (onboard SATA, onboard IDE), and due to the aforementioned development updates, /dev/sda may become /dev/sdb on the next reboot. (See [[Persistent block device naming| this wiki article]] for more information on persistent block device naming. )}}<br />
<br />
* '''<dir>''': describes the mount point for the filesystem. For swap partitions, this field should be specified as 'swap'; (Swap partitions are not actually mounted.)<br />
<br />
* '''<type>''': describes the type of the filesystem. The Linux kernel supports many filesystem types. (For the filesystems currently supported by the running kernel, see /proc/filesystems). An entry 'swap' denotes a file or partition to be used for swapping. An entry 'ignore' causes the line to be ignored. This is useful to show disk partitions which are currently unused.<br />
<br />
* '''<options>''': describes the mount options associated with the filesystem. It is formatted as a comma separated list of options with no intervening spaces. It contains at least the type of mount plus any additional options appropriate to the filesystem type. For documentation on the available options for non-nfs file systems, see mount(8).<br />
<br />
* '''<dump>''': used by the dump(8) command to determine which filesystems are to be dumped. dump is a backup utility. If the fifth field is not present, a value of zero is returned and dump will assume that the filesystem does not need to be backed up. ''Note that dump is not installed by default.''<br />
<br />
* '''<pass>''': used by the fsck(8) program to determine the order in which filesystem checks are done at boot time. The root filesystem should be specified with a <pass> of 1, and other filesystems should have a <pass> of 2 or 0. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware. If the sixth field is not present or zero, a value of zero is returned and fsck will assume that the filesystem does not need to be checked.<br />
<br />
*If you plan on using '''hal''' to automount media such as DVDs, you may wish to comment out the cdrom and dvd entries in preparation for '''hal''', which will be installed later in this guide.<br />
<br />
Expanded information available in the [[Fstab]] wiki entry.<br />
<br />
===='''[[Configuring mkinitcpio | /etc/mkinitcpio]].conf'''====<br />
''Most users will not need to modify this file at this time, but please read the following explanatory information.''<br />
<br />
This file allows further fine-tuning of the initial ram filesystem, or initramfs, (also historically referred to as the initial ramdisk or &quot;initrd&quot;) for your system. The initramfs is a gzipped image that is read by the kernel during boot. The purpose of the initramfs is to bootstrap the system to the point where it can access the root filesystem. This means it has to load any modules that are required for devices like IDE, SCSI, or SATA drives (or USB/FW, if you are booting from a USB/FW drive). Once the initrramfs loads the proper modules, either manually or through udev, it passes control to the kernel and your boot continues. For this reason, the initramfs only needs to contain the modules necessary to access the root filesystem. It does not need to contain every module you would ever want to use. The majority of common kernel modules will be loaded later on by udev, during the init process.<br />
<br />
'''mkinitcpio''' is the next generation of '''initramfs creation'''. It has many advantages over the old '''mkinitrd''' and '''mkinitramfs''' scripts.<br />
<br />
* It uses '''klibc''' and '''kinit''' which are developed by Linux kernel devs to provide a small and lightweight base for early userspace.<br />
* It can use '''udev''' for hardware autodetection at runtime, thus prevents you from having tons of unnecessary modules loaded.<br />
* Its hook-based init script is easily extendable with custom hooks, which can easily be included in pacman packages without having to modifiy mkinitcpio itself.<br />
* It already supports '''lvm2''', '''dm-crypt''' for both legacy and luks volumes, '''raid''', '''swsusp''' and '''suspend2''' resuming and booting from '''usb mass storage''' devices.<br />
* Many features can be configured from the kernel command line without having to rebuild the image.<br />
* The '''mkinitcpio''' script makes it possible to include the image in a kernel, thus making a self-contained kernel image is possible.<br />
* Its flexibility makes recompiling a kernel unnecessary in many cases.<br />
<br />
If using RAID or LVM on the root filesystem, the appropriate HOOKS must be configured. See the wiki pages for [[Installing with Software RAID or LVM| RAID]] and [[Configuring mkinitcpio | /etc/mkinitcpio]] for more info. If using a non-US keyboard. add the "<code>keymap</code>" hook to load your local keymap during boot. Add the "<code>usbinput</code>" hook if using a USB keyboard, e.g.:<br />
HOOKS="base udev autodetect pata scsi sata filesystems keymap usbinput"<br />
(Otherwise, if boot fails for some reason you will be asked to enter root's password for system maintenance but will be unable to do so.)<br />
<br />
If you need support for booting from USB devices, FireWire devices, PCMCIA devices, NFS shares, software RAID arrays, LVM2 volumes, encrypted volumes, or DSDT support, configure your HOOKS accordingly. <br />
<br />
If doing a CF or SD card install, you may need to add the <code>usbinput</code> HOOK for your system to boot properly. <br />
<br />
''If you are using a US keyboard, and have no need for any of the above HOOKS, editing this configuration should be unnecessary at this point.''<br />
<br />
'''mkinitcpio''' is an Arch innovation developed by Aaron Griffin and Tobias Powalowski with some help from the community.<br />
<br />
==== /etc/modprobe.d/modprobe.conf====<br />
<br />
This file can be used to set special configuration options for the kernel modules. It is unnecessary to configure this file at this time.<br />
<br />
====/etc/resolv.conf (for Static IP)====<br />
The ''resolver'' is a set of routines in the C library that provide access to the Internet Domain Name System (DNS). One of the main functions of DNS is to translate domain names into IP addresses, to make the Web a friendlier place. The resolver configuration file, or /etc/resolv.conf, contains information that is read by the resolver routines the first time they are invoked by a process.<br />
<br />
*''If you are using DHCP, you may safely ignore this file, as by default, it will be dynamically created and destroyed by the dhcpcd daemon. You may change this default behavior if you wish. (See [http://wiki.archlinux.org/index.php/Network#For_DHCP_IP Network]]).''<br />
<br />
If you use a static IP, set your DNS servers in /etc/resolv.conf (nameserver <ip-address>). You may have as many as you wish.<br />
An example, using OpenDNS:<br />
nameserver 208.67.222.222<br />
nameserver 208.67.220.220<br />
<br />
If you are using a router, you will probably want to specify your DNS servers in the router itself, and merely point to it from your '''/etc/resolv.conf''', using your router's IP (which is also your gateway from '''/etc/rc.conf'''), e.g.:<br />
nameserver 192.168.1.1<br />
<br />
If using '''DHCP''', you may also specify your DNS servers in the router, or allow automatic assignment from your ISP, if your ISP is so equipped.<br />
<br />
====/etc/hosts====<br />
This file associates IP addresses with hostnames and aliases, one line per IP address. For each host a single line should be present with the following information:<br />
<IP-address> <hostname> [aliases...]<br />
Add your ''hostname'', coinciding with the one specified in /etc/rc.conf, as an alias, so that it looks like this:<br />
127.0.0.1 localhost.localdomain localhost '''''yourhostname'''''<br />
{{Note |''This format, '''including the 'localhost' and your actual host name''', is required for program compatibility! So, if you have named your computer Archhost, then that line above should look like this:<br />
127.0.0.1 localhost.localdomain localhost Archhost<br />
Errors in this entry may cause poor network performance and/or certain programs to open very slowly, or not work at all. This is a very common error for beginners.''}}<br />
<br />
If you use a static IP, add another line using the syntax: <static-IP> <hostname.domainname.org> <hostname> e.g.:<br />
192.168.1.100 '''''yourhostname'''''.domain.org '''''yourhostname'''''<br />
<br />
{{Tip|For convenience, you may also use /etc/hosts aliases for hosts on your network, and/or on the Web, e.g.:<br />
64.233.169.103 www.google.com g<br />
192.168.1.90 media<br />
192.168.1.88 data<br />
The above example would allow you to access google simply by typing 'g' into your browser, and access to a media and data server on your network by name and without the need for typing out their respective IP addresses.}}<br />
<br />
====/etc/hosts.deny and /etc/hosts.allow====<br />
Modify these configurations according to your needs if you plan on using the [[SSH|ssh]] daemon. The default configuration will reject all incoming connections, not only ssh connections. Edit your '''/etc/hosts.allow '''file and add the appropriate parameters: <br />
<br />
* let everyone connect to you<br />
sshd: ALL<br />
<br />
* restrict it to a certain ip<br />
sshd: 192.168.0.1<br />
<br />
* restrict it to your local LAN network (range 192.168.0.0 to 192.168.0.255)<br />
sshd: 192.168.0.<br />
<br />
* OR restrict for an IP range<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
If you do not plan on using the [[SSH|ssh]] daemon, leave this file at the default, (empty), for added security.<br />
<br />
====/etc/locale.gen====<br />
The '''/usr/sbin/locale-gen''' command reads from '''/etc/locale.gen''' to generate specific locales. They can then be used by '''glibc''' and any other locale-aware program or library for rendering text, correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards. The ability to setup a default locale is a great built-in privilege of using a <tt>UNIX</tt>-like operating system.<br />
<br />
By default /etc/locale.gen is an empty file with commented documentation. Once edited, the file remains untouched. '''locale-gen''' runs on every '''glibc''' upgrade, generating all the locales specified in /etc/locale.gen.<br />
<br />
Choose the locale(s) you need (remove the # in front of the lines you want), e.g.:<br />
en_US ISO-8859-1<br />
en_US.UTF-8 <br />
<br />
The installer will now run the locale-gen script, which will generate the locales you specified. You may change your locale in the future by editing /etc/locale.gen and subsequently running 'locale-gen' as root.<br />
<br />
{{Note |'''''If you fail to choose your locale, this will lead to a &quot;The current locale is invalid...&quot; error. This is perhaps the most common mistake by new Arch users, and also leads to the most commonly asked questions on the forum.'''''}}<br />
<br />
====Pacman-Mirror====<br />
Choose a mirror repository for '''pacman'''. <br />
*''archlinux.org is throttled, limiting downloads to 50KB/s''<br />
<br />
====Root password====<br />
Finally, set a root password and make sure that you remember it later. Return to the main menu and continue with installing bootloader.<br />
<br />
===G: Install Bootloader===<br />
Because we have no secondary operating system in our example, we will need a bootloader. [http://www.gnu.org/software/grub/ GNU GRUB] is the recommended bootloader. Alternatively, you may choose [http://lilo.go.dyndns.org/ LILO].<br />
<br />
====GRUB====<br />
The provided '''GRUB''' configuration ('''/boot/grub/menu.lst''') should be sufficient, but verify its contents to ensure accuracy (specifically, ensure that the root (/) partition is specified by UUID on line 3). You may want to alter the resolution of the console by adding a vga=<number> kernel argument corresponding to your desired virtual console resolution. (A table of resolutions and the corresponding numbers is printed in the menu.lst.)<br />
<br />
Example: <br />
title Arch Linux (Main)<br />
root (hd0,0) <br />
kernel /boot/vmlinuz26 root=/dev/sda1 ro vga=773<br />
initrd /boot/kernel26.img<br />
{{Note | ''The linux kernel, 'vmlinuz', is so named because it incorporated '''v'''irtual '''m'''emory capability early in its development. The '''z''' denotes a zipped (compressed) image.''}}<br />
<br />
Explanation:<br />
<br />
Line 1: '''title''': A printed menu selection. &quot;Arch Linux (Main)&quot; will be printed on the screen as a menu selection.<br />
<br />
Line 2: '''root''': '''GRUB''''s root; the drive and partition where the kernel (/boot) resides, according to system BIOS. (More accurately, where GRUB's stage2 file resides). '''NOT necessarily the root''' (/) file system, as they can reside on separate partitions. GRUB's numbering scheme starts at 0, and uses an hd''x,x'' format regardless of IDE or SATA, and enclosed within parentheses. <br />
<br />
The example indicates that /boot is on the first partition of the first drive, according to BIOS, or, (hd0,0).<br />
<br />
Line 3: '''kernel''': This line specifies:<br />
<br />
* The path and filename of the kernel '''''relative to GRUB's root'''''.<br />
In the example, /boot is merely a directory residing on the same partition as / and '''vmlinuz26''' is the kernel filename; '''/boot/vmlinuz26'''. ''If /boot were on a separate partition, the path and filename would be simply '''/vmlinuz26''', being relative to '''GRUB''''s root.'' <br />
<br />
* The root= argument to the kernel statement specifies the partition containing the root (/) directory in the booted system, (more accurately, the partition containing '''/sbin/init'''). <br />
<br />
*An easy way to distinguish the 2 appearances of 'root' in /boot/grub/menu.lst is to remember that the first root statement ''informs GRUB where the kernel resides'', whereas the second root= kernel argument ''tells the kernel where the root filesystem (/) resides''.<br />
<br />
* Kernel options. <br />
<br />
In our example, '''ro''' mounts the filesystem as read only during startup, (usually a safe default; you may wish to change this in case it causes problems booting) and the '''&quot;vga=773&quot;''' argument will give a 1024x768 framebuffer with 256 color depth.<br />
<br />
Line 4: '''initrd''': (For Initial RAM disk) The path and filename of the initial RAM filesystem '''relative to GRUB''''s root. Again, in the example, /boot is merely a directory residing on the same partition as / and '''kernel26.img''' is the initrd filename; '''/boot/kernel26.img'''. ''If /boot were on a separate partition, the path and filename would be simply '''/kernel26.img''', being relative to '''GRUB''''s root.'' <br />
<br />
Install the '''GRUB''' bootloader (to the master boot record, sda in our example).<br />
{{tip|For more details, see the [[GRUB]] wiki page.}}<br />
<br />
===H: Reboot===<br />
That's it; You have configured and installed your Arch Linux base system. Exit the install, and reboot:<br />
# reboot<br />
(Be sure to remove the installer CD)<br />
<br />
==Part II: Configure & Update the New Arch Linux base system==<br />
Your new Arch Linux system will boot up and finish with a login prompt (you may want to change the boot order in your '''BIOS''' back to booting from hard disk).<br />
<br />
'''Congratulations, and welcome to your new Arch Linux base system!'''<br />
<br />
Your new Arch Linux base system is now a functional GNU/Linux environment ready for customization. From here, you may build this elegant set of tools into whatever you wish or require for your purposes. <br />
<br />
Login with the root account. We will configure pacman and update the system as root, then add a normal user. <br />
{{Note |Virtual consoles 1-6 are available. You may switch between them with ALT+F1...F6}}<br />
<br />
===Step 1: Configuring the network (if necessary)===<br />
*''This section will assist you in configuring most types of networks, if your network configuration is not working for you.''<br />
<br />
If you properly configured your system, you should have a working network. Try to ping www.google.com to verify this.<br />
# ping -c 3 www.google.com<br />
<br />
''If you have successfully established a network connection, continue with '''[[#Step 2: Update, Sync and Upgrade the system with pacman|Update, Sync and Upgrade the system with pacman]]'''.''<br />
<br />
If, after trying to ping www.google.com, an &quot;unknown host&quot; error is received, you may conclude that your network is not properly configured. You may choose to double-check the following files for integrity and proper settings:<br />
<br />
'''/etc/rc.conf''' # Specifically, check your HOSTNAME= and NETWORKING section for typos and errors.<br />
<br />
'''/etc/hosts''' # Double-check your format. (See above.)<br />
<br />
'''/etc/resolv.conf''' # If you are using a static IP. If you are using DHCP, this file will be dynamically created and destroyed by default, but can be changed to your preference. (See [[Network]].)<br />
<br />
{{Tip|Advanced instructions for configuring the network can be found in the [[Network]] article.}}<br />
<br />
====Wired LAN====<br />
<br />
Check your Ethernet with<br />
# ifconfig -a<br />
All interfaces will be listed. You should see an entry for eth0, or perhaps eth1. <br />
*'''Static IP'''<br />
<br />
If required, you can set a new static IP with:<br />
# ifconfig eth0 <ip address> netmask <netmask> up <br />
and the default gateway with<br />
# route add default gw <ip address of the gateway><br />
Verify that /etc/resolv.conf contains your DNS server and add it if it is missing. <br />
Check your network again with ping www.google.com. If everything is working now, adjust /etc/rc.conf as described above for static IP. <br />
*'''DHCP'''<br />
If you have a DHCP server/router in your network try:<br />
# dhcpcd eth0<br />
If this is working, adjust /etc/rc.conf as described above, for dynamic IP.<br />
<br />
====Wireless LAN====<br />
* Ensure the driver has created a usable interface:<br />
# iwconfig<br />
* Bring the interface up with <code>ifconfig <interface> up</code>. e.g.:<br />
# ifconfig wlan0 up<br />
* (Optional) Scan for available access points:<br />
# iwlist wlan0 scan | less<br />
* Specify the id of the wireless network with <code>iwconfig <interface> essid <youressid></code>. Or, if using WEP; <code>iwconfig <interface> essid <youressid> key <yourwepkey></code>, e.g.:<br />
# iwconfig wlan0 essid linksys key ABCDEF01234<br />
* Request an IP address with <code>dhcpcd <interface></code>. e.g.:<br />
# dhcpcd wlan0<br />
* Ensure you can route:<br />
$ ping -c 3 www.google.com<br />
Done.<br />
<br />
Detailed setup guide: [[Wireless Setup]]<br />
<br />
====Analog Modem====<br />
To be able to use a Hayes-compatible, external, analog modem, you need to at least have the ppp package installed. Modify the file /etc/ppp/options to suit your needs and according to man pppd. You will need to define a chat script to supply your username and password to the ISP after the initial connection has been established. The manpages for pppd and chat have examples in them that should suffice to get a connection up and running if you're either experienced or stubborn enough. With udev, your serial ports usually are /dev/tts/0 and /dev/tts/1.<br />
Tip: Read [[Dialup without a dialer HOWTO]].<br />
<br />
Instead of fighting a glorious battle with the plain pppd, you may opt to install wvdial or a similar tool to ease the setup process considerably. In case you're using a so-called WinModem, which is basically a PCI plugin card working as an internal analog modem, you should indulge in the vast information found on the [http://www.linmodems.org/ LinModem] homepage.<br />
<br />
====ISDN====<br />
<br />
Setting up ISDN is done in three steps:<br />
# Install and configure hardware<br />
# Install and configure the ISDN utilities<br />
# Add settings for your ISP <br />
<br />
The current Arch stock kernels include the necessary ISDN modules, meaning that you will not need to recompile your kernel unless you're about to use rather odd ISDN hardware. After physically installing your ISDN card in your machine or plugging in your USB ISDN-Box, you can try loading the modules with modprobe. Nearly all passive ISDN PCI cards are handled by the hisax module, which needs two parameters: type and protocol. You must set protocol to '1' if your country uses the 1TR6 standard, '2' if it uses EuroISDN (EDSS1), '3' if you're hooked to a so-called leased-line without D-channel, and '4' for US NI1.<br />
<br />
Details on all those settings and how to set them is included in the kernel documentation, more specifically in the isdn subdirectory, and available online. The type parameter depends on your card; a list of all possible types can be found in the README.HiSax kernel documentation. Choose your card and load the module with the appropriate options like this:<br />
<br />
# modprobe hisax type=18 protocol=2<br />
<br />
This will load the hisax module for my ELSA Quickstep 1000PCI, being used in Germany with the EDSS1 protocol. You should find helpful debugging output in your /var/log/everything.log file, in which you should see your card being prepared for action. Please note that you will probably need to load some USB modules before you can work with an external USB ISDN Adapter.<br />
<br />
Once you have confirmed that your card works with certain settings, you can add the module options to your /etc/modprobe.conf:<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
Alternatively, you can add only the options line here, and add hisax to your MODULES array in the rc.conf. It's your choice, really, but this example has the advantage that the module will not be loaded until it's really needed.<br />
<br />
That being done, you should have working, supported hardware. Now you need the basic utilities to actually use it!<br />
<br />
Install the isdn4k-utils package, and read the manpage to isdnctrl; it'll get you started. Further down in the manpage you will find explanations on how to create a configuration file that can be parsed by isdnctrl, as well as some helpful setup examples. Please note that you have to add your SPID to your MSN setting separated by a colon if you use US NI1.<br />
<br />
After you have configured your ISDN card with the isdnctrl utility, you should be able to dial into the machine you specified with the PHONE_OUT parameter, but fail the username and password authentication. To make this work add your username and password to /etc/ppp/pap-secrets or /etc/ppp/chap-secrets as if you were configuring a normal analogous PPP link, depending on which protocol your ISP uses for authentication. If in doubt, put your data into both files.<br />
<br />
If you set up everything correctly, you should now be able to establish a dial-up connection with<br />
# isdnctrl dial ippp0<br />
as root. If you have any problems, remember to check the logfiles!<br />
<br />
====DSL (PPPoE)====<br />
<br />
These instructions are relevant to you only if your PC itself is supposed to manage the connection to your ISP. You do not need to do anything but define a correct default gateway if you are using a separate router of some sort to do the grunt work.<br />
<br />
Before you can use your DSL online connection, you will have to physically install the network card that is supposed to be connected to the DSL-Modem into your computer. After adding your newly installed network card to the modules.conf/modprobe.conf or the MODULES array, you should install the rp-pppoe package and run the pppoe-setup script to configure your connection. After you have entered all the data, you can connect and disconnect your line with<br />
<br />
# /etc/rc.d/adsl start<br />
<br />
and<br />
<br />
# /etc/rc.d/adsl stop<br />
<br />
respectively. The setup usually is rather easy and straightforward, but feel free to read the manpages for hints. If you want to automatically 'dial in' at boot, add adsl to your DAEMONS array, and put a ! before the network entry, since the network is handled by adsl now.<br />
<br />
===Step 2: Update, Sync, and Upgrade the system with [[pacman]]===<br />
Now we will update the system using [[pacman]]. <br />
<br />
====What is pacman ?====<br />
[[Pacman]] is the '''pac'''kage '''man'''ager of Arch Linux. Pacman is written in ''C'' and is designed from the ground up to be lightweight with a very modest memory footprint, fast, simple, and versatile. It manages your entire package system and handles installation, removal, package downgrade (through cache), custom compiled package handling, automatic dependency resolution, remote and local searches and much more. Pacman's output is streamlined, very readable and provides ETA for each package download. Arch uses the .tar.gz package format, which further enhances pacman's speed; Gzipped tarballs, though slightly larger, are decompressed many times faster than their Bzipped counterparts, and are therefore installed much more expediently. <br />
<br />
We will use pacman to download software packages from remote repositories and install them onto your system.<br />
<br />
Pacman is the most important tool in your Arch Linux toolbox for building the base system into whatsoever you please.<br />
<br />
====Package Repositories and /etc/pacman.conf====<br />
Arch currently offers the following 4 repositories readily accessible through pacman:<br />
<br />
'''[core]'''<br />
<br />
The simple principle behind [core] is to provide only one of each necessary tool for a base Arch Linux system; The GNU toolchain, the Linux kernel, one editor, one command line browser, etc. (There are a few exceptions to this. For instance, both vi and nano are provided, allowing the user to choose one or both.) It contains all the packages that MUST be in perfect working order to ensure the system remains in a usable state. These are the absolute system-critical packages. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible <br />
*''The Core installation media simply contains an installer script, and a snapshot of the core repository at the time of release.''<br />
<br />
'''[extra]'''<br />
<br />
The [extra] repository contains all Arch packages that are not themselves necessary for a base Arch system, but contribute to a more full-featured environment. '''X''', KDE, and Apache, for instance, can be found here. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible<br />
'''[testing]'''<br />
<br />
The [testing] repository contains packages that are candidates for the [core] or [extra] repositories. New packages go into [testing] if:<br />
<br />
<nowiki>*</nowiki> they are expected to break something on update and need to be tested first.<br />
<br />
<nowiki>*</nowiki> they require other packages to be rebuilt. In this case, all packages that need to be rebuilt are put into [testing] first and when all rebuilds are done, they are moved back to the other repositories. <br />
* Developer maintained<br />
* All binary packages<br />
* pacman accessible<br />
{{Note|* [testing] is the only repository that can have name collisions with any of the other official repositories. Therefore, if enabled, [testing] must be the first repo listed in <code>pacman.conf</code>.}}<br />
<br />
{{Warning|Only experienced users should use [testing].}}<br />
<br />
'''[community]'''<br />
<br />
The [community] repository is maintained by the ''Trusted Users (TUs)'' and is simply the binary branch of the ''Arch User Repository ([[AUR]])''. It contains binary packages which originated as PKGBUILDs from ''AUR'' [unsupported] that have acquired enough votes and were adopted by a ''TU''. Like all repos listed above, [community] may be readily accessed by pacman.<br />
* TU maintained<br />
* All binary packages<br />
* pacman accessible<br />
<br />
'''AUR (unsupported)'''<br />
<br />
The '''[[AUR]]''' also contains the '''unsupported''' branch, which cannot be accessed directly by pacman*. '''AUR''' [unsupported] does not contain binary packages. Rather, it provides more than sixteen thousand PKGBUILD scripts for building packages from source, that may be unavailable through the other repos. When an AUR unsupported package acquires enough popular votes, it may be moved to the AUR [community] binary repo, if a TU is willing to adopt and maintain it there.<br />
* TU maintained<br />
* All PKGBUILD bash build scripts<br />
* '''''Not''''' pacman accessible by default<br />
<br />
<nowiki>*</nowiki> pacman wrappers ('''''[[AUR Helpers]]''''') can help you seamlessly access AUR.<br />
<br />
'''/etc/pacman.conf'''<br />
<br />
pacman will attempt to read /etc/pacman.conf each time it is invoked. This configuration file is divided into sections, or repositories. Each section defines a package [[Official Repositories|repository]] that pacman can use when searching for packages. The exception to this is the options section, which defines global options.<br />
<br />
Note that the defaults should work, so modifying at this point may be unnecessary, but verification is always recommended. Further info available in the [[Mirrors]] article.<br />
# nano /etc/pacman.conf<br />
Example:<br />
#<br />
# /etc/pacman.conf<br />
#<br />
# See the pacman.conf(5) manpage for option and repository directives<br />
<br />
#<br />
# GENERAL OPTIONS<br />
#<br />
[options]<br />
# The following paths are commented out with their default values listed.<br />
# If you wish to use different paths, uncomment and update the paths.<br />
#RootDir = /<br />
#DBPath = /var/lib/pacman/<br />
#CacheDir = /var/cache/pacman/pkg/<br />
#LogFile = /var/log/pacman.log<br />
HoldPkg = pacman glibc<br />
# If upgrades are available for these packages they will be asked for first<br />
SyncFirst = pacman<br />
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u<br />
#XferCommand = /usr/bin/curl %u > %o<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
#IgnorePkg =<br />
#IgnoreGroup =<br />
<br />
#NoUpgrade =<br />
#NoExtract =<br />
<br />
# Misc options (all disabled by default)<br />
#NoPassiveFtp<br />
#UseSyslog<br />
#ShowSize<br />
#UseDelta<br />
#TotalDownload<br />
#<br />
# REPOSITORIES<br />
# - can be defined here or included from another file<br />
# - pacman will search repositories in the order defined here<br />
# - local/custom mirrors can be added here or in separate files<br />
# - repositories listed first will take precedence when packages<br />
# have identical names, regardless of version number<br />
# - URLs will have $repo replaced by the name of the current repo<br />
#<br />
# Repository entries are of the format:<br />
# [repo-name]<br />
# Server = ServerName<br />
# Include = IncludePath<br />
#<br />
# The header [repo-name] is crucial - it must be present and<br />
# uncommented to enable the repo.<br />
# <br />
<br />
# Testing is disabled by default. To enable, uncomment the following<br />
# two lines. You can add preferred servers immediately after the header,<br />
# and they will be used before the default mirrors.<br />
#[testing]<br />
#Include = /etc/pacman.d/mirrorlist<br />
<br />
[core]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist <br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
# An example of a custom package repository. See the pacman manpage for<br />
# tips on creating your own repositories.<br />
#[custom]<br />
#Server = file:///home/custompkgs<br />
<br />
Enable all desired repositories (remove the # in front of the 'Include =' and '[repository]' lines).<br />
<br />
<br />
*'''''When choosing repos, be sure to uncomment both the repository header lines in [brackets] as well as the 'Include =' lines. Failure to do so will result in the selected repository being omitted! This is a very common error.'' '''<br />
<br />
====/etc/pacman.d/mirrorlist ====<br />
Defines pacman repo mirrors and priorities.<br />
<br />
'''Build a mirrorlist using the rankmirrors script'''<br />
<br />
<code>/usr/bin/rankmirrors</code> is a python script which will attempt to detect the mirrors which are closest to the installation machine based on the mirrors specified in /etc/pacman.d/mirrorlist. Faster mirrors will dramatically improve pacman performance, and the overall Arch Linux experience. This script may be run periodically, especially if the chosen mirrors provide inconsistent throughput and/or updates.<br />
<br />
First, use pacman to install python:<br />
# pacman -Sy python <br />
'''cd''' to the /etc/pacman.d/ directory:<br />
# cd /etc/pacman.d<br />
Backup the existing /etc/pacman.d/mirrorlist:<br />
# cp mirrorlist mirrorlist.backup<br />
Edit mirrorlist.backup and uncomment all mirrors on the same continent or within geographical proximity to test with rankmirrors.<br />
# nano mirrorlist.backup<br />
Run the script against the mirrorlist.backup with the -n switch and redirect output to a new /etc/pacman.d/mirrorlist file:<br />
# rankmirrors -n 6 mirrorlist.backup > mirrorlist<br />
'''-n 6''': rank the 6 fastest mirrors<br />
<br />
'''Force pacman to refresh the package lists'''<br />
<br />
After creating/editing /etc/pacman.d/mirrorlist, (manually or by <code>/usr/bin/rankmirrors</code>) issue the following command:<br />
# pacman -Syy<br />
Passing two --refresh or -y flags forces pacman to refresh all package lists even if they are considered to be up to date. Issuing pacman -Syy ''whenever a mirror is changed'', is good practice and will avoid possible headaches.<br />
<br />
====Mirrorcheck for up-to-date packages====<br />
Some of the official mirrors may contain packages that are out-of-date. [http://users.archlinux.de/~gerbra/mirrorcheck.html ArchLinux Mirrorcheck] reports various aspects about the mirrors such as, those experiencing network problems, data collection problems, reports the last time they have been synced, etc.<br />
<br />
One may wish to manually inspect the mirrors in the /etc/pacman.d/mirrorlist insuring that it only contains up-to-date mirrors if having the latest package versions is a priority.<br />
<br />
====Ignoring packages====<br />
After executing the command &quot;pacman -Syu&quot;, the entire system will be updated. It is possible to prevent a package from being upgraded. A typical scenario would be a package for which an upgrade may prove problematic for the system. In this case, there are two options; indicate the package(s) to skip in the pacman command line using the --ignore switch (do pacman -S --help for details) or permanently indicate the package(s) to skip in the /etc/pacman.conf file in the IgnorePkg array. List each package, with one intervening space :<br />
IgnorePkg = wine <br />
The typical way to use Arch is to use pacman to install all packages unless there is no package available, in which case [[ABS]] may be used. Many user-contributed package build scripts are also available in the [[AUR]]. <br />
<br />
The power user is expected to keep the system up to date with pacman -Syu, rather than selectively upgrading packages. You may diverge from this typical usage as you wish; just be warned that there is a greater chance that things will not work as intended and that it could break your system. The majority of complaints happen when selective upgrading, unusual compilation or improper software installation is performed. Use of '''IgnorePkg''' in /etc/pacman.conf is therefore discouraged, and should only be used sparingly, if you know what you are doing.<br />
<br />
====Ignoring Configuration Files====<br />
In the same vein, you can also &quot;protect&quot; your configuration/system files from being overwritten during &quot;pacman -Su&quot; using the following option in your /etc/pacman.conf<br />
<br />
NoUpgrade = etc/lilo.conf boot/grub/menu.lst<br />
<br />
====Get familiar with pacman====<br />
pacman is the Arch user's best friend. It is highly recommended to study and learn how to use the pacman(8) tool. Try:<br />
$ man pacman<br />
<br />
For more information,please look up the [[pacman]] wiki entries at your leisure.<br />
<br />
====Powerpill, a pacman wrapper script====<br />
Before you continue, consider installing Xyne's powerpill (now in [community]) which is a pacman wrapper script that speeds up package retrieval by using aria2c (an external download helper) for concurrent/segmented downloads. In other words, powerpill pulls packages in parallel effectively speeding up your downloads. This is particularly advantageous on new installs when pulling down hundreds of megs of packages.<br />
<br />
# pacman -S powerpill<br />
<br />
Treat powerpill as pacman as you consider installations, for example, the following will update your system:<br />
<br />
# powerpill -Syu<br />
<br />
See the [[Powerpill]] wiki article for more.<br />
<br />
===Step 3: Update System===<br />
You are now ready to upgrade your entire system. Before you do, read through the [http://www.archlinux.org/news/ news] (and optionally the [http://archlinux.org/pipermail/arch-announce/ announce mailing list]). Often the developers will provide important information about required configurations and modifications for known issues. Consulting these pages before any upgrade is good practice. <br />
<br />
Sync, refresh, and upgrade your entire new system with:<br />
# pacman -Syu<br />
or:<br />
# pacman --sync --refresh --sysupgrade<br />
<br />
pacman will now download a fresh copy of the master package list from the server(s) defined in pacman.conf(5) and perform all available upgrades. (You may be prompted to upgrade pacman itself at this point. If so, say yes, and then reissue the pacman -Syu command when finished.) <br />
<br />
Reboot if a kernel upgrade has occurred. <br />
<br />
{{Note|Occasionally, configuration changes may take place requiring user action during an update; read pacman's output for any pertinent information.}}<br />
<br />
Pacman output is saved in /var/log/pacman.log.<br />
<br />
See [[Package_Management_FAQs|Package Management FAQs]] for answers to frequently asked questions regarding updating and managing your packages.<br />
<br />
=====The Arch rolling release model=====<br />
Keep in mind that Arch is a '''rolling release''' distribution. This means there is never a reason to reinstall or perform elaborate system rebuilds to upgrade to the newest version. Simply issuing '''pacman -Syu''' periodically keeps your entire system up-to-date and on the bleeding edge. At the end of this upgrade, your system is completely current. '''Reboot''' if a kernel upgrade has occurred.<br />
=====Network Time Protocol=====<br />
You may wish to set the system time now using OpenNTPD to sync the local clock to remote NTP servers. OpenNTPD may also be added to the DAEMONS= array in /etc/rc.conf to provide this service at each boot. (See the [[Network Time Protocol]] article.)<br />
<br />
===Step 4: Add a user and setup groups===<br />
<tt>UNIX</tt> is a multi-user environment. You should not do your everyday work using the root account. It is more than poor practice; it is dangerous. Root is for administrative tasks. Instead, add a normal, non-root user account using the <code>/usr/sbin/useradd</code> program:<br />
# useradd -m -G [groups] -s [login_shell] [username] <br />
* '''-m''' Creates user home directory as /home/'''username'''. Within their home directory, a user can write files, delete them, install programs, etc. Users' home directories shall contain their data and personal configuration files, the so-called 'dot files' (their name is preceded by a dot), which are 'hidden'. (To view dotfiles, enable the appropriate option in your file manager or run ls with the -a switch.) If there is a conflict between ''user'' (under /home/username) and ''global'' configuration files, (usually under /etc/) the settings in the ''user'' file will prevail. Dotfiles likely to be altered by the end user include .xinitrc and .bashrc files. The configuration files for xinit and Bash respectively. They allow the user the ability to change the window manager to be started upon login and also aliases, user-specified commands and environment variables respectively. When a user is created, their dotfiles shall be taken from the /etc/skel directory where system sample files reside.<br />
* '''-G''' A list of supplementary groups which the user is also a member of. ''Each group is separated from the next by a comma, with no intervening spaces''. The default is for the user to belong only to the initial group (users). <br />
* '''-s''' The path and filename of the user´s default login shell.<br />
Useful groups for your non-root user include:<br />
*'''audio''' - for tasks involving sound card and related software<br />
*'''floppy''' - for access to a floppy if applicable<br />
*'''lp''' - for managing printing tasks<br />
*'''optical''' - for managing tasks pertaining to the optical drive(s)<br />
*'''storage''' - for managing storage devices<br />
*'''video''' - for video tasks and hardware acceleration<br />
*'''wheel''' - for using sudo<br />
*'''power''' - used w/ power options (e.g.: shutdown with power button) <br />
A typical desktop system example, adding a user named &quot;archie&quot; specifying bash as the login shell:<br />
# useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash archie<br />
Next, add a password for your new user using <code>/usr/bin/passwd</code>.<br />
<br />
An example for our user, 'archie':<br />
# passwd archie<br />
(You will be prompted to provide the new <tt>UNIX</tt> password.)<br />
<br />
Your new non-root user has now been created, complete with a home directory and a login password.<br />
<br />
'''Alternative method, using <code>/usr/sbin/adduser</code>:'''<br />
<br />
Alternatively, you may use <code>adduser</code>, an interactive user adding program which will prompt you for the above data ''(recommended for beginners)'':<br />
# adduser<br />
'''Deleting the user account:'''<br />
<br />
In the event of error, or if you wish to delete this user account in favor of a different name or for any other reason, use <code>/usr/sbin/userdel</code>:<br />
# userdel -r [username]<br />
* '''-r ''' Files in the user´s home directory will be removed along with the home directory itself and the user´s mail spool.<br />
<br />
If you want to change the name of your user or any existing user, see the [[Change username]] page of the Arch wiki and/or the [[Groups]] and [[User Management]] articles for further information. You may also check the man pages for <code>usermod(8)</code> and <code>gpasswd(8)</code>.<br />
<br />
===Step 5: Install and setup Sudo (Optional)===<br />
There has been a recent update to the vi packages since the latest installation media (2009.08) was created. Therefore, before installing sudo, use the following command to remove the incompatible files:<br />
# rm /usr/bin/{view,rview}<br />
Install Sudo and vim:<br />
# pacman -S sudo vim<br />
To add a user as a sudo user (a &quot;sudoer&quot;), the visudo command must be run as root. If you do not know how to use vi, you may set the EDITOR environment variable to the editor of your choice before running visudo. e.g.:<br />
# EDITOR=nano visudo<br />
If you are comfortable using vi, issue the visudo command without the EDITOR=nano variable:<br />
# visudo<br />
This will open the file /etc/sudoers in a special session of vi. visudo copies the file to be edited to a temporary file, edits it with an editor, (vi by default), and subsequently runs a sanity check. If it passes, the temporary file overwrites the original with the correct permissions. <br />
<br />
{{Warning|Do not edit /etc/sudoers directly with an editor; Errors in syntax can cause annoyances (like rendering the root account unusable). You must use the ''visudo'' command to edit /etc/sudoers.}}<br />
<br />
To give the user full root privileges when he/she precedes a command with &quot;sudo&quot;, add the following line:<br />
USER_NAME ALL=(ALL) ALL<br />
where USER_NAME is the username of the individual.<br />
<br />
For more information, such as sudoer <TAB> completion, see [[Sudo]]<br />
<br />
==Part III: Install X and configure ALSA==<br />
<br />
<br />
===Step 1: Configure sound with alsamixer===<br />
The Advanced Linux Sound Architecture (known by the acronym '''ALSA''') is a Linux kernel component intended to replace the original Open Sound System (OSS) for providing device drivers for sound cards. Besides the sound device drivers, '''ALSA''' also bundles a user space library for application developers who want to use driver features with a higher level API than direct interaction with the kernel drivers.<br />
{{Note| Alsa is included in the Arch mainline kernel and udev will automatically probe your hardware at boot, loading the corresponding kernel module for your audio card. Therefore, your sound should already be working, but upstream sources mute all channels by default.}}<br />
{{Note| OSS4.1 has been released under a free license and is generally considered a significant improvement over older OSS versions. If you have issues with ALSA, or simply wish to explore another option, you may choose OSS4.1 instead. Instructions can be found in [[OSS]]}} <br />
<br />
The alsa-utils package contains the alsamixer userspace tool, which allows configuration of the sound device from the console or terminal.<br />
<br />
By default the upstream kernel sources ship with snd_pcsp, the alsa pc speaker module. snd_pcsp is usually loaded before your &quot;actual&quot; sound card module. In most cases, it will be more convenient if this module is loaded last, as it will allow alsamixer to correctly control the desired sound card.<br />
<br />
To have snd_pcsp load last, add the following to /etc/modprobe.d/modprobe.conf:<br />
options snd-pcsp index=2<br />
<br />
Alternatively, if you do not want snd_pcsp to load at all, blacklist it by adding the following to /etc/rc.conf:<br />
MODULES=(... !snd_pcsp)<br />
<br />
{{Note | You will need to unload all your sound modules and reload them for the changes to take effect. It might be easier to reboot. Your choice. }}<br />
<br />
Install the alsa-utils package:<br />
# pacman -S alsa-utils<br />
Also, you may want to install the alsa-oss package, which wraps applications written for [[OSS]] in a compatibility library, allowing them to work with [[ALSA]]. To install the alsa-oss package:<br />
# pacman -S alsa-oss <br />
Did you add your normal user to the audio group? If not, use <code>/usr/bin/gpasswd</code>. As root do:<br />
# gpasswd -a ''yourusername'' audio<br />
As '''''normal, non-root''''' user, invoke <code>/usr/bin/alsamixer</code>:<br />
# su - ''yourusername'' <br />
'''$''' alsamixer<br />
Unmute the Master and PCM channels by scrolling to them with cursor left/right and pressing '''M'''. Increase the volume levels with the cursor-up key. (70-90 Should be a safe range.) Some machines, (like the Thinkpad T61), have a '''Speaker''' channel which must be unmuted and adjusted as well. Leave alsamixer by pressing ESC. <br />
==== Sound test ====<br />
Ensure your speakers are properly connected, and test your sound configuration as normal user using <code>/usr/bin/aplay</code>:<br />
$ aplay /usr/share/sounds/alsa/Front_Center.wav<br />
You should hear a very eloquent woman say, &quot;Front, center.&quot;<br />
==== Saving the Sound Settings ====<br />
Exit your normal user shell and run <code>/usr/sbin/alsactl</code> as root:<br />
$ exit<br />
# alsactl store<br />
This will create the file '/etc/asound.state', saving the alsamixer settings. <br />
<br />
Also, add the alsa ''daemon'' to your DAEMONS section in /etc/rc.conf to automatically restore the mixer settings at boot.<br />
# nano /etc/rc.conf<br />
DAEMONS=(syslog-ng network crond '''alsa''')<br />
''Note that the alsa daemon merely restores your volume mixer levels on boot up by reading /etc/asound.state. It is separate from the alsa audio library (and kernel level API).''<br />
<br />
Expanded information available in the [[ALSA]] wiki entry.<br />
<br />
===Step 2: Install X===<br />
The '''X''' Window System version 11 (commonly '''X11''', or just simply '''X''') is a networking and display protocol which provides windowing on bitmap displays. It provides the standard toolkit and protocol to build graphical user interfaces (GUIs) on <tt>UNIX</tt>-like operating systems.<br />
<br />
'''X''' provides the basic framework, or primitives, for building GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. '''X''' does not mandate the user interface — individual client programs handle this. <br />
<br />
'''X''' is so named because it was preceded by the '''W''' Window System, originally developed at Stanford University. <br />
<br />
====A: The <code>X-Files</code>====<br />
Now we will install the base '''[[Xorg]]''' packages using pacman. This is the first step in building a GUI.<br />
If you plan on using an '''open-source''' video driver, and need 3d acceleration, install the libgl library before installing Xorg:<br />
# pacman -S libgl<br />
''(Proprietary video drivers provide their own gl library implementations.)''<br />
<br />
Install the base packages:<br />
# pacman -S xorg<br />
The 3d utilities glxgears and glxinfo are included in the '''mesa''' package:<br />
# pacman -S mesa<br />
<br />
====B: Install Video Driver Package====<br />
Now we have the base packages we need for running the '''X''' Server. You should add the driver for your graphics card now (e.g. xf86-video-<name>). The easiest way to configure X.org is by installing the correct driver packages first, and then generating /etc/X11/xorg.conf using an autoconfiguration script, like Xorg -configure.<br />
<br />
You will need knowledge of which video chipset your machine has. If you do not know, use the <code>/usr/sbin/lspci</code> program:<br />
# lspci | grep VGA<br />
<br />
If you need a list of all '''open-source''' video drivers, do: <br />
# pacman -Ss xf86-video | less<br />
Here is a list of '''open source''' drivers, and the corresponding video chipsets.<br />
*'''xf86-video-apm''' &mdash; Alliance ProMotion video driver<br />
*'''xf86-video-ark''' &mdash; ark video driver<br />
*'''xf86-video-ati''' &mdash; ATI(AMD) radeon video driver<br />
**'''xf86-video-r128''' &mdash; ATI(AMD) video driver for X.org ati Rage128 video<br />
**'''xf86-video-mach64''' &mdash; ATI(AMD) video driver for X.org mach64 video<br />
**'''xf86-video-radeonhd''' &mdash; ATI(AMD) radeonhd video driver<br />
*'''xf86-video-chips''' &mdash; Chips and Technologies video driver<br />
*'''xf86-video-cirrus''' &mdash; Cirrus Logic video driver<br />
*'''xf86-video-dummy''' &mdash; dummy video driver<br />
*'''xf86-video-fbdev''' &mdash; framebuffer video driver<br />
*'''xf86-video-glint''' &mdash; GLINT/Permedia video driver<br />
*'''xf86-video-i128''' &mdash; Number 0 i128 video driver<br />
*'''xf86-video-i740''' &mdash; Intel i740 video driver<br />
*'''xf86-video-i810''' &mdash; Intel i810/i830/i9xx video drivers (deprecated - use -intel)<br />
*'''xf86-video-intel''' &mdash; Newer Version of Intel i810/i830/i9xx video drivers<br />
*'''xf86-video-intel-legacy''' &mdash; Legacy-driver for older intel cards as 82865G (xf86-video-intel currently crashes with older cards)<br />
*'''xf86-video-imstt''' &mdash; Integrated Micro Solutions Twin Turbo video driver<br />
*'''xf86-video-mga''' &mdash; mga video driver (Matrox Graphics Adapter)<br />
*'''xf86-video-neomagic''' &mdash; neomagic video driver<br />
*'''xf86-video-nv''' &mdash; Nvidia nv video driver<br />
*'''xf86-video-nouveau''' &mdash; Open Source 3D acceleration driver for nVidia cards (experimental), check: [http://nouveau.freedesktop.org/wiki/] for Current Status<br />
*'''xf86-video-openchrome''' &mdash; VIA/S3G UniChrome, UniChrome Pro and Chrome9 video driver<br />
*'''xf86-video-rendition''' &mdash; Rendition video driver<br />
*'''xf86-video-s3''' &mdash; S3 video driver<br />
*'''xf86-video-s3virge''' &mdash; S3 Virge video driver<br />
*'''xf86-video-savage''' &mdash; savage video driver<br />
*'''xf86-video-siliconmotion''' &mdash; siliconmotion video driver<br />
*'''xf86-video-sis''' &mdash; SiS video driver<br />
*'''xf86-video-sisusb''' &mdash; SiS USB video driver<br />
*'''xf86-video-tdfx''' &mdash; tdfx video driver<br />
*'''xf86-video-trident''' &mdash; Trident video driver<br />
*'''xf86-video-tseng''' &mdash; tseng video driver<br />
*'''xf86-video-unichrome''' &mdash; VIA S3 Unichrome video drivers<br />
*'''xf86-video-v4l''' &mdash; v4l video driver<br />
*'''xf86-video-vesa''' &mdash; vesa video driver<br />
*'''xf86-video-vga''' &mdash; VGA 16 color video driver<br />
*'''xf86-video-vmware''' &mdash; vmware video driver<br />
*'''xf86-video-voodoo''' &mdash; voodoo video driver<br />
<br />
'''''Note''''': The '''vesa''' driver is the most generic, and should work with almost any modern video chipset. If you cannot find a suitable driver for your video chipset, vesa ''should'' work.<br />
<br />
Use pacman to install the appropriate video driver for your video card/onboard video. e.g.:<br />
# pacman -S xf86-video-savage<br />
(for the Savage driver.)<br />
<br />
*If you have an NVIDIA or ATI graphics card you may wish to install the proprietary NVIDIA or ATI drivers. '''Installing proprietary video drivers is covered below.'''.<br />
*If you do not want to install the proprietary drivers or do not have an NVIDIA or ATI graphics card, you should skip down to '''[[#Step 3: Configure X|Step 3: Configure X]]'''.<br />
<br />
-----<br />
<br />
<br />
=====NVIDIA Graphics Cards=====<br />
The NVIDIA proprietary drivers are generally considered to be of good quality, and offer 3D performance, whereas the open source '''nv''' driver offers only 2d support at this time. <br />
<br />
Before you configure your Graphics Card you will need to know which driver fits. Arch currently has several different driver packages that each match a certain subset of Cards: <br />
<br />
'''1. nvidia-96xx''' ''slightly newer cards up to the GF 4.''<br />
<br />
'''2. nvidia-173xx''' ''Geforce FX series cards''<br />
<br />
'''3. nvidia''' ''newest GPUs after the GF FX''<br />
<br />
{{Note| Nvidia-71xx series proprietary drivers, which are required by extremely old cards like TNT and TNT2, have been removed because they do not work with the new Xorg that Arch makes use of and nvidia has discontinued support for such. You should use the xf86-video-nv or xf86-video-vesa drivers instead.}}<br />
<br />
Consult the NVIDIA website to see which one is for you. The difference is only for the installation; Configuration works the same with every driver.<br />
<br />
Select and install the appropriate NVIDIA driver ''for your card'', e.g.: <br />
# pacman -S nvidia-96xx<br />
<br />
The NVIDIA package has a utility for updating your existing /etc/X11/xorg.conf for use with the NVIDIA driver:<br />
# nvidia-xconfig<br />
<br />
It also has several options which will further specify the contents and options of the xorg.conf file.<br />
For example,<br />
# nvidia-xconfig --composite --add-argb-glx-visuals<br />
<br />
For more detailed information, see nvidia-xconfig(1).<br />
<br />
Some useful tweaking options in the device section are (beware that these may not work on your system):<br />
Option &quot;RenderAccel&quot; &quot;true&quot;<br />
Option &quot;NoLogo&quot; &quot;true&quot;<br />
Option &quot;AGPFastWrite&quot; &quot;true&quot;<br />
Option &quot;EnablePageFlip&quot; &quot;true&quot;<br />
Make sure all instances of DRI are commented out:<br />
# Load &quot;dri&quot;<br />
Double check your /etc/X11/xorg.conf to make sure your default depth, horizontal sync, vertical refresh, and resolutions are acceptable.<br />
<br />
Update kernel module dependencies using <code>/sbin/depmod</code>:<br />
# depmod -a<br />
(A reboot may be necessary.)<br />
{{Tip|Advanced instructions for NVIDIA configuration can be found in the [[NVIDIA]] article.}}<br />
<br />
You may now continue with '''[[#Step 3: Configure X|Step 3: Configure X]]''' to familiarize yourself further, or continue the installation process with '''[[#C: Test X|Test X]]'''.<br />
<br />
=====ATI Graphics Cards=====<br />
ATI owners have multiple options for drivers. <br />
* The open source '''''radeon''''' driver provided by the '''xf86-video-ati''' package. <br />
** This is the original, reverse-engineered open source driver which fully supports Radeon chipsets up to X1950 (latest R500 chipsets). Cards up to the 9200 series are fully supported, stable, and provide full 2D and 3D acceleration. Cards from 9500 to X1950 feature full 2D acceleration, and stable 3D acceleration, but lack certain features provided by the proprietary driver, (for example, powersaving is still in a testing phase). Cards from HD2xxx (R6xx) to the newest are supported by xf86-video-ati, but only offer 2d support at this time.<br />
* The open source '''''radeonhd''''' driver provided by the '''xf86-video-radeonhd''' package.<br />
** This driver supports ATI R500 chipsets (Radeon X1000 series) and newer. It is written by Novell with specifications provided to the public by AMD. It supports RandR 1.2 and development is currently very active. Therefore, functionality may be inconsistent across the spectrum of cards supported. (Some users report excellent performance and reliability while others experience trouble.) It also supports HDMI, with sound.<br />
* The proprietary '''''fglrx''''' driver provided by the Catalyst package located in the AUR. The proprietary driver is covered below.<br />
The open-source drivers will usually suit most needs and are generally less problematic.<br />
<br />
Install the '''''radeon''''' ATI Driver with<br />
# pacman -S xf86-video-ati libgl ati-dri<br />
Install the '''''radeonhd''''' ATi Driver with<br />
# pacman -S xf86-video-radeonhd libgl ati-dri<br />
<br />
The proprietary ATI driver '''Catalyst''' was once a precompiled package offered by Arch in the <code>extra</code> repository, but as of March 2009, official support has been dropped because of dissatisfaction with the quality and speed of development of the proprietary driver.The catalyst driver is now available in [http://aur.archlinux.org/packages.php?ID=22899 AUR]. Installation information for Catalyst driver is available [[ATI#Proprietary_ATI_Catalyst_driver | here]]<br />
<br />
{{Warning| The proprietary ATI driver supports only R600 and newer devices (that means, HD2xxx and newer). Older series cards (X1xxx and older) are not supported.}}<br />
<br />
{{Tip|Advanced instructions for ATI configuration can be found in the [[ATI | ATI wiki article]].}}<br />
<br />
====C: Install Input Driver Packages====<br />
The latest X requires you to install drivers for your input devices, keyboard and mouse included. For a complete list of available input drivers,<br />
# pacman -Ss xf86-input | less<br />
<br />
For most users, xf86-input-keyboard and xf86-input-mouse should be sufficient for a basic setup. Use pacman to install your desired drivers for your input devices. e.g.:<br />
# pacman -S xf86-input-keyboard xf86-input-mouse<br />
<br />
===Step 3: Configure X===<br />
<br />
====A: The xorg.conf file====<br />
<br />
/etc/X11/xorg.conf is the main configuration file for your '''X''' Window System, the foundation of your '''G'''raphical '''U'''ser '''I'''nterface. It is a plain text file ordered into sections and subsections. Important sections are ''Files, InputDevice, Module, Monitor, Modes, Screen, Device, and ServerLayout''. Sections can appear in any order and there may be more than one section of each kind, for example, if you have more than one monitor, or if your laptop has a trackpoint as well as a mouse. <br />
<br />
Since X11R7.2 the X.Org X Server features autoconfiguration. Therefore, it can function without an xorg.conf file in many cases. ''If'' the autoconfiguration ''works satisfactorily'' and you do not need to specify special features such as aiglx, compositing and so forth, you may forgo creating an xorg.conf file and continue below with [[#B: Input hotplugging| Input hotplugging]].<br />
<br />
=====Standard xorg.conf generation=====<br />
<br />
Advanced users may wish to manually create their own xorg.conf file. You may also use the <code>/usr/bin/Xorg</code> program with the -configure option to generate a basic config file; As root, do:<br />
# Xorg -configure<br />
This will create a config file at /root/xorg.conf.new <br />
<br />
Copy the file to <code>/etc/X11/</code>:<br />
# cp /root/xorg.conf.new /etc/X11/xorg.conf<br />
<br />
=====Alternative xorg.conf generation=====<br />
<br />
Newer versions of the Xorg Server(>1.6) do not include the /usr/bin/xorgconfig or /usr/bin/xorgcfg scripts. If you run into problems generating/using an xorg.conf file, you might want to consider using this guide.<br />
<br />
See the [[Xorg#Without_xorg.conf|article on X.Org, section "Without xorg.conf"]].<br />
<br />
* Note that if you are in possession of a properly configured xorg.conf under another distribution and with the same Xorg version, you may easily copy it over to your current Arch system's <code>/etc/X11/</code> directory.<br />
<br />
<br />
{{Tip | For Intel graphics card, specific configuration may be necessary to get proper 2D or 3D performance, as stated in [[Intel_Graphics]] wiki article.}}<br />
<br />
====B: Input hotplugging====<br />
<br />
[[Xorg input hotplugging|Input hotplugging]] is supported since the 1.4 version of the X.Org X Server and enabled by default. When enabled, X will utilize hal to allow for the hotplugging and removal of human interface devices without having to restart X. <br />
<br />
{{Warning | Starting the '''X''' server using input hotplugging without the '''HAL''' daemon installed and running may result in the inability to use the mouse and/or keyboard, and the '''X''' server appearing to freeze as a result .}}<br />
<br />
You must decide whether you will use input hotplugging (enabled by default), or disable it. Input hotplugging is convenient for many users, especially those with mobile machines like laptops and netbooks. Other users may wish to disable it in favor of manual or more static device configuration within /etc/xorg.conf.<br />
<br />
{{Tip | See the article on [[Xorg input hotplugging]] for full details.}}<br />
<br />
=====Using input hotplugging=====<br />
<br />
Install HAL, dbus and the evdev input driver:<br />
# pacman -S hal dbus xf86-input-evdev<br />
<br />
Set the keyboard layout (if you do not use a standard US keyboard)<br />
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/<br />
# nano /etc/hal/fdi/policy/10-keymap.fdi<br />
Edit the &quot;input.xkb.layout&quot; key and possibly the &quot;input.xkb.variant&quot; key in this file.<br />
<br />
Laptop users will also need the synaptics package to allow X to configure the touchpad:<br />
# pacman -S xf86-input-synaptics<br />
<br />
{{Tip|For instructions on fine tuning or troubleshooting touchpad settings, see the [[Touchpad Synaptics]] article.}}<br />
<br />
<br />
'''The HAL daemon'''<br />
<br />
The hal daemon '''must''' be started '''before''' the '''X''' server:<br />
# /etc/rc.d/hal start<br />
Add the hal daemon to the DAEMONS array in /etc/rc.conf to start it at every boot.<br />
<br />
=====Disable input hotplugging=====<br />
Disabling input hotplugging will skip devices detected by hal and will use the keyboard/mouse configuration from xorg.conf:<br />
# nano /etc/X11/xorg.conf<br />
add the following:<br />
Section &quot;ServerFlags&quot;<br />
Option &quot;AutoAddDevices&quot; &quot;False&quot;<br />
EndSection<br />
<br />
======Set the keyboard layout if not using a standard US keyboard======<br />
Add option lines in the &quot;InputDevice&quot; section of the /etc/X11/xorg.conf file specifying the keyboard layout and variant:<br />
Option &quot;XkbLayout&quot; &quot;be&quot;<br />
Option &quot;XkbVariant&quot; &quot;&quot;<br />
<br />
Alternative method using the setxkbmap command:<br />
# setxkbmap pl <br />
(with the proper keyboard layout instead of <code>pl</code> of course) should switch your keyboard layout in x.<br />
To make this permanent, add this command to <code>/home/<youruser>/.xinitrc</code> before starting the window manager (before command like <code>exec startxfce4</code>).<br />
<br />
==== C: Test X ====<br />
<br />
First, read the warning about input hotplugging in the previous section. At this point, you should have xorg installed, with a suitable video driver and an /etc/X11/xorg.conf configuration file. If you want to test your configuration quickly, to ensure your ability to successfully start '''X''' from the command line before installing a complete desktop environment, you can do so by configuring ~/.xinitrc to invoke '''Xterm'''. Xterm is a very simple terminal emulator which runs in the '''X '''Server environment; it is installed as part of the base xorg packages.<br />
<br />
===== Prepare for the test by configuring ~/.xinitrc=====<br />
<br />
One of the main functions of this file is to dictate what '''X''' Window client is invoked with the '''/usr/bin/startx''' and/or '''/usr/bin/xinit''' program ''on a per-user basis''. (The '''startx''' script is merely a front end to the more versatile '''xinit''' command.) There are vast amounts of additional configurable specifications and commands that may also be added to ~/[[.xinitrc]] as you further customize your system. <br />
{{Note | '''[[.xinitrc]]''' is a so-called 'dot' (.) file. Files in a UNIX filesystem which are preceded with a dot (.) are 'hidden', and will not show up with a regular 'ls' command, usually for the sake of keeping directories tidy. Dot files may be seen by issuing '''ls -a'''. The 'rc' denotes ''Run Commands'' and simply indicates that it is a configuration file. Since it controls how a program runs, it is (although historically incorrect) also said to stand for &quot;Run Control&quot;.}}<br />
<br />
'''startx/xinit''' will start the '''X''' server and clients. To determine the client to run, '''startx/xinit''' will first look to parse a [[.xinitrc]] file in the user's home directory. In the absence of file ~/[[.xinitrc]], it defaults to the global xinitrc in the xinit library directory; /etc/X11/xinit/xinitrc, which defaults to using the TWM window manager. (Hence, if you invoke startx without a ~/[[.xinitrc]] file, a TWM session will start.) Further details in the [[.xinitrc]] wiki entry.<br />
<br />
Switch to your '''''normal, non-root''''' user:<br />
<br />
# su - ''yourusername''<br />
<br />
* /etc/skel/ contains files and directories to provide sane defaults for newly created user accounts. The name '''skel''' is derived from the word '''skeleton''', because the files it contains form the basic structure for users' home directories.<br />
<br />
* Sample .xinitrc provided [[Xinitrc#A_standard_.xinitrc | here]] <br />
Copy the sample xinitrc file from /etc/skel/ to your home directory: <br />
<br />
$ cp /etc/skel/[[.xinitrc]] ~/<br />
Edit the file: <br />
$ nano ~/.xinitrc<br />
and add &quot;<code>exec xterm</code>&quot; so that it looks like this:<br />
<br />
#!/bin/sh<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
#<br />
# exec wmaker<br />
# exec startkde<br />
# exec icewm<br />
# exec blackbox<br />
# exec fluxbox<br />
#<br />
exec xterm<br />
<br />
{{Note | ''Be sure to have only '''one''' uncommented '''exec''' line in ~/.xinitrc'' for now.}}<br />
<br />
Below, we shall edit this file again to specify the appropriate desktop environment/window manager of your choice.<br />
<br />
===== Perform the test =====<br />
<br />
Test your configurations by starting '''X''' as '''normal, non-root''' user, with:<br />
<br />
$ startx<br />
or<br />
$ xinit<br />
<br />
You should have an '''xterm''' session open up. You can test your keyboard and its layout in it. You may have to move your mouse around until it enters the xterm area before you see the mouse cursor or xterm responds to your keyboard.<br />
<br />
If you prove a properly configured /etc/X11/xorg.conf by successfully running the test, you can be assured that your DE/WM of choice will work smoothly.<br />
<br />
Exit Xterm with:<br />
$ exit<br />
{{Tip|Advanced instructions for Xorg configuration can be found in the [[Xorg]] article.}}<br />
<br />
<br />
{{Note| With Xorg 1.6 CTRL-Alt-Backspace has been deprecated and will not work to exit out of this test. A somewhat messy work around is to switch to a different virtual console (CTRL-Alt-F2, for example) and then switch back to the console the test is running in (probably CTRL-Alt-F1). You will then be able to use CTRL-C to kill the X test. You can enable CTRL-Alt-Backspace by editing xorg.conf, as described [http://wiki.archlinux.org/index.php/Xorg#Ctrl-Alt-Backspace_doesn.27t_exit_X here].}}<br />
If the screen goes black, you may still attempt to switch to a different virtual console (CTRL-Alt-F2, for example), and login blindly as root, followed by <Enter>, followed by root's password followed by <enter>. Finally, reboot blindly with:<br />
# reboot<br />
or <br />
# init 6<br />
<br />
=====In case of errors=====<br />
If you have problems starting '''X''', you can look for errors in the /var/log/Xorg.0.log file and on the console output of the virtual console you started '''X''' from. <br />
<br />
'''''If using /etc/X11/xorg.conf'''''<br />
<br />
Inspect the config file:<br />
<br />
# nano /etc/X11/xorg.conf<br />
<br />
The video driver may need to be specified. e.g.:<br />
Section &quot;Device&quot;<br />
<br />
...<br />
Driver &quot;savage&quot;<br />
...<br />
<br />
EndSection<br />
<br />
Horizontal sync and vertical refresh specs under section &quot;Monitor&quot; may need to be added:<br />
Section &quot;Monitor&quot;<br />
Identifier &quot;Monitor0&quot;<br />
VendorName &quot;Monitor Vendor&quot;<br />
ModelName &quot;Monitor Model&quot;<br />
HorizSync 30.0 - 130.0 # Safe for LCD's<br />
VertRefresh 50.0 - 100.0 # Safe for LCD's and most CRT's.<br />
EndSection<br />
(If these specs are unknown, consult the documentation of the computer monitor.)<br />
<br />
Color depth can be specified under section &quot;Screen&quot;:<br />
Section &quot;Screen&quot;<br />
Identifier &quot;Screen0&quot;<br />
Device &quot;Card0&quot;<br />
Monitor &quot;Monitor0&quot;<br />
DefaultDepth 24<br />
(Typically, this will be set to 24 for true color.)<br />
<br />
Also add desired Modes to the &quot;Display&quot; subsection, at least under the Depth 24 header, e.g.:<br />
SubSection &quot;Display&quot;<br />
Viewport 0 0<br />
Depth 24<br />
Modes &quot;1024x768&quot; &quot;800x600&quot; &quot;640x480&quot;<br />
Add the following section, if eye candy which requires the composite extension is desired: <br />
Section &quot;Extensions&quot;<br />
Option &quot;Composite&quot; &quot;Enable&quot;<br />
EndSection<br />
Try the config again, after modifying:<br />
# startx<br />
or<br />
# xinit<br />
'''''Still having trouble? Detailed instructions are in the [[Xorg]] article.'''''<br />
<br />
=====Need Help?=====<br />
<br />
If you are still having trouble after consulting the [[Xorg]] article and need assistance via the Arch forums, be sure to install and use wgetpaste:<br />
<br />
# pacman -S wgetpaste<br />
Use wgetpaste and provide links for the following files when asking for help in your forum post:<br />
* ~/.xinitrc<br />
* /etc/X11/xorg.conf<br />
* /var/log/Xorg.0.log.old<br />
Use wgetpaste like so:<br />
$ wgetpaste </path/to/file><br />
Post the corresponding links given within your forum post. Be sure to provide appropriate hardware and driver information as well.<br />
{{Warning| '''''It is very important to provide detail when troubleshooting X. Please provide all pertinent information as detailed above when asking for assistance on the Arch forums. '''''}}<br />
<br />
==Part IV: Installing and configuring a Desktop Environment ==<br />
While The '''X''' Window System provides the basic framework for building a ''graphical user interface'' (GUI), a '''Desktop Environment''' (DE), works atop and in conjunction with '''X''', to provide a completely functional and dynamic GUI. A DE typically provides a window manager, icons, applets, windows, toolbars, folders, wallpapers, a suite of applications and abilities like drag and drop. The particular functionalities and designs of each DE will uniquely affect your overall environment and experience. Therefore, choosing a DE is a very subjective and personal decision. Choose the best environment for ''your'' needs.<br />
<br />
If you desire a lighter, less demanding GUI to configure manually, you may choose to simply install a '''Window Manager''', or WM. A WM controls the placement and appearance of application windows in conjunction with the X Window System but does NOT include such features as panels, applets, icons, applications, etc., by default.<br />
* Lightweight floating WM's include: [[#Openbox|'''Openbox''']], [[#Fluxbox|'''Fluxbox''']], [[#fvwm2|'''fvwm2''']], [[PekWM|'''pekwm''']], [[Evilwm|'''evilwm''']], '''Windowmaker, and TWM'''.<br />
* If you need something completely different, try a tiling WM like [[Awesome|'''awesome''']], [[Ion3|'''ion3''']], [[Wmii|'''wmii''']], [[Dwm|'''dwm''']], [[Xmonad|'''xmonad''']], or [[Ratpoison|'''ratpoison''']].<br />
<br />
===Step 1: Install Fonts===<br />
At this point, you may wish to save time by installing visually pleasing, true type fonts, before installing a desktop environment/window manager. Dejavu and bitstream-vera are good, general-purpose font sets. You may also want to install the Microsoft font sets, which are especially popular on websites, and may be required for the proper function of Flash animations which feature text.<br />
<br />
Install with:<br />
# pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<br />
<br />
Refer to [[Xorg Font Configuration]] for how to configure fonts.<br />
<br />
===Step 2: ~/.xinitrc (again)===<br />
<br />
As '''non-root user''', edit your /home/username/.xinitrc to specify the DE you wish to use. This will allow you to use '''startx/xinit''' from the shell, in the future, to open your DE/WM of choice:<br />
<br />
$ nano ~/.xinitrc<br />
<br />
Uncomment or add the ''''exec''' ..' line of the appropriate desktop environment/window manager. Some examples are below:<br />
<br />
For the Xfce4 desktop environment:<br />
exec startxfce4 <br />
<br />
For the KDE desktop environment:<br />
exec startkde<br />
A '''startkde''' or '''startxfce4''' command starts the KDE or Xfce4 desktop environment. This is exactly the same as entering: <br />
$ xinit /usr/bin/startxfce4<br />
or<br />
$ xinit /usr/bin/starkde<br />
from the shell prompt. Note that such a command does not finish until you logout of the DE. Normally the shell would wait for KDE to finish, then run the next command. The &quot;exec&quot; prefix to this command within the ~/.xinitrc file tells the shell that this is the last command, so the shell does not need to wait to run a subsequent command.<br />
<br />
In the future, after the DE of choice is installed and if trouble with automounting is experienced, try using the following command in ~/.xinitrc instead. (Replace "startxfce4" with the command that is appropriate for your window manager/DE.)<br />
exec ck-launch-session startxfce4<br />
This will ensure the various environment variables are set correctly by starting a clean consolekit session. ConsoleKit is a framework for keeping track of the various users, sessions, and seats present on a system. It provides a mechanism for software to react to changes of any of these items or of any of the metadata associated with them. It works in conjunction with dbus, and other tools.<br />
<br />
Remember to have only one uncommented '''exec''' line in your ~/.xinitrc for now.<br />
<br />
===Step 3: Install a Desktop Environment===<br />
<br />
Continue below, installing the DE/WM of your choice.<br />
<br />
* [[#GNOME|'''GNOME''']]<br />
* [[#KDE|'''KDE''']]<br />
* [[#Xfce|'''Xfce''']]<br />
* [[#LXDE|'''LXDE''']]<br />
* [[#Openbox|'''Openbox''']]<br />
* [[#Fluxbox|'''Fluxbox''']]<br />
* [[#fvwm2|'''fvwm2''']]<br />
<br />
====GNOME====<br />
=====About GNOME=====<br />
The '''G'''NU '''N'''etwork '''O'''bject '''M'''odel '''E'''nvironment. The GNOME project provides two things: The GNOME desktop environment, an intuitive and attractive desktop for end-users, and the GNOME development platform, an extensive framework for building applications that integrate into the rest of the desktop.<br />
<br />
=====Installation=====<br />
Install the base GNOME environment with:<br />
# pacman -S gnome<br />
<br />
Additionally, you can install the extras:<br />
# pacman -S gnome-extra<br />
<br />
It's safe to choose all packages shown in the extra package.<br />
<br />
=====Useful DAEMONS for GNOME=====<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. Some users prefer to use the '''hal''' daemon. The '''hal''' daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The '''fam''' daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system. Both '''hal''' and '''fam''' can make life easier for the GNOME user. The hal and fam packages are installed when you install GNOME, but must be invoked to become useful.<br />
<br />
You may want to install a graphical login manager. For GNOME, the '''gdm''' daemon is a good choice. <br />
<br />
As root:<br />
# pacman -S gdm<br />
<br />
Start hal and fam:<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
<br />
Add them to your /etc/rc.conf DAEMONS section, so they will be invoked at boot:<br />
# nano /etc/rc.conf<br />
<br />
DAEMONS=(syslog-ng network crond alsa '''hal fam gdm''')<br />
(If you prefer to log into the console and manually start X, leave out gdm.)<br />
<br />
Then edit your /etc/gdm/custom.conf and in the '''[servers]''' section add:<br />
0=Standard vt7<br />
<br />
As normal user, start X:<br />
$ startx<br />
or<br />
$ xinit<br />
If ~/.xinitrc is not configured for GNOME, you may always start it with '''xinit''', followed by the path to GNOME:<br />
$ xinit /usr/bin/gnome-session<br />
<br />
{{Tip|Advanced instructions for installing and configuring GNOME can be found in the [[Gnome]] article.}}<br />
<br />
Congratulations! Welcome to your GNOME desktop environment on your new Arch Linux system! You may wish to continue by viewing '''[[Beginners Guide Appendix#Tweaks.2FFinishing_touches|Tweaks and finishing touches]]''', or the rest of the information below. You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
=====Eye Candy=====<br />
By default, GNOME does not come with many themes and icons. You may wish to install some more attractive artwork for GNOME:<br />
<br />
A nice gtk (gui widget) theme engine (includes themes) is the murrine engine. Install with:<br />
# pacman -S gtk-engine-murrine<br />
<br />
Optional for more themes:<br />
# pacman -S murrine-themes-collection <br />
<br />
Once it has been installed, select it with System -> Preferences -> Appearance -> Theme tab.<br />
<br />
The Arch Linux repositories also have a few more nice themes and engines. Install the following to see for yourself:<br />
<br />
# pacman -S gtk-engines gtk-aurora-engine gtk-candido-engine gtk-rezlooks-engine<br />
<br />
You can find many more themes, icons, and wallpapers at [http://www.gnome-look.org GNOME-Look].<br />
<br />
====KDE====<br />
=====About KDE=====<br />
The '''K''' '''D'''esktop '''E'''nvironment. KDE is a powerful Free Software graphical desktop environment for GNU/Linux and <tt>UNIX</tt> workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of <tt>UNIX</tt>-like operating systems.<br />
<br />
=====Installation=====<br />
Choose one of the following, then continue below with '''[[#Useful KDE DAEMONS|Useful KDE DAEMONS]]''': <br />
<br />
1. The package '''kde''' is the official and complete vanilla KDE 4.2 residing under the Arch [extra] repo.<br />
<br />
Install base kde:<br />
# pacman -S kdebase-workspace<br />
Install the whole Desktop Environment: <br />
# pacman -S kde<br />
''or'' <br />
# pacman -S kde-meta<br />
<br />
2. Alternatively, another KDE project exists called '''KDEmod''', part of the Chakra distribution. It is an Arch Linux (and spinoff) exclusive, community-driven package set designed for modularity and offers a choice between KDE 3.5.10 or 4.x.x. KDEmod can be installed with pacman, after adding the proper repositories to /etc/pacman.conf. The project website, including complete installation instructions, can be found at [http://www.chakra-project.org/ http://www.chakra-project.org/].<br />
<br />
=====Useful KDE DAEMONS=====<br />
<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services.<br />
<br />
KDE will require the '''hal''' ('''H'''ardware '''A'''bstraction '''L'''ayer) daemon for optimal functionality. The hal daemon, among other things, will facilitate the automatic mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The hal package is installed when you install xorg-server, but must be invoked to become useful.<br />
<br />
The '''kdm''' daemon is the '''K''' '''D'''isplay '''M'''anager, which provides a '''graphical login''', if desired.<br />
<br />
-----<br />
<br />
Start hal:<br />
# /etc/rc.d/hal start<br />
<br />
{{Note|The hal daemon relies on, and will automatically start, the dbus daemon.}}<br />
Edit your DAEMONS array in /etc/rc.conf:<br />
# nano /etc/rc.conf<br />
Add '''hal''' to your DAEMONS array, to invoke it on boot. If you prefer a graphical login, add '''kdm''' as well: <br />
DAEMONS=(syslog-ng '''hal''' network crond alsa '''kdm''')<br />
{{Note|If you installed KDEmod3 instead of normal KDE, use kdm3 instead of kdm.}}<br />
<br />
*This method will start the system at runlevel 3, (/etc/inittab default, multiuser mode), and then start KDM as a daemon. <br />
<br />
*Some users prefer an alternative method of starting a display manager like KDM on boot by utilizing the /etc/inittab method and starting the system at runlevel 5. See [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]] for more.<br />
<br />
*If you prefer to log into the '''console''' at runlevel 3, and manually start X, leave out kdm, or comment it out with a bang, ( ! ).<br />
<br />
Now try starting your X Server as normal user:<br />
$ startx<br />
or<br />
$ xinit<br />
{{Tip|Advanced instructions for installing and configuring KDE can be found in the [[KDE]] article.}}<br />
<br />
Congratulations! Welcome to your KDE desktop environment on your new Arch Linux system! You may wish to continue by viewing '''[[Beginners Guide Appendix|The Beginners Guide Appendix]]''', or the rest of the information below. You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
====Xfce====<br />
=====About Xfce=====<br />
Xfce is another free software desktop environment for Linux. It aims to be fast and lightweight, while still being visually appealing and easy to use. Xfce is modular and reusable. It consists of separately packaged components that together provide the full functionality of the desktop environment, but which can be selected in subsets to create the user's preferred personal working environment. Xfce is mainly used for its ability to run a modern desktop environment on relatively modest hardware. It is based on the GTK+ 2 toolkit (the same as GNOME). It uses the Xfwm window manager, described below. Its configuration is entirely mouse-driven, and the configuration files are hidden from the casual user.<br />
<br />
=====Installation=====<br />
Install Xfce: <br />
# pacman -S xfce4 <br />
You may also wish to install themes and extras:<br />
# pacman -S xfce4-goodies gtk2-themes-collection<br />
Note: '''xfce4-xfapplet-plugin''' (a plugin that allows the use of GNOME applets in the Xfce4 panel) is part of the '''xfce4-goodies''' group and depends on '''gnome-panel''', which in turn depends on '''gnome-desktop'''. You may wish to take this into consideration before installing, since it represents a significant number of extra dependencies.<br />
<br />
If you get errors about dbus-launch then you need to install dbus aswell:<br />
# pacman -S dbus<br />
<br />
If you wish to admire 'Tips and Tricks' on login, install the '''fortune-mod''' package:<br />
# pacman -S fortune-mod<br />
<br />
=====Useful DAEMONS=====<br />
Recall from above that a daemon is a program that runs in the background, waiting for events to occur and offering services. Some Xfce users prefer to use the '''hal''' daemon. The hal daemon, among other things, will automate the mounting of disks, optical drives, and USB drives/thumbdrives for use in the GUI. The fam daemon will allow real-time representation of file alterations in the GUI, allowing instant access to recently installed programs, or changes in the file system. The hal and fam packages are installed when you install Xfce, but must be invoked to become useful.<br />
<br />
Start hal and fam:<br />
<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
{{Note|The hal daemon relies on, and will automatically start, the dbus daemon.}}<br />
Edit your DAEMONS array in /etc/rc.conf:<br />
# nano /etc/rc.conf<br />
Add '''hal''' and '''fam''' to your DAEMONS array, to invoke them at boot.<br />
<br />
{{Tip|Advanced instructions for installing and configuring Xfce can be found in the [[Xfce]] article.}}<br />
<br />
If you wish to install one, see [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]]. Otherwise you can login in via the console and run:<br />
<br />
$ startxfce4<br />
<br />
Congratulations! Welcome to your Xfce desktop environment on your new Arch Linux system! You may also be interested in the [[Post Installation Tips]] wiki article.<br />
<br />
====LXDE====<br />
=====About LXDE=====<br />
LXDE, (for ''L''ightweight ''X''11 ''D''esktop ''E''nvironment), is a new project focused on providing a modern desktop environment which aims to be lightweight, fast, intuitive and functional while keeping system resource usage low. LXDE is quite different from other desktop environments, since each component of LXDE is a discrete and independent application, and each can be easily substituted by other programs. This modular design eliminates all unnecessary dependencies and provides more flexibility. Details and screenshots available at: http://lxde.org/ <br />
<br />
LXDE provides:<br />
# The OpenBox windowmanager<br />
# PCManFM File manager<br />
# LXpanel system panel<br />
# LXSession session manager<br />
# LXAppearance GTK+ theme switcher<br />
# GPicView image viewer<br />
# Leafpad simple text editor<br />
# XArchiver: Lightweight, fast, and desktop-independent gtk+-based file archiver<br />
# LXNM (still under development): Lightweight network manager for LXDE supporting wireless connections<br />
These lightweight and versatile tools combine for quick setup, modularity and simplicity.<br />
<br />
Install LXDE with: <br />
# pacman -S lxde gamin openbox<br />
<br />
Add:<br />
exec startlxde<br />
*If you experience problems with Policykit or plan on running '''nm-applet''', the following command should be used instead<br />
exec ck-launch-session startlxde<br />
to your ~/.xinitrc and start with ''startx'' or ''xinit''<br />
<br />
{{Tip | Further information available at the [[LXDE]] wiki article.}}<br />
<br />
====*box====<br />
=====Fluxbox=====<br />
Fluxbox is yet another windowmanager for X.<br />
It's based on the Blackbox 0.61.1 code. Fluxbox looks like blackbox and handles styles, colors, window placement and similar things exactly like blackbox (100% theme/style compability).<br />
<br />
Install Fluxbox using <br />
# pacman -S fluxbox fluxconf<br />
<br />
If you use gdm/kdm a new fluxbox session will be automatically added. Otherwise, you should modify your user's .xinitrc and add this to it:<br />
exec startfluxbox <br />
<br />
More information is available in the [[Fluxbox]] article.<br />
<br />
=====Openbox=====<br />
Openbox is a standards compliant, fast, light-weight, extensible window manager.<br />
<br />
Openbox works with your applications, and makes your desktop easier to manage. This is because the approach to its development was the opposite of what seems to be the general case for window managers. Openbox was written first to comply with standards and to work properly. Only when that was in place did the team turn to the visual interface.<br />
<br />
Openbox is fully functional as a stand-alone working environment, or can be used as a drop-in replacement for the default window manager in the GNOME or KDE desktop environments. <br />
<br />
Install openbox using<br />
# pacman -S openbox<br />
Additional configuration tools are also available, if desired:<br />
# pacman -S obconf obmenu<br />
<br />
Once openbox is installed you will get a message to move menu.xml & rc.xml to ~/.config/openbox/ in your home directory:<br />
# su - ''yourusername''<br />
$ mkdir -p ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/rc.xml ~/.config/openbox/<br />
$ cp /etc/xdg/openbox/menu.xml ~/.config/openbox/<br />
<br />
'''rc.xml''' is the main configuration file for OpenBox. It may be manually edited, (or you can use OBconf). '''menu.xml''' configures the right-click menu.<br />
<br />
You may log into OpenBox via graphical login using KDM/GDM, or from the shell using '''startx''', in which case you will need to edit your ~/.xinitrc (as non-root user) and add the following:<br />
<br />
exec openbox-session<br />
<br />
NOTE: If you plan on running dbus (which is required by hal) then make sure your ~/.xinitrc reads:<br />
<br />
exec dbus-launch --exit-with-session openbox-session<br />
<br />
You may also start OpenBox from the shell using '''xinit''':<br />
$ xinit /usr/bin/openbox-session<br />
* Openbox may also be used as the window manager for GNOME, KDE, and Xfce.<br />
For KDM there is nothing left to do; openbox is listed in the sessions menu in KDM.<br />
<br />
Some useful, lightweight programs for OpenBox are:<br />
* PyPanel, Tint2, or LXpanel if you want a panel<br />
* feh if you want to set the background<br />
* ROX if you want a simple file manager (also provides simple icons)<br />
* PcmanFM a lightweight but versatile file manager (also provides desktop icon functionality)<br />
* iDesk (available in [[AUR]]) for providing desktop icons<br />
* Graveman for burning CD's or DVD's<br />
<br />
{{Tip | More information is available in the [[Openbox]] article.}}<br />
<br />
====FVWM2====<br />
FVWM (F Virtual Window Manager) is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system. Development is active, and support is excellent. <br />
<br />
Install fvwm2 with<br />
# pacman -S fvwm <br />
<br />
It will install the official version of the WM. However, if you want/need to use some more features than it provides, you can install the patched version from archlinuxfr (see [[Unofficial user repositories]]) or [[AUR]]. To install it from AUR or archlinuxfr repesctively, execute:<br />
$ yaourt -S fvwm-patched<br />
or<br />
# pacman -S fvwm-patched<br />
<br />
fvwm will automatically be listed in kdm/gdm in the sessions menu. Otherwise, add <br />
exec fvwm 2 <br />
<br />
to your user's .xinitrc.<br />
<br />
When you start [[FVWM2]], you will get into the blank configuration. However, when you left-click on the desktop, you will be able to select to configure FVWM. chose wanted modules and you are ready to go. Check out the configs in the http://www.box-look.org. One should also consider checking FVWM forums at http://fvwm.lair.be<br />
<br />
[[SLiM]] is a very good login manager, that does not have many dependencies and acts well with FVWM. Common Applications are similar to those suggested for [[Openbox]] or [[Fluxbox]].<br />
<br />
==Common and Lightweight Applications==<br />
For a list of [[Common Applications]] and [[Lightweight Applications]], visit their respective articles.<br />
<br />
=Appendix=<br />
See the [[Beginners' Guide Appendix]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=List_of_applications&diff=86420
List of applications
2009-12-05T17:49:10Z
<p>Keiichi: More infiltration of the app template</p>
<hr />
<div>[[Category:Other desktop user's resources (English)]] [[Category:General (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Provides a list of common software that may be useful in day-to-day computer use, categorized by task.}}<br />
<!--{{Article summary heading|Languages}}--><br />
<!--{{i18n_entry|English|Common Applications}}--><br />
{{Article summary heading|Related}}<br />
{{Article summary text|[[Lightweight Applications]]}}<br />
{{Article summary end}}<br />
<br />
== [[Backup programs]] ==<br />
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{Package Official|dar}}}}<br />
* {{App|[[Wikipedia:Duplicity (software)|Duplicity]]|A utility for encrypted, bandwidth-efficient backups using the rsync algorithm|http://www.nongnu.org/duplicity/|{{Package Official|duplicity}}}}<br />
* {{App|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|{{Package AUR|packrat}}}}<br />
* {{App|rdiff-backup|A utility for local/remote mirroring and incremental backups|http://www.nongnu.org/rdiff-backup/|{{Package Official|rdiff-backup}}}}<br />
* {{App|rsnapshot|A remote filesystem snapshot utility|http://www.rsnapshot.org/|{{Package Official|rsnapshot}}}}<br />
* {{App|[[rsync]]|A file transfer program to keep remote files in sync|http://rsync.samba.org/|{{Package Official|rsync}}}}<br />
* {{App|SafeKeep|A client/server backup system which enhances the power of rdiff-backup|http://safekeep.sourceforge.net/|{{Package AUR|safekeep}}}}<br />
<br />
== Internet ==<br />
=== BitTorrent Clients ===<br />
{{Wikipedia|Comparison of BitTorrent clients}}<br />
<br />
* {{App|aria2|Fast command-line download utility with support for multiple protocols, including BitTorrent|http://aria2.sourceforge.net/|{{Package Official|aria2}}}}<br />
* {{App|[[Wikipedia:Deluge (software)|Deluge]]|User-friendly BitTorrent client written in Python and wrapped with PyGTK|http://deluge-torrent.org/|{{Package Official|deluge}}}}<br />
* {{App|[[Wikipedia:KTorrent|KTorrent]]|Feature-rich BitTorrent client developed using Qt|http://ktorrent.org/|{{Package Official|ktorrent}}}}<br />
* {{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client supporting BitTorrent|http://mldonkey.sourceforge.net/|{{Package Official|mldonkey}}}}<br />
* {{App|[[Wikipedia:RTorrent|rTorrent]]|Simple and lightweight ncurses BitTorrent client|http://libtorrent.rakshasa.no/|{{Package Official|rtorrent}}}}<br />
* {{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|Simple and easy-to-use BitTorrent client with (GTK+) GUI and CLI front-ends|http://www.transmissionbt.com/|{{Package Official|transmission}}}}<br />
* {{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus)|http://www.vuze.com/|{{Package Official|vuze}}}}<br />
<br />
=== Chat Clients ===<br />
==== IRC Clients ====<br />
* {{App|[[Wikipedia:Irssi|Irssi]]|Highly-configurable ncurses-based IRC client|http://www.irssi.org/|{{Package Official|irssi}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE4 desktop|http://konversation.kde.org/|{{Package Official|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support|http://www.kvirc.net/|{{Package Official|kvirc}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|Modular, lightweight ncurses-based IRC client|http://www.weechat.org/|{{Package Official|weechat}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|GTK-based IRC client|http://xchat.org/|{{Package Official|xchat}}}}<br />
<br />
==== Jabber/XMPP Clients ====<br />
* {{App|Freetalk|A console based Jabber client|http://www.gnu.org/software/freetalk/|{{Package Official|freetalk}}}}<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|Jabber client written in PyGTK|http://www.gajim.org/|{{Package Official|gajim}}}}<br />
* {{App|jabber.el|A minimal jabber client for emacs|http://emacs-jabber.sourceforge.net/|{{Package AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|A small Jabber console client, includes features: SSL, PGP, MUC, and UTF8|http://mcabber.com/|{{Package Official|mcabber}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt based Jabber client|http://psi-im.org/|{{Package Official|psi}}}}<br />
<br />
==== MSN Clients ====<br />
* {{App|[[Wikipedia:AMSN|aMSN]]|MSN client written in Tcl/Tk|http://www.amsn-project.net/|{{Package Official|amsn}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A pygtk MSN Messenger client|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|Galaxium Messenger|A multi-protocol instant messenger application designed for the GNOME desktop|http://code.google.com/p/galaxium/|{{Package AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Kmess|KMess]]|KMess is a MSN Messenger client for Linux|http://kmess.org/|{{Package Official|kmess}}}}<br />
* {{App|[[Wikipedia:Mercury Messenger|Mercury]]|Java Based MSN client|http://www.mercury.im/|{{Package Official|mercury}}}}<br />
<br />
==== Multi-Protocol Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients}}<br />
<br />
* {{App|BarnOwl|A console chat client for the AIM, IRC, Jabber, and Zephyr protocols|http://barnowl.mit.edu/|{{Package AUR|barnowl}}}}<br />
* {{App|Carrier|Pidgin fork providing minor GUI enhancements (formerly funpidgin)|http://funpidgin.sourceforge.net/|{{Package AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Fork of CenterICQ - A text mode menu- and window-driven IM interface|http://www.centerim.org/index.php/Main_Page|{{Package Official|centerim}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messaging client using the Telepathy framework|http://live.gnome.org/Empathy|{{Package Official|empathy}}}}<br />
* {{App|Finch|A ncurses-based messaging client|http://pidgin.im/|{{Package Official|finch}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|Instant Messenger|http://www.kde.org/|{{Package Official|kopete}}}}<br />
* {{App|[[Wikipedia:Pidgin (software)|Pidgin]]|Multi-protocol instant messaging client|http://pidgin.im/|{{Package Official|pidgin}}}}<br />
* {{App|[[Wikipedia:QutIM|qutIM]]|Multiplatform instant messenger|http://qutim.org/|{{Package AUR|qutim}}}}<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 />
* [[Sup]] - A CLI mail client with very fast searching, tagging, threading and gmail like operation. http://sup.rubyforge.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 />
* [[Newsbeuter]] - A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup.<br />
* [[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 />
* [http://boreal.rssowl.org/ Rssowl] - A powerful java-based RSS reader<br />
* [[Snownews]] - Text mode RSS newsreader.<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<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]] - The default GNOME browser, which uses the webkit rendering engine. 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/<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 />
* [[uzbl]] - A lightweight webkit browser following the UNIX philosophy - to do one thing and do it well. http://www.uzbl.org/<br />
* [http://aur.archlinux.org/packages.php?ID=6524 Hv3] - A minimalist web browser based on tkhtml3 http://tkhtml.tcl.tk/hv3.html<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 />
*[[Foxit Reader]] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*[[MuPDF]] - lightweight PDF viewer and toolkit written in portable C http://ccxvii.net/mupdf/<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 />
* [[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 />
<br />
==== Visualization ====<br />
* [[projectM]]<br />
<br />
==== Editing ====<br />
* [[Audacity]]<br />
<br />
=== Graphics and Image Manipulation ===<br />
* [[Blender]]<br />
* [[Dia]]<br />
* [[Gimp]]<br />
* [[imagemagick]]<br />
* [[Inkscape]]<br />
* [[mtpaint]]<br />
* [[Nathive]]<br />
* [[Shotwell]]<br />
* [[Xara]]<br />
<br />
=== Image Viewers ===<br />
* [[Background Setter]]<br />
* [[eog]]<br />
* [[feh]]<br />
* [[GPicView]]<br />
* [[Geeqie]]<br />
* [[GQview]]<br />
* [[gThumb]]<br />
* [[Mirage]]<br />
* [[Quick Image Viewer]]<br />
* [[Ristretto]]<br />
* [[XnView]]<br />
* [[xv]]<br />
<br />
=== Phone ===<br />
* [[moto4lin]]<br />
<br />
=== Video ===<br />
* [[kaffeine]]<br />
* [[mplayer]]<br />
* [[Parole]] A modern media player based on the GStreamer framework http://goodies.xfce.org/projects/applications/parole/<br />
* [[SMPlayer]] is a complete frontend for [[MPlayer]].<br />
* [[VLC]] - A simple multi-platform media player, streamer, and encoder, that handles huge numbers of media formats.<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 />
* [http://aur.archlinux.org/packages.php?ID=19388 glista] with notes support http://prematureoptimization.org/glista/downloads.php<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 />
* [[Gnote]] - Gnote is an experimental port of Tomboy to C++ [http://live.gnome.org/Gnote 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 />
* [http://www.archlinux.org/packages/community/i686/ted/ Ted] - An easy GTK-based rich text processor (with footnote support) http://www.nllgg.nl/Ted/<br />
<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 />
* [[ntop]] - A network traffic probe based on libcap http://ntop.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 />
* [[Calcurse]] - An ncurses calendar and task manager [http://culot.org/calcurse/ Home Site]<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://clayo.org/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 />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|To use the aurnotify desklet visit: http://adesklets.sourceforge.net/desklets.html|{{Package AUR|aurnotify}}}}<br />
* {{App|[http://wiki.archlinux.org/index.php/AUR_Helpers#aurshell Aurshell]|Shell for Arch Linux AUR and ABS repository management.|http://github.com/husio/aursh|{{Package AUR|aurshell}}}}<br />
* {{App|[http://wiki.archlinux.org/index.php/AUR_Helpers#makeaur Makeaur]|A simple AUR wrapper.|http://ghost1227.com/makeaur|{{Package AUR|makeaur}}}}<br />
* {{App|[http://wiki.archlinux.org/index.php/Pacman_Tips#Color_output Pacman-color]|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{Package AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Package Official|pacman-contrib}}}}<br />
* {{App|Pkgtools|A collection of scripts for Arch Linux packages.|Which includes '''pkgfile'''; find what package owns a file. [[http://bbs.archlinux.org/viewtopic.php?pid=384196 Forum topic]]|{{Package Official|pkgtools}}}}<br />
* {{App|[[Powerpill]]|A wrapper for pacman that speeds up package retrieval by using aria2c for concurrent/segmented downloads.|http://xyne.archlinux.ca/info/powerpill|{{Package Official|powerpill}}}}<br />
* {{App|[http://wiki.archlinux.org/index.php/AUR_Helpers#slurpy Slurpy]|An AUR search/download/update helper in Python.|http://rsontech.net/projects/slurpy/|{{Package AUR|slurpy}}}}<br />
* {{App|[[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...|http://sourceforge.net/projects/tupac|{{Package AUR|tupac}}}} <br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br><br />
See also: [[Comparison of AUR frontends]] and [[AUR Helpers]].<br />
<br />
=== CD/DVD Burning Tools===<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[brasero]] - An application to burn CDs/DVDs for the Gnome Desktop.<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
* [[k3b]] - A feature-rich and easy to handle CD burning application for KDE.<br />
* [[nerolinux]] - A commercial CD/DVD burning tool (requires a valid key).<br />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
* [[xfburn]] - Xfburn is a simple CD/DVD burning tool based on libburnia libraries (xfce).<br />
<br />
===Clipboard Managers===<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager.<br />
* [[Glipper]] - Glipper is a clipboardmanager for GNOME with more features and plugin support [http://glipper.sourceforge.net/ Home Site]<br />
<br />
=== Compression Tools ===<br />
* [[File Roller]] The default archive manager for GNOME.<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[pbzip2]] - A threaded version of the bzip2 utility, can automatically scale up to as many cores as it finds in the system.<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 />
<br />
=== File Managers ===<br />
* [[emelFM2]] - File manager that implements a three-pane design - http://emelfm2.net<br />
* [[Dolphin]] - Default file manager for KDE 4 - http://dolphin.kde.org/<br />
* [[Konqueror]] - Default file manager for KDE 2 and KDE 3 - http://www.konqueror.org/<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 />
* [[PCManFM | 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://thunar.xfce.org/<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 />
* [[Xfce4panel]] Default [[Xfce]] panel [http://www.xfce.org/projects/xfce4-panel/ Home Site]<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]] - Simple, flexible system monitor package for GTK2; many plug-ins are available on AUR. 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 />
* [[Twm]] - Classic, customizable and very lightweight window manager; possibly the first designed for X11.<br />
* [[Xfwm4]] - Middleweight Compositing WM, [[Xfce]] default WM http://www.xfce.org/documentation/4.2/manuals/xfwm4<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]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:List_of_applications&diff=86419
Talk:List of applications
2009-12-05T17:48:44Z
<p>Keiichi: </p>
<hr />
<div>== Discussion ==<br />
For applications like rTorrent which have both a Wiki page and a Wikipedia page, what do I do? --[[User:Keiichi|Keiichi]] 12:48, 5 December 2009 (EST)<br />
<br />
<br />
== Drawing Board ==<br />
{{App|[[Wikipedia:blankwikipedia|blankname]]|blank text|blank website|{{Package Official|blank}}}}<br />
{{App|[[blankwiki]]|blank text|blank website|{{Package Official|blank}}}}<br />
{{App|blank name|blank text|blank website|{{Package AUR|blank}}}}</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Template_talk:App&diff=86241
Template talk:App
2009-12-04T00:03:50Z
<p>Keiichi: </p>
<hr />
<div>I like it.<br><br />
Trying to make the url small, so far with no results. I apparently broke the template because it shows small here, but not in articles. [[User:Manolo|manolo]] 13:35, 13 November 2009 (EST)<br />
<br />
== Using direct links ==<br />
<br />
When trying to use a direct link, it does not format correctly:<br />
<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{[http://aur.archlinux.org/packages.php?ID=5863 yaourt]}}}}<br />
<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br />
<br />
A really good example why using a direct links is needed for this template, [[Template:Package Official]] and [[Template:Package AUR]]<br />
<br />
{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{Package Official|dar}}}}<br />
<br />
{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{[http://www.archlinux.org/packages/community/i686/dar/ dar]}}}}<br />
<br />
<br />
The following works, but does not look as neat like when just showing the name of said package(but it's fine by me):<br />
<br />
{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|http://www.archlinux.org/packages/community/i686/dar/}}<br />
<br />
Does not work with AUR:<br />
<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|http://aur.archlinux.org/packages.php?ID=5863}}<br />
<br />
<br />
Looking through some on the links on the sections that use this template in [[Common Apps]] most are similar to the dar example above. When using a direct links from http://www.archlinux.org/packages/ which link should be used? Direct links for i686 or x86_64 packages? I think direct links for i686 should be used. -- [[User:M l|M l]] 15:32, 27 November 2009 (EST) Thanks<br />
<br />
:Hrm... I see the problem now. The direct AUR links contain an "=" sign. I would suggest the following:<br />
<br />
----<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|4=[http://aur.archlinux.org/packages.php?ID=5863 <tt>yaourt</tt>]}}<br />
----<br />
<br />
:Note the <nowiki><tt></nowiki> tags to format the output; the braces do nothing.<br />
<br />
:It's a bit more work for you, though. However, in most cases, I think the search should be used even if it returns ~10-15 results. I can see your point about dar though... that's a mess of results.<br />
<br />
:If linking to an official package directly, I would suggest the i686 package, certainly. -- [[User:Pointone|pointone]] 15:52, 27 November 2009 (EST)<br />
<br />
:: ~10-15 sounds fine, but by not using direct links might confuse new users staring at a list of packages with similar names and not knowing which one too install. To avoid that might be best to use direct links. The examples above with correct direct linking should be added to their respected pages, so direct linking gets done right. I will start working on that when I get a chance. -- [[User:M l|M l]] 19:13, 27 November 2009 (EST) Thanks<br />
<br />
: I am 100% against direct links to packages. There are two architectures and playing favorites is not the way to go. --[[User:Keiichi|Keiichi]] 10:45, 3 December 2009 (EST)<br />
<br />
:: Then what should be done, when a package like dar that returns pages of packages? Also i686 should be preferred over x86_64 for linking. As most use tend to use i686 I think and it's not about playing favorites. -- [[User:M l|M l]] 18:03, 3 December 2009 (EST)<br />
<br />
::: Dar is the exception not the rule, I use x86_64 and I don't want anyone to play favorites with package listing and listing one thing over another _IS_ playing favorites. Things should be left as they are. --[[User:Keiichi|Keiichi]] 19:03, 3 December 2009 (EST)<br />
<br />
== Condense and Links title? ==<br />
<br />
The current style takes three lines which does take a good deal of space. Any thoughts about doing this with two? Wiki page | description | homepage | package information.<br />
<br />
* [[Firefox]] - Web Browser that is faster, more secure, and customizable.<br />
: [http://www.mozilla.com/firefox/ homepage] | [http://www.archlinux.org/packages/?q=firefox package information]<br />
<br />
--[[User:Gen2ly|Gen2ly]] 21:55, 2 December 2009 (EST)<br />
: I like your proposal a lot, I vote for implementing it. --[[User:Keiichi|Keiichi]] 10:45, 3 December 2009 (EST)<br />
<br />
:: I also agree, Pointone already took care of this. -- [[User:M l|M l]] 18:05, 3 December 2009 (EST) Thanks</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Template_talk:App&diff=86205
Template talk:App
2009-12-03T15:45:34Z
<p>Keiichi: </p>
<hr />
<div>I like it.<br><br />
Trying to make the url small, so far with no results. I apparently broke the template because it shows small here, but not in articles. [[User:Manolo|manolo]] 13:35, 13 November 2009 (EST)<br />
<br />
== Using direct links ==<br />
<br />
When trying to use a direct link, it does not format correctly:<br />
<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{[http://aur.archlinux.org/packages.php?ID=5863 yaourt]}}}}<br />
<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br />
<br />
A really good example why using a direct links is needed for this template, [[Template:Package Official]] and [[Template:Package AUR]]<br />
<br />
{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{Package Official|dar}}}}<br />
<br />
{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{[http://www.archlinux.org/packages/community/i686/dar/ dar]}}}}<br />
<br />
<br />
The following works, but does not look as neat like when just showing the name of said package(but it's fine by me):<br />
<br />
{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|http://www.archlinux.org/packages/community/i686/dar/}}<br />
<br />
Does not work with AUR:<br />
<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|http://aur.archlinux.org/packages.php?ID=5863}}<br />
<br />
<br />
Looking through some on the links on the sections that use this template in [[Common Apps]] most are similar to the dar example above. When using a direct links from http://www.archlinux.org/packages/ which link should be used? Direct links for i686 or x86_64 packages? I think direct links for i686 should be used. -- [[User:M l|M l]] 15:32, 27 November 2009 (EST) Thanks<br />
<br />
:Hrm... I see the problem now. The direct AUR links contain an "=" sign. I would suggest the following:<br />
<br />
----<br />
{{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|4=[http://aur.archlinux.org/packages.php?ID=5863 <tt>yaourt</tt>]}}<br />
----<br />
<br />
:Note the <nowiki><tt></nowiki> tags to format the output; the braces do nothing.<br />
<br />
:It's a bit more work for you, though. However, in most cases, I think the search should be used even if it returns ~10-15 results. I can see your point about dar though... that's a mess of results.<br />
<br />
:If linking to an official package directly, I would suggest the i686 package, certainly. -- [[User:Pointone|pointone]] 15:52, 27 November 2009 (EST)<br />
<br />
:: ~10-15 sounds fine, but by not using direct links might confuse new users staring at a list of packages with similar names and not knowing which one too install. To avoid that might be best to use direct links. The examples above with correct direct linking should be added to their respected pages, so direct linking gets done right. I will start working on that when I get a chance. -- [[User:M l|M l]] 19:13, 27 November 2009 (EST) Thanks<br />
<br />
: I am 100% against direct links to packages. There are two architectures and playing favorites is not the way to go. --[[User:Keiichi|Keiichi]] 10:45, 3 December 2009 (EST)<br />
<br />
== Condense and Links title? ==<br />
<br />
The current style takes three lines which does take a good deal of space. Any thoughts about doing this with two? Wiki page | description | homepage | package information.<br />
<br />
* [[Firefox]] - Web Browser that is faster, more secure, and customizable.<br />
: [http://www.mozilla.com/firefox/ homepage] | [http://www.archlinux.org/packages/?q=firefox package information]<br />
<br />
--[[User:Gen2ly|Gen2ly]] 21:55, 2 December 2009 (EST)<br />
: I like your proposal a lot, I vote for implementing it. --[[User:Keiichi|Keiichi]] 10:45, 3 December 2009 (EST)</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:System_backup&diff=86108
Talk:System backup
2009-12-03T01:59:42Z
<p>Keiichi: </p>
<hr />
<div>Thanks! Neat method for a sync-type backup! The only question I have is what happens if you {{Codeline|dd}} the boot sector (first 512 bytes) instead of running GRUB? --[[User:VitaminJ|VitaminJ]] 22:18, 11 November 2009 (EST)<br />
<br />
---- <br />
<br />
I don't know if it works with <code>dd</code>, since the partitioning scheme can be different on the two harddrives.<br />
<br />
* I vote for merging this with [[rsync]].<br />
* I second the vote.<br />
<br />
[[User:Wooptoo|Wooptoo]] 07:14, 2 December 2009 (EST)<br />
--[[User:Keiichi|Keiichi]] 20:59, 2 December 2009 (EST)<br />
----</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:List_of_games&diff=86107
Talk:List of games
2009-12-03T01:56:35Z
<p>Keiichi: </p>
<hr />
<div>== Comments ==<br />
<br />
== Suggestions ==<br />
<br />
Svenstaro, this page is about game listings. If you think it belongs here, could you add it to the end of the page? --[[User:Gen2ly|Gen2ly]] 19:59, 2 December 2009 (EST)<br />
<br />
I do believe that this info should be in front since the page is simply called "Games". A general info on games and playing games on Arch with possible issues would seem more appropriate to me than simply a list of games. Perhaps we can agree that an article with a general name as this one would contain some general info too. The article is not called "Game Listing" and thus some info apart from just a list of games should be here. The length of the list alone draws visual attention to it so what would be wrong with having general info for the user first? --[[User:Svenstaro|Svenstaro]] 20:08, 2 December 2009 (EST)<br />
<br />
Well, we do have a [[Common Applications]], [[Lightweight Applications]], possibly a [[Gaming Applications]]?? And then create a [[Gaming]] page with general overall information. Thing is, I couldn't really see enough information to really make an article of it. Any ideas?<br />
--[[User:Gen2ly|Gen2ly]] 20:48, 2 December 2009 (EST)<br />
<br />
I say we link to Wikipedia, an outgoing redirection for Lightweight and Games and keep Common. Three articles basically doing the same thing is ridiculous. Either that or we rename Common Applications to something more appropriate and stick everything in there. --[[User:Keiichi|Keiichi]] 20:56, 2 December 2009 (EST)</div>
Keiichi
https://wiki.archlinux.org/index.php?title=FAQ_(%E6%97%A5%E6%9C%AC%E8%AA%9E)&diff=86095
FAQ (日本語)
2009-12-03T01:04:53Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:About Arch (日本語)]]<br />
[[Category:FAQs (日本語)]]<br />
[[Category:日本語]]<br />
{{FAQ i18n Links}}<br />
<br />
ここで解決されない問題等については,[[The Arch Way (日本語)]],[[Arch Linux (日本語)]],[[Devland]]が参考になります.そこではArch Linuxに関するより多くの情報が扱われています.<br />
<br />
=一般=<br />
<br />
==Q) 当方全くのGNU/Linuxビギナーなのですが,Archを使って大丈夫でしょうか? ==<br />
'''A)''' これに関してはかなりの議論があります.Archはある程度熟練したGNU/Linuxユーザーを対象にしていますが,「Archこそ入門にもってこいだ」と考えるような人もいます.もしあなたがビギナーで,それでもなおArchを使おうとしているのであれば,あなたは学ぶことに喜びを覚えるようでなければなりません.またArchが優れて"Do-It-Yourself"なディストリビューションである,ということも肝に命じておくべきでしょう.システムを組み上げ,それをどのようなものにしていくかをコントロールするのはユーザー自身なのです.質問をする前にまず自分で調査するようにしてください.Googleや,Wiki,フォーラムの検索を活用しましょう(過去のFAQも参照してください).以上のことさえ実践していれば,それほど困難なことはありません.また,多くの人が同じ基本的質問に何度も繰り返して答えさせられることに嫌気がさしているのだ,ということも理解しておいてください.あなたは今まさにその当事者なのです.伊達や酔狂でこのような文書が作成され,入門者に利用してもらえるよう設置されているわけではありません.途方もない時間がこの貴重な情報を編集するために無償で費やされているのです.要通読:[[Beginners Guide|Beginners' Guide]].<br />
<br />
==Q) Archはホント好きなんだけどね.開発チームがXの機能さえ実装してくれればなぁ.==<br />
'''A)''' ちょっと待った.ちゃんと[[The Arch Way (日本語)]]は,読みましたか? あなたはその機能/対処方法を提示したみたのですか? それは''ミニマリズム''や,''利便性に先んじるコードの整合性''と言ったArchの哲学と一致するでしょうか? どうぞ積極的に参加してください.あなた自身がコードや解決策を提示することでコミュニティに貢献しましょう.もし,コミュニティや開発チームから認められれば,あなたのコードはマージされるかも知れません.Archコミュニティはコードやツールの提供,シェアによって活性化していきます.<br />
<br />
==Q) いつ新しいメジャー・リリースが出るんでしょうか? ==<br />
'''A)''' Arch Linuxにおけるメジャー・リリースとは,coreリポジトリの単なるスナップショットを意味するに過ぎません.これについては,インストーラ・スクリプトの様々な機能や操作抜きに語ることはできません.ローリング・リリースモデルは,ひとつのコマンド操作によってあらゆるArch Linuxのシステムを最新かつ最先端に保つものです.<br />
<br />
このことから,Archにおけるメジャー・リリースというのは,さほど重要な意味を持つものではないと言えます.なぜと言ってローリング・リリースシステムは,パッケージがアップデートされるや否や,すぐさま最新のメジャー・リリースを旧バージョンにしてしまうわけですから.最新のArch Linuxのメジャー・リリースを手に入れたいと思っても,再インストールなどする必要はありません.シンプルに"pacman -Syu" のコマンドを実行するだけで,あなたはまっさらなインストールを実行した結果構築されるそれと,同一のシステムを手に入れることになるでしょう.<br />
<br />
また同じ理由から,新しいArch Linuxのリリースというのは,一般的に理解されているように真新しくてエキサイティングな機能を満載したものではありません.そうした真新しくエキサイティングな機能群のリリースは,必要に応じたパッケージのアップデートによってもたらされるものであり,それは"pacman -Syu"のコマンドによって即座に反映されるのです.<br />
<br />
==Q) Arch Linuxは堅牢なディストリなのでしょうか? しょっちゅう壊れたりしませんか? ==<br />
'''A)''' 答えはYesでもあり,Noでもあります.つまり「それは概ね''あなた''がどれだけそれを堅牢にするかに懸かっている」ということです.<br />
<br />
自分のArchシステムをシンプルな基本環境の上に構築するのは''あなた''であり,システムの成長をコントロールしていくのも''あなた''なのです.当然,多くのパッケージや,色とりどりのツールキット,デスクトップ環境などを統合して巨大に膨れ上がったシステムでは,スリムでよりシンプルなそれに比べてアップストリーム・チェンジの影響を受けやすく,より多くの設定の問題に悩まされることになります.UNIXに関する一般的な知識や,上手なシステム管理,適切なアップグレードの実施といったものは,システムを堅牢にしていく上で非常に大きな役割を担います.Archのパッケージの大部分はパッチを施されていないのだ,ということにも留意してください.大部分の問題はおおよそアップストリームに起因するものです.<br />
従って,ローリング・リリースで構築された個人のシステムの堅牢性に関して,最終的な責任を負うのは''ユーザー自身''です.ユーザーがいつアップグレードするのかを決め,必要な時に必要な変更をマージするのです.もしユーザーがコミュニティに助けを求めれば,救いの手は直ちに差し伸べられることでしょう.この点に関して,Archが他のディストリビューションから異なっているのは,Archが本当に"Do-it-yourself"なディストロであることでしょう.破損についてクレームをつけるのは見当違いであり,非生産的です.なぜといって,アップストリーム・チェンジに関してArch開発チームは責任を負いかねるからです.<br />
<br />
==Q) よく耳にする"BSDスタイルの"initフレームワークって厳密にはどういうものなの? ==<br />
<br />
30年以上の歴史を持つBSDの財産の一つに,組み込みのシンプルなinitフレームワークがあります.大部分が変更されずにそのまま受け継がれてきました(GNU/Linuxのシステムに採用されているSysV initが姿を現すのはずっと後のことです).Archが採用するBSD initの主な特徴は,あらゆるランレベルにおけるすべてのシステム・サービスのシェルスクリプトを,ひとつのディレクトリ(/etc/rc.d/)に納め,それを一つのファイル(/etc/rc.conf)で管理している点です.これに対してSysV initでは,各ランレベルごとに"/etc/rc.0,1,2,3,4,5,6"のようなディレクトリが用意され,その中に複雑に入り組んだシンボリックリンクが配置されます.それぞれのサービスとシンボリックリンクは,/etc/init.d/内のシェルスクリプトを参照しています.言うまでもなくSysV方式の方がより複雑で,各/etc/rcディレクトリ内には往々にして大量のシンボリックリンクが張られることになります.シンプルたらんことを追求する哲学に従って,ArchはBSD initを採用しているのです.<br />
<br />
==Q) Archのレビュー記事がもっと必要だ(宣伝が必要だ).==<br />
'''A)''' 現状でもう十分な量のArchについての記事が書かれています.Archの目標は巨大になることではありません.シンプルさと,コードの整合性に焦点を絞った,エレガントで,最小かつ最新のディストリビューションを提供することこそが,その目標なのです.Archが対象とするユーザー・ベース自体が自然と発展しています.それを強制したところで,問題の種を蒔くことになるだけでしょう.<br />
<br />
同様に,Archの開発モデルは,自然な発展を制限するものではありません.より多くのユーザーを得ることは,より多くの開発者がArch Linuxに関わることを意味します.これによって上層部における組織的な問題が発生すこともあるかも知れませんが,それはその時に対処すれば良いことです.<br />
<br />
==Q) Archの開発者がもっと必要だ.==<br />
'''A)''' そうかも知れませんね.もっと柔軟にあなたの時間を使って貢献してください! フォーラムや,IRC,メーリング・リストなどに参加すれば,成すべきことがわかるはずです.<br />
ドキュメントの作成者などは常に需要があります.ぜひWikiに寄稿してください.<br />
<br />
==Q) どうしてArchは重いの? もっと軽いと思ってたのに! ==<br />
'''A)'''/etc/hostsが正しく設定されているか確認してください(/etc/rc.confに書かれたhostnameと一致していなければなりません.[[Beginners_Guide]]のConfigure the Systemの項を参照してください).hostnameが一致していないとアプリケーションの起動が非常に遅くなる場合があります. <br />
<br />
==Q) 他のOSに比べてインターネットの速度が遅いんだけど,どうして? ==<br />
'''A)''' ネットワークは正しく設定されていますか? /etc/rc.conf,/etc/hosts,/etc/resolv.confをよく確認してみましたか? [[Beginners_Guide]]のConfigure the Systemの項を参照してください.<br />
<br />
<br />
=パッケージ管理=<br />
<br />
==Q) Xのパッケージにエラーがあったんだけど,どうしたらいいの? ==<br />
'''A)''' まず,そのエラーはそもそもArch開発チームが修正できるものなのかどうかを見極めなければなりません.そうでない場合が往々にしてあります(Firefoxのクラッシュは大抵の場合Mozillaチームのミスです).これをアップストリーム・エラーと言います.もしArchの問題であるならば以下の手順を参考に対処してください.:<br />
#フォーラムに情報がないか探してみましょう.誰かが同じ問題について発言していないかチェックしてください.<br />
#パッケージのメンテナに報告しましょう."pacman -Qi <package name>"でメンテナに関する情報が得られます.<br />
#詳細な情報を書いたバグレポートを[http://bugs.archlinux.org 投函]してください.<br />
#もしお望みならば,フォーラムに質問を投げてみてもよいでしょう.その際,問題の詳細と,あなたが既にバグ・レポートを送った旨を明記してください.それによって同じエラーに関する報告が大量に投函されるようなケースを回避できます.<br />
<br />
==Q) Archはpacmanのデータベース化を考えていますか? ==<br />
'''A)''' かも知れません.この件について議論が行われています.<br><br />
http://bbs.archlinux.org/viewtopic.php?id=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?id=10898 <br><br />
以下も参照してください.<br><br />
http://bugs.archlinux.org/task/5328<br />
<br />
==Q) Archのパッケージにはもっと適切な命名規則が必要だ.".pkg.tar.gz" なんて長すぎるし,ややこしい.==<br />
'''A)''' これに関しては,Archのメーリング・リスト上で議論されています.".pac"のような拡張子を提案する人もいますが,現段階では,パッケージの拡張子を変更する具体的な計画はありません.<br />
Arch開発者の一人であるTobias Kieslichの発言は示唆的です.''「事実packageはgzipで圧縮されたtarballファイルなわけじゃないか! だいたいtarが扱えるアプリケーションなら何だって開くことができるし,覗いて弄ることだってできるんだしさ.もっと言えば,mime-typeなんてたいがいのアプリケーションが問題なく自動判別できるだろ? 」''<br />
<br />
==Q) Pacmanには他のアプリケーションがパッケージ情報を簡単に参照するためのライブラリが必要だ.==<br />
'''A)''' バージョン3.0.0以降,パックマンはlibalpm("Arch Linux Package Management" library)のフロントエンドになっています.このライブラリは,代替のフロントエンドの開発を可能にしています(例えばGUIフロントエンドのような).<br />
<br />
==Q) どうしてPacmanにはオフィシャルのGUIフロントエンドがないの? ==<br />
'''A)''' [[The Arch Way (日本語)]],[[Arch Linux (日本語)]],[[Devland]]を読んでください.強いて言うならArch開発者チームが提供しようと思わないからです.ユーザー達が開発したものの中からご自由に選択して使ってください.linksのセクションから辿れる[[UserContributionsPage]]では,ユーザーが開発したGUIフロントエンドが沢山見つかります.[[Pacman GUI Frontends]]には選りすぐりがリストアップされています.<br />
<br />
==Q) PacmanにXの機能を付けるべきだ! ==<br />
'''A)''' [[The Arch Way (日本語)]],[[Arch Linux (日本語)]],[[Devland]]を読んでください.Archの哲学は「シンプルたれ」です.もしあなたがご自身のアイデアにメリットがあると考え,それがくだんのシンプルのお題目を毀損しないものなら,是非フォーラムに投げて議論してください.また,フォーラムをちゃんとチェックしてしかるべきです.ここは重要だと思われる機能について要望を出す,まさにそのための場所なのです.<br />
<br />
もっとも,ある機能をPacmanやArch Linuxに追加するために一番良い方法は,あなた自身がそれを実装することです.そのパッチがオフィシャルに取り込まれるかどうかはわかりませんが,いずれにせよあなたの骨折りは他のユーザーによって吟味され,検討されるでしょう.<br />
<br />
==Q) Archには,安定版パッケージのbranchが必要だ.==<br />
'''A)'''とんでもない,二度と口に出さないことです.数ある議論の内のいくつかが,下のリンクの中に見つかります:<br><br />
http://bbs.archlinux.org/viewtopic.php?id=11288<br />
<br />
==Q) 数種のリポジトリがありますが,どんな違いがあるんでしょうか? ==<br />
'''A)''' [[Official Repositories]]を参照してください.<br />
<br />
==Q) Xのパッケージをインストールしたんだけど,どうやって起動するの? ==<br />
'''A)''' あなたがKDEやGNOMEのようなデスクトップ環境を導入しているのなら,そのプログラムは自動的にメニューに登録されている筈です.ターミナルから起動しようとしていて,バイナリの名前がわからないというような場合は,"pacman -Ql <package name> | grep bin"のコマンドを実行してください.FirefoxやOpenOfficeのようなパッケージでよくこの問題にぶつかるのは,これが$PATHの通っていない/opt以下にインストールされるためです."source /etc/profile"を実行するか,再ログインすることで解決するでしょう.<br />
<br />
<br />
=インストール=<br />
<br />
==Q) Archはもっと良いインストーラーを付けるべきだ.たとえばGUIインストーラーとか.==<br />
'''A)''' 「良い」インストーラー云々の議論は主観の問題です.こうした論争に決着をつける最良の方法は,インストーラーを「Archの流儀」に合わせることでしょう.もし,この「良いインストーラ」に関する議論がより具体的な論拠を伴うようになれば,新たなインストーラの開発が顧慮されるようなこともあるかも知れません.しかし,インストールを実行する機会自体がそもそも稀なので(メジャー・リリースに関する質問を参照),開発者,ユーザー双方にとって優先度の高い課題ではないのです.<br />
非公式でもよいならば,2つ程代替手段が存在します: Xfce(開発中のデスクトップ環境)を採用した[http://archie.dotsrc.org/ Archie Live CD]と,KDEのものが使える[http://user-contributions.org/wikis/userwiki/index.php?title=Arch_Linux_Office_Install_CD Arch Linux Office Install CD]です.<br />
<br />
==Q) Archをインストールしたんですが,bashのログイン画面が表示されてます! どうすれば良いのでしょう? ==<br />
'''A)''' [[Beginners_Guide]]を参照してください.<br />
<br />
==Q) Archは「ミニマルな基本システムから構築していくディストリビューションで,ユーザーが本当に望むものだけをインストールできる」ということをうたい文句にしていますが,これって他のディストリビューションでもできますよね? この点に関して一体Archのどこがユニークなんですか? ==<br />
<br />
'''A)''' 確かに2,3のディストリビューションはArchと近い設計理念を持っており,同じようにミニマルなインストール・メソッドを提供してるかも知れませんが,2,3の相違は指摘しておかねばなりません:<br />
#Archは骨の髄まで軽量でミニマルな環境を構築することを想定してデザインされています.<br />
#FTPを使うにしろ,Core imageを使うにしろ,Archはこのミニマルな基本システムから構築する以外に方法を提供していません.<br />
#ディストリビューション全体と同様,インストレーションに関しても原則的にK.I.S.S.("Keep It Simple and Stupid")の設計理念に基づいています.これによってArchのインストールシステムは対象となるユーザー・ベースとの間に,これ以上はないというくらいの親和性を獲得しています.<br />
#シンプルなArchのインストーラは高度な透明性を保ったデザインとなっており,基本システムでも細かい設定が必要な部分は,ユーザー自身がマニュアル操作しなければなりません.<br />
#Archは徹底的かつ完全なドキュメント群を提供しており,これによって各ユーザーのシステム構築のプロセスを一通り補助しています. <br />
<br />
<br />
=その他=<br />
<br />
==Q) Pacmanを実行する度に,'warning: current locale is invalid; using default "C" locale'というエラーが出るんですが,どうしたらいいでしょう? ==<br />
'''A)''' エラーメッセージが言っているように,localeが正しく設定されていません.Wikiの[[Configuring locales]]を参照してください.<br />
<br />
==Q) どうしたら○○をautomount/mountできますか? ==<br />
'''A)''' GNOMEユーザーの場合は,gnome-volume-managerをインストールしてください:<br />
pacman -Sy gnome-volume-manager<br />
<br />
次にstorage groupにユーザー(あなた自身)を追加します:<br />
gpasswd -a ''your_user'' storage<br />
<br />
gnome-volume-managerが気に入らない場合は,[[Ivman]]や[[autofs|AutoFS]]を試してみましょう.<br />
<br />
==Q) 無線ネットワークに接続するにはどうすればいいですか? ==<br />
'''A)''' [[Wireless Setup]]を参照してください.<br />
<br />
==Q) 有線ネットワークに接続するにはどうすればいいですか? ==<br />
'''A)''' [[Configuring network]]を参照してください.<br />
<br />
==Q) "AUR"ってよく聞くんだけど一体何? ==<br />
'''A)''' [[AUR Q & A]]を参照してください.<br />
<br />
==Q) ビデオを見ようとすると画面が緑色になっちゃうんだけど,どうして? ==<br />
'''A)''' colour depthの設定が正しくありません.例えば"24"であるべきところが"16"になっていたりしませんか? <br />
<br />
==Q) Spellcheckを実行するとテキストが全部ミス判定されてしまうんですが.==<br />
'''A)''' aspell dictionaryはインストールされていますか? "pacman -Ss aspell"を実行して,入手可能な辞書を確認しましょう.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions_(%ED%95%9C%EA%B5%AD%EC%96%B4)&diff=86094
Frequently asked questions (한국어)
2009-12-03T01:04:40Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:About Arch (한국어)]]<br />
[[Category:FAQs (한국어)]]<br />
{{FAQ i18n Links}}<br />
<br />
다음 질문 외에도 [[The Arch Way (한국어)]], [[Arch Linux (한국어)]], 그리고 [[Devland]]에서 유익한 내용을 찾을 수 있습니다. 세가지 모두 아치 리눅스에 대한 좋은 정보를 포함합니다.<br />
<br />
= 일반 =<br />
<br />
==Q) 저는 완전 GNU/리눅스 초보자입니다. 아치를 사용해야만 합니까?==<br />
'''A)''' 이 문제는 많은 논쟁이 있었습니다. 아치는 고급 GNU/리눅스 사용자를 대상으로 하고 있지만, 어떤 사람들은 "아치는 좋은 시작점"이라고 느낍니다. 만약 당신이 초보자로서 아치를 사용하길 원한다면, 기꺼이 배우려고 해야할 뿐만 아니라 아치는 do-it-yourself 배포본이라는 사실을 받아들여야 한다고 경고합니다. 사용자는 시스템을 조립하고 무엇이 되도록 제어하는 사람입니다. 질문하기 전에 구글링, 위키 검색, 게시판 검색(그리고 과거 FAQ 읽기)을 통해 독자적인 연구를 합니다. 이렇게 하면 나아질 것입니다. 또한 많은 사람들은 반복되는 기초적인 질문을 원하지 않으므로, 그 환경을 알립니다. ''그 이유는 이 자원이 당신에게 처음 발생한 자원이기 때문입니다.'' 수천명이 ''봉사한'' 시간이 이 우수한 정보를 컴파일하는데 소모했었습니다. 추천 문서: 아치 리눅스 [[Beginners Guide (한국어)|초보자 안내서]].<br />
<br />
==Q) 저는 개발 팀이 ''기능 X''를 구현하려 한다면 아치를 정말 좋아할겁니다.==<br />
'''A)''' [[The Arch Way (한국어)|아치의 도(道)]]를 읽었습니까? 당신이 기능/해결법을 제공했습니까? ''최소주의''와 ''편리함을 뛰어넘는 코드의 명확함''의 아치 철학을 따릅니까? 코드/해결법을 커뮤니티에 공헌하는데 참여하십시오. 만약 커뮤니티와 개발 팀에 의해 좋게 간주된다면, 아마도 병합될 것입니다. 아치 커뮤니티는 코드와 도구 공유하는 맛에 삽니다.<br />
<br />
==Q) 새로운 릴리즈는 언제 만들어집니까?==<br />
'''A)''' Arch Linux releases are merely a snapshot of the /core repository, combined with various features or modifications to the installer script itself. The rolling release model keeps every Arch Linux system current and on the bleeding edge by issuing one command.<br />
<br />
For this reason, releases are not terribly important in Arch, because the rolling-release system makes new releases out of date as soon as a package has been updated. If you are looking to obtain the latest Arch Linux release, you do not need to reinstall. You simply run the ''pacman -Syu'' command and your system will be identical to what you would get with a brand-new install.<br />
<br />
For this same reason, new Arch Linux releases are not typically full of new and exciting features. New and exciting features are released as needed with the packages that are updated, and can be obtained immediately via ''pacman -Syu''.<br />
<br />
==Q) 아치 리눅스는 안정적인 배포본입니까? 자주 파손됩니까? ==<br />
'''A)''' The long and short answer is: It is largely as stable as ''you'' make it. <br />
<br />
You assemble your own Arch system, atop the simple base environment, and you control system upgrades. Obviously, a larger, more bloated system incorporating multitudes of packages, multiple toolkits and desktop environments would be more likely to experience configuration issues due to upstream changes than a slimmer, more simple system would. General UNIX competence, good system maintenance and upgrade practices also play a large role in system stability. Also recall that Arch packages are predominantly unpatched, so most issues are inherently upstream.<br />
Therefore, it is ''the user'' who is ultimately responsible for the stability of his own rolling release system. The user decides when to upgrade, and merges necessary changes when required. If the the user reaches out to the community for help, it is often provided in a timely manner. The difference between Arch and other distributions in this regard is that Arch is truly a 'do-it-yourself' distro; complaints of breakage are misguided and unproductive, since upstream changes are not the responsibility of Arch devs.<br />
<br />
==Q) 계속 듣게되는 'BSD-스타일' init 프레임워크가 정확히 무엇''입니까''? ==<br />
<br />
Part of BSD's 30+ year heritage is the simple init framework that it has incorporated and which has remained largely unchanged. (The SysV init implemented on GNU/Linux systems came much later.) The main difference is that Arch's BSD-style init uses a single file (/etc/rc.conf) to point to scripts within a single directory (etc/rc.d/) for all system services, regardless of runlevel. A sysV init on the other hand would use a directory for each runlevel:/etc/rc.0,1,2,3,4,5,6, with a convoluted array of symlinks within the directory; one for each service, and each symlink pointing to a corresponding script in the /etc/init.d/ directory. Needless to say, the SysV method is much more complex; it could easily contain dozens of symlinks in each /etc/rc. directory. Keeping in line with its simple philosophy, Arch uses the BSD-style init.<br />
<br />
==Q) 아치는 더 많은 출판물 (예를 들면 광고)가 필요합니다==<br />
'''A)''' 아치는 이로써 많은 출판물을 얻습니다. 아치 리눅스의 목표는 커지는 것이 아닙니다. 그 목표는 우아하고, 최소주의적이고 간결함과 코드의 명확함에 촛점을 둔 bleeding edge 배포본입니다. 성장은 대상 사용자 기반 속에서 자연스럽게 발생합니다. 인위적인 성장 시도는 단지 문제를 발생시킬 것 입니다.<br />
<br />
마찬가지로, 개발 모델이 자연스러운 성장을 제한하지 않습니다. 더 많은 사용자는 아치 리눅스에서 작업하는 더 많은 개발자를 의미합니다. This may cause some organizational issues at the "top", but those will be dealt with when they arrive.<br />
<br />
==Q) 아치는 더 많은 장치 지원이 필요합니다==<br />
'''A)''' 그럴수도 있습니다. 게시판, IRC 채널, 그리고 메일링 리스트를 방문하여 무엇을 해야할 필요가 있는지 봅니다.<br />
항상 문서화가 필요합니다; 위키에 기여하세요.<br />
<br />
==Q) 어째서 아치가 굉장히 느립니까? 이보다 빨라야할 것으로 생각합니다!==<br />
'''A)''' 호스트 이름이 /etc/hosts 에 제대로 구성되어있는지 확인합니다 (예시, /etc/rc.conf 에 있는 호스트 이름과 일치하는지. [[Beginners_Guide]]에서 "시스템 구성하기"를 살펴봅니다). 만약 호스트 이름이 일치하지 않는다면, 응용 프로그램이 매우 느리게 시작할 수 있습니다.<br />
<br />
==Q) 어째서 인터넷이 다른 운영체제에 비해 굉장히 느립니까?==<br />
'''A)''' 네트워크가 올바르게 구성되어있습니까? /etc/rc.conf /etc/hosts 와 /etc/resolv.conf 를 확인했습니까? [[Beginners_Guide]]에서 "시스템 구성하기"를 살펴봅니다.<br />
<br />
=패키지 관리=<br />
<br />
==Q) 패키지 X에서 오류를 발견했습니다. 어떻게 해야합니까?==<br />
'''A)''' 첫째, 아치 팀이 고칠 수 있는 오류인지 알아내야 합니다. 가끔은 그렇지 않습니다 (파이어폭스 고장은 모질라 팀의 책임일 수 있습니다) - 이것을 ''상류 오류(upstream error)''라고 부릅니다. 만약 아치의 문제라면, 당신이 취할 수 있는 일련의 단계가 있습니다.<br />
#게시판에서 정보를 찾습니다. 다른 사람이 언급했다면 그것을 봅니다.<br />
#패키지 관리자에게 알립니다. "pacman -Qi <패키지 이름>"을 시도합니다.<br />
#상세한 정보와 함께 http://bugs.archlinux.org 에 버그 리포트를 작성합니다.<br />
#당신이 원한다면, 문제와 이미 보고했다는 사실을 자세히 설명하는 게시물을 작성합니다. 많은 사람들이 같은 오류를 보고하는 것을 예방하는데 도움이 됩니다.<br />
<br />
==Q) 아치는 pacman을 위한 데이터베이스를 갖게 될 것입니까?==<br />
'''A)''' 아마도. 이 문제에 대한 토론입니다. <br><br />
http://bbs.archlinux.org/viewtopic.php?id=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?id=10898 <br><br />
여기도 http://bugs.archlinux.org/task/5328 봅니다.<br />
<br />
==Q) 아치 패키지는 유일한 명명 규칙이 필요합니다. pkg.tar.gz은 너무 길거나 헷갈립니다.==<br />
'''A)''' 이는 아치 메일링 리스트에서 논의되었습니다. 일부는 .pac 파일 확장자를 제안했었습니다. 현재 패키지 확장자를 바꾸려는 계획이 없습니다. 토비아스 키에슬릭이 아치 개발자의 일원으로서 말하자면, "패키지는 gzip 압축된 타르볼'''입니다'''! 그리고 타르를 다룰 수 있는 어떤 응용 프로그램이 열고, 조사하고, 조작할 수 있습니다. 게다가, 대부분의 응용 프로그램이 mime-type을 자동으로 감지합니다."<br />
<br />
==Q) pacman은 다른 응용프로그램이 패키지 정보를 쉽게 접근할 수 있는 라이브러리가 필요합니다==<br />
'''A)''' 버전 3.0.0부터 pacman은 "아치 리눅스 패키지 관리" 라이브러리 libalpm의 프론트-엔드가 되었습니다. 이 라이브러리는 대체 프론트-엔드(예를 들면, GUI 프론트-엔드)에 쓰여지는 것을 허용합니다.<br />
<br />
==Q) 어째서 pacman은 공식 GUI 프론트-엔드가 없습니까?==<br />
'''A)''' [[The Arch Way (한국어)|아치의 도(道)]]와 [[Arch Linux|아치 리눅스]]와 [[Devland]]를 읽었습니까?<br />
기본적인 대답은 아치 개발 팀이 제공하지 않는다는 것입니다. 사용자들이 개발한 것을 자유롭게 사용하십시오. [[UserContributionsPage]]의 링크 섹션에 적절한 목록이 있고, [[Pacman GUI Frontends]]에 선택지 목록이 있습니다.<br />
<br />
==Q) 팩맨은 기능 X가 필요합니다!==<br />
'''A)''' [[The Arch Way (한국어)]] 그리고 [[Arch Linux]] 그리고 [[Devland]]를 읽었습니까?<br />
당신의 생각에 장점이 있고 아치의 철학 "Keep It Simple"을 위반하지 않는다면, [http://bbs.archlinux.org/ 여기] 게시판에서 토론하십시오. [http://bugs.archlinux.org 여기]도 확인할 수 있습니다; 이곳은 중요한 기능 요청을 위한 장소입니다.<br />
<br />
하지만, 팩맨 또는 아치 리눅스에 기능을 추가하는 가장 좋은 방법은 당신 자신이 구현하는 것입니다. 패치가 공식적으로 받아들여지든지, 다른 사람들이 당신의 노력에 감사하며 테스트하든지 조용할 것입니다.<br />
<br />
==Q) 아치는 안정적인 패키지 브랜치가 필요합니다==<br />
'''A)'''<br />
절대 불가능합니다.<br />
이 주제에 대한 많은 토론 중 일부: <br><br />
http://bbs.archlinux.org/viewtopic.php?id=11288<br />
<br><br />
http://archlinux.org/pipermail/arch/2007-November/016048.html<br />
<br />
==Q) 이 모든 저장소 간의 차이점은 무엇입니까?==<br />
'''A)''' See [[Official Repositories]].<br />
<br />
==Q) 패키지 X를 방금 설치했습니다. 어떻게 시작합니까?==<br />
'''A)''' KDE나 GNOME 같은 데스크톱 환경을 사용한다면, 프로그램이 메뉴에 자동으로 표시되어야 합니다. 터미널에서 프로그램을 실행하려고 하는데 바이너리 이름을 모른다면, "pacman -Ql packagename | grep bin"을 실행해봅니다. Firefox나 OpenOffice 같은 패키지의 공통적인 문제점은 $PATH에 없는 /opt에 설치된다는 것입니다. "source /etc/profile" 또는 로그아웃/로그인하여 고칠 수 있습니다.<br />
<br />
=설치=<br />
<br />
==Q) 아치는 GUI 인스톨러처럼 나은 인스톨러가 필요합니다.==<br />
'''A)''' "나은" 인스톨러에 대한 토론은 주관적인 의견입니다. 이러한 문제에 대처하는 가장 좋은 방법은 인스톨러를 "아치의 도(道)에 맞추는 것입니다. If this opinion on a better installer is backed with more-concrete arguments, it might be taken into account for further development of the installer. Since installation doesn't occur often (see the question above on rolling release), it is not a high priority for developers or users.<br />
하지만, 두 가지 비공식 방법이 존재합니다: XFCE용 (다른 데스크톱용은 개발중) [http://archie.dotsrc.org/ Archie 라이브 CD]와 KDE용 [http://user-contributions.org/wikis/userwiki/index.php?title=Arch_Linux_Office_Install_CD 아치 리눅스 오피스 설치 CD].<br />
<br />
==Q) 아치를 설치하고 bash 로그인 상태입니다! 지금 무엇을 해야합니까?==<br />
'''A)''' 아치 리눅스 [[Beginners_Guide]]를 봅니다.<br />
<br />
==Q) 아치는 최소 기반 시스템에서 만들어지고, 사용자가 오직 필요로 하는 것만 설치하는 배포본으로 선전됩니다. 사실상 어떤 배포본에서도 가능하지 않습니까? 아치에 대해 무엇이 독특합니까?==<br />
<br />
'''A)''' 몇몇 배포본은 아치 설치 과정과 비슷한 최소적인 설치 방법을 제공할 수도 있습니다. However, a few points must be noted:<br />
# 아치는 근본적으로 가볍고, 최소한의 환경으로 설계되었습니다.<br />
# Whether the FTP or Core images are used, the only way to install Arch is by building up from this minimal base.<br />
# The installation, as well as the entire distribution is inherently a K.I.S.S. design approach, which makes it uniquely suitable for its target base of users.<br />
# The simple Arch installer is designed for a high level of transparency and the base system is manually configured by the user to their needed specifications.<br />
# Arch provides thoroughly complete documentation to guide one through this process of system assembly.<br />
<br />
=기타=<br />
<br />
==Q) pacman을 사용할때 항상 'warning: current locale is invalid; using default "C" locale' 오류가 납니다. 무엇을 해야합니까?==<br />
'''A)''' 오류 메시지가 말하는 바와 같이 로케일이 올바르게 구성되지 않았습니다. [[Configuring locales|로케일 구성 위키 페이지]]를 봅니다.<br />
<br />
==Q) 어떻게 자동 마운트/마운트 합니까? ==<br />
'''A)''' GNOME을 사용한다면, gnome-volume-manager를 설치합니다:<br />
pacman -Sy gnome-volume-manager<br />
<br />
이제 자기자신을 스토리지 그룹에 추가합니다:<br />
gpasswd -a ''your_user'' storage<br />
<br />
만약 gnome-volume-manager를 사용하는 것을 원치 않는다면, [[Ivman]] 또는 [[autofs | AutoFS]]을 확인합니다.<br />
<br />
==Q) 어떻게 무선 네트워크에 접속합니까?==<br />
'''A)''' See [[Wireless Setup]].<br />
<br />
==Q) 어떻게 유선 네트워크에 접속합니까?==<br />
'''A)''' See [[Configuring network]].<br />
<br />
==Q) 계속 듣게되는 AUR이 무엇입니까?==<br />
'''A)''' See [[AUR Q & A]].<br />
<br />
==Q) 어째서 동영상을 보려고 할때마다 녹색 화면이 나옵니까?==<br />
'''A)''' 색상 깊이가 잘못 설정되어 있습니다. 예를 들면, 16 대신 24여야 할 필요가 있습니다.<br />
<br />
==Q) 맞춤법검사기가 모든 문장을 틀렸다고 표시합니다!==<br />
'''A)''' aspell 사전을 설치했습니까? <tt>pacman -Ss aspell</tt>로 사용가능한 사전을 봅니다.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions_(Suomi)&diff=86093
Frequently asked questions (Suomi)
2009-12-03T01:04:24Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:About Arch (Suomi)]]<br />
[[Category:FAQs (Suomi)]]<br />
{{FAQ i18n Links}}<br />
<br />
{{translateme}}<br />
<br />
Alla katettujen kysymysten lisäksi voit tarkistaa [[Arch Linux (Suomi)|The Arch Way]], [[Arch Linux]] ja [[Devland]] artikkelit. Kaikki kolme sisältävät paljon hyvää materiaalia Arch Linuksista.<br />
<br />
= Yleistä =<br />
<br />
==Q) Olen GNU/Linux aloittelija. Pitäisikö minun käyttää Arch Linuksia?==<br />
'''A)''' Tämä kysymys riippuu monesta asiasta. Arch on suunnattu kokeneemmille GNU/Linux käyttäjille, mutta jotkut ajattelevat, että Archista on hyvä lähteä liikkeelle. Jos olet aloittelija ja haluat käyttää Archia, muista että sinun pitää olla halukas oppimaan. Ennenkuin kysyt mitään, etsi itse googlettamalla, wikistä ja foorumeilta (ja lue FAQ:it). Monet ihmiset eivät halua vastata samoihin peruskysymyksiin useaan kertaan. Jos toimit näin sinulla ei tulisi olla ongelmia. <br />
Suositeltavaa luettavaa: The Arch Linux [[Beginner's Guide]].<br />
<br />
==Q) Milloin uusi versio on valmis?==<br />
'''A)''' Arch Linux releases coincide with each major kernel version, but are merely a snapshot of the /core repository, combined with various features or modifications to the installer script itself. The rolling release model keeps every Arch Linux system current and on the bleeding edge by issuing one command.<br />
<br />
For this reason, releases are not terribly important in Arch, because the rolling-release system makes new releases out of date as soon as a package has been updated. If you are looking to obtain the latest Arch Linux release, you do not need to reinstall. You simply run the ''pacman -Syu'' command and your system will be identical to what you would get with a brand-new install.<br />
<br />
For this same reason, new Arch Linux releases are not typically full of new and exciting features. New and exciting features are released as needed with the packages that are updated, and can be obtained immediately via ''pacman -Syu''.<br />
<br />
==Q) Arch tarvitsee enemmän/vähemmän julkisuutta (esim. mainontaa)==<br />
'''A)''' Arch gets plenty of press as it is. The goal of Arch Linux is not to be large. The goal is to provide an elegant, minimalist and bleeding edge distribution focused on simplicity and code-correctness. Growth occurs naturally amongst the target user base. Trying to force growth will just cause problems.<br />
<br />
Similarly, the development model does not restrict natural growth. More users might mean more devs to work on Arch Linux. This may cause some organizational issues at the "top", but those will be dealt with when they arrive.<br />
<br />
==Q) Arch tarvitsee enemmän dokumentaatiota==<br />
'''A)''' This is essentially true, so feel free to contribute. Documentation does not occur ex nihilo. After searching the forums and the wiki, if you cannot find the documentation you require, try creating it. Start a page on the wiki, and post in the forums regarding it. Likely other people have experience in the area, or are at least willing to help. If nobody does, don't be discouraged. When you finish your documentation, other people will likely find it an extremely valuable resource.<br />
There is always a need for documentation; contribute to the wiki.<br />
<br />
==Q) Arch tarvitsee enemmän kehittäjiä==<br />
'''A)''' Possibly so. Feel free to volunteer your time! Visit the forums, IRC channel, and mailing lists, and see what needs to be done.<br />
There is always a need for documentation; contribute to the wiki.<br />
<br />
==Q) Miksi Arch on niin hidas? Luulin että sen pitäisi olla nopea!==<br />
'''A)''' Make sure that your hostname is correctly set in /etc/hosts (i.e., that it matches the hostname in /etc/rc.conf. Have a look at "Configure the System" in The [[Beginner's Guide]]). If the hostnames do not match, applications may start up very slowly.<br />
<br />
==Q) Miksi internet on hitaampi verrattuna muihin käyttöjärjestelmiin?==<br />
'''A)''' Is your network configured correctly? Have you double checked your /etc/rc.conf /etc/hosts and /etc/resolv.conf? Have a look at "Configure the System" in The [[Beginner's Guide]].<br />
<br />
=Paketinhallinta=<br />
<br />
==Q) Löysin virheen paketista X. Mitä minun pitäisi tehdä?==<br />
'''A)''' First, you need to figure out if this error is something the Arch team can fix. Sometimes it's not (that Firefox crash may be the fault of the Mozilla team) - this is called an ''upstream error''. If it is an Arch problem, there is a series of steps you can take:<br />
#Search the forums for information. See if anyone else has noticed it.<br />
#Notify the package maintainer. Try a "pacman -Qi <package name>" for this info.<br />
#Post a bug report with detailed information at http://bugs.archlinux.org.<br />
#If you'd like, write a forum post detailing the problem and the fact that you have reported it already. This will help prevent a lot of people from reporting the same error.<br />
<br />
==Q) Tuleeko Archin pacman:lle tietokantaa?==<br />
'''A)''' Possibly. There is discussion over the issue. <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?t=10898 <br><br />
Look at http://bugs.archlinux.org/task/5328, too.<br />
<br />
==Q) Arch paketit tarvitsevat yhtenäisen nimeämiskäytännön. .pkg.tar.gz on liian pitkä ja monimutkainen==<br />
'''A)''' This has been discussed on the Arch mailing list. Some proposed a .pac file extension. As far as is currently known, there is no plan to change the package extension.<br />
As Tobias Kieslich, one of the Arch devs, put it, "A package '''is''' a gzipped tarball! And it can be opened, investigated and manipulated by any tar-capable application. Moreover, the mime-type is automatically detected correctly by most applications."<br />
<br />
==Q) Pacman tarvitsee kirjaston jotta muut ohjelmat pääsevät helposti käsiksi pakettien tietoihin==<br />
'''A)''' Since version 3.0.0, pacman has been the front-end to libalpm, the "Arch Linux Package Management" library. This library allows alternative front-ends to be written (for instance, a GUI front-end).<br />
<br />
==Q) Miksei Pacmanilla ole virallista graafista käyttöliittymää?==<br />
'''A)''' Did you read [[The Arch Way]] and [[Arch Linux]] and [[Devland]]?<br />
The answer is basically that the Arch dev team will not be providing one. Feel free to use one of those developed by users. There is a nice list of them on the [[UserContributionsPage]] in the links section, and a selective list on [[Pacman_GUI_Frontends]].<br />
<br />
==Q) Pacman tarvitsee Ominaisuuden X!==<br />
'''A)''' Did you read [[The Arch Way]] and [[Arch Linux]] and [[Devland]]?<br />
The Arch philosophy is "Keep It Simple". If you think the idea has merit, and does not violate this simple litany, then by all means, discuss it on the forum [http://bbs.archlinux.org/ here]. You might also like to check [http://bugs.archlinux.org here]; it's a place for feature requests if you find it is important.<br />
<br />
However, the best way to get a feature added to Pacman or Arch Linux is to implement it yourself. There's no telling whether the patch will be officially accepted, but others will appreciate and test your effort.<br />
<br />
==Q) Arch tarvitsee vakaan pakettihaaran==<br />
'''A)'''<br />
Never say never.<br />
Some of the many discussions on the topic: <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11288<br />
<br><br />
http://archlinux.org/pipermail/arch/2007-November/016048.html<br />
<br />
==Q) Mikä ero kaikilla pakettien säilytyspaikoilla on?==<br />
'''A)''' See [[Official Repositories]].<br />
<br />
==Q) Miksi Arch ei sisällä docs ja info-sivuja paketeissaan?==<br />
'''A)''' In its goal to be simple and lightweight, the relatively useless portions of a Linux system have been left out, things like /usr/doc and the info pages, in favor of man pages. This question is brought up a lot; read some past discussions about it: <br><br />
http://www.archlinux.org/pipermail/arch/2005-April/004194.html <br><br />
http://bbs.archlinux.org/viewtopic.php?id=14527<br />
<br />
==Q) Asensin juuri Paketin X. Kuinka käynnistän sen?==<br />
'''A)''' If you're using a desktop environment like KDE or GNOME, the program should automatically show up in your menu. If you're trying to run the program from a terminal and don't know the binary name, try executing "pacman -Ql packagename | grep bin". A common problem for packages like Firefox or OpenOffice is that they are installed to /opt, which is not in your $PATH - you can "source /etc/profile" or logout/login to fix this.<br />
<br />
=Asennus=<br />
<br />
==Q) Arch tarvitsee paremman asennusohjelman, ehkä jopa graafisen sellaisen.==<br />
'''A)''' The discussion of a "better" installer is a subjective opinion. The best way to cope with these issues it to fit the installer to "the Arch way". If this opinion on a better installer is backed with more-concrete arguments, it might be taken into account for further development of the installer. Since installation doesn't occur often (see the question above on rolling release), it is not a high priority for developers or users.<br />
However, two unofficial methods exist: [http://archie.dotsrc.org/ Archie Live CD] for XFCE (other desktops in development) and [http://user-contributions.org/wikis/userwiki/index.php?title=Arch_Linux_Office_Install_CD Arch Linux Office Install CD] for KDE.<br />
<br />
==Q) Asensin Archin ja olen bashin sisäänkirjautumisruudussa! Mitä nyt?==<br />
'''A)''' Have a look at the Arch Linux [[Beginner's Guide]]<br />
<br />
=Muuta=<br />
<br />
==Q) Saan virheen 'warning: current locale is invalid; using default "C" locale' joka kerta kun käytän pacmania. Mitä minun pitäisi tehdä?==<br />
'''A)''' As the error message says, your locale isn't correctly configured. Have a look at the [[Configuring locales|locale configuration wiki page]].<br />
<br />
==Q) Kuinka liitän levyjä? ==<br />
'''A)''' If you use GNOME, install gnome-volume-manager:<br />
pacman -Sy gnome-volume-manager<br />
<br />
Now add yourself to the storage group:<br />
gpasswd -a ''your_user'' storage<br />
<br />
If you don't want to use gnome-volume-manager, check out the [[autofs | AutoFS]] HowTo.<br />
<br />
==Q) Kuinka vähennän ladattavia ytimen moduuleja?==<br />
'''A)''' If you are using kernel26, edit /etc/mkinitrd.conf. Enable auto-detection of HOSTCONTROLlER and FILESYSTEMS.<br />
AUTODETECT=1<br />
<br />
==Q) Kuinka yhdistän langattomaan verkkoon?==<br />
'''A)''' See [[Wireless Setup]].<br />
<br />
==Q) Kuinka yhdistän langalliseen verkkoon?==<br />
'''A)''' See [[Configuring network]].<br />
<br />
==Q) Mikä AUR on?==<br />
'''A)''' See [[AUR Q & A]].<br />
<br />
==Q) Miksi saan vihreän kuvan kun yritän katsoa videoita?==<br />
'''A)''' Your colour depth is set wrong. It may need to be 24 instead of 16, for example.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions_(Italiano)&diff=86092
Frequently asked questions (Italiano)
2009-12-03T01:04:12Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:About Arch (Italiano)]]<br />
[[Category:FAQs (Italiano)]]<br />
<br />
{{translateme}}<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|FAQ (Česky)}}<br />
{{i18n_entry|Dansk|FAQ (Dansk)}}<br />
{{i18n_entry|Deutsch|FAQ (Deutsch)}}<br />
{{i18n_entry|English|FAQ}}<br />
{{i18n_entry|Español|FAQ (Español)}}<br />
{{i18n_entry|Français|FAQ (Français)}}<br />
{{i18n_entry|Italiano|FAQ (Italiano)}}<br />
{{i18n_entry|Nederlands|FAQ (Nederlands)}}<br />
{{i18n_entry|Polski|FAQ (Polski)}}<br />
{{i18n_entry|Português do Brasil|FAQ (Português do Brasil)}}<br />
{{i18n_entry|Русский|FAQ (Русский)}}<br />
{{i18n_entry|Slovensky|FAQ (Slovensky)}}<br />
{{i18n_entry|简体中文|FAQ (简体中文)}}<br />
{{i18n_entry|正體中文|FAQ 常見問答集}}<br />
{{i18n_entry|ไทย|FAQ (ไทย)}}<br />
{{i18n_entry|日本語|FAQ (日本語)}}<br />
{{i18n_entry|한국어|FAQ (%ED%95%9C%EA%B5%AD%EC%96%B4)}}<br />
{{i18n_links_end}}<br />
<br />
Oltre le domande seguenti, puoi trovare utile leggere gli articoli [[The Arch Way]] e [[Arch Linux]]. Entrambi contengono molte utili informazioni su Arch Linux.<br />
<br />
= Generale =<br />
==D) Cos'è Arch Linux? ==<br />
'''R)''' Dall'articolo [[Arch Linux]]:<br />
<br />
''Arch Linux is an independently developed i686/x86-64 community distribution, based on a rolling-release model and targeted at competent GNU/Linux users which offers large binary repositories and excellent package management as well as a ports-like packaging system. Development focuses on a balance of minimalism, elegance, code correctness and modernity. Version 0.1 (Homer) was released March 11, 2002.''<br />
<br />
==Q) Perchè dovrei voler utilizzare Arch? ==<br />
'''A)''' Se avete letto, e siete d'accordo con la filosofia [[The Arch Way]], vi piace l'approccio 'do-it-yourself' (fai-da-te) e desiderate o aspirate ad avere una semplice, elegante, altamente personalizzabile, aggiornatissima distribuzione GNU/Linux, ci sono buone possibilità che Arch vi possa piacere.<br />
<br />
==D) Perchè non dovrei voler utilizzare Arch?==<br />
'''R)''' Se avete letto, e non siete d'accordo con la filosofia [[The Arch Way]], e non avete il tempo\capacità\voglia di avere una distribuzione GNU/Linux 'do-it-yourself' (fai-da-te), probabilmente Arch non fa per voi.<br />
<br />
You may also not want to use Arch if:<br />
* you require support for an architecture other than x86_64 or i686.<br />
* you take a strong stand on using a distribution which only provides free software as defined by GNU.<br />
* you believe an operating system should configure itself, run out of the box, and include a complete default set of software and desktop environment on the installation media.<br />
* you do not want a bleeding edge, rolling release GNU/Linux distribution.<br />
* you are happy with your current OS of choice.<br />
<br />
==D) Sono alle prime armi con Linux. Dovrei usare Arch?==<br />
'''R)''' Questione sulla quale si sono avute molte discussioni. Arch è rivolta a utenti Linux più avanzati, ma molti pensano "Arch è un buon modo di iniziare". Se sei alle prime armi e vuoi usare Arch, stai solo attento, tu DEVI aver voglia di imparare. Prima di fare qualsiasi domanda, fai le tue ricerche su google, spulcia la Wiki, e cerca sul forum (e leggi le passate FAQs). Se farai questo, non avrai problemi. Inoltre sappi che molta gente non vuole rispondere alla stessa domanda più e più volte. C'è un motivo per cui queste risorse sono state create e rese disponibili per te. Potresti prender spunto dalla [[Beginners Guide]].<br />
<br />
==D) Mi piace molto Arch, ma a mio parere i dev dovrebbero aggiungere la ''funzionalità X''.==<br />
'''R)''' Before going further, did you read [[The Arch Way]]? Have you provided the feature/solution? Does it conform to the Arch philosophy of ''minimalism'' and ''code-correctness over convenience''? Get involved, contribute your code/solution to the community. If it is well regarded by the community and development team, perhaps it will be merged. The Arch community thrives on contribution and sharing of code and tools.<br />
<br />
==D) Quando uscirà il prossimo rilascio ufficiale ?==<br />
'''R)''' I rilasci di Arch Linux coincidono con l'uscita di una nuova versione principale del kernel, ma sono semplicemente una istantanea del repositori /core , combinata con varie caratteristiche o modifiche allo script di installazione stesso. Il modello "rolling release" mantiene ogni sistema Arch Linux aggiornato e "on the bleeding edge" ovvero con le ultime versioni disponibili ancora in testing fornendo un solo comando.<br />
<br />
Per questa ragione, i rilasci non sono così importanti in Arch, perchè il sistema "rolling-release" rende ogni nuovo rilascio superato non appena un pacchetto viene aggiornato. Se stai cercando di ottenere l'ultimo rilascio di Arch Linux, non hai bisogno di reinstallare. Semplicemente esegui il comando ''pacman -Syu'' e il tuo sistema sarà identico a quello che otteresti con una installazione da zero.<br />
<br />
Per questa stessa ragione, i nuovi rilasci di Arch Linux non sono tipicamente pieni di nuove ed eccitanti caratteristiche. Nuove ed eccitanti caratteristiche sono rilasciate quando necessario con l'aggiornamento dei pacchetti, che possono essere ottenuti con un '''pacman -Syu'''.<br />
<br />
==D) Cos'è esattamente questo sistema di init 'BSD-style' di cui ho sentito parlare? ==<br />
'''R)'''Part of BSD's heritage is the simple init framework that it has incorporated. The main difference between a BSD init and a sysV init is that Arch's BSD-style init uses a single file, {{Filename|/etc/rc.conf}}, to point to scripts within a single directory, {{Filename|etc/rc.d/}}, for all system services, regardless of runlevel.<br />
<br />
A sysV init, on the other hand, would use a directory for each runlevel:{{Filename|/etc/rc.0,1,2,3,4,5,6}} with a convoluted array of symlinks within the directory; one for each service, and each symlink pointing to a corresponding script in the {{Filename|/etc/init.d/}} directory. Needless to say, the SysV method is much more complex; it could easily contain dozens of symlinks in each /etc/rc. directory. Keeping in line with its simple philosophy, Arch uses the BSD-style init.<br />
<br />
==D) Arch ha bisogno di più pubblicità ==<br />
'''R)''' Già così Arch ha molta pubblicità. L'obbiettivo di Arch non è essere grande. L'obbiettivo è di essere ben fatta. La sua crescita deve avvenire in modo naturale. Cercare di forzarela crescita causerebbe solo problemi.<br />
<br />
Allo stesso modo, non provare a limitare la sua naturale crescita. Più utenti potrebbero voler dire più sviluppatori che lavorano su Arch Linux. Questo protrebbe causare qualche problema di organizzazione alla fine, ma saranno risolti quando arriveranno.<br />
<br />
==D) Arch ha bisogno di più documentazione==<br />
'''R)''' Questo è essenzialmente vero, così sentiti libero di contribuire. La documentazione non occorre ex nihilo. Dopo aver cercato sulla wiki e sui forum se non puoi trovare la documentazione di cui hai bisogno prova a crearla. Incomincia una pagina sulla wiki e posta nei forum a riguardo. Probabilmente altra gente ha esperienza sull'argomento o vogliono almeno aiutare. Se nessuno ti può dare una mano non scoraggiarti. Quando finirai la tua documentazione altre persone la troveranno probabilmente una risorsa estremamente valida. <br />
C'è sempre bisogno di documentazione; contribuisci alla wiki.<br />
<br />
==D) Arch ha bisogno di più sviluppatori==<br />
'''R)''' È possibile. Sentiti libero di mettere a disposizione il tuo tempo! Visita i forum, i canali IRC, e le mailing lists, e vedi di cosa c'è bisogno.<br />
<br />
==D) Perchè Arch è così lenta? Pensavo fosse veloce!==<br />
'''R)''' Assicurati che il tuo hostname sia correttamente impostato in /etc/hosts (per es., che corrisponda all'hostname in /etc/rc.conf. dai un'occhiata a "Configura il Sistema" nella [[Beginners Guide_(Italiano)|Beginner's Guide]]). Se gli hostname non corrispondono, le applicazioni potrebbero avviarsi molto lentamente.<br />
<br />
==D)Perchè Internet è così lento in confronto ad altri sistemi operativi?==<br />
'''R)''' La tua rete è configurata correttamente? Hai controllato bene il tuo /etc/rc.conf /etc/hosts e /etc/resolv.conf? Dai un'occhiata a "Configura il Sistema" nella [[Beginners Guide_(Italiano)|Beginner's Guide]] dando particolare attenzione alla sintassi del tuo localhost.<br />
<br />
==D) Perchè Arch utilizza tutta la mia RAM? 2Gb usati solo per caricare il desktop?!==<br />
'''R)''' Essentially, unused RAM is wasted RAM. <br />
<br />
For many new users, Linux handles memory differently than they are used to. Since accessing data in RAM is much faster than from disk, Linux caches recently accessed data in memory. The cached data is only cleared when the system begins to run out of unused memory and new data still needs to be loaded.<br />
<br />
Perhaps the most common culprit of this confusion is the {{Codeline|free}} command:<br />
<br />
{{Command|name=free -m|output=$ free -m<br />
total used free shared buffers cached<br />
Mem: 1009 741 267 0 104 359<br />
-/+ buffers/cache: 278 731 <-- NOTE THIS!<br />
Swap: 1537 0 1537}}<br />
<br />
It is important to note the {{Codeline|-/+ buffers/cache:}} line -- a representation of the amount of memory that is actually in "active use" and the amount of "available" memory, rather than "unused".<br />
<br />
In the above example, a laptop with 1G of total RAM appears to be using 741M of it, with naught but a few idling terminals and web browser open! However, upon examining the emphasized line, see that only 278M of it is in "active use", and in fact 731M is "available" for new data. Apparently, 104M of that "used" memory contains buffered data and 359M contains cached data, both of which can be cleared away if needed. Only 267M of the total is truly "free" of the burden of data storage.<br />
<br />
The result of all this? Performance!<br />
<br />
See [http://www.linuxjournal.com/article/2770 this wonderful article] if your curiosity has been piqued!<br />
<br />
=Gestione Pacchetti=<br />
<br />
==D) Ho trovato un errore nel pacchetto X. Che dovrei fare?==<br />
'''R)''' In primo luogo, devi capire se questo errore è qualcosa che il team Arch può sistemare. Qualchevolta non è così (che Firefox vada in crash può essere colpa del gruppo Mozilla) - questo è chiamato un ''upstream error''. Se è un problema di Arch , c'è una serie di passi che puoi seguire:<br />
#Cerca sui forum per informazioni. Controlla se qualcun'altro lo ha notato.<br />
#Avverti il manteiner del pacchetto. Prova con "pacman -Qi <nome pacchetto>" per questa informazione.<br />
#Posta un bug report con informazioni dettagliate su http://bugs.archlinux.org.<br />
#Se preferisci, scrivi un post sul forum spiegando in dettaglio il problema a il fatto che hai già riportato.Questo aiuterà molte persone dal fare un report dello stesso errore.<br />
<br />
<br />
==D) Avrà Arch un database per pacman?==<br />
'''R)''' Probabilmente . Si sta discutendo a riguardo. <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?t=10898 <br><br />
Guarda inoltre http://bugs.archlinux.org/task/5328.<br />
<br />
<br />
==D) Pacman è lento! Come posso migliorare il tempo di avvio iniziale ?==<br />
'''R)''' Leggi la precedente domanda riguardo a un database back-end per pacman. Solo il primo avvio di pacman dopo un avvio dovrebbe essere lento. Dopo quello tutto viene generalmente messo in cache. Ancora, l'avvio iniziale può essere un problema per qualche utente.C'è uan discussione su questo.<br />
Se sei su [[ReiserFS]], ci sono problemi legati alla frammentazioni che ralentano pacman più del necessario. <br />
Dalla versione 2.9.6, pacman è fornito con uno script bash chiamato <tt>pacman-optimize</tt> che dovrebbe aiutare tutti quelli che hanno problemi con la velocità di avvio di pacman. Guarda anche [[Improve Pacman Performance]].<br />
<br />
<br />
==D) I pacchetti di Arch hanno bisogno di usare un'unica estensione. .pkg.tar.gz è troppo lunga e/o poco chiara==<br />
'''R)''' Questo è stato discusso sulla Arch mailing list. Alcuni hanno proposto una estensione .pac. Da quanto si sa non c'è intenzione di cambiare l'estensione dei pacchetti.<br />
Come ha detto Tobias Kieslich, uno degli sviluppatori di Arch, "Un pacchetto '''è''' un gzipped tarball! E può essere aperto, ispezionato e manipolato da ogni applicazione che gestisca i tar. Inoltre, il tipo mime è automaticamente e correttamente rilevato dalla maggior parte delle applicazioni."<br />
<br />
<br />
==D) Pacman ha bisogno di una liberia così che le altre applicazioni possano facilmente accedere alle informazioni sui pacchetti==<br />
'''R)''' Dalla versione 3.0.0, pacman è stato il front-end a libalpm, la libreria di mantenimento pacchetti di Arch Linux . Questa libreria permette di scrivere un alternativo front-end(per esempio, front-end grafico).<br />
<br />
==D) Perchè pacman non ha un front end grafico (GUI)?==<br />
'''R)''' Hai letto [[The Arch Way]] e [[Arch Linux]] e [[Devland]]?<br />
La risposta è fondamentalmente che gli sviluppatori di arch non ne forniranno uno. Puoi comunque usare uno di quelli sviluppati dagli utenti. Ce n'è una lista sulla [[UserContributionsPage]] nella sezione dei collegamenti, e una lista selettiva su [[Pacman GUI Frontends]].<br />
<br />
==D) Pacman ha bisogno della caratteristica X!==<br />
'''R)''' Hai letto [[The Arch Way]] e [[Arch Linux]] e [[Devland]]?<br />
La filosofia Arch è "Keep It Simple". Se tu pensi che l'idea meriti e non violi questo ideali di semplicità discutilo sul forum [http://bbs.archlinux.org/ qui]. Potresti anche controllare [http://bugs.archlinux.org qui]; è un luogo dove effettuare richieste di caratteristiche se trovi che sia importante.<br />
<br />
Comunque il miglior modo di ottenere una caratteristiche aggiuntiva per Pacman o Arch Linux è implementartela da solo. Nessuno ti dirà che la patch sarà ufficialmente accettata ma altri apprezzeranno e testeranno il tuo contributo.<br />
<br />
==D) Arch ha bisogno di una versione stable ==<br />
'''R)'''<br />
Mai dire mai.<br />
Alcune discussioni inerenti: <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11288<br />
<br><br />
http://archlinux.org/pipermail/arch/2007-November/016048.html<br />
<br />
==D) Qual'è la differenza fra tutti questi repository?==<br />
'''R)''' Leggi [[Official Repositories]].<br />
<br />
<br />
==D) Perchè Arch non include documentazionie e pagine informative nei suoi pacchetti?==<br />
'''R)'''Nel suo obbiettivo di essere semplice e leggera sono stati tralasciati parti relativamente inutili per un sistema Linux, cose come /usr/doc e pagine info a favore delle pagine man. Per info leggi le discussioni a riguardo: <br><br />
http://www.archlinux.org/pipermail/arch/2005-April/004194.html <br><br />
http://bbs.archlinux.org/viewtopic.php?id=14527<br />
<br />
<br />
==D) Ho appena installato il pacchetto X. Come lo avvio?==<br />
'''R)''' Se tu stai usando un ambiente desktop come KDE o GNOME, il programma dovrebbe automaticamente mostrarsi nel tuo menu. Se stai cercando di avviare il programma da un terminale e non sai il nome del file binario prova a eseguire "pacman -Ql nomepacchetto | grep bin". Un Problema comune per pacchetti come Firefox o Openoffice è che vengono installati in /opt, che non è nel tuo $PATH - tu puoi "source /etc/profile" o riloggarti per risolvere.<br />
<br />
<br />
=Installazione=<br />
<br />
==D) Arch ha bisogno di un migliore installer. Forse con una interfaccia grafica.==<br />
'''R)''' La discussione su un installer "migliore" è un argomento soggettivo. Il modo migliore di cavarsela con questi problemi è quello di adattare l'installer alla "Arch way". Se questa opinione su un miglior installer è appoggiata da argomentazioni più concrete, potrebbe essere presa in considerazione per un prossimo sviluppo dell'installer. Visto che l'installazione non avviene spesso (guarda la domanda sopra sulla rolling release), non è una alta priorità per gli sviluppatori o gli utenti.<br />
Comunque esistono due metodi non ufficiali: [http://archie.dotsrc.org/ Archie Live CD] per XFCE (altri DE in sviluppo) e [http://user-contributions.org/wikis/userwiki/index.php?title=Arch_Linux_Office_Install_CD Arch Linux Office Install CD] per KDE.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions_(%E6%AD%A3%E9%AB%94%E4%B8%AD%E6%96%87)&diff=86091
Frequently asked questions (正體中文)
2009-12-03T01:03:57Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:正體中文]]<br />
[[Category:General 正體中文]]<br />
{{FAQ i18n Links}}<br />
<br />
{{translateme}}<br />
<br />
請首先閱讀[[TheArchWay]] 、 [[Arch Linux]] 和 [[Devland]] ,你會發現很有幫助 。這三個地方包含有大量關於 Arch Linux 的資訊。<br />
<br />
= 一般性問題 =<br />
<br />
==Q) 我是一個徹頭徹尾的 Linux 新手,我應該用 Arch 嗎?==<br />
'''A)''' 這個問題有諸多爭議。Arch 的目標用戶是比較熟悉 Linux 的用戶,但是一些人也認為"Arch 是一個很好的開始」。如果你是一名新手,並打算使用 Arch, 僅僅提醒你,你必須是願意學習的。在開始問任何問題之前,自己先通過google、Wiki或者論壇進行搜索(以及閱讀過去的常見問題集)。如果你這樣做了,就沒什麼可說的。你也應該知道很多人不想一遍又一遍的回答同樣的基礎問題,所以在那種情況下你很可能碰一鼻子灰。 這是為什麼我們為你創建了這些資源並讓你可以隨時訪問。你應當參考 [[Beginner's Guide]] <br />
<br />
==Q) 何時會釋出新版本?==<br />
'''A)''' Arch Linux releases are quite infrequent, and usually happen only when a major change has been made to the installer or something has happened that makes it difficult to run ''pacman -Syu'' to update from the previous release.<br />
<br />
Releases are not terribly important in Arch, because the rolling-release system makes new releases out of date as soon as a package has been updated. If you are looking to obtain the latest Arch Linux release, you do not need to reinstall. You simply run the ''pacman -Syu'' command and your system will be identical to what you would get with a brand-new install.<br />
<br />
For this same reason, new Arch Linux releases are not typically full of new and exciting features. New and exciting features are released as needed with the packages that are updated, and can be obtained immediately via ''pacman -Syu''.<br />
<br />
==Q) Arch 需要更多/更少的出版商支援 (比如廣告商)==<br />
'''A)''' Arch gets plenty of press as it is. The goal of Arch Linux is not to be large. The goal is to be well done. Let growth occur naturally. Trying to force it to grow too quickly will just cause problems.<br />
<br />
Similarly, do not try to restrict the natural growth. More users might mean more devs to work on Arch Linux. This may cause some organizational issues at the "top", but those will be dealt with when they arrive.<br />
<br />
==Q) Arch 需要更多的文檔支援==<br />
'''A)''' This is essentially true, so feel free to contribute. Documentation does not occur ex nihilo. After searching the forums and the wiki, if you cannot find the documentation you require, try creating it. Start a page on the wiki, and post in the forums regarding it. Likely other people have experience in the area, or are at least willing to help. If nobody does, don't be discouraged. When you finish your documentation, other people will likely find it an extremely valuable resource.<br />
There is always a need for documentation; contribute to the wiki.<br />
<br />
==Q) Arch 還需要繼續開發==<br />
'''A)''' Possibly so. Feel free to volunteer your time! Visit the forums, IRC channel, and mailing lists, and see what needs to be done.<br />
There is always a need for documentation; contribute to the wiki.<br />
<br />
==Q) Arch 怎么這麼慢? 我覺得它本應該更快!==<br />
'''A)''' There are two common reasons that your system may be slower than it should be. First, ensure that loopback (lo in /etc/rc.conf) is enabled. Second, make sure that your hostname is correctly set in /etc/hosts (i.e., that it matches the hostname in rc.conf. Have a look at "Configure the System" in The [[Beginner's Guide]]). Either reason can cause applications to start up very slowly, for example.<br />
<br />
==Q) 同其它作業系統比較,我的網路速度為什麼這樣慢?==<br />
'''A)''' Is your network configured correctly? Have you double checked your /etc/rc.conf /etc/hosts and /etc/resolv.conf? Have a look at "Configure the System" in The [[Beginner's Guide]] and pay particular attention to the localhost syntax.<br />
<br />
=安裝包管理=<br />
<br />
==Q) 我在 X 包中找到了一個錯誤。然後怎麼做?==<br />
'''A)''' First, you need to figure out if this error is something the Arch team can fix. Sometimes it's not (that Firefox crash may be the fault of the Mozilla team) - this is called an ''upstream error''. If it is an Arch problem, there is a series of steps you can take:<br />
#Search the forums for information. See if anyone else has noticed it.<br />
#Notify the package maintainer. Try a "pacman -Qi <package name>" for this info.<br />
#Post a bug report with detailed information at http://bugs.archlinux.org.<br />
#If you'd like, write a forum post detailing the problem and the fact that you have reported it already. This will help prevent a lot of people from reporting the same error.<br />
<br />
<br />
==Q) Arch 會有一個 pacman 的數據庫嗎?==<br />
'''A)''' Possibly. There is discussion over the issue. <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?t=10898 <br><br />
Look at http://bugs.archlinux.org/task/5328, too.<br />
<br />
<br />
==Q) Pacman 變慢了! 它的初始化時間怎麼增加的?==<br />
'''A)''' See the previous entry relating to a database back-end for pacman. Only the first pacman run after a boot should be slow. After that, things are generally cached. Still, initial start time is an issue for some people. There is discussion on addressing this.<br />
If you are on [[ReiserFS]], there are issues with fragmentation that slow down pacman more than necessary. <br />
Since version 2.9.6, the pacman package bundles a bash script called <tt>pacman-optimize</tt> that should help anyone experiencing slow start-up times. Also see [[Improve Pacman Performance]].<br />
<br />
<br />
==Q) Arch 安裝包需要使用一套獨一無二的命名系統 . .pkg.tar.gz ,這會不會太長了點,也讓人摸不清頭腦==<br />
'''A)''' This has been discussed on the Arch mailing list. Some proposed a .pac file extension. As far as is currently known, there is no plan to change the package extension.<br />
As Tobias Kieslich, one of the Arch devs, put it, "A package '''is''' a gzipped tarball! And it can be opened, investigated and manipulated by any tar-capable application. Moreover, the mime-type is automatically detected correctly by most applications."<br />
<br />
<br />
==Q) Pacman 需要一個庫,這樣別的程式就能方便的得到安裝包的資訊了。==<br />
'''A)''' 自從版本3.0.0開始, pacman 已是 libalpm (Arch Linux 套件管理庫) 的前端, 這個庫容許其他的前端 (如圖形介面的前端)的建立。<br />
<br />
==Q) Pacman 為何沒有一個圖形化的 GUI 前端?==<br />
'''A)''' Did you read [[The Arch Way]] and [[Arch Linux]] and [[Devland]]?<br />
The answer is basically that the Arch dev team will not be providing one. Feel free to use one of those developed by users. There is a nice list of them on the [[UserContributionsPage]] in the links section, and a selective list on [[Pacman_GUI_Frontends]]. Once the library for pacman is done, it will be much easier for the various front-ends to interact with Arch packages.<br />
<br />
<br />
==Q) Pacman 還需要增加 X 特性!==<br />
'''A)''' Did you read [[TheArchWay]] and [[Arch Linux]] and [[Devland]]?<br />
The Arch philosophy is "Keep It Simple". If you think the idea has merit, and does not violate this simple litany, then by all means, discuss it on the forum [http://bbs.archlinux.org/ here]. You might also like to check [http://bugs.archlinux.org here]; it's a place for feature requests if you find it is important.<br />
<br />
However, the best way to get a feature added to Pacman or Arch Linux is to implement it yourself. There's no telling whether the patch will be officially accepted, but others will appreciate and test your effort.<br />
<br />
<br />
==Q) Arch 的安裝包需使用其穩健的分支版本==<br />
'''A)'''<br />
Never say never.<br />
Some of the many discussions on the topic: <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11288<br />
<br><br />
http://archlinux.org/pipermail/arch/2007-November/016048.html<br />
<br />
==Q) What's the difference between all these repositories?==<br />
'''A)''' See [[Official Repositories]].<br />
<br />
<br />
==Q) Arch 的安裝包中為什么不含有說明文檔與資訊頁面?==<br />
'''A)''' In its goal to be simple and lightweight, the relatively useless portions of a Linux system have been left out, things like /usr/doc and the info pages, in favor of man pages. This question is brought up a lot; read some past discussions about it: <br><br />
http://www.archlinux.org/pipermail/arch/2005-April/004194.html <br><br />
http://bbs.archlinux.org/viewtopic.php?id=14527<br />
<br />
<br />
==Q) 我剛安裝了 X 包,要怎樣開始運行它?==<br />
'''A)''' If you're using a desktop environment like KDE or GNOME, the program should automatically show up in your menu. If you're trying to run the program from a terminal and don't know the binary name, try executing "pacman -Ql packagename | grep bin". A common problem for packages like Firefox or OpenOffice is that they are installed to /opt, which is not in your $PATH - you can "source /etc/profile" or logout/login to fix this.<br />
<br />
<br />
=安裝過程=<br />
<br />
==Q) Arch 需要一個更好的安裝程式。也許要一個 GUI 安裝程式。==<br />
'''A)''' The discussion of a "better" installer is a subjective opinion. The best way to cope with these issues it to fit the installer to "the Arch way". If this opinion on a better installer is backed with more-concrete arguments, it might be taken into account for further development of the installer. Since installation doesn't occur often (see the question above on rolling release), it is not a high priority for developers or users.<br />
However, two unofficial methods exist: [http://archie.dotsrc.org/ Archie Live CD] for XFCE (other desktops in development) and [http://user-contributions.org/wikis/userwiki/index.php?title=Arch_Linux_Office_Install_CD Arch Linux Office Install CD] for KDE.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions_(Dansk)&diff=86090
Frequently asked questions (Dansk)
2009-12-03T01:03:42Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:Dansk]]<br />
{{FAQ i18n Links}}<br />
<br />
Udover de herunder dækkede spørgsmål finder kan du finde mange oplysninger på flg. sider:<br>[[The Arch Way (Dansk)]] der fortæller om baggrunden og filosofien bag Arch Linux<br>[[Arch Linux (Dansk)]] der i korte træk beskriver Arch Linux<br>[[Devland]] der siger lidt om, hvordan Arch Linux udvikles.<br><br><br />
<br />
= Generelt =<br />
<br />
== Jeg er total Linux-nybegynder. Skal jeg bruge Arch?==<br />
Der har været megen debat om netop dette emne. Arch er rettet mod mere erfarne Linux-brugere, men mange føler, at Arch er et godt sted at begynde. Hvis du er begynder og ønsker at bruge Arch, er du hermed advaret - du MÅ være villig til at lære. Før du stiller spørgsmål, bør du selv søge efter svar ved at 'google', søge på wikien og i forum (og læse tidligere FAQ). Hvis du gør det, skal det nok gå. Vid også, at mange mennesker gider ikke svare på de samme basale spørgsmål igen og igen, så det er det miljø, du udsætter dig selv for. Der er en årsag til, at alt dette blev oprettet/gjort tilgængeligt for dig. Du kan begynde med at læse [[Beginners Guide|begynder-guiden]], som indtil videre kun er på engelsk.<br />
<br />
== Hvornår kommer der en ny udgave?==<br />
Arch Linux udkommer ikke med specifikke intervaller. Normalt kommer der kun en ny udgave, hvis der er lavet en større ændring i installationsprogrammet, eller hvis noget er sket, der gør det vanskeligt at opdatere fra en tidligere udgave ved at køre en 'pacman -Syu'.<br />
<br />
Nye udgivelser er ikke særligt vigtige i Arch, da den løbende opdatering gør nye udgivelser forældede, så snart en pakke er opdateret. Hvis du vil have den sidste nye udgave af Arch Linux, er det ikke nødvendigt at geninstallere. Du kører simpelthen kommandoen 'pacman -Syu', og dit system bliver identisk med det, du ville få ud af en helt ny installation.<br />
<br />
Af den samme grund er nye udgaver af Arch Linux typisk ikke fulde af nye og spændende ting. Alt 'nyt og spændende' udgives efterhånden som pakkerne opdateres, og kan hentes øjeblikkeligt med 'pacman -Syu'.<br />
<br />
== Arch har brug for mere/mindre omtale (f.eks. reklamer)==<br />
Arch får masser af omtale, som det er. Målet er ikke, at Arch Linux skal være stor. Målet er, at det skal være veludført. Lad det vokse naturligt. At prøve på at få det til at 'blive stort i en fart' vil kun give problemer.<br />
<br />
Man skal dog heller ikke begrænse den naturlige vækst. Flere brugere betyder, at flere udviklere arbejder på Arch Linux. Dette kan så forårsage nogle organisatoriske spørgsmål i 'toppen', men det tager vi fat på, når den tid kommer.<br />
<br />
== Arch har brug for mere dokumentation==<br />
Det er i grunden rigtigt, så det står dig frit for at bidrage. Dokumentation kommer ikke af ingenting. Efter at have søgt i fora og Wiki, og du ikke kan finde, det dokumentation du har brug for, så prøv at oprette det. Start en side i wikien, og lav en tråd om det i forum. Der er højst sandsynligt folk med erfaring på det område, eller i det mindste nogle, der er villige til at hjælpe. Hvis der ikke er nogen, så mist ikke modet. Når du er færdig med din dokumentation, er der sikkert andre, der opfatter det som en utrolig værdifuld ressource.<br />
<br />
<b>Der er altid brug for dokumentation - bidrag til wikien</b>.<br />
<br />
== Hvorfor er Arch så langsom? Jeg troede, at den skulle være hurtig!==<br />
Der er to almindelige årsager til, at dit system er langsommere, end det burde være. Først skal du sikre dig, at 'loopback' (lo i /etc/rc.conf) er aktiveret. Bagefter skal du sikre dig, at dit 'hostname' er sat korrekt i /etc/hosts (f.eks. at det matcher 'hostname' i rc.conf. Kig evt. på "Configure the System" i [[Beginner's Guide|begynderguiden]]). Begge kan forårsage, at programmer starter meget langsomt op.<br />
<br />
== Hvorfor er min internetforbindelse så langsom sammenlignet med andre operativsystemer?==<br />
Er dit netværk sat rigtigt op? Har du dobbelttjekket din /etc/rc.conf, /etc/hosts og /etc/resolv.conf? Kig evt. på "Configure the System" i [[Beginner's Guide|begynderguiden]] og vær særlig opmærksom på syntaksen 'localhost'.<br />
<br />
=Pakkehåndtering=<br />
<br />
==Jeg har fundet en fejl ved pakken X. Hvad skal jeg gøre?==<br />
Først skal du finde ud af, om fejlen er noget, der kan rettes af Arch-holdet. Nogle gange er det ikke (det Firefox-crash kan være Mozilla-holdets skyld) - dette kaldes en 'upstream error'. Hvis det er et Arch-problem, kan du gøre følgende:<br />
#Søg i forum efter information. Se om der er andre, der har bemærket fejlen.<br />
#Søg på http://bugs.archlinux.org/, for at se, om fejlen allerede er rapporteret<br />
#Informér pakkevedligeholderen (Package Maintainer). Prøv en 'pacman -Qi <pakkenavn>" for at få denne information.<br />
#Send en fejlrapport med detaljeret information til http://bugs.archlinux.org.<br />
#Opret en tråd i forum, hvor du detaljeret beskriver fejlen, og at du har sendt en fejlrapport, Dette forhindrer at mange andre rapporterer den samme fejl.<br />
<br />
==Kommer Arch til at have en database for Pacman?==<br />
Måske. Emnet diskuteres. <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?t=10898 <br><br />
Kig også på http://bugs.archlinux.org/task/5328.<br />
<br />
==Pacman er langsom! Hvordan kan initierende starttid forbedres?==<br />
Se indslaget ovenfor om en database-backend for Pacman. Kun den første Pacman-kørsel efter boot burde være lidt langsom. Derefter er tingene generelt cachede. Stadig, for nogle mennesker, er den initierende starttid et problem. Der er diskussioner i gang omkring dette emne.<br><br />
Hvis du har [[ReiserFS]], er der nogle fragmenteringsproblemer, som unødvendigt sløver Pacman.<br>Siden version 2.9.6, bundler Pacman-pakken et bash-script, der hedder <tt>pacman-optimize</tt>, der burde hjælpe de, der oplever dårlige opstartstider. Se også [[Improve Pacman Performance|afsnittet om at forbedre ydelsen af Pacman]].<br />
<br />
==Arch-pakker burde benytte et unikt navn på filendelser. -.pkg.tar.gz er alt for langt og/eller forvirrende==<br />
Dette har været diskuteret på Arch mailing-lister. nogle foreslog filendelsen -.pac. Så vidt vides, er der for tiden ingen planer om at ændre filendelsen på pakker.<br />
Som en af Arch-udviklerne - Tobias Kieslich - siger det: "En pakke '''er''' en 'gzippet tarball'! Og den kan åbnes, undersøges og manipuleres med ethvert tar-dueligt program. Ydermere er mime-typen automatisk korrekt genkendt af de fleste programmer."<br />
<br />
== Pacman har brug for et bibliotek, så andre programmer let kan få adgang til pakkeinformation==<br />
Siden version 3.0.0 har Pacman været 'front-end' til Arch Linux pakkehåndtering 'libalpm'. Dette bibliotek tillader at andre 'frontends' skrives (f.eks. en grafisk brugerflade).<br />
<br />
== Hvorfor har Pacman ingen grafisk brugerflade 'frontend'?==<br />
Har du læst [[The Arch Way]] og [[Arch Linux]] og [[Devland]]?<br><br />
Basalt set er svaret, at Arch-holdet vil ikke tilbyde det. Du kan frit anvende en af de, der er udviklet af brugere. Der er en fin liste i link-sektionen på [[UserContributionsPage|denne side]]. Der er også et udvalg på siden over [[Pacman_GUI_Frontends|grafiske brugerflader til Pacman]]. Når dette Pacman-bibliotek laves, lettes integrationen mellem Arch-pakker og 'frontends'.<br />
<br />
== Pacman har brug for funktionen X !==<br />
Har du læst [[The Arch Way]] og [[Arch Linux]] og [[Devland]]?<br>Filosofien bag Arch er, "Hold det Enkelt".<br><br />
Hvis du tror, at din idé har nogle fortrin - og den ikke modstrider dette enkle krav - så hold dig endelig ikke tilbage for at diskutere det på [http://bbs.archlinux.org/ forum].<br />
<br />
Dog er den bedste måde, at få tilføjet en egenskab til Pacman eller Arch Linux, at implementere det selv. Der er intet, der siger, at dt bliver officielt accepteret, men andre vil bedømme og teste dine anstrengelser.<br />
<br />
== Arch har brug for en stabil version!==<br />
Man skal aldrig sige aldrig.<br />
Nogle af de mange diskussioner om emnet: <br><br />
http://bbs.archlinux.org/viewtopic.php?t=11288<br />
<br><br />
http://archlinux.org/pipermail/arch/2007-November/016048.html<br />
<br />
<br />
== Hvad er forskellen mellem alle disse software-kilder?==<br />
Se [[Official Repositories]].<br />
<br />
== Hvorfor har Arch ingen dokumentation og info-sider med i deres pakker?==<br />
Med det formål at være enkel og letvægt er disse ikke særligt brugbare dele af Linux-systemet udeladt. For eksempel ting som /usr/doc og info-siderne til fordel for man-sider. Dette har været oppe at vende mange gange - prøv at læse nogle tidligere diskussioner omkring dette:<br>http://www.archlinux.org/pipermail/arch/2005-April/004194.html <br><br />
http://bbs.archlinux.org/viewtopic.php?id=14527<br />
<br />
== Jeg har lige installeret pakken X. Hvordan starter jeg det?==<br />
Hvis du bruger et skrivebordsmiljø som KDE eller GNOME, skulle programmet automatisk vise sig i din menu.<br>Hvis du forsøger at køre programmet fra en terminal - og ikke kender dets binære navn - prøv at køre en 'pacman -Ql <pakkenavn> | grep bin'.<br>Et almindeligt problem for pakker som Firefox og OpenOffice er, at de installeres til /opt, som ikke er i din $PATH. Du kan tage udgangspunkt i /etc/profile eller logout/login for at rette dette.<br />
<br />
=Installation=<br />
<br />
== Arch har brug for et bedre eller et grafisk installationsprogram!==<br />
Diskussionen om et bedre installationsprogram er en subjektiv mening. Den bedste måde at komme om ved dette er, at tilpasse installationsprogrammet til [[The Arch Way (Dansk)|filosofien]] bag Arch Linux. Hvis opfattelsen af et bedre installationsprogram understøttes af mere konkrete argumenter, kan yderligere udvikling tages op til debat. Da der ikke skal installeres særligt ofte (Se afsnittet ovenfor om [[FAQ_(Dansk)#Hvorn.C3.A5r_kommer_der_en_ny_udgave.3F|rullende udgivelser]]), er det ikke særligt højt prioriteret af hverken brugere eller udviklere.<br>Der er dog to uofficielle metoder:<br>[http://archie.dotsrc.org/ Archie Live CD] med XFCE (Flere er under udvikling) og [http://user-contributions.org/wikis/userwiki/index.php? Arch_Linux_Office_Install_CD] med KDE.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions_(%E0%B9%84%E0%B8%97%E0%B8%A2)&diff=86088
Frequently asked questions (ไทย)
2009-12-03T01:03:16Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:About Arch (ไทย)]]<br />
[[Category:FAQs (ไทย)]]<br />
{{FAQ i18n Links}}<br />
<br />
โปรดอ่าน [[The Arch Way]] และ [[ArchLinux (ไทย)]] และ [[Devland]] ก่อนในเบื้องต้น บทความทั้งสามมีข้อมูลที่สำคัญที่เกี่ยวข้องกับ Arch Linux<br />
<br />
<br />
=ทั่วไป=<br />
<br />
==ถาม) ฉันเป็นผู้ที่พึ่งเริ่มต้นใช้ Linux ฉันควรจะใช้ Arch ดีหรือไม่==<br />
'''ตอบ)''' คำถามนี้เป็นที่ถกเถียงกันอย่างมาก เป้าหมายของ Arch คือผู้ใช้งานที่มีความรู้ความเข้าใจพอสมควร แต่ผู้ใช้หลายคนรู้สึกว่า Arch เป็นจุดเริ่มต้นที่ดี ถ้าคุณพึ่งเริ่มต้นใช้ Linux และอยากใช้ Arch คุณควรจะมีความเต็มใจที่จะเรียนรู้พอสมควร และก่อนที่จะเริ่มถามคำถาม โปรดศึกษาด้วยตัวเองก่อน ด้วยการค้นหาจาก Google, จาก Wiki, และค้นหาจากกระดานข่าว (พร้อมทั้งอ่าน FAQ อันเก่าๆ) ซึ่งการกระทำเหล่านี้สามารถตอบคำถามส่วนใหญ่ของคุณได้ ผู้ใช้หลายๆ ท่านในชุมชนรู้สึกอึดอัดที่จะตอบคำถามพื้นๆ ซ้ำกันหลายๆ รอบ นี่คือเหตุผลที่ทรัพยากรต่างๆ ได้ถูกสร้างสรรค์มาเพื่อคุณ คุณสามารถอ้างอิงข้อมูลจาก [[Beginners Guide]] <br />
<br />
==ถาม) Arch ต้องการคู่มือการใช้งานมากกว่านี้==<br />
'''ตอบ)''' คู่มือการใช้งานต่างๆ มันไม่ได้เกิดขึ้นมากเอง ถ้าคุณไม่พบสิ่งที่ต้องการ หลังจากค้นหาในกระดานข่าว และ wiki คุณสามารถสร้างมันขึ้นมาได้ ด้วยการสร้างหน้าใหม่ๆ ขึ้นมาบน wiki แล้วนำมันไป post ลงในกระดานข่าว อาจจะผู้ใช้ที่มีประสบการณ์มาช่วยตอบคำถามให้คุณ<br />
<br />
หากไม่มีใครมาตอบ อย่าพึ่งท้อใจ เมื่อคุณสร้างคู่มือการใช้งานของคุณเสร็จแล้ว ผู้ใช้คนอื่นๆ อาจจะพบว่าสิ่งที่คุณสร้างขึ้นมาเป็นประโยชน์สำหรับพวกเขา Arch ต้องการคู่มือการใช้งานตลอดเวลา โปรดดู [[DocumentRequests]]<br />
<br />
<br />
==ถาม) ฉันคิดว่า Arch ต้องประชาสัมพันธ์ให้มากกว่านี้==<br />
'''ตอบ)''' Arch เป็นที่สนใจอยู่เสมอๆ เป้าหมายของ Arch Linux ไม่ใช่การมีชื่อเสียง หรือกลายเป็น Community ที่มีขนาดใหญ่ แต่ต้องการเป็นระบบที่สมบูรณ์ โปรดปล่อยให้ Arch โตไปตามธรรมชาติ การบังคับให้เติบโตมีแต่จะสร้างปัญหา<br />
<br />
<br />
==ถาม) ฉันคิดว่า Arch ต้องประชาสัมพันธ์ให้น้อยลง==<br />
'''ตอบ)''' เช่นเดียวกับคำถามด้านบน โปรดอย่าพยายามที่จะจำกัดการเติบโตของ Arch จำนวนผู้ใช้งานที่เพิ่มขึ้นอาจจะหมายรวมถึงจำนวนนักพัฒนาที่เพิ่มขึ้นด้วย นี่อาจจะเป็นปัญหาในระยะยาว แต่ได้มีการเตรียมการรับมือไว้แล้ว<br />
<br />
<br />
==ถาม) Arch ต้องมีนักพัฒนามากกว่านี้==<br />
'''ตอบ)''' เป็นไปได้ เรายินดีต้อนรับทุกท่านที่อยากมีส่วนร่วมในการพัฒนา โปรดเข้าไปเยี่ยมชม กระดานข่าว, IRC และ Mailing list ทั้งหลาย หากท่านต้องการรายละเอียดว่าเรายังต้องการอะไรอีก<br />
<br />
คู่มือการใช้งานเป้นสิ่งที่ต้องการเป็นอย่างมาก โปรดดู [[DocumentRequests]] หากท่านต้องการช่วยเหลือ<br />
<br />
<br />
==ถาม) Arch ต้องเป็นมิตรกับผู้เริ่มใช้งานมากกว่านี้==<br />
'''ตอบ)''' ก่อนที่จะเริ่มถกเถียงกันเรื่องนี้ เราต้องนิยามคำว่า "เป็นมิตรกับผู้เริ่มใช้งาน" ก่อน โปรดอ่านคำถามทางด้านบนเกี่ยวกับตัวติดตั้งที่ดีขึ้น<br />
<br />
<br />
=เกี่ยวกับ Package Management=<br />
<br />
==ถาม) ฉันเจอข้อผิดพลาดกับ package X ควรจะทำอย่างไรดี==<br />
'''ตอบ''' ขั้นแรกคุณควรจะพิจารณาว่าข้อผิดพลาดนี้เป็นสิ่งที่ทีมงาน Arch สามารถปรับปรุงได้หรือไม่ บางครั้งพวกเขาไม่สามารถทำได้ (เช่น Firefox ค้าง อาจจะเกิดจากปัญหาของทีม Mozilla) ซึ่งเราเรียกปัญหาเหล่านี้ว่า ''Upstream Error'' หรือถ้าหากมันเป็นปัญหาของ Arch คุณสามารถทำตามขั้นตอนต่างได้ดังนี้<br />
#ค้นหาข้อผิดพลาดจากกระดานข่าว ดูว่ามีคนอื่นค้นพบปัญหานี้แล้วหรือยัง<br />
#แจ้งผู้ดูแล Package ลองใช้ "pacman -Qi <ชื่อ Packange>" สำหรับข้อมูลเพิ่มเติม<br />
#รายงานข้อผิดพลาดพร้อมรายละเอียดที่ http://bugs.archlinux.org<br />
#แจ้งข่าวในกระดานข่าวหากคุณต้องการ โปรดให้รายละเอียดเกี่ยวกับปัญหาและข้อมูลที่เกี่ยวข้องที่ท่านได้รายงานไปแล้ว พร้อมทั้งแจ้งด้วยว่าุท่านได้รายงานข้อผิดพลาดเป็นที่เรียบร้อยแล้ว นี่จะช่วยลดปริมาณการแจ้งข้อมูลซ้ำซ้อน<br />
<br />
<br />
==ถาม) Arch จะมีฐานข้อมูลสำหรับ pacman หรือไม่==<br />
'''ตอบ)''' เป็นไปได้ ยังมีการถกเถียงกันอยู่ในหัวข้อนี้<br />
http://bbs.archlinux.org/viewtopic.php?t=11193<br />
http://bbs.archlinux.org/viewtopic.php?t=10898<br />
โปรดดูที่ http://bugs.archlinux.org/task/5328 ด้วย<br />
<br />
<br />
==ถาม) Pacman ทำงานช้ามาก เราสามารถเพิ่มความเร็วในการใช้งานครั้งแรกได้อย่างไร==<br />
'''ตอบ)''' ปัญหานี้เกิดจากระบบฐานข้อมูลสนับสนุนของ pacman ซึ่งการใช้งานครั้งแรกหลังจากการ boot เครื่องเท่านั้นที่ช้า หลังจากนั้นทุกสิ่งทุกอย่างจะถูกเก็บอยู่ใน cache อย่างไรก็ตาม ระยะเวลาการเริ่มต้นการใช้งานครั้งแรกก็ยังคงเป็นปัญหาสำหรับผู้ใช้บางท่าน <br />
<br />
หากคุณกำลังใช้ ReiserFS ยังมีปัญหาเกี่ยวกับการกระจายของข้อมูล ซึ่งทำให้การทำงานของ pacman ช้างลง มีการโต้ตอบอยู่ในกระทู้เหล่านี้:<br />
http://bbs.archlinux.org/viewtopic.php?t=11840<br />
<br />
ตั้งแต่เวอร์ชัน 2.9.6 เป็นต้นไป pacman มาพร้อมกับ bash script ชื่อ <tt>pacman-optimze</tt> ซึ่งสามารถช่วยให้ผู้ที่มีปัญหาการเริ่มต้นการใช้งานช้าได้<br />
<br />
<br />
==ถาม) Arch ต้องตั้งนามสกุลไฟล์ Package เป็น .pkg.tar.gz ซึ่งมันยาวและซับซ้อนเกินไป==<br />
'''ตอบ)''' คำถามนี้เป็นที่ถกเถียงกันอยู่ใน Arch Mailing List มีบางกลุ่มเสนอนามสกุล .pac แต่ ณ ปัจจุบัน ยังไม่มีความตั้งใจใดๆ ที่จะเปลี่ยนนามสกุลของไฟล์<br />
<br />
Tobias Kieslich หนึ่งในผู้พัฒนา Arch กล่าวไว้ว่า "Package มันอยู่ในรูปของ gzipped tarball และมันสามารถถูกเปิด แก้ไข และเรียกข้อมูลโดยโปรแกรมที่เข้ากันได้กับ tar นอกจากนี้ การตั้งค่า MIME-type ยังถูกตรวจสอบได้อย่างถูกต้องโดยโปรแกรมทั่วไป"<br />
<br />
<br />
== ถาม) ต้องการ Library ของ Pacman เพื่อโปรแกรมให้อื่นๆ สามารถเข้าถึงข้อมูลเกี่ยวกับ Package ได้==<br />
'''ตอบ)''' Pacman library กำลังอยู่ในช่วงพัฒนา<br />
<br />
<br />
==ถาม) Pacman ต้องการ Front-end (โปรแกรมช่วยสั่งงาน)==<br />
'''ตอบ)''' โปรดอ่าน [[The Arch Way]] และ [[ArchLinux]] และ [[Devland]] ก่อนที่จะถามคำถามนี้ คำตอบง่ายๆ คือทีมพัฒนา Arch จะไม่สร้างโปรแกรมเหล่านี้ขึ้นมา หากท่านต้องการใช้โปรแกรมเหล่านี้ ท่านสามารถเลือกใช้งานโปรแกรมที่ถูกสร้างโดยผู้ใช้ Arch ซึ่งมีรายชื่ออยู่ที่ [[UserContributionsPage]] ในส่วนของ links<br />
<br />
การสร้าง Frontend จะง่ายขึ้นเป็นอย่างมาก เมื่อการพัฒนา pacman library เสร็จสิ้น<br />
<br />
<br />
==ถาม) Pacman ต้องการความสามารถ X!==<br />
'''ตอบ)''' โปรดอ่าน [[TheArchWay]] และ [[ArchLinux]] และ [[Devland]]อีกรอบ<br />
ปรัชญาของ Arch คือ "ทำให้มันเรียบง่าย" ถ้าคุณคิดว่าสิ่งที่คุณต้องการไม่ขัดต่อปรัชญานี้ คุณสามารถเปิดประเด็นได้ที่กระดานข่าว [http://bbs.archlinux.org/ ที่นี่]<br />
<br />
คุณสามารถไปยัง [http://bugs.archlinux.org ที่นี่] ได้อีกที่หนึ่ง มันเป็นที่สำหรับส่งข้อเสนอให้เพิ่มความสามารถต่างๆ ใหักับ Arch Linux<br />
<br />
<br />
==ถาม) Arch ต้องการโครง Package ที่เสถียร==<br />
'''ตอบ)'''<br />
ความเห็น: "สำหรับเราแล้ว คำตอบสั้นๆ คือ Arch มีเสถียรภาพสูงมาก"<br />
<br />
คำตอบ: ขึ้นอยู่กับวัตถุประสงค์การใช้งานเครื่องคอมพิวเตอร์ ตัวอย่างเช่น การใช้งานในสำนักงาน เราไม่อยากให้เครื่องพิมพ์หยุดทำงาน หรือการใช้งานแบบมัลติมีเดีย เราต้องการใช้เครื่องเขียน CD สามารถทำงานได้ หรือนักพัฒนาเว็บไซท์ต้องสามารถใช้งาน FTP ได้<br />
<br />
ทางแก้ปัญหา: มีโครง '''release''' และ '''repo''' ซึ่งมีเสถียรภาพ แต่ไม่มีครบทุก package ในอนาคต package สำคัญๆ เช่น kde หรือ gnome อาจจะถูกรวมเข้าไป<br />
<br />
ftp://ftp.archlinux.org/release/os/i686/<br />
<br />
อ่านเพิ่มเติมได้ที่<br />
<br />
http://bbs.archlinux.org/viewtopic.php?t=11288<br />
<br />
<br />
==ถาม) Repository ทั้งหลายแตกต่างกันอย่างไร==<br />
'''ตอบ)''' โปรดดู [[Official Repositories]]<br />
<br />
<br />
=การติดตั้ง=<br />
<br />
==ถาม) Arch ต้องการระบบติดตั้งที่ดีกว่านี้ ถ้าได้เป็น GUI จะดีมาก==<br />
'''ตอบ)''' ขึ้นอยู่กับคำจำกัดความของคำว่า ดีกว่า ทางออกที่ดีที่สุดคือการทำตาม "the arch way" หากแนวคิดในการสร้างระบบติดตั้งที่ดีขึ้น มีเสียงสนับสนุนมากๆ มันอาจจะถูกพิจารณา<br />
''ระบบปฏิบัติการ Windows ยังคงใช้ระบบติดตั้งที่เป็นตัวอักษร''</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Official_repositories_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=86087
Official repositories (Русский)
2009-12-03T01:02:56Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:Об ArchLinux]]<br />
[[Category:Управление пакетами]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Русский|Репозитории ArchLinux}}<br />
{{i18n_entry|English|Official Repositories}}<br />
{{i18n_links_end}}<br />
{{out of date}}<br />
<br />
В Arch Linux существуеют следующие репозитории:<br />
<br />
* [core] - содержит минимальное количество пакетов. Только пакеты из этого репозитория включаются в установочный диск (Install CD).<br />
* [extra] - содержит различные дополнительные пакеты.<br />
* [community] - различные пакеты, поддерживаемые Доверенными Пользователями (Trusted Users, TU).<br />
* [testing] - содержит тестируемые пакеты, которые потом появляются в [core] или [extra]. <br />
* [unstable] - популярное, но ещё не выпущенное программное обеспечение, которое объявлено нестабильным оригинальными разработчиками продукта.<br />
<br />
== Подробнее ==<br />
Большинство разделений репозиториев имеет исторические причины. Когда дистрибутив использовался очень немногими людьми, был только один репозиторий, который сейчас называется [core] -- тогда он назывался [official]. Он содержит предпочитаемые приложения Джадда (Judd Vinet - основатель Arch Linux), хотя сейчас это не так.<br />
<br />
Но были пользователи, которым не нравился выбор Джадда, поэтому с момента появления [[Arch Build System]], который удобно использовать, они создавали собственные пакеты. Они вошли в репозиторий, который назывался [unofficial] и поддерживался другими разработчиками. В конце концов решили поддерживать оба репозитория, поэтому имена [official] и [unofficial] более не подходили. И около версии 0.5 были изменены на [current] (сейчас [core]) и [extra] соответственно. Сейчас репозитории практически равны в глазах разработчиков и сообщества, но [core] имеет некоторые отличия, самое главное из которых заключается в том, что только пакеты из него включаются в установочный диск (Install CD) и срезы также делаются только из [core]. Этот репозиторий всё ещё даёт полноценную linux систему, но это может быть не та система, которую вы хотите.<br />
<br />
Где-то между 0.5 и 0.6 версиями обнаружилось большое количество пакетов, которое разработчики не хотели поддерживать. Один из них (Xentac) создал Репозитории Доверенных Пользователей ("Trusted User Repositories"), которые являлись неофициальными репозиториями, в которых доверенные пользователи размещали ими созданные пакеты. Существовал репозиторий [staging], из которого пакеты могли перевести в официальные репозитории разработчики Arch Linux, но кроме этого пункта, разработчики и доверенные пользователи были более или менее равны.<br />
<br />
Такое разделение работало до тех пор, пока доверенные пользователи не устали от поддержки собственных репозиториев и пока обычные пользователи не захотели выкладывать свои собственные пакеты. Это привело к развитию [http://aur.archlinux.org/ AUR]. Доверенные пользователи образовали более узкую группу, которая сейчас поддерживает репозиторий [community]. Доверенные пользователи всё ещё образуют отдельную от разработчиков Arch Linux группу, но между ними мало связей. Однако, популярные пакеты всё ещё передвигаются из [community] в [extra] время от времени. [http://aur.archlinux.org/ AUR] также позволяет обычным пользователям выкладывать свои PKGBUILD'ы для других пользователей, если они пожелают. Эти пакеты не поддерживаются и иногда говорят, то они образуют репозиторий [unsupported], но поскольку бинарные файлы не распространяются, unsupported не может называться полноценным репозиторием. Доверенные пользователи могут переносить пакеты из unsupported в [community] по своему желанию, если пакет популярен или если их интересует поддержка пакета.<br />
<br />
Итак, остались [unstable] и [testing]. Оба этих репозитория поддерживаются разработчиками Arch Linux. [unstable] содержит версии пакетов, находящихся в [core] или [extra], но, как понятно из названия, пакеты явлюяются нестабильными. Обычно это программы в разработке, о чём говорят разработчики этих программ. [unstable] обычно содержит только пакеты, нестабильная версия которых стала популярна по какой-то причине, например, потому что стабильная версия устарела или нестабильная версия имеет какие-то глобальные изменения, в тестировании которых заинтересовано много пользователей.<br />
<br />
[testing] является репозиторием, куда разработчики выпускают пакеты, которые потом попадут в [core] или [extra], но могут вызвать неудобство пользователей при установке. Это может случиться, например, когда большие пакеты (KDE и Gnome) сделали большие изменения, когда внутренняя структура пакета сильно изменилась или когда изменение пакета (например, популярная библиотека) сильно влияет на другие пакеты.<br />
<br />
[[Category:Русский]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions&diff=86086
Frequently asked questions
2009-12-03T01:01:14Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:FAQs (English)]]<br />
<!-- {{FAQ i18n Links}} This template leaves a notorious gap on the top --><br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|FAQ (Česky)}}<br />
{{i18n_entry|Dansk|FAQ (Dansk)}}<br />
{{i18n_entry|Deutsch|FAQ (Deutsch)}}<br />
{{i18n_entry|English|FAQ}}<br />
{{i18n_entry|Español|FAQ (Español)}}<br />
{{i18n_entry|Français|FAQ (Français)}}<br />
{{i18n_entry|Italiano|FAQ (Italiano)}}<br />
{{i18n_entry|Nederlands|FAQ (Nederlands)}}<br />
{{i18n_entry|Polski|FAQ (Polski)}}<br />
{{i18n_entry|Português do Brasil|FAQ (Português do Brasil)}}<br />
{{i18n_entry|Русский|FAQ (Русский)}}<br />
{{i18n_entry|Slovensky|FAQ (Slovensky)}}<br />
{{i18n_entry|简体中文|FAQ (简体中文)}}<br />
{{i18n_entry|正體中文|FAQ 常見問答集}}<br />
{{i18n_entry|ไทย|FAQ (ไทย)}}<br />
{{i18n_entry|日本語|FAQ (日本語)}}<br />
{{i18n_entry|한국어|FAQ (%ED%95%9C%EA%B5%AD%EC%96%B4)}}<br />
{{i18n_links_end}}<br />
<br />
Besides the questions covered below, you may find [[The Arch Way]] and [[Arch Linux]] helpful. Both of the articles contain a good deal of information about Arch Linux.<br />
<br />
= General =<br />
==Q) What is Arch Linux? ==<br />
'''A)''' From the article entitled [[Arch Linux]]:<br />
<br />
''Arch Linux is an independently developed i686/x86-64 community distribution, based on a rolling-release model and targeted at competent GNU/Linux users which offers large binary repositories and excellent package management as well as a ports-like packaging system. Development focuses on a balance of minimalism, elegance, code correctness and modernity. Version 0.1 (Homer) was released March 11, 2002.''<br />
<br />
==Q) Why would I want to use Arch? ==<br />
'''A)''' If you have read, and agree with [[The Arch Way]] philosophy, embrace the 'do-it-yourself' approach and require or desire a simple, elegant, highly customizable, bleeding edge, general purpose GNU/Linux distribution, chances are you may like Arch.<br />
<br />
==Q Why wouldn't I want to use Arch?==<br />
'''A)''' If you have read, and disagree with [[The Arch Way]] philosophy, and do not have the ability/time/desire for a 'do-it-yourself' GNU/Linux distribution, chances are Arch may not be for you.<br />
<br />
You may also not want to use Arch if:<br />
* you require support for an architecture other than x86_64 or i686.<br />
* you take a strong stand on using a distribution which only provides free software as defined by GNU.<br />
* you believe an operating system should configure itself, run out of the box, and include a complete default set of software and desktop environment on the installation media.<br />
* you do not want a bleeding edge, rolling release GNU/Linux distribution.<br />
* you are happy with your current OS of choice.<br />
<br />
==Q) I am a complete GNU/Linux beginner. Should I use Arch?==<br />
'''A)''' This question has had much debate. Arch is targeted at more-advanced GNU/Linux users, but some people feel "Arch is a good place to start". If you are a beginner and want to use Arch, just be warned that you must be willing to learn as well as accept the fact that Arch is largely a do-it-yourself distribution. It is the user who assembles the system, and controls what it will be. Before asking any question, do your own independent research by googling, searching the Wiki, and searching the forum (and reading past FAQs). If you do that, you should be fine. Also know that many people do not want to answer the same basic questions over and over, so you are exposing yourself to that environment. ''There is a reason these resources were created/made available to you in the first place.'' Many thousands of ''volunteered'' hours have been spent compiling this excellent information.<br />
<br />
Recommended reading: The Arch Linux [[Beginners Guide|Beginners' Guide]].<br />
<br />
==Q) I really like Arch, except the development team needs to implement ''feature X''.==<br />
'''A)''' Before going further, did you read [[The Arch Way]]? Have you provided the feature/solution? Does it conform to the Arch philosophy of ''minimalism'' and ''code-correctness over convenience''? Get involved, contribute your code/solution to the community. If it is well regarded by the community and development team, perhaps it will be merged. The Arch community thrives on contribution and sharing of code and tools.<br />
<br />
==Q) When will the new release be made?==<br />
'''A)''' Arch Linux releases are merely a snapshot of the /core repository, combined with various features or modifications to the installer script itself. The rolling release model keeps every Arch Linux system current and on the bleeding edge by issuing one command.<br />
<br />
For this reason, releases are not terribly important in Arch, because the rolling-release system makes new releases out of date as soon as a package has been updated. If you are looking to obtain the latest Arch Linux release, you do not need to reinstall. You simply run the {{Codeline|pacman -Syu}} command and your system will be identical to what you would get with a brand-new install.<br />
<br />
For this same reason, new Arch Linux releases are not typically full of new and exciting features. New and exciting features are released as needed with the packages that are updated, and can be obtained immediately via {{Codeline|pacman -Syu}}.<br />
<br />
==Q) Is Arch Linux a stable distro? Will I get frequent breakage? ==<br />
'''A)''' The long and short answer is: It is largely as stable as ''you'' make it. <br />
<br />
''You'' assemble your own Arch system, atop the simple base environment, and ''you'' control system upgrades. Obviously, a larger, more bloated system incorporating multitudes of packages, multiple toolkits and desktop environments would be more likely to experience configuration issues due to upstream changes than a slimmer, more simple system would. General UNIX competence and good system maintenance and upgrade practices also play a large role in system stability. Also recall that Arch packages are predominantly unpatched, so most issues are inherently upstream.<br />
<br />
Therefore, it is ''the user'' who is ultimately responsible for the stability of his own rolling release system. The user decides when to upgrade, and merges necessary changes when required. If the the user reaches out to the community for help, it is often provided in a timely manner. The difference between Arch and other distributions in this regard is that Arch is truly a 'do-it-yourself' distro; complaints of breakage are misguided and unproductive, since upstream changes are not the responsibility of Arch devs.<br />
<br />
==Q) What exactly ''is'' this 'BSD-style' init framework I keep hearing about? ==<br />
Part of BSD's heritage is the simple init framework that it has incorporated. The main difference between a BSD init and a sysV init is that Arch's BSD-style init uses a single file, {{Filename|/etc/rc.conf}}, to point to scripts within a single directory, {{Filename|etc/rc.d/}}, for all system services, regardless of runlevel.<br />
<br />
A sysV init, on the other hand, would use a directory for each runlevel:{{Filename|/etc/rc.0,1,2,3,4,5,6}} with a convoluted array of symlinks within the directory; one for each service, and each symlink pointing to a corresponding script in the {{Filename|/etc/init.d/}} directory. Needless to say, the SysV method is much more complex; it could easily contain dozens of symlinks in each /etc/rc. directory. Keeping in line with its simple philosophy, Arch uses the BSD-style init.<br />
<br />
==Q) Arch needs more press (i.e. advertisement)==<br />
'''A)''' Arch gets plenty of press as it is. The goal of Arch Linux is not to be large. The goal is to provide an elegant, minimalist and bleeding edge distribution focused on simplicity and code-correctness. Growth occurs naturally amongst the target user base. Trying to force growth will just cause problems.<br />
<br />
Similarly, the development model does not restrict natural growth. More users might mean more devs to work on Arch Linux. This may cause some organizational issues at the "top", but those will be dealt with when they arrive.<br />
<br />
==Q) Arch needs more devs==<br />
'''A)''' Possibly so. Feel free to volunteer your time! Visit the [http://bbd.archlinux.org forums], [http://www.archlinux.org/irc/ IRC channels], and [http://mailman.archlinux.org/mailman/listinfo/ mailing lists], and see what needs to be done. Getting involved in the Community Contributions subforum is a good way to start.<br />
<br />
==Q) Why is Arch so slow? Programs open slowly or do not run at all!==<br />
'''A)''' Make sure that your hostname is correctly set in {{Filename|/etc/hosts}} (i.e., that it matches the hostname in {{Filename|/etc/rc.conf}}. Have a look at "Configure the System" in The [[Beginners_Guide#F:_Configure_the_System|Beginners' Guide]]). If the hostnames do not match, applications may start up very slowly.<br />
<br />
==Q) Why is my internet so slow compared to other operating systems?==<br />
'''A)''' Is your network configured correctly? Have you double checked your {{Filename|/etc/rc.conf}} {{Filename|/etc/hosts}} and {{Filename|/etc/resolv.conf}}? Have a look at "Configure the System" in The [[Beginners_Guide#F:_Configure_the_System|Beginners' Guide]].<br />
<br />
==Q) Why is Arch using all my RAM? 2G used while I'm just staring at my desktop?!==<br />
'''A)''' Essentially, unused RAM is wasted RAM. <br />
<br />
For many new users, Linux handles memory differently than they are used to. Since accessing data in RAM is much faster than from disk, Linux caches recently accessed data in memory. The cached data is only cleared when the system begins to run out of unused memory and new data still needs to be loaded.<br />
<br />
Perhaps the most common culprit of this confusion is the {{Codeline|free}} command:<br />
<br />
{{Command|name=free -m|output=$ free -m<br />
total used free shared buffers cached<br />
Mem: 1009 741 267 0 104 359<br />
-/+ buffers/cache: 278 731 <-- NOTE THIS!<br />
Swap: 1537 0 1537}}<br />
<br />
It is important to note the {{Codeline|-/+ buffers/cache:}} line -- a representation of the amount of memory that is actually in "active use" and the amount of "available" memory, rather than "unused".<br />
<br />
In the above example, a laptop with 1G of total RAM appears to be using 741M of it, with naught but a few idling terminals and web browser open! However, upon examining the emphasized line, see that only 278M of it is in "active use", and in fact 731M is "available" for new data. Apparently, 104M of that "used" memory contains buffered data and 359M contains cached data, both of which can be cleared away if needed. Only 267M of the total is truly "free" of the burden of data storage.<br />
<br />
The result of all this? Performance!<br />
<br />
See [http://www.linuxjournal.com/article/2770 this wonderful article] if your curiosity has been piqued!<br />
<br />
=Package Management=<br />
==Q) I've found an error with Package X. What should I do?==<br />
'''A)''' First, you need to figure out if this error is something the Arch team can fix. Sometimes it's not (that Firefox crash may be the fault of the Mozilla team) - this is called an ''upstream error''. If it is an Arch problem, there is a series of steps you can take:<br />
#Search the forums for information. See if anyone else has noticed it.<br />
#Notify the package maintainer. Try a {{Codeline|pacman -Qi}} for this info.<br />
#Post a [[Reporting Bug Guidelines|bug report]] with detailed information at http://bugs.archlinux.org.<br />
#If you'd like, write a forum post detailing the problem and the fact that you have reported it already. This will help prevent a lot of people from reporting the same error.<br />
<br />
==Q) Will Arch have a database for pacman?==<br />
'''A)''' Possibly. There is discussion over the issue. <br><br />
http://bbs.archlinux.org/viewtopic.php?id=11193 <br><br />
http://bbs.archlinux.org/viewtopic.php?id=10898 <br><br />
Look at http://bugs.archlinux.org/task/5328, too.<br />
<br />
==Q) Arch packages need to use a unique naming convention. .pkg.tar.gz is too long and/or confusing==<br />
'''A)''' This has been discussed on the Arch mailing list. Some proposed a .pac file extension. As far as is currently known, there is no plan to change the package extension.<br />
As Tobias Kieslich, one of the Arch devs, put it, "A package '''is''' a gzipped tarball! And it can be opened, investigated and manipulated by any tar-capable application. Moreover, the mime-type is automatically detected correctly by most applications."<br />
<br />
==Q) Pacman needs a library so other applications can easily access package information==<br />
'''A)''' Since version 3.0.0, pacman has been the front-end to libalpm, the "Arch Linux Package Management" library. This library allows alternative front-ends to be written (for instance, a GUI front-end).<br />
<br />
==Q) Why doesn't Pacman have an official GUI front-end?==<br />
'''A)''' Please read [[The Arch Way]] and [[Arch Linux]]. The answer is basically that the Arch dev team will not be providing one. Feel free to use one of those developed by users. There is a nice list of them on the [[UserContributionsPage]] in the links section, and a selective list on [[Pacman GUI Frontends]].<br />
<br />
==Q) Pacman needs Feature X!==<br />
'''A)''' Please read [[The Arch Way]] and [[Arch Linux]]. The Arch philosophy is "Keep It Simple". If you think the idea has merit, and does not violate this simple litany, then by all means, discuss it on the forum [http://bbs.archlinux.org/ here]. You might also like to check [http://bugs.archlinux.org here]; it's a place for feature requests if you find it is important.<br />
<br />
However, the best way to get a feature added to Pacman or Arch Linux is to implement it yourself. There's no telling whether the patch will be officially accepted, but others will appreciate and test your effort.<br />
<br />
==Q) Arch needs a stable package branch==<br />
'''A)'''<br />
Never say never.<br />
Some of the many discussions on the topic: <br><br />
http://bbs.archlinux.org/viewtopic.php?id=11288<br />
<br />
==Q) What's the difference between all these repositories?==<br />
'''A)''' See [[Official Repositories]].<br />
<br />
==Q) I just installed Package X. How do I start it?==<br />
'''A)''' If you're using a desktop environment like [[KDE]] or [[GNOME]], the program should automatically show up in your menu. If you're trying to run the program from a terminal and don't know the binary name, try executing {{Codeline|pacman -Ql packagename | grep bin}}. A common problem for packages like Firefox or OpenOffice is that they are installed to {{Filename|/opt}}, which is not in your <code>$PATH</code> - you can {{Codeline|source /etc/profile}} or relogin to fix this.<br />
<br />
=Installation=<br />
==Q) Arch needs a better installer. Maybe a GUI installer.==<br />
'''A)''' The discussion of a "better" installer is subjective. The best way to deal with these issues is to fit the installer to [[The Arch Way]]. If a suggestion for a better installer is backed with concrete arguments, it might be considered during future development of the installer. Since installation doesn't occur often (see the question above on rolling release), it is not a high priority for developers or users.<br />
However, two unofficial methods exist: [http://archie.dotsrc.org/ Archie Live CD] for [[Xfce|XFCE]] (other desktops in development) and [http://user-contributions.org/wikis/userwiki/index.php?title=Arch_Linux_Office_Install_CD Arch Linux Office Install CD] for KDE.<br />
{{Warning|Development of Archie and it's derivatives has ceased and they are now out of date. Please consider using [[archiso]], [[larch]] [http://larch.berlios.de/], or firefly [http://fireflylinux.com/].}}<br />
<br />
==Q) I installed Arch, and now I am at a bash login! What now?==<br />
'''A)''' Have a look at the Arch Linux [[Beginners' Guide]].<br />
<br />
==Q) What makes Arch unique amongst other "minimal" distributions?==<br />
'''A)''' A few distributions may provide minimal installation methods similar in design to the Arch installation process. However, a few points must be noted:<br />
# Arch has been fundamentally designed as a lightweight, minimal environment upon which to build. <br />
# Whether the Netinstall or Core images are used, the only way to install Arch is by building up from this minimal base.<br />
# The installation, as well as the entire distribution is inherently a K.I.S.S. design approach, which makes it uniquely suitable for its target base of users.<br />
# The simple Arch installer is designed for a high level of transparency and the base system is manually configured by the user to their needed specifications.<br />
# Arch provides thoroughly complete documentation to guide one through this process of system assembly.<br />
<br />
=Other=<br />
==Q) I get an error every time I use pacman saying 'warning: current locale is invalid; using default "C" locale'. What do I do?==<br />
'''A)''' As the error message says, your locale isn't correctly configured. Have a look at the [[Configuring locales|locale configuration wiki page]].<br />
<br />
==Q) How do I automount/mount something? ==<br />
'''A)''' If you use GNOME, install gnome-volume-manager:<br />
pacman -Sy gnome-volume-manager<br />
<br />
Now add yourself to the storage group:<br />
gpasswd -a ''your_user'' storage<br />
<br />
If you don't want to use gnome-volume-manager, check out [[Ivman]] or [[autofs | AutoFS]].<br />
<br />
==Q) How do I connect to my wireless network?==<br />
'''A)''' See [[Wireless Setup]].<br />
<br />
==Q) How do I connect to my wired network?==<br />
'''A)''' See [[Configuring Network]].<br />
<br />
==Q) What is this AUR thing I keep hearing about?==<br />
'''A)''' See [[Arch User Repository#FAQ]].<br />
<br />
==Q) Why do I get a green screen whenever I try to watch a video?==<br />
'''A)''' Your colour depth is set wrong. It may need to be 24 instead of 16, for example.<br />
<br />
==Q) Spellcheck is marking all of my text as incorrect!==<br />
'''A)''' Have you installed an aspell dictionary? Use {{Codeline|pacman -Ss aspell}} to see available dictionaries for downloading.<br />
<br />
If installing aspell dictionary files did not resolve the problem. It is most likely to be a problem with {{Codeline|enchant}}.<br />
<br />
Firstly, check what dictionary files aspell knows about using the command {{Codeline|aspell dicts}}:<br />
$ aspell dicts<br />
Prints out:<br />
en<br />
en_GB<br />
...etc<br />
<br />
If your respective language dictionary is listed, add the following line to {{Filename|/usr/share/enchant/enchant.ordering}}:<br />
language:aspell<br />
en_GB:aspell # Example</div>
Keiichi
https://wiki.archlinux.org/index.php?title=ALSA_Setup&diff=86079
ALSA Setup
2009-12-03T00:47:38Z
<p>Keiichi: Redirected page to Advanced Linux Sound Architecture</p>
<hr />
<div>#REDIRECT [[Advanced Linux Sound Architecture]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_Derivatives&diff=86078
Arch Derivatives
2009-12-03T00:47:16Z
<p>Keiichi: Redirected page to Arch Based Distributions</p>
<hr />
<div>#REDIRECT [[Arch Based Distributions]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Distributions&diff=86077
Distributions
2009-12-03T00:46:58Z
<p>Keiichi: Redirected page to Arch Based Distributions</p>
<hr />
<div>#REDIRECT [[Arch Based Distributions]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Arch_Terminology/Jargon_for_newbies&diff=86076
Arch Terminology/Jargon for newbies
2009-12-03T00:46:37Z
<p>Keiichi: Redirected page to Arch Terminology</p>
<hr />
<div>#REDIRECT [[Arch Terminology]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=OSS_Setup&diff=86075
OSS Setup
2009-12-03T00:46:17Z
<p>Keiichi: Redirected page to Open Sound System</p>
<hr />
<div>#REDIRECT [[Open Sound System]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Opensound&diff=86074
Opensound
2009-12-03T00:46:02Z
<p>Keiichi: Redirected page to Open Sound System</p>
<hr />
<div>#REDIRECT [[Open Sound System]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Boot&diff=86071
Boot
2009-12-03T00:44:56Z
<p>Keiichi: Redirected page to Arch Boot Process</p>
<hr />
<div>#REDIRECT [[Arch Boot Process]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Boot_process&diff=86067
Boot process
2009-12-03T00:43:28Z
<p>Keiichi: Redirected page to Arch Boot Process</p>
<hr />
<div>#REDIRECT [[Arch Boot Process]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Getting_involved&diff=86065
Getting involved
2009-12-03T00:41:56Z
<p>Keiichi: just some minor fixes</p>
<hr />
<div>[[Category: ArchWiki Tools (English)]]<br />
[[Category: About Arch (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|This article describes various ways Archers (both new and experienced users) can contribute to the Arch community. Note that this is not an exhaustive list.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n entry|English|Getting Involved}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|ArchWiki Tutorial (English)}}<br />
{{Article summary wiki|Arch User Repository}}<br />
{{Article summary end}}<br />
<br />
In biology, [http://en.wikipedia.org/wiki/Mutualism mutualism] is an interaction between two organisms in which each derives benefit. This principle can also apply to proactive and motivated members of the Arch community wanting to get involved and contribute to their favorite GNU/Linux distribution -- benefiting not only themselves and fellow Archers, but potentially all fans of [[Wikipedia:Free and open source software|Free and open source software]].<br />
<br />
==Forums==<br />
<br />
One of the easiest ways to get involved is participating in the [http://bbs.archlinux.org/ Arch Linux Forums]. Please read [[Forum Etiquette]] first, then feel free share your ideas, lend a helping hand to new users, and get to know your community.<br />
<br />
==Wiki==<br />
<br />
If you feel capable of [[ArchWiki Tutorial (English)|editing wiki pages]], please see if you can manage tasks outlined in this section.<br />
<br />
In the long run, the goal is a professional and easily-navigated wiki, such that supplementary guides, documenters, etc. are unnecessary. This is a community effort, but wiki maintenance is often a tedious and thankless task. <br />
<br />
If you take on the task seriously, a formal position as a wiki maintainer may be in order. This gives the job purpose and recognition.<br />
<br />
The current category tree is here: [[Table of Contents (English)]]<br />
<br />
# Flag articles with appropriate [[:Category:Template#Article status templates|article status templates]] (e.g. {{Codeline|<nowiki>{{Deletion}}</nowiki>}}, {{Codeline|<nowiki>{{Out of date}}</nowiki>}}, {{Codeline|<nowiki>{{Translateme}}</nowiki>}}, etc.)<br />
# [[:Category:Stub|Add content to stubs]] and [[:Category:Expansion|expand incomplete or poorly-written articles]].<br />
# [[:Category:Translation Requested|Add or improve translations]]; ensure that translations are in sync with each other.<br />
# [[:Category:Articles For Merge|Reduce and combine duplicate pages]].<br />
# [[Special:Categories|Reduce the number of categories]]. Scan the wiki for similar categories that should be combined; improve wiki navigation.<br />
# [[Special:UncategorizedPages|Categorize uncategorized pages]].<br />
# [[Writing article overviews HOWTO (English)|Add article summary boxes to all articles]].<br />
# [[FAQ|Update the FAQ]] with relevant questions from the forum and remove obsolete questions.<br />
# Correct spelling, grammar, language, and style. <br />
#* Remove extraneous links and content; text should be concise, tight, and readable.<br />
#* Remove personal references ("I like to...", "My machine...") to maintain a professional tone.<br />
#* Ensure all pages follow a similar style and layout.<br />
<br />
Other useful pages for cleanup:<br />
<br />
* [[:Category:Articles For Deletion|Articles for deletion]]<br />
* [[Special:BrokenRedirects|Broken redirects]]<br />
* [[Special:DoubleRedirects|Double redirects]]<br />
* [[Special:Shortpages|Short pages]]<br />
* [[Spammers]]<br />
<br />
==Bugs==<br />
<br />
Opening (and closing) bug reports on the [http://bugs.archlinux.org/ Arch Linux Bugtracker] is one of the possible ways to help the community. However, ineffective use of the bug-tracker can be counter-productive instead of being useful. <br />
<br />
[[Reporting Bug Guidelines|This article]] will guide anyone wanting to help the community efficiently by reporting or hunting bugs.<br />
<br />
See also: [[Bug Squashing Day]]<br />
<br />
==Arch User Repository and other Community Projects==<br />
<br />
Arch has a vital and active community of software developers and contributing projects.<br />
<br />
The [[Arch User Repository]] is a community-driven repository of PKGBUILDs for Arch users. Packages in the AUR are built by the PKGBUILDs and are not pre-built binaries like from the official repositories. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the {{Codeline|[community]}} repository.<br />
<br />
If you have a project you would like to link to, this is a great place to do it. Include a link to your project, the date your project started, and a brief (one or two sentence) description of your project. <br />
<br />
{{Note|All projects listed here are Community projects. None of these projects are considered '''''official''''' Arch projects.}}<br />
<!--<br />
#############################################<br />
<br />
Please sort projects alphabetically, breaking-out into additional category pages when needed. Categories should also be alphabetically listed.<br />
<br />
#############################################<br />
--><br />
<br />
====[[Arch Based Distributions]]====<br />
:Other distributions based on Arch Linux<br />
-----<br />
<br />
====[[AUR Helpers]]====<br />
:Utilities to aid end users in using the [[AUR]]<br />
-----<br />
<br />
====[[Pacman GUI Frontends]]====<br />
:Graphical front-ends for {{Codeline|[[pacman]]}}<br />
-----<br />
<br />
====Other====<br />
:Projects that don't quite fit into any existing category<br />
-----<br />
<br />
* [http://archaudio.org ArchAudio]<br />
:A third-party package repository and online discussion board for Arch Linux pro-audio users<br />
<br />
* [http://arch-games.twilightlair.net Arch Linux Gaming Repository]<br />
:A collection of some of the popular games in [unsupported], to save archers compilation time. They've also patched up many broken games that wouldn't compile.<br />
<br />
* [http://archlinux.us ArchLinux.us]<br />
:@archlinux.us emails, Gmail based<br />
<br />
* [http://archlinux.me ArchLinux.me]<br />
:Arch Linux Blogs<br />
<br />
* [http://archlinux.mobi ArchLinux.mobi]<br />
:Mobile access to the @archlinux.us emails<br />
<br />
* [[ArchMap]]<br />
:Google Earth Arch user map<br />
<br />
* [http://qdb.archuser.com Arch Quote Database]<br />
:A collection of humorous quotes from [[irc|#archlinux]]<br />
<br />
* [http://www.archserver.org ArchServer Project]<br />
:Making Arch suitable for server use<br />
<br />
* [[Namcap Reports]]<br />
:namcap is an utility for Arch Linux which helps in automatic detection of common mistakes and errors in PKGBUILDs. This page is an automatically generated report obtained after running namcap against the core, extra and community trees.<br />
<br />
* [http://arch-osx.twilightlair.net Pacman on OS X]<br />
:Package management for OS X via {{Codeline|pacman}}<br />
<br />
* [http://www.github.com/sebnow/parched Parched]<br />
:An ALPM package and PKGBUILD parser in Python<br />
<br />
* [http://xyne.archlinux.ca Xyne's Arch Linux Stuff]<br />
:Xyne's contributions to the Arch Linux community<br />
<br />
<!--<br />
############################################<br />
<br />
End of Community Projects<br />
<br />
############################################<br />
--><br />
==As a developer...==<br />
<br />
''This entry is mainly based on [http://bbs.archlinux.org/viewtopic.php?id=24503 this] post in Arch's BBS''<br />
<br />
Firstly, remember that the main motivation for your work on Arch should be helping the whole community, and not trying to become an ''"Arch developer"'' by any means. Secondly, you are also part of the community; to provide help to others means you will also help yourself.<br />
<br />
{{FAQ<br />
|question=What can I do?<br />
|answer=Here is a list, in no particular order, of things that you may want to do in order to make yourself useful to the community:<br />
<br />
* Establish a reputation as being helpful by offering assistance whenever possible<br />
* Answer questions on the forum, IRC, and mailing lists<br />
* Join the Trusted Users to gain packaging experience to show your skills<br />
* Submit packages to the AUR<br />
* Join one of the offshoot projects that may be incorporated into Arch mainstream someday, or start your own<br />
* Work on pacman, makepkg, initscripts, or other source code and submit patches to the bug tracker<br />
* Traverse the bug tracker and fix existing bugs<br />
* Find and submit new bugs<br />
* Fix wiki errors, add new pages, clean up existing pages, and make sure the procedures are up-to-date<br />
* Submit translations}}<br />
<br />
{{FAQ<br />
|question=How can I become an Arch developer?<br />
|answer=Usually, new developers are picked by the existing developers as the workload increases. Sometimes they post a position and you can apply to fill it, but more often, they just invite somebody they know would be good at it and would fit in well with the rest of the team. Having a portfolio of Arch contributions is the best way to make it on the team.}}<br />
<br />
==As an artist...==<br />
<br />
Feel free to share wallpapers, splash screens, color palettes, widgets, themes, etc. with the community on the forum.<br />
<br />
See also: http://www.archlinux.org/art/</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Getting_involved&diff=86064
Getting involved
2009-12-03T00:39:44Z
<p>Keiichi: fixing redirection</p>
<hr />
<div>[[Category: ArchWiki Tools (English)]]<br />
[[Category: About Arch (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|This article describes various ways Archers (both new and experienced users) can contribute to the Arch community. Note that this is not an exhaustive list.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n entry|English|Getting Involved}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|ArchWiki Tutorial (English)}}<br />
{{Article summary wiki|Arch User Repository}}<br />
{{Article summary end}}<br />
<br />
In biology, [http://en.wikipedia.org/wiki/Mutualism mutualism] is an interaction between two organisms in which each derives benefit. This principle can also apply to proactive and motivated members of the Arch community wanting to get involved and contribute to their favorite GNU/Linux distribution -- benefiting not only themselves and fellow Archers, but potentially all fans of [http://en.wikipedia.org/wiki/Free_and_open_source_software F/OSS].<br />
<br />
==Forums==<br />
<br />
One of the easiest ways to get involved is participating in the [http://bbs.archlinux.org/ Arch Linux Forums]. Please read [[Forum Etiquette]] first, then feel free share your ideas, lend a helping hand to new users, and get to know your community.<br />
<br />
==Wiki==<br />
<br />
If you feel capable of [[ArchWiki Tutorial (English)|editing wiki pages]], please see if you can manage tasks outlined in this section.<br />
<br />
In the long run, the goal is a professional and easily-navigated wiki, such that supplementary guides, documenters, etc. are unnecessary. This is a community effort, but wiki maintenance is often a tedious and thankless task. <br />
<br />
If you take on the task seriously, a formal position as a wiki maintainer may be in order. This gives the job purpose and recognition.<br />
<br />
The current category tree is here: [[Table of Contents (English)]]<br />
<br />
# Flag articles with appropriate [[:Category:Template#Article status templates|article status templates]] (e.g. {{Codeline|<nowiki>{{Deletion}}</nowiki>}}, {{Codeline|<nowiki>{{Out of date}}</nowiki>}}, {{Codeline|<nowiki>{{Translateme}}</nowiki>}}, etc.)<br />
# [[:Category:Stub|Add content to stubs]] and [[:Category:Expansion|expand incomplete or poorly-written articles]].<br />
# [[:Category:Translation Requested|Add or improve translations]]; ensure that translations are in sync with each other.<br />
# [[:Category:Articles For Merge|Reduce and combine duplicate pages]].<br />
# [[Special:Categories|Reduce the number of categories]]. Scan the wiki for similar categories that should be combined; improve wiki navigation.<br />
# [[Special:UncategorizedPages|Categorize uncategorized pages]].<br />
# [[Writing article overviews HOWTO (English)|Add article summary boxes to all articles]].<br />
# [[FAQ|Update the FAQ]] with relevant questions from the forum and remove obsolete questions.<br />
# Correct spelling, grammar, language, and style. <br />
#* Remove extraneous links and content; text should be concise, tight, and readable.<br />
#* Remove personal references ("I like to...", "My machine...") to maintain a professional tone.<br />
#* Ensure all pages follow a similar style and layout.<br />
<br />
Other useful pages for cleanup:<br />
<br />
* [[:Category:Articles For Deletion|Articles for deletion]]<br />
* [[Special:BrokenRedirects|Broken redirects]]<br />
* [[Special:DoubleRedirects|Double redirects]]<br />
* [[Special:Shortpages|Short pages]]<br />
* [[Spammers]]<br />
<br />
==Bugs==<br />
<br />
Opening (and closing) bug reports on the [http://bugs.archlinux.org/ Arch Linux Bugtracker] is one of the possible ways to help the community. However, ineffective use of the bug-tracker can be counter-productive instead of being useful. <br />
<br />
[[Reporting Bug Guidelines|This article]] will guide anyone wanting to help the community efficiently by reporting or hunting bugs.<br />
<br />
See also: [[Bug Squashing Day]]<br />
<br />
==Arch User Repository and other Community Projects==<br />
<br />
Arch has a vital and active community of software developers and contributing projects.<br />
<br />
The [[Arch User Repository]] is a community-driven repository of PKGBUILDs for Arch users. Packages in the AUR are built by the PKGBUILDs and are not pre-built binaries like from the official repositories. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the {{Codeline|[community]}} repository.<br />
<br />
If you have a project you would like to link to, this is a great place to do it. Include a link to your project, the date your project started, and a brief (one or two sentence) description of your project. <br />
<br />
{{Note|All projects listed here are Community projects. None of these projects are considered '''''official''''' Arch projects.}}<br />
<!--<br />
#############################################<br />
<br />
Please sort projects alphabetically, breaking-out into additional category pages when needed. Categories should also be alphabetically listed.<br />
<br />
#############################################<br />
--><br />
<br />
====[[Arch Based Distributions]]====<br />
:Other distributions based on Arch Linux<br />
-----<br />
<br />
====[[AUR Helpers]]====<br />
:Utilities to aid end users in using the [[AUR]]<br />
-----<br />
<br />
====[[Pacman GUI Frontends]]====<br />
:Graphical front-ends for {{Codeline|[[pacman]]}}<br />
-----<br />
<br />
====Other====<br />
:Projects that don't quite fit into any existing category<br />
-----<br />
<br />
* [http://archaudio.org ArchAudio]<br />
:A third-party package repository and online discussion board for Arch Linux pro-audio users<br />
<br />
* [http://arch-games.twilightlair.net Arch Linux Gaming Repository]<br />
:A collection of some of the popular games in [unsupported], to save archers compilation time. They've also patched up many broken games that wouldn't compile.<br />
<br />
* [http://archlinux.us ArchLinux.us]<br />
:@archlinux.us emails, Gmail based<br />
<br />
* [http://archlinux.me ArchLinux.me]<br />
:Arch Linux Blogs<br />
<br />
* [http://archlinux.mobi ArchLinux.mobi]<br />
:Mobile access to the @archlinux.us emails<br />
<br />
* [[ArchMap]]<br />
:Google Earth Arch user map<br />
<br />
* [http://qdb.archuser.com Arch Quote Database]<br />
:A collection of humorous quotes from [[irc|#archlinux]]<br />
<br />
* [http://www.archserver.org ArchServer Project]<br />
:Making Arch suitable for server use<br />
<br />
* [[Namcap Reports]]<br />
:namcap is an utility for Arch Linux which helps in automatic detection of common mistakes and errors in PKGBUILDs. This page is an automatically generated report obtained after running namcap against the core, extra and community trees.<br />
<br />
* [http://arch-osx.twilightlair.net Pacman on OS X]<br />
:Package management for OS X via {{Codeline|pacman}}<br />
<br />
* [http://www.github.com/sebnow/parched Parched]<br />
:An ALPM package and PKGBUILD parser in Python<br />
<br />
* [http://xyne.archlinux.ca Xyne's Arch Linux Stuff]<br />
:Xyne's contributions to the Arch Linux community<br />
<br />
<!--<br />
############################################<br />
<br />
End of Community Projects<br />
<br />
############################################<br />
--><br />
==As a developer...==<br />
<br />
''This entry is mainly based on [http://bbs.archlinux.org/viewtopic.php?id=24503 this] post in Arch's BBS''<br />
<br />
Firstly, remember that the main motivation for your work on Arch should be helping the whole community, and not trying to become an ''"Arch developer"'' by any means. Secondly, you are also part of the community; to provide help to others means you will also help yourself.<br />
<br />
{{FAQ<br />
|question=What can I do?<br />
|answer=Here is a list, in no particular order, of things that you may want to do in order to make yourself useful to the community:<br />
<br />
* Establish a reputation as being helpful by offering assistance whenever possible<br />
* Answer questions on the forum, IRC, and mailing lists<br />
* Join the Trusted Users to gain packaging experience to show your skills<br />
* Submit packages to the AUR<br />
* Join one of the offshoot projects that may be incorporated into Arch mainstream someday, or start your own<br />
* Work on pacman, makepkg, initscripts, or other source code and submit patches to the bug tracker<br />
* Traverse the bug tracker and fix existing bugs<br />
* Find and submit new bugs<br />
* Fix wiki errors, add new pages, clean up existing pages, and make sure the procedures are up-to-date<br />
* Submit translations}}<br />
<br />
{{FAQ<br />
|question=How can I become an Arch developer?<br />
|answer=Usually, new developers are picked by the existing developers as the workload increases. Sometimes they post a position and you can apply to fill it, but more often, they just invite somebody they know would be good at it and would fit in well with the rest of the team. Having a portfolio of Arch contributions is the best way to make it on the team.}}<br />
<br />
==As an artist...==<br />
<br />
Feel free to share wallpapers, splash screens, color palettes, widgets, themes, etc. with the community on the forum.<br />
<br />
See also: http://www.archlinux.org/art/</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:Advanced_Linux_Sound_Architecture&diff=86061
Talk:Advanced Linux Sound Architecture
2009-12-03T00:03:10Z
<p>Keiichi: moved Talk:ALSA to Talk:Advanced Linux Sound Architecture:&#32;Minor title fixes.</p>
<hr />
<div>does this page ever get used??<br />
i'd like to add a paragraph to the Troubleshooting section that acknowledges the ALSA driver's limitations about Audio: Intel Corp. 82801G (ICH7 Family) (rev 02), SigmaTel STAC9228 - see http://bbs.archlinux.org/viewtopic.php?id=46552<br />
does this make sense?<br />
<br />
= Make sure snd_pcsp gets loaded last =<br />
<br />
I think the module is called <tt>pcspkr</tt>, right? [[User:Aku|Aku]]<br />
:No they're different you can read output of "modinfo snd_pcsp" and "modinfo pcspkr" --[[User:Ras0ir|Ras0ir]] 09:37, 15 February 2009 (EST)<br />
<br />
----<br />
<br />
I don't want to change this howto with my ugly hack.<br />
'''This is about Flashplugin:'''<br />
<br />
if no sound is playing an if I start the flashplugin(youtube...).<br />
the sound device is always blocked.<br />
<br />
So the trick is just start kdm/gdm/xdm with '''"-dmS name_of_screen aplay"'''<br />
There is many way to do it.<br />
<br />
add "-dmS name_of_screen aplay" to /etc/rc.conf #will start aplay right after starting the daemons<br />
gdm: just add start script<br />
kdm: sucks <br />
<br />
I use KDE4</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Advanced_Linux_Sound_Architecture&diff=86059
Advanced Linux Sound Architecture
2009-12-03T00:03:10Z
<p>Keiichi: moved ALSA to Advanced Linux Sound Architecture:&#32;Minor title fixes.</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|ALSA}}<br />
{{i18n_entry|Español|ALSA (Español)}}<br />
{{i18n_entry|Deutsch|ALSA Einrichten}}<br />
{{i18n_entry|Italiano|ALSA (Italiano)}}<br />
{{i18n_entry|Nederlands|ALSA instellen}}<br />
{{i18n_entry|Русский|ALSA_(Russian)}}<br />
{{i18n_entry|Slovensky|Nastavenie ALSA}}<br />
{{i18n_entry|Česky|ALSA (Česky)}}<br />
{{i18n_entry|简体中文|ALSA 安装设置 (简体中文)}}<br />
{{i18n_entry|עברית|הגדרת ALSA}}<br />
{{i18n_entry|Рolski|ALSA Setup (Polski)}}<br />
{{i18n_entry|Português do Brasil|Instalação ALSA}}<br />
{{i18n_entry|ไทย|ALSA Setup (ไทย)}}<br />
{{i18n_entry|Türkçe|ALSA (Türkçe)}}<br />
{{i18n_entry|Français|ALSA (Français)}}<br />
{{i18n_entry|한국어|ALSA (한국어)}}<br />
{{i18n_links_end}}<br />
<br />
The Advanced Linux Sound Architecture (ALSA) is a Linux kernel component intended to provide device drivers for sound cards.<br />
<br />
This document tells how to get ALSA working with 2.6 kernels. Also see how to [[Allow_multiple_programs_to_play_sound_at_once|allow multiple programs to play sound at once]]<br />
<br />
See [[OSS]] if you are looking for alternatives.<br />
<br />
==Installation==<br />
===Kernel drivers===<br />
<br />
ALSA has been included in the 2.6 kernels and is included in all Arch '''kernel26*''' packages. If you build a custom kernel, do not forget to enable the correct ALSA driver.<br />
<br />
All necessary modules should be detected and loaded automatically by udev. No special configuration has to be done unless you use ISA cards. '''NEVER''' use alsaconf if you have a PCI or ISAPNP sound card, as the entries alsaconf adds to the modprobe.conf file might break udev's autodetection.<br />
<br />
===Userspace utilities===<br />
<br />
* Required for native ALSA programs and administration<br />
# pacman -Sy alsa-lib alsa-utils<br />
* Recommended if you want to use applications with OSS sound support in combination with dmix:<br />
# pacman -S alsa-oss<br />
<br />
All ALSA programs will most likely have alsa-lib as a dependency.<br />
<br />
==Configuration==<br />
===Set the default sound card===<br />
<br />
Telephony-capable modems and snd-pcsp (the internal PC speaker ALSA module) can conflict with the sound card for the default sound card slot. (pcspkr is another, non-ALSA PC speaker module. It will not conflict with ALSA sound cards.) To prevent this, discover your sound card model name with [http://linux.die.net/man/8/lspci lspci(8)] and your ALSA driver module names with ls(1):<br />
<br />
$ ls -l /sys/module/snd/holders<br />
total 0<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_ac97_codec -> ../../snd_ac97_codec<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_intel8x0 -> ../../snd_intel8x0<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_intel8x0m -> ../../snd_intel8x0m<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_pcm -> ../../snd_pcm<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:53 snd_pcsp -> ../../snd_pcsp<br />
lrwxrwxrwx 1 root root 0 2009-06-02 23:49 snd_timer -> ../../snd_timer<br />
<br />
Then add the names of your sound card modules to:<br />
<br />
{{file |name=/etc/modprobe.d/modprobe.conf (prior to module-init-tools 3.8, use /etc/modprobe.conf) |content=<br />
options snd-intel8x0 index=0<br />
options snd-pcsp index=1<br />
}}<br />
<br />
These entries ensure that the Intel 82801DB-ICH4 sound card will become card 0 and the PC speaker will become card 1.<br />
<br />
If you do not want snd-pcsp to load at all you can add the following to:<br />
<br />
{{file |name=/etc/rc.conf |content=MODULES=(... !snd-pcsp)<br />
}}<br />
<br />
If you want the PC speaker completely been disabled you can additionally add the following to:<br />
<br />
{{file |name=/etc/rc.conf |content=MODULES=(... !pcspkr)<br />
}}<br />
<br />
<br />
{{Note| You will need to unload all your sound modules and reload them for the changes to take affect. It might be easier to reboot. Your choice. }}<br />
<br />
===Making sure the sound modules are loaded===<br />
<br />
You can assume that udev will autodetect your sound properly, including the OSS compatibility modules. You can check this with the command<br />
<br />
$ lsmod|grep '^snd' | column -t<br />
snd_usb_audio 69696 0 <br />
snd_usb_lib 13504 1 snd_usb_audio<br />
snd_rawmidi 20064 1 snd_usb_lib<br />
snd_hwdep 7044 1 snd_usb_audio<br />
snd_seq_oss 29412 0 <br />
snd_seq_midi_event 6080 1 snd_seq_oss<br />
snd_seq 46220 4 snd_seq_oss,snd_seq_midi_event<br />
snd_seq_device 6796 3 snd_rawmidi,snd_seq_oss,snd_seq<br />
snd_pcm_oss 45216 0 <br />
snd_mixer_oss 15232 1 snd_pcm_oss<br />
snd_intel8x0 27932 0 <br />
snd_ac97_codec 87648 1 snd_intel8x0<br />
snd_ac97_bus 1792 1 snd_ac97_codec<br />
snd_pcm 76296 4 snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec<br />
snd_timer 19780 2 snd_seq,snd_pcm<br />
snd 43776 12 snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,<br />
snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer<br />
snd_page_alloc 7944 2 snd_intel8x0,snd_pcm<br />
<br />
If the output looks similar, your sound drivers have been successfully autodetected (note that in this case, snd_intel8x0 and snd_usb_audio are the drivers for the hardware devices). You might also want to check the directory '''/dev/snd''' for the right device files:<br />
<br />
$ ls -l /dev/snd<br />
total 0<br />
crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0<br />
crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1<br />
crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c<br />
crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p<br />
crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c<br />
crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c<br />
crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p<br />
crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq<br />
crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer<br />
<br />
If you have at least the devices '''controlC0''' and '''pcmC0D0p''' or similar, then your sound modules have been detected and loaded properly.<br />
<br />
If this is not the case, your sound modules have not been detected properly. '''If you want any help on IRC or the forums, please post the output of the above commands.''' To solve this, you can try loading the modules manually:<br />
<br />
* Locate the module for your soundcard: [http://www.alsa-project.org/main/index.php/Matrix:Main ALSA Soundcard Matrix] The module will be prefixed with 'snd-' (for example: 'snd-via82xx').<br />
* Load modules:<br />
# modprobe snd-NAME-OF-MODULE<br />
# modprobe snd-pcm-oss<br />
* Check for the device files in '''/dev/snd''' (see above) and/or try if '''alsamixer''' or '''amixer''' have reasonable output.<br />
* Add '''snd-NAME-OF-MODULE''' and '''snd-pcm-oss''' to the list of MODULES in {{Filename|/etc/rc.conf}} to ensure they are loaded next time (make sure '''snd-NAME-OF-MODULE''' is before '''snd-pcm-oss''').<br />
<br />
===Unmute the channels and test===<br />
<br />
In this section, we assume that you are logged in as root. If you want to perform these steps as an unprivileged user, you have to skip to the next section ''Setup Permissions'' first.<br />
<br />
* Unmute Soundcard<br />
<br />
The current version of ALSA installs with all channels '''muted by default''', so even if installation completes successfully and all devices are working properly you will hear no sound. You will need to unmute the channels manually. It is recommended to use {{Codeline|alsamixer}} to accomplish this. From the alsamixer text ui, the label "MM" below a channel indicates that the channel is muted, and "00" indicates that it is open. Press the 'm' key to toggle MM/00. Use arrow-keys left and right to navigate through the channels and the arrow-keys up and down to adjust the volume. Such things as Master and PCM and possibly Speaker will need to unmuted for your sound to work.<br />
<br />
{{Note | When using '''{{Codeline|amixer}}''', be sure to '''unmute''' as well as bring volumes up to a specific level in percent, i.e you need to use that % sign. '''{{Codeline|amixer}}''' understands the percent sign (%), not numbers. If you use a number (say, 90) then '''{{Codeline|amixer}}''' will take it as 100%, which can harm your speakers.}}<br />
<br />
# amixer set Master 90% unmute<br />
# amixer set PCM 85% unmute<br />
<br />
* Try to play a WAV file<br />
<br />
# aplay /usr/share/sounds/alsa/Front_Center.wav<br />
<br />
{{Note | Some cards need to have digital output muted/turned off in order to hear analog sound. For the Soundblaster Audigy LS mute the IEC958 channel.}}<br />
<br />
If you cannot hear anything, double check your mixer settings, being sure to unmute PCM, MASTER (and some machines such as the IBM Thinkpad have an additional 'SPEAKER' channel) and try the alsaconf utility as root:<br />
# alsaconf<br />
<br />
* [[Allow multiple programs to play sound at once]]<br />
<br />
===Setup Permissions===<br />
<br />
To be able to use the sound card as a user, follow these steps:<br />
<br />
* Add your user to the audio group:<br />
# gpasswd -a USERNAME audio<br />
<br />
* Log your user out and back in to ensure the audio group is loaded.<br />
<br />
===Restore ALSA Mixer settings at startup===<br />
<br />
* Run {{Codeline|alsactl store}} once to create {{Filename|/etc/asound.state}}.<br />
<br />
# alsactl store<br />
<br />
* Edit {{Filename|/etc/[[rc.conf]]}} and add {{Codeline|"alsa"}} to the list of daemons to start on boot-up. This will store the mixer settings on every shutdown and restore them when you boot.<br />
<br />
* If the mixer settings are not loaded on boot-up, add the following line to {{Filename|/etc/rc.local}}:<br />
<br />
# alsactl restore<br />
<br />
===Getting SPDIF Output===<br />
<br />
(from gralves from the Gentoo forums)<br />
* In GNOME Volume Control, under the Options tab, change the IEC958 to PCM. This option can be enabled in the preferences.<br />
* If you don't have GNOME Volume Control installed,<br />
** Edit /etc/asound.state. This file is where alsasound stores your mixer settings.<br />
** Find a line that says: 'IEC958 Playback Switch'. Near it you will find a line saying value:false. Change it to value:true.<br />
** Now find this line: 'IEC958 Playback AC97-SPSA'. Change its value to 0.<br />
** Restart ALSA.<br />
<br />
Alternative way to enable SPDIF output automatically on login (tested on SoundBlaster Audigy):<br />
<br />
* add following lines to {{Filename|/etc/rc.local}}:<br />
# Use COAX-digital output<br />
amixer set 'IEC958 Optical' 100 unmute<br />
amixer set 'Audigy Analog/Digital Output Jack' on<br />
<br />
You can see the name of your card's digital output with:<br />
$ amixer scontrols<br />
<br />
===System-Wide Equalizer===<br />
<br />
{{Note | This method requires the use of a ladspa plugin which might use quite a bit of CPU when sound plays. In addition, this was made with stereophonic sound (e.g. headphones) in mind.}}<br />
<br />
* You will need, in addition to the aforementioned userspace utilities, alsa-plugins.<br />
# pacman -S alsa-plugins<br />
* Get the ladspa and swh-plugins packages too if you don't already have them.<br />
# pacman -S ladspa swh-plugins<br />
* If you haven't already created either an {{Filename|~/.asoundrc}} or a {{Filename|/etc/asound.conf}} file, then create either one<br />
$ vim ~/.asoundrc<br />
* Insert the following into your ALSA configuration file ({{Filename|~/.asoundrc}} or {{Filename|/etc/asound.conf}}):<br />
<br />
{{file |name=/etc/asound.conf |content=pcm.eq {<br />
type ladspa<br><br />
# The output from the EQ can either go direct to a hardware device<br />
# (if you have a hardware mixer, e.g. SBLive/Audigy) or it can go<br />
# to the software mixer shown here.<br />
#slave.pcm "plughw:0,0"<br />
slave.pcm "plug:dmix"<br><br />
# Sometimes you may need to specify the path to the plugins,<br />
# especially if you've just installed them. Once you've logged<br />
# out/restarted this shouldn't be necessary, but if you get errors<br />
# about being unable to find plugins, try uncommenting this.<br />
#path "/usr/lib/ladspa"<br><br />
plugins [<br />
{<br />
label mbeq<br />
id 1197<br />
input {<br />
#this setting is here by example, edit to your own taste<br />
#bands: 50hz, 100hz, 156hz, 220hz, 311hz, 440hz, 622hz, 880hz, 1250hz, 1750hz, 25000hz,<br />
#50000hz, 10000hz, 20000hz<br />
controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ]<br />
}<br />
}<br />
]<br />
}<br><br />
# Redirect the default device to go via the EQ - you may want to do<br />
# this last, once you're sure everything is working. Otherwise all<br />
# your audio programs will break/crash if something has gone wrong.<br><br />
pcm.!default {<br />
type plug<br />
slave.pcm "eq"<br />
}<br><br />
# Redirect the OSS emulation through the EQ too (when programs are running through "aoss")<br><br />
pcm.dsp0 {<br />
type plug<br />
slave.pcm "eq"<br />
}<br />
}}<br />
<br />
*Reload your alsa settings (as root).<br />
# /etc/rc.d/alsa restart<br />
<br />
*You should be good to go (if not, ask in the forum).<br />
<br />
==Troubleshooting==<br />
===Model Settings===<br />
<br />
Although Alsa detects your soundcard through the BIOS at times Alsa may not be able to recognize your [http://www.mjmwired.net/kernel/Documentation/sound/alsa/HD-Audio-Models.txt model type]. The soundcard chip can be found in <code>alsamixer</code> (e.g. ALC662) and the model can be set in {{Filename|/etc/modprobe.d/modprobe.conf}}. For example:<br />
<br />
options snd-hda-intel model=MODEL<br />
<br />
There are other model settings too. For most cases Alsa defaults will do. If you want to look at more specific settings for your soundcard take a look at the [http://bugtrack.alsa-project.org/main/index.php/Matrix:Main Alsa Soundcard List] find your model, then Details, then look at the "Setting up modprobe..." section. Enter these values in {{Filename|/etc/modprobe.d/modprobe.conf}}. For example, for an Intel AC97 audio:<br />
<br />
<pre># ALSA portion<br />
alias char-major-116 snd<br />
alias snd-card-0 snd-intel8x0<br />
# module options should go here<br />
<br />
# OSS/Free portion<br />
alias char-major-14 soundcore<br />
alias sound-slot-0 snd-card-0<br />
<br />
# card #1<br />
alias sound-service-0-0 snd-mixer-oss<br />
alias sound-service-0-1 snd-seq-oss<br />
alias sound-service-0-3 snd-pcm-oss<br />
alias sound-service-0-8 snd-seq-oss<br />
alias sound-service-0-12 snd-pcm-oss</pre><br />
<br />
===Conflicting PC Speaker===<br />
<br />
Remember, ALSA installs with all channels '''muted by default''' (see previous section, [[ALSA#Unmuting_the_channels_and_testing_the_sound_card|unmuting your soundcard]]).<br />
<br />
However, if you're sure nothing is muted, that your drivers are installed correctly, and that your volume is right, but you still do not hear anything, then try blacklisting snd-pcsp from your modules array in rc.conf:<br />
<br />
MODULES=(!snd-pcsp ... )<br />
<br />
Note that this will disable your PC's internal speaker.<br />
If that doesn't work, then try adding the following line to <code>/etc/modprobe.d/modprobe.conf</code>:<br />
<br />
options snd-NAME-OF-MODULE ac97_quirk=0<br />
<br />
The above fix has been observed to work with <code>via82xx</code><br />
options snd-NAME-OF-MODULE ac97_quirk=1<br />
The above fix has been reported to work with <code>snd_intel8x0</code><br />
<br />
===No Sound with Onboard Intel Sound Card===<br />
<br />
There may be an issue with two conflicting modules loaded, namely <code>snd_intel8x0</code> and <code>snd_intel8x0m</code>. In this case, edit <code>rc.conf</code> and in the MODULES array blacklist the latter one so that it reads <code>!snd_intel8x0m</code> afterwards.<br />
<br />
''Muting'' the "External Amplifier" in <code>alsamixer</code> or <code>amixer</code> may also help. See [http://alsa.opensrc.org/index.php/Intel8x0#Dell_Inspiron_8600_.28and_probably_others.29 the ALSA wiki].<br />
<br />
With '''Intel Corporation 82801 I (ICH9 Family) HD Audio Controller''' on laptop, you may need to add this line to<br />
<br />
/etc/modprobe.d/sound<br />
options snd-hda-intel model=laptop<br />
<br />
or<br />
options snd-hda-intel model=laptop enable=1 index=0<br />
<br />
Otherwise, the pcspkr may not work, and only the headphone have sound. See more on model in [http://en.opensuse.org/SDB:Intel-HDA_sound_problems]<br />
<br />
===Poor Sound Quality===<br />
<br />
If you experience poor sound quality, try setting the PCM volume (in alsamixer) to a level such that gain is 0.<br />
<br />
===Pops When Starting and Stopping Playback===<br />
<br />
Some modules can power off your sound card when not in use. this can make an audible noise when powering down your sound card. If you find this annoying try "modinfo snd-MY-MODULE", and look for a module option that adjusts or disables this feature. <br />
<br />
for example: to disable the power saving mode using snd-hda-intel add "options snd-hda-intel power_save=0" in /etc/modprobe.d/modprobe.conf. or try it with "modprobe snd-hda-intel power_save=0"<br />
<br />
===Alsamixer Does Not Run===<br />
<br />
If running alsamixer does not work and you wind up with the following error<br />
alsamixer: function snd_ctl_open failed for default: No such device or directory<br />
<br />
You should first check /etc/group to ensure that your current user is in the 'audio' group. Don't forget to log out and log in again for the group changes.<br />
<br />
Then you might need to re-install your kernel. Run 'pacman -S kernel26' or whichever patchset you prefer to use.<br />
<br />
===S/PDIF Output Does Not Work===<br />
<br />
If the optical/coaxial digital output of your motherboard/sound card is not working or stopped working, and have already enabled and unmuted it in alsamixer, try running<br />
iecset audio on<br />
<br />
as root.<br />
<br />
You can also put this command in rc.local as it sometimes it may stop working after a reboot.<br />
<br />
===HDMI Output Does Not Work===<br />
<br />
If the HDMI output of your motherboard/sound card is not working or stopped working, and have already enabled and unmuted it in alsamixer, try the following.<br />
<br />
Query for Playback Devices:<br />
<br />
% aplay -l<br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
<br />
Now that we have the info for the HDMI device, try a test, In the example below, 0 is the card number and 3 is the device number.<br />
<br />
% aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav<br />
<br />
If the test is successful, edit/create asound.conf in /etc to set HDMI as the default audio device, reboot, and audio should now work. There might be a better way to do this??<br />
<br />
% cat /etc/asound.conf<br />
pcm.!default {<br />
type plug<br />
slave.pcm {<br />
type hw<br />
card 0<br />
device 3<br />
}<br />
}<br />
<br />
===No Adjustable PCM Channel===<br />
<br />
You may find that you lack adjustable PCM channel. In this case try to remove all sound-related stuff from MODULES section in /etc/rc.conf, except for snd-NAME-OF-MODULE and snd-pcm-oss.<br />
<br />
===HP TX2500===<br />
<br />
Add these 2 lines into {{Filename|/etc/modprobe.d/modprobe.conf}}:<br />
options snd-cmipci mpu_port=0x330 fm_port=0x388<br />
options snd-hda-intel index=0 model=toshiba position_fix=1<br />
<br />
And don't forget to enable 'hal' in the DAEMONS section of your {{Filename|/etc/rc.conf}}.<br />
<br />
options snd-hda-intel model=hp (works for tx2000cto)<br />
<br />
===Skipping Sound When Playing MP3===<br />
<br />
If you have sound skipping when playing MP3 files and you have more then 2 speakers attacked to your computer (i.e. > 2 speaker system), run alsamixer and disable the channels for the speakers that you '''DON'T''' have (i.e. don't enable the sound for the center speaker if you don't have a center speaker<br />
<br />
===Using a USB Headset and External USB Sound Cards===<br />
<br />
If you are using a USB headset with ALSA you can try using asoundconf (currently only available from the AUR) to set the headset as the primary sound output. ''note: before running please make sure you have usb audio modual enabled<br />
#modprobe snd-usb-audio<br />
<br />
you can add this to /etc/rc.conf if you wish''<br />
<br />
# asoundconf is-active<br />
# asoundconf list<br />
# asoundconf set-default-soundcard <chosen soundcard><br />
<br />
===KDE Settings===<br />
<br />
* Start up KDE:<br />
# startx<br />
<br />
* Set up the volumes as you want them for this user (each user has their own settings):<br />
# alsamixer<br />
<br />
Log out and log back in as user xyz to get sound to work (I had to kill X, logout then log back in as user xyz, then start X and open Firefox and bam audio working on YouTube)<br />
<br />
* '''KDE 3.3:''' Go to ''K Menu &rarr; Multimedia &rarr; KMix''<br />
** Choose ''Settings &rarr; Configure KMix...''<br />
** Uncheck the option "Restore volumes on logon"<br />
** Press OK, and you should be all set. Now your volumes will be the same from the command line or within KDE.<br />
<br />
===Error 'Unkown hardware' Appears After a Kernel Update===<br />
<br />
The following messages may be displayed during the start-up ALSA after the kernel update:<br />
Unknown hardware "foo" "bar" ...<br />
Hardware is initialized using a guess method<br />
/usr/sbin/alsactl: set_control:nnnn:failed to obtain info for control #mm (No such file or directory)<br />
<br />
Then, try to store ALSA mixer settings again:<br />
# alsactl store<br />
<br />
===HDA Analyzer===<br />
<br />
If the mappings to your audio pins(plugs) do not correspond but ALSA works fine, you could try HDA Analyzer -- a pyGTK2 GUI for HD-audio control found here: [http://www.alsa-project.org/main/index.php/HDA_Analyzer]<br />
Try tweaking the Widget Control section of the PIN nodes, to make microphones IN and headphone jacks OUT. Referring to the Config Defaults heading is a good idea.<br />
<br />
==Example configurations==<br />
The following should serve as a guide for more advanced setups. The configuration takes place in /etc/asound.conf as mentioned earlier in this article. None of the following configurations are guaranteed to be working. <br />
<br />
===Upmixing of stereo sources to 7.1 using dmix while saturated sources do not get upmixed===<br />
# 2008-11-15<br />
#<br />
# This .asoundrc will allow the following:<br />
#<br />
# - upmix stereo files to 7.1 speakers.<br />
# - playback real 7.1 sounds, on 7.1 speakers,<br />
# - allow the playback of both stereo (upmixed) and surround(7.1) sources at the same time.<br />
# - use the 6th and 7th channel (side speakers) as a separate soundcard, i.e. for headphones<br />
# (This is called the "alternate" output throughout the file, device names prefixed with 'a')<br />
# - play mono sources in stereo (like skype & ekiga) on the alterate output<br />
#<br />
# Make sure you have "8 Channels" and NOT "6 Channels" selected in alsamixer!<br />
#<br />
# Please try the following commands, to make sure everything is working as it should.<br />
#<br />
# To test stereo upmix : speaker-test -c2 -Ddefault -twav<br />
# To test surround(5.1): speaker-test -c6 -Dplug:dmix6 -twav<br />
# To test surround(7.1): speaker-test -c6 -Dplug:dmix8 -twav<br />
# To test alternative output: speaker-test -c2 -Daduplex -twav<br />
# To test mono upmix: speaker-test -c1 -Dmonoduplex -twav<br />
#<br />
#<br />
# It may not work out of the box for all cards. If it doesnt work for you, read the comments throughout the file.<br />
# The basis of this file was written by wishie of #alsa, and then modified with info from various sources by <br />
# squisher. Svenstaro modified it for 7.1 output support.<br />
<br />
#Define the soundcard to use<br />
pcm.snd_card {<br />
type hw<br />
card 0<br />
device 0<br />
}<br />
<br />
# 8 channel dmix - output whatever audio, to all 8 speakers<br />
pcm.dmix8 {<br />
type dmix<br />
ipc_key 1024<br />
ipc_key_add_uid false<br />
ipc_perm 0660<br />
slave {<br />
pcm "snd_card"<br />
rate 48000<br />
channels 8<br />
period_time 0<br />
period_size 1024<br />
buffer_time 0<br />
buffer_size 5120<br />
}<br />
<br />
# Some cards, like the "nforce" variants require the following to be uncommented. <br />
# It routes the audio to the correct speakers.<br />
# bindings {<br />
# 0 0<br />
# 1 1<br />
# 2 4<br />
# 3 5<br />
# 4 2<br />
# 5 3<br />
# 6 6<br />
# 7 7<br />
# }<br />
}<br />
<br />
# upmixing - duplicate stereo data to all 8 channels<br />
pcm.ch71dup {<br />
type route<br />
slave.pcm dmix8<br />
slave.channels 8<br />
ttable.0.0 1<br />
ttable.1.1 1<br />
ttable.0.2 1<br />
ttable.1.3 1<br />
ttable.0.4 0.5<br />
ttable.1.4 0.5<br />
ttable.0.5 0.5<br />
ttable.1.5 0.5<br />
ttable.0.6 1<br />
ttable.1.7 1<br />
}<br />
<br />
# this creates a six channel soundcard<br />
# and outputs to the eight channel one<br />
# i.e. for usage in mplayer I had to define in ~/.mplayer/config:<br />
# ao=alsa:device=dmix6<br />
# channels=6<br />
pcm.dmix6 {<br />
type route<br />
slave.pcm dmix8<br />
slave.channels 8<br />
ttable.0.0 1<br />
ttable.1.1 1<br />
ttable.2.2 1<br />
ttable.3.3 1<br />
ttable.4.4 1<br />
ttable.5.5 1<br />
ttable.6.6 1<br />
ttable.7.7 1<br />
}<br />
<br />
# share the microphone, i.e. because virtualbox grabs it by default<br />
pcm.microphone {<br />
type dsnoop<br />
ipc_key 1027<br />
slave {<br />
pcm "snd_card"<br />
}<br />
}<br />
<br />
# rate conversion, needed i.e. for wine<br />
pcm.2chplug {<br />
type plug<br />
slave.pcm "ch71dup"<br />
}<br />
pcm.a2chplug {<br />
type plug<br />
slave.pcm "dmix8"<br />
}<br />
<br />
# routes the channel for the alternative<br />
# 2 channel output, which becomes the 7th and 8th channel <br />
# on the real soundcard<br />
#pcm.alt2ch {<br />
# type route<br />
# slave.pcm "a2chplug"<br />
# slave.channels 8<br />
# ttable.0.6 1<br />
# ttable.1.7 1<br />
#}<br />
<br />
# skype and ekiga are only mono, so route left channel to the right channel<br />
# note: this gets routed to the alternative 2 channels<br />
pcm.mono_playback {<br />
type route<br />
slave.pcm "a2chplug"<br />
slave.channels 8<br />
# Send Skype channel 0 to the L and R speakers at full volume<br />
#ttable.0.6 1<br />
#ttable.0.7 1<br />
}<br />
<br />
# 'full-duplex' device for use with aoss<br />
pcm.duplex {<br />
type asym<br />
playback.pcm "2chplug"<br />
capture.pcm "microphone"<br />
}<br />
<br />
#pcm.aduplex {<br />
# type asym<br />
# playback.pcm "alt2ch"<br />
# capture.pcm "microphone"<br />
#}<br />
<br />
pcm.monoduplex {<br />
type asym<br />
playback.pcm "mono_playback"<br />
capture.pcm "microphone"<br />
}<br />
<br />
# for aoss<br />
pcm.dsp0 "duplex"<br />
ctl.mixer0 "duplex"<br />
<br />
# softvol manages volume in alsa<br />
# i.e. wine likes this<br />
pcm.mainvol {<br />
type softvol<br />
slave.pcm "duplex"<br />
control {<br />
name "2ch-Upmix Master"<br />
card 0<br />
}<br />
}<br />
<br />
#pcm.!default "mainvol"<br />
<br />
# set the default device according to the environment<br />
# variable ALSA_DEFAULT_PCM and default to mainvol<br />
pcm.!default {<br />
@func refer<br />
name { @func concat <br />
strings [ "pcm."<br />
{ @func getenv<br />
vars [ ALSA_DEFAULT_PCM ]<br />
default "mainvol"<br />
}<br />
]<br />
}<br />
}<br />
<br />
# uncomment the following if you want to be able to control<br />
# the mixer device through environment variables as well<br />
#ctl.!default {<br />
# @func refer<br />
# name { @func concat <br />
# strings [ "ctl."<br />
# { @func getenv<br />
# vars [ ALSA_DEFAULT_CTL<br />
# ALSA_DEFAULT_PCM<br />
# ]<br />
# default "duplex"<br />
# }<br />
# ]<br />
# }<br />
#}<br />
<br />
===Surround51 incl. upmix stereo & dmix, swap L/R, bad speaker position in room===<br />
<br />
Bad practice but works fine for almost everything without additional per-program/file customization:<br />
pcm.!default {<br />
type route<br />
## forwards to the mixer pcm defined below<br />
slave.pcm dmix51<br />
slave.channels 6<br />
<br />
## "Native Channels" stereo, swap left/right<br />
ttable.0.1 1<br />
ttable.1.0 1<br />
## original normal left/right commented out<br />
# ttable.0.0 1<br />
# ttable.1.1 1<br />
<br />
## route "native surround" so it still works but weaken signal (+ RL/RF swap) <br />
## because my rear speakers are more like random than really behind me<br />
ttable.2.3 0.7<br />
ttable.3.2 0.7<br />
ttable.4.4 0.7<br />
ttable.5.5 0.7<br />
<br />
## stereo => quad speaker "upmix" for "rear" speakers + swap L/R<br />
ttable.0.3 1<br />
ttable.1.2 1<br />
<br />
## stereo L+R => join to Center & Subwoofer 50%/50%<br />
ttable.0.4 0.5<br />
ttable.1.4 0.5<br />
ttable.0.5 0.5<br />
ttable.1.5 0.5<br />
## to test: "$ speaker-test -c6 -twav" and: "$ speaker-test -c2 -twav"<br />
}<br />
<br />
pcm.dmix51 {<br />
type dmix<br />
ipc_key 1024<br />
# let multiple users share<br />
ipc_key_add_uid false <br />
# IPC permissions (octal, default 0600)<br />
# I think changing this fixed something - but I'm not sure what.<br />
ipc_perm 0660 # <br />
slave {<br />
## this is specific to my hda_intel. Often hd:0 is just allready it; To find: $ aplay -L <br />
pcm surround51 <br />
# this rate makes my soundcard crackle<br />
# rate 44100<br />
# this rate stops flash in firefox from playing audio, but I don't need that<br />
rate 48000<br />
channels 6<br />
## Any other values in the 4 lines below seem to make my soundcard crackle, too<br />
period_time 0<br />
period_size 1024<br />
buffer_time 0<br />
buffer_size 4096<br />
}<br />
}<br />
<br />
==External Resources==<br />
<br />
More info can be found here:<br />
* [http://www.mjmwired.net/kernel/Documentation/sound/alsa/ALSA-Configuration.txt Advanced ALSA module configuration]<br />
* [http://alsa.opensrc.org/index.php/Main_Page Unofficial ALSA Wiki]<br />
* [http://alsa.opensrc.org/index.php/Aadebug A simple shell script to aid ALSA audio debugging]<br />
* [http://bbs.archlinux.org/viewtopic.php?id=36815 HOWTO: Compile driver from svn]<br />
* [http://gentoo-wiki.com/HOWTO_Set_up_a_system-wide_equaliser_with_ALSA_and_LADSPA HOWTO Set up a system-wide equaliser with ALSA and LADSPA]<br />
<br />
* [http://archux.com/page/setting-audio Simple instructions for setting up ALSA]<br />
<!-- vim: set ft=Wikipedia: --></div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:OSS&diff=86058
Talk:OSS
2009-12-03T00:02:29Z
<p>Keiichi: moved Talk:OSS to Talk:Open Sound System:&#32;Minor title fixes.</p>
<hr />
<div>#REDIRECT [[Talk:Open Sound System]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Talk:Open_Sound_System&diff=86057
Talk:Open Sound System
2009-12-03T00:02:29Z
<p>Keiichi: moved Talk:OSS to Talk:Open Sound System:&#32;Minor title fixes.</p>
<hr />
<div>So, I think the page as it stands is disorganized, inconsistent, and information is spread out willy-nilly. Rather then just whining about it I have refractored the entire page. Hope everyone likes it, appologies for any spelling mistakes. --[[User:Maskawanian|Maskawanian]] 17:58, 6 September 2009 (EDT)<br />
<br />
: Very well, if you want it back to disorganized jumbed shit, then be my guest Gen2ly. Don't expect future help from me in this wiki. --[[User:Maskawanian|Maskawanian]] 12:05, 14 September 2009 (EDT)<br />
<br />
:: The reason for reverting if you didn't see the note Maskawanian was mainly for not using wiki syntax. Warning boxes, custom css and lack code boxes break away from the layout of the wiki. Keeping the layout uniform across wiki pages helps people process the documentation better. Also instances of partiality. Though the organization is a good, the original put it in basic terms better. --[[User:Gen2ly|Gen2ly]] 22:53 GMT 09-14-2009<br />
<br />
:: Maskawanians' re-organized page can be found [http://wiki.archlinux.org/index.php?title=OSS&oldid=75442 here] --[[User:Gen2ly|Gen2ly]] 14:17, 20 October 2009 (EDT)<br />
<br />
----<br />
<br />
Sorry, but the section about multimedia keys is not clear at all. What should I do with those scripts? [[User:Qeek|Qeek]] 14:04, 19 June 2008 (EDT)<br />
<br />
Also of note: installing OSSv4 disables the kernel modules for sound that ALSA uses. Can someone detail how this happens and how to restore the modules after removing OSS and installing ALSA?<br />
I had to reinstall the kernel to get the modules back, so if that is the case, let's add a section for removing OSS and going back to ALSA.[[User:bloodniece|bloodniece]]<br />
* I don't think it does bloodniece, must be related to some other problem. There would be no reason to do.--[[User:Gen2ly|Gen2ly]] 15:39, 22 June 2009 (EDT)<br />
* The OSS .install defines an uninstall procedure that automatically runs when the package is uninstalled. Including re-placing any ALSA modules. Perhaps you could state that OSS conflicts with ALSA and that if you need to run ALSA later that the OSS package must be removed? --[[User:Maskawanian|Maskawanian]] 02:05, 18 July 2009 (EDT)<br />
<br />
== KDE4 and OSS ==<br />
<br />
I think we can drop the KDE4 chapter because KDE 4.2 supports OSS native.</div>
Keiichi
https://wiki.archlinux.org/index.php?title=OSS&diff=86056
OSS
2009-12-03T00:02:29Z
<p>Keiichi: moved OSS to Open Sound System:&#32;Minor title fixes.</p>
<hr />
<div>#REDIRECT [[Open Sound System]]</div>
Keiichi
https://wiki.archlinux.org/index.php?title=Open_Sound_System&diff=86055
Open Sound System
2009-12-03T00:02:29Z
<p>Keiichi: moved OSS to Open Sound System:&#32;Minor title fixes.</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|OSS}}<br />
{{i18n_entry|简体中文|OSS (简体中文)}}<br />
{{i18n_entry|Français|OSS (Français)}}<br />
{{i18n_entry|Türkçe|OSS (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
The [http://developer.opensound.com Open Sound System] is a [http://4front-tech.com commercially-supported] sound architecture that works on several UNIX-like and POSIX-compatible systems, including Linux, FreeBSD, Solaris and BeOS/Haiku.<br />
<br />
Please note that this article is not about the old OSS, which is included in the Linux kernel sources and is more than 10 years old by now.<br />
<br />
This article is about the new OSS versions (often called OSSv4). These versions were previously proprietary - OSS became open source again in July 2007, and is currently available under GPL, BSD or CDDL licenses.<br />
<br />
==Advantages and disadvantages vs. ALSA==<br />
<br />
===Advantages over ALSA (for users)===<br />
* Includes a transparent software mixer (vmix) in kernel space. This means multiple applications can access the sound device at the same time without problems.<br />
* The vmix mixer controls allow you to adjust the volume of each application individually.<br />
* Better support for some sound card models, for example for the Creative X-Fi.<br />
* Sound quality is usually better. '''reference needed to validate this statement'''<br />
* Better support for applications written for the OSS API, of course. The OSS API is widely spread and a lot of applications support it. The ALSA's OSS API emulation, however, is often buggy.<br />
<br />
===Advantages over ALSA (for developers)===<br />
* Cleaner and easier to use API.<br />
* API is much better [http://manuals.opensound.com/developer documented].<br />
* Support for sound drivers in the userspace (oss_userdev).<br />
* Portability across all supported platforms. If the application works using OSS under Linux, it will work under FreeBSD and Solaris too, for example.<br />
* Portability across operating systems. It's [http://revolf.free.fr/Alchimie-7/Alchimie7_OSS_Haiku.en.pdf easier] to port OSS to a new operating system.<br />
<br />
===Disadvantages vs. ALSA===<br />
* USB audio devices support is currently experimental and USB recording is not implemented.<br />
* Bluetooth audio devices are currently not supported.<br />
* AC'97 and HDAudio dial-up soft-modems (for example Si3055) are currently not supported.<br />
* MIDI support is currently not finished. However, you can still use MIDI with a software synthesizer like timidity or fluidsynth.<br />
* Suspend is currently not supported. You need to unload OSS (by using {{Codeline|soundoff}}) before suspending, and to reload OSS (by using {{Codeline|soundon}}) after resuming.<br />
* Automatic jack sensing currently doesn't work properly with '''some''' HDAudio-powered motherboards. This means that, depending on your motherboard model, you may have to manually switch off your speakers when plugging your earphone.<br />
<br />
==Installing==<br />
<br />
The OSS install script unload all ALSA modules automatically. If it fails for some reason to remove the modules issue the command: modprobe -r soundcore. You should balcklist the ALSA modules (to prevent them loading at boot) by editing {{Filename|/etc/rc.conf}} as described below. <br />
<br />
MODULES=(!soundcore ..............<br />
<br />
Install OSS by running:<br />
<br />
# pacman -S oss<br />
<br />
Be sure the user is part of the audio group:<br />
<br />
# gpasswd -a USERNAME audio<br />
<br />
Start OSS by running:<br />
<br />
# /etc/rc.d/oss start<br />
<br />
Add <tt>oss</tt> to your <tt>DAEMONS</tt> variable at {{Filename|/etc/rc.conf}}, so OSS is loaded automatically at each boot.<br />
<br />
In the case OSS is not able to detect your card when starting it, run :<br />
<br />
# ossdetect -v<br />
<br />
Then {{Codeline|soundoff && soundon}} to reactivate it.<br />
<br />
==Testing==<br />
<br />
You can test OSS by running:<br />
<br />
$ osstest<br />
<br />
{{Note| Beware the default volume is very loud. Avoid using earphones or lower the volume by using <tt>ossxmix</tt>. }}<br />
<br />
You should be able to hear music during the test process. If there is no audio, try to adjust the mixer as explained in the following sections and/or read the Troubleshooting sections.<br />
<br />
==Volume control==<br />
<br />
To control the volume of various devices, mixers levels will need to be set. The command line mixer is called <tt>ossmix</tt>. It's very like the BSD audio mixer (<tt>mixerctl</tt>).<br />
<br />
A graphical mixer, is available too. It's called <tt>ossxmix</tt>. It needs the optional depend <tt>gtk2</tt> to work.<br />
<br />
The <tt>ossxmix</tt> controls are explained in the following example:<br />
<br />
______________________________<br />
/ High Definition Audio ALC262 \ ----------------------------------> One tab for each sound card<br />
/________________________________\_______________________________<br />
|<br />
| [x] vmix0-enable [vmix0-rate: 48.000kHz] vmix0-channels \ The vmix (virtual mixer) special configurations<br />
| [ Stereo [v] ] |--> appear at the top. These include sampling rate<br />
| / and mixer priority. They are provided by OSS.<br />
| __codec1______________________________________________________ <br />
| | _jack_______________________________________________________ \ <br />
| | | _int-speaker____________________ __green_________________ |<br />
| | | | | | | These are your sound card configurations.<br />
| | | | _mode______ | | | | _mode______ | | | Every mixer control that is shown here is<br />
| | | | [ mix [v] ] o o [x] [ ]mute | | [ mix [v] ] o o [x] |--> provided by your sound card. Every sound card<br />
| | | | | | | | | | | specific control is shown here.<br />
| | | |________________________________| |_______________________ |<br />
| | |____________________________________________________________ |<br />
| |______________________________________________________________ /<br />
|<br />
| ___vmix0_______________________________________________________ \<br />
| | __mocp___ O O _firefox_ O O __pcm7___ O O | Here are the vmix mixer controls. These are<br />
| | | | O O | | x x | | O O | virtual mixer controls provided by OSS. Each<br />
| | | | | | x O | | | | x x | | | | O O | slider is the volume control of a different<br />
| | | o o [x] | x x | o o [x] | x x | o o [x] | O O |--> application. When one application uses the<br />
| | | | | | x x | | | | x x | | | | O O | sound card, its name is shown in the place of<br />
| | |_________| x x |_________| x x |_________| O O | the 'pcm#' labels. There are also sound level<br />
| |______________________________________________________________ | meter levels for each application.<br />
|________________________________________________________________ /<br />
<br />
====Jack Definitions====<br />
For high definition audio, ossxmix will highlight the jacks to their corresponding plug color. For 5.1 surround sound the [http://en.wikipedia.org/wiki/Audio_and_video_connector jack colors] are: <br />
{| border="1"<br />
|-<br />
! Connector Type<br />
! Purpose<br />
! OSS<br />
|- style=color:black;background:lightgreen<br />
|green TRS 3.5mm<br />
| stereo output, front channels<br />
|front<br />
|- style=color:white;background:black <br />
|black TRS 3.5mm<br />
| stereo output, rear channels<br />
|rear<br />
|- style=color:white;background:gray<br />
|grey TRS 3.5mm<br />
| stereo output, side channels<br />
|side<br />
|- style=color:black;background:gold<br />
|gold TRS 3.5mm<br />
| dual output, center and subwoofer<br />
|center/LFE<br />
|- style=color:black;background:lightblue<br />
|blue TRS 3.5mm<br />
| stereo input, line level<br />
|input<br />
|- style=color:black;background:pink <br />
|pink TS 3.5mm<br />
| mono microphone input<br />
|input<br />
|}<br />
For the most part and for most people just make sure that:<br />
# All green jacks (green and fp-green) are "front" and 75% from max volume.<br />
# All pink jacks (pink and fp-pink) are input and 50% of max to avoid distortion.<br />
<br />
===Other Mixers===<br />
<br />
Other desktop environments may have support for OSS:<br />
<br />
* Gnome - Gnome Volume Control has support for OSS. Some users report that using Gnome Volume Control is easier to setup than <tt>ossxmix</tt>.<br />
* KDE - Kmix now has preliminary support for OSS.<br />
<br />
===Saving and restoring mixer settings===<br />
<br />
If you wish to save your mixer settings manually, run {{Codeline|savemixer}}. As regular user you will need permissions to use {{Codeline|/usr/sbin/savemixer}} in the sudoers file or you can modify write permissions to {{Filename|/usr/lib/oss/etc/mixer.save}}. Alternately, the <tt>-f</tt> switch can be used to save the mixer to a file and {{Codeline|savemixer -L}} to restore it.<br />
<br />
Please note that the init scripts run these commands before shutdown/after starting to keep mixer settings across boot, so most users don't need to worry about it.<br />
<br />
==Configuring Applications for OSS==<br />
<br />
===Skype===<br />
<br />
The <tt>skype</tt> package only includes support for ALSA. To get an OSS-capable Skype, install the <tt>skype-oss</tt> package:<br />
<br />
# pacman -S skype-oss<br />
<br />
If you are using x86_64, you can get the [http://aur.archlinux.org/packages.php?ID=18312 bin32-skype-oss] package from AUR.<br />
<br />
===Wine===<br />
<br />
* Run <tt>winecfg</tt>.<br />
<br />
$ winecfg<br />
<br />
* Go to the <tt>Audio</tt> tab.<br />
<br />
* Select <tt>OSS Driver</tt>.<br />
<br />
===Gajim===<br />
By default Gajim uses {{Codeline|aplay -q}} to play a sound. To change this go in Advanced Settings and search for the {{Codeline|soundplayer}} variable. The ossplay program included in the oss package is a good replacement:<br />
<br />
{{Codeline|ossplay -qq}}<br />
<br />
===MOC===<br />
<br />
To use MOC with OSS v4.1 you must change section OSSMixerDevice to OSSMixerDevice==/dev/ossmix in your config (located in /home/yourusername/.moc).<br />
And now MOC should work with OSS v4.1.<br />
Or you can compile moc-svn package from AUR (he got support for new vmix).<br />
For issue with interface change OSSMixerChannel===to OSSMixerChannel===Any channel and after start mocp press w (change to sofware mixex) that will help and you can change the volume power.<br />
<br />
===Applications that use Gstreamer===<br />
<br />
Remove pulseaudio and gstreamer*-pulse programs and libraries.<br />
<br />
To change the gstreamer setting to output the sound to OSS instead of the default ALSA, run:<br />
<br />
gstreamer-properties<br />
<br />
Change the '''Default Output''' plugin to custom and the change the pipeline to:<br />
<br />
oss4sink<br />
<br />
For the input:<br />
<br />
oss4src<br />
<br />
{{Note|It's not certain that the input will sound better with oss4src compared to osssrc, so change this only if it improves your input sound. < confirmation on this please >}}<br />
<br />
If you are using phonon with the gstreamer backend you will need to set the environmental variable. To add to your current user:<br />
<br />
export PHONON_GST_AUDIOSINK=oss4sink<br />
<br />
Add this to your {{Filename|~/.bashrc}} to be loaded on login.<br />
<br />
===Firefox >=3.5===<br />
<br />
Firefox 3.5 introduces the <video> and <audio> tag support and can play ogg media out of the box. However, it currently can't be compiled with ALSA and OSS support at the same time. So you need to install the [http://aur.archlinux.org/packages.php?ID=28110 xulrunner-oss] package.<br />
<br />
1. Stop firefox.<br />
2. Remove the xulrunner package without dependency check: sudo pacman -Rd xulrunner<br />
3. Install xulrunner-oss package from AUR using yaourt or [http://wiki.archlinux.org/index.php/ABS ABS].<br />
4. Start firefox.<br />
<br />
===Mplayer===<br />
<br />
If you are using gui (smplayer etc.) you will find the oss output at the audio settings. Using on cli you should specify the sound output: mplayer -ao oss /some/file/to/play.mkv If you don't want to brother typing it over and over again add "ao=oss" to your config file. (/home/$USER/.mplayer/config)<br />
<br />
===Other applications===<br />
<br />
* If you can't get sound from an application not listed here, try looking at the [http://www.4front-tech.com/wiki/index.php/Configuring_Applications_for_OSSv4 Configuring Applications for OSSv4] page.<br />
* Search OSS specific packages by using {{Codeline|pacman -Ss -- '-oss'}} and [http://aur.archlinux.org/packages.php?K=-oss&start=0&PP=100| in AUR].<br />
<br />
==Troubleshooting==<br />
<br />
===Troubleshooting HDAudio devices===<br />
<br />
====Understanding why problems arise====<br />
<br />
If you have a HDAudio sound device, it's very likely that you will have to adjust some mixer settings before your sound works.<br />
<br />
HDAudio devices are very powerful in the sense that they can contain a lot of small circuits (called ''widgets'') that can be adjusted by software at any time. These controls are exposed to the mixer, and they can be used, for example, to turn the earphone jack into a sound input jack instead of a sound output jack.<br />
<br />
However, there is a side effect, mainly because the HDAudio standard is more flexible than it perhaps should be, and because the vendors often only care to get their ''official drivers'' working.<br />
<br />
Then, when using HDAudio devices, you often find disorganized mixer controls, that doesn't work at all by default, and you are forced to try every mixer control combination, until it works.<br />
<br />
====How to solve====<br />
<br />
Open <tt>ossxmix</tt> and try to change every mixer control in the ''middle area'', that contains the sound card specific controls, as explained in the previous "[[OSS#The_mixer|The mixer]]" section.<br />
<br />
You'll probably want to setup a program to record/play continously in the background (e.g. {{Codeline|ossrecord - | ossplay -}} for recording or {{Codeline|osstest -lV}} for playing), while changing mixer settings in ossxmix in the foreground.<br />
<br />
* Raise every volume control slider.<br />
* In each option box, try to change the selected option, trying all the possible combinations.<br />
* If you get noise, try to lower and/or mute some volume controls, until you find the source of the noise.<br />
<br />
Please note again that you do '''not''' need to change any controls in the ''top area'' nor in the ''bottom area'', as they are virtual <tt>vmix</tt>-related mixer controls.<br />
<br />
* Editing {{Codeline|/usr/lib/oss/conf/oss_hdaudio.conf}} uncommenting and changing ''hdaudio_noskip=0'' to a value from 0-7 can give you more jack options in ossxmix<br />
I had to edit mine to ''hdaudio_noskip=7'' for my sub/rear speaker to work on my laptop, restart oss for the changes to take effect {{Codeline|/etc/rc.d/oss restart}}<br />
<br />
===MMS sound cracking in totem===<br />
If your stream sounds with cracks or strange noise in totem like it did with me then you could try to play it with another backend like ffmpeg (mplayer). That "fixed" the issue for me. This will not fix the issue that somehow pops up in gstreamer when playing MMS streams but it will give you the option to play it with good sound quality. Playing it in mplayer is simple:<br />
# mplayer mmsh://yourstreamurl<br />
<br />
===Microphone playing through output channels===<br />
<br />
OSS by default plays back the microphone through the speakers. To disable this in ossxmix find the misc section. Check off every "input-mix-mute" to disable this.<br />
<br />
===Troubleshooting other issues===<br />
<br />
* If you get distorted sound, try lowering some volume control sliders.<br />
<br />
* If you need to change the default sound card, look at [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output here].<br />
<br />
* If you have another issues, try searching or asking for help at the [http://www.4front-tech.com/forum 4front forums].<br />
<br />
==Tips and tricks==<br />
<br />
===Using multimedia keys with OSS===<br />
An easy way to mute/unmute and increase/decrease the volume is to use the [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#ossvol {{Codeline|ossvol}} script] available in [[AUR]].<br />
<br />
Once you installed it try to toggle the sound:<br />
$ ossvol -t<br />
<br />
Type {{Codeline|ossvol -h}} for the other commands.<br />
<br />
If you don't know how to assign commands to your multimedia keys, see [[Extra Keyboard Keys]].<br />
<br />
==={{Codeline|ossvol}} troubleshooting===<br />
If you get an error like:<br />
Bad mixer control name(987) 'vol'<br />
you need to edit the script ({{Filename|/usr/bin/ossvol}}) and change the value of the {{Codeline|CHANNEL}} variable which is at the beginning of the script. For example mine is {{Codeline|CHANNEL<nowiki>=</nowiki>"vmix0-outvol"}}.<br />
<br />
*'''Note''' if you are using xbindkeys for your multimedia keys adding this<br />
"ossmix vmix0-outvol -- +1"<br />
raise volume<br />
"ossmix vmix0-outvol -- -1"<br />
lower volume<br />
<br />
to the raise/lower volume section of your .xbindkeysrc file is an easy way to adjust the volume<br />
<br />
===Changing the Sample Rate===<br />
<br />
Changing the output sample rate is not obvious at first. Sample rates can only be changed by the superuser and vmix must be unused by any programs when a change is requested. Before you follow any of these steps, ensure you are going through a receiver/amplifier and using quality speakers and not simply computer speakers. If you are only using computer speakers, don't bother changing anything here as you won't notice a difference.<br />
<br />
By default the sample rate is 48000hz. There are several conditions in which you may want to change this. This all depends on your usage patterns. You want the sample rate you are using to match the media you use the most. If your computer has to change the sampling rate of the media to suit the hardware it is likely, though not guaranteed that you will have a loss in audio quality. This is most noticable in downsampling (ie. 96000hz &rarr; 48000hz). There is an article about this issue in [http://www.stereophile.com/news/121707lucky/ "Stereophile"] which was [http://lists.apple.com/archives/coreaudio-api/2008/Jan/msg00272.html discussed] on Apple's "CoreAudio API" mailing list if you wish to learn more about this issue. <br />
<br />
Some example sample rates:<br />
<br />
* 44100hz - Sample rate of standard [http://en.wikipedia.org/wiki/Red_Book_%28audio_CD_standard%29 Red Book] audio cds.<br />
* 88000hz - Sample rate of [http://en.wikipedia.org/wiki/Super_Audio_CD SACD] high definition audio discs/downloads. It is rare that your motherboard will support this sample rate.<br />
* 96000hz - Sample rate of most high definition audio downloads. If your motherboard is an [http://en.wikipedia.org/wiki/AC%2797 AC'97] motherboard, this is likely to be your highest bitrate.<br />
* 192000hz - Sample rate of BluRay, and some (very few) high definition downloads. Support for external audio reciever equipment is limited to high end audio. Not all motherboards support this. An example of a motherboard chipset that would support this includes [http://en.wikipedia.org/wiki/Intel_High_Definition_Audio Intel HDA audio]. <br />
<br />
To check what your sample rate is currently set to:<br />
<br />
# Run <code>"ossmix | grep rate"</code>. <br />
<br />
You are likely to see <code>"vmix0-rate <decimal value> (currently 48000) (Read-only)"</code>.<br />
<br />
If you do not see a "vmix0-rate" (or "vmix1-rate", etc.) being outputted, than it probably means that vmix is disabled. In that case, OSS will use the rate requested by the program which uses the device, so this section doesn't apply. Exception: envy24(ht) cards have a setting envy24.rate which has a similiar function (see "oss_envy24" manpage). You can follow these steps, but at step 2, change with ossmix the value of "envy24.rate" as well.<br />
<br />
Steps to affect the change:<br />
<br />
# First, make sure your card is able to use the new rate. Run "ossinfo -v2" and see if the wanted rate is in the "Native sample rates" output.<br />
# As root, run <code>"/usr/lib/oss/scripts/killprocs.sh"</code>. Be aware, this will close any program that currently has an open sound channel (examples being media players, Firefox as of 3.5 if you have xulrunner-oss installed, and the gnome volume control).<br />
# After all programs occupying vmix are terminated, run as root: <code>"vmixctl rate /dev/dsp 96000"</code> replacing the rate with your desired sample rate.<br />
# Run <code>"ossmix | grep rate"</code> and check for <code>"vmix0-rate <decimal value> (currently 96000) (Read-only)"</code> to see if you were successful.<br />
<br />
===Changing the Default Sound Output===<br />
<br />
When running osstest, the first test passes for the first channel, but not for the stereo or right channel, it sounds distorted/hisses. If this is what your sound is like, then it's set to the wrong output.<br />
<br />
*** Scanning sound adapter #-1 ***<br />
/dev/oss/oss_hdaudio0/pcm0 (audio engine 0): HD Audio play front<br />
- Performing audio playback test... <br />
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)> <br />
<br />
The left sounded good, the right and stereo were the distorted ones.<br />
<br />
Let the test continue until you get a working output:<br />
/dev/oss/oss_hdaudio0/spdout0 (audio engine 5): HD Audio play spdif-out <br />
- Performing audio playback test... <br />
<left> OK <right> OK <stereo> OK <measured srate 47991.00 Hz (-0.02%)> <br />
<br />
If this passed the test on all left, right and stereo, proceed to next step.<br />
<br />
So from here:<br />
[http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output Changing_the_default_sound_output]<br />
you get the command to change the default output; change according to what works for you<br />
sudo ln -sf /dev/oss/oss_hdaudio0/spdout0 /dev/dsp_multich<br />
With 5.1 surround, chose dsp_multichannel; with 2 channel, dsp should work.<br />
<br />
===Creative Sound Blaster X-Fi Surround 5.1 SB1090 USB===<br />
<br />
This information is completely from [http://www.4front-tech.com/forum/viewtopic.php?f=3&t=3423 4front-tech.com] ; courtesy of kristian and Maxa. Thanks!!<br />
<br />
It's surprising to learn that the external card does not work just because of a missing true return value in the function write_control_value(...) in ossusb_audio.c.<br />
<br />
To fix this, a recompile of oss is nessasary, for now.<br />
<br />
1. Grab the latest oss from the Arch Repo<br />
http://repos.archlinux.org/wsvn/community/oss/repos/community-x86_64/<br />
<br />
2. Extract it<br />
<br />
3. cd to the folder, I renamed the folder to oss<br />
<br />
4. run makepkg --nobuild<br />
<br />
5. cd to src/kernel/drv/oss_usb/ ; '''edit the ossusb_audio.c''' ; '''add a Return 1''' ; should look like so and '''SAVE'''<br />
static int<br />
write_control_value (ossusb_devc * devc, udi_endpoint_handle_t * endpoint,<br />
int ctl, int l, unsigned int v)<br />
{<br />
return 1;<br />
<br />
6. do a makepkg --noextract<br />
<br />
Now you must install the package with pacman -U ; remove oss first if already installed <nowiki>(pacman -Rd oss)</nowiki><br />
<br />
===A simple systray applet===<br />
Want a applet to control volume like in GNOME? Form [http://bbs.archlinux.org/viewtopic.php?id=77440 here] I got a usable [http://pastebin.furver.se/0xflchkfz/ one]. <br />
<br />
Download [http://pastebin.furver.se/0xflchkfz/0xflchkfz.txt this] script and rename whatever you want, e.g.: ossvolctl. run the following command:<br />
$chmod +x ossvolctl<br />
#cp ossvolctl /usr/bin/ossvolctl<br />
or<br />
#install -Dm755 ossvolctl /usr/bin/ossvolctl<br />
<br />
===Start ossxmix docked to systray on startup===<br />
<br />
'''KDE 4'''<br />
<br />
Create an application launcher file named <code>ossxmix.desktop</code> in you local application launchers directory (<code>~/.local/share/applications/</code> then enter:<br />
<br />
<pre>[Desktop Entry]<br />
Name=Open Sound System Mixer<br />
GenericName=Audio Mixer<br />
Exec=ossxmix -b<br />
Icon=audio-card<br />
Categories=Application;GTK;AudioVideo;Player;<br />
Terminal=false<br />
Type=Application<br />
Encoding=UTF-8</pre><br />
<br />
To add it to autostart when loading the desktop environment:<br />
<br />
System Settings > Advanced tab > Autostart. Then click add program and choose it from the 'Multimedia' list.<br />
<br />
'''Gnome''' <br />
<br />
*As Root create a file /usr/local/bin/ossxmix_bg with the following content:<br />
<br />
<pre><br />
#!/bin/bash<br />
exec /usr/bin/ossxmix -b<br />
</pre><br />
<br />
Goto System > Preferences > Start Up Applications<br />
<br />
*Click Add, Type OSSMIX in Name field and <code>/usr/local/bin/ossxmix_bg</code> in Command field then click Add button.<br />
<br />
*Login and Logout to see the changes.<br />
<br />
===Record sound output from a program===<br />
<br />
* [http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Recording_sound_output_of_a_program Recording sound output of a program].<br />
<br />
===Suspend and Hibernation===<br />
<br />
OSS does not automatically support suspend meaning that OSS must be manually stopped prior to suspending or hibernating.<br />
<br />
OSS provides <tt>soundon</tt> and <tt>soundoff</tt> to enable and disable OSS, although any processes that use sound must be terminated first.<br />
<br />
The following script is a rather basic method of automatically unloading OSS prior to suspending and reloading afterwards.<br />
<br />
#!/bin/sh<br />
. "${PM_FUNCTIONS}"<br />
<br />
suspend_osssound()<br />
{<br />
/usr/lib/oss/scripts/killprocs.sh<br />
/usr/sbin/soundoff<br />
}<br />
<br />
resume_osssound()<br />
{<br />
/usr/sbin/soundon<br />
}<br />
<br />
case "$1" in<br />
hibernate|suspend)<br />
suspend_osssound<br />
;;<br />
thaw|resume)<br />
resume_osssound<br />
;;<br />
*) exit $NA<br />
;;<br />
esac<br />
<br />
Save the contents of the script (as root) into {{Filename|/etc/pm/sleep.d/50ossound}} and make it executable. {{Filename| chmod a+x /etc/pm/sleep.d/50ossound}}<br />
<br />
{{Note|This script is rather basic and will terminate any application directly accessing OSS, save your work prior to suspending/hibernating.}}<br />
<br />
OSS does not support suspending but we don't care or better [http://wiki.archlinux.org/index.php/Suspend_to_RAM s2ram] works fine without stopping OSS.<br />
Just create a nice suspend script to /sbin/suspend and make it executable.<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
if [ [ $EUID -ne 0 ] ]; then<br />
## Checking if you are a root or not<br />
echo "This script must be run as root" 1>&2<br />
exit 1<br />
fi<br />
<br />
s2ram -f<br />
<br />
sleep 2<br />
<br />
/etc/rc.d/oss restart 2>/tmp/oss.txt<br />
<br />
if [ $? -gt 0 ]; then<br />
echo "OSS restart failed check /tmp/oss.txt for advice"<br />
fi<br />
<br />
exit 0<br />
</pre><br />
<br />
That's all your apps are fine and suspend works. \o/<br />
<br />
{{Note | If you are using Opera you must kill operapluginwrapper before suspend. To do this add '''<nowiki>PID=`pidof operapluginwrapper`;kill -9 $PID</nowiki>''' before s2ram -f. }}<br />
<br />
===ALSA emulation===<br />
You can instruct <tt>alsa-lib</tt> to use OSS as its audio output system. This works as a sort of ALSA emulation.<br />
<br />
Note, however, that this method may introduce additional latency in your sound output, and that the emulation is not complete and doesn't work with all applications. It doesn't work, for example, with programs that try to detect devices using ALSA.<br />
<br />
So, as most applications support OSS directly, use this method only as a last resort.<br />
<br />
In the future, more complete methods may be available for emulating ALSA, such as <tt>libsalsa</tt> and <tt>cuckoo</tt>.<br />
<br />
====Instructions====<br />
<br />
* Install the <tt>alsa-plugins</tt> package.<br />
<br />
# pacman -S alsa-plugins<br />
<br />
* Edit {{Filename|/etc/asound.conf}} as follows.<br />
<br />
pcm.oss {<br />
type oss<br />
device /dev/dsp<br />
}<br />
<br />
pcm.!default {<br />
type oss<br />
device /dev/dsp<br />
}<br />
<br />
ctl.oss {<br />
type oss<br />
device /dev/mixer<br />
}<br />
<br />
ctl.!default {<br />
type oss<br />
device /dev/mixer<br />
}<br />
<br />
{{Note | If you don't want to use OSS anymore, don't forget to revert changes that you do here in {{Filename|/etc/asound.conf}}.}}<br />
<br />
==Experimental packages==<br />
<br />
===Mercurial repository version===<br />
<br />
There is a [http://aur.archlinux.org/packages.php?ID=21126 oss-mercurial package] in AUR. This package compiles and installs the latest OSS development version direcly from the Mercurial repository.<br />
<br />
You can try this package if you want to contribute code to OSS or if only a very recent change in OSS code introduced support to your sound device.<br />
<br />
If you want oss to take care of your flash sound you will need to install libflashsupport:<br />
<br />
# pacman -S libflashsupport</div>
Keiichi