https://wiki.archlinux.org/api.php?action=feedcontributions&user=Acecero&feedformat=atom
ArchWiki - User contributions [en]
2024-03-28T11:02:09Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Xorg&diff=109228
Xorg
2010-06-21T12:14:45Z
<p>Acecero: </p>
<hr />
<div>[[Category:X Server (English)]] [[Category:HOWTOs (English)]]<br />
{{i18n|Xorg}}<br />
{{Article summary start| Summary }}<br />
{{Article summary text|An all-inclusive overview about installing and managing Xorg}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|ATI}}<br />
{{Article summary wiki|Intel}}<br />
{{Article summary wiki|NVIDIA}}<br />
{{Article summary end}}<br />
'''Xorg''' is the public, open-source implementation of the X window system version 11. Since Xorg is the most popular choice among Linux users, its ubiquity has led to making it an ever-present requisite for GUI applications, resulting in massive adoption from most distributions. See the [[Wikipedia:X.Org Server|Xorg]] Wikipedia article or visit the [http://www.x.org/wiki/ Xorg website] for more details.<br />
<br />
==Installing==<br />
<br />
Before beginning, make sure you do the following:<br />
#[[pacman]] is configured and refreshed ( pacman -Sy )<br />
#Your system is up-to-date ( pacman -Su )<br />
#Take 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 />
If you have a laptop you may also want the synaptics driver<br />
# pacman -S xf86-input-synaptics<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<br />
# pacman -S xf86-video-yourCard <br />
<br />
To discover which card is in your system:<br />
$ lspci | grep "VGA"<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.<br />
<br />
{{Note| Current versions of '''Xorg''' effectively '''auto-detects most hardware without previous configuration'''. Because of these improvements, it is recommended that you start without a {{Filename|xorg.conf}} and add sections only as required.<br />
<br />
It is advisable that you use an xorg.conf only '''if you encounter problems with your configuration or if you want to enable some additional settings'''.}}<br />
<br />
<br /><br />
<br />
X server uses udev instead of HAL for input device detection and xorg.conf InputClass configuration<br />
<br />
Follow the directions in [[#Running Xorg]] to determine if configuring Xorg is a necessary. If '''X''' works as expected and you would like to have a {{Filename|xorg.conf}} file see [[#From the Xorg.0.log file|creating an xorg.conf from Xorg's log file]]. If none of the automatic configurations work keep one and tweak it. For help, look at the [[#Troubleshooting]] section and try to google. Remember log files are there to help you figure out what is wrong.<br />
<br /><br /><br />
'''Manual Configuration:'''<br />
Sometimes the automatic configuration is not enough or may be incorrect. It is recommended to put user configurations in {{Filename|xorg.conf}} and not in {{Filename|xorg.conf.d}}<br />
<br /><br /><br />
{{Warning|Generally, users should '''not''' (need to) configure udev or add udev rules to enable device detection in X. While supported, users are discouraged of putting X.org-specific configuration into udev rules files. Refer to {{Codeline|man xorg.conf}} }}<br />
<br />
===Automatic Configuration===<br />
<br />
====Xorg -configure====<br />
The use of this command will cause the Xorg server to loads all the video driver modules, probes for available hardware, and write an initial xorg.conf file based on what was detected.<br/><br/><br />
As root run:<br />
# Xorg -configure<br />
The command automatically generates {{Filename|/root/xorg.conf.new}}. <br><br />
To change the location of the file, append the file location as an argument. Example:<br />
# Xorg -configure /home/user/xorg.conf.new<br />
and copy it to {{Filename|/etc/X11/xorg.conf}}.<br />
<br />
{{Note| If you are using the binary [[Nvidia]] or [[ATI Catalyst]] drivers you may need to modify xorg.conf and change {{codeline| Driver "nv"}} to the appropriate driver. For example: nvidia or fglrx}}<br />
<br />
{{Note| X and Xorg are the same command. There is a symlink linking X -> Xorg}}<br />
<br />
====nvidia-xconfig====<br />
NVIDIA users can also use<br />
# nvidia-xconfig<br />
when they have official nvidia drivers [[NVIDIA|installed]].<br />
<br />
{{Note|This currently does not work with Xorg 1.8. They are encouraged to use the '''/etc/X11/xorg.conf.d/20-nvidia.conf''' that provides a minimal configuration file so that the Nvidia driver is initiated.}}<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 {{Filename|xorg.conf}} file.<br />
<br />
===Input Hot-plugging===<br />
Since version''' 1.8''' Xorg-server uses udev for device detection. The following will disable udev.<br />
<br />
Section "ServerFlags"<br />
Option "AutoAddDevices" "False"<br />
EndSection<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 Udev instead of xorg.conf. '''This is not recommended!''' See: [[Xorg Input Hotplugging]]}}<br />
<br />
===xorg.conf.d ===<br />
The X server now supports a configuration directory /etc/X11/xorg.conf.d. Files with the suffix .conf in this directory are parsed by the X server on startup and treated like a part of the traditional xorg.conf configuration file. Files in this directory may contain one or more sections; for a description of the options in a section and the general layout please refer to xorg.conf(5). Files in the /etc/X11/xorg.conf.d directory are parsed in-order before the xorg.conf has been parsed fully and precedence is given to the xorg.conf, then to the last configuration entry where applicable. The X server essentially treats the collection of configuration files as one big file with entries from xorg.conf at the end. Users are encouraged to put custom configuration into /etc/X11/xorg.conf and leave the directory for configuration snippets provided by the distribution.<br />
<br />
===InputClasses ===<br />
'''Taken from: https://fedoraproject.org/wiki/Input_device_configuration'''<br />
<br />
InputClasses are a new type of configuration section that does not apply to a single device but rather to a class of devices, including hotplugged devices. An InputClass section's scope is limited by the ''matches'' specified &ndash; to apply to an input device, all matches must apply to a device. An example InputClass section is provided below:<br />
<br />
<pre><br />
Section "InputClass"<br />
Identifier "touchpad catchall"<br />
MatchIsTouchpad "on"<br />
Driver "synaptics"<br />
EndSection<br />
</pre><br />
<br />
If this snippet is present in the {{Filename|xorg.conf}} or xorg.conf.d, any touchpad present in the system is assigned the synaptics driver. Note that due to precedence order (alphanumeric sorting of xorg.conf.d snippets) the Driver setting overwrites previously set driver options &ndash; the more generic the class, the earlier it should be listed. The default snippet shipped with the xorg-x11-drv-Xorg package is {{Filename|00-evdev.conf}} and applies the evdev driver to all input devices.<br />
<br />
The match options specify which devices a section may apply to. To match a device, all match lines must apply. The following match lines are supported (with examples):<br />
* {{Codeline|MatchIsPointer}}, {{Codeline|MatchIsKeyboard}}, {{Codeline|MatchIsTouchpad}}, {{Codeline|MatchIsTouchscreen}}, {{Codeline|MatchIsJoystick}} &ndash; boolean options to apply to a group of devices.<br />
* {{Codeline|MatchProduct "foo&#124;bar"}}: match any device with a product name containing either "foo" or "bar"<br />
* {{Codeline|MatchVendor "foo&#124;bar&#124;baz"}}: match any device with a vendor string containing either "foo", "bar", or "baz"<br />
* {{Codeline|MatchDevicePath "/dev/input/event*"}}: match any device with a device path matching the given patch (see fnmatch(3) for the allowed pattern)<br />
* {{Codeline|MatchTag "foo&#124;bar"}}: match any device with a tag of either "foo" or "bar". tags may be assigned by the config backend &ndash; udev in our case &ndash; to label devices that need quirks or special configuration.<br />
<br />
An example section for user-specific configuration is:<br />
<br />
<pre><br />
Section "InputClass"<br />
Identifier "lasermouse slowdown"<br />
MatchIsPointer "on"<br />
MatchProduct "Lasermouse"<br />
MatchVendor "LaserMouse Inc."<br />
Option "ConstantDeceleration" 20<br />
EndSection<br />
</pre><br />
<br />
This section would match a pointer device containing "Lasermouse" from "Lasermouse Inc." and apply a constant deceleration of 20 on this device &ndash; slowing it down by factor 20.<br />
<br />
Some devices may get picked up by the X server when they really shouldn't be. These devices can be configured to be ignored:<br />
<br />
<pre><br />
Section "InputClass"<br />
Identifier "no need for accelerometers in X"<br />
MatchProduct "accelerometer"<br />
Option "Ignore" "on"<br />
EndSection<br />
</pre><br />
<br />
====Example configurations====<br />
<br />
The following subsections describe example configurations for commonly used configuration options. Note that if you use a desktop environment such as GNOME or KDE, options you set in the xorg.conf ''may'' get overwritten with user-specific options upon login.<br />
<br />
=====Example: Wheel Emulation (for a Trackpoint)=====<br />
<br />
If you own a Computer with a Trackpoint (a Thinkpad for example) you can add the following to the {{Filename|xorg.conf}} to use the middle Button to emulate a mouse wheel:<br />
<br />
<pre><br />
Section "InputClass"<br />
Identifier "Wheel Emulation"<br />
MatchIsPointer "on"<br />
MatchProduct "TrackPoint"<br />
Option "EmulateWheelButton" "2"<br />
Option "EmulateWheel" "on"<br />
EndSection<br />
</pre><br />
<br />
For full support of TrackPoints (including horizontal scrolling) you can use the following:<br />
<pre><br />
Section "InputClass"<br />
Identifier "Trackpoint Wheel Emulation"<br />
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"<br />
MatchDevicePath "/dev/input/event*"<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
Option "Emulate3Buttons" "false"<br />
Option "XAxisMapping" "6 7"<br />
Option "YAxisMapping" "4 5"<br />
EndSection<br />
</pre><br />
<br />
=====Example: Tap-to-click=====<br />
Tap-to-click can be enabled in the mouse configuration dialog (in the touchpad tab) but if you need tapping enabled at gdm already, the following snippet does it for you:<br />
<pre><br />
Section "InputClass"<br />
Identifier "tap-by-default"<br />
MatchIsTouchpad "on"<br />
Option "TapButton1" "1"<br />
EndSection<br />
</pre><br />
<br />
=====Example: Keyboard layout and model on Acer 5920G Laptop=====<br />
<br />
Keayboard model and layout may be set in the file /etc/X11/xorg.conf.d/keyboard.conf or any other .conf file in the same directory.<br />
* {{Codeline|MatchIsKeyboard "yes"}}: set the input device to a keyboard<br />
* {{Codeline|Option "XkbLayout" "be"}}: set the keyboard layout to belgian. You may replace {{Codeline|be}} with whatever layout you have.<br />
* {{Codeline|Option "XkbModel" "acer_laptop"}}: set the keyboard model to an Acer laptop keyboard. You may replace {{Codeline|acer_laptop}} with your actual keyboard layout.<br />
<br />
<pre><br />
Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "be"<br />
Option "XkbModel" "acer_laptop"<br />
EndSection<br />
</pre><br />
<br />
===Monitor settings===<br />
Nearly all LCD monitors and some CRTs provide extended display identification data (EDID). The EDID the includes manufacturer name and serial number, product type, display size, sync rates, and other information. This allows Xorg to detect the correct values to use for your monitor. If Xorg correctly auto-detects you monitor's settings no additional configuration is going to be needed. This will be the case for most users.<br />
<br />
However, if Xorg fails at detecting the correct values or does not detect anything at you will likely have to set the Horizontal Sync and the Refresh Rate. Look these values up in your monitor's manual before setting them. Failure to do so, may cause irreversible '''damage'''!<br />
<br />
Example Configuration:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Unknown"<br />
HorizSync 28-64 '''#Horizontal Sync Rate'''<br />
VertRefresh 60 '''#Refresh Rate'''<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24 '''#Color Depth'''<br />
Modes "1280x1024" "1024x768" "800x600" '''#Resolution'''<br />
EndSubSection<br />
EndSection<br />
<br />
==== Display Size and DPI ====<br />
<br />
'''Q:''' How does the Xorg servers calculate DPI? <br /><br />
'''A:''' The DPI of the X server is determined in the following manner:<br />
<br />
# The -dpi command line option has highest priority.<br />
# If this is not used, the DisplaySize setting in the X config file is used to derive the DPI, given the screen resolution.<br />
# If no DisplaySize is given, the monitor size values from DDC are used to derive the DPI, given the screen resolution.<br />
# If DDC does not specify a size, 75 DPI is used by default.<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 />
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 />
It sometimes helps to add the virtual size to your Screen options summing the two monitors resolution:<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "ATI"<br />
Monitor "One"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1680x1050"<br />
Virtual 3360 2100 <br />
EndSubSection<br />
EndSection<br />
<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 />
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. (See Above)<br />
<br />
=====Through xorg.conf (deprecated)=====<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 />
====Disable mousekeys permanently====<br />
To disable the mousekeys permanenly and prevent Shift+NumLock or Shift+Alt+NumLock to enable, edit:<br />
/usr/share/X11/xkb/compat/complete<br />
and comment out:<br />
augment "mousekeys"<br />
augment "accessx(full)"<br />
<br />
===Keyboard Settings===<br />
To see a full list of keyboard models, layouts, variants and options, open:<br />
/usr/share/X11/xkb/rules/xorg.lst<br />
<br />
To set the keymap for the current Xorg session:<br />
# setxkbmap dvorak<br />
<br />
To make the change permanent add the following to xorg.conf<br />
<pre><br />
Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "dvorak"<br />
EndSection<br />
</pre><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 />
===DPMS===<br />
DPMS (Display Power Management Signaling) is a technology that allows power saving behaviour of monitors when the computer is not in use. This will allow you to have you monitors automatically go into standby after a predefined period of time.<br />
See: [[DPMS]]<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 /><br />
'''Please post input hotplugging configurations only, otherwise note that your config is not using input hotplugging.''' (Xorg 1.8 = udev; Xorg 1.7 = hal)<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 />
{{Note| If you are using Xorg 1.8 you do not need to add HAL to DAEMONS array or start hal.}}<br />
<br />
WARNING! Printer might not work without hal in the daemons array in /etc/rc.conf for Xorg 1.8. Add it after dbus.<br />
<br />
Add [[HAL|hal]] to the [[DAEMONS]] array of {{Filename|/etc/[[rc.conf]]}}:<br />
DAEMONS=(syslog-ng dbus '''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 />
{{Note|If you just installed Xorg, there is an empty .xinitrc file in your $HOME that you need to either delete or edit in order for X to start properly. If you do not do this X will show a blank screen with what appears to be no errors in your Xorg.0.log. Simply deleting it will get it running with a default X environment.}}<br />
<br />
The default X environment is rather bare, and you will typically seek to install window managers or desktop environments to supplement X. A list of suitable options is present in [[Common Applications#Window Managers (WM)]].<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 />
==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 />
<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 />
===Nested X session===<br />
To run a nested session of another desktop environment:<br />
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1<br />
<br />
This will launch a Window Maker session in a 1024 by 768 window within your current X session.<br />
<br />
==Troubleshooting==<br />
===Common problems===<br />
If Xorg will not start, or the screen is completely black, the keyboard and mouse is not working, etc., first take these simple steps:<br />
*Check the log file: {{codeline|cat /var/log/Xorg.0.log}}<br />
*Make sure that HAL has been started prior to running Xorg:<br />
# /etc/rc.d/hal start<br />
*Install input driver (keyboard, mouse, joystick, tablet, etc...):<br />
# pacman -S xf86-input-evdev<br />
*Finally, search for common problems in [[ATI]], [[Intel]] and [[NVIDIA]] articles.<br />
<br />
===Ctrl-Alt-Backspace doesn't work===<br />
There are two ways of restoring {{keypress|Ctrl}}+{{keypress|Alt}}+{{keypress|Backspace}}; with and without input-hotplugging. Using hot-plugging is recommended.<br />
<br />
====With input hot-plugging====<br />
In most situations, using user-specific configuration might be preferred over system-wide.<br />
<br />
{{Note|On GNOME, this system-wide setting has no effect. Every user must go to System -> Preferences -> Keyboard -> Layouts -> Options [button] -> Key sequence to kill the X server [expand with triangle on left]. Then check Ctrl + Alt + Backspace option.}}<br />
<br />
=====System-wide=====<br />
Add<br />
Option "XkbOptions" "terminate:ctrl_alt_bksp"<br />
to InputClass as so:<br />
Section "InputClass"<br />
Identifier "Keyboard Defaults"<br />
MatchIsKeyboard "yes"<br />
Option "XkbLayout" "dvorak"<br />
Option "XkbOptions" "terminate:ctrl_alt_bksp"<br />
EndSection<br />
<br />
=====User-specific=====<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 also works in ~/.bashrc.}}<br />
<br />
====Without input hot-plugging====<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 />
Option "XkbOptions" "terminate:ctrl_alt_bksp" <br />
to {{codeline|InputDevice}} section for keyboard.<br />
<br />
===Translating xorg.conf rules to HAL format===<br />
The syntax for HAL {{filename|.fdi}} files is similar to xorg.conf. For instance:<br />
Option "RightEdge" "5300"<br />
becomes:<br />
<merge key="input.x11_options.RightEdge" type="string">5300</merge><br />
<br />
===Apple keyboard issues===<br />
:''See: [[Apple Keyboard]]''<br />
<br />
===Touchpad tap-click issues===<br />
:''See: [[Synaptics]]''<br />
<br />
===Extra mouse buttons not recognized===<br />
:''See: [[Get All Mouse Buttons Working]]''<br />
<br />
===X clients started with "su" fail===<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 {{filename|/etc/pam.d/su}}. {{codeline|pam_xauth}} will then properly set environment variables and handle {{codeline|xauth}} keys.<br />
<br />
===Missing libraries===<br />
*Error message: "''libX... does not exist''"<br />
In most cases, all you need to do is take the name of the library (e.g., {{filename|libXau.so.1}}), convert it all to lowercase, remove the extension, and install it:<br />
# pacman -S libxau<br />
<br />
===Packages fail to build; missing X11 includes===<br />
Reinstall the packages xproto and libx11:<br />
# pacman -S xproto libx11<br />
<br />
===Program requests "font '(null)'"===<br />
*Error message: "''unable to load font `(null)'.''"<br />
Some programs only work with bitmap fonts. 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 />
$ xdpyinfo | grep resolution<br />
and use what is closer to you (75 or 100 instead of XX)<br />
# pacman -S xorg-fonts-XXdpi<br />
<br />
===Frame-buffer mode problems===<br />
If X fails 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 />
uninstall fbdev:<br />
# pacman -R xf86-video-fbdev<br />
<br />
===DRI with Matrox cards stops working===<br />
If you use a Matrox card and DRI stops working after upgrading to Xorg, try adding the line:<br />
Option "OldDmaInit" "On"<br />
to the Device section that references the video card in xorg.conf.<br />
<br />
===Recovery: disabling Xorg before GUI login===<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 {{filename|rc.conf}} is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.<br />
<br />
*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 a faulty {{filename|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 can use the Arch live CD. Boot up the live CD and login as root. You need a mount point, such as {{filename|/mnt}}, and you need to know the name of the partition you want to mount.<br />
<br />
:You can use the command,<br />
# fdisk -l<br />
:to see your partitions. Usually, the one you want will be resembling {{filename|/dev/sda1}}. Then, to mount this to {{filename|/mnt}}, use <br />
# mount /dev/sda1 /mnt<br />
<br />
:Then your file-system will show up under {{filename|/mnt}}. So your {{filename|rc.conf}} file, for example, would be in {{filename|/mnt/etc/rc.conf}}. From here you can delete the {{codeline|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 Catalyst]]<br />
** [[NVIDIA]]<br />
* [[Desktop Environment]]s<br />
** [[KDE]]<br />
** [[GNOME]]<br />
** [[Xfce]]<br />
** [[Enlightenment]]<br />
** [[LXDE]]<br />
* Window managers<br />
** [[Awesome3]]<br />
** [[Fluxbox]]<br />
** [[Openbox]]<br />
* [[Get All Mouse Buttons Working]]<br />
* [[Compiz]]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Daemons&diff=108445
Daemons
2010-06-10T07:28:54Z
<p>Acecero: </p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Daemon}}<br />
<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 or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your CPU frequency if the system has nothing to do.<br />
<br />
==Starting on Boot==<br />
A default install of Arch Linux will leave you with very few services (or daemons) enabled during boot. You can add or remove services by editing the DAEMONS array in your [[rc.conf]] file. It will initially look something like this:<br />
DAEMONS=(syslog-ng network netfs crond)<br />
<br />
They will start in the order you have them listed. You can disable one and keep it in the array by prefixing it with an exclamation mark (!). You can also have them start in the background by adding an at (@) symbol in front of it.<br />
<br />
==Manual Starting and Stopping==<br />
You can see what service start up scripts you have by looking in your /etc/rc.d/ directory. You can also manually start, stop, and restart them by issuing<br />
/etc/rc.d/''daemonname'' {start|stop|restart}<br />
<br />
They may also have other commands, check with the documentation.<br />
<br />
==Essentials==<br />
You do not have to add any more services, if you do not feel the need. However, a typical desktop user will add at least [[CUPS]] and [[HAL]]. As you install new services, you will have to manually add them to the DAEMONS array in /etc/rc.conf. (The DAEMONS array is at the end of the default rc.conf file.)<br />
<br />
{{Note|Some services will start other services. For example, HAL will automatically start [[D-Bus]] and [[Acpid]]. Keep in mind, as it has been mentioned elsewhere, that HAL would sometimes fail to automatically start D-Bus, without the user's awareness. It is considered good practice to add D-Bus explicitly before HAL and not to "background" it. This will let the user know during bootup if it fails to start, before other services dependent on D-Bus break.|}}<br />
<br />
==Starting Daemons in Background==<br />
This is helpful for starting a service and letting the next service start before the previous one has finished. Which services to start background depends on your needs. Do not background anything you need immediately. Here is an example:<br />
DAEMONS=(syslog-ng gensplash network netfs dbus hal @avahi-daemon @samba @crond @openntpd @cups @mpd)<br />
<br />
Starting ''openntpd'' in the background could lead to synchronization errors between the actual time and the time stored on your computer. If you recognize an increasing time difference between your desktop clock and the actual time, try to start the ''openntpd'' daemon normally and not in the background.<br />
<br />
==ArchLinux Daemon Manager GUI==<br />
You can install [http://img130.imageshack.us/img130/4200/aldmgui03.png ArchLinux Daemon Manager] from [http://aur.archlinux.org/packages.php?ID=29606 AUR] and you will be able to easily change settings in /etc/rc.conf using GTK aplication aldm-gui or commandline application aldm.<br />
<br />
==List of Daemons==<br />
(Here is a list of daemons, although it might not be complete. Please feel free to add any missing daemons here, in alphabetical order.)<br />
{| border="1"<br />
|<b>Daemon</b>||<b>Description</b><br />
|-<br />
|[[Avahi|avahi-daemon]]||<br />
|-<br />
|[[Avahi|avahi-dnsconfd]]||<br />
|-<br />
|crond||Daemon to schedule and time events.<br />
|-<br />
|[[CUPS|cups]]||Common UNIX Printing System daemon.<br />
|-<br />
|[[D-Bus|dbus]]||Message bus system for software communication.<br />
|-<br />
|[[FAM|fam]]||File Alteration Monitor.<br />
|-<br />
|gensplash||<br />
|-<br />
|[[HAL|hal]]||Hardware Abstraction Layer.<br />
|-<br />
|[[MPD|mpd]]||Music Player Daemon.<br />
|-<br />
|[[MySQL|mysqld]]||MySQL database server.<br />
|-<br />
|netfs||Mounts network file systems.<br />
|-<br />
|network||<br />
|-<br />
|networkmanager||<br />
|-<br />
|[[NTPD|ntpd]]||Network Time Protocol daemon (client and server).<br />
|-<br />
|[[OpenNTP|openntpd]]||alternate Network Time Protocol daemon (client and server).<br />
|-<br />
|[[Pure-FTPD|pure-ftpd]]||FTP server.<br />
|-<br />
|[[Rsyslog|rsyslogd]]||The latest version of a system logger.<br />
|-<br />
|[[Samba|samba]]||File and print services for Microsoft Windows clients.<br />
|-<br />
|sensors||Hardware (temperature, fans etc) monitoring.<br />
|-<br />
|[[OpenSSH|sshd]]||OpenSSH (secure shell) daemon.<br />
|-<br />
|stbd ||This daemon was previously necessary for gnome-system-tools. However, as of gnome-tools 2.28, it is no longer needed.<br />
|-<br />
|syslogd||This was the older and basic system logger.<br />
|-<br />
|[[Syslog-ng|syslog-ng]]||System logger next generation.<br />
|-<br />
|[[Vsftpd|vsftpd]]||FTP server.<br />
|-<br />
|}</div>
Acecero
https://wiki.archlinux.org/index.php?title=Daemons&diff=107127
Daemons
2010-05-24T18:42:23Z
<p>Acecero: More clean up.</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Daemon}}<br />
<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 or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your CPU frequency if the system has nothing to do.<br />
<br />
==Starting on Boot==<br />
A default install of Arch Linux will leave you with very few services (or daemons) enabled during boot. You can add or remove services by editing the daemon array line in your [[rc.conf]] file. It will initially look something like this:<br />
DAEMONS=(syslog-ng network netfs crond)<br />
<br />
They will start in the order you have them listed. You can disable one and keep it in the array by prefixing it with an exclamation mark (!). You can also have them start in the background by adding an at (@) symbol in front of it.<br />
<br />
==Manual Starting and Stopping==<br />
You can see what service start up scripts you have by looking in your /etc/rc.d/ directory. You can also manually start, stop, and restart them by issuing<br />
/etc/rc.d/''daemonname'' {start|stop|restart}<br />
<br />
They may also have other commands, check with the documentation.<br />
<br />
==Essentials==<br />
You do not have to add any more services, if you do not feel the need. However, the typical desktop users may add [[CUPS]], [[HAL]], and [[ALSA]], if they wish. As you install new services, you will have to manually add them to the daemon array in rc.conf.<br />
<br />
{{Note|Some services will start other services. For example, HAL will automatically start [[D-Bus]] and [[Acpid]]. Keep in mind, as it has been mentioned elsewhere, that HAL would sometimes fail to automatically start D-Bus, without the user's awareness. It is considered good practice to add D-Bus explicitly before HAL and not to "background" it. This will let the user know during bootup if it fails to start, before other services dependent on D-Bus break.|}}<br />
<br />
==Starting Daemons in Background==<br />
This is helpful for starting a service and letting the next service start before the previous one has finished. Which services to start background depends on your needs. Do not background anything you need immediately. Here is an example:<br />
DAEMONS=(syslog-ng gensplash network netfs dbus hal @avahi-daemon @samba @crond @alsa @openntpd @cups @mpd)<br />
<br />
Starting ''openntpd'' in the background could lead to synchronization errors between the actual time and the time stored on your computer. If you recognize an increasing time difference between your desktop clock and the actual time, try to start the ''openntpd'' daemon normally and not in the background.<br />
<br />
==ArchLinux Daemon Manager GUI==<br />
You can install [http://img130.imageshack.us/img130/4200/aldmgui03.png ArchLinux Daemon Manager] from [http://aur.archlinux.org/packages.php?ID=29606 AUR] and you will be able to easily change settings in /etc/rc.conf using GTK aplication aldm-gui or commandline application aldm.<br />
<br />
==List of Daemons==<br />
(Here is a list of daemons, although it might not be complete. Please feel free to add any missing daemons here, in alphabetical order.)<br />
{| border="1"<br />
|<b>Daemon</b>||<b>Description</b><br />
|-<br />
|alsa||Enables sound with the Advanced Linux Sound Architecture.<br />
|-<br />
|avahi-daemon||<br />
|-<br />
|avahi-mdns||<br />
|-<br />
|crond||Daemon to schedule and time events.<br />
|-<br />
|cups||Common UNIX Printing System daemon.<br />
|-<br />
|dbus||Message bus system for software communication.<br />
|-<br />
|gensplash||<br />
|-<br />
|hal||Hardware Abstraction Layer<br />
|-<br />
|mpd||<br />
|-<br />
|mysqld||Daemon to connect to MySQL databases<br />
|-<br />
|netfs||Creates network file system.<br />
|-<br />
|network||<br />
|-<br />
|networkmanager||<br />
|-<br />
|openmtpd||<br />
|-<br />
|rsyslogd||The latest version of a system logger.<br />
|-<br />
|samba||<br />
|-<br />
|stbd ||This daemon was previously necessary for gnome-system-tools. However, as of gnome-tools 2.28, it is no longer needed.<br />
|-<br />
|syslogd||This was the older and basic system logger.<br />
|-<br />
|syslog-ng||System logger next generation.<br />
|-<br />
|}</div>
Acecero
https://wiki.archlinux.org/index.php?title=Daemons&diff=107126
Daemons
2010-05-24T18:30:36Z
<p>Acecero: Did some clean up around the HAL and D-BUS statement. Added a "note box" to make it apparent.</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Daemon}}<br />
<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 or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your CPU frequency if the system has nothing to do.<br />
<br />
==Starting on Boot==<br />
A default install of Arch Linux will leave you with very few services (or daemons) enabled during boot. You can add or remove services by editing the the daemon array line in your [[rc.conf]] file. It will initially look something like this:<br />
DAEMONS=(syslog-ng network netfs crond)<br />
<br />
They will start in the order you have them listed. You can disable one and keep it in the array by prefixing it with an exclamation mark (!). You can also have them start in the background by adding an at (@) symbol in front of it.<br />
<br />
==Manual Starting and Stopping==<br />
You can see what service start up scripts you have by looking in your /etc/rc.d/ directory. You can also manually start, stop, and restart them by issuing<br />
/etc/rc.d/''daemonname'' {start|stop|restart}<br />
<br />
They may also have other commands, check with the documentation.<br />
<br />
==Essentials==<br />
You do not have to add any more services, if you do not feel the need. However, the typical desktop users may add [[CUPS]], [[HAL]], and [[ALSA]], if they wish. As you install new services, that you will have to manually add them to rc.conf.<br />
<br />
{{Note|Some services will start other services. For example, HAL will automatically start [[D-Bus]] and [[Acpid]]. Keep in mind, as it has been mentioned elsewhere, that HAL would sometimes fail to automatically start D-Bus, without the user's awareness. It is considered good practice to add D-Bus explicitly before HAL and not to "background" it. This will let the user know during bootup if it fails to start, before other services dependent on D-Bus break.|}}<br />
<br />
==Starting Daemons in Background==<br />
This is helpful for starting a service and letting the next service start before the previous one has finished. Which services to start background depends on your needs. Do not background anything you need immediately. Here is an example:<br />
DAEMONS=(syslog-ng gensplash network netfs dbus hal @avahi-daemon @samba @crond @alsa @openntpd @cups @mpd)<br />
<br />
Starting ''openntpd'' in the background could lead to synchronization errors between the actual time and the time stored on your computer. If you recognize an increasing time difference between your desktop clock and the actual time, try to start the ''openntpd'' daemon normally and not in the background.<br />
<br />
==ArchLinux Daemon Manager GUI==<br />
You can install [http://img130.imageshack.us/img130/4200/aldmgui03.png ArchLinux Daemon Manager] from [http://aur.archlinux.org/packages.php?ID=29606 AUR] and you will be able to easily change settings in /etc/rc.conf using GTK aplication aldm-gui or commandline application aldm.<br />
<br />
==List of Daemons==<br />
(Here is a list of daemons, although it might not be complete. Please feel free to add any missing daemons here, in alphabetical order.)<br />
{| border="1"<br />
|<b>Daemon</b>||<b>Description</b><br />
|-<br />
|alsa||Enables sound with the Advanced Linux Sound Architecture.<br />
|-<br />
|avahi-daemon||<br />
|-<br />
|avahi-mdns||<br />
|-<br />
|crond||Daemon to schedule and time events.<br />
|-<br />
|cups||Common UNIX Printing System daemon.<br />
|-<br />
|dbus||Message bus system for software communication.<br />
|-<br />
|gensplash||<br />
|-<br />
|hal||Hardware Abstraction Layer<br />
|-<br />
|mpd||<br />
|-<br />
|mysqld||Daemon to connect to MySQL databases<br />
|-<br />
|netfs||Creates network file system.<br />
|-<br />
|network||<br />
|-<br />
|networkmanager||<br />
|-<br />
|openmtpd||<br />
|-<br />
|rsyslogd||The latest version of a system logger.<br />
|-<br />
|samba||<br />
|-<br />
|stbd ||This daemon was previously necessary for gnome-system-tools. However, as of gnome-tools 2.28, it is no longer needed.<br />
|-<br />
|syslogd||This was the older and basic system logger.<br />
|-<br />
|syslog-ng||System logger next generation.<br />
|-<br />
|}</div>
Acecero
https://wiki.archlinux.org/index.php?title=Daemons&diff=106812
Daemons
2010-05-21T16:34:27Z
<p>Acecero: </p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Daemon}}<br />
<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 or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your CPU frequency if the system has nothing to do.<br />
<br />
==Starting on Boot==<br />
A default install of Arch Linux will leave you with very few services (or daemons) enabled during boot. You can add or remove services by editing the the daemon array line in your [[rc.conf]] file. It will initially look something like this:<br />
DAEMONS=(syslog-ng network netfs crond)<br />
<br />
They will start in the order you have them listed. You can disable one and keep it in the array by prefixing it with an exclamation mark (!). You can also have them start in the background by adding an at (@) symbol in front of it.<br />
<br />
==Manual Starting and Stopping==<br />
You can see what service start up scripts you have by looking in your /etc/rc.d/ directory. You can also manually start, stop, and restart them by issuing<br />
/etc/rc.d/''daemonname'' {start|stop|restart}<br />
<br />
They may also have other commands, check with the documentation.<br />
<br />
==Essentials==<br />
You do not have to add anymore services if you do not feel the need. The typical desktop user may want to add [[CUPS]], [[HAL]], and [[ALSA]]. Note, some services will start other services. For example HAL will automatically start [[D-Bus]] and [[Acpid]]. It has been mentioned that HAL sometimes fails to automatically start D-Bus, without the user knowing. It is considered good practice to add D-Bus explicitly before HAL and not to be backgrounded. This will let the user know if it fails to start, before other services dependent on D-Bus break.<br />
<br />
Keep in mind as you install new services you will have to manually add them to rc.conf.<br />
<br />
==Starting Daemons in Background==<br />
This is helpful for starting a service and letting the next service start before the previous one has finished. Which services to start background depends on your needs. Do not background anything you need immediately. Here is an example:<br />
DAEMONS=(syslog-ng gensplash network netfs dbus hal @avahi-daemon @samba @crond @alsa @openntpd @cups @mpd)<br />
<br />
Starting ''openntpd'' in the background could lead to synchronization errors between the actual time and the time stored on your computer. If you recognize an increasing time difference between your desktop clock and the actual time, try to start the ''openntpd'' daemon normally and not in the background.<br />
<br />
==ArchLinux Daemon Manager GUI==<br />
You can install [http://img130.imageshack.us/img130/4200/aldmgui03.png ArchLinux Daemon Manager] from [http://aur.archlinux.org/packages.php?ID=29606 AUR] and you will be able to easily change settings in /etc/rc.conf using GTK aplication aldm-gui or commandline application aldm.<br />
<br />
==List of Daemons==<br />
(Here is a list of daemons, although it might not be complete. Please feel free to add any missing daemons here, in alphabetical order.)<br />
{| border="1"<br />
|<b>Daemon</b>||<b>Description</b><br />
|-<br />
|alsa||Enables sound with the Advanced Linux Sound Architecture.<br />
|-<br />
|avahi-daemon||<br />
|-<br />
|avahi-mdns||<br />
|-<br />
|crond||Daemon to schedule and time events.<br />
|-<br />
|cups||Common UNIX Printing System daemon.<br />
|-<br />
|dbus||Message bus system for software communication.<br />
|-<br />
|gensplash||<br />
|-<br />
|hal||Hardware Abstraction Layer<br />
|-<br />
|mpd||<br />
|-<br />
|mysqld||Daemon to connect to MySQL databases<br />
|-<br />
|netfs||Creates network file system.<br />
|-<br />
|network||<br />
|-<br />
|networkmanager||<br />
|-<br />
|openmtpd||<br />
|-<br />
|rsyslogd||The latest version of a system logger.<br />
|-<br />
|samba||<br />
|-<br />
|stbd ||This daemon was previously necessary for gnome-system-tools. However, as of gnome-tools 2.28, it is no longer needed.<br />
|-<br />
|syslogd||This was the older and basic system logger.<br />
|-<br />
|syslog-ng||System logger next generation.<br />
|-<br />
|}</div>
Acecero
https://wiki.archlinux.org/index.php?title=Daemons&diff=106769
Daemons
2010-05-21T03:54:12Z
<p>Acecero: </p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Daemon}}<br />
<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 or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your CPU frequency if the system has nothing to do.<br />
<br />
==Starting on Boot==<br />
A default install of Arch Linux will leave you with very few services (or daemons) enabled during boot. You can add or remove services by editing the the daemon array line in your [[rc.conf]] file. It will initially look something like this:<br />
DAEMONS=(syslog-ng network netfs crond)<br />
<br />
They will start in the order you have them listed. You can disable one and keep it in the array by prefixing it with an exclamation mark (!). You can also have them start in the background by adding an at (@) symbol in front of it.<br />
<br />
==Manual Starting and Stopping==<br />
You can see what service start up scripts you have by looking in your /etc/rc.d/ directory. You can also manually start, stop, and restart them by issuing<br />
/etc/rc.d/''daemonname'' {start|stop|restart}<br />
<br />
They may also have other commands, check with the documentation.<br />
<br />
==Essentials==<br />
You do not necessarily have to add anymore if you do not feel the need. Typical desktop user may want to add [[CUPS]], [[HAL]], and [[ALSA]]. Note, some services will start other services. For example HAL will automatically start [[D-Bus]] and [[Acpid]]. It has been mentioned that HAL sometimes fails to automatically start D-Bus, without the user knowing. It is considered good practice to add D-Bus explicitly before hal and not to be backgrounded. This will let the user know if it fails to start, before other services dependent on D-Bus break.<br />
<br />
Keep in mind as you install new services you will have to manually add them to rc.conf.<br />
<br />
==Starting Daemons in Background==<br />
This is helpful for starting a service and letting the next service start before the previous one has finished. Which services to start background depends on your needs. Do not background anything you need immediately. Here is an example:<br />
DAEMONS=(syslog-ng gensplash network netfs dbus hal @avahi-daemon @samba @crond @alsa @openntpd @cups @mpd)<br />
<br />
Starting ''openntpd'' in the background could lead to synchronization errors between the actual time and the time stored on your computer. If you recognize an increasing time difference between your desktop clock and the actual time, try to start the ''openntpd'' daemon normally and not in the background.<br />
<br />
==ArchLinux Daemon Manager GUI==<br />
You can install [http://img130.imageshack.us/img130/4200/aldmgui03.png ArchLinux Daemon Manager] from [http://aur.archlinux.org/packages.php?ID=29606 AUR] and you will be able to easily change settings in /etc/rc.conf using GTK aplication aldm-gui or commandline application aldm.<br />
<br />
==List of Daemons==<br />
(Here is a list of daemons, although it might not be complete. Please feel free to add any missing daemons here, in alphabetical order.)<br />
{| border="1"<br />
|<b>Daemon</b>||<b>Description</b><br />
|-<br />
|alsa||Enables sound with the Advanced Linux Sound Architecture.<br />
|-<br />
|avahi-daemon||<br />
|-<br />
|avahi-mdns||<br />
|-<br />
|crond||Daemon to schedule and time events.<br />
|-<br />
|cups||Common UNIX Printing System daemon.<br />
|-<br />
|dbus||Message bus system for software communication.<br />
|-<br />
|gensplash||<br />
|-<br />
|hal||Hardware Abstraction Layer<br />
|-<br />
|mpd||<br />
|-<br />
|mysqld||Daemon to connect to MySQL databases<br />
|-<br />
|netfs||Creates network file system.<br />
|-<br />
|network||<br />
|-<br />
|networkmanager||<br />
|-<br />
|openmtpd||<br />
|-<br />
|rsyslogd||The latest version of a system logger.<br />
|-<br />
|samba||<br />
|-<br />
|stbd ||This daemon was previously necessary for gnome-system-tools. However, as of gnome-tools 2.28, it is no longer needed.<br />
|-<br />
|syslogd||This was the older and basic system logger.<br />
|-<br />
|syslog-ng||System logger next generation.<br />
|-<br />
|}</div>
Acecero
https://wiki.archlinux.org/index.php?title=Arch_Linux_April_Jokes&diff=103645
Arch Linux April Jokes
2010-04-17T07:50:29Z
<p>Acecero: </p>
<hr />
<div>[[Category:About Arch (English)]][[Category:General (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Collection of April Fools' Day jokes in Arch Linux news archives published since 2004 }}<br />
{{Article summary end}}<br />
<br />
== About this document ==<br />
<br />
Every first day of April, the Arch Linux website traditionally features an [http://en.wikipedia.org/wiki/April_Fools'_Day April Fools' Day] joke on the front page. This document collects the jokes as a fun reading for readers of this Wiki.<br />
<br />
== April Fools Challenge ==<br />
<br />
'''published:''' 2010 / '''permalink:''' [http://www.archlinux.org/news/492/ Arch news archive #492]<br />
<br />
It is that time of year again, but this year we are being super subtle. In fact so subtle, many of you will not notice the April Fools at all. But there is definitely one there. Post your guesses in this dedicated forum thread. We have a donated netbook to give away as a prize for the first person who fully uncovers the joke.<br />
<br />
=== About the april fools challenge joke ===<br />
<br />
'''Arch Forum:''' [http://bbs.archlinux.org/viewtopic.php?id=94255 April Fools Challenge] <br><br />
Page 01: "it's all about recursion." <br><br />
Page 15: "We're almost half way through April, why on earth is this thread still active?" <br><br />
Page 16: "I'll add a 'move along, nothing to see here' just so people can be absolutely sure..." <br><br />
Page 16: "Noting to see here???? There are 386 replies and 49,275 views!!! ....... Trapped in The Matrix."<br />
<br />
== Dropping i686 Support ==<br />
<br />
'''published:''' 2009 / '''permalink:''' [http://www.archlinux.org/news/440/ Arch news archive #440]<br />
<br />
Recently the developers have been discussing the possibility of adding some additional optimizations to our i686 port to improve multimedia support. This would involve reducing the compatibility with older systems. As some of you may have heard ([1], Google translation [2]), this discussion has resulted in the decision to focus exclusively on the x86_64 port. The overall opinion of the developers is that the x86_64 port is now complete enough to justify this decision and that this is in keeping with Arch's philosophy of supporting current generation hardware. The x86_64 architecture has been available since 2002 (compared to i686 which is from 1995), and we believe most of our i686 users have x86_64 compatible hardware.<br />
<br />
An official time-line for the deprecation of the i686 port has not been established, but an official announcement needs to be made, as the decision has already been leaked to the ArchLinux-BR community. However, it is likely that major updates (GNOME, KDE, Xorg, etc) will not be built for i686 in the immediate future. Users will still be able to build packages for i686 packages using ABS. As most of the architecture specific patches are for x86_64, this should be relatively pain free.<br />
<br />
=== About the dropping i686 support joke ===<br />
<br />
On April 1st, 2009, it was announced on the frontpage, as well as the Arch-Dev-Public mailing list that Arch would be dropping support for the i686 architecture. This announcement spurred a number of heated debates across the forums, mailing lists, and on IRC. Among other things, the debates led Aaron to threaten to leave Arch. Similar to previous years, various phrases on the forums and other Arch sites were filtered to make life more entertaining.<br />
<br />
=== After-action Report ===<br />
<br />
'''published:''' 2009 / '''permalink:''' [http://www.archlinux.org/news/441/ Arch news archive #441]<br />
<br />
Hi, Arch Linux users, we are pleased to inform you that the i686 architecture is not going to be dropped from Arch Linux. It all was part of an April Fools joke, in which all the developers and the forum moderators played a big part.<br />
<br />
Interestingly, this joke actually did some good. Some of our users discovered that they were, in fact, running 64-bit processors, and many of them switched to the Arch Linux 64-bit version. We encourage anyone who already switched to keep using the 64-bit version, to continue contributing to the architecture and encourage support from other major software vendors.<br />
<br />
A prime example of a vendor giving in to the demands of the 64-bit community is Adobe. They've recently added 64-bit Linux support to the flash plug-in, for which we thank them.<br />
<br />
Sorry for any inconvenience this joke may have caused, but how can we resist a prank on the 1st of April?<br />
<br />
== Arch in German ==<br />
<br />
'''published:''' 2008 / '''permalink:''' n/a<br />
<br />
Important Notice for English Archers<br />
<br />
Over the past two months, great discussion has passed on the private development list, and we have come to the conclusion that keeping Arch as a primarily English distro is a disservice to our largest user-base. As such, we have decided in majority vote to change the official, primary language of Arch Linux to German.<br />
<br />
Please bear with us during this transition - we are working closely with archlinux.de to facilitate the switch, at which point we plan to merge the websites. Knowing the great community behind Arch, we are sure a community project will arise quickly to fill the small void left when we completely discontinue the English site.<br />
<br />
Also, please note we're now using the German pronunciation for "Arch". Don't worry, you'll get used to it - 90% of our devs already are!<br />
<br />
Happy Computenpeepers,<br />
The Management <br />
<br />
=== About the German Arch joke ===<br />
<br />
On April 1st, 2008, most of Arch Linux websites (including the BBS) were translated to German. The above notice appeared on most of them, and the BBS rewrote strings posted by users so that references to the Wiki articles all pointed to a page called "Deutchland", and words like "joke" were rewritten as "genius idea". For example: "Arch Linux April Jokes Collection" would read "Arch Linux Deutschland genius idea Collection".<br />
<br />
== Arch Ark ==<br />
<br />
'''published:''' 2007 / '''permalink:''' [http://www.archlinux.org/news/307/ Arch news archive #307]<br />
<br />
We're changing our name!<br />
<br />
After 5 years of being called Arch Linux and 5 years of people confusing us with Ark Linux, we've finally come up with a solution. We've spent the last few months talking to the Ark Linux people to come up with a solution that's beneficial for both distributions. Today, we are happy to announce a name change for Arch Linux. Today, I am happy to announce, we will be known as Ark Linux!<br />
<br />
We will keep our domain archlinux.org for the next few weeks, while people are still getting used to the name change, but eventually we will switch domains as well. In changing names, we are sure that people will never again have problems discerning Arch Linux with Ark Linux.<br />
<br />
Long Live Ark Linux!<br />
<br />
=== Ark Linux ===<br />
<br />
Ark Linux ''is'' an actual Linux distribution.[http://www.arklinux.org/] The above joke is especially funny to those Archers who started using Arch after mistakingly typing "www.archlinux.org" instead of "www.arklinux.org". The "Arch Linux" name is considered to be pronounced as /a-ch/ (rhymes with larch, starch, as in "archer"). However, there does not seem to exist a consensus on how it is really pronounced.[http://bbs.archlinux.org/viewtopic.php?id=4901&p=2]<br />
<br />
The same joke as also posted on Ark Linux to make it even more convincing (at the first glance at least). (Sadly, Ark Linux does not seem to have a news archive.)<br />
<br />
== Judd goes to Google ==<br />
<br />
'''published:''' 2006 / '''permalink:''' [http://www.archlinux.org/news/214/ Arch news archive #214]<br />
<br />
Current Changes<br />
<br />
I just thought I would bring you all up to speed on some of the information currently going around the watercooler.<br />
<br />
Judd has officially accepted a job offer from Google, and as such,<br />
will be unable to continue with his Archlinux work.<br />
<br />
Lead of the project has moved to the capable hands of Jason Chu (Xentac). Jason's first order of business, as we push towards the 0.7.1.1 release (Codename: Pony), will be creating a [stable] repository, with older software. This will be the main focus of our work from now on, with all the security backports and compatability fixes. As such, the normal repos will begin to lack a bit, but those will be removed in time as we move to a more 'stable' and 'production quality' release system.<br />
<br />
Expect 0.7.1.1 in a few weeks.<br />
<br />
Thanks,<br />
Aaron<br />
<br />
=== Judd's actual goodbye to Arch project ===<br />
<br />
Judd Vinet, the founder of Arch Linux, has actually left the project on the 1st of October, 2007, and became the "Arch's Number One Cheerleader".[http://www.archlinux.org/news/350/] Since then, Aaron Griffin is the project leader.<br />
<br />
=== Arch Linux and its release system ===<br />
<br />
Arch Linux does not use the ''stable'' and ''production quality'' release system. It is a [http://en.wikipedia.org/wiki/Rolling_release rolling release] system, where the system is constantly kept up-to-date with no fixed release schedules.<br />
<br />
== Arch against Wombats ==<br />
<br />
'''published:''' 2005 / '''permalink:''' [http://www.archlinux.org/news/147/ Arch news archive #147]<br />
<br />
CETW Problems<br />
<br />
It is with great sadness that I write this message.<br />
<br />
When we first released Arch Linux 0.7 (Wombat) we were contacted by the Centre for Ethical Treatment of Wombats (CETW). CETW felt that we were somehow hurting wombats worldwide by releasing an "open source project"<br />
with the codename Wombat. While we tried to convince them that Arch Linux was a Linux distribution and that no wombats were harmed during the creation of our release, they wouldn't accept it.<br />
<br />
So they threatened to sue us unless we changed our destructive ways.<br />
<br />
After much deliberation, we have figured out that we don't actually have enough money to fight them in court. Instead we have chosen to settle outside of court. Part of our settlement is to discontinue the development of Arch Linux.<br />
<br />
And thus, through a poor choice of naming, Arch Linux is no more. All of the developers would like to thank the community for their support and contributions.<br />
<br />
=== Wombats ===<br />
<br />
"Wombats are Australian marsupials; they are short-legged, muscular quadrupeds, approximately one metre (39 inches) in length with a very short tail. They are found in forested, mountainous, and heathland areas of south-eastern Australia and Tasmania. The name wombat comes from the Eora Aboriginal community who were the original inhabitants of the Sydney area." [http://en.wikipedia.org/wiki/Wombat]<br />
<br />
Wombats are not known to hire lawyers to harass Linux distributions.[http://en.wikipedia.org/wiki/Wombat#Wombats_and_humans]<br />
<br />
== GNOME 2.6 ==<br />
<br />
'''published:''' 2004 / '''permalink:''' [http://www.archlinux.org/news/58/ Arch news archive #58]<br />
<br />
GNOME 2.6 Released!<br />
<br />
As the title says, gnome 2.6 is in the house. There isn't much to watch out for, Arjan and JGC did a good job catching conflicts in the testing stage so the install should go flawlessly.<br />
<br />
To upgrade: pacman -Syu<br />
To install: pacman -S gnome<br />
<br />
Some GTK2.x related packages were also upgraded to suit the requirements of gnome 2.6.<br />
<br />
=== GNOME version history ===<br />
<br />
Before the above ''news'' was posted, the GNOME project had released 2.0 in 2002, and latest release before the 1st of April 2004 was GNOME 2.2.[http://www.greaterbostonrubyandrails.com/Release.html]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Improve_GTK_Application_Looks&diff=100059
Improve GTK Application Looks
2010-03-14T04:28:34Z
<p>Acecero: </p>
<hr />
<div>[[Category:Eye candy (English)]]<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Improve GTK Application Looks}}<br />
{{Moveto|GTK Themes}}<br />
<br />
= GTK1 Apps =<br />
If you use old GTK1 apps (like xmms), you would know they don't look nice at first. This is because they use ugly themes by default.<br />
To change it, you need to:<br />
# download and install some nice themes<br />
# change the theme<br />
<br />
Some nice themes are in [extra]. To install it:<br />
# pacman -S gtk-smooth-engine<br />
<br />
To change the theme you can use gtk-theme-switch:<br />
# pacman -S gtk-theme-switch<br />
<br />
then run it with the 'switch' command.<br />
<br />
= GTK2 Apps =<br />
For GTK2 apps (e.g. Pidgin), methods to change themes include: <code>gtk-theme-switch2</code>, <code>gtk-chtheme</code> or <code>gtk2_prefs</code>. There is also <code>lxappearance</code>, a DE independent configuration tool from the LXDE project. It doesn't require any other parts of LXDE. Once you have made your mind set, do one or more of the following:<br />
<br />
# pacman -S gtk-theme-switch2<br />
<br />
# pacman -S gtk-chtheme<br />
<br />
# pacman -S gtk2_prefs<br />
<br />
# pacman -S lxappearance<br />
<br />
It is recommended to install some GTK2 themes too. The popular ''Clearlooks'' theme is included within the <code>gtk-engines</code> package:<br />
# pacman -S gtk-engines<br />
<br />
Further themes can be found in AUR e.g. by<br />
# yaourt -Ss gtk-theme gtk2-theme<br />
<br />
Now run either <code>switch2</code> or <code>gtk-chtheme</code> or <code>gtk2_prefs</code>, depending on the method you choose and change the theme to your liking.<br />
<br />
If you want to change the icon theme of GTK2 Applications, then add and/or modify in the file <code>~/.gtkrc-2.0</code> the following line (here the icon theme is set to Tango):<br />
<br />
gtk-icon-theme-name = "Tango"<br />
...more gtk2 settings...<br />
<br />
= GTK with QT =<br />
If you have GTK and QT(KDE) applications on you desktop then you know their looks don't blend well. If you wish to make your GTK styles match your QT styles please read [[Uniform Look for QT and GTK Applications]].</div>
Acecero
https://wiki.archlinux.org/index.php?title=Improve_GTK_Application_Looks&diff=100055
Improve GTK Application Looks
2010-03-14T04:13:21Z
<p>Acecero: </p>
<hr />
<div>[[Category:Eye candy (English)]]<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Improve GTK Application Looks}}<br />
{{Moveto|GTK Themes}}<br />
<br />
= GTK1 Apps =<br />
If you use old GTK1 apps (like xmms), you would know they don't look nice at first. This is because they use ugly themes by default.<br />
To change it, you need to:<br />
# download and install some nice theme<br />
# change the theme<br />
<br />
Some nice themes are in [extra]. To install it:<br />
# pacman -S gtk-smooth-engine<br />
<br />
To change the theme you can use gtk-theme-switch:<br />
# pacman -S gtk-theme-switch<br />
<br />
then run it with the 'switch' command.<br />
<br />
= GTK2 Apps =<br />
For GTK2 apps (e.g. Pidgin), methods to change themes include: <code>gtk-theme-switch2</code>, <code>gtk-chtheme</code> or <code>gtk2_prefs</code>. There is also <code>lxappearance</code>, a DE independent configuration tool from the LXDE project. It doesn't require any other parts of LXDE. Once you have made your mind set, do one or more of the following:<br />
<br />
# pacman -S gtk-theme-switch2<br />
<br />
# pacman -S gtk-chtheme<br />
<br />
# pacman -S gtk2_prefs<br />
<br />
# pacman -S lxappearance<br />
<br />
It is recommended to install some themes too. The popular ''Clearlooks'' theme is included within the <code>gtk-engines</code> package:<br />
# pacman -S gtk-engines<br />
<br />
Further themes can be found in AUR e.g. by<br />
# yaourt -Ss gtk-theme gtk2-theme<br />
<br />
Now run either <code>switch2</code> or <code>gtk-chtheme</code> or <code>gtk2_prefs</code>, depending on the method you choose and change the theme to your liking.<br />
<br />
If you want to change the icon theme of GTK2 Applications, then modify or add in the file <code>~/.gtkrc-2.0</code> the following line (here the icon theme is set to Tango):<br />
<br />
gtk-icon-theme-name = "Tango"<br />
...more gtk2 settings...<br />
<br />
= GTK with QT =<br />
If you have GTK and QT(KDE) applications on you desktop then you know their looks don't blend well. If you wish to make your GTK styles match your QT styles please read [[Uniform Look for QT and GTK Applications]].</div>
Acecero
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions&diff=98538
Frequently asked questions
2010-02-28T23:25:40Z
<p>Acecero: </p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:FAQs (English)]]<br />
{{i18n|FAQ}}<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 />
* you want an OS with a different goal targeted at a different userbase.<br />
<br />
==Q) Is Arch based on <code>CRUX</code>? ==<br />
'''A)''' No. 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 <code>CRUX</code>, a great, minimalist distro created by Per Lidén. Originally inspired by ideas in common with <code>CRUX</code>, Arch was built from scratch, and pacman was then coded in C.<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) Is Arch designed to be used as a server? A desktop? A workstation?==<br />
'''A)''' Arch is not designed for any particular type of use. Rather, it is designed for a particular type of ''user''. Arch targets competent users who enjoy its do-it-yourself nature, and who further exploit it to shape the system to fit their unique needs. Therefore, in the hands of its target user base, Arch can be used for virtually any purpose. Many use Arch on both their desktops and workstations. And of course, archlinux.org runs on Arch.<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.) Arch is targeted at capable, proactive users. 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 application 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 line in 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 system of multiple directories (usually 7 by default), one for each runlevel: {{Filename|/etc/rc.0,1,2,3,4,5,6}}. Each directory contains a gratuitous number of symlinks; one for each service. Each symlink points to a corresponding script in the {{Filename|/etc/init.d/}} directory. Needless to say, the SysV method is more complex, as by default dozens of symlinks reside under each {{Filename|/etc/rc.0,1,2,3,4,5,6}} directory in addition to all the scripts under {{Filename|/etc/init.d/}}. 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 />
Many new users notice how the Linux kernel handles memory differently than they are used to. Since accessing data in RAM is much faster than from disk, the kernel 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 and firefly have ceased and they are now out of date. Please consider using [[archiso]] or [[larch]] [http://larch.berlios.de/].}}<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) Which DE/WM should I use?==<br />
'''A)''' Since many are available to you, use the one you like the most to fit your needs.<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 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>
Acecero
https://wiki.archlinux.org/index.php?title=Open_Sound_System&diff=94839
Open Sound System
2010-02-02T17:59:23Z
<p>Acecero: </p>
<hr />
<div>[[Category:Sound (English)]]<br />
[[Category:Audio/Video (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Open Sound System}}<br />
{{i18n_entry|简体中文|OSS (简体中文)}}<br />
{{i18n_entry|Français|OSS (Français)}}<br />
{{i18n_entry|Español|Open Sound System (Español)}}<br />
{{i18n_entry|Türkçe|OSS (Türkçe)}}<br />
{{i18n_links_end}}<br />
This article will show you how to install and configure the '''O'''pen '''S'''ound '''S'''ystem (OSS) on you computer.<br />
<br />
== About ==<br />
<br />
The [http://en.wikipedia.org/wiki/Open_Sound_System Open Sound System] is an alternative sound architecture for Unix-like and POSIX-compatible systems. OSS version 3 was the original sound system for Linux and is in the kernel but was superceded by ALSA in 2002 when OSS version 4 became proprietary software. OSSv4 became free software again in 2007 when [http://www.opensound.com/ 4Front Technologies] released it's source code and provided it under the GPL license.<br />
<br />
== Comparisions with ALSA ==<br />
<br />
Some advantages and disadvantages compared to using the Advanced Linux Sound Architecture.<br />
<br />
=== OSS Advantages (users) ===<br />
<br />
* Includes a transparent software mixer (vmix in kernel space). Having a transparent software mixer means that multiple applications can access the sound device at the same time.<br />
* Control for each application sound volume.<br />
* Some legacy cards are supported better (e.g. Creative X-Fi).<br />
* Initial response time in sound applications is usually better.<br />
* Better support for applications that use the OSS API. Many applications still use this API, and do not require an emulation layer like ALSA uses.<br />
<br />
=== OSS Advantages (developers) ===<br />
<br />
* Cleaner and easier to use API, and better API [http://manuals.opensound.com/developer documentation].<br />
* Support for drivers in userspace.<br />
* Accesibility. OSS runs on BSDs and Solaris.<br />
* Portability. OSS is [http://revolf.free.fr/Alchimie-7/Alchimie7_OSS_Haiku.en.pdf easier] to port to other operating systems.<br />
<br />
=== ALSA Advantages ===<br />
<br />
* Better support for USB audio devices. With OSS output is experimental, input is not implemented.<br />
* Support for Bluetooth audio devices.<br />
* Support for AC'97 and HDAudio dial-up soft-modems such as Si3055.<br />
* Better support for MIDI devices. With OSS you'll have to use a software synthesizer such as Timidity or Fluidsynth.<br />
* Support for suspend. OSS and associated programs will need to be closed first.<br />
* Better support for jack detection. On some HD motherboards users will need to turn down the speaker volume when plugging in their earphones. <br />
<br />
== Install ==<br />
<br />
Install OSS by running:<br />
<br />
# pacman -S oss<br />
<br />
This will install the OSS files and run the OSS install script that will temporarily disable the ALSA modules, and install the OSS kernel modules. Since ALSA is enabled by default in the boot scripts, you need to disable it for it not to conflict with OSS when booting. You can do this by editing {{Filename|rc.conf}} and adding:<br />
<br />
MODULES=(!soundcore ...<br />
<br />
Then add OSS to the daemon array:<br />
<br />
DAEMONS=(crond hal @oss...<br />
<br />
If your user is not part of the audio group, add your user by:<br />
<br />
# gpasswd -a username audio<br />
<br />
Then start OSS by:<br />
<br />
# /etc/rc.d/oss start<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 />
Beware the default volume is very loud, avoid using earphones and physically lower the volume of your speakers (if possible) before running the test.<br />
<br />
'''Test OSS by running:'''<br />
<br />
$ osstest<br />
<br />
You should be able to hear music during the test process. If there is no audio, try to adjust the volume or refer to the troubleshooting section.<br />
<br />
If you want to hear sounds from more than one application simultaneously, you need vmix, OSS's software mixer. <br />
<br />
'''Check that vmix is enabled by running:'''<br />
<br />
$ ossmix -a | grep -i vmix<br />
<br />
You should see a line like 'vmix0-enable ON|OFF (currently ON)'. If you don't see any lines beginning with 'vmix', it probably means that vmix hasn't been attached to your sound device. To attach vmix, issue the command<br />
<br />
$ vmixctl attach device<br />
<br />
where ''device'' is your sound device, eg., /dev/oss/oss_envy240/pcm0 .<br />
<br />
To avoid having to issue this command manually in the future, you can add it to /usr/lib/oss/soundon.user, as suggested at http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Changing_the_default_sound_output .<br />
<br />
<br />
'''See which devices are detected by running:'''<br />
<br />
$ ossinfo<br />
<br />
You should be able to see your devices listed under Device objects or Audio Devices. If the device that you want to use is not at the top on Audio devices or Device objects sections, /usr/lib/oss/etc/installed_drivers needs to be edited. The driver for the device that needs to be used should be at the very top. A soundoff, soundoff is probably required. If this does not work, comment all drivers listed that are not your preferred device.<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 {{Codeline|ossmix}}. It's very like the BSD audio mixer (mixerctl). The graphical mixer is called {{Codeline|ossxmix}} and will require {{Package Official|gtk2}} to be installed.<br />
<br />
The basic <tt>ossxmix</tt> controls:<br />
<br />
<pre><br />
/ High Definition Audio ALC262 \ --------------------------------> 1<br />
/________________________________\________________________________<br />
| \<br />
| [x] vmix0-enable [vmix0-rate: 48.000kHz] vmix0-channels |--> 2<br />
| [ Stereo [v] ] |<br />
| |<br />
| __codec1______________________________________________________ |<br />
| | _jack______________________________________________________ ||--> 3<br />
| | | _int-speaker_________________ _green_________________ |||<br />
| | | | | | | |||<br />
| | | | _mode_____ | | | | _mode_____ | | | |||<br />
| | | | [ mix [v] ] o o [x] [ ]mute | | [ mix [v] ] o o [x] | |||<br />
| | | | | | | | | | | |||<br />
| | | |_____________________________| |_______________________| |||<br />
| | |___________________________________________________________|||<br />
| |______________________________________________________________||<br />
| ___vmix0______________________________________________________ |<br />
| | __mocp___ O O _firefox_ O O __pcm7___ O O | |--> 4<br />
| | | | O O | | x x | | O O | |<br />
| | | | | | x O | | | | x x | | | | O O | |<br />
| | | o o [x] | x x | o o [x] | x x | o o [x] | O O | |<br />
| | | | | | x x | | | | x x | | | | O O | |<br />
| | |_________| x x |_________| x x |_________| O O | |<br />
| |_____________________________________________________________| |<br />
|_________________________________________________________________|<br />
</pre><br />
<br />
# One tab for each sound card<br />
# The vmix (virtual mixer) special configurations appear at the top. These include sampling rate and mixer priority.<br />
# These are your sound card jack configurations (input and output). Every mixer control that is shown here is provided by your sound card.<br />
# Application vmix mixer controls and sound meters. If the application isn't actively playing a sound it will be labeled pcm08, pcm09..., when the application is playing the application name will be shown.<br />
<br />
=== Color Definitions ===<br />
<br />
For high definition (HD) audio, {{Codeline|ossxmix}} will color jack configurations by their pre-defined jack colors:<br />
<br />
{| style="border: 1px solid #CCCCCC; background-color: #dddddf"<br />
! Color<br />
! Type<br />
! Connector<br />
|- style=color:black;background:lightgreen<br />
|green<br />
| front channels (stereo output)<br />
| 3.5mm TRS<br />
|- style=color:white;background:black <br />
|black<br />
| rear channels (stereo output)<br />
| 3.5mm TRS<br />
|- style=color:white;background:gray<br />
|grey<br />
| side channels (stereo output)<br />
|3.5mm TRS<br />
|- style=color:black;background:gold<br />
|gold<br />
| center and subwoofer (dual output)<br />
|3.5mm TRS<br />
|- style=color:black;background:lightblue<br />
|blue<br />
| line level (stereo input)<br />
|3.5mm TRS<br />
|- style=color:black;background:pink <br />
|pink<br />
| microphone (mono input)<br />
|3.5mm TS<br />
|}<br />
<br />
=== Saving Mixer Levels ===<br />
<br />
Mixer levels are saved when you shut off your computer. If you want to save the mixer level immediately, as root:<br />
<br />
# savemixer<br />
<br />
{{Codeline|savemixer}} can be used to write mixer levels to a file with the {{Codeline|-f}} switch and restore by the {{Codeline|-L}} switch.<br />
<br />
=== Other Mixers ===<br />
<br />
Other mixers that have support for OSS:<br />
<br />
* GNOME - Gnome volume control<br />
* KDE - Kmix - OSS support is being developed.<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>
Acecero
https://wiki.archlinux.org/index.php?title=Beginners%27_guide_(%ED%95%9C%EA%B5%AD%EC%96%B4)&diff=93905
Beginners' guide (한국어)
2010-01-28T08:26:20Z
<p>Acecero: </p>
<hr />
<div>[[Category:한국어]]<br />
{{i18n|Beginners' Guide}}<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|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 />
==머리말==<br />
=====소개=====<br />
환영합니다. 이 문서는 [[Arch Linux|아치 리눅스]](간결하고 빠르며 가벼운 GNU/Linux 배포판, 혹은 <tt>유닉스</tt> 유형의 운영체제를 찾던 유저들의 요구에 부합하는)의 설치 및 구성을, 과정을 통하여 여러분들을 안내할 것입니다.<br />
*아치 리눅스의 설정 과정과 유사 <tt>유닉스</tt> 시스템 방법론에 대한 충분한 지식의 단계가 요구되고, 이런한 이유로 필요 이상의 설명 정보가 내포됩니다.<br />
* 이 안내서는 새로운 아치 유저를 목표로 하지만, 모두를 위한 강력한 참고서와 유익한 자료로써 도움이 될 것입니다. <br />
<br />
'''아치 리눅스 배포판의 장점:'''<br />
* <tt>유닉스</tt>같은 [[The Arch Way|간결성]]있는 설계와 철학<br />
* 모든 패키지들은 i686과 x86_64 구조에 적합하게 컴파일<br />
* [[Arch Boot Process|BSD 스타일]]처럼 하나의 중앙집중식 구성파일이 특징인 init 스크립트<br />
* mkinitcpio: 간결하고 유동적인 initramfs 제작 도구<br />
* 매우 적은 메모리를 사용하여, 가볍고 민첩하게 작동하는 [[Pacman|팩맨 패키지 관리자]]<br />
* [[Arch Build System|아치 빌드 시스템(ABS)]]: 포트와 같은 패키지 제작 체계, 소스로부터 아치 패키지들을 설치할 수 있게 제작하는 간단한 프레임워크를 제공함.<br />
* [[Arch User Repository|아치 사용자 저장소(AUR)]]: 많은 사람들이 만든 빌드 스크립트를 저장소로 제공<br />
<br />
=====라이센스=====<br />
<br />
아치 리눅스, 팩맨, 문서, 및 스크립트들은 ⓒ2002-2007 Judd Vinet, ⓒ2007-2009 Aaron Griffin 에 저작권이 보호되며, GNU General Public License Version 2의 아래에 라이센스가 있습니다.<br />
<br />
=====염려하지 마십시오!=====<br />
아치 리눅스 시스템은 기본적인 명령줄 도구를 사용하여 쉘에서 ''사용자''에 의해서 설치됩니다. 다른 배포판의 융통성 없는 설치프로그램 구조와는 다르게, 정해져 있는 기본 환경이 없고 또한 당신을 위해 선택되어진 설정도 없습니다. 명령줄에서, 인터넷 연결을 통한 팩맨 패키지관리자를 사용하여 아치 저장소들로부터 패키지들을 추가할 것 입니다. 그리고 시스템이 당신의 요구사항에 최적화 될 때까지 텍스트 파일을 수정하여 설치를 수동적으로 구성하게 할 것입니다. 당신은 또한 non-root 사용자를 수동적으로 추가하고, 그룹과 권한을 관리할 것 입니다. 이 방법은 최대한의 유연성과 선택의 자유로움 그리고 시스템 리소스를 ''기본에서부터 고수준까지'' 관리하게 합니다.<br />
<br />
아치 리눅스는 'do-it-yourself'에 근접하기를 원하며 또한 그런 능력이 있는 사용자들을 지향하는 배포판입니다.<br />
<br />
=====아치리눅스가 추구하는 것=====<br />
<br />
'''''아치에 내포된 설계 원칙은 아치를 간결하게 유지하는게 목적입니다.'' '''<br />
<br />
이 문맥에서 '간결'이라 함은 '불필요한 추가, 변형 혹은 귀찮은 문제점 없는것'.<br />
간추리면 격조높은, 미니멀리스트에 근접함을 의미하는 것이 아닐까요.<br />
<br />
'''당신이 간결함을 고려할 때, 유념해봐야 할 것들 :'''<br />
*''&quot; '간결함'이란 유용성 관점이 아니라 기술적인 관점에서 정의된다. 사용하며 기술적으로 쉬운것보다 더 높은 학습 곡선의 기술적인 우아함이 낫다. [inferior]&quot; -Aaron Griffin''<br />
*''Entia non sunt multiplicanda praeter necessitatem'' 또는&quot;개념들은 불필요하게 증식되어서는 안된다.&quot; - Occam's razor. Razor의 말은 간단한 설명과 방식 혹은 이론에 도달하기 위해 불필요한 분쟁요인들을 군더더기 없게 함을 나타낸다.<br />
*''&quot;[my method]의 남다른 부분은 단순함에서 나왔다. 수련의 절정은 항상 단순함으로 향한다.&quot;'' - Bruce Lee<br />
<br />
=====본 안내서에 대하여=====<br />
<br />
아치 위키는 훌륭한 자원이며, 문제점들에 대해 [[Main Page|먼저]] 참고해야 합니다. 만약 다른 곳에서 답을 찾을 수 없다면 IRC방(at freenode #archlinux)과 [http://bbs.archlinux.org/ 포럼]에서 찾을 수 있습니다. -한국(at HanIRC #arch), [http://www3.opensourcekorea.org/~arch/xe/ 한국포럼]<br />
<br />
{{Note|이 안내서를 착실히 따라는 것이 올바르게 구성되어진 아치 리눅스 시스템을 성공적으로 설치하기 위해 필수적입니다. 그러므로, 세밀하게 읽어보시기를 바랍니다. 이 안내서는 작업들을 수행하기 <u>전에</u> 각 섹션을 완벽하게 읽기를 강력하게 권장합니다.}}<br />
<br />
GNU/Linux 배포판들이 설계에 의하여 본질적인 세분화임으로 본 안내서는 <tt>유닉스</tt> 유형 데스크탑의 4개 주요 요소로 논리적인 분할을 하였습니다. <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: 기본 시스템 설치==<br />
<br />
===Step 1: 최신 설치 매체 얻기 ===<br />
<br />
여러분들은 [http://archlinux.org/download/ 여기]에서 아치 공식 설치 매체를 구할수 있습니다. 가장 최근 버전은 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 설치====<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 스틱====<br />
{{Warning|여러분의 USB 스틱내의 모든 데이터를 회복 할수 없게 됩니다!}}<br />
<br />
'''<tt>유닉스</tt> 방법:'''<br />
<br />
비어 있거나 확장 가능한 USB 스틱을 넣은후, 경로를 결정 하고 .img 이미지를 USB 스틱에 <code>/bin/dd</code> 풀그램으로 저장하세요: <br />
dd if=archlinux-2009.08-''{core|netinstall}''-''{i686|x86_64}''.img of=/dev/sd''x''<br />
<code>if=</code>에는 img 화일의 경로 그리고 <code>of=</code>에는 USB 장치. 반드시 {{Filename|/dev/sd'''x1'''}}가 아니라 {{Filename|/dev/sd'''x'''}}를 사용하여야 합니다.<br />
<br />
'''md5sum 확인 (선택사항):'''<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 />
'''윈도우즈 방법:'''<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|기본 설치를 위한 메모리 요구사항:<br />
* Core : 128 MB 램 x86_64/i686 (스왑 파티션과 모든 패키지 선택)<br />
* Netinstall : 128 MB 램 x86_64/i686 (스왑 파티션과 모든 패키지 선택)}}<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 />
====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|공식 안내서는 기본 시스템 설치와 설정에 적용됨을 주의하세요. 설치가 된 이후에는, 더 많은 후설치와 다른 관계된 이슈들을 찾기 위해 여기 위키로 되돌아 올것을 강력히 권고 합니다.}}<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: 하드 드라이브 준비===<br />
<br />
{{Warning|하드 드라이브 분할 작업은 데이터가 유실 될수 있습니다. 필요하다면, 중요한 데이터는 백업 해둘것을 강력하게 권고하며 주의를 요합니다.}}<br />
<br />
{{Note|분할 작업은 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: 새로운 아치 리눅스 기본 시스템 구성 및 업데이트==<br />
여러분의 새로운 아치 리눅스 시스템에서 부팅 완료 후에는 로그인 프롬프트가 완료 됩니다. (만약 부팅 하드디스크 순서를 변경하시려면 '''BIOS''' 에서 변경 가능합니다).<br />
<br />
'''축하합니다, 그리고 당신의 새 아치 리눅스 기반 시스템에 오신 것을 환영합니다!'''<br />
<br />
당신의 새 아치 리눅스 시스템은 이제 GNU / 리눅스 기반으로 환경을 만들 수 있는 기본 준비가되었습니다. 여기에서, 여러분이 무엇을 원하든 그 목적에 맞게 만들수 있습니다.<br />
<br />
root 계정으로 로그인을 합니다. 우리는 루트 계정으로 pacman 을 실행해서 시스템을 업데이트 시키고 일반 사용자를 추가할 것입니다.<br />
((참고 | 가상 콘솔 1-6 을 사용할 수 있습니다. 가상 콘솔을 전환하려면 ALT + F1을 ... F6 키를 누르세요))<br />
<br />
===Step 1: 네트워크 구성 (필요시)===<br />
*''이 섹션은 네트워크 구성이 되지 않은 경우 거의 모든 네트워크를 작동시키는데 도움을 줄것입니다.''<br />
<br />
여러분의 시스템을 올바르게 구성하려면 네트워크가 작동 해야합니다. 이것을 확인하려면 www.google.com에 ping을 사용해보십시오.<br />
# ping -c 3 www.google.com<br />
<br />
<br />
''만약 네트워크가 올바르게 작동을 한다면 '''[[#Step 2: Update, Sync and Upgrade the system with pacman|Update, Sync and Upgrade the system with pacman]]''' 문서를 계속 보시면 됩니다.''<br />
<br />
만약에 ping www.google.com 명령 후, 알수 없는 호스트 메시지가 나온다면 여러분의 네트워크가 제대로 설정되지 않은 것입니다. 다음 파일의 무결성, 적당한 옵션인지 확인 해주세요.:<br />
<br />
'''/etc/rc.conf''' # 특히 당신의 HOSTNAME= 와 NETWORKING 섹션 타입의 오류 확인.<br />
<br />
'''/etc/hosts''' # 두가지 확인 사항. (위에 참고.)<br />
<br />
'''/etc/resolv.conf''' # 수동 IP설정인경우. 당신이 DHCP설정을 사용한다면 이 파일은 기본적으로 자동으로 생성 / 파기 됩니다. 하지만 수동으로 설정이 가능합니다. ([[Network]] 참고)<br />
<br />
{{Tip|자세한 네트워크 구성에 대한 문서는 [[Network]] 를 참고 해주세요.}}<br />
<br />
====유선랜====<br />
<br />
당신의 이더넷 인터페이스 확인<br />
# ifconfig -a<br />
모든 인터페이스가 리스트로 보여집니다. 당신의 eth0 혹은 eth1 항목이 보여지게 될것입니다.<br />
*'''고정 IP (Static IP)'''<br />
<br />
필요한 경우, 새로운 고정 IP를 설정할 수 있습니다:<br />
# ifconfig eth0 <IP주소> netmask <넷마스크> up <br />
그리고 기본 게이트웨이 주소를 설정<br />
# route add default gw <ip address of the gateway><br />
/etc/resolv.conf 파일을 확인해서 DNS 서버가 누락되어잇으면 추가 합니다. 다시 ping www.google.com으로 네트워크가 작동하는지 확인 합니다.<br />
<br />
*'''DHCP'''<br />
DHCP 서버/라우터를 사용중이라면(공유기나 일반 가정용 인터넷서비스):<br />
# dhcpcd eth0<br />
성공적으로 완료시 dhcp서버로 붙어 IP를 할당 받아옵니다.<br />
<br />
====무선랜====<br />
* 무선랜 드라이버가 인터페이스를 생성하였는지 확인:<br />
# iwconfig<br />
* 무선랜 인터페이스를 활성화 <code>ifconfig <interface> up</code><br />
# ifconfig wlan0 up<br />
* (선택사항) 사용 가능한 엑서스 포인트(AP) 검색:<br />
# iwlist wlan0 scan | less<br />
* 특정 엑서스 포인트(AP)를 사용하려면 <code>iwconfig <인터페이스> essid <ssid></code>. 혹은, WEP 사용시 <code>iwconfig <인터페이스> essid <ssid> key <wep키></code><br />
# iwconfig wlan0 essid linksys key ABCDEF01234<br />
* dhcp서버로부터 IP 주소 요청 <code>dhcpcd <interface></code><br />
# dhcpcd wlan0<br />
* 정상 연결인지 확인:<br />
$ ping -c 3 www.google.com<br />
Done.<br />
<br />
자세한 가이드는 [[Wireless Setup]] 를 참고해주세요.<br />
<br />
====아날로그 모뎀====<br />
헤이즈-호환, 외장, 아날로그 모뎀을 사용하려면 ppp 패키지 설치를 필요로 합니다. man pppd를 참고하여서 /etc/ppp/options 설정의 수정이 필요합니다. 또한 ISP에 맞는 접속 스크립트(ID와 암호) 생성을 필요로 합니다. 자세한 사항은 [[Dialup without a dialer HOWTO]] 을 참고해주세요.<br />
<br />
pppd를 보다 편하게 이용하기 위해서 wvdial이나 시뮬레이터 툴을 설치 사용 가능합니다. 혹시 여러분의 모뎀이 윈모뎀이라 부르는 소프트웨어 방식을 사용중이라면 [http://www.linmodems.org/ LinModem] 홈페이지를 참고해주세요.<br />
<br />
====ISDN====<br />
<br />
IDSN 설정을 위한 3단계:<br />
# 하드웨어 설치 및 설정<br />
# ISDN 유틸리티 설치 및 설정<br />
# 사용중인 ISP 설정 추가<br />
<br />
현재 아치 리눅스 커널에는 ISDN 모듈이 포함 되어 있습니다. 더이상 ISDN 사용을 위해서 커널 컴파일을 하지 않아도 됩니다. ISDN 카드나 USB ISDN박스를 설치 후 modprobe를 이용해서 모듈을 로딩 가능합니다. 거의 모든 ISDN PCI 카드는 hisax 모듈에 의해 처리됩니다, 두가지 매개변수 필요 : 타입과 프로토콜. 만약 여러분의 국가가 1TR6 표준을 사용한다면 프로토콜 '1', EuroISDN (EDSS1)을 사용한다면 '2', D체널이 없는 소위 임대라인을 사용시 '3', US NT1은 '4'.<br />
<br />
세부사항을 설정하는 방법은 커널 문서에 있으며 더 구체적인 사항은 ISDN 하위 디렉토리에 포함되어 잇으며 온라인으로도 제공됩니다. 매개변수는 여러분의 카드에 따라 달라집니다. 사용 가능한 모든 목록은 READM.HiSax 커널문서에서 찾을수 있습니다. 아래 예를 보고 여러분에 맡는 모듈명, 옵션을 사용하세요.<br />
<br />
# modprobe hisax type=18 protocol=2<br />
<br />
위의 명령은 ELSA 퀵스텝 1000PCI, 독일 EDSS1 프로토콜을 사용하는 것에 대한 hisax 모듈을 로드한 것입니다. 여러분의 카드정보는 /var/log/everything.log파일 확인 하시면 됩니다. 만약 외장 USB ISDN 을 사용중이시라면 USB 모듈을 먼저 필요하는것을 잊지 마세요.<br />
<br />
먼저 당신이 특정 설정을 사용하여 카드를 작동 시켰다면, 당신은 /etc/modprobe.conf에 모듈 옵션을 추가할수 있습니다 :<br />
<br />
alias ippp0 hisax<br />
options hisax type=18 protocol=2<br />
<br />
여기에서는 옵션만 추가 하였습니다. 실제 hisax 모듈을 로드하는 부분은 rc.conf파일에 추가 할수 있습니다. <br />
<br />
이제 당신은 실제로 사용하는 기본 유틸리티가 필요 합니다.<br />
<br />
isdn4k-utils 패키지를 설치, 그리고 isdnctrl 맨페이지를 읽어보세요; 여러분이 isdn을 사용하는데 도움이 될것입니다. isdnctrl 맨페이지에는 구성파일뿐 아니라, 몇 가지 유용한 예제를 만들고 설치하는 방법에 대한 설명이 있습니다. <br />
<br />
이후 isdnctrl 구성 유틸리티를 사용하여 여러분의 ISDN을 카드로 당신이 PHONE_OUT 매개 변수에 지정된 컴퓨터에 접속시킬 수 있어야하지만, 사용자이름과 비밀번호 인증이 실패 할경우 이것은 /etc/ppp/pap-secrets 와 /etc/ppp/chap-secrets 파일에 사용자이름과 비밀번호 만들지 않아서 입니다. 일반적이라면 PPP 프로토콜을 이용해서 ISP인증을 사용합니다.<br />
<br />
만약 당신이 모든 걸 제대로 설정 하였다면, 지금 전화 접속 연결을 설정할 수있을 것입니다<br />
# isdnctrl dial ippp0<br />
만약 당신이 어떤 문제가 발생한다면 루트로 로그 파일을 확인할 것을 기억하자!<br />
<br />
====DSL (PPPoE)====<br />
<br />
먼저 DSL이 인터넷에 연결 되어 있어야합니다, 또한 DSL과 네트워크 카드가 연결 되어야 할 것입니다. 그리고 새로 설치한 네트워크 카드 모듈명을 modules.conf/modprobe.conf 혹은 /etc/rc.conf의 MODULES 영역에 추가합니다. rp-pppoe 패키지와 pppoe-setup 환경설정 스크립트 실행도 필요로 합니다. 이 후에는 접속, 해제를 다음과 같은 명령으로 쉽게 사용 가능합니다.<br />
<br />
# /etc/rc.d/adsl start<br />
<br />
그리고<br />
<br />
# /etc/rc.d/adsl stop<br />
<br />
설치는 간단하지만, 한번정도는 man 페이지 읽어 주시길 권장합니다. 만약 부팅시 자동으로 '접속하려면' /etc/rc.conf 데몬영역에 adsl을 추가 해주시면 됩니다. 그리고 network 데몬에는 !를 추가, 네트워크가 adsl에 의해 처리 되게 합니다.<br />
<br />
===Step 2: [[pacman]]을 이용한 시스템 업데이트, 싱크, 업그레이드===<br />
[[pacman]] 을 이용하면 시스템 업데이트를 할 수 있습니다.<br />
<br />
====팩맨이 무엇인가요?====<br />
[[Pacman]] 은 '''pac'''kage 와 '''man'''ager의 줄임말입니다. 팩맨 ''C''로 작성 되어진 가볍고 적은 메모리 사용, 다재다능한 패키지 관리자입니다. 이 관리자는 여러분의 전체 패키지 관리, 설치, 제거, 패키지 다운로드(캐시), 커스텀 패키지, 자동 의존성 처리, 리모트와 로컬 검색등을 제공합니다. 아치는 .tar.gz 포멧의 패키지를 사용하며 이는 gzip형식으로 간단히 압축한것으로 Bzip 압축포멧보다 용량이 크지만 팩맨이 보다 더 빠르게 작동하고 기타 편의성을 제공합니다.<br />
<br />
우리는 원격 저장소에서 소프트웨어를 팩맨을 사용하여 패키지를 다운로드 시스템에 설치해야합니다.<br />
<br />
팩맨은 당신이 원하는 베이스 시스템을 구축하는데 아치 리눅스 프로그램 중에서 가장 중요한 도구입니다.<br />
<br />
====패키지 저장소(Repositories)와 /etc/pacman.conf====<br />
아치는 현재 다음과 같은 4가지 팩맨 저장소를 통해 쉽게 액세스할 수있습니다 :<br />
<br />
'''[core]'''<br />
<br />
[core] 저장소는 기본 아치 리눅스 시스템에 대한 각에 필요한 도구를 제공하는 것입니다; GNU 툴체인, 리눅스 커널, 편집기, 커맨드 라인 브라우저, 기타. (보통 하나의 종류의 프로그램만 제공하지만 편집기의 경우 vi와 nano 두가지가 제공되는 예외도 있습니다. 사용자가 하나 또는 둘 모두를 선택할 수 있도록 제공됩니다) 그것은 시스템을 기본적으로 사용하기 위한 모든 패키지가 포함되어있습니다. 이 패키지들은 아래와 같은 중요한 시스템 패키지를 포함하지 않습니다.<br />
* 아치 개발자가 관리<br />
* 모든 패키지가 바이너리로 제공<br />
* 팩맨으로 접근 가능<br />
*''코어 설치 미디어를 설치할 간단한 설치 스크립트가 포함되어있습니다, 릴리스의 시간에 핵심적인 저장소의 스냅샷입니다.''<br />
<br />
'''[extra]'''<br />
<br />
[extra] 저장소는 core 아치 저장소에 포함되지 않은 모든 패키지가 포함되어 있어서 완벽한 아치 시스템 구축에 도움이 됩니다. 예를 들면 '''X''', KDE, 아파치 웹서버를 여기에서 찾을수 있습니다.<br />
* 아치 개발자가 관리<br />
* 모든 패키지가 바이너리로 제공<br />
* 팩맨으로 접근 가능<br />
<br />
'''[testing]'''<br />
<br />
[testing] 저장소는 core와 extra 저장소에 포함된 테스팅 패키지가 포함됩니다. 새로운 패키지의 테스팅이 필요할 경우 :<br />
* 아치 개발자가 관리<br />
* 모든 패키지가 바이너리로 제공<br />
* 팩맨으로 접근 가능<br />
<nowiki>*</nowiki> 업데이트에 문제가 생길 것으로 예상이 되면 첫번째 테스트로 testing 저장소를 활용합니다.<br />
<br />
<nowiki>*</nowiki> testing 저장소에서 패키지가 문제 없음이 확인 되면 다른 저장소로 이동되는 방식으로 운영됩니다.<br />
<br />
{{Note|* [testing] 는 다른 저장소와 패키지 이름이 충돌 하는 저장소입니다. 따라서 testing저장소를 사용하시려면 [testing] 저장소 리스트가 <code>pacman.conf</code>의 제일 상단에 위치해야합니다.}}<br />
<br />
{{Warning|[testing] 저장소는 문제가 발생할 수 있으니 숙련자만 사용하세요.}}<br />
<br />
'''[community]'''<br />
<br />
[community] 저장소는 ''아치 사용자 저장소 (Arch User Repository) ([[AUR]])'' 로 부터 ''신뢰를 받은 사용자(TUs)''가 관리하는 패키지의 모음입니다. 이것은 사용자들이 올린 ''AUR'' 저장소의 PKGBUILDs로 부터 투표를 통해 신뢰 할수 있는 사용자를 선별하게 됩니다. [community] 저장소는 기타 공식 저장소와 마찬가지로 팩맨을 통한 접근, 설치가 가능합니다.<br />
* 신뢰 할수 있는 사용자가 관리<br />
* 모든 패키지가 바이너리로 제공<br />
* 팩맨으로 접근 가능<br />
<br />
'''AUR (비공식 저장소)'''<br />
<br />
'''[[AUR]]'''은 '''공식으로 지원하지 않는''' 패키지를 포함하고 있습니다, 또한 pacman을 통한 직접 접근이 불가능합니다. '''AUR''' [unsupported] 은 바이너리 패키지를 제공하지 않습니다. 하지만 제공되는 16,000 이상의 PKGBUILD 스크립트를 제공하여 소스로부터 패키지를 구축 할 수있습니다. AUR 패키지는 웹페이지의 인기 투표 시스템을 통해서 [community] 바이너리 저장소로 이동 될 수 있습니다.<br />
* 모두 PKGBUILD bash 빌드 스크립트로 제공<br />
* 팩맨 접근 '''''불가능''''' <br />
<br />
<nowiki>*</nowiki> pacman wrappers ('''''[[AUR Helpers]]''''') AUR을 편하게 이용 가능하게 해주는 프로그램<br />
<br />
'''/etc/pacman.conf'''<br />
<br />
팩맨은 실행시 마다 /etc/pacman.conf 정보를 불러옵니다. 이 파일의 구성은 환경설정과 저장소로 나뉘어집니다. 저장소 부분은 패키지 검색 시 사용하는 [[Official Repositories|repository]] 정보로 이루어집니다. 그 외 환경설정 부분은 세부설정, 전체 설정으로 이루어집니다.<br />
<br />
이 설정은 대부분 기본값으로 사용하므로 수정 시 주의를 요합니다. 추가 정보는 [[Mirrors]] 문서를 확인 해주세요<br />
# nano /etc/pacman.conf<br />
예제:<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 />
원하는 모든 저장소를 활성화 ('Include =' 라인과 '[저장소이름]' 라인의 #을 제거합니다).<br />
<br />
<br />
*'''''저장소를 선택할 때는 주석을 저장소 이름의 [브라켓] 제거와 'Include =' 라인 두개를 제거해야합니다. 그렇지 않으면 선택한 저장소에서 결과가 생략되는 것입니다! 이것은 매우 일반적인 오류입니다.'' '''<br />
<br />
====/etc/pacman.d/mirrorlist ====<br />
팩맨 미러 저장소와 우선 순위를 정의합니다.<br />
<br />
'''rankmirrors 스크립트를 이용한 미러 저장소 우선순위 만들기'''<br />
<br />
어떤 이는 설치를 기계에 지정된 거울을 기반으로 가장 가까운 미러를 감지하려고 시도합니다 Python 스크립트입니다은 / etc / pacman.d / mirrorlist.<br />
<code>/usr/bin/rankmirrors</code> 은 /etc/pacman.d/mirrorlist에 정의된 미러리스트 중 현재 시스템에서 가장 가까운 미러를 감지 하는 파이썬 스크립트입니다. 이는 팩맨의 동작 속도를 향상 시키는데 도움이 됩니다.(패키지 다운로드가 빨라집니다) <br />
<br />
처음으로 해야할 일은 팩맨을 이용해서 파이썬을 설치합니다:<br />
# pacman -S python <br />
'''cd''' 명령을 이용해 /etc/pacman.d/ 디렉토리로 이동:<br />
# cd /etc/pacman.d<br />
/etc/pacman.d/mirrorlist 백업:<br />
# cp mirrorlist mirrorlist.backup<br />
mirrorlist.backup을 편집기로 열어서 같은 나라의 서버나 가까운 나라의 미러서버의 주석을 제거합니다.<br />
# nano mirrorlist.backup<br />
스크립트를 실행해서 mirrorlist.backup 파일에서 가장 빠른 미러를 골라서 mirrorlist파일에 출력 합니다. (-n 옵션 사용)<br />
# rankmirrors -n 6 mirrorlist.backup > mirrorlist<br />
'''-n 6''': 6개의 가장 빠른 미러를 고릅니다<br />
<br />
'''팩맨 패키지 목록을 새로 고침'''<br />
<br />
/etc/pacman.d/mirrorlist 파일을 생성하거나 수정하면, (수동이나 <code>/usr/bin/rankmirrors</code>으로 생성시) 아래 명령을 실행해줍니다:<br />
# pacman -Syy<br />
<br />
--refresh 나 -y 플래그를 두번 쓰면 팩맨은 업데이트 되지 않은 패키지 리스트도 모두 새로 갱신시킵니다. pacman -Syy 실행시 ''어디 미러가 변경 되었는지'', 걱정하지 않아도 됩니다.<br />
<br />
====최신 패키지를 위한 미러체크(Mirrorcheck)====<br />
일부 공식 미러는 구버전인 패키지 미러를 포함할 수있습니다.<br />
[http://users.archlinux.de/~gerbra/mirrorcheck.html ArchLinux Mirrorcheck] 미러에 대한 패키지 버전, 네트워크 문제, 데이터 수집 문제등 다양한 측면에 대한 리포트를 제공합니다.<br />
<br />
====패키지 업그레이드 무시(Ignoring packages)====<br />
&quot;pacman -Syu&quot; 명령을 실행하면, 전체 시스템을 업데이트 합니다. 이 때 원하는 패키지만 업데이트에서 제외가 가능합니다. 예를 들면 한글 로케일 패치가 된 unzip과 사용자 컴파일된 패키지등이 있을수 있습니다. 두가지 옵션을 사용할수 있는데; pacman 커맨드라인에 --ignore 옵션을 사용 (pacman -S --help 으로 자세한 옵션 확인하세요) 하거나 영구적으로 무시할 패키지들은 /etc/pacman.conf 파일의 IgnorePkg 영역에 적어주시면 됩니다. wine패키지를 업데이트 무시할때의 예 :<br />
IgnorePkg = wine <br />
이 방법은 팩맨을 사용하는 아치 패키지 설치할때 해당됩니다, 특별한 경우 [[ABS]] 를 사용할수 있습니다. <br />
<br />
파워유저가 아니라면 선택적인 패키지 업그레이드가 아닌 pacman -Syu을 통한 전체 시스템 업데이트를 권장합니다. 기존 패키지에 버그, 시스템 취약성등이 발생으로 인한 문제가 발생시 여러분의 시스템을 망가트릴수 있습니다. 대부분의 선택적 업그레이드를 할 때, 비정상적인 또는 부적절한 편집 소프트웨어를 설치하는 일이 수행됩니다.<br />
<br />
====환경설정의 업그레이드 무시(Ignoring Configuration Files)====<br />
당신은 &quot;pacman -Su&quot; 로 인한 환경설정/시스템 파일의 덮어씌기를 &quot;보호&quot; 할수 있습니다. (이 옵션은 /etc/pacman.conf에서 설정)<br />
<br />
NoUpgrade = etc/lilo.conf boot/grub/menu.lst<br />
<br />
====팩맨과 친해지기====<br />
팩맨은 아치유저들의 가장 친한 도구입니다. 팩맨에 대해서 알고 싶으시면 해당 맨페이지를 살펴보시는것을 추천합니다. 아래 명령으로 확인하세요:<br />
$ man pacman<br />
<br />
더 자세한 정보를 보시려면 [[pacman]] 위키 페이지를 확인하세요.<br />
<br />
====Powerpill, 팩맨의 부가 스크립트====<br />
Xyne's powerpill는 외부 다운로드 핼퍼를 사용해서 패키지 검색/다운 속도를 향상시키는 팩맨 래퍼 스크립트입니다. (지금은 [community] 저장소에 포함 되어있습니다) powerpill은 병렬로 효과적인 패키지 다운로드 속도를 제공합니다. 이것은 특히 새로운 수백개의 패키지를 설치하는데 유리합니다.<br />
<br />
# pacman -S powerpill<br />
<br />
당신이 패키지 설치 시 powerpill을 팩맨처럼 취급 가능합니다. 예를 들어, 다음과 같이 시스템을 업데이트를 시킬수 있습니다. :<br />
# powerpill -Syu<br />
<br />
자세한 사항은 [[Powerpill]] 위키 문서를 참고하세요.<br />
<br />
===Step 3: 시스템 업데이트===<br />
이제 귀하의 전체 시스템을 업그레이드할 준비가 되었습니다. 그전에 [http://www.archlinux.org/news/ 뉴스] (그리고 메일링 리스트 [http://archlinux.org/pipermail/arch-announce/ announce 메일링 리스트])을 읽어주세요. 종종 개발자는 필요한 구성 및 알려진 문제에 대한 수정 사항에 대한 중요한 정보를 제공할 것입니다. 전체 업그레이드 전에 관련 페이지를 참고 하시길 권장합니다.<br />
<br />
전체 시스템 싱크, 리프레시, 업그레이드 :<br />
# pacman -Syu<br />
혹은:<br />
# pacman --sync --refresh --sysupgrade<br />
<br />
팩맨은 이제 pacman.conf(5)에 정의된 모든 서버에서 마스터 패키지 목록을 다운로드합니다. (이 시점에서 팩맨 자체를 업그레이드 하라는 메시지가 있을 수 있습니다.그러면 yes 후 다시 pacman -Syu 명령으로 업그레이드를 재시도 하면 됩니다.) <br />
<br />
커널 업그레이드 시 재부팅을 요구할 수 있습니다.<br />
때때로, 구성 변경 사항을 업데이 트하는 동안 사용자 작업이 필요한 장소 걸릴 수있습니다<br />
{{Note|때로는, 구성 변경 사항을 업데이트 하는 동안 사용자 작업이 필요한 곳이 있을수 있습니다; 모든 팩맨의 관련 출력 정보를 읽어보세요.}}<br />
<br />
팩맨의 로그는 /var/log/pacman.log 에 저장됩니다.<br />
<br />
패키지와 관련 자주 묻는 질문, 업데이트 및 패키지 관리에 관한 답변은 [[Package_Management_FAQs|Package Management FAQs]] 참고 해주세요.<br />
<br />
=====아치는 롤링 릴리즈 모델=====<br />
아치는 '''rolling release''' 리눅스 배포판인 것을 명심하세요. 이것은 시스템을 다시 설치하거나 최신 버전으로 업그레이드하는 작업을 수행할 이유가 없다는 것을 의미합니다. 단지 '''pacman -Syu''' 정기적으로 업그레이드를 실행 해주면 항상 시스템을 최신버전으로 유지 가능합니다. 이 업그레이드가 끝이 나면 시스템은 최신버전으로 다시 설치한 것과 동일합니다. '''리부팅''' 은 커널 업그레이드가 발생 한 경우 해주면 됩니다.<br />
=====시간 동기화 (Network Time Protocol)=====<br />
당신은 시스템 시간을 원격으로 NTP 서버에 OpenNTPD를 사용하여 동기화 설정 하실수 있습니다. <br />
시스템 시작시 자동 실행을 원한다면 OpenNTPD 을 /etc/rc.conf파일의 DAEMONS= 영역에 추가 시켜 주시면 됩니다.(좀 더 자세한 사항은 [[Network Time Protocol]] 문서를 참고해주세요.)<br />
<br />
===Step 4: 사용자 추가 및 그룹 설정===<br />
<tt>UNIX</tt> 는 멀티-유저 os입니다. 당신은 루트 계정을 사용하여 일상적인 작업을 할 수 없습니다.(해서는 안 됩니다) 루트로 일반 작업을 하는것은 매우 위험한 일입니다. 루트 계정은 관리 작업을 위한 것입니다. 대신, 루트가 아닌 일반 사용자 계정을 <code>/usr/sbin/useradd</code> 을 이용해서 추가:<br />
# useradd -m -G [그룹명] -s [로그인_쉘] [계정명] <br />
* '''-m''' /home/'''사용자명'''에 사용자 홈 디렉토리를 생성. 자신의 홈 디렉토리 내에서 사용자는 문서작성, 프로그램 설치, 삭제등을 할 수있습니다. 사용자의 홈 디렉토리는 자신의 데이터와 개인 구성 파일을 포함한다 '점이 붙은 파일'(점이 붙은 파일은 보호파일), 이것은 '숨김' 형식. (숨김 형식의 파일을 보기 위해서는 여러분의 파일 브라우저 옵션에서 숨김파일 보기를 선택하거나 ls에서 -a 스위치를 사용합니다.) 만약 ''글로벌'' 설정파일(/etc/ 디렉토리 밑에 위치)과 ''사용자'' 설정파일(/home/계정명 디렉토리 밑에 위치)와 출돌시 대부분 사용자 설정파일이 우선 적용 됩니다.<br />
숨김파일은 최종 사용자에 의해 변경 될 가능성이 포함됩니다. 그 예로 xinitrc 및. bashrc 파일입니다. 이것은 각각 xinit 와 배시쉘 설정파일입니다. 이 파일들은 창 관리자를 변경하거나 로그인 별칭, 사용자 로그인 명령, 환경변수등을 지정하실 수있습니다. 이 파일들은 /etc/skel 디렉토리에 원본이 존재하며 사용자 생성시 사용자 홈 디렉토리로 복사 됩니다.<br />
* '''-G''' 이는 사용자가 속한 그룹을 지정합니다. ''각 그룹은 쉼표로, 혹은 공백''으로 구분합니다. 기본적으로 사용자에 대한 초기 그룹은 (users)에게만 속합니다.<br />
<br />
* '''-s''' 사용자의 기본 로그인쉘의 위치를 지정합니다.<br />
루트유저가 아닌 부가적인 권한 그룹:<br />
*'''audio''' - 사운드카드와 관련 작업 / 소프트웨어<br />
*'''floppy''' - 플로피디스크 접근 권한<br />
*'''lp''' - 인쇄 작업 관리<br />
*'''optical''' - 광학 드라이브(CD, DVD) 관련 작업<br />
*'''storage''' - 스토리지(하드디스크) 관련 작업<br />
*'''video''' - 비디오 작업 및 하드웨어 가속<br />
*'''wheel''' - sudo 사용<br />
*'''power''' - 전원 사용 옵션 (예: 시스템 종료, 전원버튼)<br />
일반적인 데스크탑 사용자 &quot;archie&quot; 추가 예제 (로그인 쉘 bash):<br />
# useradd -m -G users,audio,lp,optical,storage,video,wheel,power -s /bin/bash archie<br />
사용자 추가 후 새로운 로그인 암호 지정 <code>/usr/bin/passwd</code>.<br />
<br />
'archie' 사용자의 암호 지정 예제:<br />
# passwd archie<br />
(새로운 <tt>UNIX</tt> password를 물어보는 화면이 나타납니다.)<br />
<br />
루트가 아닌 여러분의 새로운 사용자 계정이 지금은 홈 디렉터리, 로그인 비밀번호가 만들어졌습니다.<br />
<br />
'''이와 유사항 방법으로 <code>/usr/sbin/adduser</code>을 사용하셔도 됩니다:'''<br />
<br />
<code>adduser</code>을 사용하는 경우, 대화형으로 위의 데이터에 대한 메시지를 표시합니다<br />
''(초보자들이 useradd보다 쉽게 사용 가능합니다)'':<br />
# adduser<br />
'''사용자 계정 삭제:'''<br />
<br />
오류나 사용자 계정이 필요 없어진, 기타 이유로 계정을 삭제해야할때는 <code>/usr/sbin/userdel</code>을 이용하시면 됩니다:<br />
# userdel -r [계정명]<br />
* '''-r ''' 사용자의 홈 디렉토리 파일과 홈 디렉터리 자체, 사용자의 메일 스풀 함께 삭제됩니다.<br />
<br />
사용자 또는 기존 사용자의 이름을 변경하고 싶다면 [[Change username]], [[Groups]] 과 [[User Management]] 문서를 참고 해주세요. 맨페이지를 보고 싶다면 <code>usermod(8)</code> 와<code>gpasswd(8)</code>를 참고 하시면 됩니다.<br />
<br />
===Step 5: Sudo 설치 및 설정 (옵션)===<br />
최신 설치 미디어 (2009.08) 이후 vi의 패키지를 업데이트 되었습니다. 따라서 sudo를 설치하기 전에 호환되지 않는 파일을 제거하려면 다음 명령을 사용하여 주세요:<br />
# rm /usr/bin/{view,rview}<br />
Sudo 와 vim 설치:<br />
# pacman -S sudo vim<br />
sudo는 사용할 사용자를 추가하려면 (a &quot;sudoer&quot;), visudo 명령을 루트로 실행해야합니다. 만약 당신이 vi가 아닌 다른 편집기를 사용한다면 visudo 실행전 아래 변수를 입력해주세요. nano편집기 사용시 예:<br />
# EDITOR=nano visudo<br />
이제 visudo 명령 시에 vi가 아닌 nano편집기가 실행 될것입니다:<br />
# visudo<br />
이것은 vi의 특별 세션에서 /etc/sudoers 파일을 읽어옵니다. 임시 파일을 수정 한후 파일이 이상 없다면 임시파일을 원본을 덮어 씁니다.<br />
<br />
{{Warning| /etc/sudoers 를 직접 편집기로 수정 하지 마세요.구문 오류가 발생시 루트 계정을 사용할 수 없게 되는 문제가 발생 할수 있습니다. 반드시 ''visudo'' 명령을 이용해서 /etc/sudoers 파일을 수정하세요.}}<br />
<br />
"sudo"명령을 이용해서 루트권한을 이용할 수 있습니다. 특정 사용자에게 전체 루트 권한을 부여하려면 visudo로 아래 설정을 추가합니다:<br />
계정명 ALL=(ALL) ALL<br />
여기서 계정명은 하나의 사용자 계정이름입니다.<br />
<br />
좀 더 자세한 사항은 [[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 the [[Intel]] 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: 데스크탑 환경 설치와 설정 ==<br />
비록 '''X''' 윈도우 시스템이 "그래픽 사용자 환경" (Graphical User Interface, GUI)의 기반을 제공하지만, '''데스크탑 환경''' (Desktop Environment, DE) 없이는 기능성과 편리함을 갖춘 GUI를 얻기 힘듭니다. 대부분의 데스크탑 환경은 윈도우 매니저, 아이콘, 애플릿, 윈도우, 툴바, 폴더, 배경화면, 기타 응용 프로그램과 드래그 앤 드롭 기능등을 지원합니다. 각 데스크탑 환경의 기능과 디자인에 따라 사용자의 전체적인 컴퓨터 사용방식이 달라지기 때문에 DE의 선정은 매우 주관적인 선택입니다. 따라서 본인에게 필요한 기능들이 지원되고 디자인이 마음에 드는 데스크탑 환경을 고르시길 추천합니다.<br />
<br />
만약 가볍고 수동설정이 가능한 GUI 환경을 원하신다면 데스크탑 환경 대신에 ""윈도우 매니저"" (Window Manager, WM)만을 설치해서 사용할수도 있습니다. 윈도우매니저는 X 윈도우 시스템상에 구동되는 프로그램들의 창(윈도우)의 위치와 모양새를 결정하지만 기본적으로 패널, 애플릿, 아이콘, 응용 프로그램등을 포함하지는 않습니다.<br />
시스템 자원을 적게 잡아먹는 가벼운 WM 예: [[#Openbox|'''Openbox''']], [[#Fluxbox|'''Fluxbox''']], [[#fvwm2|'''fvwm2''']], [[PekWM|'''pekwm''']], [[Evilwm|'''evilwm''']], '''Windowmaker''', '''TWM'''.<br />
아주 독특한 WM을 사용하고 싶으시다면 [[Awesome|'''awesome''']], [[Ion3|'''ion3''']], [[Wmii|'''wmii''']], [[Dwm|'''dwm''']], [[Xmonad|'''xmonad''']], [[Ratpoison|'''ratpoison''']]등을 사용해보세요.<br />
<br />
===Step 1: 글꼴 설치===<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 />
사전 작업: /etc/pacman.conf에 다음을 추가<br />
<br />
[jazzbug]<br />
Server = http://www.fossa.or.kr/~jazzbug/arch<br />
<br />
한글 글꼴 설치:<br />
# pacman -S koreanpack 로 묶음 설치 또는<br />
# pacman -S ttf-alee ttf-unfonts ttf-nanum ttf-daum ttf-ngcoding ... 등 필요한 것만 개별 설치<br />
<br />
영문 글꼴 설치:<br />
# pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<br />
<br />
글꼴 설정은 [[Xorg Font Configuration]] 을 참조하세요.<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: 데스크탑 환경 설치===<br />
<br />
아래 DE/WM 중에서 마음에 드는 것을 선택하세요.<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 />
=====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 />
=====설치=====<br />
기본 GNOME 환경 설치:<br />
# pacman -S gnome<br />
<br />
추가로 Extra 설치:<br />
# pacman -S gnome-extra<br />
<br />
It's safe to choose all packages shown in the extra package.<br />
<br />
=====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 />
루트로:<br />
# pacman -S gdm<br />
<br />
hal과 fam 시작:<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
<br />
/etc/rc.conf의 DAEMONS 섹션에 hal과 fam을 추가하여 부팅 시 자동시작:<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 />
또는<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은 리눅스를 위한 또 다른 프리 소프트웨어 데스크탑 환경입니다. 이 것은 시각적인 효과는 매력적이고 쉽고, 가벼우며, 신속한것을 목표로 합니다. Xfce은 재사용이 가능한 모듈로 구성됩니다. <br />
그것은 데스크탑 환경 같이 전체 기능을 제공하는 것을 선호하는 사용자가 개인적인 근무 환경을 만들기 위해 선택할 수있는 구성 요소로 구성되어있습니다. Xfce는 적당한 사양의 시스템에 현대적인 데스크탑 환경을 실행하는 데 사용됩니다. 이것은 GTK2+ 툴킷(그놈과 같이)을 기반으로 합니다. Xfwm 윈도우 매니저, 를 사용하며, 마우스로 설정을 바꿀수 잇으며 설정 파일을 사용자로가 직접 수정을 하지 않아도 됩니다.<br />
<br />
=====설치=====<br />
Xfce 설치: <br />
# pacman -S xfce4 <br />
부가적인 테마와 부가 프로그램 설치:<br />
# pacman -S xfce4-goodies gtk2-themes-collection<br />
Note: '''xfce4-xfapplet-plugin''' (이 플러그인은 Xfce4 패널에 그놈 애플릿을 사용할수 있게 해줍니다)은 '''xfce4-goodies''' 패키지 그룹에 속해 있으며 '''gnome-panel''', '''gnome-desktop''' 패키지 의존성을 필요합니다. 이를 설치 하기 전에 이 같은 의존성 패키지가 있다는 것을 참고 해주세요<br />
<br />
만약 DBUS에 대한 오류가 발생하면 DBUS를 설치 해야합니다:<br />
# pacman -S dbus<br />
<br />
만약 로그인 시 '팁과 트릭'이 필요하다면 '''fortune-mod''' 패키지를 설치 해줍니다:<br />
# pacman -S fortune-mod<br />
<br />
=====유용한 데몬=====<br />
데몬 프로그램은 백그라운드로 실행, 이벤트 및 서비스를 제공, 리콜을 기다리고있습니다. 일부 Xfce 사용자는 '''hal'''데몬을 사용하는 것을 선호합니다. hal데몬은 GUI환경에서 디스크, 광학 드라이브, 그리고 USB 드라이브의 마운트를 자동화 해줍니다. fam데몬은, 최근에 설치된 프로그램 또는 파일 시스템의 변화에 즉시 액세스할 수 있도록 GUI에서 파일의 변경 사항을 실시간으로 반영해줍니다. fam과 hal데몬은 xfce4과 같이 유용하게 사용할수 있습니다.<br />
<br />
hal과 fam 데몬의 시작:<br />
<br />
# /etc/rc.d/hal start<br />
<br />
# /etc/rc.d/fam start<br />
{{Note|hal 데몬은 의존하는 dbus데몬을 자동으로 실행합니다.}}<br />
/etc/rc.conf의 데몬 영역 편집:<br />
# nano /etc/rc.conf<br />
부팅시 자동 시작을 하려면 DAEMONS 영역에 '''hal''' 과 '''fam'''을 추가 해줍니다.<br />
<br />
{{Tip|좀 더 자세한 설치, 설정은 [[Xfce]] 문서를 참고 해주세요.}}<br />
<br />
만약 부팅시 GUI환경의 로그인이나 Xfce4의 자동 시작을 하려면 [[Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup]] 문서를 참고하세요. 그렇지 않으면 콘솔에서 실행을 통해 로그인할 수있습니다 :<br />
<br />
$ startxfce4<br />
<br />
축하합니다! 여러분의 새로운 Xfce 데스크탑 환경에 오신것을 환영합니다! 그 밖에 설치 후 팁은 [[Post Installation Tips]] 위키 문서를 참고해주세요.<br />
<br />
====LXDE====<br />
=====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 에 포함된 프로그램:<br />
# OpenBox: 창 관리자<br />
# PCManFM: 파일 관리자<br />
# LXpanel: 시스템 패널<br />
# LXSession: 세션 관리자<br />
# LXAppearance: GTK+ 테마 변환기<br />
# GPicView: 이미지 뷰어<br />
# Leafpad: 간단한 텍스트 편집기<br />
# XArchiver: 가볍고 빠른 gtk+기반의 압축파일 관리자<br />
# LXNM (개발중): LXDE에서 무선 네트워크를 지원하는 가벼운 네트워크 관리자.<br />
These lightweight and versatile tools combine for quick setup, modularity and simplicity.<br />
<br />
LXDE 설치: <br />
# pacman -S lxde gamin openbox<br />
<br />
추가:<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 />
Fluxbox 설치:<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 />
더 많은 정보를 원하시면 [[Fluxbox]] 문서를 확인하세요.<br />
<br />
=====Openbox=====<br />
Openbox는 기본에 충실며 빠르고 가벼운 확장이 가능한 창 관리자입니다.<br />
<br />
Openbox는 응용프로그램과 함께 작동하며, 당신의 데스크탑 관리를 더 쉽게합니다. 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는 기본적으로 혼자 작동하지만 GNOME 이나 KDE 같은 데스크탑 환경의 창 관리자를대신할 수 있습니다.<br />
<br />
Openbox 설치<br />
# pacman -S openbox<br />
설정도구를 원한다면 추가로 설치:<br />
# pacman -S obconf obmenu<br />
<br />
openbox를 설치하면 menu.xml 과 rc.xml 을 홈 디렉토리의 ~/.config/openbox/ 로 옮기라는 메시지가 나타납니다:<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'''는 Openbox의 기본 설정 파일입니다. 임의로 수정하거나 OBconf를 이용하여 편집할 수 있습니다. '''menu.xml'''는 마우스 오른쪽 버튼을 눌렀을 때 나타나는 매뉴의 설정 파일입니다.<br />
<br />
당신은 KDM/GDM같은 시각적인 로그인 관리자를 사용하거나, 쉘에서 '''startx'''를 입력하여 Openbox를 사용할 수 있습니다. 당신의 홈 디렉토리의 ~/.xinitrc 에 다음을 추가하세요:<br />
<br />
exec openbox-session<br />
<br />
참고: 만약 dbus(hal에 의존)를 사용할거라면 ~/.xinitrc에 다음을 추가:<br />
<br />
exec dbus-launch --exit-with-session openbox-session<br />
<br />
또는 쉘에서 '''xinit'''를 이용하여 Openbox를 사용할 수 있습니다.:<br />
$ xinit /usr/bin/openbox-session<br />
* Openbox는 GNOME, KDE, 그리고 Xfce에서 창 관리자로 사용할 수 있습니다.<br />
For KDM there is nothing left to do; openbox is listed in the sessions menu in KDM.<br />
<br />
Openbox를 위한 몇가지 가벼운 응용프로그램:<br />
* PyPanel, Tint2, 또는 LXpanel - 패널(작업표시줄)<br />
* feh - 배경 그림 표시<br />
* ROX - 가벼운 파일 관리자 (바탕화면에 응용프로그램 아이콘 표시 가능)<br />
* PcmanFM - 가볍지만 강력한 기능의 파일 관리자 (바탕화면에 응용프로그램 아이콘 표시 가능)<br />
* iDesk ([[AUR]]을 이용) - 바탕화면에 아이콘 표시<br />
* Graveman - CD나 DVD 굽기<br />
<br />
{{Tip | 더 많은 정보를 원하시면 [[Openbox]] 문서를 보세요.}}<br />
<br />
====FVWM2====<br />
FVWM (F Virtual Window Manager)는 X 윈도우 시스템을 위한 아주 강력한 ICCCM 에 부합하는 다중 가상 데스크탑 윈도우 매니저입니다. 개발이 활동적이며 지원도 훌륭합니다.<br />
<br />
팩맨을 통한 fvwm2 설치<br />
# pacman -S fvwm <br />
<br />
WM의 공식 버전이 설치될것입니다. 하지만, 제공되는것보다 다소 높은 특색이 필요한 경우, archlinuxfr([[Unofficial_user_repositories|비공식 유저 저장소]]를 보세요)나 [[AUR]]로 부터 패치된 버전을 설치 할수 있습니다. AUR이나 archlinuxfr 에서 설치를 위해서 다음 처럼 실행 합니다: <br />
$ yaourt -S fvwm-patched<br />
또는<br />
# pacman -S fvwm-patched<br />
<br />
fvwm은 kdm/gdm의 세션 메뉴내에 자동으로 추가될 것입니다. 다른 방법으로는, 다음을 <br />
exec fvwm 2 <br />
<br />
사용자의 .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 />
==일반적이고, 가벼운 프로그램==<br />
자세한 정보는 [[Common Applications]]과 [[Lightweight Applications]] 문서를 확인하세요.<br />
<br />
=부록=<br />
아치리눅스 초보자 및 미숙자를 위한 [[Beginners' Guide Appendix]]를 참고하세요.</div>
Acecero
https://wiki.archlinux.org/index.php?title=Wine&diff=93904
Wine
2010-01-28T08:23:54Z
<p>Acecero: </p>
<hr />
<div>[[Category:Wine (English)]][[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Wine}}<br />
{{i18n_entry|Español|Wine (Español)}}<br />
{{i18n_entry|Русский|Wine (Русский)}}<br />
{{i18n_entry|简体中文|Wine (简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
[http://www.winehq.org/ Wine] is a translation layer (a program loader) capable of running Windows applications on GNU/Linux and other POSIX compatible operating systems. Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop.<br />
<br />
== Installation ==<br />
=== i686 ===<br />
Wine is constantly updated and available in the [extra] repository:<br />
<br />
pacman -S wine<br />
<br />
=== x86_64 ===<br />
There's as of writing no x86_64 version of wine available, but that should be the case soon because the devs already have a hello world running.<br />
If you don't bother stuffing your PC with i686 libraries and binarys, then use one of the bin32-wine packages in the [[AUR]]: [http://aur.archlinux.org/packages.php?ID=7915 bin32-wine] and [http://aur.archlinux.org/packages.php?ID=16531 bin32-wine-suse].<br />
<br />
'''Important:''' If you have a '''nvidia'''-graphicscard, you'll need to do<br />
<br />
pacman -S lib32-nvidia-utils<br />
<br />
to use 3D-allocation! Or look [http://aur.archlinux.org/packages.php?K=lib32-nvidia-utils here] for other than the newest lib32-nvidia-utils version, if you use the nvidia-96xx driver version for example.<br />
<br />
== Configuration ==<br />
To create configuration files do<br />
winecfg<br />
review the settings and click ok to save. The wine directory with config files resides in <br />
~/.wine<br />
and by default C:\> will be mapped to<br />
~/.wine/drive_c<br />
<br />
Ok! This is the basic configuration. You can try to run something using:<br />
wine /path/to/something.exe<br />
<br />
If you're having trouble getting DirectX apps to run properly, try adding the '''-opengl''' flag:<br />
wine /path/to/3d_game.exe '''-opengl'''<br />
<br />
===Sound===<br />
{{Note|This section may be outdated.}}<br />
<br />
By default sound issues may arise when running Wine applications. Ensure only one sound device is selected in ''winecfg''. Alsa should work out of the box but is still glitchy & slow in some games, there exists a patch for this issue here:<br />
<br />
http://kcat.strangesoft.net/wine_thread_prio.diff<br />
<br />
but using oss and selecting winecfg -> Sound -> Hw acceleration -> Emulation will also fix the audio issues for you provided you are using the alsa oss emulation kernel modules. (<b>Note:</b> using the aoss utility does <i>not</i> solve the issue; you must load the snd-pcm-oss module.)<br />
<br />
===Fonts===<br />
<br />
*If wine applications are not showing easily readable fonts, you may not have Microsoft's Truetype fonts installed. Luckily arch has a package for that.<br />
pacman -S ttf-ms-fonts<br />
<br />
After running such program, kill all wine servers and run winecfg; fonts should be legible now.<br />
<br />
Other TTF fonts you wish to install should go in $C_DRIVE/windows/fonts/ (where $C_DRIVE is usually ~/.wine/drive_c) for wine to recognize them.<br />
<br />
If the fonts look somehow smeared, enter the .wine directory and create a file fontrender.txt with the content:<br />
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]<br />
"ClientSideWithRender"="N"<br />
<br />
Add the key to your wine configuration by executing the following command:<br />
regedit fontrender.txt<br />
<br />
====Enabling font anti-aliasing====<br />
<br />
{{Note | A [http://files.polosatus.ru/winefontssmoothing_en.sh script] has been created to simplify this process.}}<br />
<br />
Create a file with a .reg (example: aa.reg) with the following content :<br />
<br />
REGEDIT4<br />
<br />
[HKEY_CURRENT_USER\Control Panel\Desktop]<br />
"FontSmoothing"="2"<br />
"FontSmoothingType"=dword:00000002<br />
"FontSmoothingGamma"=dword:00000578<br />
"FontSmoothingOrientation"=dword:00000001<br />
<br />
run <br />
regedit <br />
and choose <br />
File -> Import registry file... <br />
<br />
and select your .reg file. Anti-aliasing fonts will be after the conclusion of regedit, and run wine applications again.<br />
<br />
===Sub-Menu===<br />
<br />
After installation, there will likely be no menu in your Desktop Manager. After installing a program using Wine, it will create a menu with your installed programs in it automatically. If you wish to add on to the menu to create a Ubuntu-like Wine sub-menu, then follow these instructions:<br />
<br />
====Create Menu Entries====<br />
<br />
First, install a Windows program using Wine to create the base menu. After the base menu is created, you can start to add the menu entries. In GNOME, right-click on the desktop and select "''Create Launcher...''". The steps might be different for KDE/Xfce. Make three launchers using these settings:<br />
<br />
'''Type''': Application<br />
'''Name''': Configuration<br />
'''Command''': winecfg<br />
'''Comment''': Configure the general settings for Wine<br />
<br />
'''Type''': Application<br />
'''Name''': Uninstall Programs<br />
'''Command''': wine uninstaller<br />
'''Comment''': Uninstall Windows programs under Wine properly<br />
<br />
'''Type''': Application<br />
'''Name''': Browse C:\ Drive<br />
'''Command''': wine winebrowser c:\\<br />
'''Comment''': Browse the files in the virtual Wine C:\ drive<br />
<br />
Now that you have these three launchers on your desktop, it is time to put them into the menu. But, first you should change the launchers to dynamically change icons when a new icon set is installed. To do this, open the launchers that you just made in your favorite text editor. Change the following settings to these new values:<br />
<br />
<br />
''Configuration'' launcher:<br />
Icon[en_US]=wine-winecfg<br />
Icon=wine-winecfg<br />
''Uninstall Programs'' launcher:<br />
Icon[en_US]=wine-uninstaller<br />
Icon=wine-uninstaller<br />
''Browse C:\ Drive'' launcher:<br />
Icon[en_US]=wine-winefile<br />
Icon=wine-winefile<br />
<br />
If these settings produce a ugly/non-existent icon, it means that there are no icons for these launchers in the icon set that you have enabled. You should replace the icon setting with the explicit location of the icon that you want. Clicking the icon in the launcher's properties menu will have the same effect. A great icon set that supports these shortcuts is [http://www.gnome-look.org/content/show.php/GNOME-colors?content=82562 GNOME-colors].<br />
<br />
Now that you have the launchers fully configured, 'now' it is time to put them in the menu. Plop them into "''~/.local/share/applications/wine/''" using a terminal or file browser.<br />
<br />
Wait a second, they aren't in the menu yet! There is one last step. Copy the following text into a text file named "''wine-utilities.menu''".<br />
<br />
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"<br />
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"><br />
<Menu><br />
<Name>Applications</Name><br />
<Menu><br />
<Name>wine-wine</Name><br />
<Directory>wine-wine.directory</Directory><br />
<Include><br />
<Filename>wine-Configuration.desktop</Filename><br />
</Include><br />
<Include><br />
<Filename>wine-Browse C:\ Drive.desktop</Filename><br />
</Include><br />
<Include><br />
<Filename>wine-Uninstall Programs.desktop</Filename><br />
</Include><br />
</Menu><br />
</Menu><br />
<br />
Now, just move the newly made file to the "''~/.config/menus/applications-merged/''" folder. Go check in the menu and there should be the minty fresh options waiting to be used!<br />
<br />
===KDE 4 Menu Fix[https://bugs.launchpad.net/ubuntu/+source/wine/+bug/263041]===<br />
The Wine menu items may appear in "Lost & Found" instead of the Wine menu for KDE 4. This is because kde-applications.menu is missing the MergeDir option.<br />
<br />
Edit '''/etc/xdg/menus/kde-applications.menu'''<br />
<br />
At the end of the file add <MergeDir>applications-merged</MergeDir> after <DefaultMergeDirs/>, it should look like this:<br />
<br />
<Include><br />
<And><br />
<Category>KDE</Category><br />
<Category>Core</Category><br />
</And><br />
</Include><br />
<DefaultMergeDirs/><br />
<MergeDir>applications-merged</MergeDir><br />
<MergeFile>applications-kmenuedit.menu</MergeFile><br />
</Menu><br />
<br />
Alternatively you can create a symlink to a folder that KDE does see:<br />
ln -s ~/.config/menus/applications-merged ~/.config/menus/kde-applications-merged<br />
<br />
This has the added bonus that an update to KDE won't change it, but is per user instead of system wide.<br />
<br />
=== Wine Configuration Utilities ===<br />
These tools will assist in the installation of typical Windows components. In most cases they should be used as a last effort, as it may severely alter your wine configuration. <br />
<br />
==== WineTricks ====<br />
[http://wiki.winehq.org/winetricks Winetricks] is a quick (slightly dirty) script that will allow you to install base requirements needed to run some windows programs. Installable components include DirectX 9.x, msxml (office 2007 / IE requirement), visual runtimes and many more.<br />
<br />
To install simply:<br />
pacman -S winetricks<br />
<br />
You can now start winetricks (as a normal user!) with:<br />
winetricks<br />
<br />
==== WineTools assistant ====<br />
(currently slightly outdated, but working)<br />
<br />
Winetools is a program (more of a script, in fact) that facilitates in the installation of some core components for wine in order to install other programs. Note this is not necessary for wine, but does help if you want to get Internet Explorer running.<br />
<br />
[http://www.von-thadden.de/Joachim/WineTools/ WineTools Site]<br />
<br />
Microsoft policy is that you must have a license for IE6 in order to install DCOM98 or Internet Explorer 6. If you've ever owned a copy of Windows, you should be fine.<br />
<br />
*Download the [http://aur.archlinux.org/packages.php?ID=8913 PKGBUILD]<br />
<br />
*Build the package using the [[Arch Build System]]<br />
<br />
==== Sidenet Wine Configuration Utility ====<br />
<br />
[http://sidenet.ddo.jp/winetips/config.html wine-config]<br />
<br />
* Download the latest version<br />
* unpack it<br />
* READ THE README<br />
* execute<br />
./setup<br />
* Follow the instructions<br />
<br />
'''Keep in mind''': Like stated on the [http://sidenet.ddo.jp/winetips/config.html site], you're only allowed to install DCOM98 if you possess a valid License for Windows98.<br />
<br />
==== Wine-doors ====<br />
<br />
[http://www.wine-doors.org/ Wine-doors]<br />
<br />
Wine-doors is a WineTools replacement. It features a GNOME GUI and works like a package manager. Works fine in 64bit. You can [http://aur.archlinux.org/packages.php?ID=11823 find it in the AUR].<br />
<br />
== Using Wine to execute Win16 / Win32 binaries ==<br />
<br />
You can execute binaries by calling '''wine''' manually<br />
<br />
wine programsname.exe<br />
<br />
If installing using an MSI installer, use the included '''msiexec''' utility.<br />
<br />
msiexec installername.msi<br />
<br />
It is also possible to tell the kernel to use '''wine''' as an interpreter for all Win16/Win32 binaries. First mount the binfmt_misc filesystem:<br />
<br />
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc<br />
<br />
or add this line to your '''/etc/fstab'''<br />
<br />
none /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0<br />
<br />
Then tell the kernel how to interpret Win16 and Win32 binaries:<br />
<br />
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register<br />
<br />
You can add this line to '''/etc/rc.local''' to make this setting permanent. In this case you may want to ignore stderr to avoid error messages when changing runlevels:<br />
<br />
{ echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register; } 2>/dev/null<br />
<br />
Now try this:<br />
<br />
chmod 755 exefile.exe<br />
./exefile.exe<br />
<br />
You can even remove the '''.exe''' extension, because the kernel doesn't identify the file by its extension.<br />
<br />
== Alternatives to Win16 / Win32 binaries ==<br />
<br />
* [[Cedega]] - Aimed at gamers<br />
* [[CVSCedega]] - CVS source version of cedega<br />
* [[Codeweavers]] - Codeweavers' Crossover Office; Aimed at Office Users<br />
<br />
== External Resources ==<br />
* [http://www.winehq.com/ Official Wine Website]<br />
* [http://gwos.org/doku.php/wine:winestuff Optimization Guide]<br />
* Installing Internet Explorer 5, 5.5 and 6 with wine: [[Ies4linux]]<br />
* [http://linuxgamingtoday.wordpress.com/2008/02/16/quick-tips-to-speed-up-your-gaming-in-wine/ Advanced configuring your gfx card and opengl settings on wine; Speed up wine]<br />
<!-- vim: set ft=Wikipedia: --></div>
Acecero
https://wiki.archlinux.org/index.php?title=Local_mirror&diff=93903
Local mirror
2010-01-28T08:16:58Z
<p>Acecero: </p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:HOWTOs (English)]]<br />
''' If you want to create an official mirror see [http://wiki.archlinux.org/index.php/DeveloperWiki:NewMirrors this page].'''<br />
<br />
'''NOTE:''' 95% of users will NEVER need this. Rsyncing every package from core and extra will give you a lot of stuff you will never need or use. Only follow these instructions if you are running a very large site of Arch machines. Perhaps using a [[Network Shared Pacman Cache]] would serve you better. You could also use [http://xyne.archlinux.ca/info/pkgd pkgd] to effectively create a shared cache across your LAN without the need to manage a central cache.<br />
<br />
'''NOTE:''' Due to traffic issues rsyncing from rsync.archlinux.org is allowed only for official mirrors. If you want to create an official mirror - write to the mailing list about this and entries in /etc/pacman.d/* will be added and your IP address will be allowed.<br />
<br />
If you want to get a full mirror for personal use only, you may rsync from '''rsync://distro.ibiblio.org/distros/archlinux/'''<br />
<br />
This document describes how to create a mirror on your local machine of all the packages and iso files on the Arch mirrors, how to update it using cron, how to serve the mirror with vsftpd, and how to set up pacman to use the local mirror.<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Local Mirror}}<br />
{{i18n_entry|中文(简体)|本地镜像}}<br />
{{i18n_links_end}}<br />
<br />
== Initial Setup ==<br />
<br />
First, let's update and install the necessary tools:<br />
<br />
pacman -Syu<br />
pacman -S rsync vsftpd<br />
<br />
Now, we are going to create a new user (with no login privileges) that will be used for sync operations, and as the user to serve the files with FTP. The name of our user is "mirror" in this example, but you can use any name you want. Do '''not''' use root, or any account that has login access. In order to make this secure, we want to use a user with as few privileges as possible.<br />
<br />
useradd -m -s /bin/false mirror<br />
<br />
Now, let's get on with setting up the mirror.<br />
<br />
== Creating the local mirror directory ==<br />
We will be using <tt>/home/mirror</tt>, the home directory of our unprivileged user, for storage of the scripts, logs, and packages.<br />
<br />
The first thing we need to do is create several directories in /home/mirror:<br />
<br />
cd /home/mirror<br />
sudo -u mirror mkdir {scripts,files,logs}<br />
<br />
== The synchronization script ==<br />
<br />
Now lets create the actual rsync script, <tt>scripts/mirrorsync.sh</tt>, using your favorite editor.<br />
<br />
#!/bin/bash<br />
#<br />
# The script to sync a local mirror of the Arch Linux repositories and ISOs<br />
#<br />
# Copyright (C) 2007 Woody Gilk <woody@archlinux.org><br />
# Modifications by Dale Blount <dale@archlinux.org><br />
# and Roman Kyrylych <roman@archlinux.org><br />
# Licensed under the GNU GPL (version 2)<br />
<br />
# Filesystem locations for the sync operations<br />
SYNC_HOME="/home/mirror"<br />
SYNC_LOGS="$SYNC_HOME/logs"<br />
SYNC_FILES="$SYNC_HOME/files"<br />
SYNC_LOCK="$SYNC_HOME/mirrorsync.lck"<br />
<br />
# Select which repositories to sync<br />
# Valid options are: core, extra, testing, community, iso<br />
# Leave empty to sync a complete mirror<br />
# SYNC_REPO=(core extra testing community iso)<br />
SYNC_REPO=()<br />
<br />
# Set the rsync server to use<br />
# Only official public mirrors are allowed to use rsync.archlinux.org<br />
# SYNC_SERVER=rsync.archlinux.org::ftp<br />
SYNC_SERVER=distro.ibiblio.org::distros/archlinux<br />
<br />
# Set the format of the log file name<br />
# This example will output something like this: sync_20070201-8.log<br />
LOG_FILE="pkgsync_$(date +%Y%m%d-%H).log"<br />
<br />
# Do not edit the following lines, they protect the sync from running more than<br />
# one instance at a time<br />
if [ ! -d $SYNC_HOME ]; then<br />
echo "$SYNC_HOME does not exist, please create it, then run this script again."<br />
exit 1<br />
fi<br />
<br />
[ -f $SYNC_LOCK ] && exit 1<br />
touch "$SYNC_LOCK"<br />
# End of non-editable lines<br />
<br />
# Create the log file and insert a timestamp<br />
touch "$SYNC_LOGS/$LOG_FILE"<br />
echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo ">> Starting sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
if [ -z $SYNC_REPO ]; then<br />
# Sync a complete mirror<br />
rsync -rptlv --delete-after --delay-updates $SYNC_SERVER "$SYNC_FILES" >> "$SYNC_LOGS/$LOG_FILE"<br />
else<br />
# Sync each of the repositories set in $SYNC_REPO<br />
for repo in ${SYNC_REPO[@]}; do<br />
repo=$(echo $repo | tr [:upper:] [:lower:])<br />
echo ">> Syncing $repo to $SYNC_FILES/$repo" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
# If you only want to mirror i686 packages, you can add<br />
# " --exclude=os/x86_64" after "--delete-after"<br />
# <br />
# If you only want to mirror x86_64 packages, use "--exclude=os/i686"<br />
# If you want both i686 and x86_64, leave the following line as it is<br />
#<br />
rsync -rptlv --delete-after --delay-updates $SYNC_SERVER/$repo "$SYNC_FILES" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
# Create $repo.lastsync file with timestamp like "2007-05-02 03:41:08+03:00"<br />
# which may be useful for users to know when the repository was last updated<br />
# date --rfc-3339=seconds > "$SYNC_FILES/$repo.lastsync"<br />
<br />
# Sleep 5 seconds after each repository to avoid too many concurrent connections<br />
# to rsync server if the TCP connection does not close in a timely manner<br />
sleep 5 <br />
done<br />
fi<br />
<br />
# Insert another timestamp and close the log file<br />
echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo ">> Finished sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo "" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
# Remove the lock file and exit<br />
rm -f "$SYNC_LOCK"<br />
exit 0<br />
<br />
Nothing terribly fancy here, just a slightly advanced bash script to do what we need. Let's make it executable.<br />
<br />
chmod +x scripts/mirrorsync.sh<br />
<br />
That's it, you now have an easily modifiable script. You probably don't want to have to run this manually though, so let's set up a cron job to run this for us.<br />
<br />
One note before we move on to the next step: your logs directory is going to keep growing in size. Make sure that you check it regularly so that it doesn't start overtaking the server with garbage. It is highly recommended that you set up [[LogRotate]] to manage this, or write some kind of cleanup script.<br />
<br />
== Running a cron job ==<br />
<br />
Let's make sure we have the necessary cron tools (most Arch installations will):<br />
<br />
pacman -S dcron<br />
<br />
We will be running our cron job with <tt>crontab</tt>. For more infomation, see <tt>man crontab</tt>. The benefit of running the sync with a crontab is a higher level of security, and not cluttering up <tt>/etc/cron.*</tt> with files. It also allows for a higher level of control for when the script is run.<br />
<br />
Create <tt>scripts/mirror.cron</tt> with the following contents:<br />
<br />
0 3 * * * /home/mirror/scripts/mirrorsync.sh<br />
<br />
Now we need to activate our crontab:<br />
<br />
sudo -u mirror crontab scripts/mirror.cron<br />
<br />
Let's make sure that crontab picked up our job:<br />
<br />
sudo -u mirror crontab -l<br />
<br />
You should see the contents of <tt>scripts/mirror.cron</tt> printed out. If not, rerun the previous command and check again.<br />
<br />
This cron setup will run our sync.sh script every night at 3AM. You can adjust this however you want, see http://www.adminschoice.com/docs/crontab.htm for more information on crontab syntax.<br />
<br />
=== Editing the cron job ===<br />
If you ever need to edit <tt>mirror.cron</tt>, use the following command:<br />
<br />
sudo -u mirror crontab -e<br />
<br />
If you edit the file by hand, use the following command to update crontab:<br />
<br />
sudo -u mirror crontab scripts/mirror.cron<br />
<br />
Now let's set up pacman to use our local mirror.<br />
<br />
== Setting up pacman to use the local mirror ==<br />
<br />
If you only want to access your mirror on one computer, you can use the following steps.<br />
<br />
=== Single machine ===<br />
<br />
'''NOTE:''' If you are following the above for a single machine, you are using a lot of bandwidth for no reason at all. Save it for the people that need it. This section only applies for those that will follow through with the below section as well.<br />
<br />
You will not need vsftpd for this type of setup, because we are accessing the files via a file:// url, as opposed to a ftp:// url.<br />
<br />
Add the following line to the top of <tt>/etc/pacman.d/mirrorlist</tt>, at the top of the Servers list:<br />
<br />
Server = file:///home/mirror/files/$repo/os/i686<br />
<br />
Also be sure to change <tt>i686</tt> to <tt>x86_64</tt> if you are using a 64bit version of Arch.<br />
<br />
=== Multiple machines ===<br />
<br />
Syncing this way will allow you to use FTP to access your local mirror from other machines. You can also use this method to sync to your local machine (more details on this later).<br />
<br />
==== FTP server configuration ====<br />
<br />
The first thing we need to do is configure vsftpd. Edit <tt>/etc/vsftpd.conf</tt> to look like this:<br />
<br />
# vsftpd config file /etc/vsftpd.conf<br />
#<br />
# Setup for a secure anonymous FTP server<br />
#<br />
# Listen (non-xinetd) mode<br />
listen=YES<br />
# Use tcp_wrappers to control connections<br />
tcp_wrappers=YES<br />
# Use localtimes instead of GMT for files<br />
use_localtime=YES<br />
# Hide the true user/group ID of files<br />
hide_ids=YES<br />
# <br />
# Enable anonymous access (pacman requires this)<br />
anonymous_enable=YES<br />
# Use this user for anonymous logins<br />
ftp_username=mirror<br />
# Chroot directory for anonymous user<br />
anon_root=/home/mirror/files/archlinux<br />
# Don't require a password for anonymous access (pacman requires this)<br />
no_anon_password=YES<br />
#<br />
# User to run vsftpd as (same as ftp_username)<br />
nopriv_user=mirror<br />
# Enable recursive "ls" listing<br />
ls_recurse_enable=YES<br />
#<br />
# Forcefully destroy sessions after X seconds of inactivity <br />
# (It is highly recommended to not set this above 300)<br />
idle_session_timeout=120<br />
# Forcefully stop sending data after X seconds of inactivity during a transfer<br />
# (It is highly recommended to not set this higher than idle_session_timeout)<br />
data_connection_timeout=30<br />
<br />
This setup will offer a very secure FTP server, tailored specifically for our needs. Note that this setup does '''not''' require a password, and should not be used in a publicly accessible network (unless that's what you want). ''Password protecting the FTP and still allowing it to work with pacman is beyond the scope of this document.''<br />
<br />
If you are going to connect to this machine from the outside, you will need to add the following line to <tt>/etc/hosts.allow</tt>:<br />
<br />
vsftpd : ALL : ALL<br />
<br />
Note that this will allow '''anyone''' to download from the mirror. If you want to control downloads more tightly, and don't know how to do so, see [http://linux.about.com/od/commands/l/blcmdl5_hostsal.htm linux.about.com] on the subject.<br />
<br />
Let's make sure vsftpd starts:<br />
<br />
sudo /etc/rc.d/vsftpd start<br />
<br />
If vsftpd does not start, check that the options are set correctly in your <tt>/etc/vsftpd.conf</tt> file.<br />
<br />
==== Enabling the mirror for pacman ====<br />
<br />
Now let's edit <tt>/etc/pacman.d/mirrorlist</tt> files to use our shiny new mirror. Add the following line to the top of <tt>/etc/pacman.d/mirrorlist</tt>, at the top of the Servers list:<br />
<br />
Server = ftp://192.168.1.21/$repo/os/i686<br />
<br />
Note that <tt>192.168.1.21</tt> is the IP address of my test machine. Your address will most likely be different. (Remember that you can get the current IP of an Arch box with <tt>ifconfig -a</tt> or <tt>ifconfig eth0</tt>.)<br />
<br />
If you want to use this same mirror on the local machine, use the following Server line:<br />
<br />
Server = ftp://localhost/$repo/os/i686<br />
<br />
Non-local machines will need to use an IP address to access the repository. Also make sure that the machine serving the mirror has a static IP address.<br />
<br />
== Synchronizing for the first time ==<br />
<br />
Here comes the pain! Run the following command to start the sync:<br />
<br />
sudo -u mirror ./scripts/mirrorsync.sh<br />
<br />
This won't give you any kind of output, but you probably want some. You can use something like this (correct for the name of log file) to monitor the sync progress:<br />
<br />
tail -f logs/pkgsync_20070203-9.log<br />
<br />
This process will usually take a few hours, depending on the speed of your internet connection and how many repositories you are mirroring. After the first sync, only new packages will be sync'ed, so it will be much faster.<br />
<br />
Wait for the first sync to finish, then run <tt>pacman -Syy</tt> to make sure that your new mirrors are syncing properly.<br />
<br />
That's it! You now run a local mirror which will offer you massively improved speeds when updating your packages.<br />
<br />
== Notes ==<br />
<br />
First version of this guide was written by busfahrer. He can be reached at [[ArchChannel|#archlinux]] on irc.freenode.net.<br />
<br />
Second version of this guide was written by Shadowhand. He can be reached at [[ArchChannel|#archlinux]] on irc.freenode.net.<br />
<br />
Comments and suggestions are always appreciated.</div>
Acecero
https://wiki.archlinux.org/index.php?title=Frequently_asked_questions&diff=93902
Frequently asked questions
2010-01-28T08:10:45Z
<p>Acecero: </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 />
==Q) Is Arch designed to be used as a server? A desktop? A workststion?==<br />
'''A)''' Arch is not designed for any particular type of use. Rather, it is designed for a particular type of ''user''. Arch targets competent users who enjoy its do-it-yourself nature, and who further exploit it to shape the system to fit their unique needs. Therefore, in the hands of its target user base, Arch can be used for virtually any purpose. Many use Arch on both their desktops and workstations. And of course, archlinux.org runs on Arch.<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 and firefly have ceased and they are now out of date. Please consider using [[archiso]] or [[larch]] [http://larch.berlios.de/].}}<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 below 2.22, install gnome-volume-manager:<br />
pacman -S gnome-volume-manager<br />
<br />
For GNOME above or equal to [http://library.gnome.org/misc/release-notes/2.22/ 2.22] nothing has to be done, as Nautilus is used to track removable devices.<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 or Nautilus, 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>
Acecero
https://wiki.archlinux.org/index.php?title=Mutt&diff=93901
Mutt
2010-01-28T08:08:43Z
<p>Acecero: </p>
<hr />
<div>[[Category:Internet and Email (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Mutt}}<br />
<br />
'''Mutt''' is a text-based mail client renowned for its powerful features. Mutt, though over a decade old, remains the mail client of choice for great number of power-users. Unfortunately, a default Mutt install is plagued by complex keybindings along a daunting amount of documentation. This guide will help the average user get Mutt up and running, and begin customizing as deemed fit.<br />
<br />
==Overview==<br />
Mutt focuses on being a Mail User Agent (MUA), and was originally written to only view mail. Because of this, later implemented mail retrieval, sending and filtering features are basic compared to other applications. Most Mutt setups rely on external programs to do those tasks. <br />
<br />
In any case, the Arch {{Package Official|mutt}} package has been compiled with IMAP, POP3 and SMTP support, and thus does not need external programs to deal with mail.<br />
<br />
This article will cover using both native IMAP mail sending/retrival, and a setup depending on [[OfflineIMAP]] or [[getmail]] (POP3) to retrieve mail, [[procmail]] to filter it in the case of POP3, and [[msmtp]] to send it.<br />
<br />
==Installing==<br />
Install Mutt:<br />
# pacman -S mutt<br />
<br />
Optionally install external helper applications for an IMAP setup:<br />
# pacman -S offlineimap msmtp<br />
<br />
Or if using POP3:<br />
# pacman -S getmail procmail<br />
<br />
===Notes===<br />
*If you just need the authentication methods LOGIN and PLAIN, these are satisfied with the dependency {{Package Official|libsasl}}.<br />
*If you want to (or have to) use CRAM-MD5, GSSAPI or DIGEST-MD5, install also the package {{Package Official|cyrus-sasl-plugins}}, and you're done. <br />
*if you are using Gmail as your smtp server, you may need to install the package {{Package Official|cyrus-sasl}}.<br />
<br />
==Configuring==<br />
This section covers IMAP, [[#POP3]], [[#MailDir]] and [[#SMTP]] configuration.<br />
<br />
Note that Mutt will recognize two locations for its configuration file; {{filename|~/.muttrc}} and {{filename|~/.mutt/muttrc}}. Either location will work.<br />
<br />
===IMAP===<br />
''Native and external setups''<br />
<br />
====Using native IMAP support====<br />
The pacman version of Mutt is compiled with IMAP support. At the very least you need to have 4 lines in your muttrc file to be able to access your mail.<br />
<br />
=====spoolfile=====<br />
Instead of a local mail spool, specify {{codeline|imap}} server. <br />
set spoolfile=imap[s]://imap.server.domain[:port]/folder<br />
<br />
Use {{codeline|imaps}} for SSL encryption or {{codeline|imap}} for no encryption. The port number is only needed when your server's port is non-standard. End with the folder name where new mail arrives, which is almost always INBOX. For example:<br />
set spoolfile=imaps://imap.gmail.com/INBOX<br />
<br />
=====imap_user=====<br />
set imap_user=USERNAME<br />
<br />
Continuing with the previous example, remember that gmail requires your full email address (this is not standard):<br />
set imap_user=your.username@gmail.com<br />
<br />
=====folder=====<br />
Instead of a local directory which contains all your mail (and directories), use your server (and the highest folder in the hierarchy, if needed).<br />
set folder=imap[s]://imap.server.domain[:port]/[folder/]<br />
<br />
You don't have to use a folder, but it might be convenient if you have all your other folders inside your INBOX, for example. Whatever you set here as your folder can be accessed later in Mutt with just an equal sign (=). Example:<br />
set folder=imaps://imap.gmail.com/<br />
<br />
=====mailboxes=====<br />
Any imap folders that should be checked regularly for new mail should be listed here (all on the same line).<br />
mailboxes <list of folders><br />
<br />
You can now use '=' or '+' as a substitution for the full {{codeline|folder}} path that was configured above. For example:<br />
mailboxes =INBOX =family<br />
mailboxes imaps://imap.gmail.com/INBOX imaps://imap.gmail.com/family<br />
<br />
These two versions are equivalent, but the first is much more convenient. Also, Mutt is configured by default to include a macro bound to the 'y' key which will allow you to change to any of the folders listed under mailboxes.<br />
<br />
=====Summary=====<br />
Using these options, you'll be able to start mutt, enter your IMAP password, and start reading your mail. Here is a muttrc snippet (for Gmail) with some other lines you might consider adding for better IMAP support.<br />
<pre><br />
set folder = imaps://imap.gmail.com/<br />
set spoolfile = imaps://imap.gmail.com/INBOX<br />
set imap_user = your.username@gmail.com<br />
set imap_pass = your-imap-password<br />
mailboxes = +INBOX<br />
<br />
# store message headers locally to speed things up<br />
set header_cache = ~/.mutt/hcache<br />
<br />
# specify where to save and/or look for postponed messages<br />
set postponed = +[Gmail]/Drafts<br />
<br />
# allow mutt to open new imap connection automatically<br />
set imap_passive = no<br />
<br />
# keep imap connection alive by polling intermittently (time in seconds)<br />
set imap_keepalive = 300<br />
<br />
# how often to check for new mail (time in seconds)<br />
set mail_check = 120<br />
</pre><br />
<br />
====External IMAP support====<br />
While IMAP-functionality is built into Mutt, it does not download mail for offline-use. The [[OfflineIMAP]] article describes how to download your emails to a local folder which can then be processed by Mutt.<br />
<br />
Consider using applications such as [[spamassassin]] or [[imapfilter]] to sort mail.<br />
<br />
===POP3===<br />
''Retrieving and sorting mail with external applications''<br />
<br />
====Retrieving mail====<br />
Create the directory <code>~/.getmail/</code>. Open the file <code>~/.getmail/getmailrc</code> in your favorite text editor.<br />
<br />
Here is an example <code>getmailrc</code> used with a gmail account.<br />
<pre><br />
[retriever]<br />
type = SimplePOP3SSLRetriever<br />
server = pop.gmail.com<br />
username = username@gmail.com<br />
port = 995<br />
password = password<br />
<br />
[destination]<br />
type = Maildir<br />
path = ~/mail/<br />
</pre><br />
<br />
You can tweak this to your POP3 service's specification.<br />
<br />
For this guide we will be storing our mail in the <code>maildir</code> format. The two main mailbox formats are <code>mbox</code> and <code>maildir</code>. The main difference between the two is that <code>mbox</code> is one file, with all of your mails and their headers stored in it, whereas a <code>maildir</code> is a directory tree. Each mail is its own file, which will often speed things up.<br />
<br />
A <code>maildir</code> is just a folder with the folders <code>cur</code>, <code>new</code> and <code>tmp</code> in it.<br />
mkdir -p ~/mail/{cur,new,tmp}<br />
<br />
Now, run getmail. If it works fine, you can create a cronjob for getmail to run every n hours/minutes. Type <code>crontab -e</code> to edit cronjobs, and enter the following:<br />
*/30 * * * * /usr/bin/getmail<br />
That will run <code>getmail</code> every 30 minutes.<br />
<br />
====Sorting mail====<br />
[http://www.procmail.org/ Procmail] is an extremely powerful sorting tool. For the purposes of this wiki, we will do some primitive sorting to get started.<br />
<br />
You must edit your getmailrc to pass retrieved mail to procmail:<br />
<pre><br />
[destination]<br />
type = MDA_external<br />
path = /usr/bin/procmail<br />
</pre><br />
<br />
Now, open up <code>.procmailrc</code> in your favorite editor. The following will sort all mail from the happy-kangaroos mailing list, and all mail from your lovey-dovey friend in their own maildirs.<br />
<pre><br />
MAILDIR=$HOME/mail<br />
DEFAULT=$MAILDIR/inbox/<br />
LOGFILE=$MAILDIR/log<br />
<br />
:0:<br />
* ^To: happy-kangaroos@nicehost.com<br />
happy-kangaroos/<br />
<br />
:0:<br />
* ^From: loveydovey@iheartyou.net<br />
lovey-dovey/<br />
</pre><br />
After you've saved your <code>.procmailrc</code>, run getmail and see if procmail succeeds in sorting your mail into the appropriate directories.<br />
<br />
'''Note:''' One easy to make mistake with .procmailrc is the permission. procmail require it to have permission 644 and won't give meaningless error message if you don't.<br />
<br />
===MailDir===<br />
MailDir is a generic and standardized format. Almost every MUA is able to handle MailDirs and Mutt's support is excellent. There are just a few simple things that you need to do to get Mutt to use them. Open your muttrc with and add the following lines:<br />
<pre><br />
set mbox_type=Maildir<br />
set folder=$HOME/Mail<br />
set spoolfile=+/INBOX<br />
set header_cache=~/.hcache<br />
</pre><br />
<br />
This is a minimal Configuration that enables you to access your Maildir and checks for new local Mails in INBOX. This configuration also caches the headers of the eMails to speed up directory-listings. It might not be enabled in your build (but it sure is in the Arch-Package) Note that this does not affect OfflineIMAP in any way. It always syncs the all directories on a Server. <code>spoolfile</code> tells Mutt which local directories to poll for new Mail. You might want to add more Spoolfiles (for example the Directories of Mailing-Lists) and maybe other things. But this is subject to the Mutt manual and beyond the scope of this document.<br />
<br />
===SMTP===<br />
Whether you use POP or IMAP to receive mail you will probably still send mail using SMTP.<br />
<br />
====Using native SMTP support====<br />
The pacman version of Mutt is also compiled with SMTP support. Just check the online manual [http://manual.cream.org/index.cgi/muttrc.5 muttrc], or <code>man muttrc</code> for more information.<br />
<br />
For example:<br />
<pre><br />
set my_pass='mysecretpass'<br />
set my_user=myname@gmail.com<br />
<br />
set smtp_url=smtps://$my_user:$my_pass@smtp.gmail.com<br />
set ssl_force_tls = yes<br />
</pre><br />
<br />
====External SMTP support====<br />
An external SMTP agenta such as [[msmtp]] or [[SSMTP]] can also be used. This section exclusively covers configuring Mutt for msmtp.<br />
<br />
Edit Mutt's configuration file or create it if unpresent:<br />
{{file|name=muttrc|content=<br />
set realname='Disgruntled Kangaroo'<br />
<br />
set sendmail="/usr/bin/msmtp"<br />
<br />
set edit_headers=yes<br />
set folder=~/mail<br />
set mbox=+mbox<br />
set spoolfile=+inbox<br />
set record=+sent<br />
set postponed=+drafts<br />
set mbox_type=Maildir<br />
<br />
mailboxes +inbox +lovey-dovey +happy-kangaroos<br />
}}<br />
<br />
Now, startup {{codeline|mutt}}:<br />
$ mutt<br />
<br />
You should see all the mail in {{filename|~/mail/inbox}}. Press {{keypress|m}} to compose mail; it will use the editor defined by your {{codeline|EDITOR}} environment variable. If this variable is not set, type:<br />
$ export EDITOR=editorbin<br />
<br />
For testing purposes, address the letter to yourself. After you have written the letter, save and exit the editor. You will return to Mutt, which will now show information about your e-mail. Press {{keypress|y}} to send it.<br />
<br />
==Customizing==<br />
Guides to get you started with using & customizing Mutt : <br />
* [http://mutt.blackfish.org.uk/ My first mutt] (maintained by Bruno Postle) <br />
* [http://www.therandymon.com/woodnotes/mutt/using-mutt.html The Woodnotes Guide to the Mutt Email Client] (maintained by Randall Wood)<br />
<br />
If you have any Mutt specific questions, feel free to ask in [[ArchChannel|the irc channel]].<br />
<br />
===Printing===<br />
You can install {{package AUR|muttprint}} from the [[AUR]] for a fancier printing quality.<br />
In your muttrc file, insert:<br />
set print_command="/usr/bin/muttprint %s -p {PrinterName}"<br />
<br />
===Signature block===<br />
Create a .signature in your home directory. Your signature will be appended at the end of your email.<br />
<br />
===Viewing URLs & opening Firefox===<br />
Your should start by creating a .mutt directory in $HOME if not done yet. There, create a file named macros. Insert the following:<br />
macro pager \cb <pipe-entry>'urlview'<enter> 'Follow links with urlview'<br />
<br />
Then install urlview with:<br />
pacman -S urlview<br />
<br />
Create a .urlview in $HOME and insert the following:<br />
REGEXP (((http|https|ftp|gopher)|mailto)[.:][^ >"\t]*|www\.[-a-z0-9.]+)[^ .,;\t>">\):]<br />
COMMAND firefox %s <br />
<br />
When you read an email on the pager, hitting ctrl+b will list all the urls from the email. Navigate up or down with arrow keys and hit enter on the desired url. Firefox will start and go to the selected site.<br />
<br />
*Note - urlview has been moved to unsupported and is available in AUR here[http://aur.archlinux.org/packages.php?ID=16703]<br />
<br />
*Note - If you have some problems with urlview due to Mutt's url encoding you can try [http://www.memoryhole.net/~kyle/extract_url/ extract_url.pl]<br />
<br />
===Mutt and Vim===<br />
*To limit the width of text to 72 characters, edit your .[[vim]]rc file and add:<br />
au BufRead /tmp/mutt-* set tw=72<br />
<br />
*Another choice is to use Vim's mail filetype plugin to enable other mail-centric options besides 72 character width. Edit {{filename|~/.vim/filetype.vim}}, creating it if unpresent, and add:<br />
<pre> <br />
augroup filetypedetect<br />
" Mail<br />
autocmd BufRead,BufNewFile *mutt-* setfiletype mail<br />
augroup END<br />
</pre><br />
<br />
*To set a different tmp directory, e.g. ~/.tmp, add a line to your muttrc as follows:<br />
set tmpdir="~/.tmp"<br />
<br />
*To reformat a modified text see the Vim context help<br />
:h 10.7<br />
<br />
===Viewing HTML within a Vim/Mutt setup===<br />
This setup will pass the html body to lynx and then dump it in Vim, keeping email viewing uniform and unobtrusive.<br />
<br />
Install lynx:<br />
pacman -S lynx<br />
<br />
If ''~/.mutt/mailcap'' does not exist you will need to create it and save the following to it.<br />
text/html; lynx -dump %s; nametemplate=%s.html; copiousoutput<br />
<br />
Edit muttrc and add the following,<br />
set mailcap_path = ~/.mutt/mailcap<br />
<br />
The beauty of this is, instead of seeing an html body as source or being opened by a seperate program, in this case lynx, it gets parsed to Vim as html, any url links within the email can be displayed with Ctrl+b.<br />
<br />
===Mutt and GNU nano===<br />
[[nano]] is another nice console editor to use with Mutt. <br />
<br />
To limit the width of text to 72 characters, edit your .nanorc file and add:<br />
set fill 72<br />
<br />
Also, in muttrc file, you can specify the line to start editing so that you will skip the mail header:<br />
set editor="nano +7"<br />
<br />
== Additional resources ==<br />
* [http://www.mutt.org/ The official Mutt website]<br />
* [http://wiki.mutt.org/ The Mutt wiki]</div>
Acecero
https://wiki.archlinux.org/index.php?title=NTFS-3G_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=93900
NTFS-3G (简体中文)
2010-01-28T08:07:20Z
<p>Acecero: </p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:文件系统]]<br />
[[Category:模拟器]]<br />
[[Category:HOWTOs (简体中文)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|NTFS Write Support}}<br />
{{i18n_entry|עברית|תמיכה בכתיבה במחיצות NTFS}}<br />
{{i18n_entry|Русский|Поддержка NTFS Записи}}<br />
{{i18n_entry|简体中文|NTFS 的写支持}}<br />
{{i18n_links_end}}<br />
<br />
本文介绍如何使用ntfs-3g来读写NTFS分区<br />
<br />
==安装ntfs-3g==<br />
<br />
确保已启动[extra]软件仓库,然后安装ntfs-3g<br />
# pacman -S ntfs-3g<br />
<br />
==基本配置==<br />
<br />
===手动挂载===<br />
要手动挂载一个NTFS分区,可以在终端里执行以下命令。<br />
ntfs-3g /dev/sda1 /mnt/<mount point><br />
<br />
===修改fstab===<br />
在{{Filename|/etc/fstab}}中的基本条目为:<br />
<partition> <mount point> ntfs-3g defaults 0 0<br />
<br />
例如:<br />
/dev/sda1 /mnt/windows ntfs-3g defaults 0 0<br />
<br />
{{Box Note | 如果你的ntfs-3g是2009.1.1以前的旧版本,则需要加上参数{{Codeline|locale&#61;<locale>}},如{{Codeline|defaults,locale&#61;en_PH.utf8}},这样才能正确显示文件名。}}<br />
<br />
==高级配置==<br />
通常,我们不希望在这里使用'''defaults'''选项,因为我们需要对如何挂载NTFS分区进行更多控制。<br />
===编辑fstab===<br />
编辑你的/etc/fstab:<br />
<partition> <mount point> ntfs-3g <options> 0 0<br />
<br />
例如:<br />
/dev/sda1 /mnt/windows ntfs-3g users,uid=1000,gid=100,fmask=0113,dmask=0002 0 0<br />
<br />
* '''上面的例子将会:'''<br />
#可以让任何用户卸载你的NTFS分区(挂载未实现)。<br />
#user({{Codeline|uid&#61;1000}})和group({{Codeline|gid&#61;100}})拥有分区的所有文件,并且对文件有-rw-rw-r-- (0664)权限,对目录有drwxrwxr-x (0775)权限(尚未实现)。<br />
<br />
===典型的、非常有用的ntfs-3g选项===<br />
* '''users''' - 假如ntfs-3g可执行文件设置了SUID root''(命令:'''chmod u+s /bin/ntfs-3g''')'',则允许任何人挂载/卸载NTFS分区。请注意,你要用'''users'''而不是'''user'''<br />
* '''uid''' - 指定NTFS分区中文件和目录的拥有者(用十进制数表示)<br />
* '''gid''' - 指定NTFS分区中文件和目录的用户组(用十进制数表示)<br />
* '''fmask''' - 文件权限(八进制数掩码)<br />
* '''dmask''' - 目录权限(八进制数掩码)<br />
* '''locale''' - 曾经用来让使用国际化字符集的文件可见。在ntfs-3g 2009.1.1和更新的版本中已不再需要。<br />
* '''noauto''' - 启动时不要自动挂载分区<br />
<br />
===掩码值===<br />
要无需任何计算就可以较易弄懂特定权限的掩码值,可以这样做:<br />
#启动一个新的shell会话。使用任何你喜好的终端模拟器。<br />
#使用'''umask'''命令获得指定权限设置的八进制数。<br />
##使用umask"设置"文件创建时掩码。例如:<pre>$ umask ug=rw,o=r</pre>请注意{{Codeline|ug&#61;rw,o&#61;r}}等于-rw-rw-r--或者0664。<br />
##直接不带参数执行umask获取八进制数。<pre>$ umask</pre>将会显示<pre>0113</pre><br />
<br />
* 请参考chmod的manpage中'''EXTENDED DESCRIPTION'''段的内容获取关于'''mode'''运算对象的更多信息。(新文件创建掩码的字符串格式)。<br />
<br />
==损坏的NTFS文件系统==<br />
<br />
如果NTFS文件系统有错,ntfs-3g会以只读方式挂载它。要修复NTFS系统,你得启动Windows并使用它的磁盘检查程序。在Linux下无法修复NTFS 文件系统。<br />
<br />
==挂载分区==<br />
此处内容可以挂载你的NTFS分区来检测是否一切正常。你写在{{Filename|fstab}}中的一切将会在计算机启动时被自动挂载。<br />
# mount <partition><br />
或者<br />
# mount <mount point><br />
<br />
例如<br />
# mount /dev/sda1<br />
# mount /mnt/backup<br />
<br />
== 使用HAL来挂载分区 ==<br />
[[HAL]]可以通过热插拔来自动挂载你的NTFS分区。创建一个[[HAL#NTFS_write_access|custom HAL policy]],然后把你的用户加入到'''storage'''用户组中以获取写权限。<br />
<br />
== 疑难排解 ==<br />
如果你按本指南内容操作也无法挂在你的NTFS分区,可以尝试一下在{{Filename|fstab}}中的所有ntfs分区里加上UUID。<br />
<br />
如果你想随时切换NTFS驱动器或分区的写权限,可以看看AUR里的[http://aur.archlinux.org/packages.php?ID=8178 ntfs-config]。</div>
Acecero
https://wiki.archlinux.org/index.php?title=Local_mirror&diff=93899
Local mirror
2010-01-28T08:04:32Z
<p>Acecero: </p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:HOWTOs (English)]]<br />
''' If you want to create an official mirror see [http://wiki.archlinux.org/index.php/DeveloperWiki:NewMirrors this page].'''<br />
<br />
'''NOTE:''' 95% of users will NEVER need this. Rsyncing every package from core and extra will give you a lot of stuff you will never need or use. Only follow these instructions if you are running a very large site of Arch machines. Perhaps using a [[Network Shared Pacman Cache]] would serve you better. You could also use [http://xyne.archlinux.ca/info/pkgd pkgd] to effectively create a shared cache across your LAN without the need to manage a central cache.<br />
<br />
'''NOTE:''' Due to traffic issues rsyncing from rsync.archlinux.org is allowed only for official mirrors. If you want to create an official mirror - write to the mailing list about this and entries in /etc/pacman.d/* will be added and your IP address will be allowed.<br />
<br />
If you want to get a full mirror for personal use only, you may rsync from '''rsync://distro.ibiblio.org/distros/archlinux/'''<br />
<br />
This document describes how to create a mirror on your local machine of all the packages and iso files on the Arch mirrors, how to update it using cron, how to serve the mirror with vsftpd, and how to set up pacman to use the local mirror.<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Local Mirror}}<br />
{{i18n_entry|中文(简体)|本地镜像}}<br />
{{i18n_links_end}}<br />
<br />
== Initial Setup ==<br />
<br />
First, let's update and install the necessary tools:<br />
<br />
pacman -Syu<br />
pacman -S rsync vsftpd<br />
<br />
Now, we are going to create a new user (with no login privileges) that will be used for sync operations, and as the user to serve the files with FTP. The name of our user is "mirror" in this example, but you can use any name you want. Do '''not''' use root, or any account that has login access. In order to make this secure, we want to use a user with as few privileges as possible.<br />
<br />
useradd -m -s /bin/false mirror<br />
<br />
Now, let's get on with setting up the mirror.<br />
<br />
== Creating the local mirror directory ==<br />
We will be using <tt>/home/mirror</tt>, the home directory of our unprivileged user, for storage of the scripts, logs, and packages.<br />
<br />
The first thing we need to do is create several directories in /home/mirror:<br />
<br />
cd /home/mirror<br />
sudo -u mirror mkdir {scripts,files,logs}<br />
<br />
== The synchronization script ==<br />
<br />
Now lets create the actual rsync script, <tt>scripts/mirrorsync.sh</tt>, using your favorite editor.<br />
<br />
#!/bin/bash<br />
#<br />
# The script to sync a local mirror of the Arch Linux repositories and ISOs<br />
#<br />
# Copyright (C) 2007 Woody Gilk <woody@archlinux.org><br />
# Modifications by Dale Blount <dale@archlinux.org><br />
# and Roman Kyrylych <roman@archlinux.org><br />
# Licensed under the GNU GPL (version 2)<br />
<br />
# Filesystem locations for the sync operations<br />
SYNC_HOME="/home/mirror"<br />
SYNC_LOGS="$SYNC_HOME/logs"<br />
SYNC_FILES="$SYNC_HOME/files"<br />
SYNC_LOCK="$SYNC_HOME/mirrorsync.lck"<br />
<br />
# Select which repositories to sync<br />
# Valid options are: core, extra, testing, community, iso<br />
# Leave empty to sync a complete mirror<br />
# SYNC_REPO=(core extra testing community iso)<br />
SYNC_REPO=()<br />
<br />
# Set the rsync server to use<br />
# Only official public mirrors are allowed to use rsync.archlinux.org<br />
# SYNC_SERVER=rsync.archlinux.org::ftp<br />
SYNC_SERVER=distro.ibiblio.org::distros/archlinux<br />
<br />
# Set the format of the log file name<br />
# This example will output something like this: sync_20070201-8.log<br />
LOG_FILE="pkgsync_$(date +%Y%m%d-%H).log"<br />
<br />
# Do not edit the following lines, they protect the sync from running more than<br />
# one instance at a time<br />
if [ ! -d $SYNC_HOME ]; then<br />
echo "$SYNC_HOME does not exist, please create it, then run this script again."<br />
exit 1<br />
fi<br />
<br />
[ -f $SYNC_LOCK ] && exit 1<br />
touch "$SYNC_LOCK"<br />
# End of non-editable lines<br />
<br />
# Create the log file and insert a timestamp<br />
touch "$SYNC_LOGS/$LOG_FILE"<br />
echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo ">> Starting sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
if [ -z $SYNC_REPO ]; then<br />
# Sync a complete mirror<br />
rsync -rptlv --delete-after --delay-updates $SYNC_SERVER "$SYNC_FILES" >> "$SYNC_LOGS/$LOG_FILE"<br />
else<br />
# Sync each of the repositories set in $SYNC_REPO<br />
for repo in ${SYNC_REPO[@]}; do<br />
repo=$(echo $repo | tr [:upper:] [:lower:])<br />
echo ">> Syncing $repo to $SYNC_FILES/$repo" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
# If you only want to mirror i686 packages, you can add<br />
# " --exclude=os/x86_64" after "--delete-after"<br />
# <br />
# If you only want to mirror x86_64 packages, use "--exclude=os/i686"<br />
# If you want both i686 and x86_64, leave the following line as it is<br />
#<br />
rsync -rptlv --delete-after --delay-updates $SYNC_SERVER/$repo "$SYNC_FILES" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
# Create $repo.lastsync file with timestamp like "2007-05-02 03:41:08+03:00"<br />
# which may be useful for users to know when the repository was last updated<br />
# date --rfc-3339=seconds > "$SYNC_FILES/$repo.lastsync"<br />
<br />
# Sleep 5 seconds after each repository to avoid too many concurrent connections<br />
# to rsync server if the TCP connection does not close in a timely manner<br />
sleep 5 <br />
done<br />
fi<br />
<br />
# Insert another timestamp and close the log file<br />
echo ">> ---" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo ">> Finished sync on $(date --rfc-3339=seconds)" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo "=============================================" >> "$SYNC_LOGS/$LOG_FILE"<br />
echo "" >> "$SYNC_LOGS/$LOG_FILE"<br />
<br />
# Remove the lock file and exit<br />
rm -f "$SYNC_LOCK"<br />
exit 0<br />
<br />
Nothing terribly fancy here, just a slightly advanced bash script to do what we need. Let's make it executable.<br />
<br />
chmod +x scripts/mirrorsync.sh<br />
<br />
That's it, you now have an easily modifiable script. You probably don't want to have to run this manually though, so let's set up a cron job to run this for us.<br />
<br />
One note before we move on to the next step: your logs directory is going to keep growing in size. Make sure that you check it regularly so that it doesn't start overtaking the server with garbage. It is highly recommended that you set up [[LogRotate]] to manage this, or write some kind of cleanup script.<br />
<br />
== Running a cron job ==<br />
<br />
Let's make sure we have the necessary cron tools (most Arch installations will):<br />
<br />
pacman -S dcron<br />
<br />
We will be running our cron job with <tt>crontab</tt>. For more infomation, see <tt>man crontab</tt>. The benefit of running the sync with a crontab is a higher level of security, and not cluttering up <tt>/etc/cron.*</tt> with files. It also allows for a higher level of control for when the script is run.<br />
<br />
Create <tt>scripts/mirror.cron</tt> with the following contents:<br />
<br />
0 3 * * * /home/mirror/scripts/mirrorsync.sh<br />
<br />
Now we need to activate our crontab:<br />
<br />
sudo -u mirror crontab scripts/mirror.cron<br />
<br />
Let's make sure that crontab picked up our job:<br />
<br />
sudo -u mirror crontab -l<br />
<br />
You should see the contents of <tt>scripts/mirror.cron</tt> printed out. If not, rerun the previous command and check again.<br />
<br />
This cron setup will run our sync.sh script every night at 3AM. You can adjust this however you want, see http://www.adminschoice.com/docs/crontab.htm for more information on crontab syntax.<br />
<br />
=== Editing the cron job ===<br />
If you ever need to edit <tt>mirror.cron</tt>, use the following command:<br />
<br />
sudo -u mirror crontab -e<br />
<br />
If you edit the file by hand, use the following command to update crontab:<br />
<br />
sudo -u mirror crontab scripts/mirror.cron<br />
<br />
Now let's set up pacman to use our local mirror.<br />
<br />
== Setting up pacman to use the local mirror ==<br />
<br />
If you only want to access your mirror on one computer, you can use the following steps.<br />
<br />
=== Single machine ===<br />
<br />
'''NOTE:''' If you are following the above for a single machine, you are using a lot of bandwidth for no reason at all. Save it for the people that need it. This section only applies for those that will follow through with the below section as well.<br />
<br />
You will not need vsftpd for this type of setup, because we are accessing the files via a file:// url, as opposed to a ftp:// url.<br />
<br />
Add the following line to the top of <tt>/etc/pacman.d/mirrorlist</tt>, at the top of the Servers list:<br />
<br />
Server = file:///home/mirror/files/$repo/os/i686<br />
<br />
Also be sure to change <tt>i686</tt> to <tt>x86_64</tt> if you are using a 64bit version of Arch.<br />
<br />
=== Multiple machines ===<br />
<br />
Syncing this way will allow you to use FTP to access your local mirror from other machines. You can also use this method to sync to your local machine (more details on this later).<br />
<br />
==== FTP server configuration ====<br />
<br />
The first thing we need to do is configure vsftpd. Edit <tt>/etc/vsftpd.conf</tt> to look like this:<br />
<br />
# vsftpd config file /etc/vsftpd.conf<br />
#<br />
# Setup for a secure anonymous FTP server<br />
#<br />
# Listen (non-xinetd) mode<br />
listen=YES<br />
# Use tcp_wrappers to control connections<br />
tcp_wrappers=YES<br />
# Use localtimes instead of GMT for files<br />
use_localtime=YES<br />
# Hide the true user/group ID of files<br />
hide_ids=YES<br />
# <br />
# Enable anonymous access (pacman requires this)<br />
anonymous_enable=YES<br />
# Use this user for anonymous logins<br />
ftp_username=mirror<br />
# Chroot directory for anonymous user<br />
anon_root=/home/mirror/files/archlinux<br />
# Don't require a password for anonymous access (pacman requires this)<br />
no_anon_password=YES<br />
#<br />
# User to run vsftpd as (same as ftp_username)<br />
nopriv_user=mirror<br />
# Enable recursive "ls" listing<br />
ls_recurse_enable=YES<br />
#<br />
# Forcefully destroy sessions after X seconds of inactivity <br />
# (It is highly recommended to not set this above 300)<br />
idle_session_timeout=120<br />
# Forcefully stop sending data after X seconds of inactivity during a transfer<br />
# (It is highly recommended to not set this higher than idle_session_timeout)<br />
data_connection_timeout=30<br />
<br />
This setup will offer a very secure FTP server, tailored specifically for our needs. Note that this setup does '''not''' require a password, and should not be used in a publicly accessible network (unless that's what you want). ''Password protecting the FTP and still allowing it to work with pacman is beyond the scope of this document.''<br />
<br />
If you are going to connect to this machine from the outside, you will need to add the following line to <tt>/etc/hosts.allow</tt>:<br />
<br />
vsftpd : ALL : ALL<br />
<br />
Note that this will allow '''anyone''' to download from the mirror. If you want to control downloads more tightly, and don't know how to do so, see [http://linux.about.com/od/commands/l/blcmdl5_hostsal.htm linux.about.com] on the subject.<br />
<br />
Let's make sure vsftpd starts:<br />
<br />
sudo /etc/rc.d/vsftpd start<br />
<br />
If vsftpd does not start, check that the options are set correctly in your <tt>/etc/vsftpd.conf</tt> file.<br />
<br />
==== Enabling the mirror for pacman ====<br />
<br />
Now let's edit <tt>/etc/pacman.d/mirrorlist</tt> files to use our shiny new mirror. Add the following line to the top of <tt>/etc/pacman.d/mirrorlist</tt>, at the top of the Servers list:<br />
<br />
Server = ftp://192.168.1.21/$repo/os/i686<br />
<br />
Note that <tt>192.168.1.21</tt> is the IP address of my test machine. Your address will most likely be different. (Remember that you can get the current IP of an Arch box with <tt>ifconfig -a</tt> or <tt>ifconfig eth0</tt>.)<br />
<br />
If you want to use this same mirror on the local machine, use the following Server line:<br />
<br />
Server = ftp://localhost/$repo/os/i686<br />
<br />
Non-local machines will need to use an IP address to access the repository. Also make sure that the machine serving the mirror has a static IP address.<br />
<br />
== Synchronizing for the first time ==<br />
<br />
Here comes the pain! Run the following command to start the sync:<br />
<br />
sudo -u mirror ./scripts/mirrorsync.sh<br />
<br />
This won't give you any kind of output, but you probably want some. You can use something like this (correct for the name of log file) to monitor the sync progress:<br />
<br />
tail -f logs/pkgsync_20070203-9.log<br />
<br />
This process will usually take a few hours, depending on the speed of your internet connection and how many repositories you are mirroring. After the first sync, only new packages will be sync'ed, so it will be much faster.<br />
<br />
Wait for the first sync to finish, then run <tt>pacman -Sy</tt> to make sure that your new mirrors are syncing properly.<br />
<br />
That's it! You now run a local mirror which will offer you massively improved speeds when updating your packages.<br />
<br />
== Notes ==<br />
<br />
First version of this guide was written by busfahrer. He can be reached at [[ArchChannel|#archlinux]] on irc.freenode.net.<br />
<br />
Second version of this guide was written by Shadowhand. He can be reached at [[ArchChannel|#archlinux]] on irc.freenode.net.<br />
<br />
Comments and suggestions are always appreciated.</div>
Acecero
https://wiki.archlinux.org/index.php?title=SonyEricsson_samba_sharing&diff=93571
SonyEricsson samba sharing
2010-01-25T09:10:22Z
<p>Acecero: </p>
<hr />
<div>[[Category:Other hardware (English)]]<br />
<br />
You can have acess to Sony Ericsson phones and phone cards via samba sharing. It works even with old firmware and you have still full functional phone, not like USB mass storage mode.<br />
<br />
====Supported Phones====<br />
* Se C702<br />
<br />
====Setting Up Phone====<br />
<br />
* Settings > Connectivity > USB > USB network > USB Network type > Via Computer<br />
* Settings > Connectivity > Network sharing > set up name and password<br />
* Settings > Connectivity > Sreaming settings > Connect using > USB Ethernet (set ip adress eg. 192.168.0.50, mask 255.255.255.0)<br />
* Settings > Connectivity > Sreaming settings > Connect using > USB Ethernet > Allow local connection > Yes<br />
<br />
====Setting Up Computer====<br />
<br />
* you must have installed samba: <br />
<pre><br />
sudo pacman -S samba smbclient<br />
</pre><br />
* start samba: <br />
<pre><br />
sudo /etc/rc.d/samba start<br />
</pre><br />
<br />
* plug in phone in '''Phone Mode'''<br />
* set IP for phone:<br />
<pre><br />
sudo ifconfig usb0 192.168.0.50<br />
</pre><br />
<br />
* now you should be able to ping your phone<br />
<pre><br />
ping 192.168.0.50<br />
</pre><br />
<br />
* in eg. Konqueror you can browse phone by entering <pre> smb://192.168.0.50 </pre> enter name and password you choosed in phone<br />
<br />
<br />
====External Links====<br />
<br />
This wiki is based on [in czech] :<br />
[[http://www.abclinuxu.cz/poradna/hardware/show/250631]]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Qc-usb&diff=93569
Qc-usb
2010-01-25T09:09:33Z
<p>Acecero: </p>
<hr />
<div>[[Category:Other hardware (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Retrieving Qc-usb drivers HOWTO}}<br />
{{i18n_entry|简体中文|Qc-usb (简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
= Introduction =<br />
This guide will help you retrieve the qc-usb drivers for your Quickcam.<br />
<br />
= Downloading and installing =<br />
<br />
Download and install the driver with: <br /><br />
<br />
<pre><br />
pacman -S qc-usb<br />
</pre><br />
<br />
If you use an alternate kernel, you can build the module with the PKGBUILD located [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/modules/qc-usb/?cvsroot=AUR&only_with_tag=CURRENT here] yourself.<br />
<br />
= Finding the module =<br />
<br />
The module is called '''c-qcam'''. Load it with <tt>modprobe</tt> or add it to MODULES in <tt>/etc/rc.conf</tt>. Udev should autoload it on reboot, though.<br />
<br />
'''NOTE:''' If you have a Logitech Quickcam Messenger webcam, you need the [http://aur.archlinux.org/packages.php?do_Details=1&ID=9073 qc-usb-messenger package], also in [community].</div>
Acecero
https://wiki.archlinux.org/index.php?title=Brother_MFC-420CN&diff=93565
Brother MFC-420CN
2010-01-25T09:04:13Z
<p>Acecero: </p>
<hr />
<div>[[Category:Printers_(English)]]<br />
[[Category:Imaging_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
= Introduction =<br />
This is a brief tutorial to make the Brother MFC-420CN printer/scanner work on Arch. While this tutorial is based on the MFC-420CN specifically, it can be used as a general guide for most Brother MFC model printers (substituting MFC-420CN for your model where needed).<br />
On [http://solutions.brother.com/linux/en_us/index.html Brother's Linux Driver page] you can find extra information along with drivers for different printer models.<br />
<br />
= Printer =<br />
== Prerequisites ==<br />
This tutorial assumes you have the following packages installed. Failure to do so may result in hard to trace issues with printing.<br />
* cups<br />
* ghostscript<br />
* gsfonts<br />
* foomatic-filters<br />
* arch x86_64 requires lib32-libcups<br />
<br />
If you previously tried to install the printer in CUPS, remove it and any remaining driver files!!<br />
<br />
Brother's scripts make use of the C Shell (csh) instead of the more common Bash. We must install tcsh from the "extra" repo.<br />
# pacman -S tcsh<br />
<br />
Brother's scripts look for C Shell in /bin/csh but will fail with the error "Bad Interpreter" unless we correct this to /usr/bin/tcsh. As root lets create a symbolic link:<br />
# ln -s /usr/bin/tcsh /bin/csh<br />
<br />
Your user is a member of the printer group (lp). Be sure to logout for changes to take affect.<br />
# usermod -aG lp [username]<br />
<br />
Additional info about setting up [[CUPS]] if needed.<br />
<br />
== Download printer drivers ==<br />
Brother actively supplies Linux drivers for it's MFC series printers in RPM and DEB formats. Luckily there are tools to change these formats into something Arch can use.<br />
<br />
First create a temporary directory.<br />
<br />
Then you must download the official LPR drivers from the Brother website into this directory. Click [http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/lpr_others/MFC420CNlpr-1.0.2-1.i386.rpm&lang=English_lpr here] to download the MFC-420CN LPR driver (RPM archive).<br />
<br />
You should also download the CUPS wrapper script. Click [http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/cups_wrapper/cupswrapperMFC420CN-1.0.0-1.i386.rpm&lang=English_gpl here] to download the MFC-420CN CUPS wrapper script (RPM archive). This script creates the filters and PPD file for CUPS automatically saving us from extra work.<br />
<br />
== Extracting the RPM files ==<br />
Now you need a small script called rpmextract which allows you to extract files from the RPM you've just downloaded.<br />
<br />
In the terminal as root:<br />
# pacman -S rpmextract<br />
<br />
Extract both RPM files :<br />
$ rpmextract.sh MFC420CNlpr-1.0.2-1.i386.rpm<br />
$ rpmextract.sh cupswrapperMFC420CN-1.0.0-1.i386.rpm<br />
<br />
== Editing files to make it work with Arch ==<br />
Arch Linux uses its own file system organization, so we'll have to edit some files. Assuming you are still in the temporary directory you created. You can use your favorite text editor to edit usr/local/Brother/cupswrapper/cupswrapperMFC420CN-1.0.0 and change all instances of <i>/etc/init.d/</i> to <i>/etc/rc.d/</i> '''OR''' you can just do the following.<br />
<br />
As root in terminal:<br />
# sed -i 's|/etc/init.d|/etc/rc.d|' usr/local/Brother/cupswrapper/cupswrapperMFC420CN-1.0.0<br />
<br />
Once you've finished this step, copy all of the files to their corresponding directories in your file system :<br />
# cp -r usr/* /usr<br />
<br />
== Installing the printer (Local USB) ==<br />
Now lets run the script to install the driver for us.<br />
<br />
As root in terminal:<br />
/usr/local/Brother/cupswrapper/cupswrapperMFC420CN-1.0.0<br />
<br />
It will stop the cups daemon if it's running, and restart it.<br />
<br />
Now go to the CUPS setup page: http://localhost:631/<br />
Click on '''Manage Printers''' you should see your MFC-420CN printer automatically installed and configured. Print a test page!<br />
<br />
If the test page fails with error "Printer not connected; will retry in 30 seconds..." then.<br />
# Click Delete Printer and remove the automatically created printer.<br />
# Click Administration --> Find New Printers<br />
# You should see your Brother printer listed here, add it!<br />
# Print a test page<br />
<br />
NOTE: Be sure to add '''cups''' to the DAEMON line in rc.conf so it loads everytime at startup.<br />
<br />
== Installing the printer (Network, Ethernet) ==<br />
Now lets run the script to install the driver for us.<br />
<br />
As root in terminal:<br />
/usr/local/Brother/cupswrapper/cupswrapperMFC420CN-1.0.0<br />
<br />
It will stop the cups daemon if it's running, and restart it.<br />
<br />
Now go to the CUPS setup page: http://localhost:631/<br />
# Click Manage Printers --> Delete Printer and remove the automatically created printer.<br />
# Click Administration --> Find New Printers<br />
# You should see your Brother printer listed here, add it!<br />
# Print a test page<br />
<br />
If Find New Printers doesn't list any printers you can try to set it up manually.<br />
# Click Add Printer<br />
# Location can be left blank, but can have something in it for reference sake, Description can be left blank, but can also have something in it for reference sake. Click continue<br />
# Choose the device "Appsocket/HP JetDirect" then click continue<br />
# Set the Device URI to <i>socket://192.168.0.10:9100</i><br />
# Select the make <i>Brother</i><br />
# Select the printer <i>Brother MFC-420CN CUPS</i><br />
# Click finish and print a test page.<br />
<br />
NOTE: Be sure to add '''cups''' to the DAEMON line in rc.conf so it loads everytime at startup.<br />
<br />
NOTE: for Brother DCP340-CW. If you would like to print wireless, try and modify the previous added printer using Cups:<br />
# Click Printers.<br />
# Click Modify Printer for the printer you installed previously<br />
# Click Continue<br />
# Choose LPD/LPR Host or Printer<br />
# Write in the filed Device URI: lpd://192.168.1.199/binary_p1. Of course, replace that ip with yours.<br />
# Choose Brother manufacturer and Brother MFC-210 Cups wrapper driver in the next screen<br />
# Click on Modify Printer<br />
<br />
and you will be able to print also using wifi of DCP340-CW.<br />
<br />
=Scanner=<br />
First, make sure you [http://wiki.archlinux.org/index.php/Scanner_setup_%26_configure set up SANE].<br />
<br />
<br />
This scanner works with Brother's [http://solutions.brother.com/linux/sol/printer/linux/sane_drivers.html brscan2] driver. ([http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/sane_others/brscan2-0.2.4-0.i386.rpm&lang=English_sane 32 bit] | [http://www.brother.com/cgi-bin/agreement/agreement.cgi?dlfile=http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/sane_others/64bit/brscan2-0.2.4-0.x86_64.rpm&lang=English_sane 64 bit])<br />
<br />
You can refer here for up to date scanner drivers:<br />
http://solutions.brother.com/linux/en_us/download_scn.html<br />
<br />
<br />
You'll need to extract the files to a temp path:<br />
$ rpmextract brscan2-0.2.4-0.i386.rpm<br />
or, for 64 bit:<br />
$ rpmextract brscan2-0.2.4-0.x86_64.rpm<br />
<br />
Now copy the files to their corresponding directories in your file system:<br />
# cp -r /path/to/brscan/usr/* /usr<br />
<br />
Now you'll need to add "brother2" to the end of /etc/sane.d/dll.conf<br /><br />
Brother felt it necessary to include a script to do that, so you can also run:<br />
# /usr/local/Brother/sane/setupSaneScan2 -i<br />
<br />
For a networked brother scanner:<br />
# brsaneconfig2 -a name=[ANY_NAME] model=[EXACT_MODEL] ip=[IP_ADDR]<br />
<br />
Example:<br />
# brsaneconfig2 -a name=MFC420CN model=MFC-420CN ip=10.1.1.90<br />
<br />
To test the networked scanner, you can install xsane:<br />
# pacman -S xsane<br />
<br />
And run it to verify the installation (as a luser):<br />
$ xsane<br />
<br />
==Scan Key Install (Optional)==<br />
This allows the scanner to be recognized in other programs such as GIMP. This information is a condensed and consolidated version off of Brother's linux support site ([http://solutions.brother.com/linux/en_us/instruction_scn3.html#config1 Link])<br />
<br />
You'll need to extract the files to a temp path:<br />
$ rpmextract brscan-skey-0.2.1-1.i386.rpm<br />
<br />
While in the directory that contains the extracted content, run:<br />
# cp -r ./usr/* /usr<br />
<br />
Run the setup script for brscan-key:<br />
# /usr/local/Brother/sane/brscan-skey-0.2.1-1.sh<br />
<br />
Execute the tool to verify that the previously installed scanner is recognized:<br />
# brscan-skey -l<br />
<br />
Expect the following output:<br />
# brscan-skey -l<br />
<br />
MFC420CN : brother2:net1;dev0 : 10.1.1.90 Active<br />
<br />
After you receive the above output via brscan-key, check the File-> Create list in GIMP (tested v. 2.6.4) and there should be two more entries:<br />
XSane: Device Dialog...<br />
XSane: brother2:net1;dev0<br />
<br />
If the new entries appear, congratulations! Your (networked) Brother scanner is now available via any XSane interface!<br />
<br />
==Troubleshooting==<br />
===I can scan as root, but not as a normal user===<br />
Make sure your user is in the scanner group:<br />
# gpasswd -a username scanner<br />
then log out and back in.<br />
<br />
If you still can't scan as a normal user, check that /usr/lib/sane (or /usr/lib64/sane for 64 bit) are readable and executable for your user/group.<br />
<br />
===64 bit caveat===<br />
The 64 bit RPM has two files in /usr/lib64/, along with two symlinks to each file. However, the Arch64 Sane package will probably look in /usr/lib/ rather than /usr/lib64/, so we'll need to create some more symlinks. And since the symlinks reference the absolute path, not the relative path, ie:<br />
linkedfile -> /usr/lib64/originalfile<br />
rather than<br />
linkedfile -> ./originalfile<br />
a simple cp -r /path/to/brscan/usr/lib64/* /usr/lib/ won't do.<br />
<br />
# ln -s /usr/lib64/libbrcolm2.so.1.0.1 /usr/lib/<br />
# ln -s /usr/lib64/libbrscandec2.so.1.0.0 /usr/lib/<br />
# ln -s /usr/lib64/sane/libsane-brother2.so.1.0.7 /usr/lib/sane/<br />
# cd /usr/lib<br />
# ln -s libbrcolm2.so.1.0.1 libbrcolm2.so.1<br />
# ln -s libbrcolm2.so.1 libbrcolm2.so<br />
# ln -s libbrscandec2.so.1.0.0 libbrscandec2.so.1<br />
# ln -s libbrscandec2.so.1 libbrscandec2.so<br />
# cd sane<br />
# ln -s libsane-brother2.so.1.0.7 libsane-brother2.so.1<br />
# ln -s libsane-brother2.so.1 libsane-brother2.so<br />
<br />
Here's all of that in a nice bash friendly string:<br />
ln -s /usr/lib64/libbrcolm2.so.1.0.1 /usr/lib/; ln -s /usr/lib64/libbrscandec2.so.1.0.0 /usr/lib/; ln -s /usr/lib64/sane/libsane-brother2.so.1.0.7 /usr/lib/sane/; cd /usr/lib; ln -s libbrcolm2.so.1.0.1 libbrcolm2.so.1; ln -s libbrcolm2.so.1 libbrcolm2.so; ln -s libbrscandec2.so.1.0.0 libbrscandec2.so.1; ln -s libbrscandec2.so.1 libbrscandec2.so; cd sane; ln -s libsane-brother2.so.1.0.7 libsane-brother2.so.1; ln -s libsane-brother2.so.1 libsane-brother2.so<br />
<br />
= PC FAX =<br />
Brother also has a Linux driver for the PC FAX features of this printer. For more information about the PC Fax drivers please see the [http://solutions.brother.com/linux/en_us/index.html Brother Linux Driver page].</div>
Acecero
https://wiki.archlinux.org/index.php?title=Install_Arch_i586&diff=93561
Install Arch i586
2010-01-25T09:00:05Z
<p>Acecero: </p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:I586 (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{out of date}}<br />
= Preface =<br />
This document tries to describe the process which let me successfully build Arch Linux under other architectures.<br />
<br />
= Requirements =<br />
* A faster PC with Arch Linux already installed, we'll use it to build packages for i586.<br />
* free disk space about 2G bytes.<br />
: (space reqirement might grow to 4GB for a core repository per the begin of 2009)<br />
* enough time, experience and temper prepared for fixing any problem encountered during the long long build<br />
: (the core repository might take two days to build, excluding those failed, on a 2GHz E5405)<br />
<br />
= Step 1. Prepare build enviroment =<br />
Prepare your system for build tasks as described in [[Makepkg#Setting Things Up]] :<br />
pacman -S base-devel abs<br />
Check /etc/abs.conf for activated repos, you should have at least core activated, check out or update <br />
your abs tree. Then create an work directory for your i586 PKGBUILDs and duplicate repos into it.<br />
# abs<br />
# mkdir -p /home/i586/abs<br />
# cd /home/i586/abs<br />
# cp -r /var/abs/core .<br />
: (in order to avoid building packages as root, it is better to customize specific ~/.abs.conf and ~/.makepkg.conf instead of system-wide /etc/abs.conf and /etc/makepkg.conf)<br />
You also should create an directory where you will put the packages. <br />
# mkdir -p /home/i586/pkg<br />
Edit the /etc/makepkg.conf or copy to ~/.makepkg.conf , modify the following lines, we'll use -mtune option for x86 can also use the binary packages.<br />
CARCH="i586"<br />
CHOST="i586-pc-linux-gnu"<br />
CFLAGS="-mtune=i586 -O2 -pipe"<br />
CXXFLAGS="-mtune=i586 -O2 -pipe"<br />
For faster compiling take a look on ccache and/or distcc.<br />
<br />
= Step 2. Build packages =<br />
After we have prepared our build enviroment now is the time to run some last commands and get some coffee. Change to your <br />
i586 abs directory and run makeworld. <br />
# cd /home/i586/abs<br />
# makeworld --clean --ignorearch --syncdeps --rmdeps --noconfirm /home/i586/pkg/core/ core/<br />
When you didn't want to repeat typing your root pw for resolving dependencies you could<br />
allow your build user to use pacman without retyping pw. See [[Disable root password and gain su sudo with no password]] for more information.<br />
: (sudo is designed with security concerns, environs are stripped during sessions; so for those have only proxied access to the internet, it is better to expicitly allow passing environs like http_proxy/ftp_proxy/RSYNC_PROXY etc in /etc/sudoer)<br />
And don't forget to deactivate it after using for building process!<br />
<br />
= Step 3. Solve Problem during Compiling =<br />
After the build Process come to an end, we should check which packages have problems while building.<br />
# grep failed build.log<br />
Then you should change to the package directorys in your abs copy and retry building it.<br />
# cd core/<failed package><br />
# PKGDEST=/home/i586/pkg/core/ makepkg --clean --ignorearch --syncdeps --rmdeps<br />
For more information about building packages see in [[makepkg]]<br />
<br />
= Step 4. Share Built Packages for i586 =<br />
Set up a [[Custom local repository]] for sharing your packages with the target system.<br />
<br />
= Step 5. Install Arch Linux on i586 by bootable linux =<br />
See [[Install Arch from within another distro]], and use your custom repos as package source.<br />
More soon ....</div>
Acecero
https://wiki.archlinux.org/index.php?title=Install_Arch_i586&diff=93560
Install Arch i586
2010-01-25T08:59:11Z
<p>Acecero: </p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:I586 (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{out of date}}<br />
= Preface =<br />
This document tries to describe the process which let me successfully build Arch Linux under other architectures.<br />
<br />
= Requirements =<br />
* A faster PC with Arch Linux already installed, we'll use it to build packages for i586.<br />
* free disk space about 2G bytes.<br />
: (space reqirement might grow to 4GB for a core repository per the begin of 2009)<br />
* enough time, experience and temper prepared for fixing any problem encountered during the long long build<br />
: (the core repository might take two days to build, excluding those failed, on a 2GHz E5405)<br />
<br />
= Step 1. Prepare build enviroment =<br />
Prepare your system for build tasks as described in [[Makepkg#Setting Things Up]] :<br />
pacman -S base-devel<br />
pacman -S abs<br />
Check /etc/abs.conf for activated repos, you should have at least core activated, check out or update <br />
your abs tree. Then create an work directory for your i586 PKGBUILDs and duplicate repos into it.<br />
# abs<br />
# mkdir -p /home/i586/abs<br />
# cd /home/i586/abs<br />
# cp -r /var/abs/core .<br />
: (in order to avoid building packages as root, it is better to customize specific ~/.abs.conf and ~/.makepkg.conf instead of system-wide /etc/abs.conf and /etc/makepkg.conf)<br />
You also should create an directory where you will put the packages. <br />
# mkdir -p /home/i586/pkg<br />
Edit the /etc/makepkg.conf or copy to ~/.makepkg.conf , modify the following lines, we'll use -mtune option for x86 can also use the binary packages.<br />
CARCH="i586"<br />
CHOST="i586-pc-linux-gnu"<br />
CFLAGS="-mtune=i586 -O2 -pipe"<br />
CXXFLAGS="-mtune=i586 -O2 -pipe"<br />
For faster compiling take a look on ccache and/or distcc.<br />
<br />
= Step 2. Build packages =<br />
After we have prepared our build enviroment now is the time to run some last commands and get some coffee. Change to your <br />
i586 abs directory and run makeworld. <br />
# cd /home/i586/abs<br />
# makeworld --clean --ignorearch --syncdeps --rmdeps --noconfirm /home/i586/pkg/core/ core/<br />
When you didn't want to repeat typing your root pw for resolving dependencies you could<br />
allow your build user to use pacman without retyping pw. See [[Disable root password and gain su sudo with no password]] for more information.<br />
: (sudo is designed with security concerns, environs are stripped during sessions; so for those have only proxied access to the internet, it is better to expicitly allow passing environs like http_proxy/ftp_proxy/RSYNC_PROXY etc in /etc/sudoer)<br />
And don't forget to deactivate it after using for building process!<br />
<br />
= Step 3. Solve Problem during Compiling =<br />
After the build Process come to an end, we should check which packages have problems while building.<br />
# grep failed build.log<br />
Then you should change to the package directorys in your abs copy and retry building it.<br />
# cd core/<failed package><br />
# PKGDEST=/home/i586/pkg/core/ makepkg --clean --ignorearch --syncdeps --rmdeps<br />
For more information about building packages see in [[makepkg]]<br />
<br />
= Step 4. Share Built Packages for i586 =<br />
Set up a [[Custom local repository]] for sharing your packages with the target system.<br />
<br />
= Step 5. Install Arch Linux on i586 by bootable linux =<br />
See [[Install Arch from within another distro]], and use your custom repos as package source.<br />
More soon ....</div>
Acecero
https://wiki.archlinux.org/index.php?title=Hwdetect&diff=93559
Hwdetect
2010-01-25T08:57:01Z
<p>Acecero: </p>
<hr />
<div>[[Category:Hardware detection and troubleshooting (English)]]<br />
hwdetect is a hardware detection script primarily used to load or list modules for use in [[rc.conf]] or [[mkinitcpio]].conf. The script makes use of information exported by the [[Wikipedia:Sysfs|sysfs]] subsystem employed by the Linux kernel.<br />
<br />
==Installation==<br />
<br />
The {{Package Official|hwdetect}} package is available in [extra]:<br />
<br />
# pacman -S hwdetect<br />
<br />
==Usage==<br />
<br />
Options:<br />
--kernel_version= use kernel version (no autodetect)<br />
--ide-legacy use old ide modules instead of pata<br />
--load-modules load all detected modules<br />
--unload-modules unload all detected modules<br />
--show-modules show all detected modules<br />
--show-modules-order shows load order of detected modules<br />
--show-agp show AGP modules<br />
--show-ide show IDE modules<br />
--show-scsi show SCSI modules<br />
--show-sata show SATA modules<br />
--show-usb show USB modules<br />
--show-fw show FIREWIRE modules<br />
--show-net show NETWORK modules<br />
--show-input show INPUT modules<br />
--show-irda show IRDA modules<br />
--show-isdn show ISDN modules<br />
--show-pcmcia show PCMCIA modules<br />
--show-sound show SOUND modules<br />
--show-video show VIDEO modules<br />
--show-other show OTHER modules<br />
<br />
For /etc/mkinitcpio.conf use:<br />
--hostcontroller show MODULES= for all hostcontrollers<br />
--vmware add BusLogic to MODULES for vmware<br />
<br />
--hooks show HOOKS=<br />
--hooks-dir use this directory for HOOKS check<br />
--dsdt add dsdt to HOOKS=<br />
--raid add raid to HOOKS=<br />
--raid-partitions add raid-partitions to HOOKS=<br />
--encrypt add encrypt to HOOKS=<br />
--lvm2 add lvm2 to HOOKS=<br />
--keymap add keymap to HOOKS=<br />
--usb add usb to HOOKS=<br />
--fw add fw to HOOKS=<br />
--pcmcia add pcmcia to HOOKS=<br />
--nfs add net to HOOKS=<br />
<br />
For /etc/rc.conf use:<br />
--net show network MODULES<br />
--modules show all detected MODULES<br />
<br />
==Example==<br />
<br />
You can use the following method to disable {{Codeline|MOD_AUTOLOAD}} in [[rc.conf]]. This should improve boot times, as time will not be spent discovering modules.<br />
# hwdetect --modules<br />
<br />
The command should output something similar to the following (of course, output depends on the system):<br />
MODULES=(ac battery button processor thermal video cdrom ....) <br />
<br />
Copy this output to replace the {{Codeline|MODULES}} section in {{Filename|/etc/rc.conf}} and change {{Codeline|MOD_AUTOLOAD}} from "yes" to "no". The system should now skip the auto-load and boot faster.</div>
Acecero
https://wiki.archlinux.org/index.php?title=Cpufrequtils&diff=93557
Cpufrequtils
2010-01-25T08:51:42Z
<p>Acecero: </p>
<hr />
<div>[[Category:Power management (English)]]<br />
[[Category:CPU (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start}} {{DISPLAYTITLE:cpufrequtils}}<br />
{{Article summary text|An overview of the popular userspace tools for the kernel [http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufreq.html CPUfreq] subsystem.}}<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|English|Cpufrequtils}}<br />
{{i18n_entry|Русский|Cpufrequtils (Русский)}}<br />
{{i18n_entry|Español|Cpufrequtils (Español)}}<br />
{{i18n_entry|Português|Cpufrequtils (Português)}}<br />
{{i18n_entry|简体中文|Cpufrequtils (简体中文)}}<br />
{{i18n_entry|Türkçe|Cpufrequtils (Türkçe)}}<br />
{{Article summary heading|Related articles}}<br />
{{Article summary wiki|pm-utils}}<br />
{{Article summary wiki|powernowd}}<br />
{{Article summary end}}<br />
<br />
{{Package Official|cpufrequtils}} is a set of utilities designed to assist ''CPU frequency scaling'', a technology used primarily by notebooks that enables the operating system to scale the CPU speed up or down, depending on the current system load and/or power scheme. For instance, CPU frequency scaling can run a 2GHz processor at 1GHz when a notebook is on battery power, thereby conserving battery life and lowering core temperatures.<br />
<br />
When used in conjunction with [[pm-utils]], notebook owners are provided with a complete power management suite.<br />
<br />
Note that <tt>cpufrequtils</tt> is not the only way one can manage/throttle one's CPU. [[powernowd]] is a simple alternative for adjusting the speed of your CPU depending on system load.<br />
<br />
This article covers installation and basic configuration of the <tt>cpufrequtils</tt> package.<br />
<br />
'''Note:''' <tt>cpufrequtils</tt> is not the same as <tt>cpufreqd</tt>. Never run both <tt>cpufreq'''d'''</tt> and <tt>cpufreq</tt> daemons.<br />
<br />
== Installation ==<br />
<br />
The {{Package Official|cpufrequtils}} package is available in the [extra] repository:<br />
# pacman -S cpufrequtils<br />
<br />
== Configuration ==<br />
<br />
Configuring CPU scaling is a 3-part process:<br />
# Load appropriate CPU frequency driver<br />
# Load desired scaling governor(s)<br />
# Configure and load frequency scaling daemon (optional)<br />
<br />
=== CPU frequency driver ===<br />
In order for frequency scaling to work properly, the operating system must first know the limits of the CPU(s). To accomplish this, a kernel module is loaded that can read and manage the specifications of the CPU(s).<br />
<br />
Most modern notebooks and desktops can simply use the '''<tt>acpi-cpufreq</tt>''' driver. However, other options include the <tt>p4-clockmod</tt>, <tt>powernow-k6</tt>, <tt>powernow-k7</tt>, <tt>powernow-k8</tt>, and <tt>speedstep-centrino</tt> drivers. To see a full list of available drivers, run the following:<br />
<br />
$ ls /lib/modules/*/kernel/arch/*/kernel/cpu/cpufreq<br />
<br />
{{Tip|For an AMD "K10" CPU like Phenom X4, use the <tt>powernow-k8</tt> driver.}}<br />
<br />
To load the CPU frequency driver manually:<br />
<br />
==== Intel ====<br />
# modprobe acpi-cpufreq<br />
<br />
For older Intel CPUs, the command above may return with: <br />
FATAL: Error inserting acpi_cpufreq ([...]/acpi-cpufreq.ko): No such device<br />
<br />
In this case, replace the kernel module <tt>acpi-cpufreq</tt> with <tt>speedstep-centrino</tt>, <tt>p4-clockmod</tt> or <tt>speedstep-ich</tt>.<br />
<br />
==== AMD ====<br />
# modprobe powernow-k{6,7,8}<br />
<br />
Not all of the <tt>powernow-k*</tt> drivers may be available or necessary. If loading one of them fails, try loading them individually.<br />
<br />
=== Closing notes ===<br />
To load the driver automatically at startup, add the appropriate driver to the MODULES array within {{Filename|/etc/rc.conf}}. For example:<br />
MODULES=( '''acpi-cpufreq''' vboxdrv fuse fglrx iwl3945 ... )<br />
<br />
Once the appropriate cpufreq driver is loaded, detailed information about the CPU(s) can be displayed by running: <br />
$ cpufreq-info<br />
<br />
The output should appear similar to the following:<br />
<br />
{{Command<br />
|name=cpufreq-info<br />
|output=<nowiki><br />
analyzing CPU 0:<br />
driver: acpi-cpufreq<br />
CPUs which need to switch frequency at the same time: 0 1<br />
hardware limits: 1000 MHz - 2.00 GHz<br />
available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz<br />
available cpufreq governors: ondemand, performance<br />
current policy: frequency should be within 1000 MHz and 2.00 GHz.<br />
The governor "performance" may decide which speed to use<br />
within this range.<br />
current CPU frequency is 2.00 GHz.<br />
analyzing CPU 1:<br />
driver: acpi-cpufreq<br />
CPUs which need to switch frequency at the same time: 0 1<br />
hardware limits: 1000 MHz - 2.00 GHz<br />
available frequency steps: 2.00 GHz, 1.67 GHz, 1.33 GHz, 1000 MHz<br />
available cpufreq governors: ondemand, performance<br />
current policy: frequency should be within 1000 MHz and 2.00 GHz.<br />
The governor "performance" may decide which speed to use<br />
within this range.<br />
current CPU frequency is 2.00 GHz.<br />
</nowiki>}}<br />
<br />
Monitoring the CPU speed in real-time can be achieved by running:<br />
watch grep \"cpu MHz\" /proc/cpuinfo<br />
<br />
=== Scaling governors ===<br />
<br />
Governors can be thought of as pre-configured power schemes for the CPU. These governors must be loaded as kernel modules in order to be seen by such programs as ''kpowersave'' and ''gnome-power-manager''. One may load as many governors as desired (only one will be active at any given time).<br />
<br />
Available governors:<br />
<br />
;{{Codeline|performance}} ''(default)'': The performance governor is built into the kernel and runs the CPU(s) at maximum clock speed<br />
;{{Codeline|cpufreq_ondemand}} ''(recommended)'': Dynamically increases/decreases the CPU(s) clock speed based on system load<br />
;{{Codeline|cpufreq_conservative}}: Similar to {{Codeline|ondemand}}, but more conservative (clock speed changes are more graceful)<br />
;{{Codeline|cpufreq_powersave}}: Runs the CPU at minimum speed<br />
;{{Codeline|cpufreq_userspace}}: Manually configured clock speeds by user<br />
<br />
Add the desired governor(s) to the MODULES array in {{Filename|/etc/rc.conf}}:<br />
MODULES=(acpi-cpufreq '''cpufreq_ondemand''' '''cpufreq_powersave''' vboxdrv fuse fglrx iwl3945 ... )<br />
<br />
Alternatively, manually set the governor by running the {{Codeline|cpufreq-set}} command (as root). However, this setting will not be saved after a reboot/shutdown. For example:<br />
# cpufreq-set -g ondemand<br />
<br />
Run {{Codeline|cpufreq-set --help}} or {{Codeline|man cpufreq-set}} for more information.<br />
<br />
==== Interaction with ACPI events ====<br />
<br />
Users may configure scaling governors to switch automatically based on different ACPI events such as connecting the AC adapter or closing a laptop lid. Events are defined in {{Filename|/etc/acpi/handler.sh}}. If the {{Package Official|acpid}} package is installed, the file should already exist and be executable. For example, to change the scaling governor from {{Codeline|performance}} to {{Codeline|conservative}} when the AC adapter is disconnected and change it back if reconnected:<br />
<br />
{{File<br />
|name=/etc/acpi/handler.sh<br />
|content=<nowiki><br />
[...]<br />
<br />
ac_adapter)<br />
case "$2" in<br />
AC*)<br />
case "$4" in<br />
00000000)<br />
echo "conservative" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor <br />
echo -n $minspeed >$setspeed<br />
#/etc/laptop-mode/laptop-mode start<br />
;;<br />
00000001)<br />
echo "performance" >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo -n $maxspeed >$setspeed<br />
#/etc/laptop-mode/laptop-mode stop<br />
;;<br />
esac<br />
;;<br />
*) logger "ACPI action undefined: $2" ;;<br />
esac<br />
;;<br />
<br />
[...]<br />
</nowiki>}}<br />
<br />
==== Changing the {{Codeline|ondemand}} governor's threshold ====<br />
<!-- ln from [[Browser Plugins#Flash Performance]] --><br />
To change when the {{Codeline|ondemand}} governor switches to a higher multiplier, one can manipulate {{Filename|/sys/devices/system/cpu/cpu'''#'''/cpufreq/ondemand/up_threshold}}. Determine the current setting by issuing the following command as root:<br />
# cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold<br />
<br />
The value returned should be <tt>95</tt>, the default setting as of kernel version 2.6.31. This means that the {{Codeline|ondemand}} governor currently increases the clock rate if a core reaches 95% utilization. The can be changed, for example:<br />
# echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold<br />
<br />
The governor will now switch to a higher clock rate if a core reaches 50% utilization. <br />
<br />
To re-apply this setting during boot, add the command to {{Filename|/etc/rc.local}}.<br />
<br />
{{Tip|One user found it necessary to use {{Codeline|1=(sleep 2 && echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold) &}} or the command would fail with a "path not found" message during boot.}}<br />
<br />
{{Note|Adjusting only {{Codeline|cpu0}} should work fine on multi-core systems, as other entries that belong to the same physical processor are adjusted automatically.}}<br />
<br />
=== Daemon mode ===<br />
<br />
<tt>cpufrequtils</tt> also installs a daemon which allows users to set the desired scaling governor and min/max clock speeds at boot-time, without the need for additional tools such as ''kpowersave''. This is a perfect solution for those running a lightweight desktop, such as [[Openbox]].<br />
<br />
Before starting the daemon, edit {{Filename|/etc/conf.d/cpufreq}} as root, selecting the desired governor and setting the min/max speed for your CPU(s), for example:<br />
<br />
{{File<br />
|name=/etc/conf.d/cpufreq<br />
|content=<nowiki><br />
#configuration for cpufreq control<br />
<br />
# valid governors:<br />
# ondemand, performance, powersave,<br />
# conservative, userspace<br />
governor="ondemand"<br />
<br />
# valid suffixes: Hz, kHz (default), MHz, GHz, THz<br />
min_freq="1GHz"<br />
max_freq="2GHz"<br />
</nowiki>}}<br />
<br />
{{Note|The exact min/max values of the CPU(s) can be determined by running {{Codeline|cpufreq-info}} after loading the CPU driver (e.g. {{Codeline|modprobe acpi-cpufreq}}). However, these values are optional. Users may omit them entirely by deleting or commenting out the min/max_freq lines; scaling will work automatically.}}<br />
<br />
With the appropriate configuration, start the daemon with the following command:<br />
# /etc/rc.d/cpufreq start<br />
<br />
To start the daemon automatically at startup, add {{Codeline|cpufreq}} to the DAEMONS array in {{Filename|/etc/rc.conf}}, for example:<br />
DAEMONS=(syslog-ng hal '''cpufreq''' dhcdbd networkmanager !network !netfs @alsa @crond @cups @fam @ntpd @sshd)<br />
<br />
== Troubleshooting ==<br />
<br />
* Some applications, like [[ntop]], do not respond well to automatic frequency scaling. In the case of ntop it can result in segmentation faults and lots of lost information as even the {{Codeline|ondemand}} governor cannot change the frequency quickly enough when a lot of packages suddenly arrive at the monitored network interface that cannot be handled by the current processor speed.<br />
<br />
* Some CPUs may suffer from poor performance with the default settings of the {{Codeline|ondemand}} governor (e.g. flash videos not playing smoothly or stuttering window animations). Instead of completely disabling frequency scaling to resolve these issues, the aggressiveness of frequency scaling can be increased by lowering the ''up_threshold'' sysctl variable for each CPU. See [[#Changing the ondemand governor's threshold]].</div>
Acecero
https://wiki.archlinux.org/index.php?title=General_purpose_mouse&diff=92902
General purpose mouse
2010-01-20T22:57:15Z
<p>Acecero: </p>
<hr />
<div>[[Category:Daemons and system services (English)]]<br />
[[Category:Other desktop user's resources (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Installing and enabling the GPM daemon.}}<br />
{{Article summary heading|Language}}<br />
{{i18n_entry|English|Console Mouse Support}}<br />
{{i18n_entry|Italiano|How to use a mouse in the console (Italiano)}}<br />
{{i18n_entry|Русский|Как использовать мышь в консоли}}<br />
{{i18n_entry|简体中文|在 console 中使用鼠标 (简体中文)}}<br />
{{i18n_entry|Español|Como usar un mouse en la consola (Español)}}<br />
<!--<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|}}<br />
--><br />
{{Article summary end}} __NOEDITSECTION__<br />
GPM, short for General Purpose Mouse, is a daemon that provides mouse support for Linux virtual consoles. It is included in most Linux distributions.<br />
<br />
==Installing==<br />
Install {{package Official|gpm}} with [[pacman]]:<br />
# pacman -S gpm<br />
<br />
==Configuring==<br />
The {{Codeline|-m}} parameter precedes the declaration of the mouse to be used. The {{Codeline|-t}} parameter precedes the type of mouse. To get a list of available types for the {{Codeline|-t}} option, run gpm with {{Codeline|-t help}}.<br />
$ gpm -m /dev/input/mice -t help<br />
<br />
If the mouse only has 2 buttons, pass {{Codeline|-2}} to {{Codeline|GPM_ARGS}} and button-2 will preform the paste function.<br />
<br />
The gpm package needs to be started with a few parameters. These parameters can be added in the file {{Filename|/etc/conf.d/gpm}} or used when running gpm directly.<br />
* For PS/2 mice, replace the existing line with:<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
* Whereas USB mice should use:<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
* And IBM Trackpoints need:<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
Once a suitable configuration has been found, adding {{Codeline|gpm}} into the {{codeline|DAEMONS}} array in {{Filename|/etc/rc.conf}} will make {{Codeline|gpm}} load at boot. Example:<br />
DAEMONS=(syslog-ng '''gpm''' network netfs crond)<br />
<br />
For more information see {{Codeline|man gpm}}.</div>
Acecero
https://wiki.archlinux.org/index.php?title=General_purpose_mouse&diff=92901
General purpose mouse
2010-01-20T22:54:08Z
<p>Acecero: </p>
<hr />
<div>[[Category:Daemons and system services (English)]]<br />
[[Category:Other desktop user's resources (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Installing and enabling the GPM daemon.}}<br />
{{Article summary heading|Language}}<br />
{{i18n_entry|English|Console Mouse Support}}<br />
{{i18n_entry|Italiano|How to use a mouse in the console (Italiano)}}<br />
{{i18n_entry|Русский|Как использовать мышь в консоли}}<br />
{{i18n_entry|简体中文|在 console 中使用鼠标 (简体中文)}}<br />
{{i18n_entry|Español|Como usar un mouse en la consola (Español)}}<br />
<!--<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|}}<br />
--><br />
{{Article summary end}} __NOEDITSECTION__<br />
GPM, short for ''g''eneral ''p''urpose ''m''ouse, is a daemon that provides mouse support for Linux virtual consoles. It is included in most Linux distributions.<br />
<br />
==Installing==<br />
Install {{package Official|gpm}} with [[pacman]]:<br />
# pacman -S gpm<br />
<br />
==Configuring==<br />
The {{Codeline|-m}} parameter precedes the declaration of the mouse to be used. The {{Codeline|-t}} parameter precedes the type of mouse. To get a list of available types for the {{Codeline|-t}} option, run gpm with {{Codeline|-t help}}.<br />
$ gpm -m /dev/input/mice -t help<br />
<br />
If the mouse only has 2 buttons, pass {{Codeline|-2}} to {{Codeline|GPM_ARGS}} and button-2 will preform the paste function.<br />
<br />
The gpm package needs to be started with a few parameters. These parameters can be added in the file {{Filename|/etc/conf.d/gpm}} or used when running gpm directly.<br />
* For PS/2 mice, replace the existing line with:<br />
GPM_ARGS="-m /dev/psaux -t ps2"<br />
* Whereas USB mice should use:<br />
GPM_ARGS="-m /dev/input/mice -t imps2"<br />
* And IBM Trackpoints need:<br />
GPM_ARGS="-m /dev/input/mice -t ps2"<br />
<br />
Once a suitable configuration has been found, adding {{Codeline|gpm}} into the {{codeline|DAEMONS}} array in {{Filename|/etc/rc.conf}} will make {{Codeline|gpm}} load at boot. Example:<br />
DAEMONS=(syslog-ng '''gpm''' network netfs crond)<br />
<br />
For more information see {{Codeline|man gpm}}.</div>
Acecero
https://wiki.archlinux.org/index.php?title=Arch_Hurd_Project&diff=91996
Arch Hurd Project
2010-01-13T06:30:44Z
<p>Acecero: </p>
<hr />
<div>== Introduction ==<br />
The Arch Hurd Project is, unsurprisingly, a project to get a working Arch system running on GNU/Hurd. This page will, at some point, tell you how you too, can get an Arch Hurd system. Maybe we'll even set up repositories and suchlike, even a website if this thing takes off.<br />
<br />
Currently we don't have anything but an idea, some people crazy enough to like the idea, and the promise of some PKGBUILDs and a working cross compiler. Sorry.<br />
<br />
== Stage 1 - Cross-compiler ==<br />
Staying consistent with Arch, the target we will build for is i686-pc-gnu. Sources for Hurd components are obtained from their [http://git.savannah.gnu.org/cgit/hurd/ git] repo.<br />
<br />
Build order (from [http://nic-nac-project.de/~schwinge/tmp/cross-gnu here]):<br />
* binutils<br />
* gcc (pass 1)<br />
* mach<br />
* mig<br />
* hurd<br />
* glibc (pass 1)<br />
* libpthread<br />
* gcc (pass 2)<br />
* glibc (pass 2)<br />
<br />
As script to generate a cross compile environment is available [http://allanmcrae.com/scripts/crosshurd.sh here]. Currently this uses binutils-2.19.1, gcc-4.1.2, glibc-2.7 and is built for i586-pc-gnu.<br />
<br />
Newer and more updated scripts are available [http://allanmcrae.com/hurd/ here].<br />
<br />
== Stage 2 - Cross-compile a bootable system ==<br />
<br />
A minimal bootable GNU system requires (at least) these packages built in roughly this order...<br />
* gnumach-headers (built above)<br />
* hurd-headers (built above)<br />
* libpthreads (built above)<br />
* glibc (built above)<br />
* gnumach<br />
* hurd<br />
* coreutils<br />
* bash<br />
* (grub)<br />
<br />
== Stage 3 - Natively build packages ==<br />
<br />
* get makepkg/pacman working<br />
* build packages<br />
* make install CD<br />
* party!<br />
<br />
== Ideas ==<br />
Just what makes something Arch-like? Add ideas to this list.<br />
<br />
* pacman/makepkg for package management<br />
* Some form of ABS tree (in git/svn/cvs/whatever to allow easy package rollbacks, perhaps?)<br />
* Something like the /etc/rc.conf file (anybody know anything about the Hurd boot process?)<br />
* optimization - build for i686.<br />
* mkinitcpio<br />
<br />
== Repositories ==<br />
I (Barrucadu) have a tonne of spare space/bandwidth on my Dreamhost account, so when this gets rolling if people want to volunteer to port/maintain packages they use, the repositories can live on there.<br />
<br />
If I set up a git repo for the ABS tree, a packaging mailing list, and repositories (core/extra should do in the beginning, I imagine), I could give volunteers access to those so we could make progress.<br />
<br />
== Links ==<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?pid=682472 The forum thread]<br />
<br />
[http://www.gnu.org/software/hurd/ Hurd project homepage, contains useful info/links]<br />
<br />
[http://www.debian.org/ports/hurd/ Debian GNU/Hurd]<br />
<br />
[http://trac.cross-lfs.org/ Cross Linux From Scratch]<br />
<br />
[http://fondriest.frederic.free.fr/hurd/GNU_HURD%20from%20scratch.html Hurd From Scratch - Non-English]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Arch_Hurd_Project&diff=90990
Arch Hurd Project
2010-01-04T22:00:38Z
<p>Acecero: </p>
<hr />
<div>== Introduction ==<br />
The Arch Hurd Project is, unsurprisingly, a project to get a working Arch system running on GNU/Hurd. This page will, at some point, tell you how you too, can get an Arch Hurd system. Maybe we'll even set up repositories and suchlike, even a website if this thing takes off.<br />
<br />
Currently we don't have anything but an idea, some people crazy enough to like the idea, and the promise of some PKGBUILDs and a working cross compiler. Sorry.<br />
<br />
== Ideas ==<br />
Just what makes something Arch-like? Add ideas to this list.<br />
<br />
* pacman/makepkg for package management<br />
* Some form of ABS tree (in git/svn/cvs/whatever to allow easy package rollbacks, perhaps?)<br />
* Something like the /etc/rc.conf file (anybody know anything about the Hurd boot process?)<br />
<br />
== Repositories ==<br />
I (Barrucadu) have a tonne of spare space/bandwidth on my Dreamhost account, so when this gets rolling if people want to volunteer to port/maintain packages they use, the repositories can live on there.<br />
<br />
If I set up a git repo for the ABS tree, a packaging mailing list, and repositories (core/extra should do in the beginning, I imagine), I could give volunteers access to those so we could make progress.<br />
<br />
== Links ==<br />
<br />
[http://bbs.archlinux.org/viewtopic.php?pid=682472 The forum thread]<br />
<br />
[http://www.gnu.org/software/hurd/ Hurd project homepage, contains useful info/links]<br />
<br />
[http://www.debian.org/ports/hurd/ Debian GNU/Hurd]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Lightweight_Applications&diff=88933
Lightweight Applications
2009-12-26T03:16:02Z
<p>Acecero: </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 lightweight software for those who wish to use programs that require less computer resources.}}<br />
{{Article summary heading|Languages}}<br />
{{i18n_entry|Русский|Выбор программ}}<br />
{{i18n_entry|Česky|Lehké aplikace}}<br />
{{i18n_entry|English|Lightweight Applications}}<br />
{{Article summary heading|Related}}<br />
{{Article summary text|[[Common Applications]]}}<br />
{{Article summary end}}<br />
<br />
==Internet==<br />
===Browsers===<br />
<br />
{{App|[[Wikipedia:Abaco (web browser)|Abaco]]|A multi-page graphical web browser|http://lab-fgb.com/abaco/|{{Package AUR|abaco}}}}<br />
{{App|[[Wikipedia:Arora (browser)|Arora]]|A cross platform web browser built using Qt and WebKit|http://code.google.com/p/arora/|{{Package Official|arora}}}}<br />
{{App|[[Wikipedia:Chromium (web browser)|Chromium]]|The open-source project behind Google Chrome|http://code.google.com/chromium/|{{Package AUR|chromium}}}}<br />
{{App|[[Wikipedia:Conkeror|Conkeror]]|A highly programmable web browser based on Mozilla XULRunner|http://conkeror.org/|{{Package Official|conkeror}}}}<br />
{{App|[[Wikipedia:Dillo|Dillo]]|A small, fast graphical web browser built on FLTK|http://www.dillo.org/|{{Package Official|dillo}}}}<br />
{{App|[[Wikipedia:ELinks|ELinks]]|An advanced and well-established feature-rich text mode web browser|http://elinks.or.cz/|{{Package Official|elinks}}}}<br />
{{App|Hv3|A minimalist web browser based on tkhtml3|http://tkhtml.tcl.tk/hv3.html|{{Package AUR|hv3}}}}<br />
{{App|[[Wikipedia:Kazehakase|Kazehakase]]|GTK+ web browser that uses the Gecko rendering engine|http://kazehakase.sourceforge.jp/|{{Package Official|kazehakase}}}}<br />
{{App|[[Wikipedia:Links (web browser)|Links]]|A text WWW browser, similar to Lynx|http://links.twibright.com/|{{Package Official|links}}}}<br />
<br />
[http://www.twotoasts.de/index.php?/pages/midori_summary.html Midori] is a lightweight web browser based on Gtk and WebKit. It passes the ACID3 test (midori-git/AUR).<br />
<br />
[http://www.netsurf-browser.org Netsurf] has its own rendering engine, is written in C and is extremely lightweight.<br />
<br />
[http://surf.suckless.org surf] is another lightweight WebKit-based browser, which follows the suckless ideology. Which means, the software is even more lightweight (basically, the browser itself is a single C source file).<br />
<br />
[http://www.uzbl.org/ Uzbl] - "web interface tools which adhere to the unix philosophy."<br />
<br />
===Email Clients===<br />
<br />
[[alpine]] is another powerful, and user-friendly text-based mail and news client.<br />
<br />
[[mutt]] is a small but very powerful text-based mail client.<br />
<br />
[http://sylpheed.sraoss.jp/en/ Sylpheed] is a simple, lightweight but featureful, and easy-to-use e-mail client.<br />
<br />
[http://www.claws-mail.org/ Claws] is a user-friendly, lightweight, and fast email client.<br />
<br />
[http://sup.rubyforge.org/ sup] is yet another powerful, text-based mail client; it is still under development.<br />
<br />
===Instant Messengers===<br />
<br />
[[Bitlbee]] is a way to use other IM to your [[#IRC]] client.<br />
<br />
[http://www.centerim.org Centerim] is a curses based fork of Centericq which supports several protocols.<br />
<br />
[http://www.emesene.org/ emesene] is a Python/GTK+ instant messenger for the Windows Live Messenger network.<br />
<br />
[http://developer.pidgin.im/wiki/Using%20Finch Finch] is a curses based version of Pidgin.<br />
<br />
[[Pidgin]] is a multiprotocol instant messenger.<br />
<br />
[http://pidgin.im Pidgin Light] is a light Pidgin version without gstreamer, tcl, tk, xscreensaver support.<br />
<br />
===IRC===<br />
<br />
[http://nenolod.net/ Conspire] Lightweight, simple, and powerfull.<br />
<br />
[[Irssi]] is a modular text mode IRC client with Perl scripting.<br />
<br />
[http://tools.suckless.org/ii II] Ultimate lightweight, literally `tail -f` the convo and `echo` back your replies.<br />
<br />
[http://www.ueber.net/code/r/ircfs ircfs] is a file system interface to irc written in [http://limbo.cat-v.org Limbo].<br />
<br />
[http://lostirc.sourceforge.net LostIRC] is a simple IRC client.<br />
<br />
[http://www.smuxi.org/ Smuxi] Lightweight GTK frontend inspired by irssi.<br />
<br />
[http://weechat.org/ WeeChat] is a fast, light & extensible curses-based IRC client.<br />
<br />
[http://xchat.org XChat] is a GTK+ X client with Perl and Python scripting support.<br />
<br />
===Torrents===<br />
<br />
[http://deluge-torrent.info/ Deluge] is a bittorrent client written with Python and PyGTK.<br />
<br />
[http://libtorrent.rakshasa.no/ rTorrent] is a very simple, elegant and ultra-light BitTorrent client. It is written in C++ and uses ncurses, so it is completely text based and runs entirely in a console.<br />
<br />
[http://www.transmissionbt.com/ Transmission] is a fast, easy, and free BitTorrent client (GTK+ GUI and CLI).<br />
<br />
==Multimedia==<br />
<br />
===Audio Players===<br />
<br />
[http://ario-player.sourceforge.net/ Ario] is very feature-rich GTK2 client for [[mpd]], inspired by Rhythmbox<br />
<br />
[http://cmus.sourceforge.net/ C* Music Player] is a very feature-rich ncurses-based music player.<br />
<br />
[http://sourceforge.net/projects/cplay/ cplay] is a curses front-end for various audio players.<br />
<br />
[http://moc.daper.net/ MOC (Music On Console)] is an ncurses console audio player with support for the MP3, Ogg, and WAV formats.<br />
<br />
[http://hem.bredband.net/kaw/ncmpc/ ncmpc] is a curses client for [[mpd]].<br />
<br />
[http://unkart.ovh.org/ncmpcpp/ ncmpcpp] is an almost exact clone of ncmpc with some new features.<br />
<br />
[http://sonata.berlios.de/ Sonata] is an elegant GTK+ music client for [[mpd]].<br />
<br />
[http://pragha.wikispaces.com/ Pragha] is a GTK+ music manager that was a fork of Consonance Music Manager.<br />
<br />
===Image Editors===<br />
<br />
[http://mtpaint.sourceforge.net/ mtPaint] is a graphic editing program geared towards creating indexed palette images and pixel art.<br />
<br />
===Image Viewers===<br />
<br />
[http://linuxbrit.co.uk/feh/ Feh] is a fast, lightweight image viewer that uses imlib2.<br />
<br />
[http://lxde.sourceforge.net/gpicview/ GPicView] is a simple and fast image viewer for X. Made by the developers of [[LXDE]]<br />
<br />
[http://gqview.sourceforge.net/ GQview] is an image browser that features single click access to view images and move around the directory tree.<br />
<br />
[http://geeqie.sourceforge.net/ Geeqie] is a lightweight image browser and viewer (fork of GQview), with additional functionality like RAW files view.<br />
<br />
[http://mirageiv.berlios.de Mirage] is a fast and simple GTK+ image viewer.<br />
<br />
[http://goodies.xfce.org/projects/applications/ristretto Ristretto] is a fast and lightweight picture-viewer for the Xfce desktop environment.<br />
<br />
[http://spiegl.de/qiv/ QIV] (Quick Image Viewer) is a very small and fast gdk/Imlib image viewer.<br />
<br />
===Video Players===<br />
<br />
[http://kdekorte.googlepages.com/gnomemplayer Gnome-Mplayer] is a simple GTK-based GUI for [[mplayer]] without heavy Gnome dependencies<br />
<br />
[[mplayer]] and [[mencoder]] support a huge number of video and audio formats and are very versatile.<br />
<br />
[http://smplayer.sourceforge.net/ SMPlayer] is a complete frontend for mplayer.<br />
<br />
[http://www.videolan.org/vlc/ VLC] is a multi-platform video player that supports many audio and video formats out-of-the-box.<br />
<br />
==Office==<br />
<br />
===Calendars===<br />
<br />
[http://culot.org/calcurse/ Calcurse] is a curses calendar and scheduling system.<br />
<br />
[http://www.roaringpenguin.com/products/remind Remind] is a highly sophisticated text-based calendaring and notification system.<br />
<br />
[http://pessimization.com/software/wyrd/ Wyrd] is an curses front-end to Remind.<br />
<br />
[http://www.duke.edu/~dgraham/wxRemind/ wxRemind] is a Python text and graphical frontend to Remind.<br />
<br />
===PDF Tools===<br />
<br />
[http://code.google.com/p/apvlv/ apvlv] is a lightweight PDF viewer with VIM key bindings.<br />
<br />
[http://www.emma-soft.com/projects/epdfview/ ePDFView] is a free lightweight PDF document viewer using Poppler and GTK+ libraries.<br />
<br />
[http://www.foolabs.com/xpdf/ Xpdf] is a viewer for Portable Document Format (PDF) files.<br />
<br />
[http://zathura.pwmt.org/ zathura] is another lightweight PDF viewer similar to apvlv, only lighter<br />
<br />
===Text Editors===<br />
<br />
[http://acme.cat-v.org Acme] a minimalist and flexible programming environment by Rob Pike.<br />
<br />
[http://www.nongnu.org/beaver/ Beaver] is an Early AdVanced EditoR.<br />
<br />
[http://www.geany.org Geany] is a text editor using the GTK+ 2 toolkit with basic features of an integrated development environment.<br />
<br />
[http://tarot.freeshell.org/leafpad/ Leafpad] is a notepad clone for GTK+ 2.x that emphasizes simplicity.<br />
<br />
[http://mooedit.sourceforge.net/ medit] is intended to be a useful programming and around-programming text editor.<br />
<br />
[http://www.xfce.org/projects/mousepad/ Mousepad] is a simple text editor for Xfce based on Leafpad.<br />
<br />
[[nano]] is an easy-to-use text editor, with on-screen key binding information, based on pine's pico editor.<br />
<br />
[http://pyroom.org/ PyRoom] is a great distractionless PyGTK text editor, a clone of the infamous WriteRoom<br />
<br />
[http://sam.cat-v.org Sam] a graphical text editor by Rob Pike (still used by Ken Thompson and others).<br />
<br />
Vi, [[Vim]], gVim, the classic vi text editor.<br />
<br />
===Word Processors===<br />
<br />
[http://www.abisource.com/ Abiword] is a full-featured word processor ([[Abiword|HOWTO]]), there is also an even lighter version in the AUR, [http://aur.archlinux.org/packages.php?ID=25601/ Abiword-light].<br />
<br />
[http://txt2tags.sourceforge.net txt2tags] is a dead-simple, KISS-compliant lightweight, humane readable markup language to produce rich format content out of plain text files<br />
<br />
==System==<br />
<br />
===File Managers===<br />
<br />
[http://emelfm2.net/ emelFM2] is file manager that implements the popular two-pane design.<br />
<br />
[http://www.midnight-commander.org Midnight Commander] is a console-based, dual-paned, file manager.<br />
<br />
[http://pcmanfm.sourceforge.net/ PCManFM] is a lightweight file manager which features tabbed browsing and can optionally manage the desktop background.<br />
<br />
[http://rox.sourceforge.net ROX] is a small and fast file manager which can optionally manage the desktop background and panels.<br />
<br />
[http://thunar.xfce.org/ Thunar] is fast and responsive with a good start up time and directory load time.<br />
<br />
[http://vifm.sourceforge.net/ Vifm] is a ncurses based file manager with vi like keybindings.<br />
<br />
[http://roland65.free.fr/xfe/index.php/ Xfe] X File Explorer (Xfe) is an MS-Explorer or Commander like file manager for X.<br />
<br />
===GUI Compression Tools===<br />
<br />
[http://squeeze.xfce.org/ Squeeze] is a modern and advanced archive manager.<br />
<br />
[http://xarchive.sourceforge.net Xarchive] is a GTK+ 2 front-end for various command line archiving tools.<br />
<br />
[http://xarchiver.xfce.org/ Xarchiver] is a lightweight desktop independent archive manager built with GTK+ 2.<br />
<br />
===Login managers===<br />
<br />
[[CDM]] provides an ultra-minimalistic, yet full-featured login manager written in bash.<br />
<br />
[[SLiM]] provides a lightweight and elegant graphical login solution.<br />
<br />
[[Qingy]] is ultralight and very configurable graphical login independent on X Windows.<br />
<br />
===Monitors===<br />
<br />
[http://conky.sourceforge.net/ Conky] is a lightweight, scriptable system monitor ([[Conky|HOWTO]]).<br />
<br />
[http://htop.sourceforge.net/ htop] is a simple, ncurses interactive process viewer.<br />
<br />
===Panels===<br />
<br />
[http://nsf.110mb.com/bmpanel/ BMPanel] (BitMap Panel) is a lightweight, NETWM compliant panel for the X11 system.<br />
<br />
[http://fbpanel.sourceforge.net fbpanel] is a lightweight, NETWM compliant desktop panel.<br />
<br />
[http://lxde.org LXPanel] is a lightweight X11 desktop panel (part of LXDE).<br />
<br />
[http://pypanel.sourceforge.net/ PyPanel] is a lightweight panel/taskbar written in Python and C ([[PyPanel|HOWTO]]).<br />
<br />
[http://code.google.com/p/tint2/ Tint] is a simple panel/taskbar intentionally made for openbox3, but should also work with other window managers ([[Tint|HOWTO]]).<br />
<br />
===Terminals===<br />
<br />
[http://lilyterm.luna.com.tw/index_en.html Lilyterm] is a light and easy to use libvte based X Terminal Emulator.<br />
<br />
[http://rox.sourceforge.net ROXTerm] is a tabbed, VTE-based terminal emulator with a small footprint.<br />
<br />
[http://software.schmorp.de/pkg/rxvt-unicode urxvt] is a highly extendable unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, quake-style dropdown, pseudo-transparency, and is extensible with perl.<br />
<br />
[http://www.pleyades.net/david/sakura.php Sakura] is a terminal emulator based on GTK+ and VTE.<br />
<br />
[http://invisible-island.net/xterm/ xterm] is a terminal emulator for the X Window System.<br />
<br />
===Trays===<br />
<br />
[http://icculus.org/openbox/2/docker/ Docker] is a docking application which acts as a system tray.<br />
<br />
[http://stalonetray.sourceforge.net Stalonetray] is a stand-alone system tray.<br />
<br />
[http://gna.org/projects/fvwm-crystal/ Trayer] swallows GTK+ 1.2/2.x application docklets, and KDE docklets.<br />
<br />
===Window managers===<br />
<br />
[[Awesome]] is a floating and tiling window manager initially based on a [[dwm]] code rewriting.<br />
<br />
[[Dwm]] is an extra light dynamic window manager which is configured by directly editing the source(which itself is less than 2000 SLOC).<br />
<br />
[[Evilwm]] is a minimalist floating window manager with an installed size of only 0.07 MB.<br />
<br />
[[Fluxbox]] is a lightweight and highly configurable window manager.<br />
<br />
[http://www.fvwm.org/ FVWM] is a lightweight, flexible and highly-configurable Window Manager.<br />
<br />
[[Musca]] is a very lightweight window manager which has features from dwm and ratpoison. Uses about 350-400KB of memory.<br />
<br />
[[Openbox]] is another lightweight and highly configurable window manager.<br />
<br />
[[PekWM]] is small and easily configurable window manager.<br />
<br />
[[Ratpoison]] is a keyboard-oriented, customizable lightweight window manager, modelled after GNU Screen.<br />
<br />
[[Scrotwm]] is a small dynamic tiling window manager for X11. It is written in C and configured with a text configuration file.<br />
<br />
[[Subtle]] is a semi-automatic tiling window manager with a strong focus on easy but customizable handling and look and feel.<br />
<br />
[[Twm]] is a classic, customizable and very lightweight window manager; possibly the first designed for X11.<br />
<br />
[[Window Maker]] is an elegant, fast and usable OpenStep implementation.<br />
<br />
[[Xfce]] is a desktop environment much lighter but similar to GNOME. It includes the xfwm4 window manager.<br />
<br />
[[Xmonad]] is a tiling window manager for X, written and configured in Haskell.</div>
Acecero
https://wiki.archlinux.org/index.php?title=Newcomers_Guide&diff=77174
Newcomers Guide
2009-10-04T18:43:25Z
<p>Acecero: moved Beginners‘ Guide to Beginners’ Guide</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<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|Available 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 articles}}<br />
{{Article summary wiki|Official Arch Linux Install Guide}} (provides a more general approach)<br />
{{Article summary wiki|Beginners Guide Appendix}}<br />
{{Article summary wiki|Post Installation Tips}}<br />
{{Article summary end}}<br />
<br />
==Preface==<br />
=====Everything you ever wanted to know about Arch, but were afraid to ask=====<br />
Welcome. This document will guide you through the process of installing and configuring [[Arch Linux]]; a simple, agile and lightweight GNU/Linux distribution, and <code>UNIX</code>-like operating system. Arch Linux requires a certain level of intimate knowledge of its configuration and of <code>UNIX</code>-like system methodology, and for this reason, extra explanatory information is included. 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 distribution highlights:'''<br />
* '''[[The Arch Way | Simple]]''', <code>UNIX</code>-like design and philosophy<br />
* Independently Developed Community distro built from scratch and targeted at competent GNU/Linux users<br />
* All packages compiled for '''i686/x86-64'''<br />
* Highly customizable system assembled by the user from the ground up<br />
* '''[[The Arch boot process | BSD-style init]]''' scripts, featuring one centralized configuration file<br />
* '''mkinitcpio''': a simple and dynamic initramfs creator <br />
* '''Rolling Release''' model<br />
* '''[[Pacman]]''' package manager: is written in '''C''', and is fast, lightweight and agile, with a very modest memory footprint<br />
* '''[[ABS]]''': The '''A'''rch '''B'''uild '''S'''ystem, a ports-like package building system, makes it simple to create your own easily-installable Arch packages from source, to use and/or share with the community on the [[AUR]]<br />
* '''[[AUR]]''': The Arch User Repository, offering many thousands of build scripts for Arch user-provided software packages<br />
<br />
=====DON'T PANIC !=====<br />
The Arch Linux system is assembled by the ''user'', from the shell, using basic command line tools. This is '''[[The Arch Way]].''' 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 aimed at competent GNU/Linux users who desire minimal 'code separation' from their machine.<br />
<br />
<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 />
=====[[The Arch Way]]=====<br />
<br />
'''''The design principles behind Arch are aimed at keeping it [[The Arch Way|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 [http://wiki.archlinux.org/index.php/Main_Page first]. IRC (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 <code>UNIX</code>-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 />
<br />
'''''Welcome to Arch!'''''<br />
:'''''Enjoy the installation; take your time and have fun!'''''<br />
<br />
'''''Now, let's get started....'''''<br />
<br />
<br><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 a few useful 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 />
*The Arch64 FAQ ( http://wiki.archlinux.org/index.php/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 />
{{Box Note| The quality of optical drives, as well as the CD media itself, vary greatly. But 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 />
'''<code>UNIX</code> 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 ''if='' is the path to the img file and ''of='' is your USB device. Make sure to use /dev/sd''x'' and not /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 />
{{Note|Memory requirements:<br />
* Core : 160 MB RAM x86_64/i686 (all packages selected, with swap partition)<br />
* Netinstall : 160 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 your arrow keys to highlight your choice, and then by pressing Enter.<br />
<br />
Usually, the first item is the preferred selection. However, choose Boot Archlive or Boot Archlive [legacy IDE] if you have trouble with libata/PATA, or have no SATA (Serial ATA) drives.<br />
<br />
Also, to change boot options, press '''e''' for editing the boot lines. 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. Whenever done, just 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 will initialize your wireless hardware for use ''in the live environment''.<br />
<br />
The basic procedure will be:<br />
* Switch to a free virtual console, e.g.: <ALT>+F3<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 />
(Output should show an available wireless interface)<br />
* Bring the interface up with <code>/sbin/ifconfig <interface> up</code>.<br />
An example, using an atheros card and madwifi driver:<br />
# ifconfig ath0 up<br />
(Remember, your interface may be named something else, depending on your module (driver) and chipset: wlan0, eth1, etc.)<br />
* Specify the id of the wireless network with iwconfig <interface> essid &quot;<youressid>&quot; key <yourwepkey> (give the essid (the 'network name') of the network in quotes). <br />
* An example using WEP:<br />
# iwconfig ath0 essid &quot;linksys&quot; key 0241baf34c<br />
* An example using an unsecured network:<br />
# iwconfig ath0 essid "linksys"<br />
* Request and acquire an IP address with <code>/sbin/dhcpcd <interface> </code>. e.g.:<br />
# dhcpcd ath0<br />
* Ensure you can route using <code>/bin/ping</code>:<br />
# ping -c 3 www.google.com<br />
Done.<br />
{{Box Note | '''''In addition to the wireless module, some wireless chipsets, like ipw2100 and ipw2200, require corresponding firmware installation. The firmware packages must be explicitly installed to your actual system to provide wireless functionality after you reboot into your installed system. (Due to the firmware installation requirement, these chipsets may not work in the live environment.) 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 <code>UNIX</code>-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 />
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 />
{{Box 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-3 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. A 1 GB swap partition will be used in this example.<br />
{{Box 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.<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.''<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.''<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 />
{{Box Note | 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 />
{{Box 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 />
{{Box 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 />
{{Box 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. Return to main menu.<br />
<br />
===D: Select Packages===<br />
<br />
Now we shall select packages to install in our system.<br />
*Core ISO: Choose CD as source and select the appropriate CD drive if you have more than one.<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 />
{{Box Note | For expedience, all packages in '''base''' are selected by default}}<br />
* '''Base''': The minimal base environment. ''Always select it and only remove packages that you don't use.''<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 />
{{Box 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 />
Once you're done selecting the packages you need, 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 should handle most module loading automatically at boot.<br />
<br />
====The initramfs====<br />
<br />
The initial ram filesystem, or initramfs, is a temporary file system used by the kernel during boot. It is used for making preparations like hardware detection and module loading, before the real root file system can be mounted. Therefore, an initramfs allows for the use of a generic modular kernel for a wide variety of hardware, and without the need to compile a custom kernel for each installation.<br />
<br />
You will be prompted by a series of questions related to the configuration of your initramfs. You will be asked if you need support for booting from USB devices, FireWire devices, PCMCIA devices, NFS shares, software RAID arrays, LVM2 volumes, encrypted volumes, and DSDT support. Choose yes if you need it; in our example nothing is needed. Choosing 'yes' for any of the above will cause the installer script to place the appropriate hook(s) within the <code>/etc/mkinitcpio.conf</code> file.<br />
<br />
Now you will be asked which text editor you want to use; choose [http://en.wikipedia.org/wiki/Nano_%28text_editor%29 nano] or [http://en.wikipedia.org/wiki/Vim_%28text_editor%29 vim]. You will be presented with a menu including the main configuration files for your system.<br />
<br />
{{Box 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 />
====/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 />
=====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 '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 the '''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 /dev/rtc for hwclock<br />
* '''TIMEZONE'''=: Specify your TIMEZONE. (All available zones are under /usr/share/zoneinfo/).<br />
* '''KEYMAP'''=: The available keymaps are in /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 /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 /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 />
<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-up, (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 />
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 />
{{Box Note | Arch uses the '''dhcpcd''' DHCP client. Alternatively, '''dhclient''' is available from the [extra] repository via pacman.}}<br />
<br />
======Example, using a '''static''' IP address======<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 />
{{tip|If you also require using a non-standard MTU size (a.k.a. jumbo frames) to speed up intranet xfers AND your hardware supports them, see the [[Jumbo Frames]] wiki article for further configuration.}}<br />
<br />
{{Note|In some cases, users will need to modify their {{Filename|/etc/resolv.conf}} to prevent the dhcpcd daemon from overwriting the DNS entries.}}<br />
<br />
Modify your {{Filename|/etc/resolv.conf}} to contain the DNS servers of your choice.<br />
search my.isp.net.<br />
nameserver a.b.c.d<br />
nameserver a.b.c.d<br />
nameserver a.b.c.d<br />
<br />
{{Tip|If you are unsure what values to use in the {{Filename|/etc/resolv.conf}} simply configure your system to use DHCP and look at the {{Filename|/etc/resolv.conf}} which should be automatically set for you. You may use these values.}}<br />
<br />
Finally, {{Filename|/etc/conf.d/dhcpcd}} needs to be tweaked to keep the dhcpcd from overwriting your {{Filename|/etc/resolv.conf}} which will happen without this modification:<br />
<br />
# Arguments to be passed to the DHCP client daemon<br />
#<br />
<br />
# DHCPCD_ARGS="-q"<br />
DHCPCD_ARGS="-C resolv.conf -q"<br />
<br />
=====DAEMONS Section=====<br />
<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. <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 />
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 />
You do not have to change the [[daemons]] line at this time, but it is useful to explain what daemons are, because we need them 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 or an SSH server waiting for someone trying to log in. While these are full-featured applications, there are 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 your CPU's frequency if your system has nothing to do (e.g.:cpufreq), and a daemon which offers you 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. <code>UNIX</code> 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/disk/by-uuid/0ec-933.. / jfs defaults,noatime 0 1<br />
/dev/disk/by-uuid/7ef-223.. /home jfs defaults,noatime 0 2<br />
/dev/disk/by-uuid/530-1e-.. swap swap defaults 0 0<br />
/dev/disk/by-uuid/4fe-110.. /var reiserfs defaults,noatime,notail 0 2<br />
{{Box 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. 'notail' disables the ReiserFS tailpacking feature, for added performance at the cost of slightly less efficient disk usage.}}<br />
{{Box Note | It may be beneficial to make a note of the UUID of the root (/) partition, as this may be required during GRUB configuration.}}<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'. Instead of giving the device explicitly, the Arch installer indicates the filesystem that is to be mounted by its UUID by default.<br />
{{Box Note | As of 2008-04rc, Arch is now utilizing the UUID, or Universally Unique Identifier naming convention, for consistent device mapping. This is due to active developments in the kernel and also udev, which may randomly change the ordering in which drivers for storage controllers are loaded, 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- hence the persistent device naming convention of UUID has been adopted for reliability. ''If you do not need nor wish to use UUID, simply change your fstab to use whatever naming convention desired.'' (See [[Persistent block device naming| this wiki article]] for more information on persistent block device naming. )}}<br />
ls -lF /dev/disk/by-uuid/<br />
will list all partitions by UUID, while<br />
/sbin/blkid<br />
will show a list correlating each partition with its label, filesystem type and UUID. ''Note: this command is installed by the '''e2fsprogs''' package.''<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 />
This file allows you to fine-tune the initial ram filesystem (also commonly referred to as the initial ramdisk or &quot;initrd&quot;) for your system. The initrd is a gzipped image that is read by the kernel during boot. The purpose of the initrd 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 off a USB/FW drive). Once the initrd loads the proper modules, either manually or through udev, it passes control to the Arch system and your boot continues. For this reason, the initrd 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 your everyday 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 you are using a non-US keyboard you may want to add &quot;<code>keymap</code>&quot; to the &quot;<code>HOOKS=</code>&quot; section of '''/etc/mkinitcpio.conf''' to load your local keymap during boot, e.g.:<br />
HOOKS="base udev autodetect pata scsi sata filesystems keymap"<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 are using a US keyboard editing this configuration should be unnecessary at this point.''<br />
<br />
'''mkinitcpio''' was developed by Aaron Griffin and Tobias Powalowski with some help from the community.<br />
<br />
==== /etc/modprobe.conf====<br />
It is unnecessary to configure this file at this time.<br />
<br />
* '''modprobe.conf''' can be used to set special configuration options for the kernel modules<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 />
====/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 />
{{Box 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 &quot;peculiar&quot; 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 <code>UNIX</code>-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 />
{{Box 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 />
====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 />
====Pacman-Mirror====<br />
Choose a mirror repository for '''pacman'''. <br />
*''archlinux.org is throttled, limiting downloads to 50KB/s'' <br />
<br />
Return to the main menu.<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/disk/by-uuid/0ec1-9339.. ro vga=773<br />
initrd /boot/kernel26.img<br />
{{Box 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'''). If not already specified, you should enter the name of the partition, according to the UUID numbering scheme, using the ''/dev/disk/by-uuid/xxxx-xxxx-xxxx'' format. This UUID was found in the previous section regarding configuration of ''/etc/fstab''.<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 />
{{Box Note |Virtual consoles 1-6 are available. You may swap 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' on boot-up, 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 />
# 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 />
==== 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 you based on the mirrors specified in your mirrorlist. Faster mirrors will dramatically improve pacman performance, and your overall Arch Linux experience. It is '''highly''' recommended that you use it periodically<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 your existing /etc/pacman.d/mirrorlist:<br />
# cp mirrorlist mirrorlist.backup<br />
Edit mirrorlist.backup and uncomment mirrors you want to test with rankmirrors.<br />
<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 your /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 and greatest package versions is important to you.<br />
<br />
====Ignoring packages====<br />
When you execute the command &quot;pacman -Syu&quot;, your entire system will be updated. It is possible that you want to prevent a package from being upgraded. An example could be the kernel (kernel26) or a package for which an upgrade may prove problematic for your system. In this case, you have two options; indicate the package(s) you want to skip in the pacman command line using the --ignore switch (do pacman -S --help for details) or permanently indicate the package(s) you want to skip in your /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 you can build your own package using [[ABS]]. Many user-contributed package build scripts are also available in the [[AUR]]. <br />
<br />
You are expected to keep your 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 fixes 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 />
you may also use:<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 />
{{Box 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 />
<code>UNIX</code> 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 3d acceleration<br />
*'''wheel''' - for using sudo<br />
*'''power''' - used w/ power options (ie. shutdown w/ off 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 <code>UNIX</code> 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 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 />
To install Sudo:<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 />
{{Box Note| Alsa is included in the Arch mainline kernel and udev will automatically probe your hardware on boot-up, 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 />
{{Box 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 />
{{Box 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 on boot-up.<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 <code>UNIX</code>-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 />
{{Box Note| If you plan on using an '''open-source''' video driver, and need 3d acceleration, it is recommended to install the libgl library before installing Xorg:}}<br />
<br />
# pacman -S libgl<br />
''(Proprietary video drivers provide their own gl library implementations.)''<br />
<br />
====A: Install X====<br />
Now we will install the base Xorg packages using pacman. This is the first step in building a GUI.<br />
<br />
# pacman -S xorg<br />
With newer versions of xorg, it is suggested (and possibly necessary in most cases) to install the input driver evdev, which should be installed as a dependency for xorg-server, but many seem to be lacking somehow:<br />
# pacman -S xf86-input-evdev<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) 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; open source radeonhd 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 />
{{Box 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 good 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 along with being 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). The older ones (X1xxx and older) aren't 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<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.<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 />
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 (method 1) ====<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 />
{{Box 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 />
* If you installed from a fresh (Core) install, it does not include the X window manager, so .xinitrc does not exist in /etc/skel. Instead, use the sample provided [[Xinitrc#A_standard_.xinitrc | here]] <small>(If you've followed the guide step by step you should have a basic .xinitrc file in /etc/skel)</small>.<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 />
{{Box Note | ''Be sure to have only '''one''' uncommented '''exec''' line in your ~/.xinitrc''.}}<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 />
You can exit the '''X''' Server with Ctrl+Alt+Backspace, or by typing &quot;exit&quot;. 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 console you started '''X''' from.<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 />
{{Tip|Advanced instructions for Xorg configuration can be found in the [[Xorg]] article.}}<br />
<br />
==== C: Test X (method 2) ====<br />
To test the X server, run the '''X''' script with the ''-config'' flag against the ''path/to/xorg.conf'' file. e.g.:<br />
<br />
# X -config /etc/X11/xorg.conf<br />
<br />
'''X''' should start with the white hollow vector '''X''' in the center of the screen, which should respond to mouse, trackpoint or touchpad movement. Use CTRL-Alt-Backspace to exit '''X'''.<br />
<br />
{{Box 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 />
<br />
=====In case of errors=====<br />
<br />
Inspect the config file:<br />
<br />
# nano /etc/X11/xorg.conf<br />
<br />
Ensure the video driver is properly specified. e.g.:<br />
Section &quot;Device&quot;<br />
<br />
...<br />
Driver &quot;savage&quot;<br />
...<br />
<br />
EndSection<br />
<br />
Ensure there are horizontal sync and vertical refresh specs under section &quot;Monitor&quot;. If not, add them:<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 />
Specify your default color depth 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 your desired Modes to your &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 />
# X -config /etc/X11/xorg.conf<br />
Detailed instructions in the [[Xorg]] article.<br />
<br />
* '''Using wgetpaste'''<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 />
<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 want something full-featured and similar to Windows and Mac OSX, '''[[#KDE|KDE]]''' is a good choice<br />
* If you want something slightly more minimalist, which follows the K.I.S.S. principle more closely, '''[[#GNOME|GNOME]]''' is a good choice<br />
* '''[[#Xfce|Xfce]]''' is generally perceived as similar to GNOME, but lighter and less demanding on system resources, yet still visually pleasing and providing a very complete environment.<br />
* '''[[#LXDE|LXDE]]''' is a minimal DE based on the Openbox window manager. It provides most things you need for a modern desktop while keeping relatively low system resource usage. LXDE is a good choice for those who want a quick way of setting up a pre-configured Openbox system.<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 have the Microsoft font sets, which are especially popular on websites. <br />
<br />
Install with:<br />
# pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<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 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 tells the shell that this is the last command, so the shell does not need to wait to run a subsequent command.<br />
<br />
If you have trouble with automounting, use the following command instead. Replace "startxfce4" with the command that is appropriate for your window manager.<br />
exec ck-launch-session startxfce4<br />
<br />
Remember to have only one uncommented '''exec''' line in your ~/.xinitrc.<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 <code>UNIX</code> workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of <code>UNIX</code>-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 />
{{Box 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 />
{{Box 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 />
The cholesterol-free '''X''' environment. Xfce, like GNOME or KDE, is a desktop environment, but aims to be fast and lightweight while remaining visually appealing and easy to use. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit (like GNOME) and contains its own development environment (libraries, daemons, etc) similar to other big DEs. Unlike GNOME or KDE, Xfce is lightweight and designed more around CDE than Windows or Mac. It has a much slower development cycle, but is very stable and fast. Xfce is great for older hardware, and will perform excellently on newer machines as well.<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 />
{{Box 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<br />
{{Note|the lxde group DOES_NOT provide openbox as suggested as per 9/17/2009 so it must be installed specifically or you will end up with a desktop with no window management. install it with: pacman -S openbox}}<br />
Add:<br />
exec startlxde<br />
*If you 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 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 />
fvwm will automatically be listed in kdm/gdm in the sessions menu. Otherwise, add <br />
exec fvwm <br />
<br />
to your user's .xinitrc.<br />
<br />
==Useful Applications==<br />
To install useful apps, codecs and plugins, see [[Useful Applications]].<br />
<br />
=APPENDIX=<br />
See [[Beginners Guide Appendix]]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Talk:Beginners%27_guide&diff=77173
Talk:Beginners' guide
2009-10-04T18:37:16Z
<p>Acecero: moved Talk:Beginners Guide to Talk:Beginners‘ Guide</p>
<hr />
<div>#REDIRECT [[Talk:Beginners‘ Guide]]</div>
Acecero
https://wiki.archlinux.org/index.php?title=Newcomers_Guide&diff=77170
Newcomers Guide
2009-10-04T18:37:16Z
<p>Acecero: moved Beginners Guide to Beginners‘ Guide</p>
<hr />
<div>[[Category:Getting and installing Arch (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<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|Available 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 articles}}<br />
{{Article summary wiki|Official Arch Linux Install Guide}} (provides a more general approach)<br />
{{Article summary wiki|Beginners Guide Appendix}}<br />
{{Article summary wiki|Post Installation Tips}}<br />
{{Article summary end}}<br />
<br />
==Preface==<br />
=====Everything you ever wanted to know about Arch, but were afraid to ask=====<br />
Welcome. This document will guide you through the process of installing and configuring [[Arch Linux]]; a simple, agile and lightweight GNU/Linux distribution, and <code>UNIX</code>-like operating system. Arch Linux requires a certain level of intimate knowledge of its configuration and of <code>UNIX</code>-like system methodology, and for this reason, extra explanatory information is included. 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 distribution highlights:'''<br />
* '''[[The Arch Way | Simple]]''', <code>UNIX</code>-like design and philosophy<br />
* Independently Developed Community distro built from scratch and targeted at competent GNU/Linux users<br />
* All packages compiled for '''i686/x86-64'''<br />
* Highly customizable system assembled by the user from the ground up<br />
* '''[[The Arch boot process | BSD-style init]]''' scripts, featuring one centralized configuration file<br />
* '''mkinitcpio''': a simple and dynamic initramfs creator <br />
* '''Rolling Release''' model<br />
* '''[[Pacman]]''' package manager: is written in '''C''', and is fast, lightweight and agile, with a very modest memory footprint<br />
* '''[[ABS]]''': The '''A'''rch '''B'''uild '''S'''ystem, a ports-like package building system, makes it simple to create your own easily-installable Arch packages from source, to use and/or share with the community on the [[AUR]]<br />
* '''[[AUR]]''': The Arch User Repository, offering many thousands of build scripts for Arch user-provided software packages<br />
<br />
=====DON'T PANIC !=====<br />
The Arch Linux system is assembled by the ''user'', from the shell, using basic command line tools. This is '''[[The Arch Way]].''' 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 aimed at competent GNU/Linux users who desire minimal 'code separation' from their machine.<br />
<br />
<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 />
=====[[The Arch Way]]=====<br />
<br />
'''''The design principles behind Arch are aimed at keeping it [[The Arch Way|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 [http://wiki.archlinux.org/index.php/Main_Page first]. IRC (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 <code>UNIX</code>-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 />
<br />
'''''Welcome to Arch!'''''<br />
:'''''Enjoy the installation; take your time and have fun!'''''<br />
<br />
'''''Now, let's get started....'''''<br />
<br />
<br><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 a few useful 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 />
*The Arch64 FAQ ( http://wiki.archlinux.org/index.php/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 />
{{Box Note| The quality of optical drives, as well as the CD media itself, vary greatly. But 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 />
'''<code>UNIX</code> 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 ''if='' is the path to the img file and ''of='' is your USB device. Make sure to use /dev/sd''x'' and not /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 />
{{Note|Memory requirements:<br />
* Core : 160 MB RAM x86_64/i686 (all packages selected, with swap partition)<br />
* Netinstall : 160 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 your arrow keys to highlight your choice, and then by pressing Enter.<br />
<br />
Usually, the first item is the preferred selection. However, choose Boot Archlive or Boot Archlive [legacy IDE] if you have trouble with libata/PATA, or have no SATA (Serial ATA) drives.<br />
<br />
Also, to change boot options, press '''e''' for editing the boot lines. 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. Whenever done, just 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 will initialize your wireless hardware for use ''in the live environment''.<br />
<br />
The basic procedure will be:<br />
* Switch to a free virtual console, e.g.: <ALT>+F3<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 />
(Output should show an available wireless interface)<br />
* Bring the interface up with <code>/sbin/ifconfig <interface> up</code>.<br />
An example, using an atheros card and madwifi driver:<br />
# ifconfig ath0 up<br />
(Remember, your interface may be named something else, depending on your module (driver) and chipset: wlan0, eth1, etc.)<br />
* Specify the id of the wireless network with iwconfig <interface> essid &quot;<youressid>&quot; key <yourwepkey> (give the essid (the 'network name') of the network in quotes). <br />
* An example using WEP:<br />
# iwconfig ath0 essid &quot;linksys&quot; key 0241baf34c<br />
* An example using an unsecured network:<br />
# iwconfig ath0 essid "linksys"<br />
* Request and acquire an IP address with <code>/sbin/dhcpcd <interface> </code>. e.g.:<br />
# dhcpcd ath0<br />
* Ensure you can route using <code>/bin/ping</code>:<br />
# ping -c 3 www.google.com<br />
Done.<br />
{{Box Note | '''''In addition to the wireless module, some wireless chipsets, like ipw2100 and ipw2200, require corresponding firmware installation. The firmware packages must be explicitly installed to your actual system to provide wireless functionality after you reboot into your installed system. (Due to the firmware installation requirement, these chipsets may not work in the live environment.) 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 <code>UNIX</code>-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 />
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 />
{{Box 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-3 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. A 1 GB swap partition will be used in this example.<br />
{{Box 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.<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.''<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.''<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 />
{{Box Note | 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 />
{{Box 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 />
{{Box 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 />
{{Box 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. Return to main menu.<br />
<br />
===D: Select Packages===<br />
<br />
Now we shall select packages to install in our system.<br />
*Core ISO: Choose CD as source and select the appropriate CD drive if you have more than one.<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 />
{{Box Note | For expedience, all packages in '''base''' are selected by default}}<br />
* '''Base''': The minimal base environment. ''Always select it and only remove packages that you don't use.''<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 />
{{Box 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 />
Once you're done selecting the packages you need, 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 should handle most module loading automatically at boot.<br />
<br />
====The initramfs====<br />
<br />
The initial ram filesystem, or initramfs, is a temporary file system used by the kernel during boot. It is used for making preparations like hardware detection and module loading, before the real root file system can be mounted. Therefore, an initramfs allows for the use of a generic modular kernel for a wide variety of hardware, and without the need to compile a custom kernel for each installation.<br />
<br />
You will be prompted by a series of questions related to the configuration of your initramfs. You will be asked if you need support for booting from USB devices, FireWire devices, PCMCIA devices, NFS shares, software RAID arrays, LVM2 volumes, encrypted volumes, and DSDT support. Choose yes if you need it; in our example nothing is needed. Choosing 'yes' for any of the above will cause the installer script to place the appropriate hook(s) within the <code>/etc/mkinitcpio.conf</code> file.<br />
<br />
Now you will be asked which text editor you want to use; choose [http://en.wikipedia.org/wiki/Nano_%28text_editor%29 nano] or [http://en.wikipedia.org/wiki/Vim_%28text_editor%29 vim]. You will be presented with a menu including the main configuration files for your system.<br />
<br />
{{Box 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 />
====/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 />
=====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 '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 the '''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 /dev/rtc for hwclock<br />
* '''TIMEZONE'''=: Specify your TIMEZONE. (All available zones are under /usr/share/zoneinfo/).<br />
* '''KEYMAP'''=: The available keymaps are in /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 /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 /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 />
<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-up, (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 />
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 />
{{Box Note | Arch uses the '''dhcpcd''' DHCP client. Alternatively, '''dhclient''' is available from the [extra] repository via pacman.}}<br />
<br />
======Example, using a '''static''' IP address======<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 />
{{tip|If you also require using a non-standard MTU size (a.k.a. jumbo frames) to speed up intranet xfers AND your hardware supports them, see the [[Jumbo Frames]] wiki article for further configuration.}}<br />
<br />
{{Note|In some cases, users will need to modify their {{Filename|/etc/resolv.conf}} to prevent the dhcpcd daemon from overwriting the DNS entries.}}<br />
<br />
Modify your {{Filename|/etc/resolv.conf}} to contain the DNS servers of your choice.<br />
search my.isp.net.<br />
nameserver a.b.c.d<br />
nameserver a.b.c.d<br />
nameserver a.b.c.d<br />
<br />
{{Tip|If you are unsure what values to use in the {{Filename|/etc/resolv.conf}} simply configure your system to use DHCP and look at the {{Filename|/etc/resolv.conf}} which should be automatically set for you. You may use these values.}}<br />
<br />
Finally, {{Filename|/etc/conf.d/dhcpcd}} needs to be tweaked to keep the dhcpcd from overwriting your {{Filename|/etc/resolv.conf}} which will happen without this modification:<br />
<br />
# Arguments to be passed to the DHCP client daemon<br />
#<br />
<br />
# DHCPCD_ARGS="-q"<br />
DHCPCD_ARGS="-C resolv.conf -q"<br />
<br />
=====DAEMONS Section=====<br />
<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. <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 />
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 />
You do not have to change the [[daemons]] line at this time, but it is useful to explain what daemons are, because we need them 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 or an SSH server waiting for someone trying to log in. While these are full-featured applications, there are 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 your CPU's frequency if your system has nothing to do (e.g.:cpufreq), and a daemon which offers you 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. <code>UNIX</code> 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/disk/by-uuid/0ec-933.. / jfs defaults,noatime 0 1<br />
/dev/disk/by-uuid/7ef-223.. /home jfs defaults,noatime 0 2<br />
/dev/disk/by-uuid/530-1e-.. swap swap defaults 0 0<br />
/dev/disk/by-uuid/4fe-110.. /var reiserfs defaults,noatime,notail 0 2<br />
{{Box 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. 'notail' disables the ReiserFS tailpacking feature, for added performance at the cost of slightly less efficient disk usage.}}<br />
{{Box Note | It may be beneficial to make a note of the UUID of the root (/) partition, as this may be required during GRUB configuration.}}<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'. Instead of giving the device explicitly, the Arch installer indicates the filesystem that is to be mounted by its UUID by default.<br />
{{Box Note | As of 2008-04rc, Arch is now utilizing the UUID, or Universally Unique Identifier naming convention, for consistent device mapping. This is due to active developments in the kernel and also udev, which may randomly change the ordering in which drivers for storage controllers are loaded, 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- hence the persistent device naming convention of UUID has been adopted for reliability. ''If you do not need nor wish to use UUID, simply change your fstab to use whatever naming convention desired.'' (See [[Persistent block device naming| this wiki article]] for more information on persistent block device naming. )}}<br />
ls -lF /dev/disk/by-uuid/<br />
will list all partitions by UUID, while<br />
/sbin/blkid<br />
will show a list correlating each partition with its label, filesystem type and UUID. ''Note: this command is installed by the '''e2fsprogs''' package.''<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 />
This file allows you to fine-tune the initial ram filesystem (also commonly referred to as the initial ramdisk or &quot;initrd&quot;) for your system. The initrd is a gzipped image that is read by the kernel during boot. The purpose of the initrd 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 off a USB/FW drive). Once the initrd loads the proper modules, either manually or through udev, it passes control to the Arch system and your boot continues. For this reason, the initrd 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 your everyday 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 you are using a non-US keyboard you may want to add &quot;<code>keymap</code>&quot; to the &quot;<code>HOOKS=</code>&quot; section of '''/etc/mkinitcpio.conf''' to load your local keymap during boot, e.g.:<br />
HOOKS="base udev autodetect pata scsi sata filesystems keymap"<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 are using a US keyboard editing this configuration should be unnecessary at this point.''<br />
<br />
'''mkinitcpio''' was developed by Aaron Griffin and Tobias Powalowski with some help from the community.<br />
<br />
==== /etc/modprobe.conf====<br />
It is unnecessary to configure this file at this time.<br />
<br />
* '''modprobe.conf''' can be used to set special configuration options for the kernel modules<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 />
====/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 />
{{Box 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 &quot;peculiar&quot; 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 <code>UNIX</code>-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 />
{{Box 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 />
====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 />
====Pacman-Mirror====<br />
Choose a mirror repository for '''pacman'''. <br />
*''archlinux.org is throttled, limiting downloads to 50KB/s'' <br />
<br />
Return to the main menu.<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/disk/by-uuid/0ec1-9339.. ro vga=773<br />
initrd /boot/kernel26.img<br />
{{Box 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'''). If not already specified, you should enter the name of the partition, according to the UUID numbering scheme, using the ''/dev/disk/by-uuid/xxxx-xxxx-xxxx'' format. This UUID was found in the previous section regarding configuration of ''/etc/fstab''.<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 />
{{Box Note |Virtual consoles 1-6 are available. You may swap 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' on boot-up, 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 />
# 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 />
==== 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 you based on the mirrors specified in your mirrorlist. Faster mirrors will dramatically improve pacman performance, and your overall Arch Linux experience. It is '''highly''' recommended that you use it periodically<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 your existing /etc/pacman.d/mirrorlist:<br />
# cp mirrorlist mirrorlist.backup<br />
Edit mirrorlist.backup and uncomment mirrors you want to test with rankmirrors.<br />
<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 your /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 and greatest package versions is important to you.<br />
<br />
====Ignoring packages====<br />
When you execute the command &quot;pacman -Syu&quot;, your entire system will be updated. It is possible that you want to prevent a package from being upgraded. An example could be the kernel (kernel26) or a package for which an upgrade may prove problematic for your system. In this case, you have two options; indicate the package(s) you want to skip in the pacman command line using the --ignore switch (do pacman -S --help for details) or permanently indicate the package(s) you want to skip in your /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 you can build your own package using [[ABS]]. Many user-contributed package build scripts are also available in the [[AUR]]. <br />
<br />
You are expected to keep your 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 fixes 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 />
you may also use:<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 />
{{Box 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 />
<code>UNIX</code> 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 3d acceleration<br />
*'''wheel''' - for using sudo<br />
*'''power''' - used w/ power options (ie. shutdown w/ off 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 <code>UNIX</code> 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 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 />
To install Sudo:<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 />
{{Box Note| Alsa is included in the Arch mainline kernel and udev will automatically probe your hardware on boot-up, 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 />
{{Box 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 />
{{Box 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 on boot-up.<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 <code>UNIX</code>-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 />
{{Box Note| If you plan on using an '''open-source''' video driver, and need 3d acceleration, it is recommended to install the libgl library before installing Xorg:}}<br />
<br />
# pacman -S libgl<br />
''(Proprietary video drivers provide their own gl library implementations.)''<br />
<br />
====A: Install X====<br />
Now we will install the base Xorg packages using pacman. This is the first step in building a GUI.<br />
<br />
# pacman -S xorg<br />
With newer versions of xorg, it is suggested (and possibly necessary in most cases) to install the input driver evdev, which should be installed as a dependency for xorg-server, but many seem to be lacking somehow:<br />
# pacman -S xf86-input-evdev<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) 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; open source radeonhd 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 />
{{Box 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 good 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 along with being 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). The older ones (X1xxx and older) aren't 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<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.<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 />
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 (method 1) ====<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 />
{{Box 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 />
* If you installed from a fresh (Core) install, it does not include the X window manager, so .xinitrc does not exist in /etc/skel. Instead, use the sample provided [[Xinitrc#A_standard_.xinitrc | here]] <small>(If you've followed the guide step by step you should have a basic .xinitrc file in /etc/skel)</small>.<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 />
{{Box Note | ''Be sure to have only '''one''' uncommented '''exec''' line in your ~/.xinitrc''.}}<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 />
You can exit the '''X''' Server with Ctrl+Alt+Backspace, or by typing &quot;exit&quot;. 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 console you started '''X''' from.<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 />
{{Tip|Advanced instructions for Xorg configuration can be found in the [[Xorg]] article.}}<br />
<br />
==== C: Test X (method 2) ====<br />
To test the X server, run the '''X''' script with the ''-config'' flag against the ''path/to/xorg.conf'' file. e.g.:<br />
<br />
# X -config /etc/X11/xorg.conf<br />
<br />
'''X''' should start with the white hollow vector '''X''' in the center of the screen, which should respond to mouse, trackpoint or touchpad movement. Use CTRL-Alt-Backspace to exit '''X'''.<br />
<br />
{{Box 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 />
<br />
=====In case of errors=====<br />
<br />
Inspect the config file:<br />
<br />
# nano /etc/X11/xorg.conf<br />
<br />
Ensure the video driver is properly specified. e.g.:<br />
Section &quot;Device&quot;<br />
<br />
...<br />
Driver &quot;savage&quot;<br />
...<br />
<br />
EndSection<br />
<br />
Ensure there are horizontal sync and vertical refresh specs under section &quot;Monitor&quot;. If not, add them:<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 />
Specify your default color depth 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 your desired Modes to your &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 />
# X -config /etc/X11/xorg.conf<br />
Detailed instructions in the [[Xorg]] article.<br />
<br />
* '''Using wgetpaste'''<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 />
<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 want something full-featured and similar to Windows and Mac OSX, '''[[#KDE|KDE]]''' is a good choice<br />
* If you want something slightly more minimalist, which follows the K.I.S.S. principle more closely, '''[[#GNOME|GNOME]]''' is a good choice<br />
* '''[[#Xfce|Xfce]]''' is generally perceived as similar to GNOME, but lighter and less demanding on system resources, yet still visually pleasing and providing a very complete environment.<br />
* '''[[#LXDE|LXDE]]''' is a minimal DE based on the Openbox window manager. It provides most things you need for a modern desktop while keeping relatively low system resource usage. LXDE is a good choice for those who want a quick way of setting up a pre-configured Openbox system.<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 have the Microsoft font sets, which are especially popular on websites. <br />
<br />
Install with:<br />
# pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera<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 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 tells the shell that this is the last command, so the shell does not need to wait to run a subsequent command.<br />
<br />
If you have trouble with automounting, use the following command instead. Replace "startxfce4" with the command that is appropriate for your window manager.<br />
exec ck-launch-session startxfce4<br />
<br />
Remember to have only one uncommented '''exec''' line in your ~/.xinitrc.<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 <code>UNIX</code> workstations. It combines ease of use, contemporary functionality, and outstanding graphical design with the technological superiority of <code>UNIX</code>-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 />
{{Box 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 />
{{Box 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 />
The cholesterol-free '''X''' environment. Xfce, like GNOME or KDE, is a desktop environment, but aims to be fast and lightweight while remaining visually appealing and easy to use. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit (like GNOME) and contains its own development environment (libraries, daemons, etc) similar to other big DEs. Unlike GNOME or KDE, Xfce is lightweight and designed more around CDE than Windows or Mac. It has a much slower development cycle, but is very stable and fast. Xfce is great for older hardware, and will perform excellently on newer machines as well.<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 />
{{Box 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<br />
{{Note|the lxde group DOES_NOT provide openbox as suggested as per 9/17/2009 so it must be installed specifically or you will end up with a desktop with no window management. install it with: pacman -S openbox}}<br />
Add:<br />
exec startlxde<br />
*If you 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 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 />
fvwm will automatically be listed in kdm/gdm in the sessions menu. Otherwise, add <br />
exec fvwm <br />
<br />
to your user's .xinitrc.<br />
<br />
==Useful Applications==<br />
To install useful apps, codecs and plugins, see [[Useful Applications]].<br />
<br />
=APPENDIX=<br />
See [[Beginners Guide Appendix]]</div>
Acecero
https://wiki.archlinux.org/index.php?title=GRUB&diff=77122
GRUB
2009-10-04T04:58:44Z
<p>Acecero: </p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Covers various aspects of the next generation of the GRand Unified Bootloader (GRUB2).}}<br />
<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|English|GRUB2}}<br />
{{i18n_entry|Česky|GRUB2 (Česky)}}<br />
{{i18n_entry|Español|GRUB2 (Español)}}<br />
{{i18n_entry|Français|GRUB2 (Français)}}<br />
{{i18n_entry|Italiano|GRUB2 (Italiano)}}<br />
{{i18n_entry|Русский|GRUB2 (Русский)}}<br />
{{Article summary end}}<br />
<br />
== Introduction ==<br />
{{Warning | The next generation of the GRand Unified Bootloader (GRUB2) is still under development and therefore all usual points apply. GRUB2 may fry your computer, burn your house, make you breakfast or eat your cat. You've been warned! For most people, except those with more exotic configurations, GRUB2 should just work.}}<br />
<br />
Commands &ndash; changes between GRUB and GRUB2. You may want to familiarise yourself with these before proceeding.<br />
E.g.: "find" has been replaced with "search"<br />
<br />
http://grub.enbug.org/CommandList<br />
<br />
== Installing Grub2 package ==<br />
<br />
First install grub2 with pacman:<br />
# pacman -Sy grub2<br />
<br />
Edit the grub2 configuration file with your settings. The 'old' {{Filename|menu.lst}} is replaced by a new file called {{Filename|grub.cfg}}:<br />
# nano /boot/grub/grub.cfg<br />
<br />
{{Note | Use {{Filename|hd[a-z]}} for IDE and {{Filename|sd[a-z]}} for SCSI and SATA.}}<br />
<br />
Here is an example of a simple configuration file:<br />
# Config file for GRUB2 - The GNU GRand Unified Bootloader<br />
# /boot/grub/grub.cfg<br />
<br />
# DEVICE NAME CONVERSIONS<br />
#<br />
# Linux Grub<br />
# -------------------------<br />
# /dev/fd0 (fd0)<br />
# /dev/sda (hd0)<br />
# /dev/sdb2 (hd1,2)<br />
# /dev/sda3 (hd0,3)<br />
#<br />
<br />
# Timeout for menu<br />
set timeout=5<br />
<br />
# Set default boot entry as Entry 0<br />
set default=0<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
set root=(hd0,1)<br />
linux /vmlinuz26 root=/dev/sda1 ro<br />
initrd /kernel26.img<br />
}<br />
<br />
## (1) Windows<br />
#menuentry "Windows" {<br />
#set root=(hd0,3)<br />
#chainloader +1<br />
#}<br />
<br />
If you do not have a seperate boot-partition, {{Codeline|/boot}} must be added to {{Filename|grub.cfg}}. Example:<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img<br />
}<br />
<br />
If you use '''LVM for your /boot''' add following before menuentries:<br />
<br />
insmod lvm<br />
<br />
and specify your root in menuentries as:<br />
<br />
set root=(''your_lvm_group_name''-''your_lvm_logical_boot_partition_name'')<br />
<br />
== Installing or Restoring GRUB to the Master Boot Record ==<br />
GRUB may be installed from a live environment, or directly from a running Arch install.<br />
<br />
In most cases, installing grub2 would be as easy as running the '''grub-install''' command as root:<br />
# grub-install /dev/sda<br />
where {{Filename|/dev/sda}} is the destination of the installation (in this case the MBR of the first SATA disc)<br />
<br />
If this fails with the error:<br />
grub-probe: error: Cannot get the real path of `/dev/fd0'<br />
Auto-detection of a filesystem module failed.<br />
Please specify the module with the option `--modules' explicitly.<br />
Try adding {{Codeline|--recheck}} to the arguments as follows:<br />
# grub-install --recheck /dev/sda<br />
<br />
Alternatively, you should be able to install grub2 by booting the system and running the '''grub''' command as root:<br />
# grub<br />
{this section is still incomplete, some steps should be added!!!}<br />
(grub2 doesn't have an interactive prompt)<br />
<br />
== Boot loader configuration ==<br />
The GRUB configuration is done in this file:<br />
/boot/grub/grub.cfg<br />
<br />
Be warned this section is incomplete, feel free to put all missing configuration options here!<br />
<br />
* {{Codeline|(hdn,m)}} is the partition {{Codeline|m}} on disc {{Codeline|n}}, partition numbers starting with 1, disc numbers starting with 0<br />
* {{Codeline|set default&#61;n}} is the default boot entry, that is choosen after timeout for user action<br />
* {{Codeline|set timeout&#61;m}} &ndash; time {{Codeline|m}} to wait in seconds for a user selection, before default is booted<br />
* {{Codeline|menuentry "str"{entry options&#125;}} &ndash; title string {{Codeline|str}} for a boot entry & basic layout<br />
* {{Codeline|set root&#61;(hdn,m)}} &ndash; base partition, where the kernel is stored to<br />
* {{Codeline|linux /path ro root&#61;/dev/device initrd /initrd.img}} &ndash; use the root option, if the kernel not placed in /<br />
* {{Codeline|chainloader +1}} sets {{Codeline|root}} active and gives booting procedure to its boot-loader (for Windows, e.g.)<br />
<br />
For UUID entries:<br />
# blkid<br />
<br />
This gives you the UUID. We were doing the following command to set the root device: <br />
<br />
# root=/dev/device<br />
<br />
Instead, replace it with this:<br />
<br />
# root=/dev/disk/by-uuid/bc285871-413 .... and so on, for your UUID.<br />
<br />
=== Dual booting===<br />
These are the two most common ways of configuring the {{Filename|grub.cfg}} file. For more complex uses, feel free to add descriptions here.<br />
<br />
====With other GNU/Linux distributions====<br />
This is done exactly the same way that Arch linux is loaded. Here we assume that the other distro is on partition {{Filename|[s/h]da2}}.<br />
menuentry "Other Linux" {<br />
set root=(hd0,2)<br />
linux /boot/vmlinuz (add other options here as required)<br />
initrd /boot/initrd.img (if the other kernel uses/needs one)<br />
}<br />
<br />
====With Windows====<br />
Add this at the end of your {{Filename|/boot/grub/grub.cfg}}. This assumes that your Windows partition is {{Filename|[s/h]da3}}.<br />
<br />
# (2) Windows XP<br />
menuentry "Windows XP" {<br />
set root=(hd0,3)<br />
chainloader +1<br />
}<br />
<br />
Note, that although commonly believed to be the case, Windows 2000 and later versions do not need to be on the first partition to boot. If the Windows partition changes number (i.e. if you after install add a partition before the windows partition), you will need to edit the Windows boot.ini file to reflect the change (see [http://vlaurie.com/computers2/Articles/bootini.htm this article] for details on how to do that).<br />
<br />
====With Windows Vista, via EasyBCD and NeoGRUB====<br />
Since EasyBCD's NeoGRUB currently can't understand the GRUB v2 menu format, chain-load to it by replacing the contents of your "C:\NST\menu.lst" file with lines similar to the following:<br />
<br />
default 0<br />
timeout 1<br />
<br />
title Chainload into GRUB v2<br />
root (hd0,7)<br />
kernel /boot/grub/core.img<br />
<br />
==Tips and tricks==<br />
<br />
===Background Image & Bitmap Fonts===<br />
GRUB2 comes with support for background images and bitmap fonts in pf2 format. The unifont font is included in the grub2 package under the filename {{Filename|unicode.pf2}}, or, as only ascii characters under the name {{Filename|ascii.pf2}}. Image formats supported include tga, png and jpeg, providing the correct modules are loaded. The maximum supported resolution depends on your hardware. A configuration sample setting a tga file as background is shown below.<br />
<br />
if loadfont /usr/share/grub/unicode.pf2 ; then<br />
set gfxmode="1024x768x32"<br />
insmod gfxterm<br />
insmod vbe<br />
terminal_output gfxterm<br />
if terminal_output gfxterm; then true ; else<br />
terminal gfxterm<br />
fi<br />
fi<br />
insmod tga<br />
background_image /boot/grub/archlinux.tga<br />
<br />
===Menu Colors===<br />
<br />
To change the colors in GRUB2 you would specify one option in {{Filename|/boot/grub/grub.cfg}}:<br />
<br />
set menu_color_normal=light-blue/black<br />
set menu_color_highlight=light-cyan/blue<br />
<br />
These are the default colors for Arch's release of GRUB-legacy. The available colors for GRUB2 are at http://www.gnu.org/software/grub/manual/html_node/color.html.<br />
<br />
===Hidden menu===<br />
For hiding menu put that code in grub.cfg after picture initialization but before ''menuentries'' (e.g. background_image /boot/grub/archlinux.tga).<br />
<br />
set timeout=5<br />
<br />
echo -n "Press ESC to see the menu... "<br />
if sleep --verbose --interruptible 5 ; then<br />
set timeout=0<br />
fi<br />
<br />
===Setting the Framebuffer Resolution===<br />
<br />
To change the framebuffer resolution in grub2, add this to the ''linux'' line in grub.cfg:<br />
<br />
video=vesafb:mode=1024x768-32 vga=790<br />
<br />
Make sure you add this somewhere, if you don't have any insmod lines already:<br />
<br />
insmod vbe<br />
<br />
== Troubleshooting ==<br />
Any troubleshooting should be added here.<br />
<br />
I couldn't figure out how to uninstall grub1, and install grub2 to the MBR, as it isn't being booted by default. It is still booting grub1. So, an easy work-around, is rename {{Filename|menu.lst.pacsave}} or whatever, to {{Filename|menu.lst}} (in /boot/grub/) and for each menu entry that you would like to use grub2, at the end type {{Codeline|"chainloader +1"}}. This will tell grub1 to forward control to grub2. This is an ugly hack though, so I advise setting the {{Filename|menu.lst}}'s timout as 0, otherwise the total timeout would be grub1's time out + grub2's which, for me would equal more than 18 seconds, which is quite a bit.<br />
<br />
P.S. hopefully someone figures out how to pry grub1's dead fingers off of my MBR, and place grub2 on it :) .<br />
<br />
In my case it had to do with my boot partition. Say boot-partition is {{Codeline|(hd0,1)}} and your root is {{Codeline|(hd0,3)}} (grub2 naming). grub-setup searches for {{Filename|(hd0,3)/boot/grub/core.img}}. Just because it's on {{Filename|(hd0,1)/grub/core.img}}, it is unable to find it. So I copied the grub-folder to my root partition and everything worked fine:<br />
<br />
E.g. (as root:)<br />
# mount /boot<br />
# cp -a /boot/grub /<br />
# umount /boot<br />
# mv /grub /boot/<br />
# grub-install /dev/sda<br />
<br />
== More Resources ==<br />
* [http://www.gnu.org/software/grub/ GRUB Homepage]<br />
* [http://grub.enbug.org/ GRUB wiki]</div>
Acecero