https://wiki.archlinux.org/api.php?action=feedcontributions&user=MartinZ&feedformat=atomArchWiki - User contributions [en]2024-03-29T10:30:49ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Network_configuration/Wireless&diff=374591Network configuration/Wireless2015-05-23T02:58:44Z<p>MartinZ: /* Troubleshooting */ Added WMM requirement for 802.11n</p>
<hr />
<div>[[Category:Wireless Networking]]<br />
[[cs:Wireless Setup]]<br />
[[de:(W)LAN und Arch Linux]]<br />
[[el:Wireless Setup]]<br />
[[es:Wireless Setup]]<br />
[[fr:Wifi]]<br />
[[it:Wireless Setup]]<br />
[[ja:ワイヤレス設定]]<br />
[[nl:Wireless Setup]]<br />
[[ro:Wireless]]<br />
[[ru:Wireless network configuration]]<br />
[[th:Wireless Setup]]<br />
[[tr:Kablosuz bağlantı]]<br />
[[zh-CN:Wireless network configuration]]<br />
{{Related articles start}}<br />
{{Related|Network configuration}}<br />
{{Related|Software access point}}<br />
{{Related|Ad-hoc networking}}<br />
{{Related|Internet sharing}}<br />
{{Related articles end}}<br />
<br />
Configuring wireless is a two-part process; the first part is to identify and ensure the correct driver for your wireless device is installed (they are available on the installation media, but often have to be installed explicitly), and to configure the interface. The second is choosing a method of managing wireless connections. This article covers both parts, and provides additional links to wireless management tools.<br />
<br />
== Device driver ==<br />
<br />
The default Arch Linux kernel is ''modular'', meaning many of the drivers for machine hardware reside on the hard drive and are available as [[Kernel modules|modules]]. At boot, [[udev]] takes an inventory of your hardware and loads appropriate modules (drivers) for your corresponding hardware, which will in turn allow creation of a network ''interface''.<br />
<br />
Some wireless chipsets also require firmware, in addition to a corresponding driver. Many firmware images are provided by the {{Pkg|linux-firmware}} package which is installed by default, however, proprietary firmware images are not included and have to be installed separately. This is described in [[#Installing driver/firmware]].<br />
<br />
{{Note|Udev is not perfect. If the proper module is not loaded by udev on boot, simply [[Kernel modules#Loading|load it manually]]. Note also that udev may occasionally load more than one driver for a device, and the resulting conflict will prevent successful configuration. Make sure to [[Kernel modules#Blacklisting|blacklist]] the unwanted module.}}<br />
<br />
{{Tip|Though not strictly required, it's a good idea to first install user-space tools mentioned in [[#Manual setup]], especially when some problem should appear.}}<br />
<br />
=== Check the driver status ===<br />
<br />
To check if the driver for your card has been loaded, check the output of the {{ic|lspci -k}} or {{ic|lsusb -v}} command, depending on if the card is connected by PCI(e) or USB. You should see that some kernel driver is in use, for example:<br />
<br />
{{hc|$ lspci -k|<nowiki><br />
06:00.0 Network controller: Intel Corporation WiFi Link 5100<br />
Subsystem: Intel Corporation WiFi Link 5100 AGN<br />
Kernel driver in use: iwlwifi<br />
Kernel modules: iwlwifi<br />
</nowiki>}}<br />
<br />
{{Note|If the card is a USB device, running {{ic|<nowiki>dmesg | grep usbcore</nowiki>}} should give something like {{ic|usbcore: registered new interface driver rtl8187}} as output.}}<br />
<br />
Also check the output of {{ic|ip link}} command to see if a wireless interface ([[Network configuration#Device names|usually]] it starts with the letter "w", e.g. {{ic|wlp2s1}}) was created. Then bring the interface up with {{ic|ip link set ''interface'' up}}. For example, assuming the interface is {{ic|wlan0}}:<br />
<br />
# ip link set wlan0 up<br />
<br />
If you get this error message: {{ic|SIOCSIFFLAGS: No such file or directory}}, it most certainly means that your wireless chipset requires a firmware to function.<br />
<br />
Check kernel messages for firmware being loaded:<br />
<br />
{{hc|<nowiki>$ dmesg | grep firmware</nowiki>|<nowiki><br />
[ 7.148259] iwlwifi 0000:02:00.0: loaded firmware version 39.30.4.1 build 35138 op_mode iwldvm<br />
</nowiki>}}<br />
<br />
If there is no relevant output, check the messages for the full output for the module you identified earlier ({{ic|iwlwifi}} in this example) to identify the relevant message or further issues:<br />
<br />
{{hc|<nowiki>$ dmesg | grep iwlwifi</nowiki>|<nowiki><br />
[ 12.342694] iwlwifi 0000:02:00.0: irq 44 for MSI/MSI-X<br />
[ 12.353466] iwlwifi 0000:02:00.0: loaded firmware version 39.31.5.1 build 35138 op_mode iwldvm<br />
[ 12.430317] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG disabled<br />
...<br />
[ 12.430341] iwlwifi 0000:02:00.0: Detected Intel(R) Corporation WiFi Link 5100 AGN, REV=0x6B<br />
</nowiki>}}<br />
<br />
If the kernel module is successfully loaded and the interface is up, you can skip the next section.<br />
<br />
=== Installing driver/firmware ===<br />
<br />
Check the following lists to discover if your card is supported:<br />
<br />
* The [https://help.ubuntu.com/community/WifiDocs/WirelessCardsSupported Ubuntu Wiki] has a good list of wireless cards and whether or not they are supported either in the Linux kernel or by a user-space driver (includes driver name).<br />
* [http://linux-wless.passys.nl/ Linux Wireless Support] and The Linux Questions' [http://www.linuxquestions.org/hcl/index.php?cat=10 Hardware Compatibility List] (HCL) also have a good database of kernel-friendly hardware.<br />
* The [http://wireless.kernel.org/en/users/Devices kernel page] additionally has a matrix of supported hardware.<br />
<br />
Note that some vendors ship products that may contain different chip sets, even if the product identifier is the same. Only the usb-id (for USB devices) or pci-id (for PCI devices) is authoritative.<br />
<br />
If your wireless card is listed above, follow the [[#Troubleshooting drivers and firmware]] subsection of this page, which contains information about installing drivers and firmware of some specific wireless cards. Then [[#Check the driver status|check the driver status]] again.<br />
<br />
If your wireless card is not listed above, it is likely supported only under Windows (some Broadcom, 3com, etc). For these, you can try to use [[#ndiswrapper]].<br />
<br />
== Wireless management ==<br />
<br />
Assuming that your drivers are installed and working properly, you will need to choose a method of managing your wireless connections. The following subsections will help you decide.<br />
<br />
Procedure and tools required will depend on several factors:<br />
* The desired nature of configuration management; from a completely manual command line procedure to an automated solution with graphical front-ends.<br />
* The encryption type (or lack thereof) which protects the wireless network.<br />
* The need for network profiles, if the computer will frequently change networks (such as a laptop).<br />
<br />
{{Tip|<br />
* Whatever is your choice, '''you should try to connect using the manual method first'''. This will help you understand the different steps that are required and troubleshoot possible problems.<br />
* If possible (e.g. if you manage your Wi-Fi access point), try connecting with no encryption, to check that everything works. Then try using encryption, either WEP (simple to configure, but crackable in a matter of seconds), WPA or WPA2.<br />
}}<br />
<br />
The following table shows the different methods that can be used to activate and manage a wireless connection, depending on the encryption and management types, and the various tools that are required. Although there may be other possibilities, these are the most frequently used:<br />
<br />
{| class="wikitable"<br />
! Management method || Interface activation || Wireless connection management <br>(/=alternatives) || Assigning IP address <br>(/=alternatives) <br />
|-<br />
| [[#Manual setup|Manually managed]], <br>with no or WEP encryption || [[Core utilities#ip|ip]] || {{Pkg|iw}} / [https://www.archlinux.org/packages/?name=wireless_tools iwconfig] || [[Core utilities#ip|ip]] / [[dhcpcd]] / {{Pkg|dhclient}}<br />
|-<br />
| [[#Manual setup|Manually managed]], <br>with WPA or WPA2 PSK encryption || [[Core utilities#ip|ip]] || {{Pkg|iw}} / [https://www.archlinux.org/packages/?name=wireless_tools iwconfig] + [[WPA supplicant|wpa_supplicant]] || [[Core utilities#ip|ip]] / [[dhcpcd]] / {{Pkg|dhclient}}<br />
|-<br />
| [[#Automatic setup|Automatically managed]], <br>with network profiles support || colspan="3" align="center" | [[netctl]], [[Wicd]], [[NetworkManager]], etc.<br><br />
These tools pull in the required dependencies from the list of packages in the manual method.<br />
|}<br />
<br />
=== Manual setup ===<br />
<br />
Just like other network interfaces, the wireless ones are controlled with ''ip'' from the {{Pkg|iproute2}} package.<br />
<br />
You will need to install a basic set of tools for managing the wireless connection. Either:<br />
:*{{Pkg|iw}} - only supports the nl80211 (netlink) standard. It does not support the older WEXT (Wireless EXTentions) standard. If ''iw'' does not see your card, this may be the reason.<br />
:or<br />
:*{{Pkg|wireless_tools}} - currently deprecated, but still widely supported. Use this for modules using the WEXT standard.<br />
<br />
For WPA/WPA2 encryption, you will also need:<br />
:*{{Pkg|wpa_supplicant}} - works with both WEXT and nl80211.<br />
<br />
The table below gives an overview of comparable commands for ''iw'' and ''wireless_tools'' (see [http://wireless.kernel.org/en/users/Documentation/iw/replace-iwconfig iw replaces iwconfig] for more examples). These user-space tools work extremely well and allow complete manual control of wireless connection.<br />
<br />
{{Note|<br />
* Examples in this section assume that your wireless device interface is {{ic|wlan0}} and that you are connecting to {{ic|''your_essid''}} wifi access point. Replace both accordingly. To find your wireless device interface, see [[#Getting some useful information]].<br />
* Note that most of the commands have to be executed with [[Users and groups|root permissions]]. Executed with normal user rights, some of the commands (e.g. ''iwlist''), will exit without error but not produce the correct output either, which can be confusing.<br />
}} <br />
<br />
{| class="wikitable"<br />
! ''iw'' command<br />
! ''wireless_tools'' command<br />
! Description<br />
|-<br />
| iw dev wlan0 link<br />
| iwconfig wlan0<br />
| Getting link status.<br />
|-<br />
| iw dev wlan0 scan<br />
| iwlist wlan0 scan<br />
| Scanning for available access points.<br />
|-<br />
| iw dev wlan0 set type ibss<br />
| iwconfig wlan0 mode ad-hoc<br />
| Setting the operation mode to ''ad-hoc''.<br />
|-<br />
| iw dev wlan0 connect ''your_essid''<br />
| iwconfig wlan0 essid ''your_essid''<br />
| Connecting to open network.<br />
|-<br />
| iw dev wlan0 connect ''your_essid'' 2432<br />
| iwconfig wlan0 essid ''your_essid'' freq 2432M<br />
| Connecting to open network specifying channel.<br />
|-<br />
| iw dev wlan0 connect ''your_essid'' key 0:''your_key''<br />
| iwconfig wlan0 essid ''your_essid'' key ''your_key''<br />
| Connecting to WEP encrypted network using hexadecimal key.<br />
|-<br />
| iw dev wlan0 connect ''your_essid'' key 0:''your_key''<br />
| iwconfig wlan0 essid ''your_essid'' key s:''your_key''<br />
| Connecting to WEP encrypted network using ASCII key.<br />
|-<br />
| iw dev wlan0 set power_save on<br />
| iwconfig wlan0 power on<br />
| Enabling power save.<br />
|}<br />
<br />
{{Note|Depending on your hardware and encryption type, some of these steps may not be necessary. Some cards are known to require interface activation and/or access point scanning before being associated to an access point and being given an IP address. Some experimentation may be required. For instance, WPA/WPA2 users may try to directly activate their wireless network from step [[#Association]].}}<br />
<br />
==== Getting some useful information ====<br />
<br />
{{Tip|See [http://wireless.kernel.org/en/users/Documentation/iw official documentation] of the ''iw'' tool for more examples.}}<br />
<br />
* First you need to find the name of wireless interface. You can do it with following command:<br />
<br />
{{hc|$ iw dev|<br />
phy#0<br />
Interface '''wlan0'''<br />
ifindex 3<br />
wdev 0x1<br />
addr 12:34:56:78:9a:bc<br />
type managed<br />
channel 1 (2412 MHz), width: 40 MHz, center1: 2422 MHz<br />
}}<br />
<br />
* To check link status, use following command. Example output when not connected to an AP:<br />
<br />
{{hc|$ iw dev wlan0 link|<br />
Not connected.<br />
}}<br />
<br />
When connected to an AP, you will see something like:<br />
<br />
{{hc|$ iw dev wlan0 link|<br />
Connected to 12:34:56:78:9a:bc (on wlan0)<br />
SSID: MyESSID<br />
freq: 2412<br />
RX: 33016518 bytes (152703 packets)<br />
TX: 2024638 bytes (11477 packets)<br />
signal: -53 dBm<br />
tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI<br />
<br />
bss flags: short-preamble short-slot-time<br />
dtim period: 1<br />
beacon int: 100<br />
}}<br />
<br />
* You can get statistic information, such as the amount of tx/rx bytes, signal strength etc., with following command:<br />
<br />
{{hc|$ iw dev wlan0 station dump|<br />
Station 12:34:56:78:9a:bc (on wlan0)<br />
inactive time: 1450 ms<br />
rx bytes: 24668671<br />
rx packets: 114373<br />
tx bytes: 1606991<br />
tx packets: 8557<br />
tx retries: 623<br />
tx failed: 1425<br />
signal: -52 dBm<br />
signal avg: -53 dBm<br />
tx bitrate: 150.0 MBit/s MCS 7 40MHz short GI<br />
authorized: yes<br />
authenticated: yes<br />
preamble: long<br />
WMM/WME: yes<br />
MFP: no<br />
TDLS peer: no<br />
}}<br />
<br />
==== Interface activation ====<br />
<br />
{{Tip|Usually this step is not required}}<br />
<br />
Some cards require that the kernel interface be activated before you can use ''iw'' or ''wireless_tools'':<br />
<br />
# ip link set wlan0 up<br />
<br />
{{Note|If you get errors like {{ic|RTNETLINK answers: Operation not possible due to RF-kill}}, make sure that hardware switch is ''on''. See [[#Rfkill caveat]] for details.}}<br />
<br />
To verify that the interface is up, inspect the output of the following command:<br />
<br />
{{hc|# ip link show wlan0|<br />
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000<br />
link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff<br />
}}<br />
<br />
The {{ic|UP}} in {{ic|<BROADCAST,MULTICAST,UP,LOWER_UP>}} is what indicates the interface is up, not the later {{ic|state DOWN}}.<br />
<br />
==== Access point discovery ====<br />
<br />
See what access points are available:<br />
<br />
# iw dev wlan0 scan | less<br />
<br />
{{Note|If it displays {{ic|Interface does not support scanning}}, then you probably forgot to install the firmware. In some cases this message is also displayed when not running ''iw'' as root.}}<br />
<br />
{{Tip|Depending on your location, you might need to set the correct [[#Respecting the regulatory domain|regulatory domain]] in order to see all available networks.}}<br />
<br />
The important points to check:<br />
* '''SSID:''' the name of the network.<br />
* '''Signal:''' is reported in a wireless power ratio in dbm (e.g. from -100 to 0). The closer the negative value gets to zero, the better the signal. Observing the reported power on a good quality link and a bad one should give an idea about the individual range. <br />
* '''Security:''' it is not reported directly, check the line starting with {{ic|capability}}. If there is {{ic|Privacy}}, for example {{ic|capability: ESS Privacy ShortSlotTime (0x0411)}}, then the network is protected somehow.<br />
** If you see an {{ic|RSN}} information block, then the network is protected by [[Wikipedia:IEEE 802.11i-2004|Robust Security Network]] protocol, also known as WPA2.<br />
** If you see an {{ic|WPA}} information block, then the network is protected by [[Wikipedia:Wi-Fi Protected Access|Wi-Fi Protected Access]] protocol.<br />
** In the {{ic|RSN}} and {{ic|WPA}} blocks you may find the following information:<br />
*** '''Group cipher:''' value in TKIP, CCMP, both, others.<br />
*** '''Pairwise ciphers:''' value in TKIP, CCMP, both, others. Not necessarily the same value than Group cipher.<br />
*** '''Authentication suites:''' value in PSK, 802.1x, others. For home router, you will usually find PSK (''i.e.'' passphrase). In universities, you are more likely to find 802.1x suite which requires login and password. Then you will need to know which key management is in use (e.g. EAP), and what encapsulation it uses (e.g. PEAP). Find more details at [[Wikipedia:Authentication protocol]] and the sub-articles.<br />
** If you do not see neither {{ic|RSN}} nor {{ic|WPA}} blocks but there is {{ic|Privacy}}, then WEP is used.<br />
<br />
==== Operating mode ====<br />
<br />
{{Tip|This step is optional, but may be required}}<br />
<br />
At this step you might need to set the proper operating mode of the wireless card. More specifically, if you are going to connect an [[Ad-hoc networking|ad-hoc network]], you need to set the operating mode to {{ic|ibss}}:<br />
<br />
# iw dev wlan0 set type ibss<br />
<br />
{{Note|Changing the operating mode on some cards might require the wireless interface to be ''down'' ({{ic|ip link set wlan0 down}}).}}<br />
<br />
==== Association ====<br />
<br />
Depending on the encryption, you need to associate your wireless device with the access point to use and pass the encryption key:<br />
<br />
* '''No encryption''' {{bc|# iw dev wlan0 connect "''your_essid''"}}<br />
* '''WEP'''<br />
** using a hexadecimal or ASCII key (the format is distinguished automatically, because a WEP key has a fixed length): {{bc|# iw dev wlan0 connect "''your_essid''" key 0:''your_key''}}<br />
** using a hexadecimal or ASCII key, specifying the third set up key as default (keys are counted from zero, four are possible): {{bc|# iw dev wlan0 connect "''your_essid''" key d:2:''your_key''}}<br />
* '''WPA/WPA2''' According to what you got from [[#Access point discovery]], issue this command: {{bc|# wpa_supplicant -D nl80211,wext -i wlan0 -c <(wpa_passphrase "''your_SSID''" "''your_key''")}}<br />
<br />
If this does not work, you may need to adjust the options. <br />
If connected successfully, continue in a new terminal (or quit {{ic|wpa_supplicant}} with {{ic|Ctrl+c}} and add the {{ic|-B}} switch to the above command to run it in the background). [[WPA supplicant]] contains more information on options and on how to create a permanent configuration file for the wireless access point.<br />
<br />
Regardless of the method used, you can check if you have associated successfully:<br />
<br />
# iw dev wlan0 link<br />
<br />
==== Getting an IP address ====<br />
<br />
{{Note|See [[Network configuration#Configure the IP address]] for more examples. This part is identical.}}<br />
<br />
Finally, provide an IP address to the network interface. Simple examples are:<br />
<br />
# dhcpcd wlan0<br />
<br />
for DHCP, or<br />
<br />
# ip addr add 192.168.0.2/24 dev wlan0<br />
# ip route add default via 192.168.0.1<br />
<br />
for static IP addressing.<br />
<br />
{{Tip|[[dhcpcd]] contains a [[dhcpcd#10-wpa_supplicant|hook]] (enabled by default) to automatically launch [[WPA supplicant]] on wireless interfaces. In most cases, you do not need to create any [[#Manual wireless connection at boot using systemd and dhcpcd|custom service]], just enable {{ic|dhcpcd@''interface''.service}}.}}<br />
<br />
==== Custom startup scripts/services ====<br />
<br />
Although the manual configuration method will help troubleshoot wireless problems, you will have to re-type every command each time you reboot. You can also quickly write a ''systemd'' service to automate the whole process, which is still a quite convenient way of managing network connection while keeping full control over your configuration. You can find some examples in this section. If you prefer to use scripts to handle the commands, see the [[Network configuration#Persistent configuration on boot using systemd|network configuration]] article for an example how to source them.<br />
<br />
===== Manual wireless connection at boot using systemd and dhcpcd =====<br />
<br />
This example uses [[systemd]] for start up, [[WPA supplicant]] for connecting, and {{Pkg|dhcpcd}} for assigning an IP address.<br />
<br />
{{Note|Make sure that {{Pkg|wpa_supplicant}} is installed and create {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}. See [[WPA supplicant]] for details.}}<br />
<br />
Create a ''systemd'' unit, e.g {{ic|/etc/systemd/system/network-wireless@.service}}:<br />
<br />
{{hc|/etc/systemd/system/network-wireless@.service|<nowiki><br />
[Unit]<br />
Description=Wireless network connectivity (%i)<br />
Wants=network.target<br />
Before=network.target<br />
BindsTo=sys-subsystem-net-devices-%i.device<br />
After=sys-subsystem-net-devices-%i.device<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
<br />
ExecStart=/usr/bin/ip link set dev %i up<br />
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/wpa_supplicant.conf<br />
ExecStart=/usr/bin/dhcpcd %i<br />
<br />
ExecStop=/usr/bin/ip link set dev %i down<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
Start and/or enable the unit as described in [[systemd#Using units]], remember to pass the name of the interface:<br />
<br />
# systemctl enable network-wireless@wlan0.service<br />
# systemctl start network-wireless@wlan0.service<br />
<br />
===== Systemd with wpa_supplicant and static IP =====<br />
<br />
{{Note|Make sure that {{Pkg|wpa_supplicant}} is installed and create a custom {{ic|/etc/wpa_supplicant/wpa_supplicant.conf}}. See [[WPA supplicant]] for details.}}<br />
<br />
First create configuration file for the [[systemd]] service, replace {{ic|''interface''}} with the proper interface name for reference:<br />
<br />
{{hc|/etc/conf.d/network-wireless-''interface''|<nowiki><br />
address=192.168.0.10<br />
netmask=24<br />
broadcast=192.168.0.255<br />
gateway=192.168.0.1<br />
</nowiki>}}<br />
<br />
Create a ''systemd'' unit file:<br />
<br />
{{hc|/etc/systemd/system/network-wireless@.service|<nowiki><br />
[Unit]<br />
Description=Wireless network connectivity (%i)<br />
Wants=network.target<br />
Before=network.target<br />
BindsTo=sys-subsystem-net-devices-%i.device<br />
After=sys-subsystem-net-devices-%i.device<br />
<br />
[Service]<br />
Type=oneshot<br />
RemainAfterExit=yes<br />
EnvironmentFile=/etc/conf.d/network-wireless-%i<br />
<br />
ExecStart=/usr/bin/ip link set dev %i up<br />
ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant/wpa_supplicant.conf<br />
ExecStart=/usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i<br />
ExecStart=/usr/bin/ip route add default via ${gateway}<br />
<br />
ExecStop=/usr/bin/ip addr flush dev %i<br />
ExecStop=/usr/bin/ip link set dev %i down<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
[[systemd#Using units|Enable and start]] the unit {{ic|network-wireless@''interface''}}, passing your name of the interface.<br />
<br />
=== Automatic setup ===<br />
<br />
There are many solutions to choose from, but remember that all of them are mutually exclusive; you should not run two daemons simultaneously. The following table compares the different connection managers, additional notes are in subsections below.<br />
<br />
{| class="wikitable"<br />
! Connection manager || Network <br>profiles <br>support || Roaming <br>(auto connect dropped <br>or changed location) || [[Wikipedia:Point-to-Point Protocol|PPP]] support <br>(e.g. 3G modem) || Official <br>GUI || Console tools<br />
|-<br />
| [[Connman]] || Yes || Yes || Yes || No || {{ic|connmanctl}}<br />
|-<br />
| [[netctl]] || Yes || Yes || Yes || No || {{ic|netctl}},{{ic|wifi-menu}}<br />
|-<br />
| [[NetworkManager]] || Yes || Yes || Yes || Yes || {{ic|nmcli}}<br />
|-<br />
| [[Wicd]] || Yes || Yes || No || Yes || {{ic|wicd-curses}}<br />
|}<br />
<br />
==== Connman ====<br />
<br />
''ConnMan'' is an alternative to ''NetworkManager'' and ''Wicd'', designed to be light on resources making it ideal for netbooks, and other mobile devices. It is modular in design takes advandage of the dbus API and provides proper abstraction on top of ''wpa_supplicant''. <br />
<br />
See [[Connman]].<br />
<br />
==== netctl ====<br />
<br />
''netctl'' is a replacement for ''netcfg'' designed to work with ''systemd''. It uses a profile based setup and is capable of detection and connection to a wide range of network types. This is no harder than using graphical tools.<br />
<br />
See [[netctl]].<br />
<br />
==== Wicd ====<br />
<br />
''Wicd'' is a network manager that can handle both wireless and wired connections. It is written in Python and Gtk with fewer dependencies than ''NetworkManager'', making it an ideal solution for lightweight desktop users.<br />
<br />
See [[Wicd]].<br />
<br />
{{Note|[[wicd]] may cause excessive dropped connections with some drivers, while [[NetworkManager]] might work better.}}<br />
<br />
==== NetworkManager ====<br />
<br />
''NetworkManager'' is an advanced network management tool that is enabled by default in most popular GNU/Linux distributions. In addition to managing wired connections, ''NetworkManager'' provides worry-free wireless roaming with an easy-to-use GUI program for selecting your desired network.<br />
<br />
See [[NetworkManager]].<br />
<br />
{{Note|GNOME's {{Pkg|network-manager-applet}} also works under [[Xfce]] if you install {{AUR|xfce4-xfapplet-plugin}} (available in the [[Arch User Repository|AUR]]) first. Additionally, there are applets available for [[KDE]].}}<br />
<br />
==== WiFi Radar ====<br />
<br />
''WiFi Radar'' is a Python/PyGTK2 utility for managing wireless (and '''only''' wireless) profiles. It enables you to scan for available networks and create profiles for your preferred networks.<br />
<br />
See [[Wifi Radar]].<br />
<br />
== Troubleshooting ==<br />
<br />
This section contains general troubleshooting tips, not strictly related to problems with drivers or firmware. For such topics, see next section [[#Troubleshooting drivers and firmware]].<br />
<br />
=== Rfkill caveat ===<br />
<br />
Many laptops have a hardware button (or switch) to turn off wireless card, however, the card can also be blocked by kernel. This can be handled by {{Pkg|rfkill}}. Use ''rfkill'' to show the current status:<br />
<br />
{{hc|# rfkill list|<br />
0: phy0: Wireless LAN<br />
Soft blocked: yes<br />
Hard blocked: yes<br />
}}<br />
<br />
If the card is ''hard-blocked'', use the hardware button (switch) to unblock it. If the card is not ''hard-blocked'' but ''soft-blocked'', use the following command:<br />
<br />
# rfkill unblock wifi<br />
<br />
{{Note|It is possible that the card will go from ''hard-blocked'' and ''soft-unblocked'' state into ''hard-unblocked'' and ''soft-blocked'' state by pressing the hardware button (i.e. the ''soft-blocked'' bit is just switched no matter what). This can be adjusted by tuning some options of the {{ic|rfkill}} [[Kernel modules|kernel module]].}}<br />
<br />
More info: http://askubuntu.com/questions/62166/siocsifflags-operation-not-possible-due-to-rf-kill<br />
<br />
=== Respecting the regulatory domain ===<br />
<br />
The [[wikipedia:IEEE_802.11#Regulatory_domains_and_legal_compliance|regulatory domain]], or "regdomain", is used to reconfigure wireless drivers to make sure that wireless hardware usage complies with local laws set by the FCC, ETSI and other organizations. Regdomains use [[wikipedia:ISO_3166-1_alpha-2|ISO 3166-1 alpha-2 country codes]]. For example, the regdomain of the United States would be "US", China would be "CN", etc.<br />
<br />
Regdomains affect the availability of wireless channels. In the 2.4GHz band, the allowed channels are 1-11 for the US, 1-14 for Japan, and 1-13 for most of the rest of the world. In the 5GHz band, the rules for allowed channels are much more complex. In either case, consult [[wikipedia:List_of_WLAN_channels|this list of WLAN channels]] for more detailed information.<br />
<br />
Regdomains also affect the limit on the [[wikipedia:Equivalent_isotropically_radiated_power|effective isotropic radiated power (EIRP)]] from wireless devices. This is derived from transmit power/"tx power", and is measured in [[wikipedia:DBm|dBm/mBm (1dBm=100mBm) or mW (log scale)]]. In the 2.4GHz band, the maximum is 30dBm in the US and Canada, 20dBm in most of Europe, and 20dB-30dBm for the rest of the world. In the 5GHz band, maximums are usually lower. Consult the [http://git.kernel.org/cgit/linux/kernel/git/linville/wireless-regdb.git/tree/db.txt wireless-regdb] for more detailed information (EIRP dBm values are in the second set of brackets for each line).<br />
<br />
Misconfiguring the regdomain can be useful - for example, by allowing use of an unused channel when other channels are crowded, or by allowing an increase in tx power to widen transmitter range. However, '''this is not recommended''' as it could break local laws and cause interference with other radio devices.<br />
<br />
To configure the regdomain, install {{Pkg|crda}} and {{Pkg|wireless-regdb}} and reboot (to reload the {{ic|cfg80211}} module and all related drivers). Check the boot log to make sure that CRDA is being called by {{ic|cfg80211}}:<br />
<br />
$ dmesg | grep cfg80211<br />
<br />
The current regdomain can be set to the United States with:<br />
<br />
# iw reg set US<br />
<br />
And queried with:<br />
<br />
$ iw reg get<br />
<br />
{{Note|Your device may be set to country "00", which is the "world regulatory domain" and contains generic settings. If this cannot be unset, CRDA may be misconfigured.}}<br />
<br />
However, setting the regdomain may not alter your settings. Some devices have a regdomain set in firmware/EEPROM, which dictates the limits of the device, meaning that setting regdomain in software [http://wiki.openwrt.org/doc/howto/wireless.utilities#iw can only increase restrictions], not decrease them. For example, a CN device could be set in software to the US regdomain, but because CN has an EIRP maximum of 20dBm, the device will not be able to transmit at the US maximum of 30dBm.<br />
<br />
For example, to see if the regdomain is being set in firmware for an Atheros device:<br />
<br />
$ dmesg | grep ath:<br />
<br />
For other chipsets, it may help to search for "EEPROM", "regdomain", or simply the name of the device driver.<br />
<br />
To see if your regdomain change has been successful, and to query the number of available channels and their allowed transmit power:<br />
<br />
$ iw list | grep -A 15 Frequencies:<br />
<br />
A more permanent configuration of the regdomain can be achieved through editing {{ic|/etc/conf.d/wireless-regdom}} and uncommenting the appropriate domain. {{ic|wpa_supplicant}} can also use a regdomain in the {{ic|1=country=}} line of {{ic|/etc/wpa_supplicant.conf}}.<br />
<br />
It is also possible to configure the [http://wireless.kernel.org/en/developers/Documentation/cfg80211 cfg80211] kernel module to use a specific regdomain by adding, for example, {{ic|1=options cfg80211 ieee80211_regdom=EU}} to {{ic|/etc/modprobe.d/modprobe.conf}}. However, this is part of the [http://wireless.kernel.org/en/developers/Regulatory#The_ieee80211_regdom_module_parameter old regulatory implementation].<br />
<br />
For further information, read the [http://wireless.kernel.org/en/developers/Regulatory/ wireless.kernel.org regulatory documentation].<br />
<br />
=== Observing Logs ===<br />
<br />
A good first measure to troubleshoot is to analyze the system's logfiles first. In order not to manually parse through them all, it can help to open a second terminal/console window and watch the kernels messages with <br />
$ dmesg -w<br />
while performing the action, e.g. the wireless association attempt. <br />
<br />
When using a tool for network management, the same can be done for systemd with <br />
# journalctl -f <br />
<br />
Frequently a wireless error is accompanied by a deauthentication with a particular reason code, for example: <br />
wlan0: deauthenticating from XX:XX:XX:XX:XX:XX by local choice (reason=3)<br />
Looking up [http://www.aboutcher.co.uk/2012/07/linux-wifi-deauthenticated-reason-codes/ the reason code] might give a first hint. <br />
<br />
The individual tools used in this article further provide options for more detailed debugging output, which can be used in a second step of the analysis, if required.<br />
<br />
=== Failure to Connect ===<br />
<br />
{{Poor writing|No structure. Check if it can be structured as another cause # in [[#Random disconnections]], best with an explanation on why changing the router parameters may be a worthwhile try.}}<br />
<br />
First try to connect to the network with no authentication<br />
<br />
==== Other troubling-shooting in no particular order: ====<br />
<br />
Try disabling n mode within your router/Access Point settings.<br />
<br />
Change the the channel of in your Access Point<br />
<br />
Use a channel width of 20hz instead of 40hz<br />
<br />
=== Power saving ===<br />
<br />
See [[Power saving#Network interfaces]].<br />
<br />
=== Failed to get IP address ===<br />
<br />
* If getting an IP address repeatedly fails using the default {{Pkg|dhcpcd}} client, try installing and using {{Pkg|dhclient}} instead. Do not forget to select ''dhclient'' as the primary DHCP client in your [[#Automatic setup|connection manager]]!<br />
<br />
* If you can get an IP address for a wired interface and not for a wireless interface, try disabling the wireless card's power saving features:<br />
<br />
# iw dev wlan0 set power_save off<br />
<br />
* If you get a timeout error due to a ''waiting for carrier'' problem, then you might have to set the channel mode to {{ic|auto}} for the specific device:<br />
<br />
# iwconfig wlan0 channel auto<br />
<br />
Before changing the channel to auto, make sure your wireless interface is down. After it has successfully changed it, you can bring the interface up again and continue from there.<br />
<br />
=== Valid IP address but cannot resolve host ===<br />
<br />
If you are on a public wireless network that may have a [[wikipedia:Captive_portal|captive portal]], it may be necessary to remove any custom DNS servers from [[resolv.conf]].<br />
<br />
=== Connection always times out ===<br />
<br />
The driver may suffer from a lot of tx excessive retries and invalid misc errors for some unknown reason, resulting in a lot of packet loss and keep disconnecting, sometimes instantly. Following tips might be helpful.<br />
<br />
==== Lowering the rate ====<br />
<br />
Try setting lower rate, for example 5.5M:<br />
<br />
# iwconfig wlan0 rate 5.5M auto<br />
<br />
Fixed option should ensure that the driver does not change the rate on its own, thus making the connection a bit more stable:<br />
<br />
# iwconfig wlan0 rate 5.5M fixed<br />
<br />
==== Lowering the txpower ====<br />
<br />
You can try lowering the transmit power as well. This may save power as well:<br />
<br />
# iwconfig wlan0 txpower 5<br />
<br />
Valid settings are from {{ic|0}} to {{ic|20}}, {{ic|auto}} and {{ic|off}}.<br />
<br />
==== Setting rts and fragmentation thresholds ====<br />
<br />
Default iwconfig options have rts and fragmentation thresholds off. These options are particularly useful when there are many adjacent APs or in a noisy environment.<br />
<br />
The minimum value for fragmentation value is 256 and maximum is 2346. In many windows drivers the maximum is the default value:<br />
<br />
# iwconfig wlan0 frag 2346<br />
<br />
For rts minimum is 0, maximum is 2347. Once again windows drivers often use maximum as the default:<br />
<br />
# iwconfig wlan0 rts 2347<br />
<br />
=== Random disconnections ===<br />
<br />
==== Cause #1 ====<br />
<br />
If dmesg says {{ic|1=wlan0: deauthenticating from MAC by local choice (reason=3)}} and you lose your Wi-Fi connection, it is likely that you have a bit too aggressive power-saving on your Wi-Fi card[http://us.generation-nt.com/answer/gentoo-user-wireless-deauthenticating-by-local-choice-help-204640041.html]. Try disabling the wireless card's power-saving features:<br />
<br />
# iwconfig wlan0 power off<br />
<br />
See [[Power saving]] for tips on how to make it permanent (just specify {{ic|off}} instead of {{ic|on}}).<br />
<br />
If your card does not support {{ic|iwconfig wlan0 power off}}, check the '''BIOS''' for power management options. Disabling PCI-Express power management in the BIOS of a Lenovo W520 resolved this issue.<br />
<br />
==== Cause #2 ====<br />
<br />
If you are experiencing frequent disconnections and dmesg shows messages such as <br />
<br />
{{ic|1=ieee80211 phy0: wlan0: No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting}}<br />
<br />
try changing the channel bandwidth to {{ic|20MHz}} through your router's settings page.<br />
<br />
==== Cause #3 ====<br />
<br />
On some laptop models with hardware rfkill switches (e.g., Thinkpad X200 series), due to wear or bad design, the switch (or its connection to the mainboard) might become loose over time resulting in seemingly random hardblocks/disconnects when you accidentally touch the switch or move the laptop.<br />
There is no software solution to this, unless your switch is electrical and the BIOS offers the option to disable the switch.<br />
If your switch is mechanical (most are), there are lots of possible solutions, most of which aim to disable the switch: Soldering the contact point on the mainboard/wifi-card, glueing or blocking the switch, using a screw nut to tighten the switch or removing it altogether.<br />
<br />
=== Failed to connect to N (802.11n) ===<br />
It seems that the router should have Wi-Fi Multimedia (WMM) enabled for N to work<br />
<br />
== Troubleshooting drivers and firmware ==<br />
<br />
This section covers methods and procedures for installing kernel modules and ''firmware'' for specific chipsets, that differ from generic method.<br />
<br />
See [[Kernel modules]] for general informations on operations with modules.<br />
<br />
=== Ralink ===<br />
<br />
==== rt2x00 ====<br />
<br />
Unified driver for Ralink chipsets (it replaces {{ic|rt2500}}, {{ic|rt61}}, {{ic|rt73}}, etc). This driver has been in the Linux kernel since 2.6.24, you only need to load the right module for the chip: {{ic|rt2400pci}}, {{ic|rt2500pci}}, {{ic|rt2500usb}}, {{ic|rt61pci}} or {{ic|rt73usb}} which will autoload the respective {{ic|rt2x00}} modules too.<br />
<br />
A list of devices supported by the modules is available at the project's [http://rt2x00.serialmonkey.com/wiki/index.php/Hardware homepage].<br />
<br />
; Additional notes<br />
* Since kernel 3.0, rt2x00 includes also these drivers: {{ic|rt2800pci}}, {{ic|rt2800usb}}.<br />
* Since kernel 3.0, the staging drivers {{ic|rt2860sta}} and {{ic|rt2870sta}} are replaced by the mainline drivers {{ic|rt2800pci}} and {{ic|rt2800usb}}<sup>[https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fefecc6989b4b24276797270c0e229c07be02ad3]</sup>.<br />
* Some devices have a wide range of options that can be configured with {{ic|iwpriv}}. These are documented in the [http://web.ralinktech.com/ralink/Home/Support/Linux.html source tarballs] available from Ralink.<br />
<br />
==== rt3090 ====<br />
<br />
For devices which are using the rt3090 chipset it should be possible to use {{ic|rt2800pci}} driver, however, is not working with this chipset very well (e.g. sometimes it is not possible to use higher rate than 2Mb/s).<br />
<br />
The best way is to use the {{AUR|rt3090-dkms}} driver from [[AUR]]. Make sure to [[Kernel modules#Blacklisting|blacklist]] the {{ic|rt2800pci}} module and setup the {{ic|rt3090sta}} module to [[Kernel modules#Loading|load]] at boot.<br />
<br />
{{Note|This driver also works with rt3062 chipsets. Also the {{AUR|rt3090}} package is not supported by the latest kernel and has been orphaned {{AUR|rt3090-dkms}} should be used instead. }}<br />
<br />
==== rt3290 ====<br />
<br />
The rt3290 chipset is recognised by the kernel {{ic|rt2800pci}} module. However, some users experience problems and reverting to a patched Ralink driver seems to be beneficial in these [https://bbs.archlinux.org/viewtopic.php?id=161952 cases].<br />
<br />
==== rt3573 ====<br />
<br />
New chipset as of 2012. It may require proprietary drivers from Ralink. Different manufacturers use it, see the [https://bbs.archlinux.org/viewtopic.php?pid=1164228#p1164228 Belkin N750 DB wireless usb adapter] forums thread.<br />
<br />
==== rt5572 ====<br />
<br />
New chipset as of 2012 with support for 5 Ghz bands. It may require proprietary drivers from Ralink and some effort to compile them. At the time of writing a how-to on compilation is available for a DLINK DWA-160 rev. B2 [http://bernaerts.dyndns.org/linux/229-ubuntu-precise-dlink-dwa160-revb2 here].<br />
<br />
=== Realtek ===<br />
<br />
==== rtl8192cu ====<br />
<br />
The driver is now in the kernel, but many users have reported being unable to make a connection although scanning for networks does work.<br />
<br />
Package {{AUR|8192cu-dkms}} in the AUR includes many patches, try this if it does not work fine with the driver in kernel.<br />
<br />
==== rtl8192e ====<br />
<br />
The driver is part of the current kernel package. The module initialization may fail at boot giving this error message:<br />
<br />
rtl819xE:ERR in CPUcheck_firmware_ready()<br />
rtl819xE:ERR in init_firmware() step 2<br />
rtl819xE:ERR!!! _rtl8192_up(): initialization is failed!<br />
r8169 0000:03:00.0: eth0: link down<br />
<br />
A workaround is to simply unload the module:<br />
# modprobe -r r8192e_pci<br />
and reload the module (after a pause):<br />
# modprobe r8192e_pci<br />
<br />
==== rtl8188eu ====<br />
<br />
Some dongles, like the TP-Link TL-WN725N v2 (not sure, but it seems that uses the rtl8179 chipset), use chipsets compatible with this driver. In Linux 3.12 the driver [http://lwn.net/Articles/564798/ has been moved] to kernel staging source tree. For older kernels use out-of-tree driver sources built with [[dkms]] - install the {{AUR|dkms-8188eu}} package from AUR. At the times of 3.15 kernel rtl8188eu driver is buggy and has many stability issues.<br />
<br />
==== rtl8723ae/rtl8723be ====<br />
<br />
The new {{ic|rtl8723ae}} module is included in the mainline Linux kernel since version 3.6, the {{ic|rtl8723be}} module since 3.15.<br />
<br />
Some users may encounter errors with powersave on this card. This is shown with occasional disconnects that are not recognized by high level network managers ([[netctl]], [[NetworkManager]]). This error can be confirmed by running {{ic|dmesg -w}} or {{ic|journalctl -f}} and looking for output related to powersave and the {{ic|rtl8723ae}}/{{ic|rtl8723be}} module. If you are having this issue, use the {{ic|1=fwlps=0}} kernel option, which should prevent the WiFi card from automatically sleeping and halting connection.<br />
<br />
{{hc|/etc/modprobe.d/rtl8723ae.conf|2=<br />
options rtl8723ae fwlps=0<br />
}}<br />
or<br />
{{hc|/etc/modprobe.d/rtl8723be.conf|2=<br />
options rtl8723be fwlps=0<br />
}}<br />
<br />
=== Atheros ===<br />
<br />
The [http://madwifi-project.org/ MadWifi team] currently maintains three different drivers for devices with Atheros chipset:<br />
<br />
* {{ic|madwifi}} is an old, obsolete driver. Not present in Arch kernel since 2.6.39.1<sup>[https://mailman.archlinux.org/pipermail/arch-dev-public/2011-June/020669.html]</sup>.<br />
* {{ic|ath5k}} is newer driver, which replaces the {{ic|madwifi}} driver. Currently a better choice for some chipsets, but not all chipsets are supported (see below)<br />
* {{ic|ath9k}} is the newest of these three drivers, it is intended for newer Atheros chipsets. All of the chips with 802.11n capabilities are supported.<br />
<br />
There are some other drivers for some Atheros devices. See [http://wireless.kernel.org/en/users/Drivers/Atheros#PCI_.2F_PCI-E_.2F_AHB_Drivers Linux Wireless documentation] for details.<br />
<br />
==== ath5k ====<br />
<br />
External resources:<br />
* http://wireless.kernel.org/en/users/Drivers/ath5k<br />
* http://wiki.debian.org/ath5k<br />
<br />
If you find web pages randomly loading very slow, or if the device is unable to lease an IP address, try to switch from hardware to software encryption by loading the {{ic|ath5k}} module with {{ic|1=nohwcrypt=1}} option. See [[Kernel Modules#Setting module options]] for details.<br />
<br />
Some laptops may have problems with their wireless LED indicator flickering red and blue. To solve this problem, do:<br />
<br />
# echo none > /sys/class/leds/ath5k-phy0::tx/trigger<br />
# echo none > /sys/class/leds/ath5k-phy0::rx/trigger<br />
<br />
For alternatives, see [https://bugzilla.redhat.com/show_bug.cgi?id=618232 this bug report].<br />
<br />
==== ath9k ====<br />
<br />
External resources:<br />
* http://wireless.kernel.org/en/users/Drivers/ath9k<br />
* http://wiki.debian.org/ath9k<br />
<br />
As of Linux 3.15.1, some users have been experiencing a decrease in bandwidth. In some cases this can fixed by editing {{ic|/etc/modprobe.d/ath9k.conf}} and adding the line:<br />
options ath9k nohwcrypt=1<br />
<br />
{{Note|Check with the command lsmod what module(-name) is in use and change it if named otherwise (e.g. ath9k_htc).}}<br />
<br />
In the unlikely event that you have stability issues that trouble you, you could try using the {{AUR|backports-patched}} package. An [https://lists.ath9k.org/mailman/listinfo/ath9k-devel ath9k mailing list] exists for support and development related discussions.<br />
<br />
===== Power saving =====<br />
<br />
Although [http://wireless.kernel.org/en/users/Documentation/dynamic-power-save Linux Wireless] says that dynamic power saving is enabled for Atheros ath9k single-chips newer than AR9280, for some devices (e.g. AR9285) {{Pkg|powertop}} might still report that power saving is disabled. In this case enable it manually.<br />
<br />
On some devices (e.g. AR9285), enabling the power saving might result in the following error:<br />
<br />
{{hc|# iw wlan0 set power_save on|<br />
command failed: Operation not supported (-95)<br />
}}<br />
<br />
The solution is to set the {{ic|1=ps_enable=1}} option for the {{ic|ath9k}} module:<br />
<br />
{{hc|/etc/modprobe.d/ath9k.conf|2=<br />
options ath9k ps_enable=1<br />
}}<br />
<br />
===== ASUS =====<br />
<br />
{{Move||How is this related to {{ic|ath9k}} driver? There must be some better place for this stuff.}}<br />
<br />
With some ASUS laptops (tested with ASUS U32U series), it could help to add {{ic|1=options asus_nb_wmi wapf=1}} to {{ic|/etc/modprobe.d/asus_nb_wmi.conf}} to fix rfkill-related issues.<br />
<br />
You can also try to blacklist the module asus_nb_wmi (tested with ASUSPRO P550C):<br />
# echo "blacklist asus_nb_wmi" >> /etc/modprobe.d/blacklist.conf<br />
<br />
=== Intel ===<br />
<br />
==== ipw2100 and ipw2200 ====<br />
<br />
These modules are fully supported in the kernel, but they require additional firmware. Depending on which of the chipsets you have, [[pacman|install]] either {{Pkg|ipw2100-fw}} or {{Pkg|ipw2200-fw}}. Then [[Kernel modules#Manual module handling|reload]] the appropriate module.<br />
<br />
{{Tip|You may use the following [[Kernel modules#Setting module options|module options]]:<br />
* use the {{ic|1=rtap_iface=1}} option to enable the radiotap interface<br />
* use the {{ic|1=led=1}} option to enable a front LED indicating when the wireless is connected or not<br />
}}<br />
<br />
==== iwlegacy ====<br />
<br />
[http://wireless.kernel.org/en/users/Drivers/iwlegacy iwlegacy] is the wireless driver for Intel's 3945 and 4965 wireless chips. The firmware is included in the {{Pkg|linux-firmware}} package.<br />
<br />
[[udev]] should load the driver automatically, otherwise load {{ic|iwl3945}} or {{ic|iwl4965}} manually. See [[Kernel modules#Loading]] for details.<br />
<br />
==== iwlwifi ====<br />
<br />
[http://wireless.kernel.org/en/users/Drivers/iwlwifi iwlwifi] is the wireless driver for Intel's current wireless chips, such as 5100AGN, 5300AGN, and 5350AGN. See the [http://wireless.kernel.org/en/users/Drivers/iwlwifi#Supported_Devices full list of supported devices]. The firmware is included in the {{Pkg|linux-firmware}} package.<br />
<br />
If you have problems connecting to networks in general or your link quality is very poor, try to disable 802.11n, and perhaps also enable software encryption:<br />
<br />
{{hc|/etc/modprobe.d/iwlwifi.conf|2=<br />
options iwlwifi 11n_disable=1<br />
options iwlwifi swcrypto=1<br />
}}<br />
<br />
If you have a problem with slow uplink speed in 802.11n mode, for example 20Mbps, try to enable antenna aggregation:<br />
<br />
{{hc|/etc/modprobe.d/iwlwifi.conf|2=<br />
options iwlwifi 11n_disable=8<br />
}}<br />
<br />
Do not be confused with the option name, when the value is set to {{ic|8}} it does not disable anything but re-enables transmission antenna aggregation.[http://forums.gentoo.org/viewtopic-t-996692.html?sid=81bdfa435c089360bdfd9368fe0339a9] [https://bugzilla.kernel.org/show_bug.cgi?id=81571]<br />
<br />
In case this does not work for you, you may try disabling power saving for your wireless adapter. For a permanent solution, add a new udev rule:<br />
<br />
{{hc|/etc/udev/rules.d/80-iwlwifi.rules|2=<br />
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="''your_mac_address''", RUN+="/usr/bin/iw dev %k set power_save off"<br />
}}<br />
<br />
[http://ubuntuforums.org/showthread.php?t=2183486&p=12845473#post12845473 Some] have never gotten this to work. [http://ubuntuforums.org/showthread.php?t=2205733&p=12935783#post12935783 Others] found salvation by disabling N in their router settings after trying everything. This is known to have be the only solution on more than one occasion. The second link there mentions a 5ghz option that might be worth exploring.<br />
<br />
{{Note|1=The {{pkg|linux-lts}}-3.14 kernel may take several minutes to load the firmware and make the wireless card ready for use. The issue is reported to be fixed in {{pkg|linux}}-3.17 kernel.[https://bbs.archlinux.org/viewtopic.php?id=190757]}}<br />
<br />
==== Disabling LED blink ====<br />
<br />
{{Note|This works with the {{ic|iwlegacy}} and {{ic|iwlwifi}} drivers.}}<br />
<br />
The default settings on the module are to have the LED blink on activity. Some people find this extremely annoying. To have the LED on solid when Wi-Fi is active, you can use the [[systemd#Temporary files|systemd-tmpfiles]]:<br />
<br />
{{hc|/etc/tmpfiles.d/phy0-led.conf|<br />
w /sys/class/leds/phy0-led/trigger - - - - phy0radio<br />
}}<br />
<br />
Run {{ic|systemd-tmpfiles --create phy0-led.conf}} for the change to take effect, or reboot.<br />
<br />
To see all the possible trigger values for this LED:<br />
<br />
# cat /sys/class/leds/phy0-led/trigger<br />
<br />
{{Tip|If you do not have {{ic|/sys/class/leds/phy0-led}}, you may try to use the {{ic|1=led_mode="1"}} [[Kernel modules#Setting module options|module option]]. It should be valid for both {{ic|iwlwifi}} and {{ic|iwlegacy}} drivers.}}<br />
<br />
=== Broadcom ===<br />
<br />
See [[Broadcom wireless]].<br />
<br />
=== Other drivers/devices ===<br />
<br />
==== Tenda w322u ====<br />
<br />
Treat this Tenda card as an {{ic|rt2870sta}} device. See [[#rt2x00]].<br />
<br />
==== orinoco ====<br />
<br />
This should be a part of the kernel package and be installed already.<br />
<br />
Some Orinoco chipsets are Hermes II. You can use the {{ic|wlags49_h2_cs}} driver instead of {{ic|orinoco_cs}} and gain WPA support. To use the driver, [[Kernel modules#Blacklisting|blacklist]] {{ic|orinoco_cs}} first.<br />
<br />
==== prism54 ====<br />
<br />
The driver {{ic|p54}} is included in kernel, but you have to download the appropriate firmware for your card from [http://linuxwireless.org/en/users/Drivers/p54#firmware this site] and install it into the {{ic|/usr/lib/firmware}} directory.<br />
<br />
{{Note|There is also older, deprecated driver {{ic|prism54}}, which might conflict with the newer driver ({{ic|p54pci}} or {{ic|p54usb}}). Make sure to [[Kernel modules#Blacklisting|blacklist]] {{ic|prism54}}.}}<br />
<br />
==== ACX100/111 ====<br />
<br />
{{Warning|The drivers for these devices [https://mailman.archlinux.org/pipermail/arch-dev-public/2011-June/020669.html are broken] and do not work with newer kernel versions.}}<br />
<br />
Packages: {{ic|tiacx}} {{ic|tiacx-firmware}} (deleted from official repositories and AUR)<br />
<br />
See [http://sourceforge.net/apps/mediawiki/acx100/index.php?title=Main_Page official wiki] for details.<br />
<br />
==== zd1211rw ====<br />
<br />
[http://zd1211.wiki.sourceforge.net/ {{ic|zd1211rw}}] is a driver for the ZyDAS ZD1211 802.11b/g USB WLAN chipset, and it is included in recent versions of the Linux kernel. See [http://www.linuxwireless.org/en/users/Drivers/zd1211rw/devices] for a list of supported devices. You only need to [[pacman|install]] the firmware for the device, provided by the {{Pkg|zd1211-firmware}} package.<br />
<br />
==== hostap_cs ====<br />
<br />
[http://hostap.epitest.fi/ Host AP] is a Linux driver for wireless LAN cards based on Intersil's Prism2/2.5/3 chipset. The driver is included in Linux kernel.<br />
<br />
{{Note|Make sure to [[Kernel_modules#Blacklisting|blacklist]] the {{ic|orinico_cs}} driver, it may cause problems.}}<br />
<br />
=== ndiswrapper ===<br />
<br />
Ndiswrapper is a wrapper script that allows you to use some Windows drivers in Linux. You will need the {{ic|.inf}} and {{ic|.sys}} files from your Windows driver. <br />
{{Note|Be sure to use drivers appropriate to your architecture (x86 vs. x86_64).}}<br />
<br />
{{Tip|If you need to extract these files from an {{ic|*.exe}} file, you can use {{Pkg|cabextract}}.}}<br />
<br />
Follow these steps to configure ndiswrapper.<br />
<br />
1. Install {{AUR|ndiswrapper}} package from the [[AUR]]<br />
<br />
2. Install the driver to {{ic|/etc/ndiswrapper/*}}<br />
# ndiswrapper -i filename.inf<br />
<br />
3. List all installed drivers for ndiswrapper<br />
$ ndiswrapper -l<br />
<br />
4. Let ndiswrapper write its configuration in {{ic|/etc/modprobe.d/ndiswrapper.conf}}:<br />
# ndiswrapper -m<br />
# depmod -a<br />
<br />
Now the ndiswrapper install is almost finished; follow the instructions on [[Kernel modules#Loading]] to automatically load the module at boot.<br />
<br />
The important part is making sure that ndiswrapper exists on this line, so just add it alongside the other modules. It would be best to test that ndiswrapper will load now, so:<br />
# modprobe ndiswrapper<br />
# iwconfig<br />
<br />
and ''wlan0'' should now exist. If you have problems, some help is available at:<br />
[http://sourceforge.net/p/ndiswrapper/ndiswrapper/HowTos/ ndiswrapper howto] and [http://sourceforge.net/p/ndiswrapper/ndiswrapper/FAQ/ ndiswrapper FAQ].<br />
<br />
=== compat-drivers-patched ===<br />
<br />
{{Out of date|{{AUR|compat-drivers-patched}} has reached end-of-life, {{AUR|backports-patched}} should be used instead}}<br />
<br />
Patched compat wireless drivers correct the "fixed-channel -1" issue, whilst providing better injection. Please install the {{AUR|compat-drivers-patched}} package from the [[Arch User Repository|AUR]].<br />
<br />
{{AUR|compat-drivers-patched}} does not conflict with any other package and the modules built reside in {{ic|/usr/lib/modules/''your_kernel_version''/updates}}.<br />
<br />
These patched drivers come from the [http://wireless.kernel.org/ Linux Wireless project] and support many of the above mentioned chips such as:<br />
<br />
ath5k ath9k_htc carl9170 b43 zd1211rw rt2x00 wl1251 wl12xx ath6kl brcm80211<br />
<br />
Supported groups:<br />
<br />
atheros ath iwlagn rtl818x rtlwifi wl12xx atlxx bt<br />
<br />
It is also possible to build a specific module/driver or a group of drivers by editing the [[PKGBUILD]], particularly uncommenting the '''line #46'''. Here is an example of building the atheros group:<br />
<br />
scripts/driver-select atheros<br />
<br />
Please read the package's [[PKGBUILD]] for any other possible modifications prior to compilation and installation.<br />
<br />
== See also ==<br />
<br />
* [http://wireless.kernel.org/ The Linux Wireless project]<br />
* [http://aircrack-ng.org/doku.php?id=install_drivers Aircrack-ng guide on installing drivers]</div>MartinZhttps://wiki.archlinux.org/index.php?title=KDE&diff=369837KDE2015-04-16T00:06:36Z<p>MartinZ: /* Gtk applications appearance */</p>
<hr />
<div>[[Category:KDE]]<br />
[[cs:KDE]]<br />
[[de:KDE]]<br />
[[es:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE_Masaüstü_Ortamı]]<br />
[[zh-CN:KDE]]<br />
[[zh-TW:KDE]]<br />
{{Related articles start}}<br />
{{Related|Desktop environment}}<br />
{{Related|Display manager}}<br />
{{Related|Window manager}}<br />
{{Related|Plasma}}<br />
{{Related|Qt}}<br />
{{Related|KDM}}<br />
{{Related|KDevelop 4}}<br />
{{Related|Uniform Look for Qt and GTK Applications}}<br />
{{Related articles end}}<br />
<br />
From [http://www.kde.org/community/whatiskde/softwarecompilation.php KDE Software Compilation] and [http://www.kde.org/download/ Getting KDE Software]:<br />
<br />
:The KDE Software Compilation is the set of frameworks, workspaces, and applications produced by KDE to create a beautiful, functional and free desktop computing environment for Linux and similar operating systems. It consists of a large number of individual applications and a desktop workspace as a shell to run these applications.<br />
<br />
The KDE upstream has a well maintained [http://userbase.kde.org/ UserBase wiki]. Users can get detailed information about most KDE applications there.<br />
<br />
{{note| The term "KDE Software Compilation" is now outdated. KDE is moving to a new way of organizing itself, see: [[KDE#Plasma 5]]}}<br />
== Installation ==<br />
<br />
Before installing KDE, make sure you have a working [[Xorg]] installation on your system.<br />
<br />
=== KDE 4 ===<br />
<br />
KDE 4 is ''modular''. You can install an entire set of packages or only install your preferred KDE applications.<br />
<br />
==== Full install ====<br />
<br />
[[pacman|Install]] {{Grp|kde}} or {{Grp|kde-meta}} available in the [[official repositories]]. For differences between {{Grp|kde}} and {{Grp|kde-meta}} see the [[KDE Packages]] article.<br />
<br />
==== Minimal install ====<br />
<br />
If you want to have a minimal installation of the KDE Software Compilation, install {{Pkg|kdebase-workspace}}.<br />
<br />
==== Language pack ====<br />
<br />
If you need language files, install {{ic|kde-l10n-yourlanguagehere}} (e.g. {{Pkg|kde-l10n-de}} for the German language).<br />
<br />
For a full list of available languages see [https://www.archlinux.org/packages/extra/any/kde-l10n/ this link].<br />
<br />
=== Plasma 5 ===<br />
The KDE project has changed the way it names and organizes itself since KDE4. In effect there is no 'KDE5'. The project is now split into different sections with their own names, version numbering and development cycles including for example: Frameworks (KDE libraries), Plasma (the workspace) and Applications (that use KDE libraries). <br />
<br />
[[pacman|Install]] {{Pkg|plasma-meta}} or {{Grp|plasma}} available in the [[official repositories]].<br />
<br />
{{Note|1=Plasma 5 conflicts with KDE 4 Workspace and pacman will request to remove kdebase-workspace. It is [https://bbs.archlinux.org/viewtopic.php?pid=1497819#p1497819 recommended] to remove the old workspace and its dependencies first with {{ic| pacman -Rc kdebase-workspace}} }}<br />
<br />
==== System tray icons ====<br />
<br />
Plasma 5 uses a new specification to display items in the 'system tray' area called [http://blog.martin-graesslin.com/blog/2014/03/system-tray-in-plasma-next/ Status Notifier]. To allow applications using the old xembed specification to display items the packages (gtk-2) {{aur|libappindicator-gtk2}}, (gtk-3) {{aur| libappindicator-gtk3}} or (qt4) {{Pkg|sni-qt}}, {{Pkg|lib32-sni-qt}} (for 32bit based applications like Skype) may be required. See [http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/ "Where are my systray icons?"] for more information.<br />
<br />
See also [[Plasma]]<br />
<br />
==== Qt4 applications appearance ====<br />
For qt4 applications to have a consistent appearance, you need to install {{Pkg|breeze-kde4}} and then pick Breeze as GUI Style in {{ic| qtconfig-qt4}}.<br />
<br />
==== Gtk applications appearance ====<br />
Currently, there are no breeze-based themes for gtk. The recommended theme for a pleasant appearance in gtk applications is {{Pkg|gtk-theme-orion}}. Install it and then pick Orion as GTK2 and GTK3 Theme in System Settings / Application Style / GNOME Application Style.<br />
<br />
== Starting Plasma ==<br />
See [[Plasma#Starting_Plasma]].<br />
<br />
== Configuration ==<br />
<br />
All KDE 4 configurations are saved in the {{ic|~/.kde4}} folder, otherwise {{ic|~/.config}} is used. If KDE is giving you a lot of trouble or if you ever want a fresh installation of KDE, just backup and rename this folder and restart your X session. KDE will re-create it with all the default configuration files. If you want very fine-grained control over KDE programs, you may want to edit the files in this folder.<br />
<br />
However, configuring KDE is primarily done in '''System Settings'''. A few other options for the desktop are available in '''Default Desktop Settings''' in the desktop's context menu.<br />
<br />
For other personalization options not covered below such as activities, different wallpapers on one cube, etc., please refer to the [[Plasma]] wiki page.<br />
<br />
=== Personalization ===<br />
<br />
How to set up the KDE desktop to your personal style: use different Plasma themes, window decorations and icon themes.<br />
{{tip|1=Applications using the new frameworks 5 use the same configurations as under the old kdebase-workspace 4 but read from new locations. To allow frameworks 5 applications running in kdebase-workspace 4 to share the same configurations they may be moved to the new locations and symlinked back to the old. Examples are:<br />
*Konsole profiles from ~/.kde4/share/apps/konsole to ~/.local/share/konsole/<br />
*Application appearance from ~/.kde4/share/config/kdeglobals to ~/.config/kdeglobals<br />
This information was gathered from the [https://bbs.archlinux.org/viewforum.php?id=18 Applications & Desktop Environments] section of the forums. }}<br />
<br />
==== Plasma desktop ====<br />
<br />
See [[Plasma]].<br />
<br />
===== Themes =====<br />
See [[Plasma#Themes]]<br />
<br />
===== Widgets =====<br />
<br />
Plasmoids are little scripted (plasmoid scripts) or coded (plasmoid binaries) KDE applications designed to enhance the functionality of your desktop.<br />
<br />
Plasmoid binaries can be installed using PKGBUILDs from [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v AUR], or you can write your own PKGBUILD.<br />
<br />
The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop:<br />
<br />
Add Widgets > Get new Widgets > Download Widgets<br />
<br />
This will present a nice frontend for [http://www.kde-look.org/ kde-look.org] that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.<br />
<br />
Most plasmoids are not created officially by KDE developers. You can also try installing Mac OS X widgets, Microsoft Windows Vista/7 widgets, Google Widgets, and even SuperKaramba widgets.<br />
<br />
===== Sound applet in the system tray =====<br />
<br />
Install Kmix ({{Pkg|kdemultimedia-kmix}} for KDE 4, or {{Pkg|kmix}} for Plasma 5) from the official repositories and start it from the application launcher. Since KDE, by default, autostarts programs from the previous session, it does not need to be started manually upon every login.<br />
<br />
{{Note|1=To adjust the [https://bugs.kde.org/show_bug.cgi?id=313579#c28 step size of volume increments/decrements], add e.g. {{ic|1=VolumePercentageStep=1}} in the {{ic|[Global]}} section of {{ic|~/.kde4/share/config/kmixrc}}}}<br />
<br />
===== Adding a Global Menu to the desktop =====<br />
<br />
Install {{Pkg|appmenu-qt}} from the official repositories and {{AUR|appmenu-gtk}} and {{AUR|appmenu-qt5}} from the AUR in order to complete the preliminaries for a Mac OS X style always-on global menu. To get Firefox and LibreOffice to use the global menu as well, install {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} and {{AUR|libreoffice-extension-menubar}} from the AUR.<br />
<br />
{{Note|<br />
* {{AUR|appmenu-gtk}} is orphaned and Canonical has abandoned appmenu-gtk in favor of unity-gtk-module that is depending on Unity desktop. As of October 2014 there is no way of exporting gtk2,3 menus in KDE.<br />
* {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} has been deprecated as of Firefox 25 and there is no other recommended method for getting the global menu. However, there is a patched package, {{AUR|firefox-ubuntu}} available in the AUR which has Canonical's patch for getting the global menu to work with the current version of Firefox (as of November 2013).<br />
}}<br />
<br />
To actually get the global menu, install {{AUR|kdeplasma-applets-menubar}} from the AUR. Create a plasma-panel on top of your screen and add the window menubar applet to the panel. To export the menus to your global menu, go to ''System Settings > Application Appearance > Style''. Now click the fine-tuning tab and use the drop-down list to select ''only export'' as your menubar style.<br />
<br />
===== Disable panel shadow =====<br />
<br />
As the plasma panel is on top of other windows, its shadow is drawn over them. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] To disable this behaviour without impacting other shadows, [[install]] {{Pkg|xorg-xprop}} and run:<br />
<br />
$ xprop -remove _KDE_NET_WM_SHADOW<br />
<br />
then select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php?f=285&t=121592] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:<br />
<br />
{{hc|/usr/local/bin/kde-no-shadow|<nowiki><br />
#!/bin/bash<br />
for WID in $(xwininfo -root -tree | sed '/"plasma-desktop": ("Plasma" "Plasma")/!d; s/^ *\([^ ]*\) .*/\1/g'); do<br />
xprop -id $WID -remove _KDE_NET_WM_SHADOW<br />
done<br />
</nowiki>}}<br />
<br />
The script can be run on login with ''Add Script'' in ''Autostart'':<br />
<br />
$ kcmshell4 autostart<br />
<br />
==== Window decorations ====<br />
<br />
[http://kde-look.org/index.php?xcontentmode=75 Window decorations] can be changed in:<br />
System Settings > Workspace Appearance > Window Decorations<br />
There you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].<br />
<br />
==== Icon themes ====<br />
<br />
Not many full system icons themes are available for KDE 4. You can open up ''System Settings > Application Appearance > Icons'' and browse for new ones or install them manually. Many of them can be found on [http://www.kde-look.org/ kde-look.org].<br />
<br />
Official logos, icons, CD labels and other artwork for Arch Linux are provided in the {{AUR|archlinux-artwork}} package. After installing you can find such artwork at {{ic|/usr/share/archlinux/}}.<br />
<br />
===== Qt 5 icons theme =====<br />
<br />
If you are on Plasma 5, use ''System Settings > Icons''.<br />
While if you are on KDE 4 use {{ic|kcmshell5 icons}} to set the icons theme.<br />
<br />
==== Fonts ====<br />
<br />
===== Fonts in KDE look poor =====<br />
<br />
Try installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.<br />
<br />
After the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''.<br />
<br />
If you have personally set up how your [[Fonts]] render, be aware that System Settings may alter their appearance. When you go ''System Settings > Appearance > Fonts'', System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).<br />
<br />
There is no way to prevent this, but, if you set the values to match your {{ic|fonts.conf}} file, the expected font rendering will return (it will require you to restart your application or in a few cases restart your desktop). Note that Gnome's Font Preferences also does this.<br />
<br />
===== Fonts are huge or seem disproportional =====<br />
<br />
Try to force font DPI to '''96''' in ''System Settings > Application Appearance > Fonts''.<br />
<br />
If that does not work, try setting the DPI directly in your Xorg configuration as documented [[Xorg#Setting_DPI_manually|here]].<br />
<br />
==== Space efficiency ====<br />
<br />
Users with small screens (e.g. netbooks) can change some setting to make KDE more space efficient. See the [http://userbase.kde.org/KWin#Using_with_small_screens_(eg_Netbooks) upstream wiki] for more information. Also, you can use [http://www.kde.org/workspaces/plasmanetbook/ KDE's Plasma Netbook] which is a workspace made specifically for small, lightweight netbook devices.<br />
<br />
=== Networking ===<br />
<br />
You can choose from the following tools:<br />
* NetworkManager. See [[NetworkManager#KDE|NetworkManager]] for more information.<br />
* Wicd. See [[Wicd]] for more information.<br />
<br />
=== Printing ===<br />
<br />
{{Tip|Use the [[CUPS]] web interface for faster configuration. Printers configured in this way can be used in KDE applications. }}<br />
<br />
You can also configure printers in ''System Settings > Printer Configuration''. To use this method, you must first install {{Pkg|kdeutils-print-manager}} and {{Pkg|cups}}.<br />
<br />
The {{ic|avahi-daemon}} and {{ic|cupsd}} daemons must be started first; otherwise, you will get the following error:<br />
The service 'Printer Configuration' does not provide an interface 'KCModule'<br />
with keyword 'system-config- printer-kde/system-config-printer-kde.py'<br />
The factory does not support creating components of the specified type.<br />
<br />
If you are getting the following error, you need to give your user the right to manage printers.<br />
There was an error during CUPS operation: 'cups-authorization-canceled'<br />
<br />
For CUPS, this is set in {{ic|/etc/cups/cups-files.conf}}.<br />
<br />
Adding {{ic|lpadmin}} to {{ic|/etc/group}} and then to the {{ic|SystemGroup}} directive in {{ic|/etc/cups/cups-files.conf}} allows anyone in the {{ic|lpadmin}} group to configure printers. Do ''not'' add the {{ic|lp}} group to the {{ic|SystemGroup}} directive, or printing will fail.<br />
<br />
# groupadd -g107 lpadmin<br />
<br />
{{hc|/etc/cups/cups-files.conf|# Administrator user group...<br />
SystemGroup sys root lpadmin}}<br />
<br />
{{Tip|Read [[CUPS#CUPS administration]] to get more details on how to configure CUPS.}}<br />
<br />
=== Samba/Windows support ===<br />
<br />
If you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).<br />
<br />
The Dolphin share functionality requires usershares, which the stock smb.conf does not have enabled. Instructions to add them are in [[Samba#Creating_user_share_path|the Samba article]], after which sharing in Dolphin should work out of the box after restarting Samba.<br />
<br />
=== KDE Desktop activities ===<br />
<br />
KDE Desktop Activities are Plasma-based virtual-desktop-like sets of Plasma Widgets where you can independently configure widgets as if you have more than one screen or desktop.<br />
<br />
On your desktop, click the Cashew Plasmoid and, on the pop-up window, press "Activities".<br />
<br />
A plasma bar presenting you the current existing Plasma Desktop Activities will appear at the bottom of the screen. You can navigate between them by pressing the correspondent icons.<br />
<br />
=== Power saving ===<br />
<br />
KDE has an integrated power saving service called "'''Powerdevil Power Management'''" that may adjust the power saving profile of the system and/or the brightness of the screen (if supported).<br />
<br />
Since KDE 4.6, CPU frequency scaling is no longer managed by KDE. Instead it is assumed to be handled automatically by the the hardware and/or kernel. Arch has used {{ic|ondemand}} as the default CPU frequency governor since kernel version 3.3, so no additional configuration is needed in most cases. For details on fine-tuning the governor, see [[CPU frequency scaling]].<br />
<br />
=== Monitoring changes on local files and directories ===<br />
<br />
KDE now uses '''inotify''' directly from the kernel with '''kdirwatch''' (included in kdelibs), so Gamin or FAM are no longer needed. You may want to install this {{AUR|kdirwatch}} from AUR which is a GUI frontend for kdirwatch.<br />
<br />
== System administration ==<br />
<br />
=== Set keyboard ===<br />
<br />
Navigate to:<br />
System Settings > Hardware > Input Devices > Keyboard<br />
In the first tab, you can choose your keyboard model.<br />
<br />
In the "'''Layouts'''" tab, you can choose the languages you may want to use by pressing the "Add Layout" button and subsequently choosing the variant and the language.<br />
<br />
In the "'''Advanced'''" tab, you can choose the keyboard combination you want in order to change the layouts in the "Key(s) to change layout" sub-menu.<br />
<br />
=== Terminate Xorg server through KDE system settings ===<br />
<br />
Navigate to the submenu:<br />
System Settings > Input Devices > Keyboard > Advanced (tab) > "Key Sequence to kill the X server"<br />
and tick the checkbox.<br />
<br />
=== KCM ===<br />
<br />
KCM stands for '''KC'''onfig '''M'''odule. KCMs can help you configure your system by providing interfaces in System Settings.<br />
<br />
'''Configuration for look and feel of GTK applications.'''<br />
* {{Pkg|kde-gtk-config}}<br />
* {{AUR|kcm-gtk}}<br />
* {{AUR|kcm-qt-graphicssystem}}<br />
<br />
'''Configuration for the GRUB bootloader.'''<br />
* {{AUR|grub2-editor}}<br />
<br />
'''Configuration for Synaptics touchpads.'''<br />
* {{Pkg|kcm-touchpad}}<br />
* {{Pkg|kcm-touchpad-frameworks}} (Plasma 5)<br />
* {{AUR|synaptiks}}{{Broken package link|package not found}}<br />
* {{AUR|kcm_touchpad}}<br />
* {{AUR|kcm-touchpad-git}}{{Broken package link|package not found}}<br />
<br />
'''Configuration for the [[Uncomplicated Firewall]] (UFW)'''<br />
* {{AUR|kcm-ufw}}<br />
<br />
'''Configuration for [[PolicyKit]]'''<br />
* {{AUR|kcm-polkit-kde-git}}<br />
<br />
'''Configuration for Wacom tablets'''<br />
* {{AUR|kcm-wacomtablet}}<br />
<br />
'''Configuration for systemd'''<br />
* {{Pkg|kcmsystemd}} (Plasma 5)<br />
<br />
More KCMs can be found at [http://kde-apps.org/index.php?xcontentmode=273 kde-apps.org].<br />
<br />
===Auto Login===<br />
Go to ''System Settings > System Administration > Login Screen > Convenience'', check ''Enable Auto-Login'' box and select user.<br />
<br />
== Desktop search and semantic desktop ==<br />
<br />
According to [[wikipedia:Semantic_desktop|Wikipedia]]:<br />
:''"the Semantic Desktop is a collective term for ideas related to changing a computer's user interface and data handling capabilities so that data is more easily shared between different applications or tasks and so that data that once could not be automatically processed by a computer can be (automatically processed)."''<br />
<br />
The KDE implementation of this concept is tied to (as of KDE Applications 4.13) two major pieces of software: Akonadi and Baloo. Between the two of them, these programs look at your data and make an easily searchable index of it. The idea behind these pieces of software is to make your system "aware" of your data and give it context using meta-data and user-supplied tags. Baloo uses Xapian to store its data.<br />
<br />
=== Baloo ===<br />
<br />
==== Using and configuring Baloo ====<br />
<br />
In order to search using Baloo on the KDE Plasma Desktop, press {{ic|ALT+F2}} and type in your query. Within Dophin press {{ic|CTRL+F}}.<br />
<br />
By default the Desktop Search KCM exposes only two options: A panel to blacklist folders and, as of 4.13.1, a way to disable it with one click.<br />
<br />
Alternatively you can edit your {{ic|~/.kde4/share/config/baloofilerc}} (KDE4) or {{ic|~/.config/baloofilerc}} (KF5) file ([https://community.kde.org/Baloo/Configuration info]). Additionally the {{ic|balooctl}} process can also be used. In order to disable Baloo run {{ic|balooctl disable}}.<br />
<br />
Once you added additional folders to the blacklist or disabled Baloo entirely, a process named {{ic|baloo_file_cleaner}} removes all unneeded index files automatically. They are stored under {{ic|~/.local/share/baloo/}}.<br />
<br />
More advanced configuration options are available through {{AUR|kcm_baloo_advanced}}.<br />
<br />
==== How do I index a removable device? ====<br />
<br />
By default every removable device is blacklisted. You just have to remove your device from the blacklist in the KCM panel.<br />
<br />
=== Akonadi ===<br />
<br />
Akonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on.<br />
<br />
Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vCard format).<br />
<br />
==== Disabling Akonadi ====<br />
<br />
See this [http://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase]. Alternatively, install {{AUR|akonadi-fake}} from the [[AUR]].<br />
<br />
==== Database configuration ====<br />
<br />
Start {{ic|akonaditray}} from package {{Pkg|kdepim-runtime}}. Right click on it and select '''configure'''. In the Akonadi server configure tab, you can:<br />
* Configuring Akonadi to use MySQL/MariaDB Server<br />
** If your home directory is on a ZFS pool, you will need to create {{ic|~/.config/akonadi/mysql-local.conf}} with the following contents:<br />
<br />
[mysqld]<br />
innodb_use_native_aio = 0<br />
<br />
Otherwise you will get the [[MySQL#OS error 22 when running on ZFS|OS error 22]]<br />
* Configuring Akonadi to use PostgreSQL Server<br />
* Configuring Akonadi to use SQLite<br />
** Edit {{ic|~/.config/akonadi/akonadiserverrc}} to match the below<br />
<br />
[General]<br />
Driver=QSQLITE3<br />
<br />
[QSQLITE3]<br />
Name=/home/username/.local/akonadi/akonadi.db<br />
<br />
== Phonon ==<br />
<br />
From [[Wikipedia:Phonon|Wikipedia]]:<br />
<br />
:''"Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability."''<br />
<br />
'''Phonon''' is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio apps) and video (e.g., the Dolphin video thumbnails).<br />
<br />
=== Which backend should I choose? ===<br />
<br />
You can choose between various backends like [[GStreamer]] ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}}) or [[VLC]] ({{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}), available in the [[official repositories]], and [[MPlayer]] ({{AUR|phonon-qt4-mplayer-git}}), QuickTime ({{AUR|phonon-quicktime-git}}) or [http://martinsandsmark.wordpress.com/2012/07/07/akademy/ AVKode] ({{AUR|phonon-avkode-git}}), available in the [[AUR]].<br />
<br />
Most users will want VLC which has the best upstream support. GStreamer is currently not well maintained. Note that multiple backends can be installed at once and chosen at ''System Settings > Multimedia > Phonon > Backend''.<br />
<br />
{{Note|<br />
* According to the [http://community.kde.org/Phonon/FeatureMatrix Feature Matrix], the GStreamer backend has some more features that the VLC backend.<br />
* According to the [http://userbase.kde.org/Phonon#Backend_libraries KDE UserBase], Phonon-MPlayer is currently unmaintained.}}<br />
<br />
== Useful applications ==<br />
<br />
The official set of KDE applications may be found [http://www.kde.org/applications/ here].<br />
<br />
=== Yakuake ===<br />
<br />
[[Yakuake]] provides a Quake-like terminal emulator whose visibility is toggled by the F12 key. It also has support for multiple tabs. Yakuake is available in the package {{Pkg|yakuake}}.<br />
<br />
=== KDE Telepathy ===<br />
<br />
[http://community.kde.org/KTp KDE Telepathy] is a project with the goal to closely integrate Instant Messaging with the KDE desktop. It utilizes the Telepathy framework as a backend and is intended to replace Kopete.<br />
<br />
To install all Telepathy protocols, install the {{Grp|telepathy}} group.<br />
To use the KDE Telepathy client, install the {{Pkg|kde-telepathy-meta}} package that includes all the packages contained in the {{Grp|kde-telepathy}} group .<br />
<br />
==== Use Telegram with KDE Telepathy ====<br />
<br />
Telegram protocol is avaible using {{pkg|telepathy-haze}}, installing {{aur|telegram-purple}} or {{aur|telegram-purple-git}}. The username is the Telegram account telephone number (complete with the national prefix '+xx', e.g. '+39' for Germany). The configuration though the GUI may be tricky: if the phone number is not accepted when configuring a new account in the KDE Telepathy client (with an error message complaining about an invalid parameter which prevents the account creation), insert it between single quotes and then remove the quotes manually from the configuration file (<code>~/.local/share/telepathy/mission-control/accounts.cfg</code>) after the account creation (if the quotes are not removed after, an authentication error should rise). Note that the configuration file should be edited manually when KDE Telepathy is not running, e.g. when there is no KDE desktop session active, otherwise manual changes may be overwritten by the software.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Using an alternative window manager in KDE ===<br />
<br />
To use an alternative [[window manager]] with KDE open the ''System Settings'' panel, navigate to ''Default Applications > Window Manager > Use a different window manager'' and select the window manager you wish to use from the list.<br />
<br />
==== KDE/Openbox Session ====<br />
<br />
The {{Pkg|openbox}} package provides a session for using KDE with [[Openbox]]. To make use of this session, select ''KDE/Openbox'' from the [[display manager]] menu.<br />
<br />
For those starting the session manually, add the following line to your {{ic|.xinitrc}} file:<br />
exec openbox-kde-session<br />
<br />
==== Compiz custom ====<br />
<br />
If you need to run Compiz with custom options and switches select ''Compiz custom'' and then create a script called {{ic|compiz-kde-launcher}} and add to it the commands you wish to use to start Compiz. See the example below:<br />
<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<nowiki><br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT=1<br />
compiz --replace &<br />
wait<br />
</nowiki>}}<br />
<br />
Then make it executable:<br />
$ chmod +x /usr/local/bin/compiz-kde-launcher<br />
<br />
==== Re-enabling compositing effects ====<br />
<br />
When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[Compton]].<br />
<br />
=== Integrate Android with the KDE Desktop ===<br />
<br />
KDE connect provides several features for you:<br />
* Share files and URLs to/from KDE from/to any app, without wires.<br />
* Touchpad emulation: Use your phone screen as your computer's touchpad.<br />
* Notifications sync (4.3+): Read your Android notifications from the desktop.<br />
* Shared clipboard: copy and paste between your phone and your computer.<br />
* Multimedia remote control: Use your phone as a remote for Linux media players.<br />
* WiFi connection: no usb wire or bluetooth needed.<br />
* RSA Encryption: your information is safe.<br />
<br />
You will need to install KDE Connect both on your computer and on your Android. For PC side, install {{Pkg|kdeconnect}} if you are using KDE4 or if you are using Plasma 5, then you should install {{AUR|kdeconnect-frameworks-git}} instead. For Android side, install {{ic|KDE Connect}} from the [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&hl=en Google Play Store] or from [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].<br />
<br />
=== Configure KWin to use OpenGL ES ===<br />
<br />
Beginning with KWin version 4.8 it is possible to use the separately built binary '''kwin_gles''' as a replacement for kwin. It behaves almost the same as the kwin executable in OpenGL2 mode with the slight difference that it uses ''egl'' instead of ''glx'' as the native platform interface. To test kwin_gles you just have to run {{ic|kwin_gles --replace}} in Konsole.<br />
If you want to make this change permanent you have to create a script in {{ic|$(kde4-config --localprefix)/env/}} which exports {{ic|1=KDEWM=kwin_gles}}.<br />
<br />
=== Enabling audio/video thumbnails under Konqueror/Dolphin file managers ===<br />
<br />
For thumbnails of videos in konqueror and dolphin install {{Pkg|kdemultimedia-mplayerthumbs}} or {{Pkg|kdemultimedia-ffmpegthumbs}} and activate the installed package in ''Settings> Configure Konqueror> General> Previews> Video Files''.<br />
For thumbnails of audio files in Konqueror and Dolphin install {{AUR|audiothumbs}} from AUR.<br />
<br />
=== Speed up application startup ===<br />
<br />
User Rob wrote on his blog this "[http://kdemonkey.blogspot.nl/2008/04/magic-trick.html magic trick]" to improve application start-up time by 50-150ms.<br />
To enable it, create this folder in your home:<br />
$ mkdir ~/.compose-cache/<br />
But it can produce freezes on heavy io, can be avoided by:<br />
$ ln -sfv /run/user/$UID/ /home/$USER/.compose-cache<br />
<br />
{{Note|For those curious about what is going on here, this enables an optimization which Lubos (of general KDE speediness fame) came up with some time ago and was then rewritten and integrated into libx11. Ordinarily, on startup, applications read input method information from {{ic|/usr/share/X11/locale/''your locale''/Compose}}. This file is quite long (>5000 lines for the en_US.UTF-8 one) and takes some time to process. libX11 can create a cache of the parsed information which is much quicker to read subsequently, but it will only re-use an existing cache or create a new one in {{ic|~/.compose-cache}} if the directory already exists.}}<br />
<br />
=== Hiding partitions ===<br />
<br />
In Dolphin, it is as simple as right-clicking on the partition in the {{ic|Places}} sidebar and selecting {{ic|Hide ''partition''}}. Otherwise...<br />
<br />
If you wish to prevent your internal partitions from appearing in your file manager, you can create an udev rule, e.g:<br />
<br />
{{hc|/etc/udev/rules.d/10-local.rules|2=<br />
KERNEL=="sda[0-9]", ENV{UDISKS_IGNORE}="1"<br />
}}<br />
<br />
The same thing for a certain partition:<br />
<br />
KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"<br />
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"<br />
<br />
=== Konqueror tips ===<br />
<br />
==== Disabling Access Keys ====<br />
<br />
Every time you pressing the Ctrl key while browsing, small square tooltips appear for each of the active areas (hyperlinks) on a webpage. This is useful when you browsing with only a keyboard.<br />
<br />
To disable Access Keys, go to ''Settings > Configure Konqueror > Web Browsing'' and uncheck ''Enable Access Key activation with Ctrl key''.<br />
<br />
==== Using WebKit ====<br />
<br />
WebKit is an open source browser engine developed by Apple Inc. It is a derivative from the KHTML and KJS libraries and contains many improvements. WebKit is used by Safari, Google Chrome and rekonq.<br />
<br />
It is possible to use WebKit in Konqueror instead of KHTML. First install the {{Pkg|kwebkitpart}} package.<br />
<br />
Then, after executing Konqueror, navigate to ''Settings > Configure Konqueror > General > Default web browser engine'' and set it as {{ic|WebKit}}.<br />
<br />
=== Firefox integration ===<br />
<br />
See [[Firefox#KDE_integration|Firefox]].<br />
<br />
=== Setting the background for lock screen ===<br />
<br />
In Plasma 5, you can set a custom wallpaper for the lock screen. This is [https://bugs.kde.org/show_bug.cgi?id=312828 not possible] in KDE 4, but here a workaround from OpenSUSE mailing lists: http://lists.opensuse.org/opensuse-kde/2013-02/msg00082.html<br />
<br />
For this you should modify the file {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/main.qml}}, replacing a line<br />
<br />
source: theme.wallpaperPathForSize(parent.width, parent.height)<br />
<br />
with something like<br />
<br />
source: "1920x1080.jpg"<br />
<br />
Now you simply put a wallpaper image {{ic|1920x1080.jpg}} to the {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui}} directory.<br />
<br />
{{Note|You have to redo this for each update of the package {{Pkg|kdebase-workspace}}.}}<br />
<br />
=== Setting lockscreen wallpaper to arbitrary image ===<br />
<br />
Copy an existing wallpaper profile as a template:<br />
$ cp -r /usr/share/wallpapers/''ExistingWallpaper'' ~/.kde4/share/wallpapers/<br />
<br />
Change the name of the directory, and edit {{ic|metadata.desktop}}:<br />
<br />
{{hc|~/.kde4/share/wallpapers/''MyWallpaper''/metadata.desktop|2=<br />
[Desktop Entry]<br />
Name=MyWallpaper<br />
X-KDE-PluginInfo-Name=MyWallpaper<br />
}}<br />
<br />
Remove existing images ({{ic|contents/screenshot.png}} and {{ic|images/*}}):<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/screenshot.png<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/images/*<br />
<br />
Copy new image in:<br />
$ cp ''path/to/MyWallpaper.png'' MyWallpaper/contents/images/1920x1080.png<br />
<br />
Edit the metadata profile for the current theme:<br />
{{hc|~/.kde4/share/apps/desktoptheme/MyTheme/metadata.desktop|2=<br />
[Wallpaper]<br />
defaultWallpaperTheme=MyWallpaper<br />
defaultFileSuffix=.png<br />
defaultWidth=1920<br />
defaultHeight=1080<br />
}}<br />
<br />
Lock the screen to check that it worked.<br />
<br />
{{Note|This method sets the lockscreen background without changing any system-wide settings. For a system-wide change, create the new wallpaper profile in {{ic|/usr/share/wallpapers}}.}}<br />
<br />
=== Configuring monitor resolution / multiple monitors ===<br />
<br />
To enable display resolution management and multiple monitors in KDE 5, install {{Pkg|kscreen-frameworks}}. This adds the additional options to System Settings/Display and Monitor.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Configuration related ===<br />
<br />
Many problems in KDE are related to configuration. One way to resolve upgrade problems is to start over with a fresh KDE config.<br />
<br />
==== Reset all KDE configuration ====<br />
<br />
To test whether your config is the problem try quitting your KDE session by logging out and, in a tty, run<br />
$ cp -r ~/.kde4 ~/.kde4.safekeeping<br />
$ rm .kde4/{cache,socket,tmp}-$(hostname)<br />
<br />
The ''rm'' command just removes symbolic links which will be recreated by KDE automatically. Now start a new KDE session to see the results.<br />
<br />
If the problem is resolved, you will have a fresh, problem-free {{ic|~/.kde4/}}. You can gradually move parts of your saved configuration back, restarting your session regularly to test, to identify the problematic parts of your config. Some files here are named after applications so you will probably be able to test these without needing to restart KDE.<br />
<br />
==== Plasma desktop behaves strangely ====<br />
<br />
Plasma problems are usually caused by unstable '''plasmoids''' or '''plasma themes'''. First, find which was the last plasmoid or plasma theme you had installed and disable it or uninstall it.<br />
<br />
So, if your desktop suddenly exhibits "locking up", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began (sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report (bugs.kde.org) '''only if it is an official widget'''. If it is not, it is recommended you find the entry on kde-look.org and inform the developer of that widget about the problem (detailing steps to reproduce, etc).<br />
<br />
If you cannot find the problem, but you do not want ''all'' the KDE settings to be lost, do:<br />
<br />
$ rm -r ~/.kde4/share/config/plasma*<br />
<br />
This command will '''delete all plasma related configs''' of your user and when you will relogin into KDE, you will have the '''default''' settings back. You should know that this action '''cannot be undone'''. You should create a backup folder and copy all the plasma related configs in it.<br />
<br />
==== Clean cache to resolve upgrade problems ====<br />
<br />
The [https://bbs.archlinux.org/viewtopic.php?id=135301 problem] may be caused by old cache. Sometimes after an upgrade, the old cache might introduce strange, hard to debug behaviour such as unkillable shells, hangs when changing various settings and several other problems such as ark being unable to unrar or unzip or amarok not recognizing any of your musics. This solution can also resolve problems with KDE and QT programmes looking bad following upgrade.<br />
<br />
Rebuild your cache with the following commands:<br />
<br />
$ rm ~/.config/Trolltech.conf<br />
$ kbuildsycoca4 --noincremental<br />
<br />
Hopefully, your problems are now fixed.<br />
<br />
=== Clean akonadi configuration to fix KMail ===<br />
<br />
First, make sure that KMail is not running. Then backup configuration:<br />
$ mv ~/.local/share/akonadi ~/.local/share/akonadi-old<br />
$ mv ~/.config/akonadi ~/.config/akonadi-old<br />
<br />
Start ''SystemSettings > Personal'' and remove all the resources. Go back to Dolphin and remove the original {{ic|~/.local/share/akonadi}} and<br />
{{ic|~/.config/akonadi}} - the copies you made ensure that you can back-track if necessary.<br />
<br />
Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.<br />
<br />
=== Getting current state of KWin for support and debug purposes ===<br />
<br />
This command prints out a wonderful summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on [http://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].<br />
<br />
$ qdbus org.kde.kwin /KWin supportInformation<br />
<br />
=== KDE4 does not finish loading ===<br />
<br />
There might be a situation in which the graphic driver might create a conflict when starting KDE4. This situation happens after the login but before finishing loading the desktop, making the user wait indefinitely at the loading screen. Until now the only users confirmed to be affected by this are the ones that use [[NVIDIA|Nvidia drivers]] and KDE4.<br />
<br />
A solution for Nvidia users:<br />
<br />
{{hc|~/.kde4/share/config/kwinrc|2=<br />
[Compositing]<br />
Enabled=false<br />
}}<br />
For more information, see [https://bbs.archlinux.org/viewtopic.php?pid=932598 this] thread.<br />
<br />
If a minimal install was done, make sure you installed the required font by your phonon backend listed here: [[#Minimal install]]<br />
<br />
=== KDE and Qt programs look bad when in a different window manager ===<br />
<br />
If you are using KDE or Qt programs but not in a full KDE session (specifically, you did not run {{ic|startkde}}), then as of KDE 4.6.1 you will need to tell Qt how to find KDE's styles (Oxygen, QtCurve etc.)<br />
<br />
You just need to set the environment variable {{ic|QT_PLUGIN_PATH}}. E.g. put:<br />
<br />
export QT_PLUGIN_PATH=$HOME/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/<br />
<br />
into your {{ic|/etc/profile}} (or {{ic|~/.profile}} if you do not have root access). {{ic|qtconfig-qt4}}should then be able to find your KDE styles and everything should look nice again!<br />
<br />
Alternatively, you can symlink the Qt styles directory to the KDE styles one:<br />
# ln -s /usr/lib/kde4/plugins/styles/ /usr/lib/qt4/pluginlib32-libdbusmenu-glibs/styles<br />
<br />
Under Gnome you can try to install the package libgnomeui.<br />
<br />
=== Graphical related problems ===<br />
<br />
==== Low 2D desktop performance (or) artifacts appear when on 2D ====<br />
<br />
===== GPU driver problem =====<br />
<br />
Make sure you have the proper driver for your card installed, so that your desktop is at least 2D accelerated. Follow these articles for more information: [[ATI]], [[NVIDIA]], [[Intel]] for more information, in order to make sure that everything is all right.<br />
The open-source ATI and Intel drivers and the proprietary (binary) Nvidia driver should theoretically provide the best 2D and 3D acceleration.<br />
<br />
===== The Raster engine workaround =====<br />
<br />
If this does not solve your problems, your driver may not provide a good '''XRender''' acceleration which the current Qt painter engine relies on by default.<br />
<br />
You can change the painter engine to software based only by invoking the application with the {{ic|-graphicssystem raster}} command line. This rendering engine can be set as the default one by recompiling Qt with the same as configure option, {{ic|-graphicssystem raster}}.<br />
<br />
The raster paint engine enables the CPU to do the majority of the painting, as opposed to the GPU. You may get better performance, depending on your system. This is basically a work-around for the terrible Linux driver stack, since the CPU should obviously not be doing graphical computations since it is designed for fewer threads of greater complexity, as opposed to the GPU which is many threads but lesser computational strength. So, only use Raster engine if you are having problems or your GPU is much slower than you CPU, otherwise is better to use XRender.<br />
<br />
Since Qt 4.7+, recompiling Qt is not needed. Simply export {{ic|1=QT_GRAPHICSSYSTEM=raster}}, or {{ic|opengl}}, or {{ic|native}} (for the default). Raster depends on the CPU, OpenGL depends on the GPU and high driver support, and Native is just using the X11 rendering (mixture, usually).<br />
<br />
'''The best and automatic way to do that''' is to install {{AUR|kcm-qt-graphicssystem}} from AUR and configure this particular Qt setting through:<br />
<br />
System Settings > Qt Graphics System<br />
<br />
For more information, consult this [http://apachelog.wordpress.com/2010/09/05/qt-graphics-system-kcm/ KDE Developer blog entry] and/or this [http://labs.trolltech.com/blogs/2009/12/18/qt-graphics-and-performance-the-raster-engine/ Qt Developer blog entry].<br />
<br />
==== Low 3D desktop performance====<br />
<br />
KDE begins with desktop effects enabled. Older cards may be insufficient for 3D desktop acceleration. You can disable desktop effects in:<br />
System Settings > Desktop Effects<br />
and you can toggle desktop effects with {{ic|Alt+Shift+F12}}.<br />
<br />
{{Note| You may encounter such problems with 3D desktop performance even when using a more powerful graphics card, especially the catalyst proprietary driver ({{ic|fglrx}}). This driver is known for having problems with 3D acceleration. Visit [[ATI|the ATI Wiki page]] for more troubleshooting.}}<br />
<br />
==== Desktop compositing is disabled on my system with a modern Nvidia GPU ====<br />
<br />
Sometimes, KWin may have settings in its configuration file ({{ic|kwinrc}}) that ''may'' cause a problem on re-activating the 3D desktop {{ic|OpenGL}} compositing. That could be caused randomly (for example, due to a sudden Xorg crash or restart, and it gets corrupted), so, in case that happens, delete your {{ic|~/.kde4/share/config/kwinrc}} file and relogin. The KWin settings will turn to the KDE default ones and the problem should be probably gone.<br />
<br />
==== Flickering in fullscreen when compositing is enabled ====<br />
<br />
As of KDE SC 4.6.0, there is an option in ''Sytem Settings > Desktop Effect > Advanced > Suspend desktop effects for fullscreen windows''. Uncheck it would tell kwin to disable unredirect fullscren.<br />
<br />
==== Screen Tearing with desktop compositing enabled ====<br />
<br />
KWin may suffer from [[Wikipedia:Screen tearing|screen tearing]] while desktop effects are enabled. Uncheck the VSync option under ''System Settings > Desktop Effects > Advanced > Use Vsync''.<br />
<br />
{{Note|With the release of KDE 4.11, several new Vsync options have been added, which may help with screen tearing.}}<br />
<br />
For proprietary driver users, ensure that the driver's VSync option is enabled (''amdccle'' for [[Catalyst]] users, and ''nvidia-settings'' for [[NVIDIA]] users).<br />
<br />
==== Display settings lost on reboot (multiple monitors) ====<br />
Installing {{Pkg|kscreen}} might fix the problem unless your screens share the same EDID. Kscreen is the improved screen management software for KDE, more information can be found [https://fedoraproject.org/wiki/Changes/KScreen?rd=Features/KScreen here].<br />
<br />
=== Sound problems under KDE ===<br />
<br />
==== ALSA related problems ====<br />
<br />
{{Note|First make sure you have {{Pkg|alsa-lib}} and {{Pkg|alsa-utils}} installed.}}<br />
<br />
===== "Falling back to default" messages when trying to listen to any sound in KDE =====<br />
<br />
When you encounter such messages:<br />
The audio playback device ''name_of_the_sound_device'' does not work.<br />
Falling back to default<br />
Go to:<br />
System Settings > Multimedia > Phonon<br />
and set the device named {{ic|default}} above all the other devices in each box you see.<br />
<br />
===== MP3 files cannot be played when using the GStreamer Phonon backend =====<br />
<br />
This can be solved by installing the GStreamer libav plugin (package {{Pkg|gst-libav}}). If you still encounter problems, you can try changing the Phonon backend used by installing another such as {{Pkg|phonon-qt4-vlc}} or {{Pkg|phonon-qt5-vlc}}.<br />
Then, make sure the backend is preferred via:<br />
<br />
System Settings > Multimedia > Phonon > Backend (tab)<br />
<br />
=== Konsole does not save commands' history ===<br />
<br />
By default console command history is saved only when you type 'exit' in console. When you close Konsole with 'x' in the corner it does not happen.<br />
To enable autosaving after every command execution:<br />
<br />
{{hc|~/.bashrc|<nowiki><br />
shopt -s histappend<br />
[[ "${PROMPT_COMMAND}" ]] && PROMPT_COMMAND="$PROMPT_COMMAND;history -a" || PROMPT_COMMAND="history -a"<br />
</nowiki>}}<br />
<br />
=== KDE password prompts display three bullets per char ===<br />
<br />
This setting can be changed at ''System Settings > Account Details > Password & User Account'':<br />
* Show one bullet for each letter<br />
* Show three bullets for each letter<br />
* Show nothing<br />
<br />
=== Dolphin and File Dialogs are extremely slow to start ===<br />
<br />
This may be caused by the upower service. If the upower service is not needed on your system, it can be disabled:<br />
<br />
# systemctl disable upower<br />
# systemctl mask upower<br />
<br />
Obviously this will not have any side effect on a desktop system.<br />
<br />
=== Default PDF viewer in GTK applications under KDE ===<br />
<br />
In some cases when you have installed [[Inkscape]], [[Gimp]] or other graphic programs, GTK applications ([[Firefox]] among all) might not select Okular as the default PDF application, and they are not going to follow the KDE settings on default applications. You can use the following user command to make Okular the default application again.<br />
<br />
$ xdg-mime default kde4-okularApplication_pdf.desktop application/pdf<br />
<br />
If you are using a different PDF viewer application, or a different mime-type is misbehaving, you should change {{ic|kde4-okularApplication_pdf.desktop}} and {{ic|application/pdf}} respectively according to your needs.<br />
<br />
For more information, consult [[Default applications]] wiki page.<br />
<br />
=== Inotify folder watch limit ===<br />
<br />
If you get the following error:<br />
<br />
KDE Baloo Filewatch service reached the inotify folder watch limit. File changes may be ignored.<br />
<br />
Then you will need to increase the inotify folder watch limit:<br />
<br />
# echo 10000 > /proc/sys/fs/inotify/max_user_watches<br />
<br />
To make changes permanent, create {{ic|/etc/sysctl.d/90-inotify.conf}} with<br />
<br />
#increase inotify watch limit<br />
fs.inotify.max_user_watches = 10000<br />
<br />
== Unstable releases ==<br />
<br />
When KDE is reaching beta or RC milestone, KDE "unstable" packages are uploaded to the ''kde-unstable'' repository. They stay there until KDE is declared stable and passes to the ''extra'' repository.<br />
<br />
You can add ''kde-unstable'' with:<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[kde-unstable]<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
{{Warning|Make sure to add these lines '''before''' the ''extra'' repository. Adding the section after ''extra'' will cause [[pacman]] to prefer the older packages in the extra repository. {{ic|pacman -Syu}} will not install them, and will warn that they are "too new" if installed manually. Also, some of the libraries will stay at the older versions, which may cause file conflicts and/or instability!}}<br />
<br />
# ''kde-unstable'' is based upon ''testing''. Therefore, you need to enable the repositories in the following order: ''kde-unstable'', ''testing'', ''core'', ''extra'', ''community-testing'', ''community''.<br />
# To update from a previous KDE installation, run: {{ic|# pacman -Syu}} or {{ic|# pacman -S kde-unstable/kde}}<br />
# If you do not have KDE installed, you might have difficulties to install it by using groups (limitation of pacman)<br />
# '''Subscribe and read the [https://mailman.archlinux.org/pipermail/arch-dev-public/ arch-dev-public] mailing list'''<br />
# Make sure [[#Distro_and_Upstream_bug_report|you make bug reports]] if you find any problems.<br />
<br />
== KDE forks ==<br />
<br />
=== Trinity ===<br />
<br />
From the release of KDE 4.x, the developers dropped support for KDE 3.5.x. Trinity Desktop Environment is a fork of KDE3 developed by Timothy Pearson ([http://trinitydesktop.org/ trinitydesktop.org]). This project aims to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. See [[Trinity]] for more info.<br />
<br />
== Bugs ==<br />
<br />
It is preferrable that if you find a minor or serious bug, you should visit [https://bugs.archlinux.org the Arch Bug Tracker] or/and [http://bugs.kde.org KDE Bug Tracker] in order to report that. Make sure that you are clear about what you want to report.<br />
<br />
If you have any problem and you write about in on the Arch forums, first make sure that you have '''fully''' updated your system using a good sync mirror (check [https://www.archlinux.de/?page=MirrorStatus here]) or try [[Reflector]].<br />
<br />
== See also ==<br />
<br />
* [http://www.kde.org KDE homepage]<br />
* [https://bugs.kde.org KDE bug tracker]<br />
* [https://projects.kde.org KDE Projects]<br />
* [http://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]</div>MartinZhttps://wiki.archlinux.org/index.php?title=KDE&diff=369836KDE2015-04-16T00:04:31Z<p>MartinZ: /* Plasma 5 */ Added way to get a consistent appearance with gtk apps</p>
<hr />
<div>[[Category:KDE]]<br />
[[cs:KDE]]<br />
[[de:KDE]]<br />
[[es:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE_Masaüstü_Ortamı]]<br />
[[zh-CN:KDE]]<br />
[[zh-TW:KDE]]<br />
{{Related articles start}}<br />
{{Related|Desktop environment}}<br />
{{Related|Display manager}}<br />
{{Related|Window manager}}<br />
{{Related|Plasma}}<br />
{{Related|Qt}}<br />
{{Related|KDM}}<br />
{{Related|KDevelop 4}}<br />
{{Related|Uniform Look for Qt and GTK Applications}}<br />
{{Related articles end}}<br />
<br />
From [http://www.kde.org/community/whatiskde/softwarecompilation.php KDE Software Compilation] and [http://www.kde.org/download/ Getting KDE Software]:<br />
<br />
:The KDE Software Compilation is the set of frameworks, workspaces, and applications produced by KDE to create a beautiful, functional and free desktop computing environment for Linux and similar operating systems. It consists of a large number of individual applications and a desktop workspace as a shell to run these applications.<br />
<br />
The KDE upstream has a well maintained [http://userbase.kde.org/ UserBase wiki]. Users can get detailed information about most KDE applications there.<br />
<br />
{{note| The term "KDE Software Compilation" is now outdated. KDE is moving to a new way of organizing itself, see: [[KDE#Plasma 5]]}}<br />
== Installation ==<br />
<br />
Before installing KDE, make sure you have a working [[Xorg]] installation on your system.<br />
<br />
=== KDE 4 ===<br />
<br />
KDE 4 is ''modular''. You can install an entire set of packages or only install your preferred KDE applications.<br />
<br />
==== Full install ====<br />
<br />
[[pacman|Install]] {{Grp|kde}} or {{Grp|kde-meta}} available in the [[official repositories]]. For differences between {{Grp|kde}} and {{Grp|kde-meta}} see the [[KDE Packages]] article.<br />
<br />
==== Minimal install ====<br />
<br />
If you want to have a minimal installation of the KDE Software Compilation, install {{Pkg|kdebase-workspace}}.<br />
<br />
==== Language pack ====<br />
<br />
If you need language files, install {{ic|kde-l10n-yourlanguagehere}} (e.g. {{Pkg|kde-l10n-de}} for the German language).<br />
<br />
For a full list of available languages see [https://www.archlinux.org/packages/extra/any/kde-l10n/ this link].<br />
<br />
=== Plasma 5 ===<br />
The KDE project has changed the way it names and organizes itself since KDE4. In effect there is no 'KDE5'. The project is now split into different sections with their own names, version numbering and development cycles including for example: Frameworks (KDE libraries), Plasma (the workspace) and Applications (that use KDE libraries). <br />
<br />
[[pacman|Install]] {{Pkg|plasma-meta}} or {{Grp|plasma}} available in the [[official repositories]].<br />
<br />
{{Note|1=Plasma 5 conflicts with KDE 4 Workspace and pacman will request to remove kdebase-workspace. It is [https://bbs.archlinux.org/viewtopic.php?pid=1497819#p1497819 recommended] to remove the old workspace and its dependencies first with {{ic| pacman -Rc kdebase-workspace}} }}<br />
<br />
==== System tray icons ====<br />
<br />
Plasma 5 uses a new specification to display items in the 'system tray' area called [http://blog.martin-graesslin.com/blog/2014/03/system-tray-in-plasma-next/ Status Notifier]. To allow applications using the old xembed specification to display items the packages (gtk-2) {{aur|libappindicator-gtk2}}, (gtk-3) {{aur| libappindicator-gtk3}} or (qt4) {{Pkg|sni-qt}}, {{Pkg|lib32-sni-qt}} (for 32bit based applications like Skype) may be required. See [http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/ "Where are my systray icons?"] for more information.<br />
<br />
See also [[Plasma]]<br />
<br />
==== Qt4 applications appearance ====<br />
For qt4 applications to have a consistent appearance, you need to install {{Pkg|breeze-kde4}} and then pick Breeze as GUI Style in {{ic| qtconfig-qt4}}.<br />
<br />
==== Gtk applications appearance ====<br />
Currently, there are no breeze-based themes for gtk. The recommended theme for a pleasant appearance in gtk applications is {{aur|gtk-theme-orion}}. Install it and then pick Orion as GTK2 and GTK3 Theme in System Settings / Application Style / GNOME Application Style.<br />
<br />
== Starting Plasma ==<br />
See [[Plasma#Starting_Plasma]].<br />
<br />
== Configuration ==<br />
<br />
All KDE 4 configurations are saved in the {{ic|~/.kde4}} folder, otherwise {{ic|~/.config}} is used. If KDE is giving you a lot of trouble or if you ever want a fresh installation of KDE, just backup and rename this folder and restart your X session. KDE will re-create it with all the default configuration files. If you want very fine-grained control over KDE programs, you may want to edit the files in this folder.<br />
<br />
However, configuring KDE is primarily done in '''System Settings'''. A few other options for the desktop are available in '''Default Desktop Settings''' in the desktop's context menu.<br />
<br />
For other personalization options not covered below such as activities, different wallpapers on one cube, etc., please refer to the [[Plasma]] wiki page.<br />
<br />
=== Personalization ===<br />
<br />
How to set up the KDE desktop to your personal style: use different Plasma themes, window decorations and icon themes.<br />
{{tip|1=Applications using the new frameworks 5 use the same configurations as under the old kdebase-workspace 4 but read from new locations. To allow frameworks 5 applications running in kdebase-workspace 4 to share the same configurations they may be moved to the new locations and symlinked back to the old. Examples are:<br />
*Konsole profiles from ~/.kde4/share/apps/konsole to ~/.local/share/konsole/<br />
*Application appearance from ~/.kde4/share/config/kdeglobals to ~/.config/kdeglobals<br />
This information was gathered from the [https://bbs.archlinux.org/viewforum.php?id=18 Applications & Desktop Environments] section of the forums. }}<br />
<br />
==== Plasma desktop ====<br />
<br />
See [[Plasma]].<br />
<br />
===== Themes =====<br />
See [[Plasma#Themes]]<br />
<br />
===== Widgets =====<br />
<br />
Plasmoids are little scripted (plasmoid scripts) or coded (plasmoid binaries) KDE applications designed to enhance the functionality of your desktop.<br />
<br />
Plasmoid binaries can be installed using PKGBUILDs from [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v AUR], or you can write your own PKGBUILD.<br />
<br />
The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop:<br />
<br />
Add Widgets > Get new Widgets > Download Widgets<br />
<br />
This will present a nice frontend for [http://www.kde-look.org/ kde-look.org] that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.<br />
<br />
Most plasmoids are not created officially by KDE developers. You can also try installing Mac OS X widgets, Microsoft Windows Vista/7 widgets, Google Widgets, and even SuperKaramba widgets.<br />
<br />
===== Sound applet in the system tray =====<br />
<br />
Install Kmix ({{Pkg|kdemultimedia-kmix}} for KDE 4, or {{Pkg|kmix}} for Plasma 5) from the official repositories and start it from the application launcher. Since KDE, by default, autostarts programs from the previous session, it does not need to be started manually upon every login.<br />
<br />
{{Note|1=To adjust the [https://bugs.kde.org/show_bug.cgi?id=313579#c28 step size of volume increments/decrements], add e.g. {{ic|1=VolumePercentageStep=1}} in the {{ic|[Global]}} section of {{ic|~/.kde4/share/config/kmixrc}}}}<br />
<br />
===== Adding a Global Menu to the desktop =====<br />
<br />
Install {{Pkg|appmenu-qt}} from the official repositories and {{AUR|appmenu-gtk}} and {{AUR|appmenu-qt5}} from the AUR in order to complete the preliminaries for a Mac OS X style always-on global menu. To get Firefox and LibreOffice to use the global menu as well, install {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} and {{AUR|libreoffice-extension-menubar}} from the AUR.<br />
<br />
{{Note|<br />
* {{AUR|appmenu-gtk}} is orphaned and Canonical has abandoned appmenu-gtk in favor of unity-gtk-module that is depending on Unity desktop. As of October 2014 there is no way of exporting gtk2,3 menus in KDE.<br />
* {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} has been deprecated as of Firefox 25 and there is no other recommended method for getting the global menu. However, there is a patched package, {{AUR|firefox-ubuntu}} available in the AUR which has Canonical's patch for getting the global menu to work with the current version of Firefox (as of November 2013).<br />
}}<br />
<br />
To actually get the global menu, install {{AUR|kdeplasma-applets-menubar}} from the AUR. Create a plasma-panel on top of your screen and add the window menubar applet to the panel. To export the menus to your global menu, go to ''System Settings > Application Appearance > Style''. Now click the fine-tuning tab and use the drop-down list to select ''only export'' as your menubar style.<br />
<br />
===== Disable panel shadow =====<br />
<br />
As the plasma panel is on top of other windows, its shadow is drawn over them. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] To disable this behaviour without impacting other shadows, [[install]] {{Pkg|xorg-xprop}} and run:<br />
<br />
$ xprop -remove _KDE_NET_WM_SHADOW<br />
<br />
then select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php?f=285&t=121592] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:<br />
<br />
{{hc|/usr/local/bin/kde-no-shadow|<nowiki><br />
#!/bin/bash<br />
for WID in $(xwininfo -root -tree | sed '/"plasma-desktop": ("Plasma" "Plasma")/!d; s/^ *\([^ ]*\) .*/\1/g'); do<br />
xprop -id $WID -remove _KDE_NET_WM_SHADOW<br />
done<br />
</nowiki>}}<br />
<br />
The script can be run on login with ''Add Script'' in ''Autostart'':<br />
<br />
$ kcmshell4 autostart<br />
<br />
==== Window decorations ====<br />
<br />
[http://kde-look.org/index.php?xcontentmode=75 Window decorations] can be changed in:<br />
System Settings > Workspace Appearance > Window Decorations<br />
There you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].<br />
<br />
==== Icon themes ====<br />
<br />
Not many full system icons themes are available for KDE 4. You can open up ''System Settings > Application Appearance > Icons'' and browse for new ones or install them manually. Many of them can be found on [http://www.kde-look.org/ kde-look.org].<br />
<br />
Official logos, icons, CD labels and other artwork for Arch Linux are provided in the {{AUR|archlinux-artwork}} package. After installing you can find such artwork at {{ic|/usr/share/archlinux/}}.<br />
<br />
===== Qt 5 icons theme =====<br />
<br />
If you are on Plasma 5, use ''System Settings > Icons''.<br />
While if you are on KDE 4 use {{ic|kcmshell5 icons}} to set the icons theme.<br />
<br />
==== Fonts ====<br />
<br />
===== Fonts in KDE look poor =====<br />
<br />
Try installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.<br />
<br />
After the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''.<br />
<br />
If you have personally set up how your [[Fonts]] render, be aware that System Settings may alter their appearance. When you go ''System Settings > Appearance > Fonts'', System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).<br />
<br />
There is no way to prevent this, but, if you set the values to match your {{ic|fonts.conf}} file, the expected font rendering will return (it will require you to restart your application or in a few cases restart your desktop). Note that Gnome's Font Preferences also does this.<br />
<br />
===== Fonts are huge or seem disproportional =====<br />
<br />
Try to force font DPI to '''96''' in ''System Settings > Application Appearance > Fonts''.<br />
<br />
If that does not work, try setting the DPI directly in your Xorg configuration as documented [[Xorg#Setting_DPI_manually|here]].<br />
<br />
==== Space efficiency ====<br />
<br />
Users with small screens (e.g. netbooks) can change some setting to make KDE more space efficient. See the [http://userbase.kde.org/KWin#Using_with_small_screens_(eg_Netbooks) upstream wiki] for more information. Also, you can use [http://www.kde.org/workspaces/plasmanetbook/ KDE's Plasma Netbook] which is a workspace made specifically for small, lightweight netbook devices.<br />
<br />
=== Networking ===<br />
<br />
You can choose from the following tools:<br />
* NetworkManager. See [[NetworkManager#KDE|NetworkManager]] for more information.<br />
* Wicd. See [[Wicd]] for more information.<br />
<br />
=== Printing ===<br />
<br />
{{Tip|Use the [[CUPS]] web interface for faster configuration. Printers configured in this way can be used in KDE applications. }}<br />
<br />
You can also configure printers in ''System Settings > Printer Configuration''. To use this method, you must first install {{Pkg|kdeutils-print-manager}} and {{Pkg|cups}}.<br />
<br />
The {{ic|avahi-daemon}} and {{ic|cupsd}} daemons must be started first; otherwise, you will get the following error:<br />
The service 'Printer Configuration' does not provide an interface 'KCModule'<br />
with keyword 'system-config- printer-kde/system-config-printer-kde.py'<br />
The factory does not support creating components of the specified type.<br />
<br />
If you are getting the following error, you need to give your user the right to manage printers.<br />
There was an error during CUPS operation: 'cups-authorization-canceled'<br />
<br />
For CUPS, this is set in {{ic|/etc/cups/cups-files.conf}}.<br />
<br />
Adding {{ic|lpadmin}} to {{ic|/etc/group}} and then to the {{ic|SystemGroup}} directive in {{ic|/etc/cups/cups-files.conf}} allows anyone in the {{ic|lpadmin}} group to configure printers. Do ''not'' add the {{ic|lp}} group to the {{ic|SystemGroup}} directive, or printing will fail.<br />
<br />
# groupadd -g107 lpadmin<br />
<br />
{{hc|/etc/cups/cups-files.conf|# Administrator user group...<br />
SystemGroup sys root lpadmin}}<br />
<br />
{{Tip|Read [[CUPS#CUPS administration]] to get more details on how to configure CUPS.}}<br />
<br />
=== Samba/Windows support ===<br />
<br />
If you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).<br />
<br />
The Dolphin share functionality requires usershares, which the stock smb.conf does not have enabled. Instructions to add them are in [[Samba#Creating_user_share_path|the Samba article]], after which sharing in Dolphin should work out of the box after restarting Samba.<br />
<br />
=== KDE Desktop activities ===<br />
<br />
KDE Desktop Activities are Plasma-based virtual-desktop-like sets of Plasma Widgets where you can independently configure widgets as if you have more than one screen or desktop.<br />
<br />
On your desktop, click the Cashew Plasmoid and, on the pop-up window, press "Activities".<br />
<br />
A plasma bar presenting you the current existing Plasma Desktop Activities will appear at the bottom of the screen. You can navigate between them by pressing the correspondent icons.<br />
<br />
=== Power saving ===<br />
<br />
KDE has an integrated power saving service called "'''Powerdevil Power Management'''" that may adjust the power saving profile of the system and/or the brightness of the screen (if supported).<br />
<br />
Since KDE 4.6, CPU frequency scaling is no longer managed by KDE. Instead it is assumed to be handled automatically by the the hardware and/or kernel. Arch has used {{ic|ondemand}} as the default CPU frequency governor since kernel version 3.3, so no additional configuration is needed in most cases. For details on fine-tuning the governor, see [[CPU frequency scaling]].<br />
<br />
=== Monitoring changes on local files and directories ===<br />
<br />
KDE now uses '''inotify''' directly from the kernel with '''kdirwatch''' (included in kdelibs), so Gamin or FAM are no longer needed. You may want to install this {{AUR|kdirwatch}} from AUR which is a GUI frontend for kdirwatch.<br />
<br />
== System administration ==<br />
<br />
=== Set keyboard ===<br />
<br />
Navigate to:<br />
System Settings > Hardware > Input Devices > Keyboard<br />
In the first tab, you can choose your keyboard model.<br />
<br />
In the "'''Layouts'''" tab, you can choose the languages you may want to use by pressing the "Add Layout" button and subsequently choosing the variant and the language.<br />
<br />
In the "'''Advanced'''" tab, you can choose the keyboard combination you want in order to change the layouts in the "Key(s) to change layout" sub-menu.<br />
<br />
=== Terminate Xorg server through KDE system settings ===<br />
<br />
Navigate to the submenu:<br />
System Settings > Input Devices > Keyboard > Advanced (tab) > "Key Sequence to kill the X server"<br />
and tick the checkbox.<br />
<br />
=== KCM ===<br />
<br />
KCM stands for '''KC'''onfig '''M'''odule. KCMs can help you configure your system by providing interfaces in System Settings.<br />
<br />
'''Configuration for look and feel of GTK applications.'''<br />
* {{Pkg|kde-gtk-config}}<br />
* {{AUR|kcm-gtk}}<br />
* {{AUR|kcm-qt-graphicssystem}}<br />
<br />
'''Configuration for the GRUB bootloader.'''<br />
* {{AUR|grub2-editor}}<br />
<br />
'''Configuration for Synaptics touchpads.'''<br />
* {{Pkg|kcm-touchpad}}<br />
* {{Pkg|kcm-touchpad-frameworks}} (Plasma 5)<br />
* {{AUR|synaptiks}}{{Broken package link|package not found}}<br />
* {{AUR|kcm_touchpad}}<br />
* {{AUR|kcm-touchpad-git}}{{Broken package link|package not found}}<br />
<br />
'''Configuration for the [[Uncomplicated Firewall]] (UFW)'''<br />
* {{AUR|kcm-ufw}}<br />
<br />
'''Configuration for [[PolicyKit]]'''<br />
* {{AUR|kcm-polkit-kde-git}}<br />
<br />
'''Configuration for Wacom tablets'''<br />
* {{AUR|kcm-wacomtablet}}<br />
<br />
'''Configuration for systemd'''<br />
* {{Pkg|kcmsystemd}} (Plasma 5)<br />
<br />
More KCMs can be found at [http://kde-apps.org/index.php?xcontentmode=273 kde-apps.org].<br />
<br />
===Auto Login===<br />
Go to ''System Settings > System Administration > Login Screen > Convenience'', check ''Enable Auto-Login'' box and select user.<br />
<br />
== Desktop search and semantic desktop ==<br />
<br />
According to [[wikipedia:Semantic_desktop|Wikipedia]]:<br />
:''"the Semantic Desktop is a collective term for ideas related to changing a computer's user interface and data handling capabilities so that data is more easily shared between different applications or tasks and so that data that once could not be automatically processed by a computer can be (automatically processed)."''<br />
<br />
The KDE implementation of this concept is tied to (as of KDE Applications 4.13) two major pieces of software: Akonadi and Baloo. Between the two of them, these programs look at your data and make an easily searchable index of it. The idea behind these pieces of software is to make your system "aware" of your data and give it context using meta-data and user-supplied tags. Baloo uses Xapian to store its data.<br />
<br />
=== Baloo ===<br />
<br />
==== Using and configuring Baloo ====<br />
<br />
In order to search using Baloo on the KDE Plasma Desktop, press {{ic|ALT+F2}} and type in your query. Within Dophin press {{ic|CTRL+F}}.<br />
<br />
By default the Desktop Search KCM exposes only two options: A panel to blacklist folders and, as of 4.13.1, a way to disable it with one click.<br />
<br />
Alternatively you can edit your {{ic|~/.kde4/share/config/baloofilerc}} (KDE4) or {{ic|~/.config/baloofilerc}} (KF5) file ([https://community.kde.org/Baloo/Configuration info]). Additionally the {{ic|balooctl}} process can also be used. In order to disable Baloo run {{ic|balooctl disable}}.<br />
<br />
Once you added additional folders to the blacklist or disabled Baloo entirely, a process named {{ic|baloo_file_cleaner}} removes all unneeded index files automatically. They are stored under {{ic|~/.local/share/baloo/}}.<br />
<br />
More advanced configuration options are available through {{AUR|kcm_baloo_advanced}}.<br />
<br />
==== How do I index a removable device? ====<br />
<br />
By default every removable device is blacklisted. You just have to remove your device from the blacklist in the KCM panel.<br />
<br />
=== Akonadi ===<br />
<br />
Akonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on.<br />
<br />
Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vCard format).<br />
<br />
==== Disabling Akonadi ====<br />
<br />
See this [http://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase]. Alternatively, install {{AUR|akonadi-fake}} from the [[AUR]].<br />
<br />
==== Database configuration ====<br />
<br />
Start {{ic|akonaditray}} from package {{Pkg|kdepim-runtime}}. Right click on it and select '''configure'''. In the Akonadi server configure tab, you can:<br />
* Configuring Akonadi to use MySQL/MariaDB Server<br />
** If your home directory is on a ZFS pool, you will need to create {{ic|~/.config/akonadi/mysql-local.conf}} with the following contents:<br />
<br />
[mysqld]<br />
innodb_use_native_aio = 0<br />
<br />
Otherwise you will get the [[MySQL#OS error 22 when running on ZFS|OS error 22]]<br />
* Configuring Akonadi to use PostgreSQL Server<br />
* Configuring Akonadi to use SQLite<br />
** Edit {{ic|~/.config/akonadi/akonadiserverrc}} to match the below<br />
<br />
[General]<br />
Driver=QSQLITE3<br />
<br />
[QSQLITE3]<br />
Name=/home/username/.local/akonadi/akonadi.db<br />
<br />
== Phonon ==<br />
<br />
From [[Wikipedia:Phonon|Wikipedia]]:<br />
<br />
:''"Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability."''<br />
<br />
'''Phonon''' is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio apps) and video (e.g., the Dolphin video thumbnails).<br />
<br />
=== Which backend should I choose? ===<br />
<br />
You can choose between various backends like [[GStreamer]] ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}}) or [[VLC]] ({{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}), available in the [[official repositories]], and [[MPlayer]] ({{AUR|phonon-qt4-mplayer-git}}), QuickTime ({{AUR|phonon-quicktime-git}}) or [http://martinsandsmark.wordpress.com/2012/07/07/akademy/ AVKode] ({{AUR|phonon-avkode-git}}), available in the [[AUR]].<br />
<br />
Most users will want VLC which has the best upstream support. GStreamer is currently not well maintained. Note that multiple backends can be installed at once and chosen at ''System Settings > Multimedia > Phonon > Backend''.<br />
<br />
{{Note|<br />
* According to the [http://community.kde.org/Phonon/FeatureMatrix Feature Matrix], the GStreamer backend has some more features that the VLC backend.<br />
* According to the [http://userbase.kde.org/Phonon#Backend_libraries KDE UserBase], Phonon-MPlayer is currently unmaintained.}}<br />
<br />
== Useful applications ==<br />
<br />
The official set of KDE applications may be found [http://www.kde.org/applications/ here].<br />
<br />
=== Yakuake ===<br />
<br />
[[Yakuake]] provides a Quake-like terminal emulator whose visibility is toggled by the F12 key. It also has support for multiple tabs. Yakuake is available in the package {{Pkg|yakuake}}.<br />
<br />
=== KDE Telepathy ===<br />
<br />
[http://community.kde.org/KTp KDE Telepathy] is a project with the goal to closely integrate Instant Messaging with the KDE desktop. It utilizes the Telepathy framework as a backend and is intended to replace Kopete.<br />
<br />
To install all Telepathy protocols, install the {{Grp|telepathy}} group.<br />
To use the KDE Telepathy client, install the {{Pkg|kde-telepathy-meta}} package that includes all the packages contained in the {{Grp|kde-telepathy}} group .<br />
<br />
==== Use Telegram with KDE Telepathy ====<br />
<br />
Telegram protocol is avaible using {{pkg|telepathy-haze}}, installing {{aur|telegram-purple}} or {{aur|telegram-purple-git}}. The username is the Telegram account telephone number (complete with the national prefix '+xx', e.g. '+39' for Germany). The configuration though the GUI may be tricky: if the phone number is not accepted when configuring a new account in the KDE Telepathy client (with an error message complaining about an invalid parameter which prevents the account creation), insert it between single quotes and then remove the quotes manually from the configuration file (<code>~/.local/share/telepathy/mission-control/accounts.cfg</code>) after the account creation (if the quotes are not removed after, an authentication error should rise). Note that the configuration file should be edited manually when KDE Telepathy is not running, e.g. when there is no KDE desktop session active, otherwise manual changes may be overwritten by the software.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Using an alternative window manager in KDE ===<br />
<br />
To use an alternative [[window manager]] with KDE open the ''System Settings'' panel, navigate to ''Default Applications > Window Manager > Use a different window manager'' and select the window manager you wish to use from the list.<br />
<br />
==== KDE/Openbox Session ====<br />
<br />
The {{Pkg|openbox}} package provides a session for using KDE with [[Openbox]]. To make use of this session, select ''KDE/Openbox'' from the [[display manager]] menu.<br />
<br />
For those starting the session manually, add the following line to your {{ic|.xinitrc}} file:<br />
exec openbox-kde-session<br />
<br />
==== Compiz custom ====<br />
<br />
If you need to run Compiz with custom options and switches select ''Compiz custom'' and then create a script called {{ic|compiz-kde-launcher}} and add to it the commands you wish to use to start Compiz. See the example below:<br />
<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<nowiki><br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT=1<br />
compiz --replace &<br />
wait<br />
</nowiki>}}<br />
<br />
Then make it executable:<br />
$ chmod +x /usr/local/bin/compiz-kde-launcher<br />
<br />
==== Re-enabling compositing effects ====<br />
<br />
When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[Compton]].<br />
<br />
=== Integrate Android with the KDE Desktop ===<br />
<br />
KDE connect provides several features for you:<br />
* Share files and URLs to/from KDE from/to any app, without wires.<br />
* Touchpad emulation: Use your phone screen as your computer's touchpad.<br />
* Notifications sync (4.3+): Read your Android notifications from the desktop.<br />
* Shared clipboard: copy and paste between your phone and your computer.<br />
* Multimedia remote control: Use your phone as a remote for Linux media players.<br />
* WiFi connection: no usb wire or bluetooth needed.<br />
* RSA Encryption: your information is safe.<br />
<br />
You will need to install KDE Connect both on your computer and on your Android. For PC side, install {{Pkg|kdeconnect}} if you are using KDE4 or if you are using Plasma 5, then you should install {{AUR|kdeconnect-frameworks-git}} instead. For Android side, install {{ic|KDE Connect}} from the [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&hl=en Google Play Store] or from [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].<br />
<br />
=== Configure KWin to use OpenGL ES ===<br />
<br />
Beginning with KWin version 4.8 it is possible to use the separately built binary '''kwin_gles''' as a replacement for kwin. It behaves almost the same as the kwin executable in OpenGL2 mode with the slight difference that it uses ''egl'' instead of ''glx'' as the native platform interface. To test kwin_gles you just have to run {{ic|kwin_gles --replace}} in Konsole.<br />
If you want to make this change permanent you have to create a script in {{ic|$(kde4-config --localprefix)/env/}} which exports {{ic|1=KDEWM=kwin_gles}}.<br />
<br />
=== Enabling audio/video thumbnails under Konqueror/Dolphin file managers ===<br />
<br />
For thumbnails of videos in konqueror and dolphin install {{Pkg|kdemultimedia-mplayerthumbs}} or {{Pkg|kdemultimedia-ffmpegthumbs}} and activate the installed package in ''Settings> Configure Konqueror> General> Previews> Video Files''.<br />
For thumbnails of audio files in Konqueror and Dolphin install {{AUR|audiothumbs}} from AUR.<br />
<br />
=== Speed up application startup ===<br />
<br />
User Rob wrote on his blog this "[http://kdemonkey.blogspot.nl/2008/04/magic-trick.html magic trick]" to improve application start-up time by 50-150ms.<br />
To enable it, create this folder in your home:<br />
$ mkdir ~/.compose-cache/<br />
But it can produce freezes on heavy io, can be avoided by:<br />
$ ln -sfv /run/user/$UID/ /home/$USER/.compose-cache<br />
<br />
{{Note|For those curious about what is going on here, this enables an optimization which Lubos (of general KDE speediness fame) came up with some time ago and was then rewritten and integrated into libx11. Ordinarily, on startup, applications read input method information from {{ic|/usr/share/X11/locale/''your locale''/Compose}}. This file is quite long (>5000 lines for the en_US.UTF-8 one) and takes some time to process. libX11 can create a cache of the parsed information which is much quicker to read subsequently, but it will only re-use an existing cache or create a new one in {{ic|~/.compose-cache}} if the directory already exists.}}<br />
<br />
=== Hiding partitions ===<br />
<br />
In Dolphin, it is as simple as right-clicking on the partition in the {{ic|Places}} sidebar and selecting {{ic|Hide ''partition''}}. Otherwise...<br />
<br />
If you wish to prevent your internal partitions from appearing in your file manager, you can create an udev rule, e.g:<br />
<br />
{{hc|/etc/udev/rules.d/10-local.rules|2=<br />
KERNEL=="sda[0-9]", ENV{UDISKS_IGNORE}="1"<br />
}}<br />
<br />
The same thing for a certain partition:<br />
<br />
KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"<br />
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"<br />
<br />
=== Konqueror tips ===<br />
<br />
==== Disabling Access Keys ====<br />
<br />
Every time you pressing the Ctrl key while browsing, small square tooltips appear for each of the active areas (hyperlinks) on a webpage. This is useful when you browsing with only a keyboard.<br />
<br />
To disable Access Keys, go to ''Settings > Configure Konqueror > Web Browsing'' and uncheck ''Enable Access Key activation with Ctrl key''.<br />
<br />
==== Using WebKit ====<br />
<br />
WebKit is an open source browser engine developed by Apple Inc. It is a derivative from the KHTML and KJS libraries and contains many improvements. WebKit is used by Safari, Google Chrome and rekonq.<br />
<br />
It is possible to use WebKit in Konqueror instead of KHTML. First install the {{Pkg|kwebkitpart}} package.<br />
<br />
Then, after executing Konqueror, navigate to ''Settings > Configure Konqueror > General > Default web browser engine'' and set it as {{ic|WebKit}}.<br />
<br />
=== Firefox integration ===<br />
<br />
See [[Firefox#KDE_integration|Firefox]].<br />
<br />
=== Setting the background for lock screen ===<br />
<br />
In Plasma 5, you can set a custom wallpaper for the lock screen. This is [https://bugs.kde.org/show_bug.cgi?id=312828 not possible] in KDE 4, but here a workaround from OpenSUSE mailing lists: http://lists.opensuse.org/opensuse-kde/2013-02/msg00082.html<br />
<br />
For this you should modify the file {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/main.qml}}, replacing a line<br />
<br />
source: theme.wallpaperPathForSize(parent.width, parent.height)<br />
<br />
with something like<br />
<br />
source: "1920x1080.jpg"<br />
<br />
Now you simply put a wallpaper image {{ic|1920x1080.jpg}} to the {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui}} directory.<br />
<br />
{{Note|You have to redo this for each update of the package {{Pkg|kdebase-workspace}}.}}<br />
<br />
=== Setting lockscreen wallpaper to arbitrary image ===<br />
<br />
Copy an existing wallpaper profile as a template:<br />
$ cp -r /usr/share/wallpapers/''ExistingWallpaper'' ~/.kde4/share/wallpapers/<br />
<br />
Change the name of the directory, and edit {{ic|metadata.desktop}}:<br />
<br />
{{hc|~/.kde4/share/wallpapers/''MyWallpaper''/metadata.desktop|2=<br />
[Desktop Entry]<br />
Name=MyWallpaper<br />
X-KDE-PluginInfo-Name=MyWallpaper<br />
}}<br />
<br />
Remove existing images ({{ic|contents/screenshot.png}} and {{ic|images/*}}):<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/screenshot.png<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/images/*<br />
<br />
Copy new image in:<br />
$ cp ''path/to/MyWallpaper.png'' MyWallpaper/contents/images/1920x1080.png<br />
<br />
Edit the metadata profile for the current theme:<br />
{{hc|~/.kde4/share/apps/desktoptheme/MyTheme/metadata.desktop|2=<br />
[Wallpaper]<br />
defaultWallpaperTheme=MyWallpaper<br />
defaultFileSuffix=.png<br />
defaultWidth=1920<br />
defaultHeight=1080<br />
}}<br />
<br />
Lock the screen to check that it worked.<br />
<br />
{{Note|This method sets the lockscreen background without changing any system-wide settings. For a system-wide change, create the new wallpaper profile in {{ic|/usr/share/wallpapers}}.}}<br />
<br />
=== Configuring monitor resolution / multiple monitors ===<br />
<br />
To enable display resolution management and multiple monitors in KDE 5, install {{Pkg|kscreen-frameworks}}. This adds the additional options to System Settings/Display and Monitor.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Configuration related ===<br />
<br />
Many problems in KDE are related to configuration. One way to resolve upgrade problems is to start over with a fresh KDE config.<br />
<br />
==== Reset all KDE configuration ====<br />
<br />
To test whether your config is the problem try quitting your KDE session by logging out and, in a tty, run<br />
$ cp -r ~/.kde4 ~/.kde4.safekeeping<br />
$ rm .kde4/{cache,socket,tmp}-$(hostname)<br />
<br />
The ''rm'' command just removes symbolic links which will be recreated by KDE automatically. Now start a new KDE session to see the results.<br />
<br />
If the problem is resolved, you will have a fresh, problem-free {{ic|~/.kde4/}}. You can gradually move parts of your saved configuration back, restarting your session regularly to test, to identify the problematic parts of your config. Some files here are named after applications so you will probably be able to test these without needing to restart KDE.<br />
<br />
==== Plasma desktop behaves strangely ====<br />
<br />
Plasma problems are usually caused by unstable '''plasmoids''' or '''plasma themes'''. First, find which was the last plasmoid or plasma theme you had installed and disable it or uninstall it.<br />
<br />
So, if your desktop suddenly exhibits "locking up", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began (sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report (bugs.kde.org) '''only if it is an official widget'''. If it is not, it is recommended you find the entry on kde-look.org and inform the developer of that widget about the problem (detailing steps to reproduce, etc).<br />
<br />
If you cannot find the problem, but you do not want ''all'' the KDE settings to be lost, do:<br />
<br />
$ rm -r ~/.kde4/share/config/plasma*<br />
<br />
This command will '''delete all plasma related configs''' of your user and when you will relogin into KDE, you will have the '''default''' settings back. You should know that this action '''cannot be undone'''. You should create a backup folder and copy all the plasma related configs in it.<br />
<br />
==== Clean cache to resolve upgrade problems ====<br />
<br />
The [https://bbs.archlinux.org/viewtopic.php?id=135301 problem] may be caused by old cache. Sometimes after an upgrade, the old cache might introduce strange, hard to debug behaviour such as unkillable shells, hangs when changing various settings and several other problems such as ark being unable to unrar or unzip or amarok not recognizing any of your musics. This solution can also resolve problems with KDE and QT programmes looking bad following upgrade.<br />
<br />
Rebuild your cache with the following commands:<br />
<br />
$ rm ~/.config/Trolltech.conf<br />
$ kbuildsycoca4 --noincremental<br />
<br />
Hopefully, your problems are now fixed.<br />
<br />
=== Clean akonadi configuration to fix KMail ===<br />
<br />
First, make sure that KMail is not running. Then backup configuration:<br />
$ mv ~/.local/share/akonadi ~/.local/share/akonadi-old<br />
$ mv ~/.config/akonadi ~/.config/akonadi-old<br />
<br />
Start ''SystemSettings > Personal'' and remove all the resources. Go back to Dolphin and remove the original {{ic|~/.local/share/akonadi}} and<br />
{{ic|~/.config/akonadi}} - the copies you made ensure that you can back-track if necessary.<br />
<br />
Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.<br />
<br />
=== Getting current state of KWin for support and debug purposes ===<br />
<br />
This command prints out a wonderful summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on [http://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].<br />
<br />
$ qdbus org.kde.kwin /KWin supportInformation<br />
<br />
=== KDE4 does not finish loading ===<br />
<br />
There might be a situation in which the graphic driver might create a conflict when starting KDE4. This situation happens after the login but before finishing loading the desktop, making the user wait indefinitely at the loading screen. Until now the only users confirmed to be affected by this are the ones that use [[NVIDIA|Nvidia drivers]] and KDE4.<br />
<br />
A solution for Nvidia users:<br />
<br />
{{hc|~/.kde4/share/config/kwinrc|2=<br />
[Compositing]<br />
Enabled=false<br />
}}<br />
For more information, see [https://bbs.archlinux.org/viewtopic.php?pid=932598 this] thread.<br />
<br />
If a minimal install was done, make sure you installed the required font by your phonon backend listed here: [[#Minimal install]]<br />
<br />
=== KDE and Qt programs look bad when in a different window manager ===<br />
<br />
If you are using KDE or Qt programs but not in a full KDE session (specifically, you did not run {{ic|startkde}}), then as of KDE 4.6.1 you will need to tell Qt how to find KDE's styles (Oxygen, QtCurve etc.)<br />
<br />
You just need to set the environment variable {{ic|QT_PLUGIN_PATH}}. E.g. put:<br />
<br />
export QT_PLUGIN_PATH=$HOME/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/<br />
<br />
into your {{ic|/etc/profile}} (or {{ic|~/.profile}} if you do not have root access). {{ic|qtconfig-qt4}}should then be able to find your KDE styles and everything should look nice again!<br />
<br />
Alternatively, you can symlink the Qt styles directory to the KDE styles one:<br />
# ln -s /usr/lib/kde4/plugins/styles/ /usr/lib/qt4/pluginlib32-libdbusmenu-glibs/styles<br />
<br />
Under Gnome you can try to install the package libgnomeui.<br />
<br />
=== Graphical related problems ===<br />
<br />
==== Low 2D desktop performance (or) artifacts appear when on 2D ====<br />
<br />
===== GPU driver problem =====<br />
<br />
Make sure you have the proper driver for your card installed, so that your desktop is at least 2D accelerated. Follow these articles for more information: [[ATI]], [[NVIDIA]], [[Intel]] for more information, in order to make sure that everything is all right.<br />
The open-source ATI and Intel drivers and the proprietary (binary) Nvidia driver should theoretically provide the best 2D and 3D acceleration.<br />
<br />
===== The Raster engine workaround =====<br />
<br />
If this does not solve your problems, your driver may not provide a good '''XRender''' acceleration which the current Qt painter engine relies on by default.<br />
<br />
You can change the painter engine to software based only by invoking the application with the {{ic|-graphicssystem raster}} command line. This rendering engine can be set as the default one by recompiling Qt with the same as configure option, {{ic|-graphicssystem raster}}.<br />
<br />
The raster paint engine enables the CPU to do the majority of the painting, as opposed to the GPU. You may get better performance, depending on your system. This is basically a work-around for the terrible Linux driver stack, since the CPU should obviously not be doing graphical computations since it is designed for fewer threads of greater complexity, as opposed to the GPU which is many threads but lesser computational strength. So, only use Raster engine if you are having problems or your GPU is much slower than you CPU, otherwise is better to use XRender.<br />
<br />
Since Qt 4.7+, recompiling Qt is not needed. Simply export {{ic|1=QT_GRAPHICSSYSTEM=raster}}, or {{ic|opengl}}, or {{ic|native}} (for the default). Raster depends on the CPU, OpenGL depends on the GPU and high driver support, and Native is just using the X11 rendering (mixture, usually).<br />
<br />
'''The best and automatic way to do that''' is to install {{AUR|kcm-qt-graphicssystem}} from AUR and configure this particular Qt setting through:<br />
<br />
System Settings > Qt Graphics System<br />
<br />
For more information, consult this [http://apachelog.wordpress.com/2010/09/05/qt-graphics-system-kcm/ KDE Developer blog entry] and/or this [http://labs.trolltech.com/blogs/2009/12/18/qt-graphics-and-performance-the-raster-engine/ Qt Developer blog entry].<br />
<br />
==== Low 3D desktop performance====<br />
<br />
KDE begins with desktop effects enabled. Older cards may be insufficient for 3D desktop acceleration. You can disable desktop effects in:<br />
System Settings > Desktop Effects<br />
and you can toggle desktop effects with {{ic|Alt+Shift+F12}}.<br />
<br />
{{Note| You may encounter such problems with 3D desktop performance even when using a more powerful graphics card, especially the catalyst proprietary driver ({{ic|fglrx}}). This driver is known for having problems with 3D acceleration. Visit [[ATI|the ATI Wiki page]] for more troubleshooting.}}<br />
<br />
==== Desktop compositing is disabled on my system with a modern Nvidia GPU ====<br />
<br />
Sometimes, KWin may have settings in its configuration file ({{ic|kwinrc}}) that ''may'' cause a problem on re-activating the 3D desktop {{ic|OpenGL}} compositing. That could be caused randomly (for example, due to a sudden Xorg crash or restart, and it gets corrupted), so, in case that happens, delete your {{ic|~/.kde4/share/config/kwinrc}} file and relogin. The KWin settings will turn to the KDE default ones and the problem should be probably gone.<br />
<br />
==== Flickering in fullscreen when compositing is enabled ====<br />
<br />
As of KDE SC 4.6.0, there is an option in ''Sytem Settings > Desktop Effect > Advanced > Suspend desktop effects for fullscreen windows''. Uncheck it would tell kwin to disable unredirect fullscren.<br />
<br />
==== Screen Tearing with desktop compositing enabled ====<br />
<br />
KWin may suffer from [[Wikipedia:Screen tearing|screen tearing]] while desktop effects are enabled. Uncheck the VSync option under ''System Settings > Desktop Effects > Advanced > Use Vsync''.<br />
<br />
{{Note|With the release of KDE 4.11, several new Vsync options have been added, which may help with screen tearing.}}<br />
<br />
For proprietary driver users, ensure that the driver's VSync option is enabled (''amdccle'' for [[Catalyst]] users, and ''nvidia-settings'' for [[NVIDIA]] users).<br />
<br />
==== Display settings lost on reboot (multiple monitors) ====<br />
Installing {{Pkg|kscreen}} might fix the problem unless your screens share the same EDID. Kscreen is the improved screen management software for KDE, more information can be found [https://fedoraproject.org/wiki/Changes/KScreen?rd=Features/KScreen here].<br />
<br />
=== Sound problems under KDE ===<br />
<br />
==== ALSA related problems ====<br />
<br />
{{Note|First make sure you have {{Pkg|alsa-lib}} and {{Pkg|alsa-utils}} installed.}}<br />
<br />
===== "Falling back to default" messages when trying to listen to any sound in KDE =====<br />
<br />
When you encounter such messages:<br />
The audio playback device ''name_of_the_sound_device'' does not work.<br />
Falling back to default<br />
Go to:<br />
System Settings > Multimedia > Phonon<br />
and set the device named {{ic|default}} above all the other devices in each box you see.<br />
<br />
===== MP3 files cannot be played when using the GStreamer Phonon backend =====<br />
<br />
This can be solved by installing the GStreamer libav plugin (package {{Pkg|gst-libav}}). If you still encounter problems, you can try changing the Phonon backend used by installing another such as {{Pkg|phonon-qt4-vlc}} or {{Pkg|phonon-qt5-vlc}}.<br />
Then, make sure the backend is preferred via:<br />
<br />
System Settings > Multimedia > Phonon > Backend (tab)<br />
<br />
=== Konsole does not save commands' history ===<br />
<br />
By default console command history is saved only when you type 'exit' in console. When you close Konsole with 'x' in the corner it does not happen.<br />
To enable autosaving after every command execution:<br />
<br />
{{hc|~/.bashrc|<nowiki><br />
shopt -s histappend<br />
[[ "${PROMPT_COMMAND}" ]] && PROMPT_COMMAND="$PROMPT_COMMAND;history -a" || PROMPT_COMMAND="history -a"<br />
</nowiki>}}<br />
<br />
=== KDE password prompts display three bullets per char ===<br />
<br />
This setting can be changed at ''System Settings > Account Details > Password & User Account'':<br />
* Show one bullet for each letter<br />
* Show three bullets for each letter<br />
* Show nothing<br />
<br />
=== Dolphin and File Dialogs are extremely slow to start ===<br />
<br />
This may be caused by the upower service. If the upower service is not needed on your system, it can be disabled:<br />
<br />
# systemctl disable upower<br />
# systemctl mask upower<br />
<br />
Obviously this will not have any side effect on a desktop system.<br />
<br />
=== Default PDF viewer in GTK applications under KDE ===<br />
<br />
In some cases when you have installed [[Inkscape]], [[Gimp]] or other graphic programs, GTK applications ([[Firefox]] among all) might not select Okular as the default PDF application, and they are not going to follow the KDE settings on default applications. You can use the following user command to make Okular the default application again.<br />
<br />
$ xdg-mime default kde4-okularApplication_pdf.desktop application/pdf<br />
<br />
If you are using a different PDF viewer application, or a different mime-type is misbehaving, you should change {{ic|kde4-okularApplication_pdf.desktop}} and {{ic|application/pdf}} respectively according to your needs.<br />
<br />
For more information, consult [[Default applications]] wiki page.<br />
<br />
=== Inotify folder watch limit ===<br />
<br />
If you get the following error:<br />
<br />
KDE Baloo Filewatch service reached the inotify folder watch limit. File changes may be ignored.<br />
<br />
Then you will need to increase the inotify folder watch limit:<br />
<br />
# echo 10000 > /proc/sys/fs/inotify/max_user_watches<br />
<br />
To make changes permanent, create {{ic|/etc/sysctl.d/90-inotify.conf}} with<br />
<br />
#increase inotify watch limit<br />
fs.inotify.max_user_watches = 10000<br />
<br />
== Unstable releases ==<br />
<br />
When KDE is reaching beta or RC milestone, KDE "unstable" packages are uploaded to the ''kde-unstable'' repository. They stay there until KDE is declared stable and passes to the ''extra'' repository.<br />
<br />
You can add ''kde-unstable'' with:<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[kde-unstable]<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
{{Warning|Make sure to add these lines '''before''' the ''extra'' repository. Adding the section after ''extra'' will cause [[pacman]] to prefer the older packages in the extra repository. {{ic|pacman -Syu}} will not install them, and will warn that they are "too new" if installed manually. Also, some of the libraries will stay at the older versions, which may cause file conflicts and/or instability!}}<br />
<br />
# ''kde-unstable'' is based upon ''testing''. Therefore, you need to enable the repositories in the following order: ''kde-unstable'', ''testing'', ''core'', ''extra'', ''community-testing'', ''community''.<br />
# To update from a previous KDE installation, run: {{ic|# pacman -Syu}} or {{ic|# pacman -S kde-unstable/kde}}<br />
# If you do not have KDE installed, you might have difficulties to install it by using groups (limitation of pacman)<br />
# '''Subscribe and read the [https://mailman.archlinux.org/pipermail/arch-dev-public/ arch-dev-public] mailing list'''<br />
# Make sure [[#Distro_and_Upstream_bug_report|you make bug reports]] if you find any problems.<br />
<br />
== KDE forks ==<br />
<br />
=== Trinity ===<br />
<br />
From the release of KDE 4.x, the developers dropped support for KDE 3.5.x. Trinity Desktop Environment is a fork of KDE3 developed by Timothy Pearson ([http://trinitydesktop.org/ trinitydesktop.org]). This project aims to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. See [[Trinity]] for more info.<br />
<br />
== Bugs ==<br />
<br />
It is preferrable that if you find a minor or serious bug, you should visit [https://bugs.archlinux.org the Arch Bug Tracker] or/and [http://bugs.kde.org KDE Bug Tracker] in order to report that. Make sure that you are clear about what you want to report.<br />
<br />
If you have any problem and you write about in on the Arch forums, first make sure that you have '''fully''' updated your system using a good sync mirror (check [https://www.archlinux.de/?page=MirrorStatus here]) or try [[Reflector]].<br />
<br />
== See also ==<br />
<br />
* [http://www.kde.org KDE homepage]<br />
* [https://bugs.kde.org KDE bug tracker]<br />
* [https://projects.kde.org KDE Projects]<br />
* [http://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]</div>MartinZhttps://wiki.archlinux.org/index.php?title=KDE&diff=365464KDE2015-03-14T16:22:48Z<p>MartinZ: /* Plasma 5 */ Added way to get a consistent appearance with qt4 apps</p>
<hr />
<div>[[Category:KDE]]<br />
[[cs:KDE]]<br />
[[de:KDE]]<br />
[[es:KDE]]<br />
[[fr:KDE]]<br />
[[it:KDE]]<br />
[[ja:KDE]]<br />
[[pl:KDE]]<br />
[[ru:KDE]]<br />
[[tr:KDE_Masaüstü_Ortamı]]<br />
[[zh-CN:KDE]]<br />
[[zh-TW:KDE]]<br />
{{Related articles start}}<br />
{{Related|Desktop environment}}<br />
{{Related|Display manager}}<br />
{{Related|Window manager}}<br />
{{Related|Plasma}}<br />
{{Related|Qt}}<br />
{{Related|KDM}}<br />
{{Related|KDevelop 4}}<br />
{{Related|Uniform Look for Qt and GTK Applications}}<br />
{{Related articles end}}<br />
<br />
From [http://www.kde.org/community/whatiskde/softwarecompilation.php KDE Software Compilation] and [http://www.kde.org/download/ Getting KDE Software]:<br />
<br />
:The KDE Software Compilation is the set of frameworks, workspaces, and applications produced by KDE to create a beautiful, functional and free desktop computing environment for Linux and similar operating systems. It consists of a large number of individual applications and a desktop workspace as a shell to run these applications.<br />
<br />
The KDE upstream has a well maintained [http://userbase.kde.org/ UserBase wiki]. Users can get detailed information about most KDE applications there.<br />
<br />
{{note| The term "KDE Software Compilation" is now out dated. KDE is moving to a new way of organizing itself, see: [[KDE#Plasma 5]]}}<br />
== Installation ==<br />
<br />
Before installing KDE, make sure you have a working [[Xorg]] installation on your system.<br />
<br />
=== KDE 4 ===<br />
<br />
KDE 4 is ''modular''. You can install an entire set of packages or only install your preferred KDE applications.<br />
<br />
==== Full install ====<br />
<br />
[[pacman|Install]] {{Grp|kde}} or {{Grp|kde-meta}} available in the [[official repositories]]. For differences between {{Grp|kde}} and {{Grp|kde-meta}} see the [[KDE Packages]] article.<br />
<br />
==== Minimal install ====<br />
<br />
If you want to have a minimal installation of the KDE Software Compilation, install {{Pkg|kdebase-workspace}}.<br />
<br />
==== Language pack ====<br />
<br />
If you need language files, install {{ic|kde-l10n-yourlanguagehere}} (e.g. {{Pkg|kde-l10n-de}} for the German language).<br />
<br />
For a full list of available languages see [https://www.archlinux.org/packages/extra/any/kde-l10n/ this link].<br />
<br />
=== Plasma 5 ===<br />
The KDE project has changed the way it names and organizes itself since KDE4. In effect there is no 'KDE5'. The project is now split into different sections with their own names, version numbering and development cycles including for example: Frameworks (KDE libraries), Plasma (the workspace) and Applications (that use KDE libraries). <br />
<br />
[[pacman|Install]] {{Pkg|plasma-meta}} or {{Grp|plasma}} available in the [[official repositories]].<br />
<br />
{{Note|1=Plasma 5 conflicts with KDE 4 Workspace and pacman will request to remove kdebase-workspace. It is [https://bbs.archlinux.org/viewtopic.php?pid=1497819#p1497819 recommended] to remove the old workspace and its dependencies first with {{ic| pacman -Rc kdebase-workspace}} }}<br />
<br />
==== System tray icons ====<br />
<br />
Plasma 5 uses a new specification to display items in the 'system tray' area called [http://blog.martin-graesslin.com/blog/2014/03/system-tray-in-plasma-next/ Status Notifier]. To allow applications using the old xembed specification to display items the packages (gtk-2){{aur|libappindicator-gtk2}}, (gtk-3){{aur| libappindicator-gtk3}} or (qt4){{Pkg|sni-qt}}, {{Pkg|lib32-sni-qt}}(for 32bit based applications like Skype) may be required. See [http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/ "Where are my systray icons?"] for more information.<br />
<br />
See also [[Plasma]]<br />
<br />
==== Qt4 applications appearance ====<br />
For qt4 applications to have a consistent appearance, you need to install {{Pkg|breeze-kde4}} and then pick Breeze as GUI Style in {{ic| qtconfig-qt4}}<br />
<br />
(credits go to Ajunta)<br />
<br />
== Starting Plasma ==<br />
See [[Plasma#Starting_Plasma]].<br />
<br />
== Configuration ==<br />
<br />
All KDE 4 configurations are saved in the {{ic|~/.kde4}} folder, otherwise {{ic|~/.config}} is used. If KDE is giving you a lot of trouble or if you ever want a fresh installation of KDE, just backup and rename this folder and restart your X session. KDE will re-create it with all the default configuration files. If you want very fine-grained control over KDE programs, you may want to edit the files in this folder.<br />
<br />
However, configuring KDE is primarily done in '''System Settings'''. A few other options for the desktop are available in '''Default Desktop Settings''' in the desktop's context menu.<br />
<br />
For other personalization options not covered below such as activities, different wallpapers on one cube, etc., please refer to the [[Plasma]] wiki page.<br />
<br />
=== Personalization ===<br />
<br />
How to set up the KDE desktop to your personal style: use different Plasma themes, window decorations and icon themes.<br />
{{tip|1=Applications using the new frameworks 5 use the same configurations as under the old kdebase-workspace 4 but read from new locations. To allow frameworks 5 applications running in kdebase-workspace 4 to share the same configurations they may be moved to the new locations and symlinked back to the old. Examples are:<br />
*Konsole profiles from ~/.kde4/share/apps/konsole to ~/.local/share/konsole/<br />
*Application appearance from ~/.kde4/share/config/kdeglobals to ~/.config/kdeglobals<br />
This information was gathered from the [https://bbs.archlinux.org/viewforum.php?id=18 Applications & Desktop Environments] section of the forums. }}<br />
<br />
==== Plasma desktop ====<br />
<br />
See [[Plasma]].<br />
<br />
===== Themes =====<br />
See [[Plasma#Themes]]<br />
<br />
===== Widgets =====<br />
<br />
Plasmoids are little scripted (plasmoid scripts) or coded (plasmoid binaries) KDE applications designed to enhance the functionality of your desktop.<br />
<br />
Plasmoid binaries can be installed using PKGBUILDs from [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v AUR], or you can write your own PKGBUILD.<br />
<br />
The easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop:<br />
<br />
Add Widgets > Get new Widgets > Download Widgets<br />
<br />
This will present a nice frontend for [http://www.kde-look.org/ kde-look.org] that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.<br />
<br />
Most plasmoids are not created officially by KDE developers. You can also try installing Mac OS X widgets, Microsoft Windows Vista/7 widgets, Google Widgets, and even SuperKaramba widgets.<br />
<br />
===== Sound applet in the system tray =====<br />
<br />
Install Kmix ({{Pkg|kdemultimedia-kmix}} for KDE 4, or {{Pkg|kmix}} for Plasma 5) from the official repositories and start it from the application launcher. Since KDE, by default, autostarts programs from the previous session, it does not need to be started manually upon every login.<br />
<br />
{{Note|1=To adjust the [https://bugs.kde.org/show_bug.cgi?id=313579#c28 step size of volume increments/decrements], add e.g. {{ic|1=VolumePercentageStep=1}} in the {{ic|[Global]}} section of {{ic|~/.kde4/share/config/kmixrc}}}}<br />
<br />
===== Adding a Global Menu to the desktop =====<br />
<br />
Install {{Pkg|appmenu-qt}} from the official repositories and {{AUR|appmenu-gtk}} and {{AUR|appmenu-qt5}} from the AUR in order to complete the preliminaries for a Mac OS X style always-on global menu. To get Firefox and LibreOffice to use the global menu as well, install {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} and {{AUR|libreoffice-extension-menubar}} from the AUR.<br />
<br />
{{Note|<br />
* {{AUR|appmenu-gtk}} is orphaned and Canonical has abandoned appmenu-gtk in favor of unity-gtk-module that is depending on Unity desktop. As of October 2014 there is no way of exporting gtk2,3 menus in KDE.<br />
* {{AUR|firefox-extension-globalmenu}}{{Broken package link|package not found}} has been deprecated as of Firefox 25 and there is no other recommended method for getting the global menu. However, there is a patched package, {{AUR|firefox-ubuntu}} available in the AUR which has Canonical's patch for getting the global menu to work with the current version of Firefox (as of November 2013).<br />
}}<br />
<br />
To actually get the global menu, install {{AUR|kdeplasma-applets-menubar}} from the AUR. Create a plasma-panel on top of your screen and add the window menubar applet to the panel. To export the menus to your global menu, go to ''System Settings > Application Appearance > Style''. Now click the fine-tuning tab and use the drop-down list to select ''only export'' as your menubar style.<br />
<br />
===== Disable panel shadow =====<br />
<br />
As the plasma panel is on top of other windows, its shadow is drawn over them. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] To disable this behaviour without impacting other shadows, [[install]] {{Pkg|xorg-xprop}} and run:<br />
<br />
$ xprop -remove _KDE_NET_WM_SHADOW<br />
<br />
then select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php?f=285&t=121592] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:<br />
<br />
{{hc|/usr/local/bin/kde-no-shadow|<nowiki><br />
#!/bin/bash<br />
for WID in $(xwininfo -root -tree | sed '/"plasma-desktop": ("Plasma" "Plasma")/!d; s/^ *\([^ ]*\) .*/\1/g'); do<br />
xprop -id $WID -remove _KDE_NET_WM_SHADOW<br />
done<br />
</nowiki>}}<br />
<br />
The script can be run on login with ''Add Script'' in ''Autostart'':<br />
<br />
$ kcmshell4 autostart<br />
<br />
==== Window decorations ====<br />
<br />
[http://kde-look.org/index.php?xcontentmode=75 Window decorations] can be changed in:<br />
System Settings > Workspace Appearance > Window Decorations<br />
There you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].<br />
<br />
==== Icon themes ====<br />
<br />
Not many full system icons themes are available for KDE 4. You can open up ''System Settings > Application Appearance > Icons'' and browse for new ones or install them manually. Many of them can be found on [http://www.kde-look.org/ kde-look.org].<br />
<br />
Official logos, icons, CD labels and other artwork for Arch Linux are provided in the {{AUR|archlinux-artwork}} package. After installing you can find such artwork at {{ic|/usr/share/archlinux/}}.<br />
<br />
===== Qt 5 icons theme =====<br />
<br />
If you are on Plasma 5, use ''System Settings > Icons''.<br />
While if you are on KDE 4 use {{ic|kcmshell5 icons}} to set the icons theme.<br />
<br />
==== Fonts ====<br />
<br />
===== Fonts in KDE look poor =====<br />
<br />
Try installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.<br />
<br />
After the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''.<br />
<br />
If you have personally set up how your [[Fonts]] render, be aware that System Settings may alter their appearance. When you go ''System Settings > Appearance > Fonts'', System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).<br />
<br />
There is no way to prevent this, but, if you set the values to match your {{ic|fonts.conf}} file, the expected font rendering will return (it will require you to restart your application or in a few cases restart your desktop). Note that Gnome's Font Preferences also does this.<br />
<br />
===== Fonts are huge or seem disproportional =====<br />
<br />
Try to force font DPI to '''96''' in ''System Settings > Application Appearance > Fonts''.<br />
<br />
If that does not work, try setting the DPI directly in your Xorg configuration as documented [[Xorg#Setting_DPI_manually|here]].<br />
<br />
==== Space efficiency ====<br />
<br />
Users with small screens (e.g. netbooks) can change some setting to make KDE more space efficient. See the [http://userbase.kde.org/KWin#Using_with_small_screens_(eg_Netbooks) upstream wiki] for more information. Also, you can use [http://www.kde.org/workspaces/plasmanetbook/ KDE's Plasma Netbook] which is a workspace made specifically for small, lightweight netbook devices.<br />
<br />
=== Networking ===<br />
<br />
You can choose from the following tools:<br />
* NetworkManager. See [[NetworkManager#KDE|NetworkManager]] for more information.<br />
* Wicd. See [[Wicd]] for more information.<br />
<br />
=== Printing ===<br />
<br />
{{Tip|Use the [[CUPS]] web interface for faster configuration. Printers configured in this way can be used in KDE applications. }}<br />
<br />
You can also configure printers in ''System Settings > Printer Configuration''. To use this method, you must first install {{Pkg|kdeutils-print-manager}} and {{Pkg|cups}}.<br />
<br />
The {{ic|avahi-daemon}} and {{ic|cupsd}} daemons must be started first; otherwise, you will get the following error:<br />
The service 'Printer Configuration' does not provide an interface 'KCModule'<br />
with keyword 'system-config- printer-kde/system-config-printer-kde.py'<br />
The factory does not support creating components of the specified type.<br />
<br />
If you are getting the following error, you need to give your user the right to manage printers.<br />
There was an error during CUPS operation: 'cups-authorization-canceled'<br />
<br />
For CUPS, this is set in {{ic|/etc/cups/cups-files.conf}}.<br />
<br />
Adding {{ic|lpadmin}} to {{ic|/etc/group}} and then to the {{ic|SystemGroup}} directive in {{ic|/etc/cups/cups-files.conf}} allows anyone in the {{ic|lpadmin}} group to configure printers. Do ''not'' add the {{ic|lp}} group to the {{ic|SystemGroup}} directive, or printing will fail.<br />
<br />
# groupadd -g107 lpadmin<br />
<br />
{{hc|/etc/cups/cups-files.conf|# Administrator user group...<br />
SystemGroup sys root lpadmin}}<br />
<br />
{{Tip|Read [[CUPS#CUPS administration]] to get more details on how to configure CUPS.}}<br />
<br />
=== Samba/Windows support ===<br />
<br />
If you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).<br />
<br />
The Dolphin share functionality requires usershares, which the stock smb.conf does not have enabled. Instructions to add them are in [[Samba#Creating_user_share_path|the Samba article]], after which sharing in Dolphin should work out of the box after restarting Samba.<br />
<br />
=== KDE Desktop activities ===<br />
<br />
KDE Desktop Activities are Plasma-based virtual-desktop-like sets of Plasma Widgets where you can independently configure widgets as if you have more than one screen or desktop.<br />
<br />
On your desktop, click the Cashew Plasmoid and, on the pop-up window, press "Activities".<br />
<br />
A plasma bar presenting you the current existing Plasma Desktop Activities will appear at the bottom of the screen. You can navigate between them by pressing the correspondent icons.<br />
<br />
=== Power saving ===<br />
<br />
KDE has an integrated power saving service called "'''Powerdevil Power Management'''" that may adjust the power saving profile of the system and/or the brightness of the screen (if supported).<br />
<br />
Since KDE 4.6, CPU frequency scaling is no longer managed by KDE. Instead it is assumed to be handled automatically by the the hardware and/or kernel. Arch has used {{ic|ondemand}} as the default CPU frequency governor since kernel version 3.3, so no additional configuration is needed in most cases. For details on fine-tuning the governor, see [[CPU frequency scaling]].<br />
<br />
=== Monitoring changes on local files and directories ===<br />
<br />
KDE now uses '''inotify''' directly from the kernel with '''kdirwatch''' (included in kdelibs), so Gamin or FAM are no longer needed. You may want to install this {{AUR|kdirwatch}} from AUR which is a GUI frontend for kdirwatch.<br />
<br />
== System administration ==<br />
<br />
=== Set keyboard ===<br />
<br />
Navigate to:<br />
System Settings > Hardware > Input Devices > Keyboard<br />
In the first tab, you can choose your keyboard model.<br />
<br />
In the "'''Layouts'''" tab, you can choose the languages you may want to use by pressing the "Add Layout" button and subsequently choosing the variant and the language.<br />
<br />
In the "'''Advanced'''" tab, you can choose the keyboard combination you want in order to change the layouts in the "Key(s) to change layout" sub-menu.<br />
<br />
=== Terminate Xorg server through KDE system settings ===<br />
<br />
Navigate to the submenu:<br />
System Settings > Input Devices > Keyboard > Advanced (tab) > "Key Sequence to kill the X server"<br />
and tick the checkbox.<br />
<br />
=== KCM ===<br />
<br />
KCM stands for '''KC'''onfig '''M'''odule. KCMs can help you configure your system by providing interfaces in System Settings.<br />
<br />
'''Configuration for look and feel of GTK applications.'''<br />
* {{Pkg|kde-gtk-config}}<br />
* {{AUR|kcm-gtk}}<br />
* {{AUR|kcm-qt-graphicssystem}}<br />
<br />
'''Configuration for the GRUB bootloader.'''<br />
* {{AUR|grub2-editor}}<br />
<br />
'''Configuration for Synaptics touchpads.'''<br />
* {{Pkg|kcm-touchpad}}<br />
* {{Pkg|kcm-touchpad-frameworks}} (Plasma 5)<br />
* {{AUR|synaptiks}}<br />
* {{AUR|kcm_touchpad}}<br />
* {{AUR|kcm-touchpad-git}}<br />
<br />
'''Configuration for the [[Uncomplicated Firewall]] (UFW)'''<br />
* {{AUR|kcm-ufw}}<br />
<br />
'''Configuration for [[PolicyKit]]'''<br />
* {{AUR|kcm-polkit-kde-git}}<br />
<br />
'''Configuration for Wacom tablets'''<br />
* {{AUR|kcm-wacomtablet}}<br />
<br />
'''Configuration for systemd'''<br />
* {{Pkg|kcmsystemd}} (Plasma 5)<br />
<br />
More KCMs can be found at [http://kde-apps.org/index.php?xcontentmode=273 kde-apps.org].<br />
<br />
===Auto Login===<br />
Go to ''System Settings > System Administration > Login Screen > Convenience'', check ''Enable Auto-Login'' box and select user.<br />
<br />
== Desktop search and semantic desktop ==<br />
<br />
According to [[wikipedia:Semantic_desktop|Wikipedia]]:<br />
:''"the Semantic Desktop is a collective term for ideas related to changing a computer's user interface and data handling capabilities so that data is more easily shared between different applications or tasks and so that data that once could not be automatically processed by a computer can be (automatically processed)."''<br />
<br />
The KDE implementation of this concept is tied to (as of KDE Applications 4.13) two major pieces of software: Akonadi and Baloo. Between the two of them, these programs look at your data and make an easily searchable index of it. The idea behind these pieces of software is to make your system "aware" of your data and give it context using meta-data and user-supplied tags. Baloo uses Xapian to store its data.<br />
<br />
=== Baloo ===<br />
<br />
==== Using and configuring Baloo ====<br />
<br />
In order to search using Baloo on the KDE Plasma Desktop, press {{ic|ALT+F2}} and type in your query. Within Dophin press {{ic|CTRL+F}}.<br />
<br />
By default the Desktop Search KCM exposes only two options: A panel to blacklist folders and, as of 4.13.1, a way to disable it with one click.<br />
<br />
Alternatively you can edit your {{ic|~/.kde4/share/config/baloofilerc}} (KDE4) or {{ic|~/.config/baloofilerc}} (KF5) file ([https://community.kde.org/Baloo/Configuration info]). Additionally the {{ic|balooctl}} process can also be used. In order to disable Baloo run {{ic|balooctl disable}}.<br />
<br />
Once you added additional folders to the blacklist or disabled Baloo entirely, a process named {{ic|baloo_file_cleaner}} removes all unneeded index files automatically. They are stored under {{ic|~/.local/share/baloo/}}.<br />
<br />
More advanced configuration options are available through {{AUR|kcm_baloo_advanced}}.<br />
<br />
==== How do I index a removable device? ====<br />
<br />
By default every removable device is blacklisted. You just have to remove your device from the blacklist in the KCM panel.<br />
<br />
=== Akonadi ===<br />
<br />
Akonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on.<br />
<br />
Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vCard format).<br />
<br />
==== Disabling Akonadi ====<br />
<br />
See this [http://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase]. Alternatively, install {{AUR|akonadi-fake}} from the [[AUR]].<br />
<br />
==== Database configuration ====<br />
<br />
Start {{ic|akonaditray}} from package {{Pkg|kdepim-runtime}}. Right click on it and select '''configure'''. In the Akonadi server configure tab, you can:<br />
* Configuring Akonadi to use MySQL/MariaDB Server<br />
** If your home directory is on a ZFS pool, you will need to create {{ic|~/.config/akonadi/mysql-local.conf}} with the following contents:<br />
<br />
[mysqld]<br />
innodb_use_native_aio = 0<br />
<br />
Otherwise you will get the [[MySQL#OS error 22 when running on ZFS|OS error 22]]<br />
* Configuring Akonadi to use PostgreSQL Server<br />
* Configuring Akonadi to use SQLite<br />
** Edit {{ic|~/.config/akonadi/akonadiserverrc}} to match the below<br />
<br />
[General]<br />
Driver=QSQLITE3<br />
<br />
[QSQLITE3]<br />
Name=/home/username/.local/akonadi/akonadi.db<br />
<br />
== Phonon ==<br />
<br />
From [[Wikipedia:Phonon|Wikipedia]]:<br />
<br />
:''"Phonon is the multimedia API for KDE 4. Phonon was created to allow KDE 4 to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for KDE 4's lifetime. It was done for various reasons: to create a simple KDE/Qt style multimedia API, to better support native multimedia frameworks on Windows and Mac OS X, and to fix problems of frameworks becoming unmaintained or having API or ABI instability."''<br />
<br />
'''Phonon''' is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio apps) and video (e.g., the Dolphin video thumbnails).<br />
<br />
=== Which backend should I choose? ===<br />
<br />
You can choose between various backends like [[GStreamer]] ({{Pkg|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}}) or [[VLC]] ({{Pkg|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}), available in the [[official repositories]], and [[MPlayer]] ({{AUR|phonon-qt4-mplayer-git}}), QuickTime ({{AUR|phonon-quicktime-git}}) or [http://martinsandsmark.wordpress.com/2012/07/07/akademy/ AVKode] ({{AUR|phonon-avkode-git}}), available in the [[AUR]].<br />
<br />
Most users will want VLC which has the best upstream support. GStreamer is currently not well maintained. Note that multiple backends can be installed at once and chosen at ''System Settings > Multimedia > Phonon > Backend''.<br />
<br />
{{Note|<br />
* According to the [http://community.kde.org/Phonon/FeatureMatrix Feature Matrix], the GStreamer backend has some more features that the VLC backend.<br />
* According to the [http://userbase.kde.org/Phonon#Backend_libraries KDE UserBase], Phonon-MPlayer is currently unmaintained.}}<br />
<br />
== Useful applications ==<br />
<br />
The official set of KDE applications may be found [http://www.kde.org/applications/ here].<br />
<br />
=== Yakuake ===<br />
<br />
[[Yakuake]] provides a Quake-like terminal emulator whose visibility is toggled by the F12 key. It also has support for multiple tabs. Yakuake is available in the package {{Pkg|yakuake}}.<br />
<br />
=== KDE Telepathy ===<br />
<br />
[http://community.kde.org/KTp KDE Telepathy] is a project with the goal to closely integrate Instant Messaging with the KDE desktop. It utilizes the Telepathy framework as a backend and is intended to replace Kopete.<br />
<br />
To install all Telepathy protocols, install the {{Grp|telepathy}} group.<br />
To use the KDE Telepathy client, install the {{Pkg|kde-telepathy-meta}} package that includes all the packages contained in the {{Grp|kde-telepathy}} group .<br />
<br />
== Tips and tricks ==<br />
<br />
=== Using an alternative window manager in KDE ===<br />
<br />
To use an alternative [[window manager]] with KDE open the ''System Settings'' panel, navigate to ''Default Applications > Window Manager > Use a different window manager'' and select the window manager you wish to use from the list.<br />
<br />
==== KDE/Openbox Session ====<br />
<br />
The {{Pkg|openbox}} package provides a session for using KDE with [[Openbox]]. To make use of this session, select ''KDE/Openbox'' from the [[display manager]] menu.<br />
<br />
For those starting the session manually, add the following line to your {{ic|.xinitrc}} file:<br />
exec openbox-kde-session<br />
<br />
==== Compiz custom ====<br />
<br />
If you need to run Compiz with custom options and switches select ''Compiz custom'' and then create a script called {{ic|compiz-kde-launcher}} and add to it the commands you wish to use to start Compiz. See the example below:<br />
<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<nowiki><br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT=1<br />
compiz --replace &<br />
wait<br />
</nowiki>}}<br />
<br />
Then make it executable:<br />
$ chmod +x /usr/local/bin/compiz-kde-launcher<br />
<br />
==== Re-enabling compositing effects ====<br />
<br />
When replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[Compton]].<br />
<br />
=== Integrate Android with the KDE Desktop ===<br />
<br />
KDE connect provides several features for you:<br />
* Share files and URLs to/from KDE from/to any app, without wires.<br />
* Touchpad emulation: Use your phone screen as your computer's touchpad.<br />
* Notifications sync (4.3+): Read your Android notifications from the desktop.<br />
* Shared clipboard: copy and paste between your phone and your computer.<br />
* Multimedia remote control: Use your phone as a remote for Linux media players.<br />
* WiFi connection: no usb wire or bluetooth needed.<br />
* RSA Encryption: your information is safe.<br />
<br />
You will need to install KDE Connect both on your computer and on your Android. For PC side, install {{Pkg|kdeconnect}} if you are using KDE4 or if you are using Plasma 5, then you should install {{AUR|kdeconnect-frameworks-git}} instead. For Android side, install {{ic|KDE Connect}} from the [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp&hl=en Google Play Store] or from [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid].<br />
<br />
=== Configure KWin to use OpenGL ES ===<br />
<br />
Beginning with KWin version 4.8 it is possible to use the separately built binary '''kwin_gles''' as a replacement for kwin. It behaves almost the same as the kwin executable in OpenGL2 mode with the slight difference that it uses ''egl'' instead of ''glx'' as the native platform interface. To test kwin_gles you just have to run {{ic|kwin_gles --replace}} in Konsole.<br />
If you want to make this change permanent you have to create a script in {{ic|$(kde4-config --localprefix)/env/}} which exports {{ic|1=KDEWM=kwin_gles}}.<br />
<br />
=== Enabling audio/video thumbnails under Konqueror/Dolphin file managers ===<br />
<br />
For thumbnails of videos in konqueror and dolphin install {{Pkg|kdemultimedia-mplayerthumbs}} or {{Pkg|kdemultimedia-ffmpegthumbs}} and activate the installed package in ''Settings> Configure Konqueror> General> Previews> Video Files''.<br />
For thumbnails of audio files in Konqueror and Dolphin install {{AUR|audiothumbs}} from AUR.<br />
<br />
=== Speed up application startup ===<br />
<br />
User Rob wrote on his blog this "[http://kdemonkey.blogspot.nl/2008/04/magic-trick.html magic trick]" to improve application start-up time by 50-150ms.<br />
To enable it, create this folder in your home:<br />
$ mkdir ~/.compose-cache/<br />
But it can produce freezes on heavy io, can be avoided by:<br />
$ ln -sfv /run/user/$UID/ /home/$USER/.compose-cache<br />
<br />
{{Note|For those curious about what is going on here, this enables an optimization which Lubos (of general KDE speediness fame) came up with some time ago and was then rewritten and integrated into libx11. Ordinarily, on startup, applications read input method information from {{ic|/usr/share/X11/locale/''your locale''/Compose}}. This file is quite long (>5000 lines for the en_US.UTF-8 one) and takes some time to process. libX11 can create a cache of the parsed information which is much quicker to read subsequently, but it will only re-use an existing cache or create a new one in {{ic|~/.compose-cache}} if the directory already exists.}}<br />
<br />
=== Hiding partitions ===<br />
<br />
In Dolphin, it is as simple as right-clicking on the partition in the {{ic|Places}} sidebar and selecting {{ic|Hide ''partition''}}. Otherwise...<br />
<br />
If you wish to prevent your internal partitions from appearing in your file manager, you can create an udev rule, e.g:<br />
<br />
{{hc|/etc/udev/rules.d/10-local.rules|2=<br />
KERNEL=="sda[0-9]", ENV{UDISKS_IGNORE}="1"<br />
}}<br />
<br />
The same thing for a certain partition:<br />
<br />
KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"<br />
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"<br />
<br />
=== Konqueror tips ===<br />
<br />
==== Disabling Access Keys ====<br />
<br />
Every time you pressing the Ctrl key while browsing, small square tooltips appear for each of the active areas (hyperlinks) on a webpage. This is useful when you browsing with only a keyboard.<br />
<br />
To disable Access Keys, go to ''Settings > Configure Konqueror > Web Browsing'' and uncheck ''Enable Access Key activation with Ctrl key''.<br />
<br />
==== Using WebKit ====<br />
<br />
WebKit is an open source browser engine developed by Apple Inc. It is a derivative from the KHTML and KJS libraries and contains many improvements. WebKit is used by Safari, Google Chrome and rekonq.<br />
<br />
It is possible to use WebKit in Konqueror instead of KHTML. First install the {{Pkg|kwebkitpart}} package.<br />
<br />
Then, after executing Konqueror, navigate to ''Settings > Configure Konqueror > General > Default web browser engine'' and set it as {{ic|WebKit}}.<br />
<br />
=== Firefox integration ===<br />
<br />
See [[Firefox#KDE_integration|Firefox]].<br />
<br />
=== Setting the background for lock screen ===<br />
<br />
In Plasma 5, you can set a custom wallpaper for the lock screen. This is [https://bugs.kde.org/show_bug.cgi?id=312828 not possible] in KDE 4, but here a workaround from OpenSUSE mailing lists: http://lists.opensuse.org/opensuse-kde/2013-02/msg00082.html<br />
<br />
For this you should modify the file {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/main.qml}}, replacing a line<br />
<br />
source: theme.wallpaperPathForSize(parent.width, parent.height)<br />
<br />
with something like<br />
<br />
source: "1920x1080.jpg"<br />
<br />
Now you simply put a wallpaper image {{ic|1920x1080.jpg}} to the {{ic|/usr/share/kde4/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui}} directory.<br />
<br />
{{Note|You have to redo this for each update of the package {{Pkg|kdebase-workspace}}.}}<br />
<br />
=== Setting lockscreen wallpaper to arbitrary image ===<br />
<br />
Copy an existing wallpaper profile as a template:<br />
$ cp -r /usr/share/wallpapers/''ExistingWallpaper'' ~/.kde4/share/wallpapers/<br />
<br />
Change the name of the directory, and edit {{ic|metadata.desktop}}:<br />
<br />
{{hc|~/.kde4/share/wallpapers/''MyWallpaper''/metadata.desktop|2=<br />
[Desktop Entry]<br />
Name=MyWallpaper<br />
X-KDE-PluginInfo-Name=MyWallpaper<br />
}}<br />
<br />
Remove existing images ({{ic|contents/screenshot.png}} and {{ic|images/*}}):<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/screenshot.png<br />
$ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/images/*<br />
<br />
Copy new image in:<br />
$ cp ''path/to/MyWallpaper.png'' MyWallpaper/contents/images/1920x1080.png<br />
<br />
Edit the metadata profile for the current theme:<br />
{{hc|~/.kde4/share/apps/desktoptheme/MyTheme/metadata.desktop|2=<br />
[Wallpaper]<br />
defaultWallpaperTheme=MyWallpaper<br />
defaultFileSuffix=.png<br />
defaultWidth=1920<br />
defaultHeight=1080<br />
}}<br />
<br />
Lock the screen to check that it worked.<br />
<br />
{{Note|This method sets the lockscreen background without changing any system-wide settings. For a system-wide change, create the new wallpaper profile in {{ic|/usr/share/wallpapers}}.}}<br />
<br />
=== Configuring monitor resolution / multiple monitors ===<br />
<br />
To enable display resolution management and multiple monitors in KDE 5, install {{Pkg|kscreen-frameworks}}. This adds the additional options to System Settings/Display and Monitor.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Configuration related ===<br />
<br />
Many problems in KDE are related to configuration. One way to resolve upgrade problems is to start over with a fresh KDE config.<br />
<br />
==== Reset all KDE configuration ====<br />
<br />
To test whether your config is the problem try quitting your KDE session by logging out and, in a tty, run<br />
$ cp -r ~/.kde4 ~/.kde4.safekeeping<br />
$ rm .kde4/{cache,socket,tmp}-$(hostname)<br />
<br />
The ''rm'' command just removes symbolic links which will be recreated by KDE automatically. Now start a new KDE session to see the results.<br />
<br />
If the problem is resolved, you will have a fresh, problem-free {{ic|~/.kde4/}}. You can gradually move parts of your saved configuration back, restarting your session regularly to test, to identify the problematic parts of your config. Some files here are named after applications so you will probably be able to test these without needing to restart KDE.<br />
<br />
==== Plasma desktop behaves strangely ====<br />
<br />
Plasma problems are usually caused by unstable '''plasmoids''' or '''plasma themes'''. First, find which was the last plasmoid or plasma theme you had installed and disable it or uninstall it.<br />
<br />
So, if your desktop suddenly exhibits "locking up", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began (sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report (bugs.kde.org) '''only if it is an official widget'''. If it is not, it is recommended you find the entry on kde-look.org and inform the developer of that widget about the problem (detailing steps to reproduce, etc).<br />
<br />
If you cannot find the problem, but you do not want ''all'' the KDE settings to be lost, do:<br />
<br />
$ rm -r ~/.kde4/share/config/plasma*<br />
<br />
This command will '''delete all plasma related configs''' of your user and when you will relogin into KDE, you will have the '''default''' settings back. You should know that this action '''cannot be undone'''. You should create a backup folder and copy all the plasma related configs in it.<br />
<br />
==== Clean cache to resolve upgrade problems ====<br />
<br />
The [https://bbs.archlinux.org/viewtopic.php?id=135301 problem] may be caused by old cache. Sometimes after an upgrade, the old cache might introduce strange, hard to debug behaviour such as unkillable shells, hangs when changing various settings and several other problems such as ark being unable to unrar or unzip or amarok not recognizing any of your musics. This solution can also resolve problems with KDE and QT programmes looking bad following upgrade.<br />
<br />
Rebuild your cache with the following commands:<br />
<br />
$ rm ~/.config/Trolltech.conf<br />
$ kbuildsycoca4 --noincremental<br />
<br />
Hopefully, your problems are now fixed.<br />
<br />
=== Clean akonadi configuration to fix KMail ===<br />
<br />
First, make sure that KMail is not running. Then backup configuration:<br />
$ mv ~/.local/share/akonadi ~/.local/share/akonadi-old<br />
$ mv ~/.config/akonadi ~/.config/akonadi-old<br />
<br />
Start ''SystemSettings > Personal'' and remove all the resources. Go back to Dolphin and remove the original {{ic|~/.local/share/akonadi}} and<br />
{{ic|~/.config/akonadi}} - the copies you made ensure that you can back-track if necessary.<br />
<br />
Now go back to the System Settings page and carefully add the necessary resources. You should see the resource reading in your mail folders. Then start Kontact/KMail to see if it work properly.<br />
<br />
=== Getting current state of KWin for support and debug purposes ===<br />
<br />
This command prints out a wonderful summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on [http://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].<br />
<br />
$ qdbus org.kde.kwin /KWin supportInformation<br />
<br />
=== KDE4 does not finish loading ===<br />
<br />
There might be a situation in which the graphic driver might create a conflict when starting KDE4. This situation happens after the login but before finishing loading the desktop, making the user wait indefinitely at the loading screen. Until now the only users confirmed to be affected by this are the ones that use [[NVIDIA|Nvidia drivers]] and KDE4.<br />
<br />
A solution for Nvidia users:<br />
<br />
{{hc|~/.kde4/share/config/kwinrc|2=<br />
[Compositing]<br />
Enabled=false<br />
}}<br />
For more information, see [https://bbs.archlinux.org/viewtopic.php?pid=932598 this] thread.<br />
<br />
If a minimal install was done, make sure you installed the required font by your phonon backend listed here: [[#Minimal install]]<br />
<br />
=== KDE and Qt programs look bad when in a different window manager ===<br />
<br />
If you are using KDE or Qt programs but not in a full KDE session (specifically, you did not run {{ic|startkde}}), then as of KDE 4.6.1 you will need to tell Qt how to find KDE's styles (Oxygen, QtCurve etc.)<br />
<br />
You just need to set the environment variable {{ic|QT_PLUGIN_PATH}}. E.g. put:<br />
<br />
export QT_PLUGIN_PATH=$HOME/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/<br />
<br />
into your {{ic|/etc/profile}} (or {{ic|~/.profile}} if you do not have root access). {{ic|qtconfig-qt4}}should then be able to find your KDE styles and everything should look nice again!<br />
<br />
Alternatively, you can symlink the Qt styles directory to the KDE styles one:<br />
# ln -s /usr/lib/kde4/plugins/styles/ /usr/lib/qt4/pluginlib32-libdbusmenu-glibs/styles<br />
<br />
Under Gnome you can try to install the package libgnomeui.<br />
<br />
=== Graphical related problems ===<br />
<br />
==== Low 2D desktop performance (or) artifacts appear when on 2D ====<br />
<br />
===== GPU driver problem =====<br />
<br />
Make sure you have the proper driver for your card installed, so that your desktop is at least 2D accelerated. Follow these articles for more information: [[ATI]], [[NVIDIA]], [[Intel]] for more information, in order to make sure that everything is all right.<br />
The open-source ATI and Intel drivers and the proprietary (binary) Nvidia driver should theoretically provide the best 2D and 3D acceleration.<br />
<br />
===== The Raster engine workaround =====<br />
<br />
If this does not solve your problems, your driver may not provide a good '''XRender''' acceleration which the current Qt painter engine relies on by default.<br />
<br />
You can change the painter engine to software based only by invoking the application with the {{ic|-graphicssystem raster}} command line. This rendering engine can be set as the default one by recompiling Qt with the same as configure option, {{ic|-graphicssystem raster}}.<br />
<br />
The raster paint engine enables the CPU to do the majority of the painting, as opposed to the GPU. You may get better performance, depending on your system. This is basically a work-around for the terrible Linux driver stack, since the CPU should obviously not be doing graphical computations since it is designed for fewer threads of greater complexity, as opposed to the GPU which is many threads but lesser computational strength. So, only use Raster engine if you are having problems or your GPU is much slower than you CPU, otherwise is better to use XRender.<br />
<br />
Since Qt 4.7+, recompiling Qt is not needed. Simply export {{ic|1=QT_GRAPHICSSYSTEM=raster}}, or {{ic|opengl}}, or {{ic|native}} (for the default). Raster depends on the CPU, OpenGL depends on the GPU and high driver support, and Native is just using the X11 rendering (mixture, usually).<br />
<br />
'''The best and automatic way to do that''' is to install {{AUR|kcm-qt-graphicssystem}} from AUR and configure this particular Qt setting through:<br />
<br />
System Settings > Qt Graphics System<br />
<br />
For more information, consult this [http://apachelog.wordpress.com/2010/09/05/qt-graphics-system-kcm/ KDE Developer blog entry] and/or this [http://labs.trolltech.com/blogs/2009/12/18/qt-graphics-and-performance-the-raster-engine/ Qt Developer blog entry].<br />
<br />
==== Low 3D desktop performance====<br />
<br />
KDE begins with desktop effects enabled. Older cards may be insufficient for 3D desktop acceleration. You can disable desktop effects in:<br />
System Settings > Desktop Effects<br />
and you can toggle desktop effects with {{ic|Alt+Shift+F12}}.<br />
<br />
{{Note| You may encounter such problems with 3D desktop performance even when using a more powerful graphics card, especially the catalyst proprietary driver ({{ic|fglrx}}). This driver is known for having problems with 3D acceleration. Visit [[ATI|the ATI Wiki page]] for more troubleshooting.}}<br />
<br />
==== Desktop compositing is disabled on my system with a modern Nvidia GPU ====<br />
<br />
Sometimes, KWin may have settings in its configuration file ({{ic|kwinrc}}) that ''may'' cause a problem on re-activating the 3D desktop {{ic|OpenGL}} compositing. That could be caused randomly (for example, due to a sudden Xorg crash or restart, and it gets corrupted), so, in case that happens, delete your {{ic|~/.kde4/share/config/kwinrc}} file and relogin. The KWin settings will turn to the KDE default ones and the problem should be probably gone.<br />
<br />
==== Flickering in fullscreen when compositing is enabled ====<br />
<br />
As of KDE SC 4.6.0, there is an option in ''Sytem Settings > Desktop Effect > Advanced > Suspend desktop effects for fullscreen windows''. Uncheck it would tell kwin to disable unredirect fullscren.<br />
<br />
==== Screen Tearing with desktop compositing enabled ====<br />
<br />
KWin may suffer from [[Wikipedia:Screen tearing|screen tearing]] while desktop effects are enabled. Uncheck the VSync option under ''System Settings > Desktop Effects > Advanced > Use Vsync''.<br />
<br />
{{Note|With the release of KDE 4.11, several new Vsync options have been added, which may help with screen tearing.}}<br />
<br />
For proprietary driver users, ensure that the driver's VSync option is enabled (''amdccle'' for [[Catalyst]] users, and ''nvidia-settings'' for [[NVIDIA]] users).<br />
<br />
==== Display settings lost on reboot (multiple monitors) ====<br />
Installing {{Pkg|kscreen}} might fix the problem unless your screens share the same EDID. Kscreen is the improved screen management software for KDE, more information can be found [https://fedoraproject.org/wiki/Changes/KScreen?rd=Features/KScreen here].<br />
<br />
=== Sound problems under KDE ===<br />
<br />
==== ALSA related problems ====<br />
<br />
{{Note|First make sure you have {{Pkg|alsa-lib}} and {{Pkg|alsa-utils}} installed.}}<br />
<br />
===== "Falling back to default" messages when trying to listen to any sound in KDE =====<br />
<br />
When you encounter such messages:<br />
The audio playback device ''name_of_the_sound_device'' does not work.<br />
Falling back to default<br />
Go to:<br />
System Settings > Multimedia > Phonon<br />
and set the device named {{ic|default}} above all the other devices in each box you see.<br />
<br />
===== MP3 files cannot be played when using the GStreamer Phonon backend =====<br />
<br />
This can be solved by installing the GStreamer libav plugin (package {{Pkg|gst-libav}}). If you still encounter problems, you can try changing the Phonon backend used by installing another such as {{Pkg|phonon-qt4-vlc}} or {{Pkg|phonon-qt5-vlc}}.<br />
Then, make sure the backend is preferred via:<br />
<br />
System Settings > Multimedia > Phonon > Backend (tab)<br />
<br />
=== Konsole does not save commands' history ===<br />
<br />
By default console command history is saved only when you type 'exit' in console. When you close Konsole with 'x' in the corner it does not happen.<br />
To enable autosaving after every command execution:<br />
<br />
{{hc|~/.bashrc|<nowiki><br />
shopt -s histappend<br />
[[ "${PROMPT_COMMAND}" ]] && PROMPT_COMMAND="$PROMPT_COMMAND;history -a" || PROMPT_COMMAND="history -a"<br />
</nowiki>}}<br />
<br />
=== KDE password prompts display three bullets per char ===<br />
<br />
This setting can be changed at ''System Settings > Account Details > Password & User Account'':<br />
* Show one bullet for each letter<br />
* Show three bullets for each letter<br />
* Show nothing<br />
<br />
=== Dolphin and File Dialogs are extremely slow to start ===<br />
<br />
This may be caused by the upower service. If the upower service is not needed on your system, it can be disabled:<br />
<br />
# systemctl disable upower<br />
# systemctl mask upower<br />
<br />
Obviously this will not have any side effect on a desktop system.<br />
<br />
=== Default PDF viewer in GTK applications under KDE ===<br />
<br />
In some cases when you have installed [[Inkscape]], [[Gimp]] or other graphic programs, GTK applications ([[Firefox]] among all) might not select Okular as the default PDF application, and they are not going to follow the KDE settings on default applications. You can use the following user command to make Okular the default application again.<br />
<br />
$ xdg-mime default kde4-okularApplication_pdf.desktop application/pdf<br />
<br />
If you are using a different PDF viewer application, or a different mime-type is misbehaving, you should change {{ic|kde4-okularApplication_pdf.desktop}} and {{ic|application/pdf}} respectively according to your needs.<br />
<br />
For more information, consult [[Default applications]] wiki page.<br />
<br />
=== Inotify folder watch limit ===<br />
<br />
If you get the following error:<br />
<br />
KDE Baloo Filewatch service reached the inotify folder watch limit. File changes may be ignored.<br />
<br />
Then you will need to increase the inotify folder watch limit:<br />
<br />
# echo 10000 > /proc/sys/fs/inotify/max_user_watches<br />
<br />
To make changes permanent, create {{ic|/etc/sysctl.d/90-inotify.conf}} with<br />
<br />
#increase inotify watch limit<br />
fs.inotify.max_user_watches = 10000<br />
<br />
== Unstable releases ==<br />
<br />
When KDE is reaching beta or RC milestone, KDE "unstable" packages are uploaded to the ''kde-unstable'' repository. They stay there until KDE is declared stable and passes to the ''extra'' repository.<br />
<br />
You can add ''kde-unstable'' with:<br />
<br />
{{hc|/etc/pacman.conf|2=<br />
[kde-unstable]<br />
Include = /etc/pacman.d/mirrorlist<br />
}}<br />
<br />
{{Warning|Make sure to add these lines '''before''' the ''extra'' repository. Adding the section after ''extra'' will cause [[pacman]] to prefer the older packages in the extra repository. {{ic|pacman -Syu}} will not install them, and will warn that they are "too new" if installed manually. Also, some of the libraries will stay at the older versions, which may cause file conflicts and/or instability!}}<br />
<br />
# ''kde-unstable'' is based upon ''testing''. Therefore, you need to enable the repositories in the following order: ''kde-unstable'', ''testing'', ''core'', ''extra'', ''community-testing'', ''community''.<br />
# To update from a previous KDE installation, run: {{ic|# pacman -Syu}} or {{ic|# pacman -S kde-unstable/kde}}<br />
# If you do not have KDE installed, you might have difficulties to install it by using groups (limitation of pacman)<br />
# '''Subscribe and read the [https://mailman.archlinux.org/pipermail/arch-dev-public/ arch-dev-public] mailing list'''<br />
# Make sure [[#Distro_and_Upstream_bug_report|you make bug reports]] if you find any problems.<br />
<br />
== KDE forks ==<br />
<br />
=== Trinity ===<br />
<br />
From the release of KDE 4.x, the developers dropped support for KDE 3.5.x. Trinity Desktop Environment is a fork of KDE3 developed by Timothy Pearson ([http://trinitydesktop.org/ trinitydesktop.org]). This project aims to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. See [[Trinity]] for more info.<br />
<br />
== Bugs ==<br />
<br />
It is preferrable that if you find a minor or serious bug, you should visit [https://bugs.archlinux.org the Arch Bug Tracker] or/and [http://bugs.kde.org KDE Bug Tracker] in order to report that. Make sure that you are clear about what you want to report.<br />
<br />
If you have any problem and you write about in on the Arch forums, first make sure that you have '''fully''' updated your system using a good sync mirror (check [https://www.archlinux.de/?page=MirrorStatus here]) or try [[Reflector]].<br />
<br />
== See also ==<br />
<br />
* [http://www.kde.org KDE homepage]<br />
* [https://bugs.kde.org KDE bug tracker]<br />
* [https://projects.kde.org KDE Projects]<br />
* [http://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]</div>MartinZhttps://wiki.archlinux.org/index.php?title=BOINC&diff=191919BOINC2012-03-28T04:10:36Z<p>MartinZ: /* Troubleshooting */</p>
<hr />
<div>[[Category:Mathematics and science (English)]]<br />
{{i18n|BOINC}}<br />
<br />
== What is BOINC ==<br />
[http://boinc.berkeley.edu/ BOINC website]: ''"Use the idle time on your computer (Windows, Mac, or Linux) to cure diseases, study global warming, discover pulsars, and do many other types of scientific research. It's safe, secure, and easy."''<br />
<br />
[[Wikipedia:BOINC|Wikipedia]]: ''"The Berkeley Open Infrastructure for Network Computing (BOINC) is a non-commercial middleware system for volunteer and grid computing. It was originally developed to support the SETI@home project before it became useful as a platform for other distributed applications in areas as diverse as mathematics, medicine, molecular biology, climatology, and astrophysics. The intent of BOINC is to make it possible for researchers to tap into the enormous processing power of personal computers around the world."''<br />
<br />
== Install BOINC ==<br />
=== Overview ===<br />
BOINC is installed as a daemon and for security reasons will be run under the newly created ''boinc'' user. We will add ourself to the ''boinc'' group and create a link to the password file so that we can manage it via the GUI.<br />
<br />
=== Instructions ===<br />
Install BOINC via pacman:<br />
# pacman -S boinc<br />
<br />
BOINC runs as a daemon, to run at start up add it to the daemons section in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(... boinc ...)<br />
<br />
Add your user to the ''boinc'' group. You will need to log out and in again for it to take effect.<br />
# gpasswd -a username boinc<br />
<br />
If you want, you can easily check if you are now part of the ''boinc'' group by using the groups command:<br />
$ groups<br />
<br />
Start the BOINC daemon:<br />
# /etc/rc.d/boinc start<br />
<br />
Check if BOINC is running:<br />
$ ps aux | grep boinc<br />
<br />
== Using BOINC ==<br />
=== BOINC via the GUI ===<br />
By default, a password is created in {{ic|/var/lib/boinc/gui_rpc_auth.cfg}} for connecting to the daemon. To simplify connection of the GUI to the daemon, cd to your home directory, create a link to the file, and change permissions to allow read access to boinc group members.<br />
<br />
$ cd<br />
$ ln -s /var/lib/boinc/gui_rpc_auth.cfg gui_rpc_auth.cfg<br />
# chmod 640 gui_rpc_auth.cfg<br />
<br />
If you prefer a different password, or none at all, you can edit {{ic|/var/lib/boinc/gui_rpc_auth.cfg}}. Then restart BOINC daemon.<br />
<br />
If you do not like the idea of having this file in your home directory, there is an alternative approach. BOINC Manager will also look for a readable gui_rpc_auth.cfg file in the current working directory. If you make the file readable by the '''boinc''' group and ensure that the manager is run with {{ic|/var/lib/boinc}} as the working directory, you should find that the client connects to the daemon automatically, as desired. This can usually be achieved via the menu editor in your desktop environment of choice.<br />
<br />
To start the GUI, use the ''boincmgr'' command<br />
$ boincmgr<br />
<br />
BOINC should now take you through the process of attaching to a project. NB, some projects will let you create an account remotely via the GUI while some may require you to first create an account via their website. You can attach to multiple projects if you have the resources (disk space, time, CPU power). Do this via menu option ''Tools / Attach to project''.<br />
<br />
If BOINC did not ask you to connect to a project, then make sure you are connected to the daemon. Go to menu option ''Advanced / Select computer'', choose your machine's name and enter the password. (To avoid this, make sure the above steps regarding gui_rpc_auth.cfg have been done.)<br />
<br />
==== Projects using GPU ====<br />
If you want to use your GPU, you need the proprietary nvidia or amd drivers. For ATI/AMD Cards you also need [https://aur.archlinux.org/packages.php?ID=21933 Catalyst driver for stock kernel] which you can get from AUR. For Nvidia, you also need the package {{Pkg|opencl-nvidia}} located in extra.<br />
<br />
In addition, the boinc user should be in the video group:<br />
# gpasswd -a boinc video<br />
The boinc user also needs to have access to your X session. Use this command to accomplish this:<br />
xhost local:boinc<br />
You may want to add that to a startup script.<br />
<br />
== Log files ==<br />
NB, BOINC places log files in {{ic|/var/lib/boinc/}}<br />
/var/lib/boinc/stderrdae.txt<br />
/var/lib/boinc/stdoutdae.txt<br />
<br />
== Considerations when choosing a project ==<br />
Projects have different minimum hardware requirements (CPU, disk space), and different times to taken to run each work unit. If you do not finish a work unit before the deadline it will sent out to someone else, but it is better to look around to see what projects suit your machine and your uptime patterns to avoid this happening. <br />
<br />
Also, if it is important to you, check if the project makes the data and results publicly available.<br />
<br />
=== Running on Arch64 ===<br />
Some projects provide only 32bit applications which may require 32bit libraries to run work units or show graphics. You will find most of these libraries in the [multilib] repository.<br />
<br />
;To run WUs (e.g. Climateprediction) <br />
:{{Pkg|lib32-glibc}}, {{Pkg|lib32-glib2}}<br />
;To show graphics (e.g. Several projects of WCG, Climateprediction)<br />
:{{Pkg|lib32-pango}}, {{Pkg|lib32-libxdamage}}, {{Pkg|lib32-libxi}}, {{Pkg|lib32-libgl}}, {{AUR|lib32-libjpeg6}} (AUR), and {{Pkg|lib32-libxmu}}<br />
<br />
==Troubleshooting==<br />
If you get this error :<br />
GPU Missing<br />
and the Work Unit does not start, you should restart the BOINC daemon :<br />
# /etc/rc.d/boinc restart<br />
<br />
This will happen if the BOINC daemon starts before the an X session is fully initialized. Generally, if the daemon is set to start in the background in [[rc.conf]], this doesn't happen, but it does sometimes beat the display manager. If, however, no [[display manager]] is set to load on boot, the daemon will '''always''' have to be restarted after X initialization for the GPU to be recognized.<br />
<br />
==Running boinc in laptops==<br />
If you run Boinc in your laptop with ondemand governor, the CPUs will be kept always at maximum frequencies and thus (over)heating them and decreasing battery duration. The best way to fix it is to tell the governor not to rise frequency for boinc:<br />
echo 1 >/sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load<br />
This may be added to /etc/rc.local (if you don't use native initscripts and not systemd).<br />
<br />
== Links ==<br />
* [http://boinc.berkeley.edu/ BOINC homepage]<br />
* [http://boinc.berkeley.edu/projects.php List of BOINC projects]<br />
* [[Wikipedia:BOINC|Wikipedia entry]]</div>MartinZhttps://wiki.archlinux.org/index.php?title=BOINC&diff=191918BOINC2012-03-28T03:51:24Z<p>MartinZ: /* Projects using GPU */ Added opencl-nvidia requisite for GPU processing.</p>
<hr />
<div>[[Category:Mathematics and science (English)]]<br />
{{i18n|BOINC}}<br />
<br />
== What is BOINC ==<br />
[http://boinc.berkeley.edu/ BOINC website]: ''"Use the idle time on your computer (Windows, Mac, or Linux) to cure diseases, study global warming, discover pulsars, and do many other types of scientific research. It's safe, secure, and easy."''<br />
<br />
[[Wikipedia:BOINC|Wikipedia]]: ''"The Berkeley Open Infrastructure for Network Computing (BOINC) is a non-commercial middleware system for volunteer and grid computing. It was originally developed to support the SETI@home project before it became useful as a platform for other distributed applications in areas as diverse as mathematics, medicine, molecular biology, climatology, and astrophysics. The intent of BOINC is to make it possible for researchers to tap into the enormous processing power of personal computers around the world."''<br />
<br />
== Install BOINC ==<br />
=== Overview ===<br />
BOINC is installed as a daemon and for security reasons will be run under the newly created ''boinc'' user. We will add ourself to the ''boinc'' group and create a link to the password file so that we can manage it via the GUI.<br />
<br />
=== Instructions ===<br />
Install BOINC via pacman:<br />
# pacman -S boinc<br />
<br />
BOINC runs as a daemon, to run at start up add it to the daemons section in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(... boinc ...)<br />
<br />
Add your user to the ''boinc'' group. You will need to log out and in again for it to take effect.<br />
# gpasswd -a username boinc<br />
<br />
If you want, you can easily check if you are now part of the ''boinc'' group by using the groups command:<br />
$ groups<br />
<br />
Start the BOINC daemon:<br />
# /etc/rc.d/boinc start<br />
<br />
Check if BOINC is running:<br />
$ ps aux | grep boinc<br />
<br />
== Using BOINC ==<br />
=== BOINC via the GUI ===<br />
By default, a password is created in {{ic|/var/lib/boinc/gui_rpc_auth.cfg}} for connecting to the daemon. To simplify connection of the GUI to the daemon, cd to your home directory, create a link to the file, and change permissions to allow read access to boinc group members.<br />
<br />
$ cd<br />
$ ln -s /var/lib/boinc/gui_rpc_auth.cfg gui_rpc_auth.cfg<br />
# chmod 640 gui_rpc_auth.cfg<br />
<br />
If you prefer a different password, or none at all, you can edit {{ic|/var/lib/boinc/gui_rpc_auth.cfg}}. Then restart BOINC daemon.<br />
<br />
If you do not like the idea of having this file in your home directory, there is an alternative approach. BOINC Manager will also look for a readable gui_rpc_auth.cfg file in the current working directory. If you make the file readable by the '''boinc''' group and ensure that the manager is run with {{ic|/var/lib/boinc}} as the working directory, you should find that the client connects to the daemon automatically, as desired. This can usually be achieved via the menu editor in your desktop environment of choice.<br />
<br />
To start the GUI, use the ''boincmgr'' command<br />
$ boincmgr<br />
<br />
BOINC should now take you through the process of attaching to a project. NB, some projects will let you create an account remotely via the GUI while some may require you to first create an account via their website. You can attach to multiple projects if you have the resources (disk space, time, CPU power). Do this via menu option ''Tools / Attach to project''.<br />
<br />
If BOINC did not ask you to connect to a project, then make sure you are connected to the daemon. Go to menu option ''Advanced / Select computer'', choose your machine's name and enter the password. (To avoid this, make sure the above steps regarding gui_rpc_auth.cfg have been done.)<br />
<br />
==== Projects using GPU ====<br />
If you want to use your GPU, you need the proprietary nvidia or amd drivers. For ATI/AMD Cards you also need [https://aur.archlinux.org/packages.php?ID=21933 Catalyst driver for stock kernel] which you can get from AUR. For Nvidia, you also need the package {{Pkg|opencl-nvidia}} located in extra.<br />
<br />
In addition, the boinc user should be in the video group:<br />
# gpasswd -a boinc video<br />
The boinc user also needs to have access to your X session. Use this command to accomplish this:<br />
xhost local:boinc<br />
You may want to add that to a startup script.<br />
<br />
== Log files ==<br />
NB, BOINC places log files in {{ic|/var/lib/boinc/}}<br />
/var/lib/boinc/stderrdae.txt<br />
/var/lib/boinc/stdoutdae.txt<br />
<br />
== Considerations when choosing a project ==<br />
Projects have different minimum hardware requirements (CPU, disk space), and different times to taken to run each work unit. If you do not finish a work unit before the deadline it will sent out to someone else, but it is better to look around to see what projects suit your machine and your uptime patterns to avoid this happening. <br />
<br />
Also, if it is important to you, check if the project makes the data and results publicly available.<br />
<br />
=== Running on Arch64 ===<br />
Some projects provide only 32bit applications which may require 32bit libraries to run work units or show graphics. You will find most of these libraries in the [multilib] repository.<br />
<br />
;To run WUs (e.g. Climateprediction) <br />
:{{Pkg|lib32-glibc}}, {{Pkg|lib32-glib2}}<br />
;To show graphics (e.g. Several projects of WCG, Climateprediction)<br />
:{{Pkg|lib32-pango}}, {{Pkg|lib32-libxdamage}}, {{Pkg|lib32-libxi}}, {{Pkg|lib32-libgl}}, {{AUR|lib32-libjpeg6}} (AUR), and {{Pkg|lib32-libxmu}}<br />
<br />
==Troubleshooting==<br />
If you get this error :<br />
GPU Missing<br />
and the Work Unit does not start, you should restart the BOINC daemon :<br />
# /etc/rc.d/boinc restart<br />
<br />
This will happen if the BOINC daemon starts before the an X session is fully initialized. Generally, if the daemon is set to start in the background in [[rc.conf]], this doesn't happen, but it does sometimes beat the display manager. If, however, no [[display manager]] is set to load on boot, the daemon will '''always''' have to be restarted after X initialization for the GPU to be recognized.<br />
<br />
== Links ==<br />
* [http://boinc.berkeley.edu/ BOINC homepage]<br />
* [http://boinc.berkeley.edu/projects.php List of BOINC projects]<br />
* [[Wikipedia:BOINC|Wikipedia entry]]</div>MartinZhttps://wiki.archlinux.org/index.php?title=GStreamer&diff=159360GStreamer2011-09-12T03:16:24Z<p>MartinZ: /* Integration */</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
GStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.<br />
<br />
GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, streaming media broadcasters, and media players.<br />
<br />
Designed to be cross-platform, it is known to work on Linux (x86, PowerPC and ARM), Solaris (Intel and SPARC), Mac OS X, Microsoft Windows and OS/400. GStreamer has bindings for programming-languages like Python, C++, Perl, GNU Guile and Ruby. GStreamer is free software, licensed under the GNU Lesser General Public License.<br />
<br />
== Installation ==<br />
Install the gstreamer package group:<br />
{{Cli|# pacman -S gstreamer0.10-plugins}}<br />
<br />
== Integration ==<br />
GStreamer should already support [[PulseAudio]] for all applications since '''{{Codeline|gstreamer-pulse}}''' is now a part of {{Package Official|gstreamer0.10-good-plugins}}, which itself is a part of '''{{Codeline|gstreamer0.10-plugins}}''' group mentioned in the previous section.<br />
<br />
To avoid lots of dependencies, you may install [http://aur.archlinux.org/packages.php?ID=36636 this one] instead<br />
<br />
If you use KDE (and thus, [[phonon]]) you can easily install the gstreamer backend:<br />
{{Cli|# pacman -S phonon-gstreamer}}<br />
<br />
After that be sure gstreamer is the first engine on the list under ''SystemSettings --> Multimedia --> Backend''.<br />
<br />
== Links ==<br />
* [[Sound]]<br />
* http://gstreamer.freedesktop.org/</div>MartinZhttps://wiki.archlinux.org/index.php?title=Flashing_BIOS_from_Linux&diff=129522Flashing BIOS from Linux2011-02-01T00:24:12Z<p>MartinZ: /* FreeDOS */ through unetbootin</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
[[Category:Mainboards and BIOS (English)]]<br />
This article aims on providing information on flashing your system BIOS under Linux. Most manufacturers provide a Windows executable or a BIOS executable that can only be run under Windows. However, there are a few utilities, that allow you to upgrade your system BIOS under Linux.<br />
<br />
{{Warning|Flashing motherboard BIOS is a dangerous activity that can render your motherboard inoperable! While the author of this article has successfully run this procedure many times, your mileage may vary. Be careful!}}<br />
<br />
==Introduction==<br />
There are a few ways that you can use to flash the system BIOS under Linux.<br />
<br />
==BiosDisk==<br />
[http://linux.dell.com/projects.shtml#biosdisk BiosDisk] BiosDisk simplifies the process of flashing your system BIOS under Linux<br />
===Installation===<br />
====Method 1: AUR (Recommended)====<br />
[http://aur.archlinux.org/packages.php?ID=38248 BiosDisk] is available from the Arch User Community Repositories.<br />
<br />
====Method 2: From Source====<br />
Grab the source from the [http://linux.dell.com/biosdisk/ biosdisk] web page. Extract the source from the tar ball, cd into the directory and run <br />
sudo sh install.sh<br />
<br />
===Usage===<br />
To use the biosdisk utility to create a BIOS flash image, first download the latest raw BIOS image for your system from your manufacturer's website. Make sure however, that you always get the BIOS executable and NOT the Windows executable. You then have one of several options: create a floppy, create a dd floppy image, create a user-installable distribution-specific package (e.g. RPM), or actually install the image for your bootloader.<br />
<br />
* The mkfloppy action will create the biosdisk image and write it directly to a floppy disk. Usage is the following:<br />
<br />
biosdisk mkfloppy [-o option] [-d device] [-k baseimage] /path/to/.exe <br />
<br />
* The mkimage action will create a floppy image on the user's hard drive. Usage is the following: <br />
<br />
biosdisk mkimage [-o option] [-i destination] [-k baseimage] /path/to/.exe <br />
<br />
* The mkpkg action will create the floppy image, and use it to create a user-installable package specific to the distribution (example: RPM). When the package is installed, it will use the distribution's built-in tools to update the system's bootloader so that the user can boot to the image from the hard drive to flash the BIOS, without needing a floppy drive. Currently only Red Hat/Fedora RPM packages are supported. Usage is as follows:<br />
<br />
biosdisk mkpkg [-o option] [--install] [--distro=] [--name=] [--version=] [--release=] /path/to/{.exe | .img}<br />
<br />
* The install action will create the biosdisk image, copy the image file to /boot, and then update the bootloader with an entry for the image. Then all the user has to do is boot the system and select the image to flash the BIOS; this will load the biosdisk image directly from the hard drive and flash the BIOS.<br />
<br />
biosdisk install [-o option] [--name=] /path/to/{.exe | .img}<br />
<br />
==Flashrom==<br />
[http://www.flashrom.org/Flashrom Flashrom]is a utility for identifying, reading, writing, verifying and erasing flash chips. It is designed to flash BIOS/EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various programmer devices.<br />
<br />
===Installation===<br />
====Method 1: Community Repo (Recommended)====<br />
sudo pacman -S flashrom<br />
<br />
====Method 2: AUR====<br />
[http://aur.archlinux.org/packages.php?ID=30391 Flashrom] <br />
[http://aur.archlinux.org/packages.php?ID=23390 Flashrom] <br />
[http://aur.archlinux.org/packages.php?ID=36865 Flashrom] is also available from the Arch User Community Repositories.<br />
<br />
====Method 2: From Source====<br />
Grab the source from the [http://www.flashrom.org/Flashrom Flashrom] web page. Extract the source from the tar ball, cd into the directory and run<br />
make <br />
make install<br />
<br />
===Usage===<br />
Find out if your motherboard and chipset is supported by flashrom at this website. [http://www.flashrom.org/Supported_hardware Supported Hardware]<br />
You can also find out if your hardware is supported by issuing the following command<br />
sudo flashrom<br />
The above command will tell you your motherboard and chipset. You can then find out if your's is supported by issuing this command<br />
flashrom -L | grep whatevernameyougotfromthefirstcommand<br />
<br />
Read the BIOS image into a file:<br />
$ flashrom -r backup.bin<br />
Write a BIOS image (proprietary or LinuxBIOS) on the ROM chip:<br />
$ flashrom -wv newbios.bin<br />
<br />
==FreeDOS==<br />
[http://www.freedos.org/ FreeDOS] a free DOS-compatible operating system, is up to the challenge, no need for proprietary DOS versions. So, all you need is a bootable floppy disk image with FreeDOS kernel on it.<br />
<br />
===Unetbootin===<br />
By far the easiest way to make a bootable FreeDOS USB Stick is using '''unetbootin''':<br />
[http://aur.archlinux.org/packages.php?ID=21989 AUR]<br />
<br />
You should format a pendrive with FAT16 and flag it as "boot" (you may do this through GUI with gparted or partitionmanager). Then, after mounting the flash drive, select under distribution '''FreeDOS''' and your mounted stick. The app will automatically download the image for you and copy it in the drive. Finally, you may copy everything you want to flash there (BIOS, firmwares, etc).<br />
<br />
If you wanna do it the hard way, keep reading. ;)<br />
<br />
===Gentoo===<br />
Check out [http://en.gentoo-wiki.com/wiki/FreeDOS_Flash_Drive FreeDOS Flash Drive] on the Gentoo Wiki if you want to create a bootable FreeDOS Flash drive.<br />
<br />
===Usage===<br />
'''Step 1: Download FreeDOS boot disk floppy image'''<br />
We are fortunate that guys at FDOS site have prepared one suitable for us. Use the OEM Bootdisk version, the one with just kernel and command.com, because it leaves more free space on disk for the flash utility and new BIOS image. After you download the image, you need to decompress it. In other words:<br />
wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz<br />
gunzip FDOEM.144.gz<br />
<br />
'''Step 2: Copy your BIOS flash utility and new BIOS image to the mounted floppy disk image'''<br />
<br />
Requirement for this step is that you have support for the vfat and loop file systems in the kernel. Or you can have those features compiled as modules. In the latter case, load the modules before the next step, like this.<br />
modprobe vfat<br />
modprobe loop<br />
<br />
Consult /proc/fileystems to see if you have the needed file systems supported. If you do, you should be able to "loop mount" the floppy disk image to some temporary path:<br />
mkdir /tmp/floppy<br />
mount -t vfat -o loop FDOEM.144 /tmp/floppy<br />
<br />
If the mount went without errors, copy BIOS flash utility and new BIOS image to the mounted floppy disk image. You'll probably have to unzip the archive you downloaded from your motherboard vendor site, to get to those two files. Here's just an example for my motherboard (in your case, files will have different names, of course):<br />
<br />
# unzip 775Dual-VSTA\(2.60\).zip<br />
Archive: 775Dual-VSTA(2.60).zip<br />
inflating: 75DVSTA2.60<br />
inflating: ASRflash.exe<br />
# cp 75DVSTA2.60 ASRflash.exe /tmp/floppy<br />
<br />
Doublecheck that everything went OK, that those two files weren't too big for the floppy:<br />
<br />
Filesystem 1K-blocks Used Available Use% Mounted on<br />
/tmp/FDOEM.144<br />
1424 990 434 70% /tmp/floppy<br />
Finally, unmount the floppy disk image:<br />
umount /tmp/floppy<br />
<br />
'''Step 3: Burn a bootable CD which will emulate floppy device for us'''<br />
<br />
Next step is to burn the floppy image to a CD/DVD-RW media, but in a way that it can be booted afterwards. First we need to make a bootable CD image, and then burn it. Notice that on some modern distributions, cdrecord is renamed to wodim, and mkisofs to genisoimage, but the parameters below should be the same.<br />
mkisofs -o bootcd.iso -b FDOEM.144 FDOEM.144<br />
cdrecord -v bootcd.iso<br />
<br />
'''Alternative Step 3: Add your image to Grub's menu.<br />
You'll need to install syslinux and copy memdisk to /boot, and put your image there as well.<br />
<br />
cp /usr/lib/syslinux/memdisk /boot<br />
cp FDOEM.144 /boot/flashbios.img<br />
<br />
Now add an entry to your /boot/grub/menu.lst:<br />
<br />
title Flash BIOS<br />
kernel /memdisk<br />
initrd /flashbios.img<br />
<br />
Or for GRUB2 in /boot/grub/grub.cfg:<br />
<br />
menuentry "Flash BIOS" {<br />
linux16 /boot/memdisk<br />
initrd16 /boot/flashbios.img<br />
}<br />
<br />
'''Step 4: Reboot, flash, reboot, enjoy your new BIOS'''<br />
<br />
Finally reboot your machine, make sure that your CD drive is first in the boot sequence, and then run your BIOS upgrade procedure when the CD boots. If using the GRUB method, just choose the new entry on the list, and it should boot into FreeDOS.</div>MartinZhttps://wiki.archlinux.org/index.php?title=Conky&diff=123633Conky2010-12-03T15:59:05Z<p>MartinZ: /* Real Transparency (works with KDE4) */ changed own_window_type to normal to prevent desktop covering conky</p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Eye candy (English)]]<br />
{{i18n|Conky}}<br />
<br />
Conky is a system monitor software for the X Window System. It is available for GNU/Linux and FreeBSD. It is free software released under the terms of the GPL license. Conky is able to monitor many system variables including CPU, memory, swap, disk space, temperature, top, upload, download, system messages, and much more. It is extremely configurable, however, the configuration can be a little hard to understand. Conky is a fork of torsmo.<br />
<br />
==Installation and configuration==<br />
*Conky is available in the Extra repository<br />
# pacman -S conky<br />
*Edit config file using an example configuration file from [http://conky.sourceforge.net/screenshots.html homeproject-screenshot]<br />
$ nano ~/.conkyrc<br />
*Alternatively, you can use the default config at {{Filename|/etc/conky/conky.conf}}:<br />
$ cp /etc/conky/conky.conf ~/.conkyrc<br />
<br />
==AUR Packages==<br />
<br />
In addition to the basic conky package in the repos, there are various [[AUR]] packages available with extra compile options enabled.<br />
<br />
*Install [http://aur.archlinux.org/packages.php?ID=19156 conky-nvidia] for nvidia support.<br />
*Install [http://aur.archlinux.org/packages.php?ID=31589 conky-lua] for lua support.<br />
*Install [http://aur.archlinux.org/packages.php?ID=36405 conky-lua-nv] for both lua and nvidia support.<br />
<br />
==Tips and tricks==<br />
===Real Transparency (works with KDE4)===<br />
Since version 1.8.0 conky suppports real transparency. To enable it (and make it work nicely with KDE4), add these lines to {{Filename|~/.conkyrc}}:<br />
own_window yes<br />
own_window_transparent yes<br />
own_window_argb_visual yes<br />
own_window_type normal<br />
own_window_class conky-semi<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
This replaces the feh method described below.<br />
<br />
===How to prevent flickering===<br />
Conky needs Double Buffer Extension (DBE) support from X server to prevent flickering, because it can't update window fast enough without it. It can be enabled in {{Filename|/etc/X11/xorg.conf}} with {{Codeline|Load "dbe"}} line in {{Codeline|Section "Module"}}. The xorg.conf file has been replaced (1.8.x patch upwards) by {{Filename|/etc/X11/xorg.conf.d}} which contains the particular configuration files. ''DBE'' is loaded automatically. <br />
<br />
To verify: <br />
# cat /var/log/Xorg.0.log | grep dbe<br />
<br />
Output (should be similar):<br />
# [ 86.101] (II) LoadModule: "dbe"<br />
# [ 86.101] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so<br />
# [ 86.111] (II) Module dbe: vendor="X.Org Foundation"<br />
<br />
To enable double-buffer check to have in {{Filename|~/.conkyrc}}:<br />
# Place below the other options, not below TEXT or XY<br />
double_buffer yes<br />
<br />
===Integration with Kdesktop===<br />
Conky with screenshot configuration generate problems with icons visualization. So there are some steps to follow.<br />
*Add these lines to {{Filename|~/.conkyrc}}:<br />
own_window yes<br />
own_window_type normal<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
*if this setting is on, comment it out or delete the line<br />
minimum_size<br />
*To autostart conky create this link<br />
$ ln -s /usr/bin/conky ~/.kde/share/autostart/conkylink<br />
For KDE4 users<br />
$ ln -s /usr/bin/conky ~/.kde4/Autostart/conkylink<br />
*Install feh<br />
# pacman -S feh<br />
*Make a script to allow transparency with the desktop<br />
For KDE3 users<br />
$ nano -w ~/.kde/share/autostart/fehconky <br />
<br />
#!/bin/bash<br />
feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`<br />
For KDE4 users<br />
$ nano -w ~/.kde4/Autostart/fehconky<br />
<br />
#!/bin/bash<br />
feh --bg-scale "`grep 'wallpaper=' ~/.kde4/share/config/plasma-desktop-appletsrc | tail --lines=1 | sed 's/wallpaper=//'`"<br />
use {{Codeline|--bg-center}} if you use a centered wallpaper.<br />
*Make it executable<br />
$ chmod +x ~/.kde/share/autostart/fehconky<br />
KDE4<br />
$ chmod +x ~/.kde4/Autostart/fehconky<br />
*Optionally instead using a script you can add the corresponding line to the bottom of {{Filename|.conkyrc}}<br />
$ nano ~/.conkyrc<br />
For KDE3<br />
${exec feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`}<br />
For KDE4<br />
${exec feh --bg-scale "`grep 'wallpaper=' ~/.kde4/share/config/plasma-desktop-appletsrc | tail --lines=1 | sed 's/wallpaper=//'`"}<br />
<br />
===How to display Information about available package updates in Conky===<br />
Take a look at the following threads for scripts to display information about available updates in conky:<br />
*[http://bbs.archlinux.org/viewtopic.php?id=57291 Script to display the number of packages waiting for update.]<br />
*[http://bbs.archlinux.org/viewtopic.php?id=37284 Update notifier in python]<br />
*[http://bbs.archlinux.org/viewtopic.php?id=53761 Scrolling package update notifier]<br />
*[http://bbs.archlinux.org/viewtopic.php?pid=483742#p483742 bash script for users that have enabled ShowSize]<br />
<br />
===How to display a weather forecast in Conky===<br />
See [http://bbs.archlinux.org/viewtopic.php?id=37381 this thread].<br />
<br />
===How To display RSS feeds in Conky===<br />
Conky has the ability to display RSS feeds natively without the need for an outside script to run and output into conky. For example, to display the titles of the ten most recent Planet Arch updates and refresh the feed every minute you would put this into your {{Filename|.conkyrc}}:<br />
<br />
${rss http://planet.archlinux.org/rss20.xml 1 item_titles 10 }<br />
<br />
===How to display Distrowatch.com's Arch ranking in Conky===<br />
See [http://bbs.archlinux.org/viewtopic.php?id=88779 this thread].<br />
<br />
===How to display rtorrent stats in Conky===<br />
See [http://bbs.archlinux.org/viewtopic.php?id=67304 this thread].<br />
<br />
===How to display the number of new emails (Gmail) in Conky===<br />
Create a file named <code>gmail.py</code> in a convenient location (this example uses <code>~/.scripts/</code>) with the following [[Python]] code:<br />
import os<br />
<br />
#Enter your username and password below within double quotes<br />
# eg. username="username" and password="password"<br />
username="****"<br />
password="****"<br />
com="wget -q -O - https://"+username+":"+password+"@mail.google.com/mail/feed/atom --no-check-certificate"<br />
<br />
temp=os.popen(com)<br />
msg=temp.read()<br />
index=msg.find("<fullcount>")<br />
index2=msg.find("</fullcount>")<br />
fc=int(msg[index+11:index2])<br />
<br />
if fc==0:<br />
print "0 new"<br />
else:<br />
print str(fc)+" new"<br />
<br />
The above script did not work for me and my Google Apps account. I modified the script below to work with a Google App mail account [[Python]] code:<br />
import os<br />
<br />
#Enter your domain, username and password below within double quotes<br />
# eg. domain="yourdomain.com", username="username" and password="password"<br />
domain="yourdomain.com"<br />
username="username"<br />
password="password"<br />
com="wget -q -O - https://mail.google.com/a/"+domain+"/feed/atom --http-user="+username+"@"+domain+" --http-password="+password+" --no-check-certificate"<br />
<br />
temp=os.popen(com)<br />
msg=temp.read()<br />
index=msg.find("<fullcount>")<br />
index2=msg.find("</fullcount>")<br />
fc=int(msg[index+11:index2])<br />
<br />
if fc==0:<br />
print "0 new"<br />
else:<br />
print str(fc)+" new"<br />
<br />
Add the following string to your <code>.conkyrc</code> in order the check your gmail account for new email every five minutes (300 seconds) and display: ''# new''<br />
${execpi 300 python ~/.scripts/gmail.py}<br />
<br />
Alternatively, you can use [http://www.stunnel.org/ stunnel].<br />
pacman -S stunnel<br />
<br />
The following configuration is taken from [http://conky.sourceforge.net/faq.html conky's FAQ]<br />
<br />
Modify /etc/stunnel/stunnel.conf:<br />
# Service-level configuration for TLS server<br />
[imap]<br />
client = yes<br />
accept = 143<br />
connect = imap.gmail.com:143<br />
protocol = imap<br />
sslVersion = TLSv1<br />
# Service-level configuration for SSL server<br />
[imaps]<br />
client = yes<br />
accept = 993<br />
connect = imap.gmail.com:993<br />
<br />
...and start stunnel:<br />
/etc/rc.d/stunnel start<br />
<br />
The only thing left is our conkyrc:<br />
imap localhost username * -i 120 -p 993<br />
TEXT<br />
Inbox: ${imap_unseen}/${imap_messages}<br />
<br />
Here I used * as the password for conky to ask for it at start, but you don't ''have'' to do it.<br />
<br />
===How to display new emails from an IMAP account using SSL===<br />
Conky has built in support for IMAP accounts, but doesn't support SSL. This can be provided using this script from [http://www.unix.com/shell-programming-scripting/115322-perl-conky-gmail-imap-unread-message-count.html this forum post]. This requires the Perl/CPAN Modules Mail::IMAPClient and IO::Socket::SSL which are in the perl-mail-imapclient and perl-io-socket-ssl packages<br />
<br />
Create a file named imap.pl in a location to be read by conky. In this file add (with the appropriate changes):<br />
#!/usr/bin/perl<br />
<br />
# gimap.pl by gxmsgx<br />
# description: get the count of unread messages on imap<br />
<br />
use strict;<br />
use Mail::IMAPClient;<br />
use IO::Socket::SSL;<br />
<br />
my $username = 'example.username'; <br />
my $password = 'password123'; <br />
<br />
my $socket = IO::Socket::SSL->new(<br />
PeerAddr => 'imap.server',<br />
PeerPort => 993<br />
)<br />
or die "socket(): $@";<br />
<br />
my $client = Mail::IMAPClient->new(<br />
Socket => $socket,<br />
User => $username,<br />
Password => $password,<br />
)<br />
or die "new(): $@";<br />
<br />
if ($client->IsAuthenticated()) {<br />
my $msgct;<br />
<br />
$client->select("INBOX");<br />
$msgct = $client->unseen_count||'0';<br />
print "$msgct\n";<br />
}<br />
<br />
$client->logout();<br />
<br />
Add to .conkyrc:<br />
${execpi 300 ~/.conky/imap.pl} <br />
or wherever you saved the file.<br />
<br />
Alternatively, you can use stunnel as shown above: [[Conky#How to display the number of new emails (Gmail) in Conky]]<br />
<br />
== User supplied example .conkyrc files ==<br />
=== Graysky's .conkyrc ===<br />
[[http://img444.imageshack.us/img444/8117/shot0.png Screen shot]]<br />
<br />
Modify to fit your system. Optimized for a quad core chip w/ several hdds (although one of them isn't connected for this screenshot) and an nvidia graphics card. You can easily modify this to a dual or single core system with one or whatever number of hdds.<br />
<br />
<pre><br />
# Swap Usage:$color $swapperc%${color lightgrey}<br />
<br />
# the ${template x x x} command uses /sys/bus/platform/devices<br />
# for this to work you need both lm-sensors and hddtemp<br />
# get both from main repos<br />
<br />
# set to yes if you want Conky to be forked in the background<br />
background no<br />
<br />
own_window yes<br />
own_window_type override<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
<br />
out_to_console no<br />
<br />
# Use Xft?<br />
use_xft yes<br />
<br />
# Xft font when Xft is enabled<br />
#xftfont Bitstream Vera Sans Mono:size=8<br />
xftfont monospace:size=8<br />
<br />
#xftalpha 0.8<br />
<br />
# Update interval in seconds<br />
update_interval 2<br />
<br />
# Create own window instead of using desktop (required in nautilus)<br />
own_window yes<br />
<br />
# Use double buffering (reduces flicker, may not work for everyone)<br />
double_buffer yes<br />
<br />
# Minimum size of text area<br />
#minimum_size 250 5<br />
maximum_width 258<br />
<br />
# Draw shades?<br />
draw_shades no<br />
<br />
# Draw outlines?<br />
draw_outline no<br />
<br />
# Draw borders around text<br />
draw_borders no<br />
<br />
# Stippled borders?<br />
stippled_borders 10<br />
<br />
# border margins<br />
#border_margin 4<br />
<br />
# border width<br />
border_width 1<br />
<br />
# Default colors and also border colors<br />
default_color white<br />
default_shade_color white<br />
default_outline_color white<br />
<br />
# Text alignment, other possible values are commented<br />
#alignment top_left<br />
#minimum_size 10 10<br />
#alignment top_right<br />
alignment bottom_left<br />
#alignment bottom_right<br />
<br />
# Gap between borders of screen and text<br />
gap_x 12<br />
gap_y 37<br />
# Add spaces to keep things from moving about? This only affects certain objects.<br />
use_spacer left<br />
<br />
# Subtract file system buffers from used memory?<br />
no_buffers yes<br />
<br />
# set to yes if you want all text to be in uppercase<br />
uppercase no<br />
<br />
TEXT<br />
${color #6495ed}$nodename$color - $sysname $kernel on $machine<br />
${color lightgrey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg${color lightgrey}<br />
RAM Usage:$color $memperc% or $mem of $memmax${color lightgrey}<br />
$color$stippled_hr${color lightgrey}<br />
Intel Xeon X3360 @ $color${freq_g} GHz${color lightgrey}<br />
${color black}${cpugraph 35,200 5000a0 6495ed}${color white} ${cpugauge 35}${color lightgrey}<br />
${color lightgrey}Core0:$color ${platform coretemp.0 temp 1} °C${color grey} @$color ${cpu cpu1}% ${alignr}${cpubar cpu1 6,120}<br />
${color lightgrey}Core1:$color ${platform coretemp.1 temp 1} °C${color grey} @$color ${cpu cpu2}% ${alignr}${cpubar cpu2 6,120}<br />
${color lightgrey}Core2:$color ${platform coretemp.2 temp 1} °C${color grey} @$color ${cpu cpu3}% ${alignr}${cpubar cpu3 6,120}<br />
${color lightgrey}Core3:$color ${platform coretemp.3 temp 1} °C${color grey} @$color ${cpu cpu4}% ${alignr}${cpubar cpu4 6,120}${color grey}<br />
${color grey} CPU:$color ${platform it87.656 temp 1} °C ${color grey} Fan1:$color ${platform it87.656 fan 1}${color grey} RPM @ $color${execi 8 cat /sys/class/hwmon/hwmon4/device/pwm1}<br />
$color$stippled_hr${color lightgrey}<br />
${color grey} GPU:$color ${execi 8 nvidia-settings -q gpucoretemp | grep sim | cut -c45-46} °C ${color grey} M/B:$color ${platform it87.656 temp 2} °C <br />
${color grey} sda:$color ${execi 300 sudo hddtemp /dev/sda | cut -c34-35} °C ${color grey} sdc:$color ${execi 300 sudo hddtemp /dev/sdc | cut -c25-26} °C<br />
$color$stippled_hr${color lightgrey}<br />
${color lightgrey} /dev/shm: ${color }${fs_used_perc /dev/shm} % ${fs_bar /dev/shm}<br />
${color grey}$stippled_hr${color light grey}<br />
${color lightgrey}Processes:$color $processes ${color grey}Running:$color $running_processes<br />
${color}Name PID CPU% MEM%<br />
${color #6495ed} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}<br />
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}<br />
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}<br />
${color}Mem usage<br />
${color #6495ed} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}<br />
${color lightgrey} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}<br />
${color lightgrey} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}<br />
</pre><br />
<br />
=== A Oneliner Conky ===<br />
<br />
Especially useful with fluxbox, the following configuration file provides a one-line conky, for a single cpu laptop, that fits a 1280-wide screen and shows the following info on top of the screen:<br />
Date, cpu frequency + load + application that busies the cpu the most (with percentage), ram load and application that busies ram the most (with percentage), network upload and download speeds and total downloaded data size, cpu temperature, battery status (as a bar graph), and i/o read and write amounts. Change to taste (and appropriate variables such as BAT0 etc) :)<br />
<br />
<pre><br />
# Conky sample configuration<br />
#<br />
# the list of variables has been removed from this file in favour<br />
# of keeping the documentation more maintainable.<br />
# Check http://conky.sf.net for an up-to-date-list.<br />
<br />
# set to true if you want Conky to be forked in the background<br />
background true<br />
# background no<br />
<br />
# X font when Xft is disabled, you can pick one with program xfontsel artwiz package?<br />
#font 5x8<br />
font 6x9<br />
#font 6x10<br />
#font 6x13<br />
#font 8x13<br />
#font 9x15<br />
#font *mintsmild.se*<br />
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*<br />
<br />
# Use Xft?<br />
use_xft no<br />
<br />
# Set conky on the bottom of all other applications<br />
# on_bottom no<br />
<br />
# Xft font when Xft is enabled<br />
xftfont Mono:size=6<br />
<br />
# Text alpha when using Xft<br />
xftalpha 0.8<br />
<br />
# Print everything to stdout?<br />
# out_to_console no<br />
<br />
# MPD host/port<br />
# mpd_host localhost<br />
# mpd_port 6600<br />
# mpd_password tinker_bell<br />
<br />
# Print everything to console?<br />
# out_to_console no<br />
<br />
# mail spool<br />
# mail_spool $MAIL<br />
<br />
# Update interval in seconds<br />
update_interval 1.0<br />
<br />
# This is the number of times Conky will update before quitting.<br />
# Set to zero to run forever.<br />
total_run_times 0<br />
<br />
# Create own window instead of using desktop (required in nautilus)<br />
#own_window yes<br />
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
<br />
# Use pseudo transparency with own_window?<br />
own_window_transparent yes<br />
<br />
# If own_window_transparent is set to no, you can set the background colour here<br />
# own_window_colour grey<br />
<br />
# Use double buffering (reduces flicker, may not work for everyone)<br />
double_buffer yes<br />
<br />
# Minimum size of text area<br />
minimum_size 280 5<br />
<br />
# Draw shades?<br />
draw_shades yes<br />
<br />
# Draw outlines?<br />
draw_outline yes<br />
<br />
# Draw borders around text<br />
draw_borders no<br />
<br />
# Stippled borders?<br />
stippled_borders 8<br />
<br />
# border margins<br />
border_margin 4<br />
<br />
# border width<br />
border_width 1<br />
<br />
# Default colors and also border colors<br />
default_color white<br />
default_shade_color white<br />
default_outline_color black<br />
<br />
# Text alignment, other possible values are commented<br />
alignment top_left<br />
#alignment top_right<br />
#alignment bottom_left<br />
#alignment bottom_right<br />
#alignment none<br />
<br />
# Gap between borders of screen and text<br />
# same thing as passing -x at command line<br />
gap_x 1<br />
gap_y 1<br />
<br />
# Subtract file system buffers from used memory?<br />
no_buffers yes<br />
<br />
# set to yes if you want all text to be in uppercase<br />
uppercase yes<br />
<br />
# number of cpu samples to average<br />
# set to 1 to disable averaging<br />
cpu_avg_samples 2<br />
<br />
# number of net samples to average<br />
# set to 1 to disable averaging<br />
net_avg_samples 2<br />
<br />
# Force UTF8? note that UTF8 support required XFT<br />
override_utf8_locale no<br />
<br />
<br />
# Add spaces to keep things from moving about? This only affects certain objects.<br />
use_spacer none<br />
<br />
# mldonkey_hostname Hostname for mldonkey stuff, defaults to localhost<br />
# mldonkey_port Mldonkey port, 4001 default<br />
# mldonkey_login Mldonkey login, default none<br />
# mldonkey_password Mldonkey password, default none<br />
<br />
# boinc (seti) dir<br />
# seti_dir /opt/seti<br />
<br />
# variable is given either in format $variable or in ${variable}. Latter<br />
# allows characters right after the variable and must be used in network<br />
# stuff because of an argument<br />
<br />
# stuff after 'TEXT' will be formatted on screen<br />
<br />
TEXT<br />
${color light grey}${time %a %D %k:%M} ${color grey}cpu:$color ${freq_g}Ghz ${cpubar 4,50}$color ($cpu) ${color grey}hog:$color ${top name 1}${offset -35}${top cpu 1}${color grey} |ram:$color ${membar 4,50} ${color grey}hog:$color ${top_mem name 1}${offset -35}${top_mem mem 1}${color grey} |network:$color ${upspeed wlan0} up, ${downspeed wlan0} down, ${totaldown wlan0} downloaded${color grey} |temp:$color $acpitemp${color grey} |battery:$color ${color red}${battery_bar 4,50 BAT1}${color grey} |w/r:$color$diskio_write $diskio_read<br />
</pre><br />
<br />
==A sample rings script with nvidia support:==<br />
<br />
<pre><br />
1 # -- Conky settings -- #<br />
2 background no<br />
3 update_interval 1<br />
4 <br />
5 cpu_avg_samples 2<br />
6 net_avg_samples 2<br />
7 <br />
8 override_utf8_locale yes<br />
9 <br />
10 double_buffer yes<br />
11 no_buffers yes<br />
12 <br />
13 text_buffer_size 2048<br />
14 imlib_cache_size 0<br />
15 <br />
16 # -- Window specifications -- #<br />
17 <br />
18 own_window yes<br />
19 own_window_type normal<br />
20 own_window_transparent yes<br />
21 own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below<br />
22 <br />
23 border_inner_margin 0<br />
24 border_outer_margin 0<br />
25 <br />
26 minimum_size 320 800<br />
27 maximum_width 320<br />
28 <br />
29 alignment bottom_right<br />
30 gap_x 0<br />
31 gap_y 0<br />
32 <br />
33 # -- Graphics settings -- #<br />
34 draw_shades no<br />
35 draw_outline no<br />
36 draw_borders no<br />
37 draw_graph_borders yes<br />
38 <br />
39 # -- Text settings -- #<br />
40 use_xft yes<br />
41 xftfont MaiandraGD:size=24<br />
42 xftalpha 0.4<br />
43 <br />
44 uppercase no<br />
45 <br />
46 default_color 888888<br />
47 <br />
48 # -- Lua Load -- #<br />
49 lua_load ~/conky/lua/lua.lua<br />
50 lua_draw_hook_pre ring_stats<br />
51 <br />
52 TEXT<br />
53 ${alignr}${voffset 53}${goto 90}${font MaiandraGD:size=11}${time %A, %d %B %Y}<br />
54 <br />
55 <br />
56 ${voffset 5}${goto 164}${font MaiandraGD:size=16}${time %H:%M}<br />
57 <br />
58 <br />
59 <br />
60 ${voffset -40}${goto 100}${font MaiandraGD:size=9}Kernel:${offset 70}Uptime:<br />
61 ${goto 90}${font MaiandraGD:size=9}$kernel${offset 40}$uptime<br />
62 ${voffset 57}${goto 117}${font snap:size=8}${cpu cpu0}%<br />
63 ${goto 117}${cpu cpu1}%<br />
64 ${goto 117}CPU<br />
65 ${voffset 19}${goto 145}${memperc}%<br />
66 ${goto 145}$swapperc%<br />
67 ${goto 145}MEM<br />
68 ${voffset 25}${goto 170}${nvidia gpufreq}<br />
69 ${goto 170}${nvidia memfreq}<br />
70 ${goto 170}GPU<br />
71 ${voffset 27}${goto 198}${totaldown ppp0}<br />
72 ${goto 198}${totalup ppp0}<br />
73 ${goto 205}NET<br />
74 ${voffset 21}<br />
75 ${goto 222}${fs_used /home}<br />
76 ${goto 230}DISK<br />
<br />
</pre><br />
*And the required lua.lua script:<br />
<br />
<pre><br />
1 --[[<br />
2 Ring Meters by londonali1010 (2009)<br />
3 <br />
4 This script draws percentage meters as rings. It is fully customisable; all options are described in the script.<br />
5 <br />
6 IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if s tatement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updat es since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if state ment (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0 .5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.<br />
7 <br />
8 To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):<br />
9 lua_load ~/scripts/rings-v1.2.1.lua<br />
10 lua_draw_hook_pre ring_stats<br />
11 <br />
12 Changelog:<br />
13 + v1.2.1 -- Fixed minor bug that caused script to crash if conky_parse() returns a nil value (20.10.2009)<br />
14 + v1.2 -- Added option for the ending angle of the rings (07.10.2009)<br />
15 + v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numer ical value rather than a percentage (29.09.2009)<br />
16 + v1.0 -- Original release (28.09.2009)<br />
17 ]]<br />
18 <br />
19 settings_table = {<br />
20 {<br />
21 -- Edit this table to customise your rings.<br />
22 -- You can create more rings simply by adding more elements to settings_table.<br />
23 -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.<br />
24 name='time',<br />
25 -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument . If you would not use an argument in the Conky variable, use ''.<br />
26 arg='%I.%M',<br />
27 -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.<br />
28 max=12,<br />
29 -- "bg_colour" is the colour of the base ring.<br />
30 bg_colour=0x888888,<br />
31 -- "bg_alpha" is the alpha value of the base ring.<br />
32 bg_alpha=0.3,<br />
33 -- "fg_colour" is the colour of the indicator part of the ring.<br />
34 fg_colour=0x888888,<br />
35 -- "fg_alpha" is the alpha value of the indicator part of the ring.<br />
36 fg_alpha=0.5,<br />
37 -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky wi ndow.<br />
38 x=191, y=145,<br />
39 -- "radius" is the radius of the ring.<br />
40 radius=32,<br />
41 -- "thickness" is the thickness of the ring, centred around the radius.<br />
42 thickness=4,<br />
43 -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or n egative.<br />
44 start_angle=0,<br />
45 -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negat ive, but must be larger (e.g. more clockwise) than start_angle.<br />
46 end_angle=360<br />
47 },<br />
48 {<br />
49 name='time',<br />
50 arg='%M.%S',<br />
51 max=60,<br />
52 bg_colour=0x888888,<br />
53 bg_alpha=0.3,<br />
54 fg_colour=0x888888,<br />
55 fg_alpha=0.5,<br />
56 x=191, y=145,<br />
57 radius=37,<br />
58 thickness=4,<br />
59 start_angle=0,<br />
60 end_angle=360<br />
61 },<br />
62 {<br />
63 name='time',<br />
64 arg='%S',<br />
65 max=60,<br />
66 bg_colour=0x888888,<br />
67 bg_alpha=0.3,<br />
68 fg_colour=0x888888,<br />
69 fg_alpha=0.5,<br />
70 x=191, y=145,<br />
71 radius=42,<br />
72 thickness=4,<br />
73 start_angle=0,<br />
74 end_angle=360<br />
75 },<br />
76 {<br />
77 name='cpu',<br />
78 arg='cpu0',<br />
79 max=100,<br />
80 bg_colour=0x888888,<br />
81 bg_alpha=0.3,<br />
82 fg_colour=0x888888,<br />
83 fg_alpha=0.5,<br />
84 x=140, y=300,<br />
85 radius=26,<br />
86 thickness=5,<br />
87 start_angle=-90,<br />
88 end_angle=180<br />
89 },<br />
90 {<br />
91 name='cpu',<br />
92 arg='cpu1',<br />
93 max=100,<br />
94 bg_colour=0x888888,<br />
95 bg_alpha=0.3,<br />
96 fg_colour=0x888888,<br />
97 fg_alpha=0.5,<br />
98 x=140, y=300,<br />
99 radius=20,<br />
100 thickness=5,<br />
101 start_angle=-90,<br />
102 end_angle=180<br />
103 },<br />
104 {<br />
105 name='memperc',<br />
106 arg='',<br />
107 max=100,<br />
108 bg_colour=0x888888,<br />
109 bg_alpha=0.3,<br />
110 fg_colour=0x888888,<br />
111 fg_alpha=0.5,<br />
112 x=170, y=350,<br />
113 radius=26,<br />
114 thickness=5,<br />
115 start_angle=-90,<br />
116 end_angle=180<br />
117 },<br />
118 {<br />
119 name='swapperc',<br />
120 arg='',<br />
121 max=100,<br />
122 bg_colour=0x888888,<br />
123 bg_alpha=0.3,<br />
124 fg_colour=0x888888,<br />
125 fg_alpha=0.5,<br />
126 x=170, y=350,<br />
127 radius=20,<br />
128 thickness=5,<br />
129 start_angle=-90,<br />
130 end_angle=180<br />
131 },<br />
132 {<br />
133 name='time',<br />
134 arg='%d',<br />
135 max=31,<br />
136 bg_colour=0x888888,<br />
137 bg_alpha=0.3,<br />
138 fg_colour=0x888888,<br />
139 fg_alpha=0.5,<br />
140 x=191, y=145,<br />
141 radius=50,<br />
142 thickness=5,<br />
143 start_angle=-140,<br />
144 end_angle=-30<br />
145 },<br />
146 {<br />
147 name='time',<br />
148 arg='%m',<br />
149 max=12,<br />
150 bg_colour=0x888888,<br />
151 bg_alpha=0.3,<br />
152 fg_colour=0x888888,<br />
153 fg_alpha=0.5,<br />
154 x=191, y=145,<br />
155 radius=50,<br />
156 thickness=5,<br />
157 start_angle=30,<br />
158 end_angle=140<br />
159 },<br />
160 -- {<br />
161 -- name='fs_used_perc',<br />
162 -- arg='/',<br />
163 -- max=100,<br />
164 -- bg_colour=0x888888,<br />
165 -- bg_alpha=0.3,<br />
166 -- fg_colour=0x888888,<br />
167 -- fg_alpha=0.5,<br />
168 -- x=260, y=503,<br />
169 -- radius=26,<br />
170 -- thickness=5,<br />
171 -- start_angle=-90,<br />
172 -- end_angle=180<br />
173 -- },<br />
174 {<br />
175 name='fs_used_perc',<br />
176 arg='/home',<br />
177 max=100,<br />
178 bg_colour=0x888888,<br />
179 bg_alpha=0.3,<br />
180 fg_colour=0x888888,<br />
181 fg_alpha=0.5,<br />
182 x=260, y=503,<br />
183 radius=20,<br />
184 thickness=5,<br />
185 start_angle=-90,<br />
186 end_angle=180<br />
187 },<br />
188 {<br />
189 name='totalup',<br />
190 arg='ppp0',<br />
191 max=2,<br />
192 bg_colour=0x888888,<br />
193 bg_alpha=0.3,<br />
194 fg_colour=0x888888,<br />
195 fg_alpha=0.5,<br />
196 x=230, y=452,<br />
197 radius=20,<br />
198 thickness=5,<br />
199 start_angle=-90,<br />
200 end_angle=180<br />
201 },<br />
202 {<br />
203 name='totaldown',<br />
204 arg='ppp0',<br />
205 max=2,<br />
206 bg_colour=0x888888,<br />
207 bg_alpha=0.3,<br />
208 fg_colour=0x888888,<br />
209 fg_alpha=0.5,<br />
210 x=230, y=452,<br />
211 radius=26,<br />
212 thickness=5,<br />
213 start_angle=-90,<br />
214 end_angle=180<br />
215 },<br />
216 {<br />
217 name='nvidia',<br />
218 arg='gpufreq',<br />
219 max=475,<br />
220 bg_colour=0x888888,<br />
221 bg_alpha=0.3,<br />
222 fg_colour=0x888888,<br />
223 fg_alpha=0.5,<br />
224 x=200, y=401,<br />
225 radius=26,<br />
226 thickness=5,<br />
227 start_angle=-90,<br />
228 end_angle=180<br />
229 },<br />
230 {<br />
231 name='nvidia',<br />
232 arg='memfreq',<br />
233 max=700,<br />
234 bg_colour=0x888888,<br />
235 bg_alpha=0.3,<br />
236 fg_colour=0x888888,<br />
237 fg_alpha=0.5,<br />
238 x=200, y=401,<br />
239 radius=20,<br />
240 thickness=5,<br />
241 start_angle=-90,<br />
242 end_angle=180<br />
243 },<br />
244 }<br />
245 <br />
246 require 'cairo'<br />
247 <br />
248 function rgb_to_r_g_b(colour,alpha)<br />
249 return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha<br />
250 end<br />
251 <br />
252 function draw_ring(cr,t,pt)<br />
253 local w,h=conky_window.width,conky_window.height<br />
254 <br />
255 local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']<br />
256 local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']<br />
257 <br />
258 local angle_0=sa*(2*math.pi/360)-math.pi/2<br />
259 local angle_f=ea*(2*math.pi/360)-math.pi/2<br />
260 local t_arc=t*(angle_f-angle_0)<br />
261 <br />
262 -- Draw background ring<br />
263 <br />
264 cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)<br />
265 cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))<br />
266 cairo_set_line_width(cr,ring_w)<br />
267 cairo_stroke(cr)<br />
268 <br />
269 -- Draw indicator ring<br />
270 <br />
271 cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)<br />
272 cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))<br />
273 cairo_stroke(cr)<br />
274 end<br />
275 <br />
276 function conky_ring_stats()<br />
277 local function setup_rings(cr,pt)<br />
278 local str=''<br />
279 local value=0<br />
280 <br />
281 str=string.format('${%s %s}',pt['name'],pt['arg'])<br />
282 str=conky_parse(str)<br />
283 <br />
284 value=tonumber(str)<br />
285 if value == nil then value = 0 end<br />
286 pct=value/pt['max']<br />
287 <br />
288 draw_ring(cr,pct,pt)<br />
289 end<br />
290 <br />
291 if conky_window==nil then return end<br />
292 local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_w indow.height)<br />
293 <br />
294 local cr=cairo_create(cs)<br />
295 <br />
296 local updates=conky_parse('${updates}')<br />
297 update_num=tonumber(updates)<br />
298 <br />
299 if update_num>5 then<br />
300 for i in pairs(settings_table) do<br />
301 setup_rings(cr,settings_table[i])<br />
302 end<br />
303 end<br />
304 end<br />
~ <br />
</pre><br />
== A note about symbolic fonts ==<br />
<br />
Many of the more decorated .conkyrc's use the fonts PizzaDude Bullets and Pie Charts for Maps. They are available from the AUR as 'ttf-pizzadude-bullets' and 'ttf-piechartsformaps' respectively, or they can be found and downloaded with a quick search and manually installed using the instructions in [[Fonts]].<br />
<br />
== External links ==<br />
*[http://bbs.archlinux.org/viewtopic.php?id=39906 Conky Configs on arch forums]<br />
*[http://conky.sourceforge.net/ Official website]<br />
*[http://freshmeat.net/projects/conky/ Conky] on [[wikipedia:Freshmeat|Freshmeat]]<br />
*[http://sourceforge.net/projects/conky/ Conky] on [[wikipedia:sourceforge.net|SourceForge]]<br />
*[irc://chat.freenode.org/conky #conky] IRC chat channel on [[wikipedia:Freenode|freenode]]<br />
*[http://novel.evilcoder.org/wiki/index.php/ConkyFAQ FAQ]<br />
<!-- vim: set ft=Wikipedia: --></div>MartinZhttps://wiki.archlinux.org/index.php?title=Conky&diff=123630Conky2010-12-03T15:53:54Z<p>MartinZ: /* Tips and tricks */ Added Real Transparency</p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:HOWTOs (English)]]<br />
[[Category:Eye candy (English)]]<br />
{{i18n|Conky}}<br />
<br />
Conky is a system monitor software for the X Window System. It is available for GNU/Linux and FreeBSD. It is free software released under the terms of the GPL license. Conky is able to monitor many system variables including CPU, memory, swap, disk space, temperature, top, upload, download, system messages, and much more. It is extremely configurable, however, the configuration can be a little hard to understand. Conky is a fork of torsmo.<br />
<br />
==Installation and configuration==<br />
*Conky is available in the Extra repository<br />
# pacman -S conky<br />
*Edit config file using an example configuration file from [http://conky.sourceforge.net/screenshots.html homeproject-screenshot]<br />
$ nano ~/.conkyrc<br />
*Alternatively, you can use the default config at {{Filename|/etc/conky/conky.conf}}:<br />
$ cp /etc/conky/conky.conf ~/.conkyrc<br />
<br />
==AUR Packages==<br />
<br />
In addition to the basic conky package in the repos, there are various [[AUR]] packages available with extra compile options enabled.<br />
<br />
*Install [http://aur.archlinux.org/packages.php?ID=19156 conky-nvidia] for nvidia support.<br />
*Install [http://aur.archlinux.org/packages.php?ID=31589 conky-lua] for lua support.<br />
*Install [http://aur.archlinux.org/packages.php?ID=36405 conky-lua-nv] for both lua and nvidia support.<br />
<br />
==Tips and tricks==<br />
===Real Transparency (works with KDE4)===<br />
Since version 1.8.0 conky suppports real transparency. To enable it (and make it work nicely with KDE4), add these lines to {{Filename|~/.conkyrc}}:<br />
own_window yes<br />
own_window_transparent yes<br />
own_window_argb_visual yes<br />
own_window_type desktop<br />
own_window_class conky-semi<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
This replaces the feh method described below.<br />
<br />
===How to prevent flickering===<br />
Conky needs Double Buffer Extension (DBE) support from X server to prevent flickering, because it can't update window fast enough without it. It can be enabled in {{Filename|/etc/X11/xorg.conf}} with {{Codeline|Load "dbe"}} line in {{Codeline|Section "Module"}}. The xorg.conf file has been replaced (1.8.x patch upwards) by {{Filename|/etc/X11/xorg.conf.d}} which contains the particular configuration files. ''DBE'' is loaded automatically. <br />
<br />
To verify: <br />
# cat /var/log/Xorg.0.log | grep dbe<br />
<br />
Output (should be similar):<br />
# [ 86.101] (II) LoadModule: "dbe"<br />
# [ 86.101] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so<br />
# [ 86.111] (II) Module dbe: vendor="X.Org Foundation"<br />
<br />
To enable double-buffer check to have in {{Filename|~/.conkyrc}}:<br />
# Place below the other options, not below TEXT or XY<br />
double_buffer yes<br />
<br />
===Integration with Kdesktop===<br />
Conky with screenshot configuration generate problems with icons visualization. So there are some steps to follow.<br />
*Add these lines to {{Filename|~/.conkyrc}}:<br />
own_window yes<br />
own_window_type normal<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
*if this setting is on, comment it out or delete the line<br />
minimum_size<br />
*To autostart conky create this link<br />
$ ln -s /usr/bin/conky ~/.kde/share/autostart/conkylink<br />
For KDE4 users<br />
$ ln -s /usr/bin/conky ~/.kde4/Autostart/conkylink<br />
*Install feh<br />
# pacman -S feh<br />
*Make a script to allow transparency with the desktop<br />
For KDE3 users<br />
$ nano -w ~/.kde/share/autostart/fehconky <br />
<br />
#!/bin/bash<br />
feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`<br />
For KDE4 users<br />
$ nano -w ~/.kde4/Autostart/fehconky<br />
<br />
#!/bin/bash<br />
feh --bg-scale "`grep 'wallpaper=' ~/.kde4/share/config/plasma-desktop-appletsrc | tail --lines=1 | sed 's/wallpaper=//'`"<br />
use {{Codeline|--bg-center}} if you use a centered wallpaper.<br />
*Make it executable<br />
$ chmod +x ~/.kde/share/autostart/fehconky<br />
KDE4<br />
$ chmod +x ~/.kde4/Autostart/fehconky<br />
*Optionally instead using a script you can add the corresponding line to the bottom of {{Filename|.conkyrc}}<br />
$ nano ~/.conkyrc<br />
For KDE3<br />
${exec feh --bg-scale `dcop kdesktop KBackgroundIface currentWallpaper 1`}<br />
For KDE4<br />
${exec feh --bg-scale "`grep 'wallpaper=' ~/.kde4/share/config/plasma-desktop-appletsrc | tail --lines=1 | sed 's/wallpaper=//'`"}<br />
<br />
===How to display Information about available package updates in Conky===<br />
Take a look at the following threads for scripts to display information about available updates in conky:<br />
*[http://bbs.archlinux.org/viewtopic.php?id=57291 Script to display the number of packages waiting for update.]<br />
*[http://bbs.archlinux.org/viewtopic.php?id=37284 Update notifier in python]<br />
*[http://bbs.archlinux.org/viewtopic.php?id=53761 Scrolling package update notifier]<br />
*[http://bbs.archlinux.org/viewtopic.php?pid=483742#p483742 bash script for users that have enabled ShowSize]<br />
<br />
===How to display a weather forecast in Conky===<br />
See [http://bbs.archlinux.org/viewtopic.php?id=37381 this thread].<br />
<br />
===How To display RSS feeds in Conky===<br />
Conky has the ability to display RSS feeds natively without the need for an outside script to run and output into conky. For example, to display the titles of the ten most recent Planet Arch updates and refresh the feed every minute you would put this into your {{Filename|.conkyrc}}:<br />
<br />
${rss http://planet.archlinux.org/rss20.xml 1 item_titles 10 }<br />
<br />
===How to display Distrowatch.com's Arch ranking in Conky===<br />
See [http://bbs.archlinux.org/viewtopic.php?id=88779 this thread].<br />
<br />
===How to display rtorrent stats in Conky===<br />
See [http://bbs.archlinux.org/viewtopic.php?id=67304 this thread].<br />
<br />
===How to display the number of new emails (Gmail) in Conky===<br />
Create a file named <code>gmail.py</code> in a convenient location (this example uses <code>~/.scripts/</code>) with the following [[Python]] code:<br />
import os<br />
<br />
#Enter your username and password below within double quotes<br />
# eg. username="username" and password="password"<br />
username="****"<br />
password="****"<br />
com="wget -q -O - https://"+username+":"+password+"@mail.google.com/mail/feed/atom --no-check-certificate"<br />
<br />
temp=os.popen(com)<br />
msg=temp.read()<br />
index=msg.find("<fullcount>")<br />
index2=msg.find("</fullcount>")<br />
fc=int(msg[index+11:index2])<br />
<br />
if fc==0:<br />
print "0 new"<br />
else:<br />
print str(fc)+" new"<br />
<br />
The above script did not work for me and my Google Apps account. I modified the script below to work with a Google App mail account [[Python]] code:<br />
import os<br />
<br />
#Enter your domain, username and password below within double quotes<br />
# eg. domain="yourdomain.com", username="username" and password="password"<br />
domain="yourdomain.com"<br />
username="username"<br />
password="password"<br />
com="wget -q -O - https://mail.google.com/a/"+domain+"/feed/atom --http-user="+username+"@"+domain+" --http-password="+password+" --no-check-certificate"<br />
<br />
temp=os.popen(com)<br />
msg=temp.read()<br />
index=msg.find("<fullcount>")<br />
index2=msg.find("</fullcount>")<br />
fc=int(msg[index+11:index2])<br />
<br />
if fc==0:<br />
print "0 new"<br />
else:<br />
print str(fc)+" new"<br />
<br />
Add the following string to your <code>.conkyrc</code> in order the check your gmail account for new email every five minutes (300 seconds) and display: ''# new''<br />
${execpi 300 python ~/.scripts/gmail.py}<br />
<br />
Alternatively, you can use [http://www.stunnel.org/ stunnel].<br />
pacman -S stunnel<br />
<br />
The following configuration is taken from [http://conky.sourceforge.net/faq.html conky's FAQ]<br />
<br />
Modify /etc/stunnel/stunnel.conf:<br />
# Service-level configuration for TLS server<br />
[imap]<br />
client = yes<br />
accept = 143<br />
connect = imap.gmail.com:143<br />
protocol = imap<br />
sslVersion = TLSv1<br />
# Service-level configuration for SSL server<br />
[imaps]<br />
client = yes<br />
accept = 993<br />
connect = imap.gmail.com:993<br />
<br />
...and start stunnel:<br />
/etc/rc.d/stunnel start<br />
<br />
The only thing left is our conkyrc:<br />
imap localhost username * -i 120 -p 993<br />
TEXT<br />
Inbox: ${imap_unseen}/${imap_messages}<br />
<br />
Here I used * as the password for conky to ask for it at start, but you don't ''have'' to do it.<br />
<br />
===How to display new emails from an IMAP account using SSL===<br />
Conky has built in support for IMAP accounts, but doesn't support SSL. This can be provided using this script from [http://www.unix.com/shell-programming-scripting/115322-perl-conky-gmail-imap-unread-message-count.html this forum post]. This requires the Perl/CPAN Modules Mail::IMAPClient and IO::Socket::SSL which are in the perl-mail-imapclient and perl-io-socket-ssl packages<br />
<br />
Create a file named imap.pl in a location to be read by conky. In this file add (with the appropriate changes):<br />
#!/usr/bin/perl<br />
<br />
# gimap.pl by gxmsgx<br />
# description: get the count of unread messages on imap<br />
<br />
use strict;<br />
use Mail::IMAPClient;<br />
use IO::Socket::SSL;<br />
<br />
my $username = 'example.username'; <br />
my $password = 'password123'; <br />
<br />
my $socket = IO::Socket::SSL->new(<br />
PeerAddr => 'imap.server',<br />
PeerPort => 993<br />
)<br />
or die "socket(): $@";<br />
<br />
my $client = Mail::IMAPClient->new(<br />
Socket => $socket,<br />
User => $username,<br />
Password => $password,<br />
)<br />
or die "new(): $@";<br />
<br />
if ($client->IsAuthenticated()) {<br />
my $msgct;<br />
<br />
$client->select("INBOX");<br />
$msgct = $client->unseen_count||'0';<br />
print "$msgct\n";<br />
}<br />
<br />
$client->logout();<br />
<br />
Add to .conkyrc:<br />
${execpi 300 ~/.conky/imap.pl} <br />
or wherever you saved the file.<br />
<br />
Alternatively, you can use stunnel as shown above: [[Conky#How to display the number of new emails (Gmail) in Conky]]<br />
<br />
== User supplied example .conkyrc files ==<br />
=== Graysky's .conkyrc ===<br />
[[http://img444.imageshack.us/img444/8117/shot0.png Screen shot]]<br />
<br />
Modify to fit your system. Optimized for a quad core chip w/ several hdds (although one of them isn't connected for this screenshot) and an nvidia graphics card. You can easily modify this to a dual or single core system with one or whatever number of hdds.<br />
<br />
<pre><br />
# Swap Usage:$color $swapperc%${color lightgrey}<br />
<br />
# the ${template x x x} command uses /sys/bus/platform/devices<br />
# for this to work you need both lm-sensors and hddtemp<br />
# get both from main repos<br />
<br />
# set to yes if you want Conky to be forked in the background<br />
background no<br />
<br />
own_window yes<br />
own_window_type override<br />
own_window_transparent yes<br />
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
<br />
out_to_console no<br />
<br />
# Use Xft?<br />
use_xft yes<br />
<br />
# Xft font when Xft is enabled<br />
#xftfont Bitstream Vera Sans Mono:size=8<br />
xftfont monospace:size=8<br />
<br />
#xftalpha 0.8<br />
<br />
# Update interval in seconds<br />
update_interval 2<br />
<br />
# Create own window instead of using desktop (required in nautilus)<br />
own_window yes<br />
<br />
# Use double buffering (reduces flicker, may not work for everyone)<br />
double_buffer yes<br />
<br />
# Minimum size of text area<br />
#minimum_size 250 5<br />
maximum_width 258<br />
<br />
# Draw shades?<br />
draw_shades no<br />
<br />
# Draw outlines?<br />
draw_outline no<br />
<br />
# Draw borders around text<br />
draw_borders no<br />
<br />
# Stippled borders?<br />
stippled_borders 10<br />
<br />
# border margins<br />
#border_margin 4<br />
<br />
# border width<br />
border_width 1<br />
<br />
# Default colors and also border colors<br />
default_color white<br />
default_shade_color white<br />
default_outline_color white<br />
<br />
# Text alignment, other possible values are commented<br />
#alignment top_left<br />
#minimum_size 10 10<br />
#alignment top_right<br />
alignment bottom_left<br />
#alignment bottom_right<br />
<br />
# Gap between borders of screen and text<br />
gap_x 12<br />
gap_y 37<br />
# Add spaces to keep things from moving about? This only affects certain objects.<br />
use_spacer left<br />
<br />
# Subtract file system buffers from used memory?<br />
no_buffers yes<br />
<br />
# set to yes if you want all text to be in uppercase<br />
uppercase no<br />
<br />
TEXT<br />
${color #6495ed}$nodename$color - $sysname $kernel on $machine<br />
${color lightgrey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg${color lightgrey}<br />
RAM Usage:$color $memperc% or $mem of $memmax${color lightgrey}<br />
$color$stippled_hr${color lightgrey}<br />
Intel Xeon X3360 @ $color${freq_g} GHz${color lightgrey}<br />
${color black}${cpugraph 35,200 5000a0 6495ed}${color white} ${cpugauge 35}${color lightgrey}<br />
${color lightgrey}Core0:$color ${platform coretemp.0 temp 1} °C${color grey} @$color ${cpu cpu1}% ${alignr}${cpubar cpu1 6,120}<br />
${color lightgrey}Core1:$color ${platform coretemp.1 temp 1} °C${color grey} @$color ${cpu cpu2}% ${alignr}${cpubar cpu2 6,120}<br />
${color lightgrey}Core2:$color ${platform coretemp.2 temp 1} °C${color grey} @$color ${cpu cpu3}% ${alignr}${cpubar cpu3 6,120}<br />
${color lightgrey}Core3:$color ${platform coretemp.3 temp 1} °C${color grey} @$color ${cpu cpu4}% ${alignr}${cpubar cpu4 6,120}${color grey}<br />
${color grey} CPU:$color ${platform it87.656 temp 1} °C ${color grey} Fan1:$color ${platform it87.656 fan 1}${color grey} RPM @ $color${execi 8 cat /sys/class/hwmon/hwmon4/device/pwm1}<br />
$color$stippled_hr${color lightgrey}<br />
${color grey} GPU:$color ${execi 8 nvidia-settings -q gpucoretemp | grep sim | cut -c45-46} °C ${color grey} M/B:$color ${platform it87.656 temp 2} °C <br />
${color grey} sda:$color ${execi 300 sudo hddtemp /dev/sda | cut -c34-35} °C ${color grey} sdc:$color ${execi 300 sudo hddtemp /dev/sdc | cut -c25-26} °C<br />
$color$stippled_hr${color lightgrey}<br />
${color lightgrey} /dev/shm: ${color }${fs_used_perc /dev/shm} % ${fs_bar /dev/shm}<br />
${color grey}$stippled_hr${color light grey}<br />
${color lightgrey}Processes:$color $processes ${color grey}Running:$color $running_processes<br />
${color}Name PID CPU% MEM%<br />
${color #6495ed} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}<br />
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}<br />
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}<br />
${color}Mem usage<br />
${color #6495ed} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}<br />
${color lightgrey} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}<br />
${color lightgrey} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}<br />
</pre><br />
<br />
=== A Oneliner Conky ===<br />
<br />
Especially useful with fluxbox, the following configuration file provides a one-line conky, for a single cpu laptop, that fits a 1280-wide screen and shows the following info on top of the screen:<br />
Date, cpu frequency + load + application that busies the cpu the most (with percentage), ram load and application that busies ram the most (with percentage), network upload and download speeds and total downloaded data size, cpu temperature, battery status (as a bar graph), and i/o read and write amounts. Change to taste (and appropriate variables such as BAT0 etc) :)<br />
<br />
<pre><br />
# Conky sample configuration<br />
#<br />
# the list of variables has been removed from this file in favour<br />
# of keeping the documentation more maintainable.<br />
# Check http://conky.sf.net for an up-to-date-list.<br />
<br />
# set to true if you want Conky to be forked in the background<br />
background true<br />
# background no<br />
<br />
# X font when Xft is disabled, you can pick one with program xfontsel artwiz package?<br />
#font 5x8<br />
font 6x9<br />
#font 6x10<br />
#font 6x13<br />
#font 8x13<br />
#font 9x15<br />
#font *mintsmild.se*<br />
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*<br />
<br />
# Use Xft?<br />
use_xft no<br />
<br />
# Set conky on the bottom of all other applications<br />
# on_bottom no<br />
<br />
# Xft font when Xft is enabled<br />
xftfont Mono:size=6<br />
<br />
# Text alpha when using Xft<br />
xftalpha 0.8<br />
<br />
# Print everything to stdout?<br />
# out_to_console no<br />
<br />
# MPD host/port<br />
# mpd_host localhost<br />
# mpd_port 6600<br />
# mpd_password tinker_bell<br />
<br />
# Print everything to console?<br />
# out_to_console no<br />
<br />
# mail spool<br />
# mail_spool $MAIL<br />
<br />
# Update interval in seconds<br />
update_interval 1.0<br />
<br />
# This is the number of times Conky will update before quitting.<br />
# Set to zero to run forever.<br />
total_run_times 0<br />
<br />
# Create own window instead of using desktop (required in nautilus)<br />
#own_window yes<br />
#own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager<br />
<br />
# Use pseudo transparency with own_window?<br />
own_window_transparent yes<br />
<br />
# If own_window_transparent is set to no, you can set the background colour here<br />
# own_window_colour grey<br />
<br />
# Use double buffering (reduces flicker, may not work for everyone)<br />
double_buffer yes<br />
<br />
# Minimum size of text area<br />
minimum_size 280 5<br />
<br />
# Draw shades?<br />
draw_shades yes<br />
<br />
# Draw outlines?<br />
draw_outline yes<br />
<br />
# Draw borders around text<br />
draw_borders no<br />
<br />
# Stippled borders?<br />
stippled_borders 8<br />
<br />
# border margins<br />
border_margin 4<br />
<br />
# border width<br />
border_width 1<br />
<br />
# Default colors and also border colors<br />
default_color white<br />
default_shade_color white<br />
default_outline_color black<br />
<br />
# Text alignment, other possible values are commented<br />
alignment top_left<br />
#alignment top_right<br />
#alignment bottom_left<br />
#alignment bottom_right<br />
#alignment none<br />
<br />
# Gap between borders of screen and text<br />
# same thing as passing -x at command line<br />
gap_x 1<br />
gap_y 1<br />
<br />
# Subtract file system buffers from used memory?<br />
no_buffers yes<br />
<br />
# set to yes if you want all text to be in uppercase<br />
uppercase yes<br />
<br />
# number of cpu samples to average<br />
# set to 1 to disable averaging<br />
cpu_avg_samples 2<br />
<br />
# number of net samples to average<br />
# set to 1 to disable averaging<br />
net_avg_samples 2<br />
<br />
# Force UTF8? note that UTF8 support required XFT<br />
override_utf8_locale no<br />
<br />
<br />
# Add spaces to keep things from moving about? This only affects certain objects.<br />
use_spacer none<br />
<br />
# mldonkey_hostname Hostname for mldonkey stuff, defaults to localhost<br />
# mldonkey_port Mldonkey port, 4001 default<br />
# mldonkey_login Mldonkey login, default none<br />
# mldonkey_password Mldonkey password, default none<br />
<br />
# boinc (seti) dir<br />
# seti_dir /opt/seti<br />
<br />
# variable is given either in format $variable or in ${variable}. Latter<br />
# allows characters right after the variable and must be used in network<br />
# stuff because of an argument<br />
<br />
# stuff after 'TEXT' will be formatted on screen<br />
<br />
TEXT<br />
${color light grey}${time %a %D %k:%M} ${color grey}cpu:$color ${freq_g}Ghz ${cpubar 4,50}$color ($cpu) ${color grey}hog:$color ${top name 1}${offset -35}${top cpu 1}${color grey} |ram:$color ${membar 4,50} ${color grey}hog:$color ${top_mem name 1}${offset -35}${top_mem mem 1}${color grey} |network:$color ${upspeed wlan0} up, ${downspeed wlan0} down, ${totaldown wlan0} downloaded${color grey} |temp:$color $acpitemp${color grey} |battery:$color ${color red}${battery_bar 4,50 BAT1}${color grey} |w/r:$color$diskio_write $diskio_read<br />
</pre><br />
<br />
==A sample rings script with nvidia support:==<br />
<br />
<pre><br />
1 # -- Conky settings -- #<br />
2 background no<br />
3 update_interval 1<br />
4 <br />
5 cpu_avg_samples 2<br />
6 net_avg_samples 2<br />
7 <br />
8 override_utf8_locale yes<br />
9 <br />
10 double_buffer yes<br />
11 no_buffers yes<br />
12 <br />
13 text_buffer_size 2048<br />
14 imlib_cache_size 0<br />
15 <br />
16 # -- Window specifications -- #<br />
17 <br />
18 own_window yes<br />
19 own_window_type normal<br />
20 own_window_transparent yes<br />
21 own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below<br />
22 <br />
23 border_inner_margin 0<br />
24 border_outer_margin 0<br />
25 <br />
26 minimum_size 320 800<br />
27 maximum_width 320<br />
28 <br />
29 alignment bottom_right<br />
30 gap_x 0<br />
31 gap_y 0<br />
32 <br />
33 # -- Graphics settings -- #<br />
34 draw_shades no<br />
35 draw_outline no<br />
36 draw_borders no<br />
37 draw_graph_borders yes<br />
38 <br />
39 # -- Text settings -- #<br />
40 use_xft yes<br />
41 xftfont MaiandraGD:size=24<br />
42 xftalpha 0.4<br />
43 <br />
44 uppercase no<br />
45 <br />
46 default_color 888888<br />
47 <br />
48 # -- Lua Load -- #<br />
49 lua_load ~/conky/lua/lua.lua<br />
50 lua_draw_hook_pre ring_stats<br />
51 <br />
52 TEXT<br />
53 ${alignr}${voffset 53}${goto 90}${font MaiandraGD:size=11}${time %A, %d %B %Y}<br />
54 <br />
55 <br />
56 ${voffset 5}${goto 164}${font MaiandraGD:size=16}${time %H:%M}<br />
57 <br />
58 <br />
59 <br />
60 ${voffset -40}${goto 100}${font MaiandraGD:size=9}Kernel:${offset 70}Uptime:<br />
61 ${goto 90}${font MaiandraGD:size=9}$kernel${offset 40}$uptime<br />
62 ${voffset 57}${goto 117}${font snap:size=8}${cpu cpu0}%<br />
63 ${goto 117}${cpu cpu1}%<br />
64 ${goto 117}CPU<br />
65 ${voffset 19}${goto 145}${memperc}%<br />
66 ${goto 145}$swapperc%<br />
67 ${goto 145}MEM<br />
68 ${voffset 25}${goto 170}${nvidia gpufreq}<br />
69 ${goto 170}${nvidia memfreq}<br />
70 ${goto 170}GPU<br />
71 ${voffset 27}${goto 198}${totaldown ppp0}<br />
72 ${goto 198}${totalup ppp0}<br />
73 ${goto 205}NET<br />
74 ${voffset 21}<br />
75 ${goto 222}${fs_used /home}<br />
76 ${goto 230}DISK<br />
<br />
</pre><br />
*And the required lua.lua script:<br />
<br />
<pre><br />
1 --[[<br />
2 Ring Meters by londonali1010 (2009)<br />
3 <br />
4 This script draws percentage meters as rings. It is fully customisable; all options are described in the script.<br />
5 <br />
6 IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if s tatement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updat es since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if state ment (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0 .5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.<br />
7 <br />
8 To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):<br />
9 lua_load ~/scripts/rings-v1.2.1.lua<br />
10 lua_draw_hook_pre ring_stats<br />
11 <br />
12 Changelog:<br />
13 + v1.2.1 -- Fixed minor bug that caused script to crash if conky_parse() returns a nil value (20.10.2009)<br />
14 + v1.2 -- Added option for the ending angle of the rings (07.10.2009)<br />
15 + v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numer ical value rather than a percentage (29.09.2009)<br />
16 + v1.0 -- Original release (28.09.2009)<br />
17 ]]<br />
18 <br />
19 settings_table = {<br />
20 {<br />
21 -- Edit this table to customise your rings.<br />
22 -- You can create more rings simply by adding more elements to settings_table.<br />
23 -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.<br />
24 name='time',<br />
25 -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument . If you would not use an argument in the Conky variable, use ''.<br />
26 arg='%I.%M',<br />
27 -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.<br />
28 max=12,<br />
29 -- "bg_colour" is the colour of the base ring.<br />
30 bg_colour=0x888888,<br />
31 -- "bg_alpha" is the alpha value of the base ring.<br />
32 bg_alpha=0.3,<br />
33 -- "fg_colour" is the colour of the indicator part of the ring.<br />
34 fg_colour=0x888888,<br />
35 -- "fg_alpha" is the alpha value of the indicator part of the ring.<br />
36 fg_alpha=0.5,<br />
37 -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky wi ndow.<br />
38 x=191, y=145,<br />
39 -- "radius" is the radius of the ring.<br />
40 radius=32,<br />
41 -- "thickness" is the thickness of the ring, centred around the radius.<br />
42 thickness=4,<br />
43 -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or n egative.<br />
44 start_angle=0,<br />
45 -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negat ive, but must be larger (e.g. more clockwise) than start_angle.<br />
46 end_angle=360<br />
47 },<br />
48 {<br />
49 name='time',<br />
50 arg='%M.%S',<br />
51 max=60,<br />
52 bg_colour=0x888888,<br />
53 bg_alpha=0.3,<br />
54 fg_colour=0x888888,<br />
55 fg_alpha=0.5,<br />
56 x=191, y=145,<br />
57 radius=37,<br />
58 thickness=4,<br />
59 start_angle=0,<br />
60 end_angle=360<br />
61 },<br />
62 {<br />
63 name='time',<br />
64 arg='%S',<br />
65 max=60,<br />
66 bg_colour=0x888888,<br />
67 bg_alpha=0.3,<br />
68 fg_colour=0x888888,<br />
69 fg_alpha=0.5,<br />
70 x=191, y=145,<br />
71 radius=42,<br />
72 thickness=4,<br />
73 start_angle=0,<br />
74 end_angle=360<br />
75 },<br />
76 {<br />
77 name='cpu',<br />
78 arg='cpu0',<br />
79 max=100,<br />
80 bg_colour=0x888888,<br />
81 bg_alpha=0.3,<br />
82 fg_colour=0x888888,<br />
83 fg_alpha=0.5,<br />
84 x=140, y=300,<br />
85 radius=26,<br />
86 thickness=5,<br />
87 start_angle=-90,<br />
88 end_angle=180<br />
89 },<br />
90 {<br />
91 name='cpu',<br />
92 arg='cpu1',<br />
93 max=100,<br />
94 bg_colour=0x888888,<br />
95 bg_alpha=0.3,<br />
96 fg_colour=0x888888,<br />
97 fg_alpha=0.5,<br />
98 x=140, y=300,<br />
99 radius=20,<br />
100 thickness=5,<br />
101 start_angle=-90,<br />
102 end_angle=180<br />
103 },<br />
104 {<br />
105 name='memperc',<br />
106 arg='',<br />
107 max=100,<br />
108 bg_colour=0x888888,<br />
109 bg_alpha=0.3,<br />
110 fg_colour=0x888888,<br />
111 fg_alpha=0.5,<br />
112 x=170, y=350,<br />
113 radius=26,<br />
114 thickness=5,<br />
115 start_angle=-90,<br />
116 end_angle=180<br />
117 },<br />
118 {<br />
119 name='swapperc',<br />
120 arg='',<br />
121 max=100,<br />
122 bg_colour=0x888888,<br />
123 bg_alpha=0.3,<br />
124 fg_colour=0x888888,<br />
125 fg_alpha=0.5,<br />
126 x=170, y=350,<br />
127 radius=20,<br />
128 thickness=5,<br />
129 start_angle=-90,<br />
130 end_angle=180<br />
131 },<br />
132 {<br />
133 name='time',<br />
134 arg='%d',<br />
135 max=31,<br />
136 bg_colour=0x888888,<br />
137 bg_alpha=0.3,<br />
138 fg_colour=0x888888,<br />
139 fg_alpha=0.5,<br />
140 x=191, y=145,<br />
141 radius=50,<br />
142 thickness=5,<br />
143 start_angle=-140,<br />
144 end_angle=-30<br />
145 },<br />
146 {<br />
147 name='time',<br />
148 arg='%m',<br />
149 max=12,<br />
150 bg_colour=0x888888,<br />
151 bg_alpha=0.3,<br />
152 fg_colour=0x888888,<br />
153 fg_alpha=0.5,<br />
154 x=191, y=145,<br />
155 radius=50,<br />
156 thickness=5,<br />
157 start_angle=30,<br />
158 end_angle=140<br />
159 },<br />
160 -- {<br />
161 -- name='fs_used_perc',<br />
162 -- arg='/',<br />
163 -- max=100,<br />
164 -- bg_colour=0x888888,<br />
165 -- bg_alpha=0.3,<br />
166 -- fg_colour=0x888888,<br />
167 -- fg_alpha=0.5,<br />
168 -- x=260, y=503,<br />
169 -- radius=26,<br />
170 -- thickness=5,<br />
171 -- start_angle=-90,<br />
172 -- end_angle=180<br />
173 -- },<br />
174 {<br />
175 name='fs_used_perc',<br />
176 arg='/home',<br />
177 max=100,<br />
178 bg_colour=0x888888,<br />
179 bg_alpha=0.3,<br />
180 fg_colour=0x888888,<br />
181 fg_alpha=0.5,<br />
182 x=260, y=503,<br />
183 radius=20,<br />
184 thickness=5,<br />
185 start_angle=-90,<br />
186 end_angle=180<br />
187 },<br />
188 {<br />
189 name='totalup',<br />
190 arg='ppp0',<br />
191 max=2,<br />
192 bg_colour=0x888888,<br />
193 bg_alpha=0.3,<br />
194 fg_colour=0x888888,<br />
195 fg_alpha=0.5,<br />
196 x=230, y=452,<br />
197 radius=20,<br />
198 thickness=5,<br />
199 start_angle=-90,<br />
200 end_angle=180<br />
201 },<br />
202 {<br />
203 name='totaldown',<br />
204 arg='ppp0',<br />
205 max=2,<br />
206 bg_colour=0x888888,<br />
207 bg_alpha=0.3,<br />
208 fg_colour=0x888888,<br />
209 fg_alpha=0.5,<br />
210 x=230, y=452,<br />
211 radius=26,<br />
212 thickness=5,<br />
213 start_angle=-90,<br />
214 end_angle=180<br />
215 },<br />
216 {<br />
217 name='nvidia',<br />
218 arg='gpufreq',<br />
219 max=475,<br />
220 bg_colour=0x888888,<br />
221 bg_alpha=0.3,<br />
222 fg_colour=0x888888,<br />
223 fg_alpha=0.5,<br />
224 x=200, y=401,<br />
225 radius=26,<br />
226 thickness=5,<br />
227 start_angle=-90,<br />
228 end_angle=180<br />
229 },<br />
230 {<br />
231 name='nvidia',<br />
232 arg='memfreq',<br />
233 max=700,<br />
234 bg_colour=0x888888,<br />
235 bg_alpha=0.3,<br />
236 fg_colour=0x888888,<br />
237 fg_alpha=0.5,<br />
238 x=200, y=401,<br />
239 radius=20,<br />
240 thickness=5,<br />
241 start_angle=-90,<br />
242 end_angle=180<br />
243 },<br />
244 }<br />
245 <br />
246 require 'cairo'<br />
247 <br />
248 function rgb_to_r_g_b(colour,alpha)<br />
249 return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha<br />
250 end<br />
251 <br />
252 function draw_ring(cr,t,pt)<br />
253 local w,h=conky_window.width,conky_window.height<br />
254 <br />
255 local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']<br />
256 local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']<br />
257 <br />
258 local angle_0=sa*(2*math.pi/360)-math.pi/2<br />
259 local angle_f=ea*(2*math.pi/360)-math.pi/2<br />
260 local t_arc=t*(angle_f-angle_0)<br />
261 <br />
262 -- Draw background ring<br />
263 <br />
264 cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)<br />
265 cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))<br />
266 cairo_set_line_width(cr,ring_w)<br />
267 cairo_stroke(cr)<br />
268 <br />
269 -- Draw indicator ring<br />
270 <br />
271 cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)<br />
272 cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))<br />
273 cairo_stroke(cr)<br />
274 end<br />
275 <br />
276 function conky_ring_stats()<br />
277 local function setup_rings(cr,pt)<br />
278 local str=''<br />
279 local value=0<br />
280 <br />
281 str=string.format('${%s %s}',pt['name'],pt['arg'])<br />
282 str=conky_parse(str)<br />
283 <br />
284 value=tonumber(str)<br />
285 if value == nil then value = 0 end<br />
286 pct=value/pt['max']<br />
287 <br />
288 draw_ring(cr,pct,pt)<br />
289 end<br />
290 <br />
291 if conky_window==nil then return end<br />
292 local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_w indow.height)<br />
293 <br />
294 local cr=cairo_create(cs)<br />
295 <br />
296 local updates=conky_parse('${updates}')<br />
297 update_num=tonumber(updates)<br />
298 <br />
299 if update_num>5 then<br />
300 for i in pairs(settings_table) do<br />
301 setup_rings(cr,settings_table[i])<br />
302 end<br />
303 end<br />
304 end<br />
~ <br />
</pre><br />
== A note about symbolic fonts ==<br />
<br />
Many of the more decorated .conkyrc's use the fonts PizzaDude Bullets and Pie Charts for Maps. They are available from the AUR as 'ttf-pizzadude-bullets' and 'ttf-piechartsformaps' respectively, or they can be found and downloaded with a quick search and manually installed using the instructions in [[Fonts]].<br />
<br />
== External links ==<br />
*[http://bbs.archlinux.org/viewtopic.php?id=39906 Conky Configs on arch forums]<br />
*[http://conky.sourceforge.net/ Official website]<br />
*[http://freshmeat.net/projects/conky/ Conky] on [[wikipedia:Freshmeat|Freshmeat]]<br />
*[http://sourceforge.net/projects/conky/ Conky] on [[wikipedia:sourceforge.net|SourceForge]]<br />
*[irc://chat.freenode.org/conky #conky] IRC chat channel on [[wikipedia:Freenode|freenode]]<br />
*[http://novel.evilcoder.org/wiki/index.php/ConkyFAQ FAQ]<br />
<!-- vim: set ft=Wikipedia: --></div>MartinZhttps://wiki.archlinux.org/index.php?title=USB_storage_devices&diff=102470USB storage devices2010-04-09T19:23:14Z<p>MartinZ: format correction</p>
<hr />
<div>[[Category:Storage (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|USB Storage Devices}}<br />
<br />
This document describes how to use the popular USB memory sticks with Linux. However, it is also valid for other devices such as digital cameras that act as if they were just a USB storage.<br />
<br />
If you have an up-to-date system with the standard Arch kernel, [[udev]] and a modern [[Desktop Environment]] your device should just show up on your desktop, no need to open a console.<br />
<br />
Otherwise see [[#Manual mounting|Manual mounting]] below.<br />
<br />
==Auto-mounting of USB devices==<br />
See [[Udev#Auto mounting USB devices|Udev:Auto mounting USB devices]]<br />
<br />
==Manual mounting==<br />
<br />
{{Note|Before you decide that your Arch Linux doesn't mount your USB device, be sure to check all available ports. Since some might not share the same controller, and will then not be able to mount the device.}}<br />
<br />
===Getting a kernel that supports usb_storage===<br />
<br />
If you do not use a custom-made kernel, you are ready to go, for all Arch Linux stock kernels are properly configured. If you do use a custom-made kernel, ensure it is compiled with SCSI-Support, SCSI-Disk-Support and usb_storage. If you use the latest [[udev]], you may just plug your device in and the system will automatically load all necessary kernel modules. Older releases of udev would need hotplug installed too. Otherwise, you can do the same thing manually:<br />
<br />
# modprobe usb-storage<br />
# modprobe sd_mod (only for non SCSI kernels)<br />
<br />
===Mounting USB memory===<br />
<br />
In order to mount the device you need to know the path to the device node, there are at least two ways of finding out:<br />
*if the partition you want to mount has a label search in {{Filename|/dev/disk/by-label}}<br />
*look in {{Filename|/dev/disk/by-id/}} for devices starting with usb, the usable partitions will end with -part#<br />
*search in the output of {{Codeline|dmesg}} for the kernel device name, you can use {{Codeline|grep}} to help you find what you are looking for: {{Codeline|<nowiki>dmesg | grep -e "sd[a-z]"</nowiki>}}<br />
{{Note|If you can't find your device you can use lsusb to verify that it is indeed recognized by the system.}}<br />
<br />
You also need to create the directory in which you are going to mount the device:<br />
# mkdir /mnt/usbstick<br />
<br />
Finally you can mount the device as root with this command (don't forget to replace '''device_node''' by the path you found):<br />
# mount '''device_node''' /mnt/usbstick<br />
<br />
If {{Codeline|mount}} does not recognized the format of the device you can try to use the {{Codeline|-t}} argument, see {{Codeline|man mount}} for details.<br />
<br />
{{Note|If mounting your stick doesn't work you can try to repartition it, see [[Format a device]].}}<br />
<br />
===Mounting the USB stick as normal user===<br />
<br />
If you want non-root users to be able to mount a USB memory stick, add the following line to your /etc/fstab file:<br />
/dev/sda1 /mnt/usbstick vfat rw,noauto,async,'''user''' 0 0<br />
<br />
{{Note|Where '''/dev/sda1''' is replaced with the path to your own usbstick, see [[USB_Storage_Devices#Mounting_USB_memory|Mounting USB memory]].}}<br />
<br />
Now, any user can mount it with:<br />
$ mount /mnt/usbstick<br />
<br />
And unmount it with:<br />
$ umount /mnt/usbstick<br />
<br />
===Mounting the USB stick with flush option===<br />
<br />
The '''flush''' option for mounting vfat has been added since kernel 2.6.19 as a replacement to '''async'''. It basically makes data to flush more often, thus making copy dialogs or progress bars to stays up until things are on the disk. [http://forums.gentoo.org/viewtopic-t-537871.html]<br />
<br />
/dev/sda1 /mnt/usbstick vfat rw,noauto,'''flush''',user 0 0</div>MartinZhttps://wiki.archlinux.org/index.php?title=USB_storage_devices&diff=102467USB storage devices2010-04-09T19:22:01Z<p>MartinZ: Added new section for flush option</p>
<hr />
<div>[[Category:Storage (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|USB Storage Devices}}<br />
<br />
This document describes how to use the popular USB memory sticks with Linux. However, it is also valid for other devices such as digital cameras that act as if they were just a USB storage.<br />
<br />
If you have an up-to-date system with the standard Arch kernel, [[udev]] and a modern [[Desktop Environment]] your device should just show up on your desktop, no need to open a console.<br />
<br />
Otherwise see [[#Manual mounting|Manual mounting]] below.<br />
<br />
==Auto-mounting of USB devices==<br />
See [[Udev#Auto mounting USB devices|Udev:Auto mounting USB devices]]<br />
<br />
==Manual mounting==<br />
<br />
{{Note|Before you decide that your Arch Linux doesn't mount your USB device, be sure to check all available ports. Since some might not share the same controller, and will then not be able to mount the device.}}<br />
<br />
===Getting a kernel that supports usb_storage===<br />
<br />
If you do not use a custom-made kernel, you are ready to go, for all Arch Linux stock kernels are properly configured. If you do use a custom-made kernel, ensure it is compiled with SCSI-Support, SCSI-Disk-Support and usb_storage. If you use the latest [[udev]], you may just plug your device in and the system will automatically load all necessary kernel modules. Older releases of udev would need hotplug installed too. Otherwise, you can do the same thing manually:<br />
<br />
# modprobe usb-storage<br />
# modprobe sd_mod (only for non SCSI kernels)<br />
<br />
===Mounting USB memory===<br />
<br />
In order to mount the device you need to know the path to the device node, there are at least two ways of finding out:<br />
*if the partition you want to mount has a label search in {{Filename|/dev/disk/by-label}}<br />
*look in {{Filename|/dev/disk/by-id/}} for devices starting with usb, the usable partitions will end with -part#<br />
*search in the output of {{Codeline|dmesg}} for the kernel device name, you can use {{Codeline|grep}} to help you find what you are looking for: {{Codeline|<nowiki>dmesg | grep -e "sd[a-z]"</nowiki>}}<br />
{{Note|If you can't find your device you can use lsusb to verify that it is indeed recognized by the system.}}<br />
<br />
You also need to create the directory in which you are going to mount the device:<br />
# mkdir /mnt/usbstick<br />
<br />
Finally you can mount the device as root with this command (don't forget to replace '''device_node''' by the path you found):<br />
# mount '''device_node''' /mnt/usbstick<br />
<br />
If {{Codeline|mount}} does not recognized the format of the device you can try to use the {{Codeline|-t}} argument, see {{Codeline|man mount}} for details.<br />
<br />
{{Note|If mounting your stick doesn't work you can try to repartition it, see [[Format a device]].}}<br />
<br />
===Mounting the USB stick as normal user===<br />
<br />
If you want non-root users to be able to mount a USB memory stick, add the following line to your /etc/fstab file:<br />
/dev/sda1 /mnt/usbstick vfat rw,noauto,async,'''user''' 0 0<br />
<br />
{{Note|Where '''/dev/sda1''' is replaced with the path to your own usbstick, see [[USB_Storage_Devices#Mounting_USB_memory|Mounting USB memory]].}}<br />
<br />
Now, any user can mount it with:<br />
$ mount /mnt/usbstick<br />
<br />
And unmount it with:<br />
$ umount /mnt/usbstick<br />
<br />
<br />
===Mounting the USB stick with flush option===<br />
<br />
The '''flush''' option for mounting vfat has been added since kernel 2.6.19 as a replacement to '''async'''. It basically makes data to flush more often, thus making copy dialogs or progress bars to stays up until things are on the disk. [http://forums.gentoo.org/viewtopic-t-537871.html]<br />
<br />
/dev/sda1 /mnt/usbstick vfat rw,noauto,'''flush''',user 0 0</div>MartinZhttps://wiki.archlinux.org/index.php?title=Xfce&diff=102458Xfce2010-04-09T19:12:27Z<p>MartinZ: /* Change mount options */ added flush option for vfat</p>
<hr />
<div>{{accuracy}}<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Xfce}}<br />
<br />
== What is Xfce? ==<br />
Xfce is a Desktop Environment, like GNOME or KDE. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, 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 [http://www.opengroup.org/cde/ CDE] than Windows or Mac. It has a much slower development cycle, but is very stable and extremely fast. Xfce is great for older hardware.<br />
<br />
== Why use Xfce? ==<br />
Here is a (subjective) list of reasons to use Xfce:<br />
* It's fast; faster than the other major DEs.<br />
* It's stable. In the long time Xfce-4 has been out, only a relatively small handful of bugs has been discovered, despite it having a rather large following.<br />
* It's pretty. It uses GTK2 and is themable. You can make Xfce look very nice. The fonts are completely AA as well.<br />
* It works great with multiple monitors. Xfce's [[Wikipedia:Xinerama|Xinerama]] support is arguably the best out of any WM/DE.<br />
* It doesn't get in your way. You'll find Xfce helps your work flow, rather than always making itself "present."<br />
* It comes with a built-in compositor which allows for true transparency, among other cool things.<br />
<br />
== Why not use Xfce? ==<br />
Here is a (subjective) list of reasons not to use Xfce:<br />
* Doesn't contain all the features and integration of the major DEs.<br />
* Slower development cycle.<br />
* Because it's based on the CDE design, the layout may not be as familiar.<br />
<br />
== How to Install Xfce ==<br />
Xfce is somewhat modular. That means there is no need for you to run every part, you can pick and choose some of them. Because of this, Xfce has some separate Arch packages.<br />
<br />
=====Installing Xfce=====<br />
To install the base Xfce system, run:<br />
<br />
# pacman -S xfce4<br />
<br />
If you want extras, like panel plugins, run this:<br />
<br />
# pacman -S xfce4-goodies<br />
<br />
When asked by pacman if you wish to install the whole group, you can select 'no' to install only the packages you wish.<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 />
<br />
In order to get the xfce4-mixer to work with alsa, you need to install gstreamer0.10-base-plugins. (See below for help with OSS.)<br />
<br />
# pacman -S gstreamer0.10-base-plugins<br />
<br />
At the time of this writing there is a known issue with Xfce missing icons in the default menu. To fix this you have to install the following icon sets:<br />
<br />
# pacman -S gnome-icon-theme<br />
or even<br />
# pacman -S tango-icon-theme<br />
<br />
=====Installing and configuring the Daemons=====<br />
You must get the hal daemon working before you start Xfce. To do this:<br />
<br />
# sudo /etc/rc.d/hal start<br />
<br />
Add '''hal''' to the '''DAEMONS''' array in rc.conf so you don't have to start is manually every time. Do not background it.<br />
'''hal''' relies on and will automatically start '''dbus'''. If you are experiencing issues you may add dbus to the DAEMONS line in rc.conf as well. When adding dbus, ensure it directly precedes hal. Example:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' '''hal''' @network @netfs @crond @cpufreq @alsa)<br />
<br />
Install gamin (the successor of fam). It is configured to automatically run in the background by default, do not add it to rc.conf.<br />
<br />
# pacman -S gamin<br />
<br />
== Running Xfce ==<br />
As of Xfce 4.2.0, the Arch packages add the proper session files for Xfce. They are contained in the xfce-utils package, which should be installed with a base installation.<br />
<br />
=====Automatically at boot time=====<br />
See [[Display Manager]] to install and configure a Display Manager.<br />
<br />
=====Manually=====<br />
If you have not created a ~/.xinitrc yet, do so with:<br />
<br />
$ cp /etc/skel/.xinitrc ~/.xinitrc<br />
<br />
and add the following line:<br />
<br />
exec ck-launch-session startxfce4<br />
<br />
Example:<br />
#!/bin/sh<br />
#<br />
# ~/.xinitrc<br />
#<br />
# Executed by startx (run your window manager from here)<br />
<br />
# exec gnome-session<br />
# exec startkde<br />
# exec startxfce4<br />
# ...or the Window Manager of your choice<br />
exec ck-launch-session startxfce4<br />
<br />
{{{Note |<code>ck-launch-session</code> starts a clean consolekit session needed by Xfce for power management, automounting, shutting down/rebooting etc. Consolekit/policykit capable display managers such as gdm do this for you automatically.}}}<br />
<br />
=====Shutting down and rebooting from withing Xfce=====<br />
* Make sure that '''dbus''' and '''hal''' are enabled in the DAEMONS array in /etc/rc.conf.<br />
* Make sure that you are using <code>exec ck-launch-session startxfce4</code> in ~/.xinitrc or a consolekit/policykit capable display manager (e.g. gdm)<br />
<br />
Then add your normal user to the ''shutdown'' group:<br />
<br />
# gpasswd -a USER power<br />
<br />
{{{Note |This group is only used by HAL, so you still need root privileges for shutting down the system via command line (halt/poweroff/shutdown).}}}<br />
<br />
see http://bbs.archlinux.org/viewtopic.php?id=59954 for more details.<br />
<br />
== Tips ==<br />
=== Commands for the settings manager ===<br />
<br />
There is no official documentation for the commands executed. One must look at .desktop files ''/usr/share/applications/'' folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:<br />
<br />
xfce-setting-show backdrop<br />
xfce-setting-show display<br />
xfce-setting-show keyboard<br />
xfce4-menueditor<br />
xfce-setting-show sound<br />
xfce-setting-show mouse<br />
xfce-setting-show session<br />
xfce-setting-show<br />
xfce-setting-show splash<br />
xfce-setting-show ui<br />
xfce-setting-show xfwm4<br />
xfce-setting-show wmtweaks<br />
xfce-setting-show workspaces<br />
xfce-setting-show printing_system<br />
xfce4-appfinder<br />
xfce4-autostart-editor<br />
xfce4-panel -c<br />
<br />
To review all the available setting manager commands run the following in a terminal:<br />
<br />
$ grep xfce-setting-show /usr/share/applications/xfce*settings*<br />
<br />
=== A drop down console like in quake ===<br />
<br />
# pacman -S tilda<br />
<br />
will install tilda, a drop down console, similar to yakuake. A more lightweight alternative would be '''stjerm''' which can be found in the AUR.<br />
<br />
To configure tilda, type<br />
<br />
# tilda -C<br />
<br />
which opens a configuration window in X.<br />
<br />
====Guake====<br />
Another functional alternative is guake, which is available in the community repo:<br />
<br />
# pacman -S guake<br />
<br />
=== How to enable the compositor in Xfce 4.4 ===<br />
Xfce 4.4 comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on.<br />
<br />
You can find it in Settings->Window manager tweaks. But if it isn't there, take the following steps:<br />
* Open up $HOME/.config/xfce4/mcs_settings/wmtweaks.xml, and ensure that ''<option name="Xfwm/UseCompositing" type="int" value="1"/>'' is present. If the wmtweaks file is not there, open up the Settings->Window manager tweaks and change some things, then close it, and the file should appear.<br />
* Make sure the following lines are in your /etc/X11/xorg.conf file:<br />
<pre><br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
EndSection<br />
</pre><br />
* Finally, restart X and the compositor should be available.<br />
<br />
=== Why doesn't my desktop refresh? ===<br />
Xfce 4.4 uses [[FAM]] (File Alteration Monitor) or [[gamin]] (FAM's successor) to get notification when a file or directory changes.<br />
If you decide to use FAM, don't forget to add 'fam' to the list of DAEMONS in /etc/rc.conf.<br />
This step is not necessary for gamin.<br />
<br />
NOTE: After recent updates, FAM has caused issues opening some mounts, such as sshfs, that gamin does not have an issue with.<br />
<br />
=== Use a transparent background for desktop icon titles ===<br />
To change the default white background of desktop icon titles to something more suitable, edit the .gtkrc-2.0 file in your home directory (or create the file if needed) and add the following:<br />
style "xfdesktop-icon-view" {<br />
XfdesktopIconView::label-alpha = 10<br />
base[NORMAL] = "#000000"<br />
base[SELECTED] = "#71B9FF"<br />
base[ACTIVE] = "#71FFAD"<br />
fg[NORMAL] = "#ffffff"<br />
fg[SELECTED] = "#71B9FF"<br />
fg[ACTIVE] = "#71FFAD" }<br />
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"<br />
<br />
=== How to customize xfce panel background ===<br />
The same, edit ~/.gtkrc-2.0. ( foo.bar is path to your image )<br />
Note that you must place the image in the same directory as the configuration, which is ~/. You can not specify the path to the image, or it won't work.<br />
style "panel-background" {<br />
bg_pixmap[NORMAL] = "foo.bar"<br />
bg_pixmap[PRELIGHT] = "foo.bar"<br />
bg_pixmap[ACTIVE] = "foo.bar"<br />
bg_pixmap[SELECTED] = "foo.bar"<br />
bg_pixmap[INSENSITIVE] = "foo.bar"<br />
}<br />
widget_class "*Panel*" style "panel-background"<br />
<br />
=== Quicklaunch and smart bookmark plugins for xfce panel ===<br />
<br />
If these options do not appear in your "add new items" panel menu when the appropriate package(s) are installed, edit /usr/share/xfce4/panel-plugins/quicklauncher.desktop as follows:<br />
<br />
#X-XFCE-Module=/usr/lib/xfce4/panel-plugins/libquicklauncher.so<br />
X-XFCE-Module=quicklauncher<br />
X-XFCE-Module-Path=/usr/lib/xfce4/panel-plugins<br />
<br />
and similarly for smartbookmark (replacing quicklauncher->smartbookmark in the above).<br />
<br />
This might only be a problem for those installing xfce4-panel and plugins seperately from an actual xfce4 install.<br />
<br />
=== How to customize starting xfce ===<br />
<br />
This includes getting necessary environment variables into the GUI runtime.<br />
<br />
* Copy the file /etc/xdg/xfce4/xinitrc to ~/.config/xfce4/<br />
* Edit this file. For example, you can add something like this somehwere in the middle:<br />
* source $HOME/.bashrc<br />
* # start rxvt-unicode server<br />
* urxvtd -q -o -f<br />
<br />
=== How to add themes to XFCE === <br />
<br />
1. Go to [http://xfce-look.org xfce-look.org] and click "Themes" in the left navbar. Look around for a theme you want and click "Download".<br />
<br />
2. Go to the directory where you downloaded the tarball/file and extract it using Squeeze/Xarchiver/CLI.<br />
<br />
3. Move the extracted folder to /usr/share/themes (for all users) or ~/.themes (for just you). Inside /usr/share/themes/abc, there is a folder that you create called xfwm4 that will contain whatever files that is included with that theme.<br />
<br />
4. GTK theme is available here:<br />
Menu --> Settings --> Appearance<br />
You select your xfwm theme in:<br />
Menu --> Settings --> Window Manager<br />
<br />
=== Fonts ===<br />
<br />
If you find the standard fonts rather thick and or slightly out of focus open Settings>Appearence click on the Fonts tab and under Hinting: change to Full<br />
<br />
You could also try using a custom DPI setting<br />
<br />
=== Replacements for the default 'menu' panel applet ===<br />
The "Ubuntu System Panel" (Gnome) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows Gnome applets to be used in Xfce.<br />
<br />
It is available in [http://aur.archlinux.org/packages.php?ID=10259 the AUR]<br />
<br />
=== How to remove menu entries from the System menu === <br />
With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:<br />
# Go to the /usr/share/applications folder. Type in the terminal (Xfce menu > System > Terminal): <pre>$ cd /usr/share/applications</pre><br />
# This folder should be full of .desktop files. To see how many there are, type: <pre>$ ls</pre>Say the one you want to edit is Firefox. Type in the terminal:<pre>$ sudo mousepad firefox.desktop</pre><br />
# In the bottom of the file, paste the following: <pre>NoDisplay=true</pre><br />
# Save and exit. Now Firefox won’t show up in the System menu. You can do this with any program.<br />
<br />
=== But what do you do with menu entries which do not show up in /usr/share/applications (e.g., apps installed via wine)? === <br />
I've found some shortcuts that show in the category “Other” in this directory:<br />
~/.local/share/applications/wine/.<br />
<br />
=== How do I get xfce4-mixer and OSS4 to work together? ===<br />
<br />
==== For Old Xfce4.4 ====<br />
It seems as if the xfce4-mixer package in the binary repositories is only compiled for ALSA sound support. For those of us who use OSS4, there is a very easy way to get xfce4-mixer to support OSS4. First, navigate to the SVN entry for the xfce4-mixer package[http://repos.archlinux.org/viewvc.cgi/xfce4-mixer/repos/extra-i686/]:<br />
<br />
Then download both the PKGBUILD and the .install file to the same directory on your machine. Next, cd to that directory, and look for this line in the PKGBUILD file (it's near the bottom):<br />
<br />
--with-sound=alsa || return 1<br />
<br />
Change '''alsa''' to '''oss''' in that line and save the file. Then run:<br />
<br />
makepkg PKGBUILD<br />
<br />
This takes a few minutes, depending upon the speed of your system and your compiling options in /etc/makepkg.conf.<br />
<br />
After that, there will be a .pkg.tar.gz file in the current directory, and all you need to do to finish installing xfce4-mixer is:<br />
<br />
pacman -U xfce4-mixer-4.4.2-2-i686.pkg.tar.gz<br />
<br />
Your file version and architecture may be different from mine; 4.4.2-2 32-bit was the version I installed on my system.<br />
<br />
'''EDIT:''' I have just posted the modified version of xfce4-mixer as xfce4-mixer-oss4 on AUR, and you can simply install that as you would any ABS package and achieve the same results as above.<br />
<br />
--[[User:Kclive18|Kclive18]] 18:02, 23 September 2008 (EDT)<br />
<br />
==== New Xfce4.6 ====<br />
Xfce 4.6 uses gstreamer as the backend to control volume, so first you have to make gstreamer cooperate with xfce4-mixer.<br />
<br />
pacman -S xfce4-mixer gstreamer0.10-base-plugins<br />
<br />
(Optional) Second, try to install gstreamer0.10-good-plugins, gstreamer0.10-bad-plugins<br />
<br />
pacman -S gstreamer0.10-good-plugins gstreamer0.10-bad-plugins<br />
<br />
login and logout, or just remove the mixer plugin and add it again. If it doesn't work at all, then you have to compile gstreamer0.10-good-plugins yourself. and can <br />
<br />
Download the PKGBUILD and other files needed from ABS or [http://repos.archlinux.org/viewvc.cgi/gstreamer0.10-good-plugins/repos/extra-i686/ here], edit the PKGBUILD, add --enable-oss. <br />
<br />
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var '''--enable-oss'''\<br />
--disable-static --enable-experimental \<br />
--enable-ladspa \<br />
--with-package-name="GStreamer Good Plugins (Arch Linux)" \<br />
--with-package-origin="http://www.archlinux.org/" || return 1<br />
<br />
and then run makepkg -i. <br />
<br />
makepkg -i<br />
<br />
Still not working? Try tis package in AUR [http://aur.archlinux.org/packages.php?ID=17024 gstreamer0.10-good-plugins-ossv4], modify the pkgver to the newest in the PKGBUILD, and it should work.<br />
<br />
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]<br />
<br />
=== How to take screenshots (print-screen key) ===<br />
<br />
Simple way is use command-line screenshot utility with Xfce<br />
<br />
# pacman -S scrot<br />
<br />
Then<br />
<br />
Xfce-menu --> Settings --> Keybord >>> Application Shortcuts<br />
<br />
Add new setting for command "scrot" use key "PrintScreen".<br />
<br />
All screenshorts will be placed in your home folder with unique name like<br />
<br />
this "2009-02-19-063052_1280x1024_scrot.png"!<br />
<br />
<br />
====Screenshooter====<br />
<br />
There is also an a plugin for the panel able to do this with available in extra:<br />
<br />
# pacman -S xfce4-screenshooter<br />
<br />
=== Change volume with keyboard volume buttons ===<br />
<br />
Go to Settings > Keyboard. Click the "Application Shortcuts" tab and add click the "Add" button. Add the following:<br />
<br />
==== ALSA ====<br />
<br />
amixer set Master 5+<br />
for the volume up button<br />
amixer set Master 5-<br />
for the volume down button<br />
amixer set Master toggle<br />
for the mute/unmute button.<br />
<br />
==== OSS ====<br />
Use one of these scripts:<br />
[http://www.opensound.com/wiki/index.php/Tips_And_Tricks#Using_multimedia_keys_with_OSS<br />
]<br />
<br />
If using ossvol (recommended), add:<br />
ossvol -i 1<br />
for the volume up button<br />
ossvol -d 1<br />
for the volume down button<br />
ossvol -t<br />
for the mute/unmute button<br />
<br />
=== Change mount options ===<br />
<br />
A common problem when automounting usb sticks formatted with fat filesystem is the inability to properly show characters as umlauts, ñ, ß, etc. This may be solved changing the default iocharset to utf8, which is easily done adding a line to '''/etc/xdg/xfce4/mount.rc''':<br />
<br />
[vfat]<br />
uid=<auto><br />
shortname=winnt<br />
'''utf8=true'''<br />
# FreeBSD specific option<br />
longnames=true<br />
<br />
Note that when using utf-8, the system will distinct between upper- and lowercases, potentially corrupting your files. Be careful.<br />
<br />
It is also recommendable to mount vfat devices with the '''flush''' option, so that when copying to usb sticks data flushes more often, thus making thunar's progress bar to stays up until things are on the disk.<br />
<br />
[vfat]<br />
flush=true<br />
<br />
== Troubleshooting ==<br />
=== Keyboard shortcuts aren't working ===<br />
This is usually the case when the settings helper is not working. To start it execute:<br />
xfce4-settings-helper<br />
Now it should be working fine.<br />
<br />
== Related Articles ==<br />
* [[Build order for XFCE]]<br />
* [[Improve GTK Application Looks]]<br />
* [[Startup_files#XFCE|HOWTO: Autostart programs on XFCE]]<br />
<br />
== External Resources ==<br />
* [http://www.us.xfce.org/documentation/ Xfce.org] - The complete documentation.<br />
* [http://www.xfce-look.org/ Xfce-Look] - Themes, wallpapers, and more.<br />
* [http://xfce.wikia.com/wiki/Frequently_Asked_Questions Xfce Wikia] - How to edit the auto generated menu with the menu editor<br />
* [http://wiki.xfce.org Xfce Wiki]<br />
* [https://xubuntu.wordpress.com/2006/08/04/howto-remove-menu-entries-from-the-system-menu/ Howto: Remove menu entries from the System menu]<br />
* [http://www.linuxquestions.org/questions/linux-general-1/how-to-use-xfce-themes-658354/ XFCE themes at linuxquestions.org]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Fstab&diff=102456Fstab2010-04-09T19:08:50Z<p>MartinZ: /* Field definitions */ added flush option for vfat</p>
<hr />
<div>[[Category:File systems (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Fstab}}<br />
{{i18n_entry|Español|Fstab (Español)}}<br />
{{i18n_entry|Русский|fstab (Русский)}}<br />
{{i18n_entry|正體中文|fstab (正體中文)}}<br />
{{i18n_entry|简体中文|fstab (简体中文)}}<br />
{{i18n_links_end}}<br />
The {{Filename|/etc/fstab}} file contains static filesystem information. It defines how storage devices and partitions are to be initialized and integrated into the overall system.<br />
<br />
==Field definitions==<br />
{{Filename|/etc/fstab}} contains the following fields separated by a space or tab:<br />
<br />
<file system> <dir> <type> <options> <dump> <pass><br />
<br />
* '''<file systems>''' - defines the storage device (i.e. {{Filename|/dev/sda1}}).<br />
* '''<dir>''' - tells the mount command where it should mount the <file system> to.<br />
* '''<type>''' - defines the file system type of the device or partition to be mounted. Many different file systems are supported. Some examples are: ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap, and auto. The 'auto' type lets the mount command to attempt to guess what type of file system is used, this is useful for removable devices such as cdroms and dvds. <br />
* '''<options>''' - define particular options for filesystems. Some options relate only to the filesystem itself. Some of the more common options are:<br />
<br />
:* auto - File system will mount automatically at boot, or when the command 'mount -a' is issued.<br />
:* noauto - The filesystem is mounted only when you tell it to.<br />
:* exec - Allow the execution binaries that are on that partition (default).<br />
:* noexec - Do not allow binaries to be executed on the filesystem.<br />
:* ro - Mount the filesystem read only<br />
:* rw - Mount the filesystem read-write<br />
:* sync - I/O should be done synchronously<br />
:* async - I/O should be done asynchronously<br />
:* flush - specific option for FAT to flush data more often, thus making copy dialogs or progress bars to stays up until things are on the disk<br />
:* user - Permit any user to mount the filesystem (implies noexec,nosuid,nodev unless overridden.)<br />
:* nouser - Only allow root to mount the filesystem. (default)<br />
:* defaults - Default mount settings (equivalent to rw,suid,dev,exec,auto,nouser,async).<br />
:* suid - Allow the operation of suid, and sgid bits. They are mostly used to allow users on a computer system to execute binary executables with temporarily elevated privileges in order to perform a specific task.<br />
:* nosuid - Block the operation of suid, and sgid bits.<br />
:* noatime - Do not update inode access times on the filesystem. Can help performance (see [[#atime_options|atime options]]).<br />
:* nodiratime - Do not update directory inode access times on the filesystem. Can help performance (see [[#atime_options|atime options]]).<br />
:* relatime - Update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify or change time. (Similar to noatime, but doesn't break mutt or other applications that need to know if a file has been read since the last time it was modified.) Can help performance (see [[#atime_options|atime options]]).<br />
* '''<dump>''' - Is used by the dump utility to decide when to make a backup. When installed (not installed by a standard installation of Arch Linux), dump checks the entry and uses the number to decide if a file system should be backed up. Possible entries are 0 and 1. If 0, dump will ignore the file system, if 1, dump will make a backup. Most users will not have dump installed, so they should put 0 for the <dump> entry.<br />
* '''<pass>''' fsck reads the <pass> number and determines in which order the file systems should be checked. Possible entries are 0, 1, and 2. The root file system should have the highest priority, 1, all other file systems you want to have checked should get a 2. File systems with a <pass> value 0 will not be checked by the fsck utility.<br />
<br />
== Example ==<br />
<br />
Here is an example {{Filename|/etc/fstab}} using kernel naming (/dev/sdx) descriptors:<br />
<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 />
<br />
/dev/cdrom /media/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/dvd /media/dvd udf ro,user,noauto,unhide 0 0<br />
/dev/fd0 /media/fl auto user,noauto 0 0<br />
<br />
/dev/sda2 / ext4 defaults,noatime 0 1<br />
/dev/sda6 /home ext4 defaults,noatime 0 2<br />
/dev/sda7 swap swap defaults 0 0<br />
<br />
== Defining filesystems ==<br />
<br />
You can define the filesystems in the {{Filename|/etc/fstab}} configuration in three different ways: by kernel naming descriptors, by UUID, or by labels. The advantage of using UUIDs or labels is that they are not dependent on disk order. This is useful if you change your storage device order in the BIOS, you switch storage device cabling, or because some BIOS's may occasionally change the order of storage devices.<br />
<br />
=== Kernel naming ===<br />
<br />
You can get kernel naming descriptors using {{Codeline|fdisk}}:<br />
<br />
<pre><br />
# fdisk -l<br />
...<br />
<br />
Device Boot Start End Blocks Id System<br />
/dev/sda1 * 1 2550 20482843+ b W95 FAT32<br />
/dev/sda2 2551 5100 20482875 83 Linux<br />
/dev/sda3 5101 7650 20482875 83 Linux<br />
/dev/sda4 7651 121601 915311407+ 5 Extended<br />
/dev/sda5 7651 10200 20482843+ 83 Linux<br />
/dev/sda6 10201 17849 61440561 83 Linux<br />
/dev/sda7 17850 18104 2048256 82 Linux swap / Solaris<br />
/dev/sda8 18105 18113 72261 83 Linux<br />
/dev/sda9 18114 121601 831267328+ 7 HPFS/NTFS<br />
</pre><br />
<br />
=== UUIDs ===<br />
<br />
UUIDs are generated by the make-filesystem utilities ({{Codeline|mkfs.*}}) when you create a filesystem. {{Codeline|blkid}} will show you the UUIDs of mounted devices and partitions:<br />
<br />
<pre><br />
# blkid<br />
/dev/sda1: UUID="76E4F702E4F6C401" LABEL="vista" TYPE="ntfs"<br />
/dev/sda2: LABEL="Root" UUID="24f28fc6-717e-4bcd-a5f7-32b959024e26" TYPE="ext4"<br />
/dev/sda6: LABEL="Home" UUID="03ec5dd3-45c0-4f95-a363-61ff321a09ff" TYPE="ext4" <br />
/dev/sda7: LABEL="swap" UUID="4209c845-f495-4c43-8a03-5363dd433153" TYPE="swap"<br />
/dev/sda10: UUID="0ea7a93f-537c-4868-9201-0dc090c050e4" TYPE="crypto_LUKS"<br />
/dev/mapper/sda10: UUID="d3560bbb-b5d5-46c5-a7a8-434c885217c7" UUID_SUB="425ab275-d520-4636-8d16-55fb2b957971" TYPE="btrfs"<br />
</pre><br />
<br />
An example {{Filename|/etc/fstab}} using the UUID identifiers:<br />
<br />
<pre><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 />
<br />
/dev/cdrom /media/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/dvd /media/dvd udf ro,user,noauto,unhide 0 0<br />
/dev/fd0 /media/fl auto user,noauto 0 0<br />
<br />
UUID=24f28fc6-717e-4bcd-a5f7-32b959024e26 / ext4 defaults,noatime 0 1<br />
UUID=03ec5dd3-45c0-4f95-a363-61ff321a09ff /home ext4 defaults,noatime 0 2<br />
UUID=4209c845-f495-4c43-8a03-5363dd433153 swap swap defaults 0 0<br />
</pre><br />
<br />
=== Labels ===<br />
<br />
The device or partition is required to be labeled first. To do this, you can use common applications like {{Package Official|gparted}} to label partitions or you can use {{Codeline|e2label}} to label ext2, ext3, and ext4 partitions. Keep in mind that not all file system have labeling support (e.g. FAT file systems).<br />
<br />
A device or partition must not be mounted before attempting to label them. Initially you will need to boot from a Live{CD|USB} before you can label with a {{Package Official|gparted}}-like application or for ext partitions you can use {{Codeline|e2label}}.<br />
<br />
e2label /dev/<disk-or-partition> Arch_Linux<br />
<br />
Labels can be up to 16 characters long. Technically labeling can have spaces too, however there is no way to have your {{Filename|fstab}} or [[GRUB]] configuration file (for that matter) be able to recognize them by that label if you do.<br />
<br />
Labels should be unambiguous, meaning that each label should be original to prevent any possible conflicts. To enter labels into your {{Filename|fstab}}, here is an example:<br />
<br />
<pre><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 />
<br />
/dev/cdrom /media/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/dvd /media/dvd udf ro,user,noauto,unhide 0 0<br />
/dev/fd0 /media/fl auto user,noauto 0 0<br />
<br />
LABEL=Arch_Linux / ext4 defaults,noatime 0 1<br />
LABEL=Arch_Swap swap swap defaults 0 0<br />
</pre><br />
<br />
== Tips ==<br />
<br />
Some tips.<br />
<br />
=== atime options ===<br />
<br />
The use of {{Codeline|noatime}}, {{Codeline|nodiratime}} or {{Codeline|relatime}} can help disk performance for ext2, ext3, and ext4 filesystems. Linux by default keeps a record (writes to the disk) every times it reads from the disk. This was more purposeful when Linux was being used for servers and doesn't have much use for desktop use. This works good for almost all applications but [[Mutt]] that needs this information. For mutt, you should only use the {{Codeline|relatime}} option.<br />
<br />
== Resources ==<br />
<br />
* [[Writing on a FAT32 partition as a normal user]]<br />
* [[NTFS Write Support]]<br />
* [http://ubuntuforums.org/showthread.php?t=283131 how to fstab]<br />
* [[Persistent block device naming]]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Xfce&diff=85030Xfce2009-11-25T01:41:39Z<p>MartinZ: Added howto change mount options</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Xfce (Česky)}}<br />
{{i18n_entry|English|xfce}}<br />
{{i18n_entry|Español|xfce (Español)}}<br />
{{i18n_entry|简体中文|xfce_(简体中文)}}<br />
{{i18n_entry|Italiano|Xfce (Italiano)}}<br />
{{i18n_entry|Türkçe|Xfce (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
== What is Xfce? ==<br />
Xfce is a Desktop Environment, like GNOME or KDE. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, 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 extremely fast. Xfce is great for older hardware.<br />
<br />
== Why use Xfce? ==<br />
Here is a (subjective) list of reasons to use Xfce:<br />
* It's fast, faster than the other major DEs.<br />
* It's stable. In the long time Xfce-4 has been out, only a small handful of bugs has been discovered, despite it having a rather large following.<br />
* It's pretty. It uses GTK2 and is themable. You can make Xfce look very nice. The fonts are completely AA as well.<br />
* It works great with multiple monitors. Xfce's [[Wikipedia:Xinerama|Xinerama]] support is arguably the best out of any WM/DE.<br />
* It doesn't get in your way. You'll find Xfce helps your work flow, rather than always making itself "present."<br />
* It comes with a built-in compositor which allows for true transparency among other cool things.<br />
<br />
== Why not use Xfce? ==<br />
Here is a (subjective) list of reasons not to use Xfce:<br />
* Doesn't contain all the features and integration of the major DEs.<br />
* Slower development cycle.<br />
* Because it's based on the CDE design, the layout may not be as familiar.<br />
<br />
== How to Install Xfce ==<br />
The Xfce source and documentation are available at http://www.xfce.org/. But since you're using Arch Linux, you can grab Xfce from Pacman.<br />
<br />
Xfce is modular. That means there is no need for you to run every part, you can pick and choose. Because of this, Xfce has a bunch of Arch packages.<br />
<br />
To install the base Xfce system, run:<br />
<br />
# pacman -S xfce4<br />
<br />
If you want extras, like panel plugins, run this:<br />
<br />
# pacman -S xfce4-goodies<br />
<br />
To get xfce working, you HAVE to install the dbus package, otherwise you'll keep getting some dbus errors and unable to start xfce:<br />
<br />
# pacman -S dbus<br />
<br />
If you want to admire 'Tips and Tricks' on login, you must install the '''fortune-mod''' package:<br />
# pacman -S fortune-mod<br />
<br />
At the time of this writing there is a known issue with Xfce missing icons in the default menu. To fix this you have to install the following icon sets:<br />
# pacman -S gnome-icon-theme<br />
<br />
NOTE: In order to get the xfce4-mixer to work with alsa, you may need to install gstreamer0.10-base-plugins. See below for help with OSS.<br />
<br />
== Running Xfce ==<br />
<br />
Before you start xfce, you must get the hal daemon working, to do this:<br />
<br />
# sudo /etc/rc.d/hal start<br />
<br />
You may want to add hal to the daemon section in rc.conf so you don't have to start is manaully everytime.<br />
<br />
There are two ways to run Xfce. One is the "automatic" method. To start Xfce from the console, you can simply run:<br />
<br />
# startxfce4<br />
'''Note:''' startxfce4 sets DPI to 96 by default, so font sizes will be different than when starting from .xinitrc.<br />
<br />
To customize the Xfce startup using this method, you could copy /etc/xdg/xfce4/xinitrc to $HOME/.xfce4, and edit that file.<br><br />
To add programs to the startup using this method, add symlinks from the programs you want to $HOME/Desktop/Autostart.<br />
<br />
If you want more control over what starts and your initial settings, you can add these items to your $HOME/.xinitrc (leaving out and adding what you want):<br />
<br />
xfce-mcs-manager<br />
xfwm4 --daemon<br />
xfdesktop &<br />
exec xfce4-panel<br />
<br />
or<br />
exec xfce4-session<br />
or<br />
exec startxfce4<br />
<br />
== How To Use Xfce With DMs ==<br />
As of Xfce 4.2.0, the Arch packages add the proper session files for Xfce. They are contained in the xfce-utils package, which should be installed with a base installation. Simply [[Adding_a_login_manager_%28KDM%2C_GDM%2C_or_XDM%29_to_automatically_boot_on_startup|Enable a DM]].<br />
<br />
== How to shutdown and reboot from Xfce ==<br />
<br />
Make sure that DBus and HAL are enabled in the DAEMONS line in /etc/rc.conf. Then add your normal user to the ''shutdown'' group:<br />
<br />
# gpasswd -a USER power<br />
<br />
Note: This group is only used by HAL, so you still need root privileges for shutting down the system via command line (halt/poweroff/shutdown).<br />
<br />
With the new hal in extra situation has changed: Use either a consolekit/policykit capable display manager (e.g. gdm) or when you start from a shell use "startx" instead of "startxfce4" and add this to your ~/.xinitrc:<br />
<br />
exec ck-launch-session xfce4-session<br />
or<br />
exec ck-launch-session startxfce4<br />
<br />
see http://bbs.archlinux.org/viewtopic.php?id=59954 for more details.<br />
<br />
== Tips ==<br />
=== Commands for the settings manager ===<br />
<br />
There is no official documentation for the commands executed. One must look at .desktop files ''/usr/share/applications/'' folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:<br />
<br />
xfce-setting-show backdrop<br />
xfce-setting-show display<br />
xfce-setting-show keyboard<br />
xfce4-menueditor<br />
xfce-setting-show sound<br />
xfce-setting-show mouse<br />
xfce-setting-show session<br />
xfce-setting-show<br />
xfce-setting-show splash<br />
xfce-setting-show ui<br />
xfce-setting-show xfwm4<br />
xfce-setting-show wmtweaks<br />
xfce-setting-show workspaces<br />
xfce-setting-show printing_system<br />
xfce4-appfinder<br />
xfce4-autostart-editor<br />
xfce4-panel -c<br />
<br />
To review all the available setting manager commands run the following in a terminal:<br />
<br />
$ grep xfce-setting-show /usr/share/applications/xfce*settings*<br />
<br />
=== A drop down console like in quake ===<br />
<br />
# pacman -S tilda<br />
<br />
will install tilda, a drop down console, juste like yakuake in kde. It uses quite some ram, and a more lightweight alternative would be '''stjerm''' that can be found in the AUR.<br />
<br />
To configure tilda, type<br />
<br />
# tilda -C<br />
<br />
which opens a configuration window in X.<br />
<br />
====Guake====<br />
A much more eyecandy and functional alternative is guake, which is available in community repo:<br />
<br />
# pacman -S guake<br />
<br />
=== How to enable the compositor in Xfce 4.4 ===<br />
Xfce 4.4 comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on.<br />
<br />
You can find it in Settings->Window manager tweaks. But if it isn't there, take the following steps:<br />
* Open up $HOME/.config/xfce4/mcs_settings/wmtweaks.xml, and ensure that ''<option name="Xfwm/UseCompositing" type="int" value="1"/>'' is present. If the wmtweaks file is not there, open up the Settings->Window manager tweaks and change some things, then close it, and the file should appear.<br />
* Make sure the following lines are in your /etc/X11/xorg.conf file:<br />
<pre><br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
EndSection<br />
</pre><br />
* Finally, restart X and the compositor should be available.<br />
<br />
=== Why doesn't my desktop refresh? ===<br />
Xfce 4.4 uses [[FAM]] (File Alteration Monitor) or [[gamin]] (FAM's successor) to get notification when a file or directory changes.<br />
If you decide to use FAM, don't forget to add 'fam' to the list of DAEMONS in /etc/rc.conf.<br />
This step is not necessary for gamin.<br />
<br />
<br />
=== Use a transparent background for desktop icon titles ===<br />
To change the default white background of desktop icon titles to something more suitable, edit the .gtkrc-2.0 file in your home directory and add the following (create the file if needed):<br />
style "xfdesktop-icon-view" {<br />
XfdesktopIconView::label-alpha = 10<br />
base[NORMAL] = "#000000"<br />
base[SELECTED] = "#71B9FF"<br />
base[ACTIVE] = "#71FFAD"<br />
fg[NORMAL] = "#ffffff"<br />
fg[SELECTED] = "#71B9FF"<br />
fg[ACTIVE] = "#71FFAD" }<br />
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"<br />
<br />
=== How to customize xfce panel background ===<br />
The same, edit ~/.gtkrc-2.0. ( foo.bar is path to your image )<br />
style "panel-background" {<br />
bg_pixmap[NORMAL] = "foo.bar"<br />
bg_pixmap[PRELIGHT] = "foo.bar"<br />
bg_pixmap[ACTIVE] = "foo.bar"<br />
bg_pixmap[SELECTED] = "foo.bar"<br />
bg_pixmap[INSENSITIVE] = "foo.bar"<br />
}<br />
widget_class "*Panel*" style "panel-background"<br />
<br />
=== Quicklaunch and smart bookmark plugins for xfce panel ===<br />
<br />
If these options do not appear in your "add new items" panel menu when the appropriate package(s) are installed, edit /usr/share/xfce4/panel-plugins/quicklauncher.desktop as follows:<br />
<br />
#X-XFCE-Module=/usr/lib/xfce4/panel-plugins/libquicklauncher.so<br />
X-XFCE-Module=quicklauncher<br />
X-XFCE-Module-Path=/usr/lib/xfce4/panel-plugins<br />
<br />
and similarly for smartbookmark (replacing quicklauncher->smartbookmark in the above).<br />
<br />
This might only be a problem for those installing xfce4-panel and plugins seperately from an actual xfce4 install.<br />
<br />
=== How to customize starting xfce ===<br />
<br />
This includes getting necessary environment variables into the GUI runtime.<br />
<br />
* Copy the file /etc/xdg/xfce4/xinitrc to ~/.config/xfce4/<br />
* Edit this file. For example, you can add something like this somehwere in the middle:<br />
* source $HOME/.bashrc<br />
* # start rxvt-unicode server<br />
* urxvtd -q -o -f<br />
<br />
=== How to add themes to XFCE === <br />
<br />
1. Go to [http://xfce-look.org xfce-look.org] and click "Themes" in the left navbar. Look around for a theme you want and click "Download".<br />
<br />
2. Go to the directory where you downloaded the tarball/file and extract it using Squeeze/Xarchiver/CLI.<br />
<br />
3. Move the extracted folder to /usr/share/themes (for all users) or ~/.themes (for just you). Inside /usr/share/themes/abc, there is a folder that you create called xfwm4 that will contain whatever files that is included with that theme.<br />
<br />
4. GTK theme is available here:<br />
Menu --> Settings --> Appearance<br />
You select your xfwm theme in:<br />
Menu --> Settings --> Window Manager<br />
<br />
=== Fonts ===<br />
<br />
If you find the standard fonts rather thick and or slightly out of focus open Settings>Appearence click on the Fonts tab and under Hinting: change to Full<br />
<br />
You could also try using a custom DPI setting<br />
<br />
=== Replacements for the default 'menu' panel applet ===<br />
The "Ubuntu System Panel" (Gnome) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows Gnome applets to be used in Xfce.<br />
<br />
It is available in [http://aur.archlinux.org/packages.php?ID=10259 the AUR]<br />
<br />
=== How to remove menu entries from the System menu === <br />
With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:<br />
# Go to the /usr/share/applications folder. Type in the terminal (Xfce menu > System > Terminal): <pre>$ cd /usr/share/applications</pre><br />
# This folder should be full of .desktop files. To see how many there are, type: <pre>$ ls</pre>Say the one you want to edit is Firefox. Type in the terminal:<pre>$ sudo mousepad firefox.desktop</pre><br />
# In the bottom of the file, paste the following: <pre>NoDisplay=true</pre><br />
# Save and exit. Now Firefox won’t show up in the System menu. You can do this with any program.<br />
<br />
=== But what do you do with menu entries which do not show up in /usr/share/applications (e.g., apps installed via wine)? === <br />
I've found some shortcuts that show in the category “Other” in this directory:<br />
~/.local/share/applications/wine/.<br />
<br />
=== How do I get xfce4-mixer and OSS4 to work together? ===<br />
<br />
==== For Old Xfce4.4 ====<br />
It seems as if the xfce4-mixer package in the binary repositories is only compiled for ALSA sound support. For those of us who use OSS4, there is a very easy way to get xfce4-mixer to support OSS4. First, navigate to the SVN entry for the xfce4-mixer package[http://repos.archlinux.org/viewvc.cgi/xfce4-mixer/repos/extra-i686/]:<br />
<br />
Then download both the PKGBUILD and the .install file to the same directory on your machine. Next, cd to that directory, and look for this line in the PKGBUILD file (it's near the bottom):<br />
<br />
--with-sound=alsa || return 1<br />
<br />
Change '''alsa''' to '''oss''' in that line and save the file. Then run:<br />
<br />
makepkg PKGBUILD<br />
<br />
This takes a few minutes, depending upon the speed of your system and your compiling options in /etc/makepkg.conf.<br />
<br />
After that, there will be a .pkg.tar.gz file in the current directory, and all you need to do to finish installing xfce4-mixer is:<br />
<br />
pacman -U xfce4-mixer-4.4.2-2-i686.pkg.tar.gz<br />
<br />
Your file version and architecture may be different from mine; 4.4.2-2 32-bit was the version I installed on my system.<br />
<br />
'''EDIT:''' I have just posted the modified version of xfce4-mixer as xfce4-mixer-oss4 on AUR, and you can simply install that as you would any ABS package and achieve the same results as above.<br />
<br />
--[[User:Kclive18|Kclive18]] 18:02, 23 September 2008 (EDT)<br />
<br />
==== For New Xfce4.6 ====<br />
New xfce4.6 use gstreamer as backend to control volume, so you have to make your gstreamer work. First of all, of course is install xfce4-mixer.<br />
<br />
pacman -S xfce4-mixer<br />
<br />
Second, try to install gstreamer0.10-good-plugins, gstreamer0.10-bad-plugins<br />
<br />
pacman -S gstreamer0.10-good-plugins gstreamer0.10-bad-plugins<br />
<br />
login and logout, or just remove the mixer plugin and add it again. If it doesn't work at all, then you have to compile gstreamer0.10-good-plugins yourself. and can <br />
<br />
Download the PKGBUILD and other files needed from ABS or [http://repos.archlinux.org/viewvc.cgi/gstreamer0.10-good-plugins/repos/extra-i686/ here], edit the PKGBUILD, add --enable-oss. <br />
<br />
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var '''--enable-oss'''\<br />
--disable-static --enable-experimental \<br />
--enable-ladspa \<br />
--with-package-name="GStreamer Good Plugins (Arch Linux)" \<br />
--with-package-origin="http://www.archlinux.org/" || return 1<br />
<br />
and then run makepkg -i. <br />
<br />
makepkg -i<br />
<br />
Still not working? Try tis package in AUR [http://aur.archlinux.org/packages.php?ID=17024 gstreamer0.10-good-plugins-ossv4], modify the pkgver to the newest in the PKGBUILD, and it should work.<br />
<br />
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]<br />
<br />
=== How to make screenshots (print-screen key) ===<br />
<br />
Simple way is use command-line screenshot utility with Xfce<br />
<br />
# pacman -S scrot<br />
<br />
Then<br />
<br />
Xfce-menu --> Settings --> Keybord >>> Application Shortcuts<br />
<br />
Add new setting for command "scrot" use key "PrintScreen".<br />
<br />
All screenshorts will be placed in your home folder with unique name like<br />
<br />
this "2009-02-19-063052_1280x1024_scrot.png"!<br />
<br />
<br />
====Screenshooter====<br />
<br />
There is also an a plugin for the panel able to do this with available in extra:<br />
<br />
# pacman -S xfce4-screenshooter<br />
<br />
=== Change volume with keyboard volume buttons ===<br />
<br />
go to Settings > Keyboard. Click the "Application Shortcuts" tab and add click the "Add" button. Add the following:<br />
amixer set Master 5+<br />
for the volume up button<br />
amixer set Master 5-<br />
for the volume down button<br />
amixer set Master toggle<br />
for the mute/unmute button.<br />
<br />
=== Change mount options ===<br />
<br />
A common problem when automounting usb sticks formatted with fat filesystem is the inability to properly show characters as umlauts, ñ, ß, etc. This may be solved changing the default iocharset to utf8, which is easily done adding a line to '''/etc/xdg/xfce4/mount.rc''':<br />
<br />
[vfat]<br />
uid=<auto><br />
shortname=winnt<br />
'''utf8=true'''<br />
# FreeBSD specific option<br />
longnames=true<br />
<br />
Note that when using utf-8, the system will distinct between upper- and lowercases, potentially corrupting your files. Be careful.<br />
<br />
== Troubleshooting ==<br />
=== Keyboard shortcuts aren't working ===<br />
This is usually the case when the settings helper is not working. To start it execute:<br />
xfce4-settings-helper<br />
Now it should be working fine.<br />
<br />
== Related Articles ==<br />
* [[Build order for XFCE]]<br />
* [[Howto make GTK apps look nice| HOWTO: Make GTK1 apps look nice]]<br />
* [[Startup_files#XFCE|HOWTO: Autostart programs on XFCE]]<br />
<br />
== External Resources ==<br />
* [http://www.us.xfce.org/documentation/ Xfce.org] - The complete documentation.<br />
* [http://www.xfce-look.org/ Xfce-Look] - Themes, wallpapers, and more.<br />
* [http://xfce.wikia.com/wiki/Frequently_Asked_Questions Xfce Wikia] - How to edit the auto generated menu with the menu editor<br />
* [http://wiki.xfce.org Xfce Wiki]<br />
* [https://xubuntu.wordpress.com/2006/08/04/howto-remove-menu-entries-from-the-system-menu/ Howto: Remove menu entries from the System menu]<br />
* [http://www.linuxquestions.org/questions/linux-general-1/how-to-use-xfce-themes-658354/ XFCE themes at linuxquestions.org]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Xfce&diff=70121Xfce2009-06-06T17:40:11Z<p>MartinZ: /* How to make screenshots (print-screen key) */</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Xfce (Česky)}}<br />
{{i18n_entry|English|xfce}}<br />
{{i18n_entry|Español|xfce (Español)}}<br />
{{i18n_entry|简体中文|xfce_(简体中文)}}<br />
{{i18n_entry|Italiano|Xfce (Italiano)}}<br />
{{i18n_entry|Türkçe|Xfce (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
<br />
== What is Xfce? ==<br />
Xfce is a Desktop Environment, like GNOME or KDE. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, 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 extremely fast. Xfce is great for older hardware.<br />
<br />
== Why use Xfce? ==<br />
Here is a (subjective) list of reasons to use Xfce:<br />
* It's fast, faster than the other major DEs.<br />
* It's stable. In the long time Xfce-4 has been out, only a small handful of bugs has been discovered, despite it having a rather large following.<br />
* It's pretty. It uses GTK2 and is themable. You can make Xfce look very nice. The fonts are completely AA as well.<br />
* It works great with multiple monitors. Xfce's [[Xinerama]] support is arguably the best out of any WM/DE.<br />
* It doesn't get in your way. You'll find Xfce helps your work flow, rather than always making itself "present."<br />
* It comes with a built-in compositor which allows for true transparency among other cool things.<br />
<br />
== Why not use Xfce? ==<br />
Here is a (subjective) list of reasons not to use Xfce:<br />
* Doesn't contain all the features and integration of the major DEs.<br />
* Slower development cycle.<br />
* Because it's based on the CDE design, the layout may not be as familiar.<br />
<br />
== How to Install Xfce ==<br />
The Xfce source and documentation are available at http://www.xfce.org/. But since you're using ArchLinux, you can grab Xfce from Pacman.<br />
<br />
Xfce is modular. That means there is no need for you to run every part, you can pick and choose. Because of this, Xfce has a bunch of Arch packages.<br />
<br />
To install the base Xfce system, run:<br />
<br />
# pacman -S xfce4<br />
<br />
If you want extras, like panel plugins, run this:<br />
<br />
# pacman -S xfce4-goodies<br />
<br />
If you want to be able to play sound files, you should also install ESD, which acts as the Xfce sound daemon. (Or you can install xfmedia, the default Xfce media player, and it will pull ESD as a dependency.)<br />
<br />
# pacman -S esound<br />
<br />
If you want to admire 'Tips and Tricks' on login, you must install the '''fortune-mod''' package:<br />
# pacman -S fortune-mod<br />
<br />
At the time of this writing there is a known issue with Xfce missing icons in the default menu. To fix this you may want to install one (or both) of the following icon sets:<br />
# pacman -S gnome-icon-theme<br />
# pacman -S tango-icon-theme<br />
<br />
== Running Xfce ==<br />
<br />
There are two ways to run Xfce. One is the "automatic" method. To start Xfce from the console, you can simply run:<br />
<br />
# startxfce4<br />
'''Note:''' startxfce4 sets DPI to 96 by default, so font sizes will be different than when starting from .xinitrc.<br />
<br />
To customize the Xfce startup using this method, you could copy /etc/xdg/xfce4/xinitrc to $HOME/.xfce4, and edit that file.<br><br />
To add programs to the startup using this method, add symlinks from the programs you want to $HOME/Desktop/Autostart.<br />
<br />
If you want more control over what starts and your initial settings, you can add these items to your $HOME/.xinitrc (leaving out and adding what you want):<br />
<br />
xfce-mcs-manager<br />
xfwm4 --daemon<br />
xfdesktop &<br />
exec xfce4-panel<br />
<br />
or<br />
exec xfce4-session<br />
<br />
== How To Use Xfce With DMs ==<br />
As of Xfce 4.2.0, the Arch packages add the proper session files for Xfce. They are contained in the xfce-utils package, which should be installed with a base installation. Simply [[Adding_a_login_manager_%28KDM%2C_GDM%2C_or_XDM%29_to_automatically_boot_on_startup|Enable a DM]].<br />
<br />
== How to shutdown and reboot from Xfce ==<br />
<br />
Make sure that DBus and HAL are enabled in the DAEMONS line in /etc/rc.conf. Then add your normal user to the ''shutdown'' group:<br />
<br />
# gpasswd -a USER power<br />
<br />
Note: This group is only used by HAL, so you still need root privileges for shutting down the system via command line (halt/poweroff/shutdown).<br />
<br />
With the new hal in extra situation has changed: Use either a consolekit/policykit capable display manager (e.g. gdm) or when you start from a shell use "startx" instead of "startxfce4" and add this to your ~/.xinitrc:<br />
<br />
exec ck-launch-session xfce4-session<br />
<br />
see http://bbs.archlinux.org/viewtopic.php?id=59954 for more details.<br />
<br />
== Tips ==<br />
=== Commands for the settings manager ===<br />
<br />
There is no official documentation for the commands executed. One must look at .desktop files ''/usr/share/applications/'' folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:<br />
<br />
xfce-setting-show backdrop<br />
xfce-setting-show display<br />
xfce-setting-show keyboard<br />
xfce4-menueditor<br />
xfce-setting-show sound<br />
xfce-setting-show mouse<br />
xfce-setting-show session<br />
xfce-setting-show<br />
xfce-setting-show splash<br />
xfce-setting-show ui<br />
xfce-setting-show xfwm4<br />
xfce-setting-show wmtweaks<br />
xfce-setting-show workspaces<br />
xfce-setting-show printing_system<br />
xfce4-appfinder<br />
xfce4-autostart-editor<br />
xfce4-panel -c<br />
<br />
To review all the available setting manager commands run the following in a terminal:<br />
<br />
$ grep xfce-setting-show /usr/share/applications/xfce*settings*<br />
<br />
=== A drop down console like in quake ===<br />
<br />
# pacman -S tilda<br />
<br />
will install tilda, a drop down console, juste like yakuake in kde. It uses quite some ram, and a more lightweight alternative would be '''stjerm''' that can be found in the AUR.<br />
<br />
====Guake====<br />
A much more eyecandy and functional alternative is guake, which is available in community repo:<br />
<br />
# pacman -S guake<br />
<br />
=== How to enable the compositor in Xfce 4.4 ===<br />
Xfce 4.4 comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on.<br />
<br />
You can find it in Settings->Window manager tweaks. But if it isn't there, take the following steps:<br />
* Open up $HOME/.config/xfce4/mcs_settings/wmtweaks.xml, and ensure that ''<option name="Xfwm/UseCompositing" type="int" value="1"/>'' is present. If the wmtweaks file is not there, open up the Settings->Window manager tweaks and change some things, then close it, and the file should appear.<br />
* Make sure the following lines are in your /etc/X11/xorg.conf file:<br />
<pre><br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
EndSection<br />
</pre><br />
* Finally, restart X and the compositor should be available.<br />
<br />
=== Why doesn't my desktop refresh? ===<br />
Xfce 4.4 uses FAM (File Alteration Monitor) to get notification when a file or directory changes.<br />
Don't forget to add 'fam' to the list of DAEMONS in /etc/rc.conf<br />
<br />
=== Use a transparent background for desktop icon titles ===<br />
To change the default white background of desktop icon titles to something more suitable, edit the .gtkrc-2.0 file in your home directory and add the following (create the file if needed):<br />
style "xfdesktop-icon-view" {<br />
XfdesktopIconView::label-alpha = 10<br />
base[NORMAL] = "#000000"<br />
base[SELECTED] = "#71B9FF"<br />
base[ACTIVE] = "#71FFAD"<br />
fg[NORMAL] = "#ffffff"<br />
fg[SELECTED] = "#71B9FF"<br />
fg[ACTIVE] = "#71FFAD" }<br />
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"<br />
<br />
=== How to customize xfce panel background ===<br />
The same, edit ~/.gtkrc-2.0. ( foo.bar is path to your image )<br />
style "panel-background" {<br />
bg_pixmap[NORMAL] = "foo.bar"<br />
bg_pixmap[PRELIGHT] = "foo.bar"<br />
bg_pixmap[ACTIVE] = "foo.bar"<br />
bg_pixmap[SELECTED] = "foo.bar"<br />
bg_pixmap[INSENSITIVE] = "foo.bar"<br />
}<br />
widget_class "*Panel*" style "panel-background"<br />
<br />
=== How to customize starting xfce ===<br />
<br />
This includes getting necessary environment variables into the GUI runtime.<br />
<br />
* Copy the file /etc/xdg/xfce4/xinitrc to ~/.config/xfce4/<br />
* Edit this file. For example, you can add something like this somehwere in the middle:<br />
* source $HOME/.bashrc<br />
* # start rxvt-unicode server<br />
* urxvtd -q -o -f<br />
<br />
=== How to add themes to XFCE === <br />
<br />
1. Go to [http://xfce-look.org xfce-look.org] and click "Themes" in the left navbar. Look around for a theme you want and click "Download".<br />
<br />
2. Go to the directory where you downloaded the tarball/file and extract it using Squeeze/Xarchiver/CLI.<br />
<br />
3. Move the extracted folder to /usr/share/themes (for all users) or ~/.themes (for just you). Inside /usr/share/themes/abc, there is a folder that you create called xfwm4 that will contain whatever files that is included with that theme.<br />
<br />
4. GTK theme is available here:<br />
Menu --> Settings --> Appearance<br />
You select your xfwm theme in:<br />
Menu --> Settings --> Window Manager<br />
<br />
=== Replacements for the default 'menu' panel applet ===<br />
The "Ubuntu System Panel" (Gnome) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows Gnome applets to be used in Xfce.<br />
<br />
It is available in [http://aur.archlinux.org/packages.php?ID=10259 the AUR]<br />
<br />
=== How to remove menu entries from the System menu === <br />
With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:<br />
# Go to the /usr/share/applications folder. Type in the terminal (Xfce menu > System > Terminal): <pre>$ cd /usr/share/applications</pre><br />
# This folder should be full of .desktop files. To see how many there are, type: <pre>$ ls</pre>Say the one you want to edit is Firefox. Type in the terminal:<pre>$ sudo mousepad firefox.desktop</pre><br />
# In the bottom of the file, paste the following: <pre>NoDisplay=true</pre><br />
# Save and exit. Now Firefox won’t show up in the System menu. You can do this with any program.<br />
<br />
=== But what do you do with menu entries which do not show up in /usr/share/applications (e.g., apps installed via wine)? === <br />
I've found some shortcuts that show in the category “Other” in this directory:<br />
~/.local/share/applications/wine/.<br />
<br />
=== How do I get xfce4-mixer and OSS4 to work together? ===<br />
<br />
==== For Old Xfce4.4 ====<br />
It seems as if the xfce4-mixer package in the binary repositories is only compiled for ALSA sound support. For those of us who use OSS4, there is a very easy way to get xfce4-mixer to support OSS4. First, navigate to the SVN entry for the xfce4-mixer package[http://repos.archlinux.org/viewvc.cgi/xfce4-mixer/repos/extra-i686/]:<br />
<br />
Then download both the PKGBUILD and the .install file to the same directory on your machine. Next, cd to that directory, and look for this line in the PKGBUILD file (it's near the bottom):<br />
<br />
--with-sound=alsa || return 1<br />
<br />
Change '''alsa''' to '''oss''' in that line and save the file. Then run:<br />
<br />
makepkg PKGBUILD<br />
<br />
This takes a few minutes, depending upon the speed of your system and your compiling options in /etc/makepkg.conf.<br />
<br />
After that, there will be a .pkg.tar.gz file in the current directory, and all you need to do to finish installing xfce4-mixer is:<br />
<br />
pacman -U xfce4-mixer-4.4.2-2-i686.pkg.tar.gz<br />
<br />
Your file version and architecture may be different from mine; 4.4.2-2 32-bit was the version I installed on my system.<br />
<br />
'''EDIT:''' I have just posted the modified version of xfce4-mixer as xfce4-mixer-oss4 on AUR, and you can simply install that as you would any ABS package and achieve the same results as above.<br />
<br />
--[[User:Kclive18|Kclive18]] 18:02, 23 September 2008 (EDT)<br />
<br />
==== For New Xfce4.6 ====<br />
New xfce4.6 use gstreamer as backend to control volume, so you have to make your gstreamer work. First of all, of course is install xfce4-mixer.<br />
<br />
pacman -S xfce4-mixer<br />
<br />
Second, try to install gstreamer0.10-good-plugins, gstreamer0.10-bad-plugins<br />
<br />
pacman -S gstreamer0.10-good-plugins gstreamer0.10-bad-plugins<br />
<br />
login and logout, or just remove the mixer plugin and add it again. If it doesn't work at all, then you have to compile gstreamer0.10-good-plugins yourself. and can <br />
<br />
Download the PKGBUILD and other files needed from ABS or [http://repos.archlinux.org/viewvc.cgi/gstreamer0.10-good-plugins/repos/extra-i686/ here], edit the PKGBUILD, add --enable-oss. <br />
<br />
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var '''--enable-oss'''\<br />
--disable-static --enable-experimental \<br />
--enable-ladspa \<br />
--with-package-name="GStreamer Good Plugins (Archlinux)" \<br />
--with-package-origin="http://www.archlinux.org/" || return 1<br />
<br />
and then run makepkg -i. <br />
<br />
makepkg -i<br />
<br />
Still not working? Try tis package in AUR [http://aur.archlinux.org/packages.php?ID=17024 gstreamer0.10-good-plugins-ossv4], modify the pkgver to the newest in the PKGBUILD, and it should work.<br />
<br />
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]<br />
<br />
=== How to make screenshots (print-screen key) ===<br />
<br />
Simple way is use command-line screenshot utility with Xfce<br />
<br />
# pacman -S scrot<br />
<br />
Then<br />
<br />
Xfce-menu --> Settings --> Keybord >>> Application Shortcuts<br />
<br />
Add new setting for command "scrot" use key "PrintScreen".<br />
<br />
All screenshorts will be placed in your home folder with unique name like<br />
<br />
this "2009-02-19-063052_1280x1024_scrot.png"!<br />
<br />
<br />
====Screenshooter====<br />
<br />
There is also an a plugin for the panel able to do this with available in extra:<br />
<br />
# pacman -S xfce4-screenshooter<br />
<br />
== Related Articles ==<br />
* [[Build order for XFCE]]<br />
* [[Howto make GTK apps look nice| HOWTO: Make GTK1 apps look nice]]<br />
* [[Startup_files#XFCE|HOWTO: Autostart programs on XFCE]]<br />
<br />
== External Resources ==<br />
* [http://www.us.xfce.org/documentation/ Xfce.org] - The complete documentation.<br />
* [http://www.xfce-look.org/ Xfce-Look] - Themes, wallpapers, and more.<br />
* [http://xfce.wikia.com/wiki/Frequently_Asked_Questions Xfce Wikia] - How to edit the auto generated menu with the menu editor<br />
* [http://wiki.xfce.org Xfce Wiki]<br />
* [https://xubuntu.wordpress.com/2006/08/04/howto-remove-menu-entries-from-the-system-menu/ Howto: Remove menu entries from the System menu]<br />
* [http://www.linuxquestions.org/questions/linux-general-1/how-to-use-xfce-themes-658354/ XFCE themes at linuxquestions.org]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Xfce&diff=70120Xfce2009-06-06T17:36:24Z<p>MartinZ: /* A drop down console like in quake */</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|Xfce (Česky)}}<br />
{{i18n_entry|English|xfce}}<br />
{{i18n_entry|Español|xfce (Español)}}<br />
{{i18n_entry|简体中文|xfce_(简体中文)}}<br />
{{i18n_entry|Italiano|Xfce (Italiano)}}<br />
{{i18n_entry|Türkçe|Xfce (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
<br />
== What is Xfce? ==<br />
Xfce is a Desktop Environment, like GNOME or KDE. It contains a suite of apps like a root window app, window manager, file manager, panel, etc. Xfce is written using the GTK2 toolkit, 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 extremely fast. Xfce is great for older hardware.<br />
<br />
== Why use Xfce? ==<br />
Here is a (subjective) list of reasons to use Xfce:<br />
* It's fast, faster than the other major DEs.<br />
* It's stable. In the long time Xfce-4 has been out, only a small handful of bugs has been discovered, despite it having a rather large following.<br />
* It's pretty. It uses GTK2 and is themable. You can make Xfce look very nice. The fonts are completely AA as well.<br />
* It works great with multiple monitors. Xfce's [[Xinerama]] support is arguably the best out of any WM/DE.<br />
* It doesn't get in your way. You'll find Xfce helps your work flow, rather than always making itself "present."<br />
* It comes with a built-in compositor which allows for true transparency among other cool things.<br />
<br />
== Why not use Xfce? ==<br />
Here is a (subjective) list of reasons not to use Xfce:<br />
* Doesn't contain all the features and integration of the major DEs.<br />
* Slower development cycle.<br />
* Because it's based on the CDE design, the layout may not be as familiar.<br />
<br />
== How to Install Xfce ==<br />
The Xfce source and documentation are available at http://www.xfce.org/. But since you're using ArchLinux, you can grab Xfce from Pacman.<br />
<br />
Xfce is modular. That means there is no need for you to run every part, you can pick and choose. Because of this, Xfce has a bunch of Arch packages.<br />
<br />
To install the base Xfce system, run:<br />
<br />
# pacman -S xfce4<br />
<br />
If you want extras, like panel plugins, run this:<br />
<br />
# pacman -S xfce4-goodies<br />
<br />
If you want to be able to play sound files, you should also install ESD, which acts as the Xfce sound daemon. (Or you can install xfmedia, the default Xfce media player, and it will pull ESD as a dependency.)<br />
<br />
# pacman -S esound<br />
<br />
If you want to admire 'Tips and Tricks' on login, you must install the '''fortune-mod''' package:<br />
# pacman -S fortune-mod<br />
<br />
At the time of this writing there is a known issue with Xfce missing icons in the default menu. To fix this you may want to install one (or both) of the following icon sets:<br />
# pacman -S gnome-icon-theme<br />
# pacman -S tango-icon-theme<br />
<br />
== Running Xfce ==<br />
<br />
There are two ways to run Xfce. One is the "automatic" method. To start Xfce from the console, you can simply run:<br />
<br />
# startxfce4<br />
'''Note:''' startxfce4 sets DPI to 96 by default, so font sizes will be different than when starting from .xinitrc.<br />
<br />
To customize the Xfce startup using this method, you could copy /etc/xdg/xfce4/xinitrc to $HOME/.xfce4, and edit that file.<br><br />
To add programs to the startup using this method, add symlinks from the programs you want to $HOME/Desktop/Autostart.<br />
<br />
If you want more control over what starts and your initial settings, you can add these items to your $HOME/.xinitrc (leaving out and adding what you want):<br />
<br />
xfce-mcs-manager<br />
xfwm4 --daemon<br />
xfdesktop &<br />
exec xfce4-panel<br />
<br />
or<br />
exec xfce4-session<br />
<br />
== How To Use Xfce With DMs ==<br />
As of Xfce 4.2.0, the Arch packages add the proper session files for Xfce. They are contained in the xfce-utils package, which should be installed with a base installation. Simply [[Adding_a_login_manager_%28KDM%2C_GDM%2C_or_XDM%29_to_automatically_boot_on_startup|Enable a DM]].<br />
<br />
== How to shutdown and reboot from Xfce ==<br />
<br />
Make sure that DBus and HAL are enabled in the DAEMONS line in /etc/rc.conf. Then add your normal user to the ''shutdown'' group:<br />
<br />
# gpasswd -a USER power<br />
<br />
Note: This group is only used by HAL, so you still need root privileges for shutting down the system via command line (halt/poweroff/shutdown).<br />
<br />
With the new hal in extra situation has changed: Use either a consolekit/policykit capable display manager (e.g. gdm) or when you start from a shell use "startx" instead of "startxfce4" and add this to your ~/.xinitrc:<br />
<br />
exec ck-launch-session xfce4-session<br />
<br />
see http://bbs.archlinux.org/viewtopic.php?id=59954 for more details.<br />
<br />
== Tips ==<br />
=== Commands for the settings manager ===<br />
<br />
There is no official documentation for the commands executed. One must look at .desktop files ''/usr/share/applications/'' folder. For the people who like to know exactly what is happening, here is a handy list to save the effort:<br />
<br />
xfce-setting-show backdrop<br />
xfce-setting-show display<br />
xfce-setting-show keyboard<br />
xfce4-menueditor<br />
xfce-setting-show sound<br />
xfce-setting-show mouse<br />
xfce-setting-show session<br />
xfce-setting-show<br />
xfce-setting-show splash<br />
xfce-setting-show ui<br />
xfce-setting-show xfwm4<br />
xfce-setting-show wmtweaks<br />
xfce-setting-show workspaces<br />
xfce-setting-show printing_system<br />
xfce4-appfinder<br />
xfce4-autostart-editor<br />
xfce4-panel -c<br />
<br />
To review all the available setting manager commands run the following in a terminal:<br />
<br />
$ grep xfce-setting-show /usr/share/applications/xfce*settings*<br />
<br />
=== A drop down console like in quake ===<br />
<br />
# pacman -S tilda<br />
<br />
will install tilda, a drop down console, juste like yakuake in kde. It uses quite some ram, and a more lightweight alternative would be '''stjerm''' that can be found in the AUR.<br />
<br />
====Guake====<br />
A much more eyecandy and functional alternative is guake, which is available in community repo:<br />
<br />
# pacman -S guake<br />
<br />
=== How to enable the compositor in Xfce 4.4 ===<br />
Xfce 4.4 comes with a builtin compositor adding the option for fancy window effects, shadows and transparency and so on.<br />
<br />
You can find it in Settings->Window manager tweaks. But if it isn't there, take the following steps:<br />
* Open up $HOME/.config/xfce4/mcs_settings/wmtweaks.xml, and ensure that ''<option name="Xfwm/UseCompositing" type="int" value="1"/>'' is present. If the wmtweaks file is not there, open up the Settings->Window manager tweaks and change some things, then close it, and the file should appear.<br />
* Make sure the following lines are in your /etc/X11/xorg.conf file:<br />
<pre><br />
Section "Extensions"<br />
Option "Composite" "Enable"<br />
EndSection<br />
</pre><br />
* Finally, restart X and the compositor should be available.<br />
<br />
=== Why doesn't my desktop refresh? ===<br />
Xfce 4.4 uses FAM (File Alteration Monitor) to get notification when a file or directory changes.<br />
Don't forget to add 'fam' to the list of DAEMONS in /etc/rc.conf<br />
<br />
=== Use a transparent background for desktop icon titles ===<br />
To change the default white background of desktop icon titles to something more suitable, edit the .gtkrc-2.0 file in your home directory and add the following (create the file if needed):<br />
style "xfdesktop-icon-view" {<br />
XfdesktopIconView::label-alpha = 10<br />
base[NORMAL] = "#000000"<br />
base[SELECTED] = "#71B9FF"<br />
base[ACTIVE] = "#71FFAD"<br />
fg[NORMAL] = "#ffffff"<br />
fg[SELECTED] = "#71B9FF"<br />
fg[ACTIVE] = "#71FFAD" }<br />
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"<br />
<br />
=== How to customize xfce panel background ===<br />
The same, edit ~/.gtkrc-2.0. ( foo.bar is path to your image )<br />
style "panel-background" {<br />
bg_pixmap[NORMAL] = "foo.bar"<br />
bg_pixmap[PRELIGHT] = "foo.bar"<br />
bg_pixmap[ACTIVE] = "foo.bar"<br />
bg_pixmap[SELECTED] = "foo.bar"<br />
bg_pixmap[INSENSITIVE] = "foo.bar"<br />
}<br />
widget_class "*Panel*" style "panel-background"<br />
<br />
=== How to customize starting xfce ===<br />
<br />
This includes getting necessary environment variables into the GUI runtime.<br />
<br />
* Copy the file /etc/xdg/xfce4/xinitrc to ~/.config/xfce4/<br />
* Edit this file. For example, you can add something like this somehwere in the middle:<br />
* source $HOME/.bashrc<br />
* # start rxvt-unicode server<br />
* urxvtd -q -o -f<br />
<br />
=== How to add themes to XFCE === <br />
<br />
1. Go to [http://xfce-look.org xfce-look.org] and click "Themes" in the left navbar. Look around for a theme you want and click "Download".<br />
<br />
2. Go to the directory where you downloaded the tarball/file and extract it using Squeeze/Xarchiver/CLI.<br />
<br />
3. Move the extracted folder to /usr/share/themes (for all users) or ~/.themes (for just you). Inside /usr/share/themes/abc, there is a folder that you create called xfwm4 that will contain whatever files that is included with that theme.<br />
<br />
4. GTK theme is available here:<br />
Menu --> Settings --> Appearance<br />
You select your xfwm theme in:<br />
Menu --> Settings --> Window Manager<br />
<br />
=== Replacements for the default 'menu' panel applet ===<br />
The "Ubuntu System Panel" (Gnome) panel applet has similar features to those found in its KDE v4.2 equivalent. It can be added to an Xfce panel via the 'XfApplet' panel applet, which allows Gnome applets to be used in Xfce.<br />
<br />
It is available in [http://aur.archlinux.org/packages.php?ID=10259 the AUR]<br />
<br />
=== How to remove menu entries from the System menu === <br />
With the built-in menu editor, you cannot remove menu entries from the System menu. Here’s how to hide them:<br />
# Go to the /usr/share/applications folder. Type in the terminal (Xfce menu > System > Terminal): <pre>$ cd /usr/share/applications</pre><br />
# This folder should be full of .desktop files. To see how many there are, type: <pre>$ ls</pre>Say the one you want to edit is Firefox. Type in the terminal:<pre>$ sudo mousepad firefox.desktop</pre><br />
# In the bottom of the file, paste the following: <pre>NoDisplay=true</pre><br />
# Save and exit. Now Firefox won’t show up in the System menu. You can do this with any program.<br />
<br />
=== But what do you do with menu entries which do not show up in /usr/share/applications (e.g., apps installed via wine)? === <br />
I've found some shortcuts that show in the category “Other” in this directory:<br />
~/.local/share/applications/wine/.<br />
<br />
=== How do I get xfce4-mixer and OSS4 to work together? ===<br />
<br />
==== For Old Xfce4.4 ====<br />
It seems as if the xfce4-mixer package in the binary repositories is only compiled for ALSA sound support. For those of us who use OSS4, there is a very easy way to get xfce4-mixer to support OSS4. First, navigate to the SVN entry for the xfce4-mixer package[http://repos.archlinux.org/viewvc.cgi/xfce4-mixer/repos/extra-i686/]:<br />
<br />
Then download both the PKGBUILD and the .install file to the same directory on your machine. Next, cd to that directory, and look for this line in the PKGBUILD file (it's near the bottom):<br />
<br />
--with-sound=alsa || return 1<br />
<br />
Change '''alsa''' to '''oss''' in that line and save the file. Then run:<br />
<br />
makepkg PKGBUILD<br />
<br />
This takes a few minutes, depending upon the speed of your system and your compiling options in /etc/makepkg.conf.<br />
<br />
After that, there will be a .pkg.tar.gz file in the current directory, and all you need to do to finish installing xfce4-mixer is:<br />
<br />
pacman -U xfce4-mixer-4.4.2-2-i686.pkg.tar.gz<br />
<br />
Your file version and architecture may be different from mine; 4.4.2-2 32-bit was the version I installed on my system.<br />
<br />
'''EDIT:''' I have just posted the modified version of xfce4-mixer as xfce4-mixer-oss4 on AUR, and you can simply install that as you would any ABS package and achieve the same results as above.<br />
<br />
--[[User:Kclive18|Kclive18]] 18:02, 23 September 2008 (EDT)<br />
<br />
==== For New Xfce4.6 ====<br />
New xfce4.6 use gstreamer as backend to control volume, so you have to make your gstreamer work. First of all, of course is install xfce4-mixer.<br />
<br />
pacman -S xfce4-mixer<br />
<br />
Second, try to install gstreamer0.10-good-plugins, gstreamer0.10-bad-plugins<br />
<br />
pacman -S gstreamer0.10-good-plugins gstreamer0.10-bad-plugins<br />
<br />
login and logout, or just remove the mixer plugin and add it again. If it doesn't work at all, then you have to compile gstreamer0.10-good-plugins yourself. and can <br />
<br />
Download the PKGBUILD and other files needed from ABS or [http://repos.archlinux.org/viewvc.cgi/gstreamer0.10-good-plugins/repos/extra-i686/ here], edit the PKGBUILD, add --enable-oss. <br />
<br />
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var '''--enable-oss'''\<br />
--disable-static --enable-experimental \<br />
--enable-ladspa \<br />
--with-package-name="GStreamer Good Plugins (Archlinux)" \<br />
--with-package-origin="http://www.archlinux.org/" || return 1<br />
<br />
and then run makepkg -i. <br />
<br />
makepkg -i<br />
<br />
Still not working? Try tis package in AUR [http://aur.archlinux.org/packages.php?ID=17024 gstreamer0.10-good-plugins-ossv4], modify the pkgver to the newest in the PKGBUILD, and it should work.<br />
<br />
Other LINKS: [http://www.4front-tech.com/forum/ OSS forum]<br />
<br />
=== How to make screenshots (print-screen key) ===<br />
<br />
Simple way is use command-line screenshot utility with Xfce<br />
<br />
# pacman -S scrot<br />
<br />
Then<br />
<br />
Xfce-menu --> Settings --> Keybord >>> Application Shortcuts<br />
<br />
Add new setting for command "scrot" use key "PrintScreen".<br />
<br />
All screenshorts will be placed in your home folder with unique name like<br />
<br />
this "2009-02-19-063052_1280x1024_scrot.png"!<br />
<br />
== Related Articles ==<br />
* [[Build order for XFCE]]<br />
* [[Howto make GTK apps look nice| HOWTO: Make GTK1 apps look nice]]<br />
* [[Startup_files#XFCE|HOWTO: Autostart programs on XFCE]]<br />
<br />
== External Resources ==<br />
* [http://www.us.xfce.org/documentation/ Xfce.org] - The complete documentation.<br />
* [http://www.xfce-look.org/ Xfce-Look] - Themes, wallpapers, and more.<br />
* [http://xfce.wikia.com/wiki/Frequently_Asked_Questions Xfce Wikia] - How to edit the auto generated menu with the menu editor<br />
* [http://wiki.xfce.org Xfce Wiki]<br />
* [https://xubuntu.wordpress.com/2006/08/04/howto-remove-menu-entries-from-the-system-menu/ Howto: Remove menu entries from the System menu]<br />
* [http://www.linuxquestions.org/questions/linux-general-1/how-to-use-xfce-themes-658354/ XFCE themes at linuxquestions.org]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Via_Technologies&diff=40402Via Technologies2008-04-28T02:14:08Z<p>MartinZ: </p>
<hr />
<div>[[Category:X Server (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
===Different Unichrome family display drivers===<br />
<br />
====The VIA proprietary drivers====<br />
<br />
These are considered unstable and unsecure.<br />
<br />
====The Xorg-driver====<br />
<br />
The driver that comes with Xorg. Supports VIA CLE266, KM400/KN400, K8M/N800, PM/N800 and CN400 chipsets. Accelerates 2D, 3D, Xvideo and mpeg2 decoding using XvMC. Nowadays the Xorg-driver is mostly unmaintained as the development focus is on OpenChrome-driver.<br />
<br />
You can install the Xorg driver with command:<br />
<br />
pacman -S xf86-video-via<br />
<br />
The <code>xorg.conf</code> driver name is <code>via.</code><br />
<br />
====The Unichrome-driver====<br />
<br />
Another driver with the development focus on stability and clean code. Unichrome driver only supports CLE266, KM400, P4M800 and K8M800 chipsets. Doesn't support accelerated mpeg2-decoding.<br />
<br />
You can install the unichrome driver with command:<br />
<br />
pacman -S xf86-video-unichrome<br />
<br />
The <code>xorg.conf</code> driver name is <code>via.</code><br />
<br />
====The OpenChrome driver====<br />
<br />
The most advanced and developed driver for Unichromes. Supports CLE266, KM400/KN400/KM400A/P4M800, CN400/PM800/PN800/PM880, K8M800, CN700/VM800/P4M800Pro, CX700, P4M890, K8M890 and P4M900/VN896 chipsets. Accelerates 2D, 3D, Xvideo and mpeg2 decoding using XvMC. This driver is the way to go if you want to be on the bleeding edge.<br />
<br />
You can install the OpenChrome driver with command:<br />
<br />
pacman -S openchrome<br />
<br />
The <code>xorg.conf</code> driver name is <code>openchrome.</code><br />
When your X-Server shows artifacts and fails to redraw some windows, try entering<br />
<code> Option "EnableAGPDMA" "false"</code><br />
into the Section "Device" of your xorg.conf. Please note that using KDEmod-Fancy or KDEmod-Fancy-OpenGL will eventually freeze your machine so use a different KDE-Splash.<br />
<br />
===Unichrome and OpenGL===<br />
<br />
<br />
<br />
OpenGL support for Via's graphic chipsets is seriously outdated. At the moment you will not be able to run more fancy applications, games or compositing desktops like Compiz Fusion that rely on OpenGL as a backend, because the more recent OpenGL extensions are not yet supported in Unichrome 3D driver. You will be able to run simple OpenGL-applications though. The 3D driver for Unichrome is provided by the the DRI project.<br />
<br />
Install unichrome-dri, libgl and mesa -packages to get OpenGL to work.<br />
<br />
===DPMS problems===<br />
<br />
If you experience problems with DPMS not turning off laptop's backlight, try adding:<br />
<br />
Option "VBEModes" "true"<br />
<br />
to the device section of <code>xorg.conf.</code><br />
<br />
===Hangup on exit===<br />
<br />
If your computer crashes when closing X, you may try not using vesa driver for kernel console. Just delete the vga stuff from kernel line on grub or append line on lilo.<br />
<br />
== External Resources==<br />
* [http://www.openchrome.org/ OpenChrome-project]<br />
* [http://unichrome.sourceforge.net/ Unichrome-project]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Reiser4&diff=37769Reiser42008-02-27T21:41:28Z<p>MartinZ: /* Formating */</p>
<hr />
<div>[[Category:File systems (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
''Contributed by Itlain and others''<br />
<br />
{{stub}}<br />
<br />
==Short Introduction==<br />
Reiser4 is a new file system developed by [http://www.namesys.com/v4/v4.html Namesys]. It is a very fast file system (according to Namesys, the fastest). You can find [http://www.namesys.com/benchmarks.html benchmarks] between the different file systems available on Linux on their website. It's also an atomic file system, "which means that your file system operations either entirely occur, or they entirely don't, and they don't corrupt due to half occurring."<br />
<br />
==Important Notes==<br />
* Reiser4 requires a patched kernel<br />
* You're still using a 2.4 kernel: reiser4 is developed for 2.6 kernel, and has not been back ported to 2.4<br />
* Reiser4 consumes a little more CPU than other filesystems<br />
* Be warned that Reiser4 is still not considered a stable release.<br />
<br />
==Required materials==<br />
* Recommended partitions:<br />
<br />
- One empty partition for the new reiser4 system <br />
<br />
- One small (12 - 20 MB) ext2 partition for /boot<br />
<br />
- ''Optional:'' reiser4 partitions for /home, /var, /home/user/temp and anything you want<br />
<br />
''It is very easy to manage your partitions with '''gparted''' from extra. Archie LiveCD may be helpful to modify partitions, it already has gparted installed.''<br />
<br />
* Reiser4 enabled LiveCDs:<br />
* Recovery Is Possible http://www.tux.org/pub/people/kent-robotti/looplinux/rip/<br />
* The Jackass! project http://jackass.homelinux.org<br />
* The Conrad project http://forums.gentoo.org/viewtopic-t-483382.html<br />
* GParted offers a LiveCD or LiveUSB running X http://gparted.sourceforge.net/livecd.php<br />
<br />
* Another LiveCD:<br />
* Kanotix @ http://kanotix.com/files/kanotix/<br />
<br />
==Packages==<br />
''Note that you have to enable unstable and maybe testing repos to install some of this packages, uncommenting them in /etc/pacman.conf''<br />
<br />
1.- Install '''reiser4progs''' from unstable<br />
<pre>pacman -Sy reiser4progs</pre><br />
<br />
2.- You'll need a reiser4 patched kernel. I recommend you to install '''kernel26mm''' from unstable, or '''kernel26zen-git''' from AUR.<br />
<pre>pacman -Sy kernel26mm</pre><br />
<br />
3.- Bootloader<br />
<br />
a) '''lilo''' is the recommended one because it is filesystem-independent<br />
<br />
b) If you wish to use '''grub''' with reiser4, the grub package should be rebuild applying the reiser4 patch.<br />
<br />
[http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/install-grub install-grub] and [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/menu.lst menu.lst] from Arch Linux CVS<br />
<br />
<pre><br />
pkgname=grub<br />
pkgver=0.97<br />
pkgrel=2<br />
pkgdesc="A GNU multiboot boot loader"<br />
url="http://www.gnu.org/software/grub/"<br />
depends=('ncurses' 'libaal' 'reiser4progs' 'bash')<br />
<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/grub-0.97-reiser4-20050808.tar.gz \<br />
menu.lst install-grub)<br />
backup=('boot/grub/menu.lst')<br />
md5sums=('c5a860a4cd81cffc95a3b9ca5624aa7b' '615101c2fc1bc2204be8eba33cfaf52c'\<br />
'4876f193005df5fca8ca9647729d1e23')<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
# optimizations break the build -- disable them<br />
CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin<br />
CFLAGS= make || return 1<br />
make DESTDIR=$startdir/pkg install <br />
install -D -m644 ../install-grub $startdir/pkg/sbin/install-grub<br />
install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub<br />
mkdir -p $startdir/pkg/usr/share<br />
ln -s ../lib/grub $startdir/pkg/usr/share/grub<br />
}<br />
</pre><br />
<br />
===Install and reboot===<br />
You'll have to install the new packages, update you kernel and your bootloader, to make sure it works.<br />
Remember to run lilo as root if you choose it as bootloader.<br />
<br />
==Moving to Reiser4==<br />
In the next steps we'll copy the data to the new reiser4 partitions, so make<br />
sure you have enough disk space on hda2. You can check this disk information with '''df'''.<br />
<br />
===Sample system===<br />
<pre><br />
* /dev/hda2: (10 Gb, 5 Gb free); Reiserfs /<br />
* /dev/hda3: (10 Gb, 1 Gb used); Reiserfs /home<br />
* /dev/hda4: (1 Gb); swap<br />
</pre><br />
<br />
===Backup===<br />
Next big thing is to make sure your /home directory is save:<br />
<br />
(as root)<br />
<pre><br />
mkdir /backup<br />
cp -R /home /backup<br />
</pre><br />
<br />
Once the /home directory is safely backed up (and there is no important data remaining on the hda3 partition), you can continue.<br />
<br />
===Formating===<br />
Run the following commands:<br />
<br />
<pre><br />
mkfs.reiser4 /dev/hda5<br />
fsck.reiser4 --fix /dev/hda5<br />
mkdir /reiser4<br />
mount -t reiser4 /dev/hda5 /reiser4<br />
</pre><br />
<br />
I strongly recommend the amazing Cryptcompress plugin by formatting with the following command:<br />
<pre><br />
mkfs.reiser4 -o create=ccreg40,compress=lzo1 /dev/sdxx<br />
</pre><br />
<br />
===Copy system===<br />
Once the partition is formated, copy you current system to the new partition and create the system directories:<br />
<br />
<pre><br />
# Copy the system<br />
cp -a /bin /reiser4<br />
cp -a /boot /reiser4<br />
cp -a /etc /reiser4<br />
cp -a /lib /reiser4<br />
cp -a /opt /reiser4<br />
cp -a /root /reiser4<br />
cp -a /sbin /reiser4<br />
cp -a /tmp /reiser4<br />
cp -a /usr /reiser4<br />
cp -a /var /reiser4<br />
<br />
# Restore Backup<br />
cp -a /backup/home /reiser4<br />
<br />
#Mount points (check you fstab file)<br />
mkdir /reiser4/mnt/cd<br />
mkdir /reiser4/mnt/dvd<br />
<br />
# Create system directories<br />
mkdir /reiser4/sys<br />
mkdir /reiser4/proc<br />
mkdir /reiser4/dev<br />
<br />
#Migrate Udev<br />
mknod /reiser4/dev/console c 5 1<br />
mknod -m 666 /reiser4/dev/null c 1 3<br />
mknod -m 666 /reiser4/dev/zero c 1 5<br />
</pre><br />
<br />
===Configure system:===<br />
====/reiser4/etc/fstab:====<br />
<pre><br />
# <br />
# /etc/fstab: static file system information<br />
#<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 />
tmpfs /tmp tmpfs defaults 0 0<br />
usbfs /proc/bus/usb usbfs defaults 0 0<br />
<br />
/dev/cdroms/cdrom0 /mnt/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/cdroms/cdrom0 /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
<br />
/dev/hda4 swap swap defaults 0 0<br />
/dev/hda2 /boot ext2 defaults 0 1<br />
/dev/hda5 / reiser4 defaults 0 1<br />
</pre><br />
<br />
====/etc/lilo.conf:====<br />
<pre><br />
#<br />
# /etc/lilo.conf<br />
#<br />
<br />
boot=/dev/hda<br />
# This line often fixes L40 errors on bootup<br />
# disk=/dev/hda bios=0x80<br />
<br />
default=Arch4<br />
timeout=20<br />
lba32<br />
prompt<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch4<br />
root=/dev/hda5<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda3<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
</pre><br />
<br />
'''Run lilo''' to install new kernels.<br />
<br />
===Done===<br />
You are hopefully done now, you can reboot your system and try to run the 'new' reiser4 installation.<br />
If you plan to format /dev/hda3, make sure you run lilo or grub from the new system and configure them like above.<br />
<br />
==Possible Issues==<br />
* Permissions: chown -R username.group <userdir><br />
* If you have problem with "su" command after the change of fs, you should reinstall coreutils package.<br />
* The first time you start the new system, no modules are loaded:<br />
** Run '''hwdetect --load-modules'''<br />
** Restart some daemons from /etc/rc.d<br />
** Everything works fine now and the next time you reboot.<br />
<br />
==External Links==<br />
* [http://www.namesys.com/v4/v4.html Reiser4 homepage]<br />
* [http://en.wikipedia.org/wiki/Reiser4 Reiser4] from Wikipedia.org<br />
* [http://www.namesys.com/install_v4.html Getting started with Reiser4] from Namesys.com</div>MartinZhttps://wiki.archlinux.org/index.php?title=Reiser4&diff=37768Reiser42008-02-27T21:37:36Z<p>MartinZ: /* Packages */</p>
<hr />
<div>[[Category:File systems (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
''Contributed by Itlain and others''<br />
<br />
{{stub}}<br />
<br />
==Short Introduction==<br />
Reiser4 is a new file system developed by [http://www.namesys.com/v4/v4.html Namesys]. It is a very fast file system (according to Namesys, the fastest). You can find [http://www.namesys.com/benchmarks.html benchmarks] between the different file systems available on Linux on their website. It's also an atomic file system, "which means that your file system operations either entirely occur, or they entirely don't, and they don't corrupt due to half occurring."<br />
<br />
==Important Notes==<br />
* Reiser4 requires a patched kernel<br />
* You're still using a 2.4 kernel: reiser4 is developed for 2.6 kernel, and has not been back ported to 2.4<br />
* Reiser4 consumes a little more CPU than other filesystems<br />
* Be warned that Reiser4 is still not considered a stable release.<br />
<br />
==Required materials==<br />
* Recommended partitions:<br />
<br />
- One empty partition for the new reiser4 system <br />
<br />
- One small (12 - 20 MB) ext2 partition for /boot<br />
<br />
- ''Optional:'' reiser4 partitions for /home, /var, /home/user/temp and anything you want<br />
<br />
''It is very easy to manage your partitions with '''gparted''' from extra. Archie LiveCD may be helpful to modify partitions, it already has gparted installed.''<br />
<br />
* Reiser4 enabled LiveCDs:<br />
* Recovery Is Possible http://www.tux.org/pub/people/kent-robotti/looplinux/rip/<br />
* The Jackass! project http://jackass.homelinux.org<br />
* The Conrad project http://forums.gentoo.org/viewtopic-t-483382.html<br />
* GParted offers a LiveCD or LiveUSB running X http://gparted.sourceforge.net/livecd.php<br />
<br />
* Another LiveCD:<br />
* Kanotix @ http://kanotix.com/files/kanotix/<br />
<br />
==Packages==<br />
''Note that you have to enable unstable and maybe testing repos to install some of this packages, uncommenting them in /etc/pacman.conf''<br />
<br />
1.- Install '''reiser4progs''' from unstable<br />
<pre>pacman -Sy reiser4progs</pre><br />
<br />
2.- You'll need a reiser4 patched kernel. I recommend you to install '''kernel26mm''' from unstable, or '''kernel26zen-git''' from AUR.<br />
<pre>pacman -Sy kernel26mm</pre><br />
<br />
3.- Bootloader<br />
<br />
a) '''lilo''' is the recommended one because it is filesystem-independent<br />
<br />
b) If you wish to use '''grub''' with reiser4, the grub package should be rebuild applying the reiser4 patch.<br />
<br />
[http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/install-grub install-grub] and [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/menu.lst menu.lst] from Arch Linux CVS<br />
<br />
<pre><br />
pkgname=grub<br />
pkgver=0.97<br />
pkgrel=2<br />
pkgdesc="A GNU multiboot boot loader"<br />
url="http://www.gnu.org/software/grub/"<br />
depends=('ncurses' 'libaal' 'reiser4progs' 'bash')<br />
<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/grub-0.97-reiser4-20050808.tar.gz \<br />
menu.lst install-grub)<br />
backup=('boot/grub/menu.lst')<br />
md5sums=('c5a860a4cd81cffc95a3b9ca5624aa7b' '615101c2fc1bc2204be8eba33cfaf52c'\<br />
'4876f193005df5fca8ca9647729d1e23')<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
# optimizations break the build -- disable them<br />
CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin<br />
CFLAGS= make || return 1<br />
make DESTDIR=$startdir/pkg install <br />
install -D -m644 ../install-grub $startdir/pkg/sbin/install-grub<br />
install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub<br />
mkdir -p $startdir/pkg/usr/share<br />
ln -s ../lib/grub $startdir/pkg/usr/share/grub<br />
}<br />
</pre><br />
<br />
===Install and reboot===<br />
You'll have to install the new packages, update you kernel and your bootloader, to make sure it works.<br />
Remember to run lilo as root if you choose it as bootloader.<br />
<br />
==Moving to Reiser4==<br />
In the next steps we'll copy the data to the new reiser4 partitions, so make<br />
sure you have enough disk space on hda2. You can check this disk information with '''df'''.<br />
<br />
===Sample system===<br />
<pre><br />
* /dev/hda2: (10 Gb, 5 Gb free); Reiserfs /<br />
* /dev/hda3: (10 Gb, 1 Gb used); Reiserfs /home<br />
* /dev/hda4: (1 Gb); swap<br />
</pre><br />
<br />
===Backup===<br />
Next big thing is to make sure your /home directory is save:<br />
<br />
(as root)<br />
<pre><br />
mkdir /backup<br />
cp -R /home /backup<br />
</pre><br />
<br />
Once the /home directory is safely backed up (and there is no important data remaining on the hda3 partition), you can continue.<br />
<br />
===Formating===<br />
Run the following commands:<br />
<br />
<pre><br />
mkfs.reiser4 /dev/hda5<br />
fsck.reiser4 --fix /dev/hda5<br />
mkdir /reiser4<br />
mount -t reiser4 /dev/hda5 /reiser4<br />
</pre><br />
<br />
===Copy system===<br />
Once the partition is formated, copy you current system to the new partition and create the system directories:<br />
<br />
<pre><br />
# Copy the system<br />
cp -a /bin /reiser4<br />
cp -a /boot /reiser4<br />
cp -a /etc /reiser4<br />
cp -a /lib /reiser4<br />
cp -a /opt /reiser4<br />
cp -a /root /reiser4<br />
cp -a /sbin /reiser4<br />
cp -a /tmp /reiser4<br />
cp -a /usr /reiser4<br />
cp -a /var /reiser4<br />
<br />
# Restore Backup<br />
cp -a /backup/home /reiser4<br />
<br />
#Mount points (check you fstab file)<br />
mkdir /reiser4/mnt/cd<br />
mkdir /reiser4/mnt/dvd<br />
<br />
# Create system directories<br />
mkdir /reiser4/sys<br />
mkdir /reiser4/proc<br />
mkdir /reiser4/dev<br />
<br />
#Migrate Udev<br />
mknod /reiser4/dev/console c 5 1<br />
mknod -m 666 /reiser4/dev/null c 1 3<br />
mknod -m 666 /reiser4/dev/zero c 1 5<br />
</pre><br />
<br />
===Configure system:===<br />
====/reiser4/etc/fstab:====<br />
<pre><br />
# <br />
# /etc/fstab: static file system information<br />
#<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 />
tmpfs /tmp tmpfs defaults 0 0<br />
usbfs /proc/bus/usb usbfs defaults 0 0<br />
<br />
/dev/cdroms/cdrom0 /mnt/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/cdroms/cdrom0 /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
<br />
/dev/hda4 swap swap defaults 0 0<br />
/dev/hda2 /boot ext2 defaults 0 1<br />
/dev/hda5 / reiser4 defaults 0 1<br />
</pre><br />
<br />
====/etc/lilo.conf:====<br />
<pre><br />
#<br />
# /etc/lilo.conf<br />
#<br />
<br />
boot=/dev/hda<br />
# This line often fixes L40 errors on bootup<br />
# disk=/dev/hda bios=0x80<br />
<br />
default=Arch4<br />
timeout=20<br />
lba32<br />
prompt<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch4<br />
root=/dev/hda5<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda3<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
</pre><br />
<br />
'''Run lilo''' to install new kernels.<br />
<br />
===Done===<br />
You are hopefully done now, you can reboot your system and try to run the 'new' reiser4 installation.<br />
If you plan to format /dev/hda3, make sure you run lilo or grub from the new system and configure them like above.<br />
<br />
==Possible Issues==<br />
* Permissions: chown -R username.group <userdir><br />
* If you have problem with "su" command after the change of fs, you should reinstall coreutils package.<br />
* The first time you start the new system, no modules are loaded:<br />
** Run '''hwdetect --load-modules'''<br />
** Restart some daemons from /etc/rc.d<br />
** Everything works fine now and the next time you reboot.<br />
<br />
==External Links==<br />
* [http://www.namesys.com/v4/v4.html Reiser4 homepage]<br />
* [http://en.wikipedia.org/wiki/Reiser4 Reiser4] from Wikipedia.org<br />
* [http://www.namesys.com/install_v4.html Getting started with Reiser4] from Namesys.com</div>MartinZhttps://wiki.archlinux.org/index.php?title=Brother_HL-2040&diff=37766Brother HL-20402008-02-27T20:50:34Z<p>MartinZ: /* Download Brother HL-2040 drivers */</p>
<hr />
<div>[[Category:Printers_(English)]]<br />
[[Category:HOWTOs_(English)]]<br />
<br />
=Summary=<br />
<br />
This guide explains how to install a Brother HL-2040 laserjet printer using CUPS.<br />
<br />
'''''Note:''''' ''If you already attempted (and failed) to install the driver in CUPS, remove it before proceeding with this tutorial.''<br />
<br />
=Prerequisites=<br />
<br />
This tutorial assumes you have already configured the [[CUPS]] printer server. There is plenty of existing information to get this working.<br />
<br />
=Download Brother HL-2040 drivers=<br />
<br />
Create a temp directory such as '''/home/username/brother'''<br />
<br />
Download the RPM packages of the LPR driver ([http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/lpr_others/brhl2040lpr-2.0.1-1.i386.rpm HERE]) and the CUPS wrapper ([http://solutions.brother.com/Library/sol/printer/linux/rpmfiles/cups_wrapper/cupswrapperHL2040-2.0.1-1.i386.rpm HERE]) and place them into your newly created temp dir<br />
<br />
<br />
You may also download a ppd for HL-2040 from [http://www.profv.de/brother/ here]. This one has the margins problem fixed.<br />
<br />
=Extracting the RPM files=<br />
You'll need to grab a script to extract the files from the RPM packages, so log in as root and execute:<br />
# pacman -S rpmextract<br />
Then extract both RPM files:<br />
$ rpmextract.sh brhl2040lpr-2.0.1-1.i386.rpm<br />
$ rpmextract.sh cupswrapperHL2040-2.0.1-1.i386.rpm<br />
You should now have two sub-directories: ''usr'' and ''var''<br />
<br />
=Editing files to make them work with Arch=<br />
Arch Linux uses its own filesystem hierarchy, so you must edit some files to match it. We'll assume you created the temp directory <em>brother</em> in your home directory as mentioned earlier.<br />
Use your favorite text editor (i.e. kate, gedit, or vi) and open<br />
/home/username/brother/usr/local/Brother/cupswrapper/cupswrapperHL2040-2.0.1<br />
Replace all instances of '''''/etc/init.d/''''' with '''''/etc/rc.d/'''''<br />
Save and close<br />
<br />
Next, edit:<br />
/home/username/brother/usr/local/Brother/inf/setupPrintcap<br />
Replace all instances of '''''/etc/printcap.local''''' with '''''/etc/printcap'''''<br />
Save and close<br />
<br />
Now we're ready to copy the files to their respective places on our system (you'll need to be root for this)<br />
# cp -r /home/username/brother/usr/* /usr<br />
# cp -r /home/username/brother/var/* /var<br />
<br />
=Installing the driver and printer=<br />
Now let's run the installation script (again, as root):<br />
# cd /usr/local/Brother/cupswrapper/<br />
# ./cupswrapperHL2040-2.0.1<br />
Upon completion the script will attempt to restart the CUPS daemon if it was running.<br />
Now browse to the CUPS server : http://localhost:631/<br />
<br />
Under the Administration category, choose Manage printers. You should now see your HL2040 printer <b>automatically</b> installed and configured.<br />
<br />
Print a test page and configure the printer settings to your liking.<br />
<br />
=Regional Settings=<br />
Make sure to set your printer preferences to match your region. For example, if you live in North America (Canada, US, Mexico) your paper size should be changed from the Default "A4" to "Letter". Sometimes this will be done automatically by your Desktop Environment (e.g. KDE) but it's worthwhile to check it yourself or the text on your pages won't align properly.<br />
<br />
= Alternate Method for KDE Users =<br />
==Basic Setup==<br />
This document assumes that you are:<br />
1. Using KDE<br />
2. Your printer is connected on LPT1 - parallel port.<br />
<br />
==Install Required Packages==<br />
<pre><br />
pacman -S cups foomatic-db foomatic-db-engine foomatic-db-ppd foomatic-filters<br />
</pre><br />
<br />
==Edit /etc/rc.conf==<br />
You will want to edit the /etc/rc.conf file to start cups on every reboot.<br />
Add '''cups''' to the daemon list.<br />
<br />
==Start Cups==<br />
<pre><br />
/etc/rc.d/cups start<br />
</pre><br />
<br />
==Finish Installation from the KDE menu==<br />
<br />
K menu -> settings -> printers<br />
<br />
Click administrator mode<br />
<br />
Enter root password<br />
<br />
Click "add printer"<br />
<br />
Click next<br />
<br />
Choose local (top one)<br />
<br />
Click next<br />
<br />
The port should be lpt1<br />
<br />
Click it... then next<br />
<br />
.......builds database<br />
<br />
Choose brother<br />
<br />
Then the hlwerfjefja one we all know and love HL-2400CeN hl1250<br />
<br />
Click next then test<br />
<br />
Set dpi to 600, test again.<br />
<br />
no banners... no quota... denied users... <br />
<br />
Give it a name<br />
<br />
Click next<br />
<br />
You should be done</div>MartinZhttps://wiki.archlinux.org/index.php?title=Locale&diff=33765Locale2007-12-18T14:48:43Z<p>MartinZ: /* Setting starting weekday */</p>
<hr />
<div>[[Category:Internationalization (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Deutsch|Locales konfigurieren (Deutsch)}}<br />
{{i18n_entry|English|Configuring locales}}<br />
{{i18n_entry|Česky|Nastavení locales}}<br />
{{i18n_entry|Українська|Локаль}}<br />
{{i18n_links_end}}<br />
==Introduction==<br />
Locales are used in Linux to define which language the user uses. As the locales define the charset which the user uses as well, setting up the correct locale is especially important if the language contains non-ASCII characters.<br />
<br />
Locales are defined as following:<br />
[language[_territory][.codeset][@modifier]]<br />
<br />
In this howto we're setting up a system that uses the en_US.UTF-8 locale, but you can follow this article easily if you want to setup another locale.<br />
<br />
==Enabling necessary locales==<br />
First you have to enable the locales you want being supported by your system. To enable or disable them, the file '''/etc/locale.gen''' is used. It contains every locale you can enable, and you have just to uncomment lines you want to do so.<br />
<br />
As we want to setup an english UTF-8 conform system, we want to enable en_US.UTF-8. But for compatibility to programs that don't support UTF-8 yet, it's recommended to support any other locale, prefixed with en_US as well. Having this in mind, we enable this set of locales:<br />
en_US.UTF8 UTF-8<br />
en_US ISO-8859-1<br />
<br />
After you've enabled the necessary locales, you have to run locale-gen as root to update them:<br />
# locale-gen<br />
Generating locales...<br />
en_US.UTF-8... done<br />
en_US.ISO-8859-1... done<br />
Generation complete.<br />
<br />
'''Note:''' Though it's most likely just one language you use on your computer it can be helpful or even necessary to enable other locales as well. For example if you're running a multi-user system with users that don't speak en_US, they won't be happy until their individual locale is at least supported by your system.<br />
<br />
==Setting system wide locale==<br />
To define which locale should be used by the system, you can easily add your locale to your '''/etc/rc.conf''' file. As we've just added ISO-8859 support just for (backward-)compability, we add en_US.utf-8 here:<br />
LOCALE="en_US.utf8"<br />
<br />
The system wide locale will be updated after rebooting your computer.<br />
<br />
==Setting per user locale==<br />
As we discussed earlier, some users might want to define a different locale than the system-wide locale.<br />
In this case, you can export LC_ALL in your '''~/.bashrc'''.<br />
For example you can use the en_US.iso8859 locale, though there is no advantage of using it.<br />
export LC_ALL=en_US.iso8859<br />
<br />
Your locales will be updated as soon as you re-source your ~/.bashrc. This happens on login or alternatively you can type:<br />
$ source ~/.bashrc<br />
<br />
==Setting language==<br />
The language in which the system interacts with the user is also determined by the locales, namely the locale LC_LANG.<br />
To set the preferred language, you have to export the LC_LANG variable in your ~/.bashrc.<br />
export LC_LANG=en_EN.utf8<br />
After sourcing your ~/.bashrc, programs ought to use the defined language, at least they do if they're using proper internationalization.<br />
<br />
==Setting starting weekday==<br />
In a lot of countries the first day of the week is Monday. To do change or add the following lines under the LC_TIME section in ''/usr/share/i18n/locales/<your_locale>''<br />
<br />
week 7;19971130;5<br />
first_weekday 2<br />
first_workday 2<br />
And then run<br />
<br />
locale-gen<br />
and restart X.<br />
<br />
==Troubleshooting==<br />
===How can I obtain the available locale names?===<br />
You can get the correct names of all available locales with this command:<br />
$ locale -a<br />
===How can I see which locale I am using?===<br />
Which locale is currently in use is viewable simply by typing:<br />
$ locale<br />
===My terminal doesn't support UTF-8 characters===<br />
Unfortunately some terminals don't support UTF-8. In this case, you have to use a different terminal.<br />
<br />
'''List of terminals that support UTF-8:'''<br />
* gnome-terminal<br />
* gnustep-terminal<br />
* mlterm<br />
* urxvt (rxvt-unicode)<br />
* xfce-terminal<br />
* xterm<br />
'''Note:''' This list may be incomplete.<br />
<br />
===xterm doesn't support UTF-8 characters for me===<br />
xterm only supports UTF-8 if you run it as uxterm or xterm -u8.<br />
<br />
==Links==<br />
[http://gentoo-wiki.com/HOWTO_localedef GentooWiki: Localdef]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Locale&diff=33764Locale2007-12-18T14:43:35Z<p>MartinZ: /* Setting starting weekday */</p>
<hr />
<div>[[Category:Internationalization (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Deutsch|Locales konfigurieren (Deutsch)}}<br />
{{i18n_entry|English|Configuring locales}}<br />
{{i18n_entry|Česky|Nastavení locales}}<br />
{{i18n_entry|Українська|Локаль}}<br />
{{i18n_links_end}}<br />
==Introduction==<br />
Locales are used in Linux to define which language the user uses. As the locales define the charset which the user uses as well, setting up the correct locale is especially important if the language contains non-ASCII characters.<br />
<br />
Locales are defined as following:<br />
[language[_territory][.codeset][@modifier]]<br />
<br />
In this howto we're setting up a system that uses the en_US.UTF-8 locale, but you can follow this article easily if you want to setup another locale.<br />
<br />
==Enabling necessary locales==<br />
First you have to enable the locales you want being supported by your system. To enable or disable them, the file '''/etc/locale.gen''' is used. It contains every locale you can enable, and you have just to uncomment lines you want to do so.<br />
<br />
As we want to setup an english UTF-8 conform system, we want to enable en_US.UTF-8. But for compatibility to programs that don't support UTF-8 yet, it's recommended to support any other locale, prefixed with en_US as well. Having this in mind, we enable this set of locales:<br />
en_US.UTF8 UTF-8<br />
en_US ISO-8859-1<br />
<br />
After you've enabled the necessary locales, you have to run locale-gen as root to update them:<br />
# locale-gen<br />
Generating locales...<br />
en_US.UTF-8... done<br />
en_US.ISO-8859-1... done<br />
Generation complete.<br />
<br />
'''Note:''' Though it's most likely just one language you use on your computer it can be helpful or even necessary to enable other locales as well. For example if you're running a multi-user system with users that don't speak en_US, they won't be happy until their individual locale is at least supported by your system.<br />
<br />
==Setting system wide locale==<br />
To define which locale should be used by the system, you can easily add your locale to your '''/etc/rc.conf''' file. As we've just added ISO-8859 support just for (backward-)compability, we add en_US.utf-8 here:<br />
LOCALE="en_US.utf8"<br />
<br />
The system wide locale will be updated after rebooting your computer.<br />
<br />
==Setting per user locale==<br />
As we discussed earlier, some users might want to define a different locale than the system-wide locale.<br />
In this case, you can export LC_ALL in your '''~/.bashrc'''.<br />
For example you can use the en_US.iso8859 locale, though there is no advantage of using it.<br />
export LC_ALL=en_US.iso8859<br />
<br />
Your locales will be updated as soon as you re-source your ~/.bashrc. This happens on login or alternatively you can type:<br />
$ source ~/.bashrc<br />
<br />
==Setting language==<br />
The language in which the system interacts with the user is also determined by the locales, namely the locale LC_LANG.<br />
To set the preferred language, you have to export the LC_LANG variable in your ~/.bashrc.<br />
export LC_LANG=en_EN.utf8<br />
After sourcing your ~/.bashrc, programs ought to use the defined language, at least they do if they're using proper internationalization.<br />
<br />
==Setting starting weekday==<br />
In a lot of countries the first day of the week is Monday. To do add the following lines to the end of the LC_TIME section in ''/usr/share/i18n/locales/<your_locale>''<br />
<br />
week 7;19971130;5<br />
first_weekday 2<br />
first_workday 2<br />
All you need to do now is to run<br />
<br />
locale-gen<br />
and then restart X.<br />
<br />
==Troubleshooting==<br />
===How can I obtain the available locale names?===<br />
You can get the correct names of all available locales with this command:<br />
$ locale -a<br />
===How can I see which locale I am using?===<br />
Which locale is currently in use is viewable simply by typing:<br />
$ locale<br />
===My terminal doesn't support UTF-8 characters===<br />
Unfortunately some terminals don't support UTF-8. In this case, you have to use a different terminal.<br />
<br />
'''List of terminals that support UTF-8:'''<br />
* gnome-terminal<br />
* gnustep-terminal<br />
* mlterm<br />
* urxvt (rxvt-unicode)<br />
* xfce-terminal<br />
* xterm<br />
'''Note:''' This list may be incomplete.<br />
<br />
===xterm doesn't support UTF-8 characters for me===<br />
xterm only supports UTF-8 if you run it as uxterm or xterm -u8.<br />
<br />
==Links==<br />
[http://gentoo-wiki.com/HOWTO_localedef GentooWiki: Localdef]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Zsh&diff=15825Zsh2006-10-17T18:56:27Z<p>MartinZ: </p>
<hr />
<div>[[Category:Shell]]<br />
<br />
== Introduction ==<br />
[http://www.zsh.org Zsh] is a powerful shell that operates as both as an interactive shell and as a scripting language interpreter. While being compatible with BASH, it offers many advantages such as:<br />
*Faster<br />
*Improved tab completion<br />
*Improved globbing<br />
*Improved array handling<br />
*Fully customisable<br />
<br />
The zsh FAQ offers [http://zsh.sunsite.dk/FAQ/zshfaq01.html#l4 more reasons] to use zsh as your shell.<br />
<br />
== Installation instructions ==<br />
To install the package for zsh using pacman run<br />
pacman -S zsh<br />
Before proceeding with the next step to make zsh your default shell, you should ensure that it has been installed correctly by running <code>zsh</code> in an xterm. If the installation has gone smoothly you should now find yourself staring at a rather unfamiliar prompt, for now just type <code>exit</code>.<br />
<br />
To change a user's shell without root access, the <code>chsh</code> command is used. The commmand <code>chsh</code> can only be used to change a user's shell without root access if the shell is listed in <code>/etc/shells</code>. If you installed zsh using pacman, zsh should already have an entry in <code>/etc/shells</code>. To proceed you need to know the full path to the zsh executable, so run<br />
which zsh<br />
Shown here as an example is the command I used to change my shell; substitue my values for your own.<br />
chsh -s /usr/local/bin/zsh paul<br />
An alternative way to change a user's loging shell is with the command <code>usermod</code>. The disadvantage of this method is that you must have root access to run <code>usermod</code>. The syntax for this command is<br />
usermod -s /usr/local/bin/zsh paul<br />
<br />
You will now need to logout and log back in, and you should find yourself in zsh instead of bash.<br />
<br />
If you do not have root access, and zsh is not listed in <code>/etc/shells</code> but you would still like to use zsh as your default shell, see [http://zsh.sunsite.dk/FAQ/zshfaq01.html#l8 this entry] in the zsh FAQ.<br />
<br />
== Configuration ==<br />
Although zsh is usable out of the box, it is almost certainly not set up the way you would like to use it, but due to the sheer amount of customisation available in zsh, creating a zsh config can be a daunting and time-consuming experience.<br />
<br />
For this reason I have included below a sample configuration file, it provides a decent set of default options as well as giving examples of many ways that zsh can be customised. In order to use this configuration save it as a file named <code>.zshrc</code>. You can then apply the changes without needing to logout and then back in by running<br />
source ~/.zshrc<br />
<br />
=== Key Bindings ===<br />
Zsh doesn't read /etc/inputrc, which tells the shell what commands sent by the terminal emulator mean. To have some standard key bindings working on zsh, add something like this to <code>.zshrc</code>:<br />
# key bindings<br />
bindkey "\e[1~" beginning-of-line<br />
bindkey "\e[4~" end-of-line<br />
bindkey "\e[5~" beginning-of-history<br />
bindkey "\e[6~" end-of-history<br />
bindkey "\e[3~" delete-char<br />
bindkey "\e[2~" quoted-insert<br />
bindkey "\e[5C" forward-word<br />
bindkey "\eOc" emacs-forward-word<br />
bindkey "\e[5D" backward-word<br />
bindkey "\eOd" emacs-backward-word<br />
bindkey "\e\e[C" forward-word<br />
bindkey "\e\e[D" backward-word<br />
bindkey "^H" backward-delete-word<br />
# for rxvt<br />
bindkey "\e[8~" end-of-line<br />
bindkey "\e[7~" beginning-of-line<br />
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm<br />
bindkey "\eOH" beginning-of-line<br />
bindkey "\eOF" end-of-line<br />
# for freebsd console<br />
bindkey "\e[H" beginning-of-line<br />
bindkey "\e[F" end-of-line<br />
# completion in the middle of a line<br />
bindkey '^i' expand-or-complete-prefix<br />
=== Prompts ===<br />
There is a quick and easy way to set up a colored prompt in zsh. Make sure that <code>prompt</code> is set to autload in your <code>.zshrc</code>. This can be done by adding the lines:<br />
autoload -U promptinit<br />
promptinit<br />
to your <code>.zshrc</code>. You can now see available prompts by running the command<br />
prompt -l<br />
To try one of the commands that is listed, use the command <code>prompt</code> followed by the name of the prompt you like. For example, to use the "walters" prompt, you would enter<br />
prompt walters<br />
<br />
=== Command Completion ===<br />
Perhaps the most compelling feature of zsh is its advanced autocompletion abilities. At the very least, you will want to enable autocompletion in your <code>.zshrc</code>. To enable autocompletion, add the following to your <code>.zshrc</code><br />
autoload -U compinit<br />
compinit<br />
<br />
=== Simple <code>.zshrc</code> ===<br />
Here is a simple <code>.zshrc</code>, that should be sufficient to get you started:<br />
autoload -U compinit promptinit<br />
compinit<br />
promptinit<br />
<br />
# This will set the default prompt to the walters theme<br />
prompt walters<br />
<br />
=== Advanced <code>.zshrc</code> ===<br />
This is an example of a more advanced <code>.zshrc</code><br />
<br />
########################################################### <br />
# Important stuff.<br />
<br />
# Export some vars<br />
export PATH="$PATH:/usr/local/bin:/usr/local/jdk/jdk1.5.0_04/bin:/opt/kde/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games"<br />
export MINICOM="-c on"<br />
export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man<br />
export HOSTNAME="`cat /etc/HOSTNAME`"<br />
export LESSOPEN="|lesspipe.sh %s"<br />
export LESS="-M"<br />
export CLASSPATH=".:/usr/local/jdk/jdk1.5.0_04/jre/lib/rt.jar"<br />
export NNTPSERVER="news.server.com"<br />
<br />
for file in /etc/profile.d/*.sh ; do<br />
if [ -x $file ]; then<br />
. $file<br />
fi<br />
done<br />
<br />
# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in<br />
# the $PATH.<br />
if [ "`id -u`" = "0" ]; then<br />
echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null<br />
if [ ! $? = 0 ]; then<br />
export PATH="/usr/local/sbin:/usr/sbin:/sbin:$PATH"<br />
fi<br />
fi<br />
<br />
# For non-root users, add the current directory to the search path:<br />
if [ ! "`id -u`" = "0" ]; then<br />
PATH="$PATH:."<br />
fi<br />
<br />
# Umask of 022<br />
umask 022<br />
<br />
# Options for zsh<br />
export HISTFILE=~/.zsh_history<br />
export HISTSIZE=50000<br />
export SAVEHIST=50000<br />
eval `dircolors -z`<br />
<br />
autoload -U compinit compinit<br />
setopt autopushd pushdminus pushdsilent pushdtohome<br />
setopt autocd<br />
setopt cdablevars<br />
setopt ignoreeof<br />
setopt interactivecomments<br />
setopt nobanghist<br />
setopt noclobber<br />
setopt HIST_REDUCE_BLANKS<br />
setopt HIST_IGNORE_SPACE<br />
setopt SH_WORD_SPLIT<br />
setopt nohup<br />
<br />
# PS1 and PS2<br />
export PS1="$(print '%{\e[1;34m%}%n%{\e[0m%}'):$(print '%{\e[0;34m%}%~%{\e[0m%}')$ "<br />
export PS2="$(print '%{\e[0;34m%}>%{\e[0m%}')"<br />
<br />
# Vars used later on by zsh<br />
export EDITOR="gvim -geom 82x35"<br />
export BROWSER=links<br />
export XTERM="aterm +sb -geometry 80x29 -fg black -bg lightgoldenrodyellow -fn -xos4-terminus-medium-*-normal-*-14-*-*-*-*-*-iso8859-15"<br />
<br />
##################################################################<br />
# Stuff to make my life easier<br />
<br />
# allow approximate<br />
zstyle ':completion:*' completer _complete _match _approximate<br />
zstyle ':completion:*:match:*' original only<br />
zstyle ':completion:*:approximate:*' max-errors 1 numeric<br />
<br />
# tab completion for PID :D<br />
zstyle ':completion:*:*:kill:*' menu yes select<br />
zstyle ':completion:*:kill:*' force-list always<br />
<br />
# cd not select parent dir. <br />
zstyle ':completion:*:cd:*' ignore-parents parent pwd<br />
<br />
##################################################################<br />
# Key bindings<br />
# http://mundy.yazzy.org/unix/zsh.php<br />
# http://www.zsh.org/mla/users/2000/msg00727.html<br />
<br />
typeset -g -A key<br />
bindkey '^?' backward-delete-char<br />
bindkey '^[[1~' beginning-of-line<br />
bindkey '^[[5~' up-line-or-history<br />
bindkey '^[[3~' delete-char<br />
bindkey '^[[4~' end-of-line<br />
bindkey '^[[6~' down-line-or-history<br />
bindkey '^[[A' up-line-or-search<br />
bindkey '^[[D' backward-char<br />
bindkey '^[[B' down-line-or-search<br />
bindkey '^[[C' forward-char <br />
<br />
##################################################################<br />
# My aliases<br />
<br />
# Set up auto extension stuff<br />
alias -s html=$BROWSER<br />
alias -s org=$BROWSER<br />
alias -s php=$BROWSER<br />
alias -s com=$BROWSER<br />
alias -s net=$BROWSER<br />
alias -s png=feh<br />
alias -s jpg=feh<br />
alias -s gif=feg<br />
alias -s sxw=soffice<br />
alias -s doc=soffice<br />
alias -s gz=tar -xzvf<br />
alias -s bz2=tar -xjvf<br />
alias -s java=$EDITOR<br />
alias -s txt=$EDITOR<br />
alias -s PKGBUILD=$EDITOR<br />
<br />
# Normal aliases<br />
alias ls='ls --color=auto -F'<br />
alias lsd='ls -ld *(-/DN)'<br />
alias lsa='ls -ld .*'<br />
alias f='find |grep'<br />
alias c="clear"<br />
alias dir='ls -1'<br />
alias gvim='gvim -geom 82x35'<br />
alias ..='cd ..'<br />
alias nicotine='/home/paul/downloads/nicotine-1.0.8rc1/nicotine'<br />
alias ppp-on='sudo /usr/sbin/ppp-on'<br />
alias ppp-off='sudo /usr/sbin/ppp-off'<br />
alias firestarter='sudo su -c firestarter'<br />
alias mpg123='mpg123 -o oss'<br />
alias mpg321='mpg123 -o oss'<br />
alias vba='/home/paul/downloads/VisualBoyAdvance -f 4'<br />
alias hist="grep '$1' /home/paul/.zsh_history"<br />
alias irssi="irssi -c irc.freenode.net -n yyz"<br />
alias mem="free -m"<br />
alias msn="tmsnc -l hutchy@subdimension.com"<br />
<br />
# command L equivalent to command |less<br />
alias -g L='|less' <br />
<br />
# command S equivalent to command &> /dev/null &<br />
alias -g S='&> /dev/null &'<br />
<br />
# type a directory's name to cd to it.<br />
compctl -/ cd<br />
<br />
There are many more ways that you can customise zsh, obviously far too many to list here, see the [http://zsh.sunsite.dk/Doc/ zsh manual] for more information.<br />
<br />
== Uninstallation ==<br />
If you decide that zsh is not the shell for you and you want to return to BASH you must first change your default shell before removing the package. '''Failure to do so will result in all kinds of problems.'''<br />
<br />
First you need to find out the path to sh, do this by running<br />
which sh<br />
<br />
Then, as with the install, use the usermod program to modify your default shell<br />
usermod -s /bin/sh paul<br />
<br />
You are then free to remove the zsh package using pacman<br />
pacman -R zsh<br />
<br />
== External Resources ==<br />
*[http://zsh.sunsite.dk/Intro/intro_toc.html zsh Introduction] <br />
*[http://zsh.sunsite.dk/Doc/ zsh User Manual] <br />
*[http://zsh.sunsite.dk/FAQ/ zsh FAQ] <br />
*[http://grml.org/zsh/zsh-lovers.html zsh-lovers]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14625Gensplash2006-08-07T16:53:53Z<p>MartinZ: /* Bootloader splashes */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initcpio image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use silent mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use.<br />
<br />
If you do not use kernel26beyond from [extra], the following examples will work:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir, but take care that this files are not updated to reflect initcpio changes.<br />
<br />
<br />
The following are working GRUB entries for '''kernel26beyond''' kernel. You may need to modify kernel image and initcpio names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/kernel26beyond.img</pre><br />
<br />
And LILO entries:<br />
<pre># for verbose mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1"<br />
initrd=/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet"<br />
initrd=/boot/kernel26beyond.img</pre><br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* [[Graphical Lilo]]<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</pre></div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14624Gensplash2006-08-07T16:49:49Z<p>MartinZ: /* Update your bootloader */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initcpio image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use silent mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use.<br />
<br />
If you do not use kernel26beyond from [extra], the following examples will work:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir, but take care that this files are not updated to reflect initcpio changes.<br />
<br />
<br />
The following are working GRUB entries for '''kernel26beyond''' kernel. You may need to modify kernel image and initcpio names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/kernel26beyond.img</pre><br />
<br />
And LILO entries:<br />
<pre># for verbose mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1"<br />
initrd=/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet"<br />
initrd=/boot/kernel26beyond.img</pre><br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* Graphical Lilo<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</pre></div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14601Gensplash2006-08-07T04:21:08Z<p>MartinZ: /* Create the initcpio image for your prefered theme */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initcpio image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use silent mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir, but take care that this files are not updated to reflect initcpio changes.<br />
<br />
The following are working GRUB entries for kernel26beyond kernel. You may need to modify kernel image and initcpio names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/kernel26beyond.img</pre><br />
<br />
And LILO entries:<br />
<pre># for verbose mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1"<br />
initrd=/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet"<br />
initrd=/boot/kernel26beyond.img</pre><br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* Graphical Lilo<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</pre></div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14600Gensplash2006-08-07T04:20:40Z<p>MartinZ: /* Update your bootloader */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initcpio image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use quiet mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir, but take care that this files are not updated to reflect initcpio changes.<br />
<br />
The following are working GRUB entries for kernel26beyond kernel. You may need to modify kernel image and initcpio names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/kernel26beyond.img</pre><br />
<br />
And LILO entries:<br />
<pre># for verbose mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1"<br />
initrd=/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet"<br />
initrd=/boot/kernel26beyond.img</pre><br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* Graphical Lilo<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</pre></div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14599Gensplash2006-08-07T04:19:33Z<p>MartinZ: /* Update your bootloader */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initcpio image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use quiet mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir, but take care that this files are not updated to reflect initcpio changes.<br />
<br />
The following are working GRUB entries for kernel26beyond kernel. You may need to modify kernel image and initcpio names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/kernel26beyond.img</pre><br />
<br />
And LILO entries:<br />
<pre># for verbose mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1"<br />
initrd=/boot/kernel26beyond.img<br />
<br />
# for silent mode<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda1<br />
append="video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet"<br />
initrd=/boot/kernel26beyond.img<br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* Graphical Lilo<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</pre></div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14598Gensplash2006-08-07T04:12:46Z<p>MartinZ: /* Create the initramfs image for your prefered theme */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initcpio image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use quiet mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir.<br />
<br />
The following are working GRUB entries for kernel26beyond kernel. You may need to modify kernel image and initramfs names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/initramfs-beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/initramfs-beyond.img</pre><br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* Graphical Lilo<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Gensplash&diff=14597Gensplash2006-08-07T04:12:17Z<p>MartinZ: /* Create the initramfs image for your prefered theme */</p>
<hr />
<div>[[Category:Kernel]]<br />
[[Category:Boot Process]]<br />
This page is under constant update by DibbleTheWrecker to reflect recent advances and to expand on the info in the Graphical Boot HowTo - see the forum for more details http://bbs.archlinux.org/viewtopic.php?t=9125<br />
<br />
----<br />
<br />
'''Note:''' This page uses fbsplash (aka gensplash) for its graphical boot procedure. This kernel patch and userspace software is different from and mutually exclusive to the patch and procedures detailed in the [[Bootsplash|ArchLinux Bootsplash HOWTO]].<br />
<br />
== Having problems?==<br />
<br />
See the [[Gensplash#Troubleshooting | Troubleshooting]] section at the bottom<br />
<br />
== Installing gensplash==<br />
<br />
=== Patch a kernel===<br />
<br />
The first thing you need to do is add gensplash/fbsplash support to your kernel. This feature is not in the standard kernel tree, so you will have to patch the kernel with either a patchset that features gensplash/fbsplash or with the gensplash patch from the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers repository]. See the [[Kernel Patches and Patchsets]] page for more details.<br />
<br />
Alternatively, you may install and use the '''kernel26beyond''' package from [extra], that contains fbsplash and skip to the [[#Building and installing Splashutils|next step]].<br />
<br />
There are several methods you can use to patch your kernel. I would recommend using the [[Custom_Kernel_Compilation_with_ABS_(2.6.9_and_later)]] howto but you could also use one of the following to guide you:<br />
* [[Kernel Compilation With ABS (2.6.8 or Earlier)]]<br />
* [[Kernel Compilation]]<br />
<br />
Which ever method you choose but be sure to choose the following settings at the <code>config</code> stage:<br />
<pre><br />
Device Drivers<br />
Block Devices<br />
RAM disk support (BLK_DEV_RAM) = Y<br />
Inital RAM disk (initrd) support(BLK_DEV_INITRD)=Y<br />
Graphics Support<br />
Support for framebuffer devices (FB) = Y<br />
VESA VGA graphics support (FB_VESA) = Y<br />
VESA driver type<br />
vesafb (FB_VESA_STD) = Y (see note 1)<br />
vesafb-tng (FB_VESA_TNG) = N (see note 2)<br />
"Card Specific" display support (FB_"CARD") = N (see note 3)<br />
Logo Configuration<br />
Bootup logo (LOGO) = N<br />
Support for the framebuffer splash (FB_SPLASH) = Y<br />
</pre><br />
<br />
<b>Notes:</b><BR><br />
# If you are NOT running 32bit x86 (eg. 64 bit) you should compile vesafb support INSTEAD of vesafb-tng.<BR><br />
# Even if you are running 32bit x86 I DO NOT recommend vesafb-tng over vesafb, it is slow and requires different configs to vesafb, switching framebuffer types between kernels will cause you grief. If you have previously used vesafb keep using it!<BR><br />
# There are several card specific framebuffer options. You may try them if you want, but you should only compile the VESA driver or a card specific one, not both. Also, be aware the ATI drivers may be prone to incorrect color pallete problems.<br />
<br />
===Building and installing Splashutils===<br />
<br />
You need the splashutils userspace utilites to make fbsplash work properly. There are several utilites in the package but we are mainly interested in <tt>splash_helper</tt>, <tt>splash_geninitramfs</tt>, <tt>bootsplash2fbsplash</tt>, and <tt>splash_util</tt>. Splashutils needs to link to your patched kernel source if you build it yourself.<br />
<br />
About the most important tools:<br />
* splash_helper = actual code to make the splash screen work<br />
* splash_geninitramfs = generates a RAM disk image containg splash_helper and the graphics we choose<br />
* bootsplash2fbsplash = convert older bootsplash themes into the new fbsplash format<br />
* splash_util = allows us to control the silent mode progress bar from the init scripts<br />
<br />
I created a special gensplashutils package that contains everything you should need to get gensplash working. This includes examples for lilo and grub, a splash rc.d script, called gensplash, to start the backgrounds on the virtual terminals (and a config file to support this), and the darch theme, created by Rensel.<br />
<br />
The gensplashutils package that I created can now be installed from the [community] repo. Uncomment the following lines in <code>/etc/pacman.conf</code> or add them if you don't have them there:<br />
[community]<br />
Server = ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
Then install it:<br />
# pacman -Sy gensplashutils<br />
<br />
Or you use the one of the following PKGBUILDs to make the package yourself. The first allows you to build the same pkg as i have in my repo but based on your kernel sources and includes my tools pkg. The second simply builds the vanilla splashutils pkg and doesn't incorporate the additional files I have collected.<br />
<br />
All my splashutils files (current version 0.1.9) can be found here http://dtw.jiwe.org/share/gensplash/<br />
<br />
Current gensplashutils PKGBUILD and splashutils.install can be found [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/gensplashutils/?cvsroot=AUR&only_with_tag=CURRENT here] - maintained by dibblethewrecker<br />
<br />
=== Getting gensplash themes===<br />
<br />
This step is optional. If you are happy with the default theme called darch, which is included in the gennsplashutils package, you can skip to the [[#Create the initramfs image for your prefered theme|next step]].<br />
<br />
Now we need some themes before we go any further. For starters, all gensplash themes should be installed in <code>/etc/splash/</code>, my pkg installs one there straight off. However, currently there are not many prebuilt gensplash themes about, you can find a few on http://dev.gentoo.org/~spock/projects/gensplash . However, they are very easy to make, I made the ArchMetal theme very easily, by looking at other theme cfgs and the [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]. Probably the easiest way to get started is to download some themes for '''bootsplash''' and '''convert them'''!<br />
<br />
You can download some bootsplash themes from [http://www.bootsplash.de/ this bootsplash fan site] or from [http://www.kde-look.org/index.php?xcontentmode=61 KDE-Look.org].<br />
<br />
====Converting bootsplash themes into fbsplash format.====<br />
<br />
It's VERY easy:<br />
* you will need to extract the themes to /etc/bootsplash/ dir.<br />
* to convert them into fbsplash format simply run<br />
# bootsplash2fbsplash bootsplashthemename<br />
* you don't need the path or anything - this will install a new version of the theme in gensplash format in <code>/etc/splash/</code><br />
<br />
=== Create the initramfs image for your prefered theme===<br />
<br />
This is very easy and not at all as hard as it sounds!<br />
<br />
If you use '''kernel26beyond''' (formerly known as kernel26archck) package from [extra], edit your <code>/etc/mkinitcpio.conf</code> to enable fbsplash and set the name of the theme and its resolution.<br />
Add the hook to enable fbsplash and specify at the end of the file the theme you'll use and at which resolution. Try 'darch', it's included in the gensplashutils. The conf file shall look like this:<br />
<pre>HOOKS="base udev autodetect ide resume fbsplash"<br />
<br />
FBTHEMES="darch"<br />
FBRES="1024x768"</pre><br />
<br />
and run<br />
<pre>mkinitcpio -g /boot/kernel26beyond.img</pre><br />
<br />
That's it, now you can skip to [[#Update your bootloader|updating your bootloader]].<br />
<br />
Note: To use quiet mode, you need to install gensplashutils and ''initscripts-gensplash'' from community.<br />
<br />
<br />
If you use another kernel then you need to perform the following:<br />
<br />
Simply use splash_geninitramfs:<br />
<pre><br />
splash_geninitramfs -v -g /boot/fbsplash-theme-1024x768 -r 1024x768 theme<br />
</pre><br />
<br />
where theme is the theme you want to use<br />
<br />
Here is what the splash_geninitramfs options mean:<br />
<br />
<pre><br />
-v tells splash_geninitramfs to go into verbose mode<br />
-g tells splash_geninitramfs to generate the initramfs image file /boot/fbsplash-newtheme-1280x1024<br />
-r tells splash_geninitramfs to use the 1280x1024 resolution<br />
-the 'newtheme' part tells splash_geninitramfs to look in<br />
the /etc/splash/newtheme directory for the .cfg files<br />
</pre><br />
<br />
To see a description of all splash_geninitramfs' options:<br />
splash_geninitramfs --help<br />
<br />
Example for the splashutils.install file.<br />
To install the darch theme run the following as root:<br />
splash_geninitramfs -v -g /boot/fbsplash-darch-1024x768 -r 1024x768 darch<br />
<br />
=== Update your bootloader===<br />
<br />
Now it's time to update the configuration file for your boot loader. '''Important:''' ''add'' a new bootload entry, do not replace your existing one. If there are problems, you want to be able to fallback on your known good configuration.<br />
<br />
Configure a new entry in [[GRUB#Configuration|GRUB]] or [[Lilo]] depending on which one you use:<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/grub.sample Sample GRUB file]<br />
* [http://dtw.jiwe.org/share/gensplash/splashutils-arch-0.1.13/lilo.sample Sample LILO file]<br />
<br />
The example configs can be also found in <code>/etc/splash/</code> dir.<br />
<br />
The following are working GRUB entries for kernel26beyond kernel. You may need to modify kernel image and initramfs names and partitions:<br />
<pre># for verbose mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=verbose,theme:darch console=tty1<br />
initrd (hd0,0)/boot/initramfs-beyond.img<br />
<br />
# for silent mode<br />
title Arch<br />
root (hd0,0)<br />
kernel (hd0,0)/boot/vmlinuz26beyond root=/dev/hda1 video=vesafb:ywrap,mtrr,1024x768-32@60 splash=silent,theme:darch console=tty1 quiet<br />
initrd (hd0,0)/boot/initramfs-beyond.img</pre><br />
<br />
===Optional Install patched initscripts to support silent splash===<br />
<br />
You'll need to patch your initscripts to get the silent splash. The patched version of the latest initscripts can be found in [community] repo:<br />
# pacman -S initscripts-gensplash<br />
<br />
Note: these pkgs depend on '''splashutils''', both gensplashutils and splashutils ''provide'' splashutils<br />
<br />
This package will replace your existing initscripts and therefore your /etc/rc.local, rc.conf and inittab will be OVERWRITTEN. However, it will create their backups as /etc/rc.local.pacsave, rc.conf.pacsave and inittab.pacsave respectively. You need to modify the files again if you have made some changes to them before.<br />
<br />
Current PKGBUILD and patch are [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/system/initscripts-gensplash/?cvsroot=AUR&only_with_tag=CURRENT here]<br />
<br />
=== Pre-reboot checks===<br />
Just before you reboot, let's check and make sure that everything is ready:<br />
* If the new kernel has different modules compiled/loaded, have you updated your <code>/etc/rc.conf</code>, <code>/etc/modprobe.conf</code>, and <code>/etc/rc.local</code> to remove compiled in or added newly modular modules?<br />
* Is the path in your bootloader configuration for the <tt>initrd</tt> command correct?<br />
* Does the resolution in the <tt>video=</tt> boot parameter match the resolution(s) provided by your fbsplash theme?<br />
* If you're using LILO, did you run LILO to update the boot sector?<br />
* Do you have [http://www.sysresccd.org/ SystemRescueCD] or [http://www.knoppix.org/ Knoppix] standing by in case your machine is unable to boot?<br />
<br />
=== Bootloader splashes===<br />
* [[Graphical GRUB]]<br />
* Graphical Lilo<br />
<br />
=== Troubleshooting===<br />
splashutils-1.1.9 saw a major architecture change and so some major changes to the scripts and operation of the application. The changes have bought some problems for a few people so please check this section out!<br />
<br />
====NO splash screens at all:====<br />
<br />
* check you are using a '''kernel patch that includes fbsplash-0.9.2-2.6.11''' or later - this was essentially introduced in 2.6.11 patchsets - so if you are using pre 2.6.11 you probably don't have the right fbsplash patch<br />
* ensure your '''patchset is compatible with your source''', most major patchsets are not compatible with the 2.6.x.y branches<br />
* if you have checked all this and still have no luck '''try rebuilding gensplash for yourself''' against the kernel source you wish to use, all the required materials are linked above<br />
<br />
====Text overwriting your screen in silent mode:====<br />
<br />
* If you are having issues with '''text overwriting your screen''' in silent mode please check that are using the console=tty1 and quiet options in your bootloader config.<br />
<br />
====Backgrounds not being set on vc's at boot====<br />
<br />
* This is a weird issue and possibly an upstream bug - it may be related to Arch's init order however. To fix this issue try setting <code>CONSOLEFONT=default8x16.psfu.gz in rc.conf</code><br />
<br />
=== References===<br />
* [http://dev.gentoo.org/~spock/projects/gensplash/ The gensplash (aka fbsplash) developer's page]<br />
* [http://gentoo-wiki.com/HOWTO_fbsplash Gentoo's fbsplash HowTo]<br />
* The docs subdirectory located in the curent splash-utils archive at the [http://dev.gentoo.org/~spock/projects/gensplash/current/ developers current repository]<br />
* [http://ruslug.rutgers.edu/~mcgrof/grub-images/ GNU grubsplash HowTo]</div>MartinZhttps://wiki.archlinux.org/index.php?title=Mkinitcpio&diff=13741Mkinitcpio2006-06-23T06:23:45Z<p>MartinZ: /* Configuring the MODULES */</p>
<hr />
<div>[[Category:Boot_Process]]<br />
[[Category:Kernel]]<br />
<br />
= About =<br />
<br />
'''mkinitcpio''' is the next generation of '''initramfs creation'''. It has many advantages above 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 />
<br />
'''mkinitcpio''' has been developed by '''phrakture''' and '''tpowa''' with some help from the community.<br />
<br />
It is currently in '''beta stage'''. To use it, you have to generate the image yourself and add it to the bootloader. Please always keep your old initrd or initramfs images intact so you will be able to boot if you hit bugs in mkinitcpio.<br />
The '''2.6.17''' kernel packages already added mkinitcpio support.<br />
<br />
= Installing mkinitcpio =<br />
== From the testing repository ==<br />
<br />
The '''mkinitcpio''' script has made its move to the testing repository. You can install with the command<br />
# pacman -Sy mkinitcpio<br />
The testing repository has to be enabled in /etc/pacman.conf.<br />
<br />
== From svn ==<br />
<br />
If you want the latest development version of '''mkinitcpio''', check out phrakture's svn repository using<br />
# svn co http://phraktured.net/initramfs<br />
The newest scripts are now in the '''initramfs/mkinitcpio''' directory.<br />
<br />
= Activation for >=2.6.17 kernels =<br />
There will be 2 images created during kernel installation/upgrade:<br />
<br />
- '''kernel26''' (available in testing repository)<br />
/boot/kernel26.img --> stripped down in size by autodetect<br />
/boot/kernel26-fallback.img --> contains all modules of subsystems<br />
- '''kernel26beyond''' (2.6.17 not yet available)<br />
/boot/kernel26beyond.img --> stripped down in size by autodetect<br />
/boot/kernel26beyond-fallback.img --> contains all modules of subsystems<br />
Please change your bootloader to load the correct image you need.<br />
== '''Modifying fallback image''' ==<br />
To change the defaults edit the following files:<br />
kernel26 --> '/boot/mkinitcpio-kernel26.conf' <br />
kernel26beyond --> '/boot/mkinitcpio-kernel26beyond.conf'<br />
and set them to NoUpgrade = in '/etc/pacman.conf'<br />
<br />
== ATTENTION => '''lvm2''', '''raid''' and '''encrypt''' are NOT enabled by default == <br />
'''lvm2''', '''raid''' and '''encrypt''' are not! enabled by default.<br />
Please read this wiki carefully on how to setup those stuff, and configure it <br />
for your system.<br />
<br />
= Customizing the configuration file =<br />
<br />
'''mkinitcpio''' is configured in the '''/etc/mkinitcpio.conf''' file.<br />
<br />
== Configuring the HOOKS ==<br />
<br />
This is the most important part of mkinitcpio configuration. The HOOKS line contains the hooks that are executed on image creating and on runtime in the exact order they are executed. The format is like this:<br />
<br />
HOOKS="foo1 foo2 foo3 bar1 bar2"<br />
<br />
=== Available hooks ===<br />
<br />
{| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show"<br />
|-<br />
! Hook || Installation || Runtime<br />
|-<br />
| '''base''' || Sets up all initial directories and installs base klibc utilities and libraries. Always add this hook unless you know what you are doing. || <br />
|-<br />
| '''udev''' || Adds udev to your image || Udev will be used to create your root device node and detect the needed modules for your root device. As it simplifies things, using the udev hook is recommended.<br />
|-<br />
| '''modload''' || || An alternative autodetecion method which is much slower than udev. Using this hook is discouraged. Use udev instead.<br />
|-<br />
| '''autodetect''' || Shrinks your initramfs to a smaller size by autodetecting your needed modules. Be sure to verify included modules are correct and none are missing. This hook must be run before other subsystem hooks in order to take advantage of auto-detection. Any hooks placed before 'autodetect' will be installed in full. || <br />
|-<br />
| '''ide''' || Adds IDE modules to the image. Use this if your root device is on a IDE disk. Also use the '''autodetect''' hook if you want to minimize your image size || Loads IDE modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''sata''' || Adds serial ATA modules to the image. Use this if your root device is on a SATA disk. Also use the '''autodetect''' hook if you want to minimize your image size. || Loads SATA modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''scsi''' || Adds SCSI modules to the image. Use this if your root device is on a SCSI disk. Also use the '''autodetect''' hook if you want to minimize your image size. || Loads SCSI modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''usb''' || Adds USB modules to the image. Use this if your root device is on a USB mass storage device. || Loads USB modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''usbinput''' || Adds USB HID modules to the image. Use this if you have an USB keyboard and need it in early userspace (either for entering encryption passphrases or for failsafe mode) || Loads USB HID modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''fw''' || Adds Firewire modules to the image. Use this if your root device is on a FW mass storage device. || Loads FW modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''net''' || Adds the necessary modules for a network device. For pcmcia net devices please add pcmcia hook too. || Loads network modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below). See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''pcmcia''' || Adds the necessary modules for pcmcia devices. You need to have pcmciautils installed to use this.|| Loads pcmcia modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''dsdt''' || Loads a custom acpi dsdt file during boot. Place your custom dsdt file for inclusion at /lib/initcpio/custom.dsdt || The custom dsdt file is automatically used by the kernel if it is present in initramfs.<br />
|-<br />
| '''filesystems''' || This includes necessary filesystem modules into your image. This hook is necessary if you want to be able to boot || This will detect the filesystem type at runtime, load the module and pass it to kinit. NOTE: it will NOT detect reiser4, it must be added to modules list.<br />
|-<br />
| '''lvm2''' || Adds the device mapper kernel module and the lvm tool to the image. You need to have the lvm2 package installed to use this. || Enables all lvm2 volume groups. This is necessary if you have your root filesystem on lvm.<br />
|-<br />
| '''raid''' || Adds the modules and mdassamble for a software raid setup. You need to have mdadm installed to use this.|| Loads the necessary modules for software raid devices, and assembles the raid devices when run. See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''encrypt''' || Adds the dm-crypt kernel module and the cryptsetup tool to the image. You need to have the cryptsetup package installed to use this. || Detects and unlocks an encrypted root partition. See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''resume''' || || This tries to resume from "suspend to disk" state. Works with both swsusp and suspend2. See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''firmware''' || Adds /lib/firmware files. || Loads firmware. You will need the '''udev''' hook to get firmware loaded. <br />
|-<br />
| '''keymap''' || Adds keymap and consolefonts from rc.conf. || Loads the specified keymap and consolefont from rc.conf during early userspace.<br />
|}<br />
<br />
=== Examples ===<br />
<br />
This configuration will work for most users with a standard setup:<br />
<br />
HOOKS="base udev autodetect ide scsi sata filesystems"<br />
<br />
If you want to use the image on more than one machine, use this configuration:<br />
<br />
HOOKS="base udev ide scsi sata filesystems"<br />
<br />
You can use encrypted volumes on top of lvm2 volume groups:<br />
<br />
HOOKS="base udev autodetect ide scsi sata lvm2 encrypt filesystems"<br />
<br />
== Configuring the MODULES ==<br />
<br />
You can use the MODULES in the configuration file to load a module before anything else is done. For example, if you don't want to use '''udev''' or '''modload''', you can add all necessary modules manually and make booting faster:<br />
<br />
MODULES="piix ide_disk reiserfs"<br />
HOOKS="base autodetect ide filesystems"<br />
<br />
NOTE: if you're using '''reiser4''', you MUST add it to the modules list.<br />
<br />
== Configuring the BINARIES and FILES ==<br />
<br />
These options allow you to add files to the image. The only difference is that BINARIES checks binaries and libraries for dependencies, while FILES simply adds the file.<br />
<br />
Examples:<br />
<br />
FILES="/etc/modprobe.conf"<br />
<br />
BINARIES="/usr/bin/somefile"<br />
<br />
= Creating the image =<br />
<br />
Create the image with the command<br />
<br />
mkinitcpio -g /boot/initcpio.img<br />
<br />
This will save the image at '''/boot/initcpio.img'''. If you are creating an image for a kernel other than the one you are currently running, add the kernel version to the command line<br />
<br />
mkinitcpio -g /boot/initcpio.img -k 2.6.16-ARCH<br />
<br />
See '''mkinitcpio -h''' for more options.<br />
<br />
Don't forget to add a new bootloader entry. Just make a copy of your old one and change the initrd to your new image. As long as mkinitcpio is beta, please always leave the old one intact, so that you can boot it if something goes wrong. You can use mkinitcpio with any kernel, so kernel26 and kernel26-beyond users are encouraged to try it.<br />
<br />
= Customizing the kernel command line =<br />
<br />
Just like without initramfs, some options need to be passed on the kernel command line to configure your kernel, like the root device. Some of the mkinitcpio hooks have special options. These are discussed below.<br />
<br />
If you don't know what a kernel command line is, please refer to the [[GRUB]] or [[Lilo]] documentation.<br />
<br />
== Entering failsafe mode ==<br />
<br />
If you add the option<br />
break=y<br />
to the kernel command line, init stops after the setup is completed and you are left with a ''dash'' shell. This can be used to verify that everything went fine. If you logout, normal boot continues.<br />
<br />
== Disabling hooks ==<br />
<br />
You can disable a hook at runtime by adding the ''disablehooks'' option to the kernel command line like this:<br />
<br />
disablehooks=hook1,hook2,hook2<br />
<br />
for example<br />
<br />
disablehooks=resume<br />
<br />
== Blacklisting modules ==<br />
<br />
You can blacklist modules by adding the ''disablemodules'' option to the kernel command line like this:<br />
<br />
disablemodules=mod1,mod2,mod3<br />
<br />
for example<br />
<br />
disablemodules=ata_piix<br />
<br />
'''THIS FEATURE IS CURRENTLY BROKEN'''<br />
<br />
== Using raid ==<br />
First add the raid hook to the HOOKS list in /etc/mkinitcpio.conf<br />
<br />
'''Kernel Parameters: '''<br />
Specify all your md arrays with md= parameter: (only adding the raid array you're booting from is enough)<br />
<br />
add the following to the kernel line in grub/menu.lst:<br />
Example: md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1<br />
working example: kernel /vmlinuz26beyond root=/dev/md0 ro md=0,/dev/sda1,/dev/sdb1<br />
This will setup 2 md arrays with persistent superblocks<br />
<br />
'''Setup:'''<br />
- for old raid arrays without persistent superblocks:<br />
md=<md device no.>,<raid level>,<chunk size factor>,<fault level>,dev0,dev1<br />
- for raid arrays with persistent superblocks:<br />
md=<md device no.>,dev0,dev1,...,devn<br />
- for, to assemble a partitionable array:<br />
md=d<md device no.>,dev0,dev1,...,devn<br />
<br />
'''Parameters:'''<br />
- <md device no.> = the number of the md device: <br />
0 means md0, 1 means md1, ...<br />
- <raid level> = -1 linear mode, 0 striped mode<br />
other modes are only supported with persistent super block<br />
- <chunk size factor> = (raid-0 and raid-1 only):<br />
Set the chunk size as 4k << n.<br />
- <fault level> = totally ignored<br />
- <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1<br />
<br />
== Using net ==<br />
<br />
'''Kernel Parameters:''' <br />
<br />
'''ip=''' <br />
<br />
An interface spec can be either short form, which is just the name of<br />
an interface (eth0 or whatever), or long form. The long form consists<br />
of up to seven elements, separated by colons:<br />
<br />
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf><br />
nfsaddrs= is an alias to ip= and can be used too.<br />
<br />
''Parameter explanation:''<br />
<client-ip> IP address of the client. If empty, the address will<br />
either be determined by RARP/BOOTP/DHCP. What protocol<br />
is used de- pends on the <autoconf> parameter. If this<br />
parameter is not empty, autoconf will be used.<br />
<br />
<server-ip> IP address of the NFS server. If RARP is used to<br />
determine the client address and this parameter is NOT<br />
empty only replies from the specified server are<br />
accepted. To use different RARP and NFS server,<br />
specify your RARP server here (or leave it blank), and<br />
specify your NFS server in the `nfsroot' parameter<br />
(see above). If this entry is blank the address of the<br />
server is used which answered the RARP/BOOTP/DHCP<br />
request.<br />
<br />
<gw-ip> IP address of a gateway if the server is on a different<br />
subnet. If this entry is empty no gateway is used and the<br />
server is assumed to be on the local network, unless a<br />
value has been received by BOOTP/DHCP.<br />
<br />
<netmask> Netmask for local network interface. If this is empty,<br />
the netmask is derived from the client IP address assuming<br />
classful addressing, unless overridden in BOOTP/DHCP reply.<br />
<br />
<hostname> Name of the client. If empty, the client IP address is<br />
used in ASCII notation, or the value received by<br />
BOOTP/DHCP.<br />
<br />
<device> Name of network device to use. If this is empty, all<br />
devices are used for RARP/BOOTP/DHCP requests, and the<br />
first one we receive a reply on is configured. If you<br />
have only one device, you can safely leave this blank.<br />
<br />
<autoconf> Method to use for autoconfiguration. If this is either<br />
'rarp', 'bootp', or 'dhcp' the specified protocol is<br />
used. If the value is 'both', 'all' or empty, all<br />
protocols are used. 'off', 'static' or 'none' means<br />
no autoconfiguration.<br />
''Examples:''<br />
ip=127.0.0.1:::::lo:none --> Enable the loopback interface.<br />
ip=192.168.1.1:::::eth2:none --> Enable static eth2 interface.<br />
ip=:::::eth0:dhcp --> Enable dhcp protcol for eth0 configuration.<br />
'''nfsroot='''<br />
<br />
If the 'nfsroot' parameter is NOT given on the command line, the default<br />
"/tftpboot/%s" will be used.<br />
<br />
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]<br />
<br />
''Parameter explanation:''<br />
<br />
<server-ip> Specifies the IP address of the NFS server. If this field<br />
is not given, the default address as determined by the<br />
`ip' variable (see below) is used. One use of this<br />
parameter is for example to allow using different servers<br />
for RARP and NFS. Usually you can leave this blank.<br />
<br />
<root-dir> Name of the directory on the server to mount as root. If<br />
there is a "%s" token in the string, the token will be<br />
replaced by the ASCII-representation of the client's IP<br />
address.<br />
<br />
<nfs-options> Standard NFS options. All options are separated by commas.<br />
If the options field is not given, the following defaults<br />
will be used:<br />
port = as given by server portmap daemon<br />
rsize = 1024<br />
wsize = 1024<br />
timeo = 7<br />
retrans = 3<br />
acregmin = 3<br />
acregmax = 60<br />
acdirmin = 30<br />
acdirmax = 60<br />
flags = hard, nointr, noposix, cto, ac<br />
<br />
'''root=/dev/nfs'''<br />
If you don't use nfsroot= parameter you need to set root=/dev/nfs <br />
to boot from a nfs root by autoconfiguration.<br />
<br />
== Using lvm ==<br />
<br />
If your root device is on lvm, you have to add the '''lvm2''' hook. You have to pass your root device on the kernel command line in the format<br />
<br />
root=/dev/mapper/<volume group name>-<logical volume name><br />
<br />
for exmaple<br />
<br />
root=/dev/mapper/myvg-root<br />
<br />
== Using encrypted root ==<br />
<br />
If your root volume is encrypted, you need to add the '''encrypt''' hook. Then specify your root device on the kernel command line, just as if it was unencrypted, for example<br />
<br />
root=/dev/sda5<br />
<br />
for an encrypted partition on an sata or scsi disk or<br />
<br />
root=/dev/mapper/myvg-root<br />
<br />
for an encrypted lvm volume. The root device will be automatically changed to ''/dev/mapper/root''.<br />
<br />
=== Using LUKS volumes ===<br />
<br />
If you use LUKS for hard disk encryption, the init script will detect the encryption automatically if the '''encrypt''' hook is enabled. It will then ask for a passphrase and try to unlock the volume.<br />
<br />
=== Using legacy cryptsetup volumes ===<br />
<br />
If you are using a legacy cryptsetup volume, you have to specify all cryptsetup options necessary to unlock it on the kernel command line. The option format is<br />
<br />
crypto=hash:cipher:keysize:offset:skip<br />
<br />
representing cryptsetup's --hash, --cipher, --keysize, --offset and --skip options. If you omit an option, cryptsetup's default value is used, so you can just specify<br />
<br />
crypto=::::<br />
<br />
if you created your volume with the default settings.<br />
<br />
'''NOTE:''' For technical reasons, it is not possible to verify the correctness of your passphrase with legacy cryptsetup volumes. If you typed it wrong, mounting will simply fail. It is recommended that you use LUKS instead.<br />
<br />
=== Using loop-aes volumes ===<br />
<br />
'''mkinitcpio''' does not support loop-aes yet.<br />
<br />
== Using Suspend to Disk ==<br />
<br />
If you want to use suspend to disk, you have to add the '''resume''' hook.<br />
<br />
=== swsusp ===<br />
<br />
''TODO''<br />
<br />
=== µswsusp ===<br />
<br />
µswsusp is not supported yet.<br />
<br />
=== suspend2 ===<br />
<br />
If you are using [http://www.suspend2.net suspend2], you have to specify the ''resume2'' kernel commandline option. If you are using the swap writer, use<br />
<br />
resume2=swap:/dev/hda3<br />
<br />
where ''/dev/hda3'' is your swap partition. If you want to use the filewriter, use<br />
<br />
resume2=file:/dev/hda2:0x123456<br />
<br />
where ''/dev/hda2'' is the partition where the suspend2 image is stored (most likely the root partition) and ''0x123456'' is the file offset. You can get the exact value with the commands<br />
<br />
echo "/suspend2_file" > /proc/suspend2/filewriter_target<br />
cat /proc/suspend2/resume2<br />
<br />
where /suspend2_file is the path to your suspend image file. This - of course - works for lvm volumes as well. You can also use a suspend file on an encrypted root partition with the option<br />
<br />
resume2=file:/dev/mapper/root:0x123456<br />
<br />
where ''0x123456'' is the offset again. Resuming from an encrypted swap partition is not supported.<br />
<br />
== Example bootloader configuration files ==<br />
<br />
''TODO''<br />
<br />
= Troubleshooting =<br />
<br />
''TODO''</div>MartinZhttps://wiki.archlinux.org/index.php?title=Mkinitcpio&diff=13740Mkinitcpio2006-06-23T06:21:21Z<p>MartinZ: /* Available hooks */</p>
<hr />
<div>[[Category:Boot_Process]]<br />
[[Category:Kernel]]<br />
<br />
= About =<br />
<br />
'''mkinitcpio''' is the next generation of '''initramfs creation'''. It has many advantages above 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 />
<br />
'''mkinitcpio''' has been developed by '''phrakture''' and '''tpowa''' with some help from the community.<br />
<br />
It is currently in '''beta stage'''. To use it, you have to generate the image yourself and add it to the bootloader. Please always keep your old initrd or initramfs images intact so you will be able to boot if you hit bugs in mkinitcpio.<br />
The '''2.6.17''' kernel packages already added mkinitcpio support.<br />
<br />
= Installing mkinitcpio =<br />
== From the testing repository ==<br />
<br />
The '''mkinitcpio''' script has made its move to the testing repository. You can install with the command<br />
# pacman -Sy mkinitcpio<br />
The testing repository has to be enabled in /etc/pacman.conf.<br />
<br />
== From svn ==<br />
<br />
If you want the latest development version of '''mkinitcpio''', check out phrakture's svn repository using<br />
# svn co http://phraktured.net/initramfs<br />
The newest scripts are now in the '''initramfs/mkinitcpio''' directory.<br />
<br />
= Activation for >=2.6.17 kernels =<br />
There will be 2 images created during kernel installation/upgrade:<br />
<br />
- '''kernel26''' (available in testing repository)<br />
/boot/kernel26.img --> stripped down in size by autodetect<br />
/boot/kernel26-fallback.img --> contains all modules of subsystems<br />
- '''kernel26beyond''' (2.6.17 not yet available)<br />
/boot/kernel26beyond.img --> stripped down in size by autodetect<br />
/boot/kernel26beyond-fallback.img --> contains all modules of subsystems<br />
Please change your bootloader to load the correct image you need.<br />
== '''Modifying fallback image''' ==<br />
To change the defaults edit the following files:<br />
kernel26 --> '/boot/mkinitcpio-kernel26.conf' <br />
kernel26beyond --> '/boot/mkinitcpio-kernel26beyond.conf'<br />
and set them to NoUpgrade = in '/etc/pacman.conf'<br />
<br />
== ATTENTION => '''lvm2''', '''raid''' and '''encrypt''' are NOT enabled by default == <br />
'''lvm2''', '''raid''' and '''encrypt''' are not! enabled by default.<br />
Please read this wiki carefully on how to setup those stuff, and configure it <br />
for your system.<br />
<br />
= Customizing the configuration file =<br />
<br />
'''mkinitcpio''' is configured in the '''/etc/mkinitcpio.conf''' file.<br />
<br />
== Configuring the HOOKS ==<br />
<br />
This is the most important part of mkinitcpio configuration. The HOOKS line contains the hooks that are executed on image creating and on runtime in the exact order they are executed. The format is like this:<br />
<br />
HOOKS="foo1 foo2 foo3 bar1 bar2"<br />
<br />
=== Available hooks ===<br />
<br />
{| border="2" cellspacing="0" cellpadding="4" rules="all" style="margin:1em 1em 1em 0; border-style:solid; border-width:1px; border-collapse:collapse; empty-cells:show"<br />
|-<br />
! Hook || Installation || Runtime<br />
|-<br />
| '''base''' || Sets up all initial directories and installs base klibc utilities and libraries. Always add this hook unless you know what you are doing. || <br />
|-<br />
| '''udev''' || Adds udev to your image || Udev will be used to create your root device node and detect the needed modules for your root device. As it simplifies things, using the udev hook is recommended.<br />
|-<br />
| '''modload''' || || An alternative autodetecion method which is much slower than udev. Using this hook is discouraged. Use udev instead.<br />
|-<br />
| '''autodetect''' || Shrinks your initramfs to a smaller size by autodetecting your needed modules. Be sure to verify included modules are correct and none are missing. This hook must be run before other subsystem hooks in order to take advantage of auto-detection. Any hooks placed before 'autodetect' will be installed in full. || <br />
|-<br />
| '''ide''' || Adds IDE modules to the image. Use this if your root device is on a IDE disk. Also use the '''autodetect''' hook if you want to minimize your image size || Loads IDE modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''sata''' || Adds serial ATA modules to the image. Use this if your root device is on a SATA disk. Also use the '''autodetect''' hook if you want to minimize your image size. || Loads SATA modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''scsi''' || Adds SCSI modules to the image. Use this if your root device is on a SCSI disk. Also use the '''autodetect''' hook if you want to minimize your image size. || Loads SCSI modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''usb''' || Adds USB modules to the image. Use this if your root device is on a USB mass storage device. || Loads USB modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''usbinput''' || Adds USB HID modules to the image. Use this if you have an USB keyboard and need it in early userspace (either for entering encryption passphrases or for failsafe mode) || Loads USB HID modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''fw''' || Adds Firewire modules to the image. Use this if your root device is on a FW mass storage device. || Loads FW modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''net''' || Adds the necessary modules for a network device. For pcmcia net devices please add pcmcia hook too. || Loads network modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below). See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''pcmcia''' || Adds the necessary modules for pcmcia devices. You need to have pcmciautils installed to use this.|| Loads pcmcia modules. You will need the '''udev''' or '''modload''' hook unless you specify the needed modules manually (see MODULES section below).<br />
|-<br />
| '''dsdt''' || Loads a custom acpi dsdt file during boot. Place your custom dsdt file for inclusion at /lib/initcpio/custom.dsdt || The custom dsdt file is automatically used by the kernel if it is present in initramfs.<br />
|-<br />
| '''filesystems''' || This includes necessary filesystem modules into your image. This hook is necessary if you want to be able to boot || This will detect the filesystem type at runtime, load the module and pass it to kinit. NOTE: it will NOT detect reiser4, it must be added to modules list.<br />
|-<br />
| '''lvm2''' || Adds the device mapper kernel module and the lvm tool to the image. You need to have the lvm2 package installed to use this. || Enables all lvm2 volume groups. This is necessary if you have your root filesystem on lvm.<br />
|-<br />
| '''raid''' || Adds the modules and mdassamble for a software raid setup. You need to have mdadm installed to use this.|| Loads the necessary modules for software raid devices, and assembles the raid devices when run. See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''encrypt''' || Adds the dm-crypt kernel module and the cryptsetup tool to the image. You need to have the cryptsetup package installed to use this. || Detects and unlocks an encrypted root partition. See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''resume''' || || This tries to resume from "suspend to disk" state. Works with both swsusp and suspend2. See the section [[Configuring_mkinitcpio#Customizing_the_kernel_command_line|Customizing the kernel command line]] for further configuration.<br />
|-<br />
| '''firmware''' || Adds /lib/firmware files. || Loads firmware. You will need the '''udev''' hook to get firmware loaded. <br />
|-<br />
| '''keymap''' || Adds keymap and consolefonts from rc.conf. || Loads the specified keymap and consolefont from rc.conf during early userspace.<br />
|}<br />
<br />
=== Examples ===<br />
<br />
This configuration will work for most users with a standard setup:<br />
<br />
HOOKS="base udev autodetect ide scsi sata filesystems"<br />
<br />
If you want to use the image on more than one machine, use this configuration:<br />
<br />
HOOKS="base udev ide scsi sata filesystems"<br />
<br />
You can use encrypted volumes on top of lvm2 volume groups:<br />
<br />
HOOKS="base udev autodetect ide scsi sata lvm2 encrypt filesystems"<br />
<br />
== Configuring the MODULES ==<br />
<br />
You can use the MODULES in the configuration file to load a module before anything else is done. For example, if you don't want to use '''udev''' or '''modload''', you can add all necessary modules manually and make booting faster:<br />
<br />
MODULES="piix ide_disk reiserfs"<br />
HOOKS="base autodetect ide filesystems"<br />
<br />
== Configuring the BINARIES and FILES ==<br />
<br />
These options allow you to add files to the image. The only difference is that BINARIES checks binaries and libraries for dependencies, while FILES simply adds the file.<br />
<br />
Examples:<br />
<br />
FILES="/etc/modprobe.conf"<br />
<br />
BINARIES="/usr/bin/somefile"<br />
<br />
= Creating the image =<br />
<br />
Create the image with the command<br />
<br />
mkinitcpio -g /boot/initcpio.img<br />
<br />
This will save the image at '''/boot/initcpio.img'''. If you are creating an image for a kernel other than the one you are currently running, add the kernel version to the command line<br />
<br />
mkinitcpio -g /boot/initcpio.img -k 2.6.16-ARCH<br />
<br />
See '''mkinitcpio -h''' for more options.<br />
<br />
Don't forget to add a new bootloader entry. Just make a copy of your old one and change the initrd to your new image. As long as mkinitcpio is beta, please always leave the old one intact, so that you can boot it if something goes wrong. You can use mkinitcpio with any kernel, so kernel26 and kernel26-beyond users are encouraged to try it.<br />
<br />
= Customizing the kernel command line =<br />
<br />
Just like without initramfs, some options need to be passed on the kernel command line to configure your kernel, like the root device. Some of the mkinitcpio hooks have special options. These are discussed below.<br />
<br />
If you don't know what a kernel command line is, please refer to the [[GRUB]] or [[Lilo]] documentation.<br />
<br />
== Entering failsafe mode ==<br />
<br />
If you add the option<br />
break=y<br />
to the kernel command line, init stops after the setup is completed and you are left with a ''dash'' shell. This can be used to verify that everything went fine. If you logout, normal boot continues.<br />
<br />
== Disabling hooks ==<br />
<br />
You can disable a hook at runtime by adding the ''disablehooks'' option to the kernel command line like this:<br />
<br />
disablehooks=hook1,hook2,hook2<br />
<br />
for example<br />
<br />
disablehooks=resume<br />
<br />
== Blacklisting modules ==<br />
<br />
You can blacklist modules by adding the ''disablemodules'' option to the kernel command line like this:<br />
<br />
disablemodules=mod1,mod2,mod3<br />
<br />
for example<br />
<br />
disablemodules=ata_piix<br />
<br />
'''THIS FEATURE IS CURRENTLY BROKEN'''<br />
<br />
== Using raid ==<br />
First add the raid hook to the HOOKS list in /etc/mkinitcpio.conf<br />
<br />
'''Kernel Parameters: '''<br />
Specify all your md arrays with md= parameter: (only adding the raid array you're booting from is enough)<br />
<br />
add the following to the kernel line in grub/menu.lst:<br />
Example: md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1<br />
working example: kernel /vmlinuz26beyond root=/dev/md0 ro md=0,/dev/sda1,/dev/sdb1<br />
This will setup 2 md arrays with persistent superblocks<br />
<br />
'''Setup:'''<br />
- for old raid arrays without persistent superblocks:<br />
md=<md device no.>,<raid level>,<chunk size factor>,<fault level>,dev0,dev1<br />
- for raid arrays with persistent superblocks:<br />
md=<md device no.>,dev0,dev1,...,devn<br />
- for, to assemble a partitionable array:<br />
md=d<md device no.>,dev0,dev1,...,devn<br />
<br />
'''Parameters:'''<br />
- <md device no.> = the number of the md device: <br />
0 means md0, 1 means md1, ...<br />
- <raid level> = -1 linear mode, 0 striped mode<br />
other modes are only supported with persistent super block<br />
- <chunk size factor> = (raid-0 and raid-1 only):<br />
Set the chunk size as 4k << n.<br />
- <fault level> = totally ignored<br />
- <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1<br />
<br />
== Using net ==<br />
<br />
'''Kernel Parameters:''' <br />
<br />
'''ip=''' <br />
<br />
An interface spec can be either short form, which is just the name of<br />
an interface (eth0 or whatever), or long form. The long form consists<br />
of up to seven elements, separated by colons:<br />
<br />
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf><br />
nfsaddrs= is an alias to ip= and can be used too.<br />
<br />
''Parameter explanation:''<br />
<client-ip> IP address of the client. If empty, the address will<br />
either be determined by RARP/BOOTP/DHCP. What protocol<br />
is used de- pends on the <autoconf> parameter. If this<br />
parameter is not empty, autoconf will be used.<br />
<br />
<server-ip> IP address of the NFS server. If RARP is used to<br />
determine the client address and this parameter is NOT<br />
empty only replies from the specified server are<br />
accepted. To use different RARP and NFS server,<br />
specify your RARP server here (or leave it blank), and<br />
specify your NFS server in the `nfsroot' parameter<br />
(see above). If this entry is blank the address of the<br />
server is used which answered the RARP/BOOTP/DHCP<br />
request.<br />
<br />
<gw-ip> IP address of a gateway if the server is on a different<br />
subnet. If this entry is empty no gateway is used and the<br />
server is assumed to be on the local network, unless a<br />
value has been received by BOOTP/DHCP.<br />
<br />
<netmask> Netmask for local network interface. If this is empty,<br />
the netmask is derived from the client IP address assuming<br />
classful addressing, unless overridden in BOOTP/DHCP reply.<br />
<br />
<hostname> Name of the client. If empty, the client IP address is<br />
used in ASCII notation, or the value received by<br />
BOOTP/DHCP.<br />
<br />
<device> Name of network device to use. If this is empty, all<br />
devices are used for RARP/BOOTP/DHCP requests, and the<br />
first one we receive a reply on is configured. If you<br />
have only one device, you can safely leave this blank.<br />
<br />
<autoconf> Method to use for autoconfiguration. If this is either<br />
'rarp', 'bootp', or 'dhcp' the specified protocol is<br />
used. If the value is 'both', 'all' or empty, all<br />
protocols are used. 'off', 'static' or 'none' means<br />
no autoconfiguration.<br />
''Examples:''<br />
ip=127.0.0.1:::::lo:none --> Enable the loopback interface.<br />
ip=192.168.1.1:::::eth2:none --> Enable static eth2 interface.<br />
ip=:::::eth0:dhcp --> Enable dhcp protcol for eth0 configuration.<br />
'''nfsroot='''<br />
<br />
If the 'nfsroot' parameter is NOT given on the command line, the default<br />
"/tftpboot/%s" will be used.<br />
<br />
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]<br />
<br />
''Parameter explanation:''<br />
<br />
<server-ip> Specifies the IP address of the NFS server. If this field<br />
is not given, the default address as determined by the<br />
`ip' variable (see below) is used. One use of this<br />
parameter is for example to allow using different servers<br />
for RARP and NFS. Usually you can leave this blank.<br />
<br />
<root-dir> Name of the directory on the server to mount as root. If<br />
there is a "%s" token in the string, the token will be<br />
replaced by the ASCII-representation of the client's IP<br />
address.<br />
<br />
<nfs-options> Standard NFS options. All options are separated by commas.<br />
If the options field is not given, the following defaults<br />
will be used:<br />
port = as given by server portmap daemon<br />
rsize = 1024<br />
wsize = 1024<br />
timeo = 7<br />
retrans = 3<br />
acregmin = 3<br />
acregmax = 60<br />
acdirmin = 30<br />
acdirmax = 60<br />
flags = hard, nointr, noposix, cto, ac<br />
<br />
'''root=/dev/nfs'''<br />
If you don't use nfsroot= parameter you need to set root=/dev/nfs <br />
to boot from a nfs root by autoconfiguration.<br />
<br />
== Using lvm ==<br />
<br />
If your root device is on lvm, you have to add the '''lvm2''' hook. You have to pass your root device on the kernel command line in the format<br />
<br />
root=/dev/mapper/<volume group name>-<logical volume name><br />
<br />
for exmaple<br />
<br />
root=/dev/mapper/myvg-root<br />
<br />
== Using encrypted root ==<br />
<br />
If your root volume is encrypted, you need to add the '''encrypt''' hook. Then specify your root device on the kernel command line, just as if it was unencrypted, for example<br />
<br />
root=/dev/sda5<br />
<br />
for an encrypted partition on an sata or scsi disk or<br />
<br />
root=/dev/mapper/myvg-root<br />
<br />
for an encrypted lvm volume. The root device will be automatically changed to ''/dev/mapper/root''.<br />
<br />
=== Using LUKS volumes ===<br />
<br />
If you use LUKS for hard disk encryption, the init script will detect the encryption automatically if the '''encrypt''' hook is enabled. It will then ask for a passphrase and try to unlock the volume.<br />
<br />
=== Using legacy cryptsetup volumes ===<br />
<br />
If you are using a legacy cryptsetup volume, you have to specify all cryptsetup options necessary to unlock it on the kernel command line. The option format is<br />
<br />
crypto=hash:cipher:keysize:offset:skip<br />
<br />
representing cryptsetup's --hash, --cipher, --keysize, --offset and --skip options. If you omit an option, cryptsetup's default value is used, so you can just specify<br />
<br />
crypto=::::<br />
<br />
if you created your volume with the default settings.<br />
<br />
'''NOTE:''' For technical reasons, it is not possible to verify the correctness of your passphrase with legacy cryptsetup volumes. If you typed it wrong, mounting will simply fail. It is recommended that you use LUKS instead.<br />
<br />
=== Using loop-aes volumes ===<br />
<br />
'''mkinitcpio''' does not support loop-aes yet.<br />
<br />
== Using Suspend to Disk ==<br />
<br />
If you want to use suspend to disk, you have to add the '''resume''' hook.<br />
<br />
=== swsusp ===<br />
<br />
''TODO''<br />
<br />
=== µswsusp ===<br />
<br />
µswsusp is not supported yet.<br />
<br />
=== suspend2 ===<br />
<br />
If you are using [http://www.suspend2.net suspend2], you have to specify the ''resume2'' kernel commandline option. If you are using the swap writer, use<br />
<br />
resume2=swap:/dev/hda3<br />
<br />
where ''/dev/hda3'' is your swap partition. If you want to use the filewriter, use<br />
<br />
resume2=file:/dev/hda2:0x123456<br />
<br />
where ''/dev/hda2'' is the partition where the suspend2 image is stored (most likely the root partition) and ''0x123456'' is the file offset. You can get the exact value with the commands<br />
<br />
echo "/suspend2_file" > /proc/suspend2/filewriter_target<br />
cat /proc/suspend2/resume2<br />
<br />
where /suspend2_file is the path to your suspend image file. This - of course - works for lvm volumes as well. You can also use a suspend file on an encrypted root partition with the option<br />
<br />
resume2=file:/dev/mapper/root:0x123456<br />
<br />
where ''0x123456'' is the offset again. Resuming from an encrypted swap partition is not supported.<br />
<br />
== Example bootloader configuration files ==<br />
<br />
''TODO''<br />
<br />
= Troubleshooting =<br />
<br />
''TODO''</div>MartinZhttps://wiki.archlinux.org/index.php?title=Reiser4&diff=13459Reiser42006-06-07T18:50:31Z<p>MartinZ: </p>
<hr />
<div>[[Category:Filesystem]]<br />
''Contributed by Itlain and others''<br />
<br />
{{stub}}<br />
<br />
==Short Introduction==<br />
Reiser4 is a new file system developed by [http://www.namesys.com/v4/v4.html Namesys]. It is a very fast file system (according to Namesys, the fastest). You can find [http://www.namesys.com/benchmarks.html benchmarks] between the different file systems available on Linux on their website. It's also an atomic file system, "which means that your file system operations either entirely occur, or they entirely don't, and they don't corrupt due to half occurring."<br />
<br />
==Important Notes==<br />
* Reiser4 requires a patched kernel<br />
* You're still using a 2.4 kernel: reiser4 is developed for 2.6 kernel, and has not been back ported to 2.4<br />
* Reiser4 consumes a little more CPU than other filesystems<br />
* Be warned that Reiser4 is still not considered a stable release.<br />
<br />
==Required materials==<br />
* Recommended partitions:<br />
<br />
- One empty partition for the new reiser4 system <br />
<br />
- One small (12 - 20 MB) ext2 partition for /boot<br />
<br />
- ''Optional:'' reiser4 partitions for /home, /var, /home/user/temp and anything you want<br />
<br />
''It is very easy to manage your partitions with '''gparted''' from extra. Archie LiveCD may be helpfull to modify partitions, it already has gparted installed.''<br />
<br />
* You just might want a reiser4 enabled livecd: http://www.lxnaydesign.net/<br />
* Another LiveCD - Kanotix @ http://kanotix.com/files/kanotix/<br />
<br />
==Packages==<br />
''Note that you have to enable unstable and maybe testing repos to install some of this packages, uncomenting them in /etc/pacman.conf''<br />
<br />
1.- Install '''reiser4progs''' from unstable<br />
<pre>pacman -Sy reiser4progrs</pre><br />
<br />
2.- You'll need a reiser4 patched kernel. I recommend you to install '''kernel26beyond''' from extra.<br />
<pre>pacman -Sy kernel26beyond</pre><br />
<br />
3.- Bootloader<br />
<br />
a) '''lilo''' is the recommended one because it is filesystem-independent<br />
<br />
b) If you wish to use '''grub''' with reiser4, the grub package should be rebuild applying the reiser4 patch.<br />
<br />
[http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/install-grub install-grub] and [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/menu.lst menu.lst] from Arch Linux CVS<br />
<br />
<pre><br />
pkgname=grub<br />
pkgver=0.97<br />
pkgrel=2<br />
pkgdesc="A GNU multiboot boot loader"<br />
url="http://www.gnu.org/software/grub/"<br />
depends=('ncurses' 'libaal' 'reiser4progs' 'bash')<br />
<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/grub-0.97-reiser4-20050808.tar.gz \<br />
menu.lst install-grub)<br />
backup=('boot/grub/menu.lst')<br />
md5sums=('c5a860a4cd81cffc95a3b9ca5624aa7b' '615101c2fc1bc2204be8eba33cfaf52c'\<br />
'4876f193005df5fca8ca9647729d1e23')<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
# optimizations break the build -- disable them<br />
CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin<br />
CFLAGS= make || return 1<br />
make DESTDIR=$startdir/pkg install <br />
install -D -m644 ../install-grub $startdir/pkg/sbin/install-grub<br />
install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub<br />
mkdir -p $startdir/pkg/usr/share<br />
ln -s ../lib/grub $startdir/pkg/usr/share/grub<br />
}<br />
</pre><br />
<br />
===Install and reboot===<br />
You'll have to install the new packages, update you kernel and your bootloader, to make sure it works.<br />
Remember to run lilo as root if you choose it as bootloader.<br />
<br />
==Moving to Reiser4==<br />
In the next steps we'll copy the data to the new reiser4 partitions, so make<br />
sure you have enough disk space on hda2. You can check this disk information with '''df'''.<br />
<br />
===Sample system===<br />
<pre><br />
* /dev/hda2: (10 Gb, 5 Gb free); Reiserfs /<br />
* /dev/hda3: (10 Gb, 1 Gb used); Reiserfs /home<br />
* /dev/hda4: (1 Gb); swap<br />
</pre><br />
<br />
===Backup===<br />
Next big thing is to make sure your /home directory is save:<br />
<br />
(as root)<br />
<pre><br />
mkdir /backup<br />
cp -R /home /backup<br />
</pre><br />
<br />
Once the /home directory is safely backed up (and there is no important data @ the hdc3 disk) you can continue.<br />
<br />
===Formating===<br />
Run the following commands:<br />
<br />
<pre><br />
mkfs.reiser4 /dev/hda5<br />
fsck.reiser4 --fix /dev/hda5<br />
mkdir /reiser4<br />
mount -t reiser4 /dev/hda5 /reiser4<br />
</pre><br />
<br />
===Copy system===<br />
Once the partition is formated, copy you current system to the new partition and create the system directories:<br />
<br />
<pre><br />
# Copy the system<br />
cp -a /bin /reiser4<br />
cp -a /boot /reiser4<br />
cp -a /etc /reiser4<br />
cp -a /lib /reiser4<br />
cp -a /opt /reiser4<br />
cp -a /root /reiser4<br />
cp -a /sbin /reiser4<br />
cp -a /tmp /reiser4<br />
cp -a /usr /reiser4<br />
cp -a /var /reiser4<br />
<br />
# Restore Backup<br />
cp -a /backup/home /reiser4<br />
<br />
#Mount points (check you fstab file)<br />
mkdir /reiser4/mnt/cd<br />
mkdir /reiser4/mnt/dvd<br />
<br />
# Create system directories<br />
mkdir /reiser4/sys<br />
mkdir /reiser4/proc<br />
mkdir /reiser4/dev<br />
<br />
#Migrate Udev<br />
mknod /reiser4/dev/console c 5 1<br />
mknod -m 666 /reiser4/dev/null c 1 3<br />
mknod -m 666 /reiser4/dev/zero c 1 5<br />
</pre><br />
<br />
===Configure system:===<br />
====/reiser4/etc/fstab:====<br />
<pre><br />
# <br />
# /etc/fstab: static file system information<br />
#<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 />
tmpfs /tmp tmpfs defaults 0 0<br />
usbfs /proc/bus/usb usbfs defaults 0 0<br />
<br />
/dev/cdroms/cdrom0 /mnt/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/cdroms/cdrom0 /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
<br />
/dev/hda4 swap swap defaults 0 0<br />
/dev/hda2 /boot ext2 defaults 0 1<br />
/dev/hda5 / reiser4 defaults 0 1<br />
</pre><br />
<br />
====/etc/lilo.conf:====<br />
<pre><br />
#<br />
# /etc/lilo.conf<br />
#<br />
<br />
boot=/dev/hda<br />
# This line often fixes L40 errors on bootup<br />
# disk=/dev/hda bios=0x80<br />
<br />
default=Arch4<br />
timeout=20<br />
lba32<br />
prompt<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch4<br />
root=/dev/hda5<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda3<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
</pre><br />
<br />
'''Run lilo''' to install new kernels.<br />
<br />
===Done===<br />
You hopefully done now, you can reboot your system and try to run the 'new' reiser4 installation.<br />
If you plan to formate /dev/hda3, make sure you run lilo or grub from the new system and configure them like above.<br />
<br />
==Possible Issues==<br />
* Permissions: chown -R username.group <userdir><br />
* If you have problem with "su" command after the change of fs, you should reinstall coreutils package.<br />
* The first time you start the new system, no modules are loaded:<br />
** Run '''hwdetect --load-modules'''<br />
** Restart some daemons from /etc/rc.d<br />
** Everything works fine now and the next time you reboot.<br />
<br />
==External Links==<br />
* [http://www.namesys.com/v4/v4.html Reiser4 homepage]<br />
* [http://en.wikipedia.org/wiki/Reiser4 Reiser4] from Wikipedia.org<br />
* [http://www.namesys.com/install_v4.html Getting started with Reiser4] from Namesys.com</div>MartinZhttps://wiki.archlinux.org/index.php?title=Reiser4&diff=13458Reiser42006-06-07T18:45:00Z<p>MartinZ: </p>
<hr />
<div>[[Category:Filesystem]]<br />
''Contributed by Itlain and others''<br />
<br />
{{stub}}<br />
<br />
==Short Introduction==<br />
Reiser4 is a new file system developed by [http://www.namesys.com/v4/v4.html Namesys]. It is a very fast file system (according to Namesys, the fastest). You can find [http://www.namesys.com/benchmarks.html benchmarks] between the different file systems available on Linux on their website. It's also an atomic file system, "which means that your file system operations either entirely occur, or they entirely don't, and they don't corrupt due to half occurring."<br />
<br />
==Important Notes==<br />
* Reiser4 requires a patched kernel<br />
* You're still using a 2.4 kernel: reiser4 is developed for 2.6 kernel, and has not been back ported to 2.4<br />
* Reiser4 consumes a little more CPU than other filesystems<br />
* Be warned that Reiser4 is still not considered a stable release.<br />
<br />
==Required materials==<br />
* Recommended partitions:<br />
- One empty partition for the new reiser4 system<br />
- One small (12 - 20 MB) ext2 partition for /boot<br />
- ''Optional:'' reiser4 partitions for /home, /var, /home/user/temp and anything you want<br />
<br />
''It is very easy to manage your partitions with '''gparted''' from extra. Archie LiveCD may be helpfull to modify partitions, it already has gparted installed.''<br />
<br />
* You just might want a reiser4 enabled livecd: http://www.lxnaydesign.net/<br />
* Another LiveCD - Kanotix @ http://kanotix.com/files/kanotix/<br />
<br />
==Packages==<br />
''Note that you have to enable unstable and maybe testing repos to install some of this packages, uncomenting them in /etc/pacman.conf''<br />
<br />
1.- Install '''reiser4progs''' from unstable<br />
<pre>pacman -Sy reiser4progrs</pre><br />
<br />
2.- You'll need a reiser4 patched kernel. I recommend you to install '''kernel26beyond''' from extra.<br />
<pre>pacman -Sy kernel26beyond</pre><br />
<br />
3.- Bootloader<br />
a) '''Lilo''' is the recommended one because it is filesystem-independent<br />
<br />
b) If you wish to use '''grub''' with reiser4, the grub package should be rebuild applying the reiser4 patch.<br />
<br />
[http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/install-grub install-grub] and [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/menu.lst menu.lst] from Arch Linux CVS<br />
<br />
<pre><br />
pkgname=grub<br />
pkgver=0.97<br />
pkgrel=2<br />
pkgdesc="A GNU multiboot boot loader"<br />
url="http://www.gnu.org/software/grub/"<br />
depends=('ncurses' 'libaal' 'reiser4progs' 'bash')<br />
<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/grub-0.97-reiser4-20050808.tar.gz \<br />
menu.lst install-grub)<br />
backup=('boot/grub/menu.lst')<br />
md5sums=('c5a860a4cd81cffc95a3b9ca5624aa7b' '615101c2fc1bc2204be8eba33cfaf52c'\<br />
'4876f193005df5fca8ca9647729d1e23')<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
# optimizations break the build -- disable them<br />
CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin<br />
CFLAGS= make || return 1<br />
make DESTDIR=$startdir/pkg install <br />
install -D -m644 ../install-grub $startdir/pkg/sbin/install-grub<br />
install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub<br />
mkdir -p $startdir/pkg/usr/share<br />
ln -s ../lib/grub $startdir/pkg/usr/share/grub<br />
}<br />
</pre><br />
<br />
===Install and reboot===<br />
You'll have to install the new packages, update you kernel and your bootloader, to make sure it works.<br />
Remember to run lilo as root if you choose it as bootloader.<br />
<br />
==Moving to Reiser4==<br />
In the next steps we'll copy the data to the new reiser4 partitions, so make<br />
sure you have enough disk space on hda2. You can check this disk information with '''df'''.<br />
<br />
===Sample system===<br />
<pre><br />
* /dev/hda2: (10 Gb, 5 Gb free); Reiserfs /<br />
* /dev/hda3: (10 Gb, 1 Gb used); Reiserfs /home<br />
* /dev/hda4: (1 Gb); swap<br />
</pre><br />
<br />
===Backup===<br />
Next big thing is to make sure your /home directory is save:<br />
<br />
(as root)<br />
<pre><br />
mkdir /backup<br />
cp -R /home /backup<br />
</pre><br />
<br />
Once the /home directory is safely backed up (and there is no important data @ the hdc3 disk) you can continue.<br />
<br />
===Formating===<br />
Run the following commands:<br />
<br />
<pre><br />
mkfs.reiser4 /dev/hda5<br />
fsck.reiser4 --fix /dev/hda5<br />
mkdir /reiser4<br />
mount -t reiser4 /dev/hda5 /reiser4<br />
</pre><br />
<br />
===Copy system===<br />
Once the partition is formated, copy you current system to the new partition and create the system directories:<br />
<br />
<pre><br />
# Copy the system<br />
cp -a /bin /reiser4<br />
cp -a /boot /reiser4<br />
cp -a /etc /reiser4<br />
cp -a /lib /reiser4<br />
cp -a /opt /reiser4<br />
cp -a /root /reiser4<br />
cp -a /sbin /reiser4<br />
cp -a /tmp /reiser4<br />
cp -a /usr /reiser4<br />
cp -a /var /reiser4<br />
<br />
# Restore Backup<br />
cp -a /backup/home /reiser4<br />
<br />
#Mount points (check you fstab file)<br />
mkdir /reiser4/mnt/cd<br />
mkdir /reiser4/mnt/dvd<br />
<br />
# Create system directories<br />
mkdir /reiser4/sys<br />
mkdir /reiser4/proc<br />
mkdir /reiser4/dev<br />
<br />
#Migrate Udev<br />
mknod /reiser4/dev/console c 5 1<br />
mknod -m 666 /reiser4/dev/null c 1 3<br />
mknod -m 666 /reiser4/dev/zero c 1 5<br />
</pre><br />
<br />
===Configure system:===<br />
====/reiser4/etc/fstab:====<br />
<pre><br />
# <br />
# /etc/fstab: static file system information<br />
#<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 />
tmpfs /tmp tmpfs defaults 0 0<br />
usbfs /proc/bus/usb usbfs defaults 0 0<br />
<br />
/dev/cdroms/cdrom0 /mnt/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/cdroms/cdrom0 /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
<br />
/dev/hda4 swap swap defaults 0 0<br />
/dev/hda2 /boot ext2 defaults 0 1<br />
/dev/hda5 / reiser4 defaults 0 1<br />
</pre><br />
<br />
====/etc/lilo.conf:====<br />
<pre><br />
#<br />
# /etc/lilo.conf<br />
#<br />
<br />
boot=/dev/hda<br />
# This line often fixes L40 errors on bootup<br />
# disk=/dev/hda bios=0x80<br />
<br />
default=Arch4<br />
timeout=20<br />
lba32<br />
prompt<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch4<br />
root=/dev/hda5<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
<br />
image=/boot/vmlinuz26beyond<br />
label=Arch<br />
root=/dev/hda3<br />
append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1"<br />
initrd=/boot/initramfs-beyond.img<br />
read-only<br />
</pre><br />
<br />
'''Run lilo''' to install new kernels.<br />
<br />
===Done===<br />
You hopefully done now, you can reboot your system and try to run the 'new' reiser4 installation.<br />
If you plan to formate /dev/hda3, make sure you run lilo or grub from the new system and configure them like above.<br />
<br />
==Possible Issues==<br />
* Permissions: chown -R username.group <userdir><br />
* If you have problem with "su" command after the change of fs, you should reinstall coreutils package.<br />
* The first time you start the new system, no modules are loaded:<br />
** Run '''hwdetect --load-modules'''<br />
** Restart some daemons from /etc/rc.d<br />
** Everything works fine now and the next time you reboot.<br />
<br />
==External Links==<br />
* [http://www.namesys.com/v4/v4.html Reiser4 homepage]<br />
* [http://en.wikipedia.org/wiki/Reiser4 Reiser4] from Wikipedia.org<br />
* [http://www.namesys.com/install_v4.html Getting started with Reiser4] from Namesys.com</div>MartinZhttps://wiki.archlinux.org/index.php?title=Reiser4&diff=11776Reiser42006-04-18T21:32:22Z<p>MartinZ: /* Kernel */</p>
<hr />
<div>[[Category:Filesystem]]<br />
''Contributed by Itlain and others''<br />
<br />
{{stub}}<br />
<br />
==Short Introduction==<br />
Reiser4 is a new file system developed by [http://www.namesys.com/v4/v4.html Namesys]. It is a very fast file system (according to Namesys, the fastest). You can find [http://www.namesys.com/benchmarks.html benchmarks] between the different file systems available on Linux on their website. It's also an atomic file system, "which means that your file system operations either entirely occur, or they entirely don't, and they don't corrupt due to half occurring."<br />
<br />
==Important Notes==<br />
* Reiser4 requires a patched kernel<br />
* You're still using a 2.4 kernel: reiser4 is developed for 2.6 kernel, and has not been back ported to 2.4<br />
* Reiser4 consumes a little more CPU than other filesystems<br />
* Be warned that Reiser4 is still not considered a stable release.<br />
<br />
==Required materials==<br />
* You just might need a reiser4 enabled livecd: http://www.lxnaydesign.net/<br />
* Another LiveCD - Kanotix @ http://kanotix.com/files/kanotix/<br />
* A hard disk with 3 (or more) partitions (system, swap and a 'free' partition)<br />
<br />
==Packages (PKGBUILD)==<br />
To upgrade to Reiser4 there are 3 main things that you will need before you attempt the process. They are as follows:<br />
<br />
If you don't want to compile those packages, you can use the community repository:<br />
ftp://ftp.archlinux.org/community/os/i686/<br />
<br />
===libaal===<br />
<pre><br />
pkgname=libaal<br />
pkgver=1.0.5<br />
pkgrel=1<br />
pkgdesc="A library, that provides application abstraction mechanisms used by reiser4progs"<br />
url="ftp://ftp.namesys.com/pub/reiser4progs/"<br />
depends=()<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/$pkgname-$pkgver.tar.gz)<br />
md5sums=('6c55201acd2a2c0a1f46addf248da6a2')<br />
<br />
#Mirror:<br />
#http://ftp.roedu.net/pub/mirrors/ftp.namesys.com/pub/reiser4progs/$pkgname-$pkgver.tar.gz<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
<br />
# if you wish to add GRUB reiser4 functionality, use the next configure instead :<br />
#./configure --prefix=/usr --enable-libminimal<br />
<br />
./configure --prefix=/usr<br />
make || return 1<br />
make DESTDIR=$startdir/pkg install <br />
}<br />
</pre><br />
<br />
===reiser4progs===<br />
<pre><br />
pkgname=reiser4progs<br />
pkgver=1.0.5<br />
pkgrel=1<br />
pkgdesc="Utilities for Managing the Reiser4 File System"<br />
url="http://www.namesys.com/v4/v4.html"<br />
depends=('e2fsprogs' 'libaal')<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/$pkgname-$pkgver.tar.gz)<br />
md5sums=('b0756831e16b2395d5f443526d640792')<br />
<br />
#mirror:<br />
#http://ftp.roedu.net/pub/mirrors/ftp.namesys.com/pub/reiser4progs/$pkgname-$pkgver.tar.gz<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
<br />
# if you wish to add GRUB reiser4 functionality, use the next configure instead :<br />
#./configure --prefix=/usr --enable-libminimal<br />
<br />
./configure --prefix=/usr<br />
make || return 1<br />
make DESTDIR=$startdir/pkg install<br />
}<br />
</pre><br />
<br />
===grub===<br />
If you wish to use grub with reiser4, the grub package should also be rebuild with applying the reiser4 patch.<br />
<br />
'''But it's recommended to use lilo, because lilo is filesystem independent'''<br />
<br />
[http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/install-grub install-grub] and [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/base/grub/menu.lst menu.lst] from Arch Linux CVS<br />
<br />
<pre><br />
pkgname=grub<br />
pkgver=0.97<br />
pkgrel=2<br />
pkgdesc="A GNU multiboot boot loader"<br />
url="http://www.gnu.org/software/grub/"<br />
depends=('ncurses' 'libaal' 'reiser4progs' 'bash')<br />
<br />
source=(ftp://ftp.namesys.com/pub/reiser4progs/grub-0.97-reiser4-20050808.tar.gz \<br />
menu.lst install-grub)<br />
backup=('boot/grub/menu.lst')<br />
md5sums=('c5a860a4cd81cffc95a3b9ca5624aa7b' '615101c2fc1bc2204be8eba33cfaf52c'\<br />
'4876f193005df5fca8ca9647729d1e23')<br />
<br />
build() {<br />
cd $startdir/src/$pkgname-$pkgver<br />
# optimizations break the build -- disable them<br />
CFLAGS= ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin<br />
CFLAGS= make || return 1<br />
make DESTDIR=$startdir/pkg install <br />
install -D -m644 ../install-grub $startdir/pkg/sbin/install-grub<br />
install -D -m755 ../install-grub $startdir/pkg/sbin/install-grub<br />
mkdir -p $startdir/pkg/usr/share<br />
ln -s ../lib/grub $startdir/pkg/usr/share/grub<br />
}<br />
</pre><br />
<br />
===Kernel===<br />
You will also need a kernel with Reiser4 support.<br />
<br />
There are several [[:Kernel_Patches_and_Patchsets|patch sets]]:<br />
* [ftp://ftp.namesys.com/pub/reiser4-for-2.6/2.6.14/reiser4-for-2.6.14-1.patch.gz reiser4-for-2.6.14-1.patch]<br />
* [http://kem.p.lodz.pl/~peter/cko/ Con Kolivas patchset based overloaded kernel]<br />
<br />
'''A good idea is to use kernel26archck from extra or kernel26beyond from testing, which include reiser4 patch.'''<br />
<br />
The best way to apply the patch is to grap one the the [[:Category:Kernel|kernel PKGBUILDS from the wiki]] and change it to something like this:<br />
<br />
<pre><br />
...<br />
source=(config \<br />
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$pkgver.tar.bz2 \<br />
ftp://ftp.namesys.com/pub/reiser4-for-2.6/$pkgver/reiser4-for-$pkgver-1.patch.gz)<br />
md5sums= (...)<br />
<br />
build() {<br />
cd $startdir/src/linux-$pkgver<br />
<br />
patch -Np1 -i ../reiser4-for-$pkgver-1.patch || return 1<br />
...<br />
</pre><br />
<br />
Once this is done simply config and compile your new kernel. Ensure that you enable the following:<br />
<br />
<pre><br />
CONFIG_REISER4_FS=y<br />
CONFIG_REISER4_LARGE_KEY=y<br />
</pre><br />
<br />
You also have to ensure that (under kernel hacking) 4K stacks are '''NOT''' enabled. You will get an error if you attempt.<br />
<br />
===Install and reboot===<br />
You'll have to install the new packages, update you kernel and update you bootloader, to make sure it works.<br />
<br />
==Moving to Reiser4==<br />
In the next steps we'll copy the data from hda3 to hda2 (if you home directory is on an other partition) so make<br />
sure you have enough disk space on hda2. You can check this disk information with '''df'''.<br />
<br />
===Sample system===<br />
<pre><br />
* /dev/hda2: (10 Gb, 5 Gb free); Reiserfs /<br />
* /dev/hda3: (10 Gb, 1 Gb used); Reiserfs /home<br />
* /dev/hda4: (1 Gb); swap<br />
</pre><br />
<br />
===Backup===<br />
Next big thing is to make sure your /home directory is save:<br />
<br />
(as root)<br />
<pre><br />
mkdir /backup<br />
cp -R /home /backup<br />
</pre><br />
<br />
Once the /home directory is safely backed up (and there is no important data @ the hdc3 disk) you can continue.<br />
<br />
===Formating===<br />
Run the following commands:<br />
<br />
<pre><br />
mkfs.reiser4 /dev/hda3<br />
fsck.reiser4 --fix /dev/hda3<br />
mkdir /reiser4<br />
mount -t reiser4 /dev/hda3 /reiser4<br />
</pre><br />
<br />
===Copy system===<br />
Once the partition is formated, copy you current system to the new partition and create the system directories:<br />
<br />
<pre><br />
# Copy the system<br />
cp -a /bin /reiser4<br />
cp -a /boot /reiser4<br />
cp -a /etc /reiser4<br />
cp -a /lib /reiser4<br />
cp -a /opt /reiser4<br />
cp -a /root /reiser4<br />
cp -a /sbin /reiser4<br />
cp -a /tmp /reiser4<br />
cp -a /usr /reiser4<br />
cp -a /var /reiser4<br />
<br />
# Restore Backup<br />
cp -a /backup/home /reiser4<br />
<br />
#Mount points (check you fstab file)<br />
mkdir /reiser4/mnt/cd<br />
mkdir /reiser4/mnt/dvd<br />
<br />
# Create system directories<br />
mkdir /reiser4/sys<br />
mkdir /reiser4/proc<br />
mkdir /reiser4/dev<br />
<br />
#Migrate Udev<br />
mknod /reiser4/dev/console c 5 1<br />
mknod -m 666 /reiser4/dev/null c 1 3<br />
mknod -m 666 /reiser4/dev/zero c 1 5<br />
</pre><br />
<br />
===Configure system:===<br />
====/reiser4/etc/fstab:====<br />
<pre><br />
# <br />
# /etc/fstab: static file system information<br />
#<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 />
tmpfs /tmp tmpfs defaults 0 0<br />
usbfs /proc/bus/usb usbfs defaults 0 0<br />
<br />
/dev/cdroms/cdrom0 /mnt/cd iso9660 ro,user,noauto,unhide 0 0<br />
/dev/cdroms/cdrom0 /mnt/dvd udf ro,user,noauto,unhide 0 0<br />
<br />
/dev/hda4 swap swap defaults 0 0<br />
/dev/hda3 / reiser4 defaults 0 0<br />
</pre><br />
<br />
====/etc/lilo.conf:====<br />
<pre><br />
boot=/dev/hda<br />
# This line often fixes L40 errors on bootup<br />
# disk=/dev/hda bios=0x80<br />
<br />
default=ArchReiser4<br />
timeout=50<br />
lba32<br />
prompt<br />
<br />
#Old Reiser4 installation<br />
image=/boot/vmlinuz26reiser4<br />
label=ArchReiser4<br />
append="devfs=nomount"<br />
vga=773<br />
root=/dev/hda3<br />
read-only<br />
<br />
#New ReiserFS installation<br />
image=/boot/vmlinuz26<br />
label=ArchReiserFS<br />
append="devfs=nomount"<br />
vga=773<br />
root=/dev/hda2<br />
read-only<br />
</pre><br />
Run lilo to install new kernels.<br />
<br />
====/boot/grub/menu.lst:====<br />
<pre><br />
# general configuration:<br />
timeout 5<br />
default 0<br />
color light-blue/black light-cyan/blue<br />
<br />
title Arch Linux [reiserFS]<br />
root (hd0,1)<br />
kernel /vmlinuz root=/dev/hda2 vga=773 devfs=nomount ro<br />
<br />
title Arch Linux [reiser4]<br />
root (hd0,2)<br />
kernel /vmlinuz root=/dev/hda3 vga=773 devfs=nomount ro<br />
</pre><br />
<br />
===Done===<br />
You hopefully done now, you can reboot your system and try to run the 'new' reiser4 installation.<br />
If you plan to formate /dev/hda2, make sure you run lilo or grub from the new system and configure them like above.<br />
<br />
==Possible Issues==<br />
* Permissions: chown -R username.group <userdir><br />
* If you have problem with "su" command after the change of fs, you should reinstall coreutils package.<br />
* The first time you start the new system, no modules are loaded:<br />
** Run '''hwdetect --load-modules'''<br />
** Restart some daemons from /etc/rc.d<br />
** Everything works fine now and the next time you reboot.<br />
<br />
==External Links==<br />
* [http://www.namesys.com/v4/v4.html Reiser4 homepage]<br />
* [http://en.wikipedia.org/wiki/Reiser4 Reiser4] from Wikipedia.org<br />
* [http://www.namesys.com/install_v4.html Getting started with Reiser4] from Namesys.com</div>MartinZ