https://wiki.archlinux.org/api.php?action=feedcontributions&user=Anonymous+user&feedformat=atomArchWiki - User contributions [en]2024-03-29T11:13:46ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_T420&diff=661847Lenovo ThinkPad T4202021-04-18T14:18:29Z<p>Anonymous user: separated commands for checking fan speeds to two lines</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[zh-hans:Lenovo ThinkPad T420]]<br />
{{Laptop style|Stub}}<br />
{{Out of date|This page is ancient|Talk:Laptop#Old laptop pages}}<br />
<br />
{{Related articles start}}<br />
{{Related|Lenovo ThinkPad T420s}}<br />
{{Related|Lenovo ThinkPad T520}}<br />
{{Related articles end}}<br />
<br />
This article covers the installation and configuration of Arch Linux on a Lenovo T420 laptop.<br />
<br />
== Installation ==<br />
<br />
This laptop supports [[UEFI]] as well as the traditional BIOS. If you use Legacy Boot (traditional BIOS) or UEFI/Legacy Boot, choose an MBR partition table when partitioning the disk, because those modes are not compatible with GPT partition tables on the T420.<br />
<br />
There are no issues with installing Arch Linux with the latest [https://archlinux.org/download/ Archiso].<br />
<br />
The rest of the installation process can be followed with the [[Installation guide]].<br />
<br />
== Hardware ==<br />
<br />
All hardware works out of the box except the following:<br />
<br />
=== Fingerprint reader ===<br />
<br />
Fingerprint reader works great with fprint and PAM (installation of fingerprint-gui recommended).<br />
<br />
See [[Fingerprint-gui]] for more information.<br />
<br />
=== Some Media keys ===<br />
<br />
* See [[#Media Keys|Media Keys]]<br />
<br />
=== Untested ===<br />
<br />
* Firewire<br />
<br />
=== Dock ===<br />
<br />
See [[dockd]].<br />
<br />
==Laptop Settings==<br />
<br />
===ACPI===<br />
<br />
[[ACPI_modules|ACPI]] is well supported here. No obvious troubleshoots.<br />
<br />
=== Tp_smapi ===<br />
<br />
Unfortunately, [[tp_smapi]] is only partially supported on the Thinkpad T420. A number of features work since version 0.41. For example, the hard drive protection mechanism [[HDAPS]] now works well. See the linked wiki entry.<br />
<br />
Some features like setting the starting threshold for charging the battery do not yet work. To control the battery charging thresholds, install the Perl script {{Pkg|tpacpi-bat}}.<br />
<br />
Insert the {{ic|acpi_call}} kernel module by running<br />
modprobe acpi_call<br />
<br />
Manually set the thresholds by calling<br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80 <br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
The example values 40 and 80 given here represent the percentage of full battery capacity remaining. Adjust them to your own needs. You may also want to write a simple {{ic|set-battery.service}} and enable it to set them at startup. While these values should be permanent, they will be reset any time the battery is removed.<br />
<br />
[Unit]<br />
Description=Set battery capacity<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<br />
Also, if you are dual booting with Windows, you can still control the battery charging thresholds with Lenovo's Power Manager which communicates directly to the battery controller.<br />
<br />
When using systemd, you may want to blacklist the tp_smapi module if your systemd-modules-load.service fails, as new ThinkPads handle everything over acpi.<br />
<br />
=== CPU frequency scaling ===<br />
<br />
[[CPU frequency scaling]] is fully supported with all of the available processor models with this laptop.<br />
<br />
=== Fans ===<br />
<br />
As per [https://medium.com/@mirul/setting-up-thinkfan-for-thinkpad-t420-aaec5108f75f this Thinkfan install guide] for the T420, you can get the fans of your system running optimally. <br />
<br />
Install the package {{AUR|thinkfan}}, {{pkg|tp_smapi}} or {{aur|tp_smapi-dkms}}, {{pkg|read-edid}}, and {{pkg|i2c-tools}}. <br />
<br />
Next, run the following command:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
If you have not modified any settings previously, it should show your level as "auto."<br />
<br />
Find your sensors' location by running and taking note of the output:<br />
<br />
{{ic|$ find /sys/devices -type f -name "temp*_input"}}<br />
<br />
Now you may edit your configuration file.<br />
<br />
{{bc|/etc/thinkfan.conf}}<br />
<br />
Below is an example configuration file, based off of a T420 with NVIDIA Optimius:<br />
<br />
{{hc||tp_fan /proc/acpi/ibm/fan<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp3_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp2_input<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input<br />
<br />
(0, 0, 42)<br />
(1, 40, 47)<br />
(2, 45, 52)<br />
(3, 50, 57)<br />
(4, 55, 62)<br />
(5, 60, 77)<br />
(7, 73, 93)<br />
(127, 85, 32767)}}<br />
<br />
<br />
Next modporobe the thinkpad_acpi.<br />
<br />
{{ic|sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf}}<br />
<br />
{{ic|sudo modprobe -rv thinkpad_acpi}}<br />
<br />
{{ic|sudo modprobe -v thinkpad_acpi}}<br />
<br />
If you encounter the following error, simply reboot your system to solve it.<br />
<br />
{{bc|modprobe: FATAL: Module thinkpad_acpi is in use}}<br />
<br />
Now start thinkfan, and check your fan levels.<br />
<br />
{{ic|sudo thinkfan -q}}<br />
<br />
{{ic|cat /proc/acpi/ibm/fan}}<br />
<br />
If your level is no longer auto, you've successfully gotten your fan's levels to be accurate to Windows' drivers.<br />
<br />
=== Laptop Mode Tools ===<br />
<br />
No significant issues were found using [[Laptop Mode Tools]].<br />
<br />
Possible bug with [[#Shutdown on battery]].<br />
<br />
The package {{Pkg|tlp}} is an alternative tool that can replace {{AUR|laptop-mode-tools}}.<br />
<br />
=== NVIDIA Optimus ===<br />
<br />
[[Bumblebee]] works as intended on models with NVIDIA Optimus<br />
<br />
=== Optional kernel boot arguments ===<br />
Using the following kernel boot parameters [https://www.phoronix.com/scan.php?page=article&item=intel_i915_power&num=1 reduces battery drain]:<br />
<br />
{{bc|<nowiki><br />
i915.enable_rc6=1<br />
i915.enable_fbc=1<br />
i915.lvds_downclock=1 <br />
i915.semaphores=1<br />
</nowiki>}}<br />
<br />
=== VT-Switching hangs ===<br />
If your system hangs for some 10 seconds occasionally when switching virtual terminals with Ctrl+Alt+Fx with the following dmesg line<br />
[drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:36:pipe A] flip_done timed out<br />
it is often suggested to add <br />
video=SVIDEO-1:d<br />
to kernel boot parameters, if that doesn't work, uninstall the {{ic|xf86-video-intel}} package.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Media Keys ===<br />
<br />
Media keys that (should) work out of the box:<br />
* Wireless On/Off<br />
* Backlight Brightness settings<br />
* Thinklight<br />
* Mute<br />
* Microphone mute<br />
<br />
Media Keys that Do Not work out of the box:<br />
* [[#Volume_up.2Fdown_not_changing_volume|Volume keys]] (Works out-of-the-box in [[GNOME]] and [[KDE Plasma]])<br />
You must find a workaround and bind the keys yourself for the rest of them.<br />
<br />
[[xbindkeys]] and {{AUR|xbindkeys_config-gtk2}} can be a solution for media keys that are not working. This solution also allows you to rebind the ThinkVantage button and certain FN layer shortcuts (the blue logos on the keyboard).<br />
<br />
=== Rebind Forward and Back keys ===<br />
<br />
Keys forward and back (next to cursor keys) can be easily remapped to PageDown/PageUp.<br />
<br />
[[Install]] xmodmap with the package {{Pkg|xorg-xmodmap}}<br />
<br />
Create a {{ic|~/.Xmodmap}} file with content:<br />
keysym XF86Back = Page_Up<br />
keysym XF86Forward = Page_Down<br />
<br />
Add this line to your {{ic|~/.xinitrc}} to make it work:<br />
xmodmap ~/.Xmodmap<br />
<br />
You can also re-map AudioPrev ({{ic|Fn+Left}}) and AudioNext ({{ic|Fn+Right}}) to Home/End:<br />
keysym XF86AudioNext = End<br />
keysym XF86AudioPrev = Home<br />
<br />
{{Note|<br />
* You have to log out for the changes to take effect.<br />
* The keys should work out of the box, at least on [[KDE]].<br />
}}<br />
<br />
=== Turn touchpad on and off ===<br />
<br />
For some, the ({{ic|Fn+F8}}) key does not switch the touchpad on and off. See [[Touchpad Synaptics#Software toggle]] for a workaround.<br />
<br />
=== Volume up/down not changing volume ===<br />
<br />
See [[Xbindkeys]].<br />
<br />
=== Shutdown on battery ===<br />
<br />
Some users have reported that the T420 was rebooting on shutdown on battery power. There have been quite a few attempts to fix this. Three are detailed here. <br />
<br />
One way is to disable the module {{ic|ehci_hcd}}. See [[Kernel modules#Blacklisting]] for more information.<br />
<br />
Or try disable Laptop-mode. <br />
Add {{Ic|!laptop-mode}} to the {{Ic|DAEMONS}} array in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(...!laptop-mode...)<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?pid=1106437#p1106437 This forum post] details another way to have your computer not reboot on shutdown. Turning off the {{ic|laptop-mode}} daemon causes battery life to suffer, so when on the move and in need of a simple way to shutdown, this seems to work better.<br />
<br />
=== Hang on reboot ===<br />
<br />
This is a problem on many laptops and can be fixed by [[blacklisting]] the {{ic|e1000e}} kernel module.<br />
<br />
== See also ==<br />
<br />
* [http://sysphere.org/~anrxc/j/articles/thinkpad-t420/index.html Arch Linux on ThinkPad T420i]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_T420&diff=661846Lenovo ThinkPad T4202021-04-18T14:17:41Z<p>Anonymous user: fixed minor formatting issue from last edit</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[zh-hans:Lenovo ThinkPad T420]]<br />
{{Laptop style|Stub}}<br />
{{Out of date|This page is ancient|Talk:Laptop#Old laptop pages}}<br />
<br />
{{Related articles start}}<br />
{{Related|Lenovo ThinkPad T420s}}<br />
{{Related|Lenovo ThinkPad T520}}<br />
{{Related articles end}}<br />
<br />
This article covers the installation and configuration of Arch Linux on a Lenovo T420 laptop.<br />
<br />
== Installation ==<br />
<br />
This laptop supports [[UEFI]] as well as the traditional BIOS. If you use Legacy Boot (traditional BIOS) or UEFI/Legacy Boot, choose an MBR partition table when partitioning the disk, because those modes are not compatible with GPT partition tables on the T420.<br />
<br />
There are no issues with installing Arch Linux with the latest [https://archlinux.org/download/ Archiso].<br />
<br />
The rest of the installation process can be followed with the [[Installation guide]].<br />
<br />
== Hardware ==<br />
<br />
All hardware works out of the box except the following:<br />
<br />
=== Fingerprint reader ===<br />
<br />
Fingerprint reader works great with fprint and PAM (installation of fingerprint-gui recommended).<br />
<br />
See [[Fingerprint-gui]] for more information.<br />
<br />
=== Some Media keys ===<br />
<br />
* See [[#Media Keys|Media Keys]]<br />
<br />
=== Untested ===<br />
<br />
* Firewire<br />
<br />
=== Dock ===<br />
<br />
See [[dockd]].<br />
<br />
==Laptop Settings==<br />
<br />
===ACPI===<br />
<br />
[[ACPI_modules|ACPI]] is well supported here. No obvious troubleshoots.<br />
<br />
=== Tp_smapi ===<br />
<br />
Unfortunately, [[tp_smapi]] is only partially supported on the Thinkpad T420. A number of features work since version 0.41. For example, the hard drive protection mechanism [[HDAPS]] now works well. See the linked wiki entry.<br />
<br />
Some features like setting the starting threshold for charging the battery do not yet work. To control the battery charging thresholds, install the Perl script {{Pkg|tpacpi-bat}}.<br />
<br />
Insert the {{ic|acpi_call}} kernel module by running<br />
modprobe acpi_call<br />
<br />
Manually set the thresholds by calling<br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80 <br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
The example values 40 and 80 given here represent the percentage of full battery capacity remaining. Adjust them to your own needs. You may also want to write a simple {{ic|set-battery.service}} and enable it to set them at startup. While these values should be permanent, they will be reset any time the battery is removed.<br />
<br />
[Unit]<br />
Description=Set battery capacity<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<br />
Also, if you are dual booting with Windows, you can still control the battery charging thresholds with Lenovo's Power Manager which communicates directly to the battery controller.<br />
<br />
When using systemd, you may want to blacklist the tp_smapi module if your systemd-modules-load.service fails, as new ThinkPads handle everything over acpi.<br />
<br />
=== CPU frequency scaling ===<br />
<br />
[[CPU frequency scaling]] is fully supported with all of the available processor models with this laptop.<br />
<br />
=== Fans ===<br />
<br />
As per [https://medium.com/@mirul/setting-up-thinkfan-for-thinkpad-t420-aaec5108f75f this Thinkfan install guide] for the T420, you can get the fans of your system running optimally. <br />
<br />
Install the package {{AUR|thinkfan}}, {{pkg|tp_smapi}} or {{aur|tp_smapi-dkms}}, {{pkg|read-edid}}, and {{pkg|i2c-tools}}. <br />
<br />
Next, run the following command:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
If you have not modified any settings previously, it should show your level as "auto."<br />
<br />
Find your sensors' location by running and taking note of the output:<br />
<br />
{{ic|$ find /sys/devices -type f -name "temp*_input"}}<br />
<br />
Now you may edit your configuration file.<br />
<br />
{{bc|/etc/thinkfan.conf}}<br />
<br />
Below is an example configuration file, based off of a T420 with NVIDIA Optimius:<br />
<br />
{{hc||tp_fan /proc/acpi/ibm/fan<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp3_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp2_input<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input<br />
<br />
(0, 0, 42)<br />
(1, 40, 47)<br />
(2, 45, 52)<br />
(3, 50, 57)<br />
(4, 55, 62)<br />
(5, 60, 77)<br />
(7, 73, 93)<br />
(127, 85, 32767)}}<br />
<br />
<br />
Next modporobe the thinkpad_acpi.<br />
<br />
{{ic|sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf}}<br />
<br />
{{ic|sudo modprobe -rv thinkpad_acpi}}<br />
<br />
{{ic|sudo modprobe -v thinkpad_acpi}}<br />
<br />
If you encounter the following error, simply reboot your system to solve it.<br />
<br />
{{bc|modprobe: FATAL: Module thinkpad_acpi is in use}}<br />
<br />
Now start thinkfan, and check your fan levels.<br />
<br />
{{ic|sudo thinkfan -q}}<br />
{{ic|cat /proc/acpi/ibm/fan}}<br />
<br />
If your level is no longer auto, you've successfully gotten your fan's levels to be accurate to Windows' drivers.<br />
<br />
=== Laptop Mode Tools ===<br />
<br />
No significant issues were found using [[Laptop Mode Tools]].<br />
<br />
Possible bug with [[#Shutdown on battery]].<br />
<br />
The package {{Pkg|tlp}} is an alternative tool that can replace {{AUR|laptop-mode-tools}}.<br />
<br />
=== NVIDIA Optimus ===<br />
<br />
[[Bumblebee]] works as intended on models with NVIDIA Optimus<br />
<br />
=== Optional kernel boot arguments ===<br />
Using the following kernel boot parameters [https://www.phoronix.com/scan.php?page=article&item=intel_i915_power&num=1 reduces battery drain]:<br />
<br />
{{bc|<nowiki><br />
i915.enable_rc6=1<br />
i915.enable_fbc=1<br />
i915.lvds_downclock=1 <br />
i915.semaphores=1<br />
</nowiki>}}<br />
<br />
=== VT-Switching hangs ===<br />
If your system hangs for some 10 seconds occasionally when switching virtual terminals with Ctrl+Alt+Fx with the following dmesg line<br />
[drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:36:pipe A] flip_done timed out<br />
it is often suggested to add <br />
video=SVIDEO-1:d<br />
to kernel boot parameters, if that doesn't work, uninstall the {{ic|xf86-video-intel}} package.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Media Keys ===<br />
<br />
Media keys that (should) work out of the box:<br />
* Wireless On/Off<br />
* Backlight Brightness settings<br />
* Thinklight<br />
* Mute<br />
* Microphone mute<br />
<br />
Media Keys that Do Not work out of the box:<br />
* [[#Volume_up.2Fdown_not_changing_volume|Volume keys]] (Works out-of-the-box in [[GNOME]] and [[KDE Plasma]])<br />
You must find a workaround and bind the keys yourself for the rest of them.<br />
<br />
[[xbindkeys]] and {{AUR|xbindkeys_config-gtk2}} can be a solution for media keys that are not working. This solution also allows you to rebind the ThinkVantage button and certain FN layer shortcuts (the blue logos on the keyboard).<br />
<br />
=== Rebind Forward and Back keys ===<br />
<br />
Keys forward and back (next to cursor keys) can be easily remapped to PageDown/PageUp.<br />
<br />
[[Install]] xmodmap with the package {{Pkg|xorg-xmodmap}}<br />
<br />
Create a {{ic|~/.Xmodmap}} file with content:<br />
keysym XF86Back = Page_Up<br />
keysym XF86Forward = Page_Down<br />
<br />
Add this line to your {{ic|~/.xinitrc}} to make it work:<br />
xmodmap ~/.Xmodmap<br />
<br />
You can also re-map AudioPrev ({{ic|Fn+Left}}) and AudioNext ({{ic|Fn+Right}}) to Home/End:<br />
keysym XF86AudioNext = End<br />
keysym XF86AudioPrev = Home<br />
<br />
{{Note|<br />
* You have to log out for the changes to take effect.<br />
* The keys should work out of the box, at least on [[KDE]].<br />
}}<br />
<br />
=== Turn touchpad on and off ===<br />
<br />
For some, the ({{ic|Fn+F8}}) key does not switch the touchpad on and off. See [[Touchpad Synaptics#Software toggle]] for a workaround.<br />
<br />
=== Volume up/down not changing volume ===<br />
<br />
See [[Xbindkeys]].<br />
<br />
=== Shutdown on battery ===<br />
<br />
Some users have reported that the T420 was rebooting on shutdown on battery power. There have been quite a few attempts to fix this. Three are detailed here. <br />
<br />
One way is to disable the module {{ic|ehci_hcd}}. See [[Kernel modules#Blacklisting]] for more information.<br />
<br />
Or try disable Laptop-mode. <br />
Add {{Ic|!laptop-mode}} to the {{Ic|DAEMONS}} array in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(...!laptop-mode...)<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?pid=1106437#p1106437 This forum post] details another way to have your computer not reboot on shutdown. Turning off the {{ic|laptop-mode}} daemon causes battery life to suffer, so when on the move and in need of a simple way to shutdown, this seems to work better.<br />
<br />
=== Hang on reboot ===<br />
<br />
This is a problem on many laptops and can be fixed by [[blacklisting]] the {{ic|e1000e}} kernel module.<br />
<br />
== See also ==<br />
<br />
* [http://sysphere.org/~anrxc/j/articles/thinkpad-t420/index.html Arch Linux on ThinkPad T420i]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_T420&diff=661845Lenovo ThinkPad T4202021-04-18T14:16:39Z<p>Anonymous user: fixed command for finding sensor location</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[zh-hans:Lenovo ThinkPad T420]]<br />
{{Laptop style|Stub}}<br />
{{Out of date|This page is ancient|Talk:Laptop#Old laptop pages}}<br />
<br />
{{Related articles start}}<br />
{{Related|Lenovo ThinkPad T420s}}<br />
{{Related|Lenovo ThinkPad T520}}<br />
{{Related articles end}}<br />
<br />
This article covers the installation and configuration of Arch Linux on a Lenovo T420 laptop.<br />
<br />
== Installation ==<br />
<br />
This laptop supports [[UEFI]] as well as the traditional BIOS. If you use Legacy Boot (traditional BIOS) or UEFI/Legacy Boot, choose an MBR partition table when partitioning the disk, because those modes are not compatible with GPT partition tables on the T420.<br />
<br />
There are no issues with installing Arch Linux with the latest [https://archlinux.org/download/ Archiso].<br />
<br />
The rest of the installation process can be followed with the [[Installation guide]].<br />
<br />
== Hardware ==<br />
<br />
All hardware works out of the box except the following:<br />
<br />
=== Fingerprint reader ===<br />
<br />
Fingerprint reader works great with fprint and PAM (installation of fingerprint-gui recommended).<br />
<br />
See [[Fingerprint-gui]] for more information.<br />
<br />
=== Some Media keys ===<br />
<br />
* See [[#Media Keys|Media Keys]]<br />
<br />
=== Untested ===<br />
<br />
* Firewire<br />
<br />
=== Dock ===<br />
<br />
See [[dockd]].<br />
<br />
==Laptop Settings==<br />
<br />
===ACPI===<br />
<br />
[[ACPI_modules|ACPI]] is well supported here. No obvious troubleshoots.<br />
<br />
=== Tp_smapi ===<br />
<br />
Unfortunately, [[tp_smapi]] is only partially supported on the Thinkpad T420. A number of features work since version 0.41. For example, the hard drive protection mechanism [[HDAPS]] now works well. See the linked wiki entry.<br />
<br />
Some features like setting the starting threshold for charging the battery do not yet work. To control the battery charging thresholds, install the Perl script {{Pkg|tpacpi-bat}}.<br />
<br />
Insert the {{ic|acpi_call}} kernel module by running<br />
modprobe acpi_call<br />
<br />
Manually set the thresholds by calling<br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80 <br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
The example values 40 and 80 given here represent the percentage of full battery capacity remaining. Adjust them to your own needs. You may also want to write a simple {{ic|set-battery.service}} and enable it to set them at startup. While these values should be permanent, they will be reset any time the battery is removed.<br />
<br />
[Unit]<br />
Description=Set battery capacity<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<br />
Also, if you are dual booting with Windows, you can still control the battery charging thresholds with Lenovo's Power Manager which communicates directly to the battery controller.<br />
<br />
When using systemd, you may want to blacklist the tp_smapi module if your systemd-modules-load.service fails, as new ThinkPads handle everything over acpi.<br />
<br />
=== CPU frequency scaling ===<br />
<br />
[[CPU frequency scaling]] is fully supported with all of the available processor models with this laptop.<br />
<br />
=== Fans ===<br />
<br />
As per [https://medium.com/@mirul/setting-up-thinkfan-for-thinkpad-t420-aaec5108f75f this Thinkfan install guide] for the T420, you can get the fans of your system running optimally. <br />
<br />
Install the package {{AUR|thinkfan}}, {{pkg|tp_smapi}} or {{aur|tp_smapi-dkms}}, {{pkg|read-edid}}, and {{pkg|i2c-tools}}. <br />
<br />
Next, run the following command:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
If you have not modified any settings previously, it should show your level as "auto."<br />
<br />
Find your sensors' location by running and taking note of the output:<br />
<br />
{{ic|$find /sys/devices -type f -name "temp*_input"}<br />
<br />
Now you may edit your configuration file.<br />
<br />
{{bc|/etc/thinkfan.conf}}<br />
<br />
Below is an example configuration file, based off of a T420 with NVIDIA Optimius:<br />
<br />
{{hc||tp_fan /proc/acpi/ibm/fan<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp3_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp2_input<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input<br />
<br />
(0, 0, 42)<br />
(1, 40, 47)<br />
(2, 45, 52)<br />
(3, 50, 57)<br />
(4, 55, 62)<br />
(5, 60, 77)<br />
(7, 73, 93)<br />
(127, 85, 32767)}}<br />
<br />
<br />
Next modporobe the thinkpad_acpi.<br />
<br />
{{ic|sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf}}<br />
<br />
{{ic|sudo modprobe -rv thinkpad_acpi}}<br />
<br />
{{ic|sudo modprobe -v thinkpad_acpi}}<br />
<br />
If you encounter the following error, simply reboot your system to solve it.<br />
<br />
{{bc|modprobe: FATAL: Module thinkpad_acpi is in use}}<br />
<br />
Now start thinkfan, and check your fan levels.<br />
<br />
{{ic|sudo thinkfan -q}}<br />
{{ic|cat /proc/acpi/ibm/fan}}<br />
<br />
If your level is no longer auto, you've successfully gotten your fan's levels to be accurate to Windows' drivers.<br />
<br />
=== Laptop Mode Tools ===<br />
<br />
No significant issues were found using [[Laptop Mode Tools]].<br />
<br />
Possible bug with [[#Shutdown on battery]].<br />
<br />
The package {{Pkg|tlp}} is an alternative tool that can replace {{AUR|laptop-mode-tools}}.<br />
<br />
=== NVIDIA Optimus ===<br />
<br />
[[Bumblebee]] works as intended on models with NVIDIA Optimus<br />
<br />
=== Optional kernel boot arguments ===<br />
Using the following kernel boot parameters [https://www.phoronix.com/scan.php?page=article&item=intel_i915_power&num=1 reduces battery drain]:<br />
<br />
{{bc|<nowiki><br />
i915.enable_rc6=1<br />
i915.enable_fbc=1<br />
i915.lvds_downclock=1 <br />
i915.semaphores=1<br />
</nowiki>}}<br />
<br />
=== VT-Switching hangs ===<br />
If your system hangs for some 10 seconds occasionally when switching virtual terminals with Ctrl+Alt+Fx with the following dmesg line<br />
[drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:36:pipe A] flip_done timed out<br />
it is often suggested to add <br />
video=SVIDEO-1:d<br />
to kernel boot parameters, if that doesn't work, uninstall the {{ic|xf86-video-intel}} package.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Media Keys ===<br />
<br />
Media keys that (should) work out of the box:<br />
* Wireless On/Off<br />
* Backlight Brightness settings<br />
* Thinklight<br />
* Mute<br />
* Microphone mute<br />
<br />
Media Keys that Do Not work out of the box:<br />
* [[#Volume_up.2Fdown_not_changing_volume|Volume keys]] (Works out-of-the-box in [[GNOME]] and [[KDE Plasma]])<br />
You must find a workaround and bind the keys yourself for the rest of them.<br />
<br />
[[xbindkeys]] and {{AUR|xbindkeys_config-gtk2}} can be a solution for media keys that are not working. This solution also allows you to rebind the ThinkVantage button and certain FN layer shortcuts (the blue logos on the keyboard).<br />
<br />
=== Rebind Forward and Back keys ===<br />
<br />
Keys forward and back (next to cursor keys) can be easily remapped to PageDown/PageUp.<br />
<br />
[[Install]] xmodmap with the package {{Pkg|xorg-xmodmap}}<br />
<br />
Create a {{ic|~/.Xmodmap}} file with content:<br />
keysym XF86Back = Page_Up<br />
keysym XF86Forward = Page_Down<br />
<br />
Add this line to your {{ic|~/.xinitrc}} to make it work:<br />
xmodmap ~/.Xmodmap<br />
<br />
You can also re-map AudioPrev ({{ic|Fn+Left}}) and AudioNext ({{ic|Fn+Right}}) to Home/End:<br />
keysym XF86AudioNext = End<br />
keysym XF86AudioPrev = Home<br />
<br />
{{Note|<br />
* You have to log out for the changes to take effect.<br />
* The keys should work out of the box, at least on [[KDE]].<br />
}}<br />
<br />
=== Turn touchpad on and off ===<br />
<br />
For some, the ({{ic|Fn+F8}}) key does not switch the touchpad on and off. See [[Touchpad Synaptics#Software toggle]] for a workaround.<br />
<br />
=== Volume up/down not changing volume ===<br />
<br />
See [[Xbindkeys]].<br />
<br />
=== Shutdown on battery ===<br />
<br />
Some users have reported that the T420 was rebooting on shutdown on battery power. There have been quite a few attempts to fix this. Three are detailed here. <br />
<br />
One way is to disable the module {{ic|ehci_hcd}}. See [[Kernel modules#Blacklisting]] for more information.<br />
<br />
Or try disable Laptop-mode. <br />
Add {{Ic|!laptop-mode}} to the {{Ic|DAEMONS}} array in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(...!laptop-mode...)<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?pid=1106437#p1106437 This forum post] details another way to have your computer not reboot on shutdown. Turning off the {{ic|laptop-mode}} daemon causes battery life to suffer, so when on the move and in need of a simple way to shutdown, this seems to work better.<br />
<br />
=== Hang on reboot ===<br />
<br />
This is a problem on many laptops and can be fixed by [[blacklisting]] the {{ic|e1000e}} kernel module.<br />
<br />
== See also ==<br />
<br />
* [http://sysphere.org/~anrxc/j/articles/thinkpad-t420/index.html Arch Linux on ThinkPad T420i]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_T420&diff=661842Lenovo ThinkPad T4202021-04-18T14:14:42Z<p>Anonymous user: fixed a few links to packages</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[zh-hans:Lenovo ThinkPad T420]]<br />
{{Laptop style|Stub}}<br />
{{Out of date|This page is ancient|Talk:Laptop#Old laptop pages}}<br />
<br />
{{Related articles start}}<br />
{{Related|Lenovo ThinkPad T420s}}<br />
{{Related|Lenovo ThinkPad T520}}<br />
{{Related articles end}}<br />
<br />
This article covers the installation and configuration of Arch Linux on a Lenovo T420 laptop.<br />
<br />
== Installation ==<br />
<br />
This laptop supports [[UEFI]] as well as the traditional BIOS. If you use Legacy Boot (traditional BIOS) or UEFI/Legacy Boot, choose an MBR partition table when partitioning the disk, because those modes are not compatible with GPT partition tables on the T420.<br />
<br />
There are no issues with installing Arch Linux with the latest [https://archlinux.org/download/ Archiso].<br />
<br />
The rest of the installation process can be followed with the [[Installation guide]].<br />
<br />
== Hardware ==<br />
<br />
All hardware works out of the box except the following:<br />
<br />
=== Fingerprint reader ===<br />
<br />
Fingerprint reader works great with fprint and PAM (installation of fingerprint-gui recommended).<br />
<br />
See [[Fingerprint-gui]] for more information.<br />
<br />
=== Some Media keys ===<br />
<br />
* See [[#Media Keys|Media Keys]]<br />
<br />
=== Untested ===<br />
<br />
* Firewire<br />
<br />
=== Dock ===<br />
<br />
See [[dockd]].<br />
<br />
==Laptop Settings==<br />
<br />
===ACPI===<br />
<br />
[[ACPI_modules|ACPI]] is well supported here. No obvious troubleshoots.<br />
<br />
=== Tp_smapi ===<br />
<br />
Unfortunately, [[tp_smapi]] is only partially supported on the Thinkpad T420. A number of features work since version 0.41. For example, the hard drive protection mechanism [[HDAPS]] now works well. See the linked wiki entry.<br />
<br />
Some features like setting the starting threshold for charging the battery do not yet work. To control the battery charging thresholds, install the Perl script {{Pkg|tpacpi-bat}}.<br />
<br />
Insert the {{ic|acpi_call}} kernel module by running<br />
modprobe acpi_call<br />
<br />
Manually set the thresholds by calling<br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80 <br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
The example values 40 and 80 given here represent the percentage of full battery capacity remaining. Adjust them to your own needs. You may also want to write a simple {{ic|set-battery.service}} and enable it to set them at startup. While these values should be permanent, they will be reset any time the battery is removed.<br />
<br />
[Unit]<br />
Description=Set battery capacity<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<br />
Also, if you are dual booting with Windows, you can still control the battery charging thresholds with Lenovo's Power Manager which communicates directly to the battery controller.<br />
<br />
When using systemd, you may want to blacklist the tp_smapi module if your systemd-modules-load.service fails, as new ThinkPads handle everything over acpi.<br />
<br />
=== CPU frequency scaling ===<br />
<br />
[[CPU frequency scaling]] is fully supported with all of the available processor models with this laptop.<br />
<br />
=== Fans ===<br />
<br />
As per [https://medium.com/@mirul/setting-up-thinkfan-for-thinkpad-t420-aaec5108f75f this Thinkfan install guide] for the T420, you can get the fans of your system running optimally. <br />
<br />
Install the package {{AUR|thinkfan}}, {{pkg|tp_smapi}} or {{aur|tp_smapi-dkms}}, {{pkg|read-edid}}, and {{pkg|i2c-tools}}. <br />
<br />
Next, run the following command:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
If you have not modified any settings previously, it should show your level as "auto."<br />
<br />
Find your sensors' location by running and taking note of the output:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
Now you may edit your configuration file.<br />
<br />
{{bc|/etc/thinkfan.conf}}<br />
<br />
Below is an example configuration file, based off of a T420 with NVIDIA Optimius:<br />
<br />
{{hc||tp_fan /proc/acpi/ibm/fan<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp3_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp2_input<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input<br />
<br />
(0, 0, 42)<br />
(1, 40, 47)<br />
(2, 45, 52)<br />
(3, 50, 57)<br />
(4, 55, 62)<br />
(5, 60, 77)<br />
(7, 73, 93)<br />
(127, 85, 32767)}}<br />
<br />
<br />
Next modporobe the thinkpad_acpi.<br />
<br />
{{ic|sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf}}<br />
<br />
{{ic|sudo modprobe -rv thinkpad_acpi}}<br />
<br />
{{ic|sudo modprobe -v thinkpad_acpi}}<br />
<br />
If you encounter the following error, simply reboot your system to solve it.<br />
<br />
{{bc|modprobe: FATAL: Module thinkpad_acpi is in use}}<br />
<br />
Now start thinkfan, and check your fan levels.<br />
<br />
{{ic|sudo thinkfan -q}}<br />
{{ic|cat /proc/acpi/ibm/fan}}<br />
<br />
If your level is no longer auto, you've successfully gotten your fan's levels to be accurate to Windows' drivers.<br />
<br />
=== Laptop Mode Tools ===<br />
<br />
No significant issues were found using [[Laptop Mode Tools]].<br />
<br />
Possible bug with [[#Shutdown on battery]].<br />
<br />
The package {{Pkg|tlp}} is an alternative tool that can replace {{AUR|laptop-mode-tools}}.<br />
<br />
=== NVIDIA Optimus ===<br />
<br />
[[Bumblebee]] works as intended on models with NVIDIA Optimus<br />
<br />
=== Optional kernel boot arguments ===<br />
Using the following kernel boot parameters [https://www.phoronix.com/scan.php?page=article&item=intel_i915_power&num=1 reduces battery drain]:<br />
<br />
{{bc|<nowiki><br />
i915.enable_rc6=1<br />
i915.enable_fbc=1<br />
i915.lvds_downclock=1 <br />
i915.semaphores=1<br />
</nowiki>}}<br />
<br />
=== VT-Switching hangs ===<br />
If your system hangs for some 10 seconds occasionally when switching virtual terminals with Ctrl+Alt+Fx with the following dmesg line<br />
[drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:36:pipe A] flip_done timed out<br />
it is often suggested to add <br />
video=SVIDEO-1:d<br />
to kernel boot parameters, if that doesn't work, uninstall the {{ic|xf86-video-intel}} package.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Media Keys ===<br />
<br />
Media keys that (should) work out of the box:<br />
* Wireless On/Off<br />
* Backlight Brightness settings<br />
* Thinklight<br />
* Mute<br />
* Microphone mute<br />
<br />
Media Keys that Do Not work out of the box:<br />
* [[#Volume_up.2Fdown_not_changing_volume|Volume keys]] (Works out-of-the-box in [[GNOME]] and [[KDE Plasma]])<br />
You must find a workaround and bind the keys yourself for the rest of them.<br />
<br />
[[xbindkeys]] and {{AUR|xbindkeys_config-gtk2}} can be a solution for media keys that are not working. This solution also allows you to rebind the ThinkVantage button and certain FN layer shortcuts (the blue logos on the keyboard).<br />
<br />
=== Rebind Forward and Back keys ===<br />
<br />
Keys forward and back (next to cursor keys) can be easily remapped to PageDown/PageUp.<br />
<br />
[[Install]] xmodmap with the package {{Pkg|xorg-xmodmap}}<br />
<br />
Create a {{ic|~/.Xmodmap}} file with content:<br />
keysym XF86Back = Page_Up<br />
keysym XF86Forward = Page_Down<br />
<br />
Add this line to your {{ic|~/.xinitrc}} to make it work:<br />
xmodmap ~/.Xmodmap<br />
<br />
You can also re-map AudioPrev ({{ic|Fn+Left}}) and AudioNext ({{ic|Fn+Right}}) to Home/End:<br />
keysym XF86AudioNext = End<br />
keysym XF86AudioPrev = Home<br />
<br />
{{Note|<br />
* You have to log out for the changes to take effect.<br />
* The keys should work out of the box, at least on [[KDE]].<br />
}}<br />
<br />
=== Turn touchpad on and off ===<br />
<br />
For some, the ({{ic|Fn+F8}}) key does not switch the touchpad on and off. See [[Touchpad Synaptics#Software toggle]] for a workaround.<br />
<br />
=== Volume up/down not changing volume ===<br />
<br />
See [[Xbindkeys]].<br />
<br />
=== Shutdown on battery ===<br />
<br />
Some users have reported that the T420 was rebooting on shutdown on battery power. There have been quite a few attempts to fix this. Three are detailed here. <br />
<br />
One way is to disable the module {{ic|ehci_hcd}}. See [[Kernel modules#Blacklisting]] for more information.<br />
<br />
Or try disable Laptop-mode. <br />
Add {{Ic|!laptop-mode}} to the {{Ic|DAEMONS}} array in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(...!laptop-mode...)<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?pid=1106437#p1106437 This forum post] details another way to have your computer not reboot on shutdown. Turning off the {{ic|laptop-mode}} daemon causes battery life to suffer, so when on the move and in need of a simple way to shutdown, this seems to work better.<br />
<br />
=== Hang on reboot ===<br />
<br />
This is a problem on many laptops and can be fixed by [[blacklisting]] the {{ic|e1000e}} kernel module.<br />
<br />
== See also ==<br />
<br />
* [http://sysphere.org/~anrxc/j/articles/thinkpad-t420/index.html Arch Linux on ThinkPad T420i]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Lenovo_ThinkPad_T420&diff=661835Lenovo ThinkPad T4202021-04-18T14:12:50Z<p>Anonymous user: removing reference to installing tpacpi from AUR. It is in community</p>
<hr />
<div>[[Category:Lenovo]]<br />
[[zh-hans:Lenovo ThinkPad T420]]<br />
{{Laptop style|Stub}}<br />
{{Out of date|This page is ancient|Talk:Laptop#Old laptop pages}}<br />
<br />
{{Related articles start}}<br />
{{Related|Lenovo ThinkPad T420s}}<br />
{{Related|Lenovo ThinkPad T520}}<br />
{{Related articles end}}<br />
<br />
This article covers the installation and configuration of Arch Linux on a Lenovo T420 laptop.<br />
<br />
== Installation ==<br />
<br />
This laptop supports [[UEFI]] as well as the traditional BIOS. If you use Legacy Boot (traditional BIOS) or UEFI/Legacy Boot, choose an MBR partition table when partitioning the disk, because those modes are not compatible with GPT partition tables on the T420.<br />
<br />
There are no issues with installing Arch Linux with the latest [https://archlinux.org/download/ Archiso].<br />
<br />
The rest of the installation process can be followed with the [[Installation guide]].<br />
<br />
== Hardware ==<br />
<br />
All hardware works out of the box except the following:<br />
<br />
=== Fingerprint reader ===<br />
<br />
Fingerprint reader works great with fprint and PAM (installation of fingerprint-gui recommended).<br />
<br />
See [[Fingerprint-gui]] for more information.<br />
<br />
=== Some Media keys ===<br />
<br />
* See [[#Media Keys|Media Keys]]<br />
<br />
=== Untested ===<br />
<br />
* Firewire<br />
<br />
=== Dock ===<br />
<br />
See [[dockd]].<br />
<br />
==Laptop Settings==<br />
<br />
===ACPI===<br />
<br />
[[ACPI_modules|ACPI]] is well supported here. No obvious troubleshoots.<br />
<br />
=== Tp_smapi ===<br />
<br />
Unfortunately, [[tp_smapi]] is only partially supported on the Thinkpad T420. A number of features work since version 0.41. For example, the hard drive protection mechanism [[HDAPS]] now works well. See the linked wiki entry.<br />
<br />
Some features like setting the starting threshold for charging the battery do not yet work. To control the battery charging thresholds, install the Perl script {{Pkg|tpacpi-bat}}.<br />
<br />
Insert the {{ic|acpi_call}} kernel module by running<br />
modprobe acpi_call<br />
<br />
Manually set the thresholds by calling<br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80 <br />
/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
The example values 40 and 80 given here represent the percentage of full battery capacity remaining. Adjust them to your own needs. You may also want to write a simple {{ic|set-battery.service}} and enable it to set them at startup. While these values should be permanent, they will be reset any time the battery is removed.<br />
<br />
[Unit]<br />
Description=Set battery capacity<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s SP 0 80<br />
ExecStart=/usr/bin/perl /usr/bin/tpacpi-bat -v -s ST 0 40<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<br />
Also, if you are dual booting with Windows, you can still control the battery charging thresholds with Lenovo's Power Manager which communicates directly to the battery controller.<br />
<br />
When using systemd, you may want to blacklist the tp_smapi module if your systemd-modules-load.service fails, as new ThinkPads handle everything over acpi.<br />
<br />
=== CPU frequency scaling ===<br />
<br />
[[CPU frequency scaling]] is fully supported with all of the available processor models with this laptop.<br />
<br />
=== Fans ===<br />
<br />
As per [https://medium.com/@mirul/setting-up-thinkfan-for-thinkpad-t420-aaec5108f75f this Thinkfan install guide] for the T420, you can get the fans of your system running optimally. <br />
<br />
Install the package {{AUR|thinkfan}}, {{tp_smapi}}, [[read-edid]], and [[i2c-tools]]. <br />
<br />
Next, run the following command:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
If you have not modified any settings previously, it should show your level as "auto."<br />
<br />
Find your sensors' location by running and taking note of the output:<br />
<br />
{{ic|$ cat /proc/acpi/ibm/fan}}<br />
<br />
Now you may edit your configuration file.<br />
<br />
{{bc|/etc/thinkfan.conf}}<br />
<br />
Below is an example configuration file, based off of a T420 with NVIDIA Optimius:<br />
<br />
{{hc||tp_fan /proc/acpi/ibm/fan<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp3_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp1_input<br />
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon4/temp2_input<br />
hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input<br />
<br />
(0, 0, 42)<br />
(1, 40, 47)<br />
(2, 45, 52)<br />
(3, 50, 57)<br />
(4, 55, 62)<br />
(5, 60, 77)<br />
(7, 73, 93)<br />
(127, 85, 32767)}}<br />
<br />
<br />
Next modporobe the thinkpad_acpi.<br />
<br />
{{ic|sudo echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf}}<br />
<br />
{{ic|sudo modprobe -rv thinkpad_acpi}}<br />
<br />
{{ic|sudo modprobe -v thinkpad_acpi}}<br />
<br />
If you encounter the following error, simply reboot your system to solve it.<br />
<br />
{{bc|modprobe: FATAL: Module thinkpad_acpi is in use}}<br />
<br />
Now start thinkfan, and check your fan levels.<br />
<br />
{{ic|sudo thinkfan -q}}<br />
{{ic|cat /proc/acpi/ibm/fan}}<br />
<br />
If your level is no longer auto, you've successfully gotten your fan's levels to be accurate to Windows' drivers.<br />
<br />
=== Laptop Mode Tools ===<br />
<br />
No significant issues were found using [[Laptop Mode Tools]].<br />
<br />
Possible bug with [[#Shutdown on battery]].<br />
<br />
The package {{Pkg|tlp}} is an alternative tool that can replace {{AUR|laptop-mode-tools}}.<br />
<br />
=== NVIDIA Optimus ===<br />
<br />
[[Bumblebee]] works as intended on models with NVIDIA Optimus<br />
<br />
=== Optional kernel boot arguments ===<br />
Using the following kernel boot parameters [https://www.phoronix.com/scan.php?page=article&item=intel_i915_power&num=1 reduces battery drain]:<br />
<br />
{{bc|<nowiki><br />
i915.enable_rc6=1<br />
i915.enable_fbc=1<br />
i915.lvds_downclock=1 <br />
i915.semaphores=1<br />
</nowiki>}}<br />
<br />
=== VT-Switching hangs ===<br />
If your system hangs for some 10 seconds occasionally when switching virtual terminals with Ctrl+Alt+Fx with the following dmesg line<br />
[drm:drm_atomic_helper_commit_cleanup_done [drm_kms_helper]] *ERROR* [CRTC:36:pipe A] flip_done timed out<br />
it is often suggested to add <br />
video=SVIDEO-1:d<br />
to kernel boot parameters, if that doesn't work, uninstall the {{ic|xf86-video-intel}} package.<br />
<br />
== Troubleshooting ==<br />
<br />
=== Media Keys ===<br />
<br />
Media keys that (should) work out of the box:<br />
* Wireless On/Off<br />
* Backlight Brightness settings<br />
* Thinklight<br />
* Mute<br />
* Microphone mute<br />
<br />
Media Keys that Do Not work out of the box:<br />
* [[#Volume_up.2Fdown_not_changing_volume|Volume keys]] (Works out-of-the-box in [[GNOME]] and [[KDE Plasma]])<br />
You must find a workaround and bind the keys yourself for the rest of them.<br />
<br />
[[xbindkeys]] and {{AUR|xbindkeys_config-gtk2}} can be a solution for media keys that are not working. This solution also allows you to rebind the ThinkVantage button and certain FN layer shortcuts (the blue logos on the keyboard).<br />
<br />
=== Rebind Forward and Back keys ===<br />
<br />
Keys forward and back (next to cursor keys) can be easily remapped to PageDown/PageUp.<br />
<br />
[[Install]] xmodmap with the package {{Pkg|xorg-xmodmap}}<br />
<br />
Create a {{ic|~/.Xmodmap}} file with content:<br />
keysym XF86Back = Page_Up<br />
keysym XF86Forward = Page_Down<br />
<br />
Add this line to your {{ic|~/.xinitrc}} to make it work:<br />
xmodmap ~/.Xmodmap<br />
<br />
You can also re-map AudioPrev ({{ic|Fn+Left}}) and AudioNext ({{ic|Fn+Right}}) to Home/End:<br />
keysym XF86AudioNext = End<br />
keysym XF86AudioPrev = Home<br />
<br />
{{Note|<br />
* You have to log out for the changes to take effect.<br />
* The keys should work out of the box, at least on [[KDE]].<br />
}}<br />
<br />
=== Turn touchpad on and off ===<br />
<br />
For some, the ({{ic|Fn+F8}}) key does not switch the touchpad on and off. See [[Touchpad Synaptics#Software toggle]] for a workaround.<br />
<br />
=== Volume up/down not changing volume ===<br />
<br />
See [[Xbindkeys]].<br />
<br />
=== Shutdown on battery ===<br />
<br />
Some users have reported that the T420 was rebooting on shutdown on battery power. There have been quite a few attempts to fix this. Three are detailed here. <br />
<br />
One way is to disable the module {{ic|ehci_hcd}}. See [[Kernel modules#Blacklisting]] for more information.<br />
<br />
Or try disable Laptop-mode. <br />
Add {{Ic|!laptop-mode}} to the {{Ic|DAEMONS}} array in {{ic|/etc/rc.conf}}:<br />
DAEMONS=(...!laptop-mode...)<br />
<br />
[https://bbs.archlinux.org/viewtopic.php?pid=1106437#p1106437 This forum post] details another way to have your computer not reboot on shutdown. Turning off the {{ic|laptop-mode}} daemon causes battery life to suffer, so when on the move and in need of a simple way to shutdown, this seems to work better.<br />
<br />
=== Hang on reboot ===<br />
<br />
This is a problem on many laptops and can be fixed by [[blacklisting]] the {{ic|e1000e}} kernel module.<br />
<br />
== See also ==<br />
<br />
* [http://sysphere.org/~anrxc/j/articles/thinkpad-t420/index.html Arch Linux on ThinkPad T420i]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=XFS&diff=647787XFS2020-12-31T21:16:08Z<p>Anonymous user: Fixed link to creation section</p>
<hr />
<div>[[Category:File systems]]<br />
[[it:XFS]]<br />
[[ja:XFS]]<br />
[[ru:XFS]]<br />
[[pt:XFS]]<br />
[[zh-hans:XFS]]<br />
{{Related articles start}}<br />
{{Related|File systems}}<br />
{{Related articles end}}<br />
<br />
XFS is a high-performance journaling file system created by Silicon Graphics, Inc. XFS is particularly proficient at parallel IO due to its allocation group based design. This enables extreme scalability of IO threads, filesystem bandwidth, file and filesystem size when spanning multiple storage devices.<br />
<br />
== Preparation ==<br />
<br />
For XFS userspace utilities [[install]] the {{Pkg|xfsprogs}} package. It contains the tools necessary to manage an XFS file system.<br />
<br />
== Creation ==<br />
<br />
To create a new filesystem on ''device'' use:<br />
<br />
# mkfs.xfs ''device''<br />
<br />
<q>In general, the default options are optimal for common use.</q>[https://access.redhat.com/documentation/en_us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-xfs#xfscreating][https://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E]<br />
<br />
Sample output:{{bc|1=<br />
meta-data=/dev/device isize=256 agcount=4, agsize=3277258 blks<br />
= sectsz=512 attr=2<br />
data = bsize=4096 blocks=13109032, imaxpct=25<br />
= sunit=0 swidth=0 blks<br />
naming =version 2 bsize=4096 ascii-ci=0<br />
log =internal log bsize=4096 blocks=6400, version=2<br />
= sectsz=512 sunit=0 blks, lazy-count=1<br />
realtime =none extsz=4096 blocks=0, rtextents=0<br />
}}<br />
<br />
{{Tip|One can optionally assign a label to the filesystem by using the {{ic|-L <label>}} option.}}<br />
<br />
{{Tip|When using ''mkfs.xfs'' on a block device containing an existing file system, add the {{ic|-f}} option to overwrite that file system.[https://access.redhat.com/documentation/en_us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-xfs#xfscreating]. '''''This operation will destroy all data contained in the previous filesystem'''''.}}<br />
<br />
{{Note|<q>After an XFS file system is created, its size cannot be reduced. However, it can still be enlarged using the xfs_growfs command.</q>[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/ch-xfs#xfscreating] See [[#Resize]].}}<br />
<br />
=== Checksumming ===<br />
<br />
{{Pkg|xfsprogs}} 3.2.0 has introduced a new on-disk format (v5) that includes a metadata checksum scheme called [https://www.kernel.org/doc/html/latest/filesystems/xfs-self-describing-metadata.html Self-Describing Metadata]. <br />
Based upon CRC32 it provides for example additional protection against metadata corruption during unexpected power losses. Checksum is enabled by default when using {{Pkg|xfsprogs}} 3.2.3 or later. If you need read-write mountable xfs for older kernel, It can be easily disabled using the {{ic|1=-m crc=0}} switch when calling {{man|8|mkfs.xfs}}.<br />
# mkfs.xfs -m crc=0 /dev/''target_partition''<br />
<br />
The XFS v5 on-disk format is considered stable for production workloads starting Linux Kernel 3.15.<br />
<br />
{{Note|Unlike [[Btrfs]] and [[ZFS]], the CRC32 checksum only applies to the metadata and not actual data.}}<br />
<br />
=== Free inode btree ===<br />
<br />
Starting Linux 3.16, XFS has added a btree that tracks free inodes. It is equivalent to the existing inode allocation btree with the exception that the free inode btree tracks inode chunks with at least one free inode. The purpose is to improve lookups for free inode clusters for inode allocation. It improves performance on aged filesystems i.e. months or years down the track when you have added and removed millions of files to/from the filesystem. Using this feature does not impact overall filesystem reliability level or recovery capabilities.<br />
<br />
This feature relies on the new v5 on-disk format that has been considered stable for production workloads starting Linux Kernel 3.15. It does not change existing on-disk structures, but adds a new one that must remain consistent with the inode allocation btree; for this reason older kernels will only be able to mount read-only filesystems with the free inode btree feature.<br />
<br />
The feature enabled by default when using xfsprogs 3.2.3 or later. If you need writable filesystem for older kernel, it can be disable with {{ic|1=finobt=0}} switch when formatting a XFS partition. You will need {{ic|1=crc=0}} together.<br />
# mkfs.xfs -m crc=0,finobt=0 /dev/''target_partition''<br />
or shortly ({{ic|finobt}} depends {{ic|crc}})<br />
# mkfs.xfs -m crc=0 /dev/''target_partition''<br />
<br />
=== Reverse mapping btree ===<br />
<br />
The reverse mapping btree is at its core <q>a secondary index of storage space usage that effectively provides a redundant copy of primary space usage metadata. This adds some overhead to filesystem operations, but its inclusion in a filesystem makes cross-referencing very fast. It is an essential feature for repairing filesystems online because we can rebuild damaged primary metadata from the secondary copy.</q>[https://blogs.oracle.com/linux/xfs-online-filesystem-checking]<br />
<br />
<q>The feature graduated from EXPERIMENTAL status in Linux 4.16 and is production ready. However, online filesystem checking and repair is (so far) the only use case for this feature, so it will remain opt-in at least until online checking graduates to production readiness.</q><br />
<br />
From {{man|8|mkfs.xfs|OPTIONS}}:<br />
<br />
<q>The reverse mapping btree maps filesystem blocks to the owner of the filesystem block. Most of the mappings will be to an inode number and an offset, though there will also be mappings to filesystem metadata. This secondary metadata can be used to validate the primary metadata or to pinpoint exactly which data has been lost when a disk error occurs.</q><br />
<br />
See also [https://kernelnewbies.org/Linux_4.16#XFS_reverse_mapping_and_reflink_features_are_now_stable] and [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=35a891be96f1f8e1227e6ad3ca827b8a08ce47ea] for more information.<br />
<br />
To try out this feature or future-proof new filesystems, pass the {{ic|1=-m rmapbt=1}} parameter during filesystem creation:<br />
<br />
# mkfs.xfs -m rmapbt=1 ''device''<br />
<br />
== Performance ==<br />
<br />
From [https://xfs.org/index.php/XFS_FAQ#Q:_I_want_to_tune_my_XFS_filesystems_for_.3Csomething.3E XFS FAQ]:<br />
<br />
<q>The default values already used are optimised for best performance in the first place. mkfs.xfs will detect the difference between single disk and MD/DM RAID setups and change the default values it uses to configure the filesystem appropriately.</q><br />
<br />
<q>In most cases, the only thing you need to to consider for {{ic|mkfs.xfs}} is specifying the stripe unit and width for hardware RAID devices.</q> (see [[#Stripe size and width]])<br />
<br />
{{Tip|When using the XFS filesystem on [[RAID]] devices, performance improvements may be possible by using {{ic|largeio}}, {{ic|swalloc}}, increased {{ic|logbsize}} and {{ic|allocsize}} values, etc. The following articles may provide additional details about those flags:<br />
* https://www.beegfs.io/wiki/StorageServerTuning<br />
* https://help.marklogic.com/Knowledgebase/Article/View/505/0/recommended-xfs-settings-for-marklogic-server<br />
}}<br />
<br />
<q>For mount options, the only thing that will change metadata performance considerably are the {{ic|logbsize}} and {{ic|delaylog}} mount options. Increasing {{ic|logbsize}} reduces the number of journal IOs for a given workload, and {{ic|delaylog}} will reduce them even further. The trade off for this increase in metadata performance is that more operations may be "missing" after recovery if the system crashes while actively making modifications.</q><br />
<br />
{{Tip|See {{man|5|xfs}} for details on all available mount options.}}<br />
<br />
<q>As of kernel 3.2.12, the default i/o scheduler, CFQ, will defeat much of the parallelization in XFS.</q><br />
<br />
{{Note|Arch is configured to use no I/O scheduler when a SATA or [[NVMe]] [[SSD]] is detected; this can confirmed by reading the content of {{ic|/sys/block/nvme*n*/queue/scheduler}}.}}<br />
<br />
Therefore for optimal performance, in most cases you can just follow [[#Creation|#Creation]].<br />
<br />
=== Stripe size and width ===<br />
<br />
If this filesystem will be on a striped RAID you can gain significant speed improvements by specifying the stripe size to the {{man|8|mkfs.xfs}} command.<br />
<br />
XFS can sometimes detect the geometry under software RAID, but in case you reshape it or you are using hardware RAID see [http://xfs.org/index.php/XFS_FAQ#Q:_How_to_calculate_the_correct_sunit.2Cswidth_values_for_optimal_performance how to calculate the correct sunit,swidth values for optimal performance]<br />
<br />
=== Access time ===<br />
<br />
On some filesystems you can increase performance by adding the {{ic|noatime}} mount option to the {{ic|/etc/fstab}} file. For XFS filesystems <q>the default atime behaviour is {{ic|relatime}}, which has almost no overhead compared to noatime but still maintains sane atime values. All Linux filesystems use this as the default now (since around 2.6.30), but XFS has used relatime-like behaviour since 2006, so no-one should really need to ever use noatime on XFS for performance reasons.</q>[https://xfs.org/index.php/XFS_FAQ#Q:_Is_using_noatime_or.2Fand_nodiratime_at_mount_time_giving_any_performance_benefits_in_xfs_.28or_not_using_them_performance_decrease.29.3F]<br />
<br />
See [[Fstab#atime options]] for more on this topic.<br />
<br />
=== Discard ===<br />
<br />
Despite XFS supporting async discard[https://lwn.net/Articles/787272/] since kernel 4.7[https://www.phoronix.com/scan.php?page=news_item&px=Async-Discard-Linux-4.7][https://events.static.linuxfound.org/sites/events/files/slides/discard_0.pdf], {{man|8|xfs}}{{Dead link|2020|12|13}} still recommends <q>that you use the [[fstrim]] application to discard unused blocks rather than the discard mount option because the performance impact of this option is quite severe.</q><br />
<br />
See [[Solid state drive#Periodic TRIM]].<br />
<br />
=== Defragmentation ===<br />
<br />
Although the extent-based nature of XFS and the delayed allocation strategy it uses significantly improves the file system's resistance to fragmentation problems, XFS provides a filesystem defragmentation utility (''xfs_fsr'', short for XFS filesystem reorganizer) that can defragment the files on a mounted and active XFS filesystem. It can be useful to view XFS fragmentation periodically.<br />
<br />
{{man|8|xfs_fsr}} improves the organization of mounted filesystems. The reorganization algorithm operates on one file at a time, compacting or otherwise improving the layout of the file extents (contiguous blocks of file data).<br />
<br />
==== Inspect fragmentation levels ====<br />
<br />
To see how much fragmentation your file system currently has:<br />
# xfs_db -c frag -r /dev/sda3<br />
<br />
==== Perform defragmentation ====<br />
<br />
To begin defragmentation, use the {{man|8|xfs_fsr}} command:<br />
# xfs_fsr /dev/sda3<br />
<br />
=== External XFS Journal ===<br />
<br />
Using an external log (metadata journal) on for instance a [[SSD]] may be useful to improve performance [https://docs.oracle.com/en/operating-systems/oracle-linux/8/fsadmin/xfs-main.html#extjnl-xfs]. See {{man|8|mkfs.xfs}} for details about the {{ic|logdev}} parameter.<br />
<br />
{{Warning|Beware using flash-memory may wear-out the drive. See [[Improving performance#Reduce disk reads/writes]] for SSD wear-out details.}}<br />
<br />
To reserve an external journal with a specified size when you create an XFS file system, specify the {{ic|1=-l logdev=device,size=size}} option to the {{ic|mkfs.xfs}} command. If you omit the {{ic|size}} parameter, a journal size based on the size of the file system is used. To mount the XFS file system so that it uses the external journal, specify the {{ic|1=-o logdev=device}} option to the [[mount]] command.<br />
<br />
=== Sync interval ===<br />
<br />
XFS has it dedicated [[sysctl]] variable for setting "[[Improving performance#Writeback interval and buffer size|writeback interval]]". Arch has a default value of 3000, larger value is possible to set, just keep in mind that too large may result data loss in some cases:<br />
<br />
{{hc|/etc/sysctl.d/20-xfs-sync-interval.conf|2=<br />
fs.xfs.xfssyncd_centisecs = 10000<br />
}}<br />
<br />
== Administration ==<br />
<br />
=== Resize ===<br />
<br />
{{Note|Currently, it is [https://xfs.org/index.php/Shrinking_Support not possible] to shrink XFS.}}<br />
<br />
XFS can be resized online, after the partition has been altered. Just run {{ic|xfs_growfs}} with the mount point as first parameter to grow the XFS filesystem to the maximal size possible.<br />
<br />
# xfs_growfs ''/path/to/mnt/point''<br />
<br />
=== Online Metadata Checking (scrub) ===<br />
<br />
{{Warning|This program is '''experimental''', which means that its behavior and interface could change at any time. See {{man|8|xfs_scrub}}.}}<br />
<br />
{{ic|xfs_scrub}} asks the kernel to scrub all metadata objects in the XFS filesystem. Metadata records are scanned for obviously bad values and then cross-referenced against other metadata. The goal is to establish a reasonable confidence about the consistency of the overall filesystem by examining the consistency of individual metadata records against the other metadata in the filesystem. Damaged metadata can be rebuilt from other metadata if there exists redundant data structures which are intact.<br />
<br />
[[Enable]]/[[start]] {{ic|xfs_scrub_all.timer}} to periodic check online metadata for all XFS filesystems.<br />
<br />
{{Note|One may want to [[edit]] {{ic|xfs_scrub_all.timer}}: the timer runs every Sunday at 3:10am and will be [[Systemd/Timers#Realtime_timer|triggered immediately]] if it missed the last start time, i.e. due to the system being powered off.}}<br />
<br />
=== Repair ===<br />
<br />
{{Note|<q>Unlike other Linux file systems, ''xfs_repair'' does not run at boot time, even when an XFS file system was not cleanly unmounted. In the event of an unclean unmount, ''xfs_repair'' simply replays the log at mount time, ensuring a consistent file system.</q>[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/xfsrepair]}}<br />
<br />
From [https://docs.oracle.com/en/operating-systems/oracle-linux/6/adminsg/ol_repair_xfs.html Checking and Repairing an XFS File System]:<br />
<br />
<q>If you cannot mount an XFS file system, you can use the '''xfs_repair -n''' command to check its consistency. Usually, you would only run this command on the device file of an unmounted file system that you believe has a problem. The '''xfs_repair -n''' command displays output to indicate changes that would be made to the file system in the case where it would need to complete a repair operation, but will not modify the file system directly.</q><br />
<br />
<q>If you can mount the file system and you do not have a suitable backup, you can use '''xfsdump''' to attempt to back up the existing file system data, However, the command might fail if the file system's metadata has become too corrupted.</q><br />
<br />
<q>You can use the '''xfs_repair''' command to attempt to repair an XFS file system specified by its device file. The command replays the journal log to fix any inconsistencies that might have resulted from the file system not being cleanly unmounted. Unless the file system has an inconsistency, it is usually not necessary to use the command, as the journal is replayed every time that you mount an XFS file system.</q><br />
<br />
First [[unmount]] the filesystem, then run the {{man|8|xfs_repair}} tool:<br />
<br />
# xfs_repair ''device''<br />
<br />
<q>If the journal log has become corrupted, you can reset the log by specifying the '''-L''' option '''to xfs_repair'''.</q><br />
<br />
{{Warning|<q>The ''xfs_repair'' utility cannot repair an XFS file system with a dirty log. To clear the log, mount and unmount the XFS file system. If the log is corrupt and cannot be replayed, use the {{ic|-L}} option ("force log zeroing") to clear the log, that is, {{ic|xfs_repair -L /dev/device}}. Be aware that this may result in further corruption or data loss.</q>[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/xfsrepair]}}<br />
<br />
{{Warning|<q>Resetting the log can leave the file system in an inconsistent state, resulting in data loss and data corruption. Unless you are experienced in debugging and repairing XFS file systems using '''xfs_db''', it is recommended that you instead recreate the file system and restore its contents from a backup.</q>[https://docs.oracle.com/en/operating-systems/oracle-linux/6/adminsg/ol_repair_xfs.html]}}<br />
<br />
<q>If you cannot mount the file system or you do not have a suitable backup, running '''xfs_repair''' is the only viable option unless you are experienced in using '''xfs_db'''.</q><br />
<br />
<q>'''xfs_db''' provides an internal command set that allows you to debug and repair an XFS file system manually. The commands allow you to perform scans on the file system, and to navigate and display its data structures. If you specify the '''-x''' option to enable expert mode, you can modify the data structures.</q><br />
<br />
# xfs_db [-x] device<br />
<br />
<q>For more information, see the {{man|8|xfs_db}} and {{man|8|xfs_repair}}, and the '''help''' command within '''xfs_db'''.</q><br />
<br />
See also [https://xfs.org/index.php/XFS_FAQ#Q:_Which_factors_influence_the_memory_usage_of_xfs_repair.3F Which factors influence the memory usage of xfs_repair?] and [https://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-repair.html XFS Repair].<br />
<br />
== Troubleshooting ==<br />
<br />
=== Root file system quota ===<br />
<br />
XFS quota mount options ({{ic|uquota}}, {{ic|gquota}}, {{ic|prjquota}}, etc.) fail during re-mount of the file system. To enable quota for root file system, the mount option must be passed to initramfs as a [[kernel parameter]] {{ic|1=rootflags=}}. Subsequently, it should not be listed among mount options in {{ic|/etc/fstab}} for the root ({{ic|/}}) filesystem.<br />
<br />
{{Note|There are some differences of XFS Quota compared to standard Linux [[Disk quota]], this article http://inai.de/linux/adm_quota may be worth reading.}}<br />
<br />
=== xfs_scrub_all fails if user "nobody" can not access the mountpoint ===<br />
<br />
When running {{ic|xfs_scrub_all}}, it will launch {{ic|xfs_scrub@.service}} for each mounted XFS file system. The service is run as user {{ic|nobody}}, so if {{ic|nobody}} can not navigate to the directory, it will fail with the error:<br />
<br />
xfs_scrub@''mountpoint''.service: Changing to the requested working directory failed: Permission denied<br />
xfs_scrub@''mountpoint''.service: Failed at step CHDIR spawning /usr/bin/xfs_scrub: Permission denied<br />
xfs_scrub@''mountpoint''.service: Main process exited, code=exited, status=200/CHDIR<br />
<br />
To allow the service to run, change the [[permissions]] of the mountpoint so that user {{ic|nobody}} has execute permissions.<br />
<br />
== See also ==<br />
<br />
* [http://xfs.org/index.php/XFS_FAQ XFS FAQ]<br />
* [http://xfs.org/index.php/Improving_Metadata_Performance_By_Reducing_Journal_Overhead Improving Metadata Performance By Reducing Journal Overhead]<br />
* [[wikipedia:XFS|XFS Wikipedia Entry]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=File_manager_functionality&diff=607863File manager functionality2020-04-25T04:22:03Z<p>Anonymous user: AUR package obexftp replaces obexfs; updated link</p>
<hr />
<div>[[Category:File managers]]<br />
[[es:File manager functionality]]<br />
[[ja:ファイルマネージャの機能]]<br />
[[pt:File manager functionality]]<br />
[[ru:File manager functionality]]<br />
[[zh-hans:File manager functionality]]<br />
{{Related articles start}}<br />
{{Related|List of applications/Utilities#File managers}}<br />
{{Related|Window manager}}<br />
{{Related|Desktop environment}}<br />
{{Related|Udisks}}<br />
{{Related articles end}}<br />
This article outlines the additional software packages necessary to expand the features and functionality of file managers, particularly where using a [[window manager]] such as [[Openbox]]. The ability to access partitions and removable media without a password - if affected - has also been provided.<br />
<br />
== Overview ==<br />
{{note|When installed, the software packages listed below will automatically be sourced by all installed - and capable - file managers, and within all desktop environments and/or window managers.}}<br />
<br />
A file manager alone will not provide the features and functionality that users of full desktop environments such as [[Xfce]] or [[KDE]] will be accustomed to. This is because additional software packages will be required to enable a given file manager to:<br />
<br />
* Display and access other partitions<br />
* Display, mount, and access removable media (e.g. USB sticks, optical discs, and digital cameras)<br />
* Enable networking / shared networks with other installed operating systems<br />
* Enable thumbnailing<br />
* Archive and extract compressed files<br />
* Automatically mount removable media<br />
<br />
When a file manager has been installed as part of a full desktop environment, most of these packages will usually have been installed automatically. Consequently, where a file manager has been installed for a standalone window manager then - as is the case with the window manager itself - only a basic foundation will be provided. The user must then determine the nature and extent of the features and functionality to be added.<br />
<br />
== Additional features ==<br />
<br />
{{Expansion|Mention KDE file managers which use KIO instead of GVFS for mounting and other functionality}}<br />
<br />
Particularly where using - or intending to use - a lightweight environment, it should be noted that more file manager features and functions will usually mean the use of more memory. See also [[udisks]].<br />
<br />
=== Mounting ===<br />
<br />
* The Gnome virtual filesystem ({{pkg|gvfs}}) provides mounting and trash functionality. GVFS uses {{pkg|udisks2}} for mounting functionality and is the recommended solution for most file managers.<br />
<br />
Folders used by GVFS:<br />
<br />
* {{ic|/usr/lib/gvfs/}} contains {{ic|gvfsd-*}} files, where {{ic|*}} refers to the various supported file system types.<br />
* {{ic|/usr/share/gvfs/mounts/}} contains mount rules for GVFS. To use one's own rules, create {{ic|~/.gvfs/mounts}}.<br />
<br />
Additional packages for installation usually follows the [https://www.archlinux.org/packages/?q=gvfs- gvfs-* pattern], for example:<br />
<br />
* {{pkg|gvfs-mtp}}: media players and mobile devices that use [[MTP]]<br />
* {{pkg|gvfs-gphoto2}}: digital cameras and mobile devices that use [[Wikipedia:Picture Transfer Protocol|PTP]]<br />
* {{pkg|gvfs-afc}}: Apple mobile devices<br />
<br />
==== File manager daemon ====<br />
<br />
The first is to simply autostart or run the installed file manager in [[daemon]] mode (i.e. as a background process). For example, when using [[PCManFM]] in [[Openbox]], the following command would be added to the {{ic|~/.config/openbox/autostart}} file:<br />
<br />
pcmanfm -d &<br />
<br />
It will also be necessary to configure the file manager itself in respect to volume management (e.g. what it will do and what applications will be launched when certain file types are detected upon mounting).<br />
<br />
{{tip|Most desktop environments will start the file manager in daemon mode by default so manual intervention will not be required in these use cases.}}<br />
<br />
==== Standalone ====<br />
<br />
Another option is to install a separate [[List of applications/Utilities#Mount_tools|mount application]]. The advantages of using this are:<br />
<br />
* Less memory may be required to run as a background / [[daemon]] process than a file manager<br />
* It is not file manager specific, allowing them to be freely added, removed, and switched<br />
* {{pkg|gvfs}} may not have to be installed for mounting, lessening memory use.<br />
<br />
=== Networks ===<br />
<br />
{{note|It will also be necessary to enable [[Bluetooth]] and/or networking with [[Samba|Windows]] to enable the relevant file manager functionality in turn.}}<br />
<br />
* {{AUR|obexftp}}: Bluetooth device mounting and file transfers (see [[Bluetooth]])<br />
* {{pkg|gvfs-smb}}: Windows File and printer sharing for '''Non-KDE''' desktops (see [[Samba]])<br />
* {{pkg|kdenetwork-filesharing}}: Windows File and printer sharing for [[KDE]] (see [[Samba#KDE]])<br />
* {{pkg|sshfs}}: FUSE client based on the SSH File Transfer Protocol<br />
<br />
==== Windows access ====<br />
<br />
If using {{pkg|gvfs-smb}}, to access Windows/CIFS/Samba file shares first open the file manager, and enter the following into the path name, changing {{ic|''server_name''}} and {{ic|''share_name''}} as appropriate:<br />
<br />
smb://''server_name''/''share_name''<br />
<br />
==== Apple access ====<br />
<br />
AFP support is included in {{pkg|gvfs}}. To access AFP files first open the file manager, and enter the following into the path name, changing {{ic|''server_name''}} and {{ic|''share_name''}} as appropriate:<br />
<br />
afp://''server_name''/''share_name''<br />
<br />
=== Thumbnail previews ===<br />
<br />
Some file managers may not support thumbnailing, even when the packages listed have been installed. Check the documentation for the relevant file manager.<br />
<br />
You may not see thumbnails for remote storage, including [[MTP]]. Check your file manager's settings, e.g. for [[Thunar]] one has to set "Show thumbnails: always".<br />
<br />
==== File managers other than Dolphin and Konqueror ====<br />
<br />
These packages apply to most file managers, such as [[PCManFM]], [[SpaceFM]], [[Thunar]] and {{AUR|xfe}}. The exceptions are Dolphin and Konqueror, used in the [[KDE]] desktop environment.<br />
<br />
* {{Pkg|tumbler}}: Image files. This '''<u>must</u>''' also be installed to expand thumbnailing capabilities to other file types<br />
* {{Pkg|poppler-glib}}: Adobe {{ic|.pdf}} files<br />
* {{Pkg|ffmpegthumbnailer}}: Video files<br />
* {{Pkg|freetype2}}: Font files<br />
* {{Pkg|libgsf}}: {{ic|.odf}} files<br />
* {{Pkg|raw-thumbnailer}}: {{ic|.raw}} files<br />
* {{Pkg|totem}}: Video files and tagged audio files ([[GNOME Files]], and Caja only)<br />
* {{Pkg|evince}} or {{Pkg|atril}}: {{ic|.pdf}} files<br />
* {{Pkg|comicx}}{{Broken package link|package not found}}: {{ic|.cbr}} comicbook archives<br />
<br />
==== Dolphin and Konqueror (KDE) ====<br />
<br />
See [[Dolphin#File previews]].<br />
<br />
=== Archive files ===<br />
<br />
To extract compressed files such as tarballs ({{ic|.tar}} and {{ic|.tar.gz}}) within a file manager, it will first be necessary to install a GUI archiver such as {{pkg|file-roller}}. See [[List of applications/Utilities#Archiving and compression tools]] for further information. An additional package such as {{pkg|unzip}} must also be installed to support the use of zipped {{ic|.zip}} files. Once an archiver has been installed, files in the file manager may consequently be right-clicked to be archived or extracted.<br />
<br />
Archive files are mounted under folder {{ic|1=/run/user/$(id -u)/gvfs/}} with automatically created mount point that contains full path to the file in its name where all {{ic|/}} are replaced with {{ic|%252F}} and {{ic|:}} replaced with {{ic|%253A}} [https://www.owasp.org/index.php/Double_Encoding hex codes].<br />
<br />
Example of path to the mounted archive {{ic|/full/path/to/file/name.zip}}<br />
<br />
/run/user/$(id -u)/gvfs/archive:host=file%253A%252F%252F%252F'''full%252Fpath%252Fto%252Ffile%252Fname.zip'''<br />
<br />
=== NTFS read/write support ===<br />
<br />
See the [[NTFS-3G]] article.<br />
<br />
=== Desktop notifications ===<br />
<br />
Some file managers make use of [[desktop notifications]] to confirm various events and statuses like mounting, unmounting and ejection of removable media.<br />
<br />
=== Enable Trash functionality on different filesystems (external drives) ===<br />
<br />
{{Accuracy|Shouldn't these folders be created automatically? When is it necessary to create them manually?}}<br />
<br />
Make [http://www.ramendik.ru/docs/trashspec.html trash directories]{{Dead link|2020|03|29|status=404}} {{ic|.Trash-''<uid>''}} for each users on the top level of filesystems:<br />
<br />
For example (mount point: /media/sdc1, uid: 1000, gid: 1000):<br />
# mkdir /media/sdc1/.Trash-1000<br />
<br />
and {{ic|chown}} them:<br />
# chown 1000:1000 /media/sdc1/.Trash-1000<br />
<br />
== Troubleshooting ==<br />
<br />
=== "Not Authorized" when attempting to mount drives ===<br />
<br />
File managers using [[udisks]] require a [[polkit]] authentication agent. See [[polkit#Authentication agents]].<br />
<br />
=== Password required to access partitions ===<br />
<br />
The need to enter a password to access other partitions or mounted removable media will likely be due to the default permission settings of {{pkg|udisks2}}. More specifically, permission may be set to the root account only, not the user account. See [[Udisks#Configuration]] for details.<br />
<br />
=== Directories are not opened in the file manager ===<br />
You may find that an application that is not a file manager, [[Audacious]] for example, is set as the default application for opening directories — an application that specifies that it can handle the {{ic|inode/directory}} MIME type in its desktop entry can become the default. You can query the default application for opening directories with the following command:<br />
<br />
$ xdg-mime query default inode/directory<br />
<br />
To ensure that directories are opened in the file manager, run the following command:<br />
<br />
$ xdg-mime default ''my_file_manager''.desktop inode/directory<br />
<br />
where {{ic|''my_file_manager''.desktop}} is the desktop entry for your file manager — {{ic|org.gnome.Nautilus.desktop}} for example.<br />
<br />
{{Tip|If you want the change to be system-wide, run the command above as root or create/edit the following file:<br />
{{hc|/usr/share/applications/mimeapps.list|2=<br />
[Default Applications]<br />
inode/directory=''my_file_manager''.desktop<br />
}}}}<br />
<br />
==== D-Bus ====<br />
<br />
Some other applications instead use the {{ic|org.freedesktop.FileManager1}} D-Bus protocol (e.g. [[Firefox]]). The following shows a list of currently installed services supporting this protocol:<br />
<br />
$ grep -R FileManager1 /usr/share/dbus-1/services<br />
<br />
To what file manager is opened, copy the file to {{ic|$XDG_DATA_HOME/dbus-1/services}}. Additionally, before the changes become active, kill the program currently implementing the D-Bus service.</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Mouse_buttons&diff=596108Mouse buttons2020-01-26T02:57:00Z<p>Anonymous user: removed extraneous pipes from a couple of external urls</p>
<hr />
<div>[[Category:Mice]]<br />
[[Category:X server]]<br />
[[ja:全てのマウスボタンを動作させる]]<br />
[[zh-hans:Mouse buttons]]<br />
[[zh-hant:Mouse buttons]]<br />
{{style|style still to fix, unclear sections}}<br />
{{Accuracy|Configuration depends on the input driver, libinput can be used in [[Xorg]]. This article assumes that evdev is used instead, which is no longer the default.}}<br />
{{Related articles start}}<br />
{{Related|Mouse acceleration}}<br />
{{Related|Mouse polling rate}}<br />
{{Related articles end}}<br />
<br />
This article describes how to configure a mouse with more than 3 buttons.<br />
<br />
== Prerequisites ==<br />
<br />
{{Note|These are helper comments, and can be ignored if you are looking for nothing but raw information. Due to community feedback, I decided to add a bit more commenting that describes what's going on "behind the scenes" with this configuration.}}<br />
<br />
We will be using the {{ic|evdev}} driver for Xorg. EVentDEVice is an advanced driver for USB input devices which offers much greater power over the standard Xorg {{ic|mouse}} driver. It is also more "direct" than the {{ic|mouse}} driver, allowing lower latency and less translation issues.<br />
<br />
*Note that {{Ic|evdev}} is both a kernel module and an Xorg input driver. All the Arch kernels come with the {{Ic|evdev}} module.<br />
<br />
With the newer Xorg 11R7.0 it seems only the following changes to {{ic|/etc/X11/xorg.conf}} need to be made with nothing else needing to be done.<br />
<br />
== Finding the mouse name ==<br />
<br />
{{Note|To get accurate information it is sometimes required to execute this command from a boot where no Xorg or mouse drivers have been loaded.}}<br />
<br />
The first step is to find the name of the mouse / mice. To do this, execute the following command:<br />
$ egrep "Name|Handlers" /proc/bus/input/devices | egrep -B1 'Handlers.*mouse'<br />
<br />
This should output something like this:<br />
N: Name="Logitech USB Gaming Mouse"<br />
H: Handlers=mouse0 event0 ts0 <br />
<br />
Or this if you have more than one mouse:<br />
N: Name="Kensington Kensington Expert Mouse Wireless"<br />
H: Handlers=event0 mouse0 <br />
--<br />
N: Name="Logitech USB Receiver"<br />
H: Handlers=kbd event2 mouse1<br />
<br />
The mouse is the one that has the {{Ic|<nowiki>Handlers=mouse0</nowiki>}}, so the name of the device is {{ic|Logitech USB Gaming Mouse}}.<br />
<br />
{{Note|My mouse is a Logitech G5; your mouse is probably different, and therefore the {{Ic|Name}} will be different.}}<br />
<br />
Copy the name of the device, and open up {{ic|/etc/X11/xorg.conf}}.<br />
<br />
== Configuring Xorg ==<br />
<br />
Now, we need an entry in {{ic|xorg.conf}} that tells X how to use this mouse. It should look something like this:<br />
<br />
Section "InputDevice"<br />
Identifier "Evdev Mouse"<br />
Driver "evdev"<br />
Option "Name" "Logitech USB Gaming Mouse"<br />
Option "evBits" "+1-2"<br />
Option "keyBits" "~272-287"<br />
Option "relBits" "~0-2 ~6 ~8"<br />
Option "Pass" "3"<br />
Option "CorePointer"<br />
EndSection<br />
<br />
Replace the {{Ic|Name}} option with the name you copied from above. You may also omit the {{ic|CorePointer}} option if you use multiple mice or experience errors when attempting to load Xorg. The other options are all basic mouse configurations for evdev and should work with most mice.<br />
<br />
Next, we need to tell X to use the mouse, so look in {{ic|xorg.conf}} for {{Ic|ServerLayout}}.<br />
<br />
Modify the {{ic|ServerLayout}} section to use "Evdev Mouse" as the device. When you are done, it should look something like this:<br />
<br />
Section "ServerLayout"<br />
Identifier "Default Layout"<br />
Screen 0 "Monitor0" 0 0<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
InputDevice "Evdev Mouse" "CorePointer"<br />
EndSection<br />
<br />
The only thing you should change in the layout is the {{ic|InputDevice}} line that refers to your mouse.<br />
<br />
That should be all that is required.<br />
<br />
* Edit by: xxsashixx <br />
This is for Logitech G5 Mouse users. I have not tested this for other mice, but if you do not add this, your mouse ''MAY'' not work.<br />
If you do not need to add this, then do not.<br />
<br />
Put <br />
Option "Device" "/dev/input/event[#]"<br />
in the {{Ic|InputDevice}} section or else the mouse will not be picked up.<br />
<br />
[#] = The number you got from:<br />
egrep "Name|Handlers" /proc/bus/input/devices<br />
<br />
* Edit by: bapman<br />
With the above method, your mouse might not to work after reboot (event number changes). To fix this, you can use symlinks in {{ic|/dev/input/by-id}}. For example:<br />
Option "Device" "/dev/input/by-id/usb-Logitech_USB_Receiver-event-mouse"<br />
To find the appropriate id, do:<br />
ls /dev/input/by-id/<br />
<br />
* Edit by: Diamir<br />
{{Out of date|The udev rule will not work, the {{ic|1=SYSFS=}} and {{ic|1=BUS=}} keys have been removed [https://mailman.archlinux.org/pipermail/arch-dev-public/2011-October/021795.html].}}<br />
With a Desktop type keyboard-mouse, this does not work because there is only one USB attachment and {{ic|/dev/input/by-id}} contains only the keyboard.<br />
In this case, we can create a udev rule to get a consistent link.<br />
The following rules create the link {{ic|/dev/input/usbmouse}} which points on the correct event entry:<br />
KERNEL=="event[0-9]*", BUS=="usb", SYSFS{modalias}=="usb:v045Ep008Ad7373dc00dsc00dp00ic03isc00ip00", SYMLINK+="input/usbmouse"<br />
<br />
You can call it {{ic|z10_usb_mouse.rules}} and put it in {{ic|/etc/udev/rules.d}}<br />
<br />
The cryptic value to use for {{ic|SYSFS(modalias)}} can be gotten in the following way:<br />
<br />
enter the command {{ic|cat /proc/bus/input/devices}}<br />
<br />
You will find the keyboard and the mouse and see event4 is the mouse in this case: <br />
<br />
I: Bus=0003 Vendor=045e Product=008a Version=0111<br />
N: Name="Microsoft Microsoft Wireless Optical Desktop� 1.00"<br />
P: Phys=usb-0000:00:10.0-2/input0<br />
S: Sysfs=/devices/pci0000:00/0000:00:10.0/usb1/1-2/1-2:1.0/input/input3<br />
U: Uniq=<br />
H: Handlers=kbd event0 <br />
B: EV=120013<br />
B: KEY=1000000000007 ff800000000007ff febeffdff3cfffff fffffffffffffffe<br />
B: MSC=10<br />
B: LED=107<br />
<br />
I: Bus=0003 Vendor=045e Product=008a Version=0111<br />
N: Name="Microsoft Microsoft Wireless Optical Desktop� 1.00"<br />
P: Phys=usb-0000:00:10.0-2/input1<br />
S: Sysfs=/devices/pci0000:00/0000:00:10.0/usb1/1-2/1-2:1.1/input/input4<br />
U: Uniq=<br />
H: Handlers=kbd mouse0 event1 <br />
B: EV=17<br />
B: KEY=3000000000000 0 1f0000 f8400244000 601878d800d448 1e000000000000 0<br />
B: REL=7c3<br />
B: MSC=10<br />
<br />
So I enter the following command (adapt event # to your particular case):<br />
{{bc|1=udevinfo -a -p $(udevinfo -q path -n /dev/input/event4) &#124; grep modalias<br />
ATTRS{modalias}=="input:b0003v045Ep008Ae0111-0,1,2,4,k71,72,73,74,83,86,8A,8C,8E,8F,9B,9C,9E,9F,A3,A4,A5,A6,AB,AC,B5,B6,CE,D2,D5,E2,E7,E8,E9,EA,EB,110,111,112,113,114,1B0,1B1,r0,1,6,7,8,9,A,am4,lsfw"<br />
ATTRS{modalias}=="usb:v045Ep008Ad7373dc00dsc00dp00ic03isc00ip00"<br />
ATTRS{modalias}=="pci:v00001106d00003038sv00001043sd000080EDbc0Csc03i00"}}<br />
<br />
grab the ATTRS which becomes with usb: to complete "SYSFS{modalias}== " entry<br />
<br />
And finally, use {{ic|usbmouse}} as the Device Option in {{ic|xorg.conf}}:<br />
Option "Device" "/dev/input/usbmouse"<br />
<br />
== Post Configuration ==<br />
<br />
=== Google Chrome ===<br />
<br />
It works. Horizontal scroll works out of the box - push the scroll wheel left or right. Thumb buttons also work as next/previous page.<br />
<br />
=== Opera ===<br />
<br />
It works. Note: buttons can be mapped to functions easily in {{Ic|Preferences > Advanced > Shortcuts > Mouse set-up}}. For example, to bind ''button 8'' to ''back'':<br />
<br />
# Navigate to mouse set-up and expand the ''Application'' drop-down<br />
# In the input column, type: ''Button 8''<br />
# In the actions column, type: ''Back''<br />
<br />
=== Firefox ===<br />
<br />
==== Horizontal scroll ====<br />
<br />
To get back and forward enabled, instead of scroll left/right, change the following settings in {{ic|about:config}}:<br />
<br />
mousewheel.default.action.override_x 2<br />
mousewheel.default.delta_multiplier_x -100<br />
<br />
=== Thumb Buttons - forward and back ===<br />
<br />
{{Note | The following maybe redundant depending on whether xev detects all your mouse buttons correctly (functions can be mapped on a per-app basis) or you want to change the default behaviour.}}<br />
<br />
To do this we need to map keystrokes to the desired mouse buttons and install {{AUR|xvkbd}} and {{Pkg|xbindkeys}}.<br />
<br />
In most modern applications which use back/forward features, XF86Back is mapped to back and XF86Forward is mapped to forward by default. On most MX mice the thumb buttons resolve to 8 & 9. If your mouse is different, check button numbers using xev and replace the numbers used in the example (b:8 & b:9).<br />
<br />
So if you have an MX mouse you would create the file {{ic|~/.xbindkeysrc}}, containing:<br />
<br />
# Mouse Buttons<br />
"xvkbd -xsendevent -text "\[XF86Back]""<br />
m:0x0 + b:8 <br />
"xvkbd -xsendevent -text "\[XF86Forward]""<br />
m:0x0 + b:9<br />
<br />
Now to test... Run the following command and if it works as expected remember to add xbindkeys to {{ic|.xinitrc}} or somewhere where it will be executed each time X starts. Also, this should work with Epiphany and Konqueror without any additional configuration or use of [[IMWheel]].<br />
xbindkeys<br />
<br />
Since xvkbd isn't available from the official repositories here’s another example using [https://www.hoopajoo.net/projects/xautomation.html xte] from the {{Pkg|xautomation}} package<br />
<br />
# Mouse Buttons<br />
"xte "key XF86Back""<br />
m:0x0 + b:8<br />
"xte "key XF86Forward""<br />
m:0x0 + b:9<br />
<br />
<br />
The above info and more help may be found in the [[MX1000 Buttons]] wiki.<br />
<br />
=== xmodmap tweaking ===<br />
{{Note | None of the below is necessary with evdev, but it's here for non-evdev users. Unless something does not work on your mouse, ignore this whole section!}}<br />
<br />
It may prove to be more comfortable for some to change the ordering of button codes, as the case may be for left-handed people. Depending on the environment you use, the button codes can be configured in two different ways. If you use {{ic|.xinitrc}} to load X, then add this to {{ic|.xinitrc}} (change for the number of buttons you have):<br />
xmodmap -e "pointer = 1 2 3 6 7 8 9 10 11 12 4 5" &<br />
<br />
Note that buttons 4 and 5 '''must go on the end''' or else your scroll wheel will not work.<br />
<br />
If you use GDM/XDM/KDM instead of {{ic|.xinitrc}}, then create the file {{ic|~/.Xmodmap}} and add this to it (change for the number of buttons you have):<br />
pointer = 1 2 3 6 7 8 9 10 11 12 4 5<br />
<br />
* GDM/XDM/KDM read the {{ic|~/.Xmodmap}} file if it's present, whereas {{Ic|startx}} does not. Another solution would be to add this to your {{ic|~/.xinitrc}}: {{Ic|xmodmap ~/.Xmodmap}}. This would allow you to use *DM and {{Ic|startx}} while only having to edit {{ic|~/.Xmodmap}} when you need to make changes.<br />
<br />
You may have to play with these numbers a bit to get your desired behavior. Some mice use buttons 6 and 7 for the scroll wheel, in which case those buttons would have to be the last numbers. Keep playing with it until it works!<br />
<br />
You can also check to see which buttons are being read with a program called ''xev'', which is part of XOrg. When ''xev'' is run, it will show a box on your desktop that you can put the cursor into and click buttons to find out what buttons have been mapped.<br />
<br />
=== xinput tweaking ===<br />
<br />
For debugging purposes {{ic|xinput}} can be used as it is able to change the button map on the fly in userspace. The following line corrects the button mapping (there have been reported cases with Logitech M505/B605 mice and possibly others) so the received events are mapped correctly:<br />
<br />
$ xinput set-button-map "$(xinput | awk -F'[=]' '/Logitech M505\/B605/ {print $2}' | awk '{print $1}')" 1 2 3 4 5 8 9<br />
<br />
== Alternate methods ==<br />
<br />
{{Warning|xf86-input-mouse is [https://gitlab.freedesktop.org/xorg/driver/xf86-input-mouse not intended for Linux systems]}}<br />
<br />
The following methods use standard X.org mouse input driver ({{Pkg|xf86-input-mouse}}{{Broken package link|package not found}}) instead of using the evdev driver. It works on mice up to 7 buttons. Edit {{ic|/etc/X11/xorg.conf}} InputDevice section for your mouse to reflect the changes shown below. Then restart X and you are done.<br />
<br />
=== IMPS/2 ===<br />
<br />
This has been tested on an IntelliMouse Explorer 3.0. Your mileage may vary, as this does not seem to work for all said mice.<br />
<br />
Driver "mouse"<br />
Option "Protocol" "IMPS/2"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
<br />
=== ExplorerPS/2 ===<br />
<br />
This has been tested on a Logitech MX400 and MX518 and should work on any mx series mouse with up to 7 buttons. <br />
<br />
Driver "mouse"<br />
Option "Protocol" "ExplorerPS/2"<br />
Option "Device" "/dev/input/mice"<br />
Option "Buttons" "7"<br />
Option "ZAxisMapping" "4 5"<br />
Option "ButtonMapping" "1 2 3 6 7"<br />
<br />
Settings from above also works for Microsoft InteliMouse Explorer 3.0 that connects through USB.<br />
<br />
=== Auto ===<br />
<br />
This has been tested on a Logitech MX400 and should work on most mice with up to 7 buttons.<br />
<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Buttons" "7"<br />
Option "ZAxisMapping" "4 5"<br />
Option "ButtonMapping" "1 2 3 6 7"<br />
<br />
This has been tested to work with Logitech MX1000.<br />
<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "Emulate3Buttons" "no"<br />
Option "Buttons" "12"<br />
Option "ZAxisMapping" "4 5 7 6 8 9"<br />
<br />
=== easystroke ===<br />
<br />
[http://sourceforge.net/projects/easystroke/ easystroke is a gesture-recognition application for X11]<br />
<br />
easystroke is a mouse gesture application, but it can be used to manage mouse buttons as well. Its main advantage over btnx is that it's more versatile. On the other hand, it's user-based, so any user has to configure it to reflect his own needs. <br />
<br />
In order to set up easystroke to manage your extra mouse buttons, you will need to do this (example features Back/Forward mouse buttons) :<br />
run:<br />
easystroke -g<br />
Go to Preferences tab > Additional buttons > Add, and add any special button.<br />
{{Note|In case of easystroke does not automatically detect mouse buttons, you can specify it manually. Button identifiers (numbers) can be viewed by xev.}}<br />
<br />
Go to ''Action tab > Add action'', give the new action a name, as Type choose "Key", as Details set "Alt+Left" for Back button, "Alt+Right" for Forward button, as Stroke click the proper mouse button (confirm if a warning is displayed), and voilà! Your mouse button is configured.<br />
<br />
== Binding keyboard to mouse buttons ==<br />
<br />
=== xvkbd and xbindkeys ===<br />
<br />
{{Style|Duplicates [[xbindkeys]], assumes xvkbd instead of linking [[Xorg#Automation]].}}<br />
<br />
Let us say we want to bind some mouse buttons to keyboard ones. The problem we will encounter is that we do not know how to emulate a key press. Here comes in handy {{AUR|xvkbd}}. We can use it along with {{Pkg|xbindkeys}}. <br />
<br />
$ xbindkeys --defaults >> ~/.xbindkeysrc<br />
$ xbindkeys<br />
<br />
To restart xbindkeys type:<br />
<br />
$ pkill -f xbindkeys<br />
$ xbindkeys <br />
<br />
Here is example {{Ic|~/.xbindkeysrc}} config:<br />
<br />
"xvkbd -text "\[F8]""<br />
m:0x0 + b:8<br />
"xvkbd -text "\[Shift]\[Left]""<br />
m:0x0 + b:9<br />
"xvkbd -text "\[Shift]\[Right]""<br />
m:0x0 + b:10<br />
"xvkbd -text 2"<br />
m:0x0 + b:11<br />
"xvkbd -text 3"<br />
m:0x0 + b:12<br />
<br />
If you want to check your mouse buttons number use xev. Do not forget to type capital letters in xvkbd -text usage and to escape opening bracket with \ or you get simply [Shift] written.<br />
<br />
Here is an example for xbindkeys to enable x selection paste(third click pasting), you need both xsel and xvkbd installed, What it does it executes that command whenever button 13 of the mouse is pressed (in ~/.xbindkeysrc) :<br />
<br />
"xvkbd -no-jump-pointer -text "\D1$(xsel)" 2>/dev/null"<br />
b:13<br />
<br />
This is an example for a keybinding for Meta+M:<br />
<br />
"xvkbd -text "\{+Super_L}m\{-Super_L}""<br />
b:10<br />
<br />
=== evrouter ===<br />
<br />
{{Expansion|What "different methods of reading input"?}}<br />
<br />
Some programs, especially games, use different methods of reading input, so another program is needed: {{AUR|evrouter}}.<br />
<br />
For the {{ic|evrouter}} command to be able to read the input devices, it will have to be run in the {{ic|input}} group (or as root). This can be achieved by adding yourself to that group:<br />
<br />
# gpasswd -a ''user'' input<br />
<br />
Now we can use the {{ic|--dump}} option to display what the button to be changed is called:<br />
<br />
{{Tip|For USB devices udev will usually create symbolic links in {{ic|/dev/input/by-id/}} which can be used to refer to specific devices.}}<br />
<br />
{{hc|$ evrouter --dump /dev/input/event*|device 0: /dev/input/event0: AT Translated Set 2 keyboard<br />
device 1: /dev/input/event1: Microsoft Microsoft Trackball Explorer®<br />
device 2: /dev/input/event2: Sleep Button<br />
device 3: /dev/input/event3: Power Button<br />
device 4: /dev/input/event4: Power Button<br />
device 5: /dev/input/event5: PC Speaker<br />
Display name: :0.0<br />
}}<br />
<br />
Now press the buttons that you wish to change:<br />
<br />
Window "(null)": # Window title<br />
# Window "(null)": # Resource name<br />
# Window "(null)": # Class name<br />
"Microsoft Trackball Explorer®" "/dev/input/event1" none key/275 "fill this in!"<br />
<br />
Window "(null)": # Window title<br />
# Window "(null)": # Resource name<br />
# Window "(null)": # Class name<br />
"Microsoft Trackball Explorer®" "/dev/input/event1" none key/276 "fill this in!"<br />
<br />
The line that ends with "fill this in!" can be copied into the config file which by default is {{ic|~/.evrouterrc}}. For example, using the X11 key event emulator built into evrouter:<br />
<br />
{{hc|~/.evrouterrc|"Microsoft Trackball Explorer®" "/dev/input/event*" any key/275 "XKey/1"<br />
"Microsoft Trackball Explorer®" "/dev/input/event*" any key/276 "XKey/2"}}<br />
<br />
The 'event1' was changed to 'event*' in case udev gives it a different device number at boot. The 'none' was changed to 'any' so that the rule works even if any modifier keys are pressed when the button is pressed. To determine the key codes (in brackets) you can use<br />
<br />
# xmodmap -pk<br />
<br />
See {{man|1|evrouter|url=}} for a full explanation of the fields.<br />
<br />
{{Tip|Rules can apply only to specific windows, see {{man|1|evrouter|url=}} for details.}}<br />
<br />
After setting up the config file, run it as a daemon:<br />
<br />
$ evrouter /dev/input/event*<br />
<br />
To stop the daemon:<br />
<br />
$ evrouter -q<br />
$ rm -f /tmp/.evrouter*<br />
<br />
{{Note|{{ic|evrouter}} will fail to start if the {{ic|/tmp/.evrouter:0.0}} file exists but does not delete it when exiting, so you will have to delete it yourself. }}<br />
<br />
=== Binding + and - in Logitech G5 mouse ===<br />
<br />
If you want to bind the buttons {{ic|+}} and {{ic|-}} in G5/7 mouse, which normally changes DPI, you have to use {{Ic|g5hack}} [http://piie.net/temp/g5_hiddev.c] released by a lomoco author.<br />
<br />
<nowiki>wget http://piie.net/temp/g5_hiddev.c</nowiki><br />
gcc -o g5hack g5_hiddev.c<br />
./g5hack /dev/usb/hiddev0 3<br />
<br />
This will change your DPI to 2000, light the 1st LED and disables DPI on-the-fly changing, so you can use it with evrouter. If you would use it frequently I suggest you to copy it to the {{ic|/usr/bin}} directory:<br />
<br />
# cp g5hack /usr/bin/<br />
<br />
If you want to bind your {{ic|+}} and {{ic|-}} buttons you must copy the line at the bottom (one with the comment '"-" button does not function anymore' above) to the mode you will be using, like, for example, under the "case 3:" you can put it on the line with the comment 'turn on third led' above (deleting the old one before of course).<br />
<br />
For the newest G5 mouse which is reported as "product 0xc049" original hack does not work. You have to simply change the {{ic|#define MOUSE_G5 0xc041}} to {{ic|#define MOUSE_G5 0xc049}} and recompile.<br />
<br />
You can execute the g5hack tool at system start up using systemd unit. See [[Systemd#Writing unit files]] for detail.<br />
<br />
== User tools ==<br />
<br />
{{pkg|piper}} is a graphical user interface to configure gaming mice, works with Wayland. In order to work with your mouse, it must be in the [https://github.com/libratbag/libratbag/tree/master/data/devices list of supported devices].<br />
<br />
[https://github.com/mathportillo/wayland-mouse-mapper wayland-mouse-mapper] is a small script for mapping mouse buttons to keystrokes on Wayland.<br />
<br />
[[IMWheel]] provides configurable mouse wheel and button mapping. It can be configured globally or for individual processes.<br />
<br />
Sample {{ic|~/.imwheelrc}} to enable back/forward thumb buttons for all applications and increased scroll speed in Chromium:<br />
"^chromium$"<br />
None, Up, Button4, 3<br />
None, Down, Button5, 3<br/><br />
".*"<br />
None, Thumb1, Alt_L|Left<br />
None, Thumb2, Alt_L|Right<br />
<br />
{{AUR|lomoco}} for Logitech MX mice will help you set the proper resolution, enable or disable smart scroll (with boot time support too!), etc.<br />
<br />
Be sure to look at {{ic|/etc/udev/lomoco_mouse.conf}} and set up the the options you want to be automatically applied when the mouse gets loaded by [[udev]].<br />
{{Note|The lomoco package may be out of date. There is a hack for newer Logitech mice: [http://piie.net/temp/g5_hiddev.c]}}<br />
<br />
==Device Specific Configuration Files==<br />
<br />
=== Logitech G600===<br />
It is known that in xorg-server 1.18.0-3 side buttons of G600 are not recognized as a separate keyboard device, but another mouse which causes strange (moving mouse cursor to an edge of screen when one of main mouse buttons are clicked) behavior.<br />
To force xorg to recognize them as a keyboard buttons, add following section to your {{ic|/etc/X11/xorg.conf}}:<br />
<br />
Section "InputClass"<br />
Identifier "G600 misconfiguration fix"<br />
MatchProduct "G600"<br />
# Match just the keyboard section of the G600<br />
MatchIsKeyboard "true"<br />
# evdev assumes it's a mouse when it sees the absolute axis. Stop that from happening. <br />
Option "IgnoreAbsoluteAxes" "on" <br />
EndSection<br />
<br />
=== Mad Catz Mouse===<br />
<br />
[[Mad Catz Mouse]]<br />
<br />
=== Logitech M560/M545/M546 ===<br />
These mouse is designed for Windows 8, and has a non conventional behavior: the mouse appears as a pair of mouse and keyboard and some buttons don't emit the standard mouse button event, but instead a combination of keyboard and mouse button. This prevent a "confortable" use of this mouse under Linux.<br />
<br />
This driver allow to use this mouse like an ordinary mouse. It's recommend use it with xbindkeys to mapping buttons.<br />
<br />
{{Style|should be packaged in [[AUR]]}}<br />
<br />
[https://github.com/kreijack/logitech-m560 kernel module for M560](already merged into kernel v4.2)<br />
<br />
[https://github.com/CzBiX/logitech-m560/tree/m545 kernel module for M545/M546]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=List_of_applications/Internet&diff=581382List of applications/Internet2019-09-03T04:15:23Z<p>Anonymous user: fixed my syntax on previous edit</p>
<hr />
<div><noinclude><br />
[[Category:Internet applications]]<br />
[[Category:Lists of software]]<br />
[[cs:List of applications/Internet]]<br />
[[es:List of applications/Internet]]<br />
[[it:List of applications/Internet]]<br />
[[ja:アプリケーション一覧/インターネット]]<br />
[[ru:List of applications/Internet]]<br />
[[zh-hans:List of applications/Internet]]<br />
[[zh-hant:List of applications/Internet]]<br />
{{List of applications navigation}}<br />
</noinclude><br />
== Internet ==<br />
<br />
=== Network connection ===<br />
<br />
==== Network managers ====<br />
<br />
{{Move|Network configuration#Network managers|There's a dedicated article.}}<br />
<br />
* {{App|[[ConnMan]]|Daemon for managing internet connections within embedded devices running the Linux operating system. Comes with a command-line client, plus Enlightenment, ncurses, GTK and Dmenu clients are available.|https://01.org/connman|{{Pkg|connman}}}}<br />
* {{App|dhclient|DHCP client from the Internet Systems Consortium.|https://www.isc.org/downloads/dhcp/|{{Pkg|dhclient}}}}<br />
* {{App|[[dhcpcd]]|RFC2131 compliant DHCP client daemon.|https://roy.marples.name/projects/dhcpcd|{{Pkg|dhcpcd}}}}<br />
* {{App|[[netctl]]|Simple and robust tool to manage network connections via profiles. Intended for use with [[systemd]].|https://projects.archlinux.org/netctl.git/|{{Pkg|netctl}}}}<br />
* {{App|[[NetworkManager]]|Manager that provides wired, wireless, mobile broadband and OpenVPN detection with configuration and automatic connection.|https://wiki.gnome.org/Projects/NetworkManager|CLI: {{Pkg|networkmanager}}, GUI: {{Pkg|network-manager-applet}}}}<br />
* {{App|[[systemd-networkd]]|Native [[systemd]] daemon that manages network configuration. It includes support for basic network configuration through [[udev]].|http://www.freedesktop.org/software/systemd/man/systemd-networkd.service.html|{{Pkg|systemd}}}}<br />
* {{App|[[Wicd]]|Wireless and wired connection manager with few dependencies. Comes with ncurses and GTK interfaces.|https://launchpad.net/wicd|CLI: {{Pkg|wicd}}, GUI: {{Pkg|wicd-gtk}}}}<br />
* {{app|[[Wifi Radar]]|''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.|http://wifi-radar.tuxfamily.org/|{{pkg|wifi-radar}}}}<br />
* {{app|wpa-cute| Is a graphical Qt [[wpa_supplicant]] front end to manage your wireless profiles ''only''. It offer to change and add profiles or scan for networks and connect to them by [[Wikipedia:Wi-Fi_Protected_Setup|WPS]].|https://github.com/loh-tar/wpa-cute|{{aur|wpa-cute}}}}<br />
<br />
See also [[Network configuration#Network managers]].<br />
<br />
==== VPN clients ====<br />
<br />
* {{App|Bitmask|Secured and encrypted communication using various service providers|https://bitmask.net/|{{AUR|bitmask}}}}<br />
* {{App|Libreswan| A free software implementation of the most widely supported and standarized VPN protocol based on ("IPsec") and the Internet Key Exchange ("IKE").|https://libreswan.org/|{{AUR|libreswan}}}}<br />
* {{App|[[NetworkManager]]|Supports a variety of protocols (e.g. MS, Cisco, Fortinet) via a plugin system.|https://wiki.gnome.org/Projects/NetworkManager/VPN|{{pkg|networkmanager}}}}<br />
* {{App|[[OpenConnect]]|Supports Cisco and Juniper VPNs.|http://www.infradead.org/openconnect/|{{pkg|openconnect}}}}<br />
* {{App|[[Openswan]]|IPsec-based VPN Solution.|https://www.openswan.org/|{{AUR|openswan}}}}<br />
* {{App|[[OpenVPN]]|To connect to OpenVPN VPNs.|https://openvpn.net/|{{pkg|openvpn}}}}<br />
* {{App|[[PPTP Client]]|To connect to PPTP VPNs, like Microsoft VPNs (MPPE). (insecure)|http://pptpclient.sourceforge.net/|{{pkg|pptpclient}}}}<br />
* {{App|[[strongSwan]]|IPsec-based VPN Solution.|https://www.strongswan.org/|{{pkg|strongswan}}}}<br />
* {{App|[[tinc]]|tinc is a free VPN daemon.|https://www.tinc-vpn.org/|{{pkg|tinc}}}}<br />
* {{App|[[Vpnc]]|To connect to Cisco 3000 VPN Concentrators.|https://www.unix-ag.uni-kl.de/~massar/vpnc/|{{pkg|vpnc}}}}<br />
* {{App|[[WireGuard]]|Next generation secure network tunnel.|https://www.wireguard.com/|{{Pkg|wireguard-tools}}}}<br />
<br />
==== Proxy servers ====<br />
<br />
* {{App|Dante|SOCKS server and SOCKS client, implementing RFC 1928 and related standards.|https://www.inet.no/dante/|{{Pkg|dante}}}}<br />
* {{App|[[Privoxy]]|Non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk.|https://www.privoxy.org/|{{Pkg|privoxy}}}}<br />
* {{App|Project V|Project V is a set of tools to help you build your own privacy network over internet.|https://www.v2ray.com/en/|{{Pkg|v2ray}}}}<br />
* {{App|[[Shadowsocks]]|Secure socks5 proxy, designed to protect your Internet traffic.|https://www.shadowsocks.org/en/index.html|Python: {{Pkg|shadowsocks}}, C: {{Pkg|shadowsocks-libev}}, Qt: {{Pkg|shadowsocks-qt5}}}}<br />
* {{App|[[Squid]]|Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.|http://www.squid-cache.org/|{{Pkg|squid}}}}<br />
* {{App|[[Stunnel]]|A server and client to add and remove TLS encryption to TCP data flow.|https://www.stunnel.org/|{{Pkg|stunnel}}}}<br />
* {{App|Tinyproxy|Lightweight HTTP/HTTPS proxy daemon.|https://tinyproxy.github.io/|{{Pkg|tinyproxy}}}}<br />
* {{App|[[Trojan]]|An unidentifiable mechanism that helps you bypass GFW.|https://trojan-gfw.github.io/trojan/|{{Pkg|trojan}}}}<br />
* {{App|[[Varnish]]|High-performance HTTP accelerator.|https://varnish-cache.org/|{{Pkg|varnish}}}}<br />
* {{App|Ziproxy|Forwarding (non-caching) compressing HTTP proxy server.|http://ziproxy.sourceforge.net/|{{Pkg|ziproxy}}}}<br />
<br />
==== Anonymizing networks ====<br />
<br />
* {{App|[[Freenet]]|An encrypted network without censorship.|https://freenetproject.org/|{{AUR|freenet}}}}<br />
* {{App|[[GNUnet]]|Framework for secure peer-to-peer networking.|https://gnunet.org/|CLI: {{Pkg|gnunet}}, GUI: {{Pkg|gnunet-gtk}}}}<br />
* {{App|[[I2P]]|Distributed anonymous network.|https://geti2p.net/|{{AUR|i2p}}}}<br />
* {{App|[[Lantern]]|Peer-to-peer internet censorship circumvention software.|https://getlantern.org/|{{AUR|lantern-bin}}}}<br />
* {{App|[[Tor]]|Anonymizing overlay network.|https://www.torproject.org/|{{Pkg|tor}}}}<br />
<br />
=== Web browsers ===<br />
<br />
See also [[Wikipedia:Comparison of web browsers]].<br />
<br />
==== Console ====<br />
<br />
* {{App|[[ELinks]]|Advanced and well-established feature-rich text mode web browser with mouse wheel scroll support (links fork, barely supported since 2009).|http://elinks.or.cz/|{{Pkg|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|Graphics and text mode web browser. Includes a console version similar to Lynx.|http://links.twibright.com/|{{Pkg|links}}}}<br />
* {{App|[[Wikipedia:Lynx (web browser)|Lynx]]|Text browser for the World Wide Web.|http://lynx.invisible-island.net/|{{Pkg|lynx}}}}<br />
* {{App|[[Wikipedia:W3m|w3m]]|Pager/text-based web browser. It has vim-like keybindings, and is able to display images.|http://w3m.sourceforge.net/|{{Pkg|w3m}}}}<br />
<br />
==== Graphical ====<br />
<br />
===== Gecko-based =====<br />
<br />
See also [[Wikipedia:Gecko (software)]].<br />
<br />
* {{App|[[Firefox]]|Extensible browser from Mozilla based on Gecko with fast rendering.|https://mozilla.com/firefox|{{Pkg|firefox}}}}<br />
* {{App|[[Wikipedia:SeaMonkey|SeaMonkey]]|Continuation of the Mozilla Internet Suite.|http://www.seamonkey-project.org/|{{Pkg|seamonkey}}}}<br />
<br />
====== Firefox spin-offs ======<br />
* {{App|[[Wikipedia:Cliqz|Cliqz]]|Firefox-based privacy aware web browser.|https://cliqz.com/|{{AUR|cliqz}} or {{AUR|cliqz-bin}}}}<br />
* {{App|Cyberfox|Fast and privacy oriented fork of Mozilla Firefox.|https://cyberfox.8pecxstudios.com/|{{AUR|cyberfox-bin}}}}<br />
* {{App|[[Wikipedia:GNU IceCat|GNU IceCat]]|A customized build of Firefox ESR distributed by the GNU Project, stripped of non-free components and with additional privacy extensions. Release cycle may be delayed compared to Mozilla Firefox.|https://www.gnu.org/software/gnuzilla/|{{AUR|icecat}} or {{AUR|icecat-bin}}}}<br />
* {{App|LibreWolf|A fork of Firefox, focused on privacy, security and freedom.|https://librewolf-community.gitlab.io/|{{AUR|librewolf}} or {{AUR|librewolf-bin}}}}<br />
* {{App|Waterfox|Optimized fork of Mozilla Firefox, without data collection and allowing unsigned extensions and NPAPI plugins.|https://www.waterfoxproject.org/|{{AUR|waterfox-bin}}}}<br />
<br />
===== Blink-based =====<br />
<br />
See also [[Wikipedia:Blink (web engine)]].<br />
<br />
* {{App|[[Chromium]]|Web browser developed by Google, the open source project behind Google Chrome.|https://www.chromium.org/|{{Pkg|chromium}}}}<br />
<br />
====== Privacy-focused chromium spin-offs ======<br />
<br />
* {{App|[[Wikipedia:Brave (web browser)|Brave]]|Web browser that blocks ads and trackers by default.|https://www.brave.com/|{{AUR|brave-bin}}}}<br />
* {{App|Iridium|A privacy-focused [https://git.iridiumbrowser.de/cgit.cgi/iridium-browser/tree/?h&#61;patchview patchset] for Chromium. See [https://github.com/iridium-browser/tracker/wiki/Differences-between-Iridium-and-Chromium differences from Chromium].|https://iridiumbrowser.de/|{{AUR|iridium-deb}}}}<br />
* {{App|Ungoogled Chromium|Modifications to Google Chromium for removing Google integration and enhancing privacy, control, and transparency|https://github.com/Eloston/ungoogled-chromium|{{AUR|ungoogled-chromium}}}}<br />
<br />
====== Proprietary chromium spin-offs ======<br />
<br />
* {{App|[[Google Chrome]]|Proprietary web browser developed by Google.|https://www.google.com/chrome/|{{AUR|google-chrome}}}}<br />
* {{App|[[Opera]]|Proprietary browser developed by Opera Software.|https://opera.com|{{Pkg|opera}}}}<br />
* {{App|[[Wikipedia:SlimBrowser|Slimjet]]|Fast, smart and powerful proprietary browser based on Chromium.|http://www.slimjet.com/|{{AUR|slimjet}}}}<br />
* {{App|[[Vivaldi]]|An advanced proprietary browser made with the power user in mind.|https://vivaldi.com/|{{AUR|vivaldi}}}}<br />
* {{App|[[Wikipedia:Yandex Browser|Yandex Browser]]|Proprietary browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.|https://browser.yandex.com/|{{AUR|yandex-browser-beta}}}}<br />
<br />
====== Browsers based on qt5-webengine ======<br />
<br />
* {{App|Crusta|Blazingly fast full feature web browser with unique features.|https://github.com/Crusta/CrustaBrowser/|{{AUR|crusta}}}}<br />
* {{App|[[Wikipedia:Dooble|Dooble]]|Colorful Web browser.|https://textbrowser.github.io/dooble/|{{AUR|dooble}}}}<br />
* {{App|[[Wikipedia:Eric Python IDE|Eric]]|QtWebEngine-based HTML browser, part of the eric6 development toolset, can be launched with the {{ic|eric6_browser}} command.|https://eric-ide.python-projects.org/|{{Pkg|eric}}}}<br />
* {{App|[[Wikipedia:Falkon|Falkon]]|Web browser based on QtWebEngine, written in Qt framework.|https://falkon.org/|{{pkg|falkon}}}}<br />
* {{App|[[Wikipedia:Konqueror|Konqueror]]|Web browser based on Qt toolkit and Qt WebEngine (or KHTML layout engine), part of {{Grp|kdebase}}. |http://konqueror.org/|{{Pkg|konqueror}}}}<br />
* {{App|Liri Browser|A minimalistic material design web browser written for Liri.|https://github.com/lirios/browser|{{AUR|liri-browser-git}}}}<br />
* {{App|[[Otter Browser]]|Browser aiming to recreate classic Opera (12.x) UI using Qt5. It can use Qt WebEngine as an alternative backend.|https://otter-browser.org/|{{Pkg|otter-browser}}}}<br />
* {{App|Qt WebBrowser|Browser for embedded devices developed using the capabilities of Qt and Qt WebEngine.|http://doc.qt.io/QtWebBrowser/|{{AUR|qtwebbrowser}}}}<br />
* {{App|[[qutebrowser]]|A keyboard-driven, [[vim]]-like browser based on PyQt5 and QtWebEngine.|https://qutebrowser.org/|{{Pkg|qutebrowser}}}}<br />
<br />
====== Browsers based on electron ======<br />
<br />
* {{App|Beaker|Peer-to-peer web browser with tools to create and host websites. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/beakerbrowser/beaker|{{AUR|beaker}}}}<br />
* {{App|Min|A smarter, faster web browser based on the [https://electronjs.org/ Electron] platform.|https://minbrowser.github.io/min/|{{Pkg|min}}}}<br />
<br />
===== WebKit-based =====<br />
<br />
See also [[Wikipedia:WebKit]].<br />
<br />
{{Note|webkitgtk, webkitgtk2 and qtwebkit-based browsers were removed from the list, because these are today considered insecure and outdated. More info [https://blogs.gnome.org/mcatanzaro/2016/02/01/on-webkit-security-updates/ here].}}<br />
<br />
====== Browsers based on webkit2gtk ======<br />
<br />
* {{App|Eolie|Simple web browser for GNOME.|https://wiki.gnome.org/Apps/Eolie|{{Pkg|eolie}}}}<br />
* {{App|[[GNOME Web]]|Browser which uses the WebKitGTK rendering engine, part of {{Grp|gnome}}.|https://wiki.gnome.org/Apps/Web/|{{Pkg|epiphany}}}}<br />
* {{App|[[Lariza]]|A simple, experimental web browser using GTK 3, GLib and WebKit2GTK.|https://www.uninformativ.de/git/lariza/|{{AUR|lariza}}}}<br />
* {{App|[[Luakit]]|Fast, small, webkit based browser framework extensible by Lua.|https://luakit.github.io/|{{Pkg|luakit}}}}<br />
* {{App|[[Midori]]|Lightweight web browser based on GTK and WebKit.|http://midori-browser.org/|{{Pkg|midori}}}}<br />
* {{App|Next|Keyboard-oriented, infinitely extensible browser.|https://next.atlas.engineer/|{{AUR|next-browser-git}}}}<br />
* {{App|[[surf]]|Lightweight WebKit-based browser, which follows the [https://suckless.org/philosophy suckless ideology] (basically, the browser itself is a single C source file).|https://surf.suckless.org/|{{Pkg|surf}}}}<br />
* {{App|Surfer|Simple keyboard based web browser, written in C.|https://github.com/nihilowy/surfer|{{AUR|surfer}}}}<br />
* {{App|Vimb|A Vim-like web browser that is inspired by Pentadactyl and Vimprobable.|https://fanglingsu.github.io/vimb/|{{Pkg|vimb}}}}<br />
<br />
====== Browsers based on qt5-webkit ======<br />
<br />
* {{App|[[Wikipedia:Eric Python IDE|Eric]]|QtWebKit-based HTML browser, part of the eric6 development toolset, can be launched with the {{ic|eric6_webbrowser}} command.|https://eric-ide.python-projects.org/|{{Pkg|eric}}}}<br />
* {{App|OSPKit|Webkit based html browser for printing.|http://osp.kitchen/tools/ospkit/|{{AUR|ospkit-git}}}}<br />
* {{App|[[Otter Browser]]|Browser aiming to recreate classic Opera (12.x) UI using Qt5.|https://otter-browser.org/|{{Pkg|otter-browser}} or {{Pkg|otter-browser-nowebengine}}}}<br />
* {{App|[[qutebrowser]]|A keyboard-driven, [[vim]]-like browser based on PyQt5 with QtWebKit as an available backend.|https://github.com/qutebrowser/qutebrowser|{{Pkg|qutebrowser}}}}<br />
* {{App|smtube|Application that allows to browse, search and play YouTube videos.|https://www.smtube.org/|{{Pkg|smtube}}}}<br />
* {{App|WCGBrowser|A web browser for kiosk systems.|http://www.alandmoore.com/wcgbrowser/wcgbrowser.html|{{AUR|wcgbrowser-git}}}}<br />
<br />
===== Other =====<br />
<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|Small, fast graphical web browser built on [[Wikipedia:Fltk|FLTK]]. Uses its own layout engine.|http://dillo.org/|{{Pkg|dillo}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|Graphics and text mode web browser. Includes a graphical X-window/framebuffer version with CSS, image rendering, pull-down menus. It can be launched with the {{ic|xlinks -g}} command.|http://links.twibright.com/|{{Pkg|links}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]|Featherweight browser written in C, notable for its slowly developing JavaScript support and fast rendering through its own layout engine.|http://netsurf-browser.org|{{Pkg|netsurf}}}}<br />
* {{App|[[Wikipedia:Pale Moon (web browser)|Pale Moon]]|A Firefox fork focussing on speed, with a pre-Firefox 29 interface. Uses [[Wikipedia:Goanna (software)|Goanna]] layout engine, a fork of Gecko. Firefox add-ons may not be compatible. [https://addons.palemoon.org/firefox/incompatible/] Without support for newer Firefox features such as cache2, e10s, and OTMC.|http://www.palemoon.org/|{{AUR|palemoon}} or {{AUR|palemoon-bin}}}}<br />
<br />
=== Web servers ===<br />
<br />
A [[Wikipedia:Web server|web server]] serves HTML web pages and other files via HTTP to clients like [[:Category:Web browser|web browsers]].<br />
The major web servers can be interfaced with programs to serve dynamic content ([[web applications]]).<br />
<br />
See also [[:Category:Web server]] and [[Wikipedia:Comparison of web server software]].<br />
<br />
* {{App|[[Apache]]|A high performance Unix-based HTTP server.|http://www.apache.org/dist/httpd|{{Pkg|apache}}}}<br />
* {{App|[[Caddy]]|HTTP/2 web server with automatic HTTPS.|https://caddyserver.com/|{{AUR|caddy}}}}<br />
* {{App|[[Hiawatha]]|Secure and advanced web server.|https://www.hiawatha-webserver.org/|{{Pkg|hiawatha}}}}<br />
* {{App|[[Lighttpd]]|A secure, fast, compliant and very flexible web-server.|http://www.lighttpd.net/|{{Pkg|lighttpd}}}}<br />
* {{App|[[nginx]]|Lightweight HTTP server and IMAP/POP3 proxy server.|https://nginx.org/|{{Pkg|nginx}}}}<br />
* {{App|sthttpd|Supported fork of the thttpd web server.|https://github.com/blueness/sthttpd|{{Pkg|sthttpd}}}}<br />
* {{App|yaws|Web server/framework written in Erlang.|http://yaws.hyber.org/|{{Pkg|yaws}}}}<br />
<br />
==== Static web servers ====<br />
<br />
* {{App|darkhttpd|A small and secure static web server, written in C, does not support HTTPS or Auth.|https://unix4lyfe.org/darkhttpd/|{{Pkg|darkhttpd}}}}<br />
* {{App|KatWeb|A lightweight static web server and reverse proxy, written in Go, designed for the modern web.|https://github.com/kittyhacker101/KatWeb|{{AUR|katweb}}}}<br />
* {{App|quark|An extremly small and simple http get-only web server. It only serves static pages on a single host.|http://tools.suckless.org/quark/|{{AUR|quark-git}}}}<br />
* {{App|serve|Static file serving and directory listing.|https://github.com/zeit/serve|{{AUR|nodejs-serve}}}}<br />
* {{App|servy|A tiny little web server, single binary, written in Rust.|https://github.com/zethra/servy|{{AUR|servy}}}}<br />
* {{App|Webfs|Simple and instant web server for mostly static content.|http://linux.bytesex.org/misc/webfs.html|{{Pkg|webfs}}}}<br />
<br />
The [[Python]] standard library module [https://docs.python.org/library/http.server.html http.server] can also be used from the command-line.<br />
<br />
==== Specialized web servers ====<br />
<br />
* {{App|Mongoose|Embedded web server library, supports WebSocket and MQTT.|https://github.com/cesanta/mongoose|{{AUR|mongoose}}}}<br />
* {{App|webhook|Small server for creating HTTP endpoints (hooks)|https://github.com/adnanh/webhook|{{Pkg|webhook}}}}<br />
* {{App|Woof|An ad-hoc single file webserver; Web Offer One File.|http://www.home.unix-ag.org/simon/woof.html|{{AUR|woof}}}}<br />
<br />
==== WSGI servers ====<br />
<br />
* {{App|Gunicorn|A Python WSGI HTTP Server for UNIX.|https://gunicorn.org/|{{Pkg|gunicorn}}, {{Pkg|python2-gunicorn}}}}<br />
* {{App|[[uWSGI]]|A fast, self-healing and developer/sysadmin-friendly application container server written in C.|https://uwsgi-docs.readthedocs.io/|{{Pkg|uwsgi}}}}<br />
* {{App|Waitress|A WSGI server for Python 2 and 3.|https://github.com/Pylons/waitress|{{Pkg|python-waitress}}, {{Pkg|python2-waitress}}}}<br />
<br />
Apache also supports WSGI with [[mod_wsgi]].<br />
<br />
==== Performance testing ====<br />
<br />
* {{App|http_load|A webserver performance testing tool, runs in a single process.|http://www.acme.com/software/http_load/|{{AUR|http_load}}}}<br />
* {{App|httperf|Can generate various HTTP workloads, written in C.|https://github.com/httperf/httperf|{{AUR|httperf}}}}<br />
* {{App|vegeta|HTTP load testing tool, written in Go.|https://github.com/tsenart/vegeta|{{Pkg|vegeta}}}}<br />
* {{App|Web Bench|Benchmarking tool, uses fork() for simulating multiple clients.|http://home.tiscali.cz/~cz210552/webbench.html|{{AUR|webbench}}}}<br />
<br />
=== File sharing ===<br />
<br />
==== Download managers ====<br />
<br />
See also [[Wikipedia:Comparison of download managers]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[aria2]]|Lightweight download utility that supports HTTP, FTP, SFTP, BitTorrent and Metalink. It can run as a daemon controlled via a built-in JSON-RPC or XML-RPC interface.|https://aria2.github.io/|{{Pkg|aria2}}}}<br />
* {{App|Axel|Light command line download accelerator. Supports HTTP and FTP.|https://github.com/eribertomota/axel|{{Pkg|axel}}}}<br />
* {{App|[[Wikipedia:cURL|cURL]]|An URL retrieval utility and library. Supports HTTP, FTP and SFTP.|https://curl.haxx.se/|{{Pkg|curl}}}}<br />
* {{App|[[Wikipedia:Lftp|LFTP]]|Sophisticated file transfer program. Supports HTTP, FTP, SFTP, FISH, and BitTorrent.|http://lftp.yar.ru/|{{Pkg|lftp}}}}<br />
* {{App|mps-youtube|Terminal based YouTube jukebox with playlist management. Plays audio/video through mplayer/mpv.|https://github.com/mps-youtube/mps-youtube|{{Pkg|mps-youtube}}}}<br />
* {{App|Plowshare|A set of command-line tools designed for managing file-sharing websites (aka Hosters).|https://github.com/mcrapet/plowshare|{{Pkg|plowshare}}}}<br />
* {{App|[[Wikipedia:RTMPDump|RTMPDump]]|Download FLV videos through RTMP (Adobe's proprietary protocol for Flash video players)|http://rtmpdump.mplayerhq.hu/|{{Pkg|rtmpdump}}}}<br />
* {{App|snarf|Command-line URL retrieval tool. Supports HTTP and FTP.|http://www.xach.com/snarf/|{{Pkg|snarf}}}}<br />
* {{App|[[Streamlink]]|Launch streams from various streaming services in a custom video player or save them to a file.|https://streamlink.github.io/|{{Pkg|streamlink}}}}<br />
* {{App|[[Wikipedia:Streamripper|Streamripper]]|Records and splits streaming mp3 into tracks.|http://streamripper.sourceforge.net/|{{AUR|streamripper}}}}<br />
* {{App|You-Get|Download media contents (videos, audios, images) from the Web.|https://you-get.org/|{{Pkg|you-get}}}}<br />
* {{App|[[youtube-dl]]|Download videos from YouTube and many other web sites.|https://rg3.github.io/youtube-dl/|{{Pkg|youtube-dl}}}}<br />
* {{App|youtube-viewer|Command line utility for viewing YouTube videos.|https://github.com/trizen/youtube-viewer|{{Pkg|youtube-viewer}}}}<br />
* {{App|[[Wikipedia:Wget|Wget]]|A network utility to retrieve files from the Web. Supports HTTP and FTP.|https://www.gnu.org/software/wget/|{{Pkg|wget}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|ClipGrab|Downloader and converter for YouTube, Vimeo and many other online video sites.|https://clipgrab.org/|{{Pkg|clipgrab}}}}<br />
* {{App|FatRat|Qt based download manager with support for HTTP, FTP, SFTP, BitTorrent and Metalink.|http://fatrat.dolezel.info/|{{AUR|fatrat-git}}}}<br />
* {{App|FreeRapid|Java-based downloader that supports downloading from file-sharing services.|http://wordrider.net/freerapid/|{{AUR|freerapid}}}}<br />
* {{App|[[Wikipedia:FrostWire|FrostWire]]|Easy to use cloud downloader, BitTorrent client and media player.|http://www.frostwire.com/|{{AUR|frostwire}}}}<br />
* {{App|gtk-youtube-viewer|GTK utility for viewing YouTube videos.|https://github.com/trizen/youtube-viewer|{{Pkg|youtube-viewer}} + {{Pkg|gtk2-perl}} + {{Pkg|perl-file-sharedir}}}}<br />
* {{App|[[Wikipedia:Wget#GWget|Gwget]]|Download manager for GNOME. Supports HTTP and FTP.|https://projects.gnome.org/gwget/|{{Pkg|gwget}}}}<br />
* {{App|Gydl|GUI wrapper around the already existing youtube-dl program to download content from sites like YouTube.|https://github.com/JannikHv/gydl|{{AUR|gydl-git}}}}<br />
* {{App|[[JDownloader]]|Java-based downloader for one-click hosting sites.|http://jdownloader.org/|{{AUR|jdownloader2}}}}<br />
* {{App|[[Wikipedia:KGet|KGet]]|Download manager for KDE. Supports HTTP, FTP, BitTorrent and Metalink. Part of {{Grp|kdenetwork}}.|https://www.kde.org/applications/internet/kget/|{{Pkg|kget}}}}<br />
* {{App|Persepolis|Graphical front-end for aria2 download manager with lots of features. Supports HTTP and FTP.|https://persepolisdm.github.io/|{{AUR|persepolis}}}}<br />
* {{App|[[pyLoad]]|Downloader written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.|https://pyload.net/|{{AUR|pyload}}{{Broken package link|package not found}}}}<br />
* {{App|Steadyflow|Simple download manager for GNOME. Supports HTTP and FTP.|https://launchpad.net/steadyflow|{{Pkg|steadyflow}}}}<br />
* {{App|Streamtuner2|Internet radio station and video browser. It simply lists stations in categories from different directories and launches your preferred media apps for playback.|https://sourceforge.net/projects/streamtuner2/|{{AUR|streamtuner2}}}}<br />
* {{App|uGet|GTK download manager featuring download classification and HTML import. Supports HTTP, FTP, BitTorrent, Metalink, YouTube and Mega.|http://ugetdm.com/|{{Pkg|uget}}}}<br />
* {{App|Xtreme Download Manager|Powerful tool to increase download speed up-to 500%. Supports HTTP and FTP. Video grabber works in a general way and is not limited to certain websites.|http://xdman.sourceforge.net/|{{AUR|xdman}}}}<br />
<br />
==== Cloud storage servers ====<br />
<br />
* {{App|[[Cozy]]|A personal cloud you can hack, host and delete.|https://cozy.io/|{{Pkg|cozy-stack}}}}<br />
* {{App|[[Nextcloud]]|A cloud server to store your files centrally on a hardware controlled by you.|https://nextcloud.com|{{Pkg|nextcloud}}}}<br />
* {{App|[[Pydio]]|Mature open source web application for file sharing and synchronization.|https://pydio.com/|{{AUR|pydio}}}}<br />
* {{App|[[Seafile]]|An online file storage and collaboration tool with advanced support for file syncing, privacy protection and teamwork.|https://www.seafile.com/|{{AUR|seafile-server}}}}<br />
<br />
==== Cloud synchronization clients ====<br />
<br />
{{Tip|<nowiki></nowiki><br />
* Some [[synchronization and backup programs]] provide direct support for some cloud-storage services.<br />
* Some [[FUSE#List of FUSE filesystems|FUSE filesystems]] provide a way to mount cloud-storage as a filesystem. Google Drive can be accessed also by {{Pkg|gvfs-google}} for GVFS-based applications (like [[Nautilus]]), and by {{Pkg|kio-gdrive}} for KIO-based applications (like [[Dolphin]]).<br />
* See [[Disk encryption#Cloud-storage optimized]] to achieve zero-knowledge (client-side transparent encryption) storage on any third-party cloud service.<br />
}}<br />
<br />
* {{App|aws-cli|CLI for Amazon Web Services, including efficient file transfers to and from Amazon S3.|https://aws.amazon.com/cli/|{{Pkg|aws-cli}}}}<br />
* {{App|Backblaze B2|Backblaze B2 open-source command-line client.|https://www.backblaze.com/b2/cloud-storage.html|{{AUR|backblaze-b2}}}}<br />
* {{App|CloudCross|Synchronize local files and folders with many cloud providers. Mail.ru Cloud, Yandex Disk, Google Drive, OneDrive and Dropbox support is available.|https://cloudcross.mastersoft24.ru/|{{AUR|cloudcross}}}}<br />
* {{App|[[Cozy]] Drive|Desktop client for Cozy.|https://cozy-labs.github.io/cozy-desktop/|{{Pkg|cozy-desktop}}}}<br />
* {{App|drive|Tiny program to pull or push Google Drive files.|https://github.com/odeke-em/drive|{{AUR|drive-bin}}}}<br />
* {{App|DriveSync|Command line utility that synchronizes your Google Drive files with a local folder on your machine.|https://github.com/MStadlmeier/drivesync|{{AUR|drivesync}}}}<br />
* {{App|[[Dropbox]]|Proprietary desktop client for Dropbox.|https://www.dropbox.com/|{{AUR|dropbox}}}}<br />
* {{App|gdrive|Command line utility for interacting with Google Drive.|https://github.com/prasmussen/gdrive|{{AUR|gdrive}}}}<br />
* {{App|Grive|Google Drive client with support for new Drive REST API and partial sync.|https://github.com/vitalif/grive2|{{AUR|grive}}}}<br />
* {{App|ODrive|Google Drive GUI for Windows / Mac / Linux.|https://github.com/liberodark/ODrive|{{AUR|odrive-bin}}}}<br />
* {{App|hubiC|Proprietary synchronization client service and command line tools for hubiC.|https://hubic.com/en/downloads|{{AUR|hubic}}}}<br />
* {{App|[[Insync]]|Unofficial proprietary Google Drive desktop client.|https://www.insynchq.com/|{{AUR|insync}}}}<br />
* {{App|[[Wikipedia:Mail.Ru|Mail.ru]] Cloud|Proprietary client for Mail.ru Cloud storage service.|https://cloud.mail.ru/|{{AUR|mailru-cloud}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:Mega (service)|Mega]] Sync Client|Desktop client to sync files with Mega.|https://mega.nz/|{{AUR|megasync}}}}<br />
* {{App|Megatools|Unofficial CLI for Mega.|https://megatools.megous.com/|{{AUR|megatools}}}}<br />
* {{App|[[Nextcloud]] Client|Desktop client for Nextcloud.|https://nextcloud.com/|{{Pkg|nextcloud-client}}}}<br />
* {{App|Nutstore|Desktop client for Nutstore.|https://www.jianguoyun.com/|{{AUR|nutstore}}}}<br />
* {{App|OneDrive|Unofficial CLI for [https://onedrive.live.com/about/ OneDrive].|https://github.com/skilion/onedrive|{{AUR|onedrive}}}}<br />
* {{App|[[Wikipedia:ownCloud|ownCloud]] Desktop Client|Desktop syncing client for ownCloud.|https://owncloud.com/client/|{{Pkg|owncloud-client}}}}<br />
* {{App|pCloud Drive|Proprietary desktop syncing client for pCloud. Based on the [https://electronjs.org/ Electron] platform.|https://www.pcloud.com/download-free-online-cloud-file-storage.html|{{AUR|pcloud-drive}}}}<br />
* {{App|[[Pydio]]Sync|Desktop client for Pydio.|https://pydio.com/|{{AUR|pydio-sync}}}}<br />
* {{App|S3cmd|Unofficial CLI for Amazon S3.|http://s3tools.org/s3cmd|{{Pkg|s3cmd}}}}<br />
* {{App|[[Seafile]] Client|GUI client for Seafile.|https://www.seafile.com/|{{AUR|seafile-client}}}}<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]] One|Proprietary client for SpiderOak One.|https://spideroak.com/|{{AUR|spideroak-one}}}}<br />
* {{App|[[Wikipedia:Tresorit|Tresorit]]|Proprietary desktop syncing client for Tresorit.|https://tresorit.com/download|{{AUR|tresorit}}}}<br />
* {{App|[[Yandex Disk]]|Proprietary CLI for Yandex Disk.|https://disk.yandex.ru/|{{AUR|yandex-disk}}}}<br />
<br />
==== FTP ====<br />
<br />
===== FTP clients =====<br />
<br />
See also [[Wikipedia:Comparison of FTP client software]].<br />
* {{App|[[Wikipedia:FileZilla|FileZilla]]|Fast and reliable FTP, FTPS and SFTP client.|http://filezilla-project.org/|{{Pkg|filezilla}}}}<br />
* {{App|[[Wikipedia:gFTP|gFTP]]|Multithreaded FTP client for Linux.|http://gftp.seul.org/|{{Pkg|gftp}}}}<br />
* {{App|ftp|Simple ftp client provided by GNU Inetutils|https://www.gnu.org/software/inetutils/manual/inetutils.html#ftp-invocation|{{Pkg|inetutils}}}}<br />
* {{App|ncftp|A set of free application programs implementing FTP.|http://www.ncftp.com/|{{Pkg|ncftp}}}}<br />
* {{App|[[Wikipedia:tnftp|tnftp]]|FTP client with several advanced features for [[Wikipedia:NetBSD|NetBSD]].|http://freecode.com/projects/tnftp|{{Pkg|tnftp}}}}<br />
<br />
Some file managers like [[Dolphin]], [[GNOME Files]] and [[Thunar]] also provide FTP functionality.<br />
<br />
===== FTP servers =====<br />
<br />
See also [[Wikipedia:List of FTP server software]].<br />
<br />
* {{App|[[bftpd]]|Small, easy-to-configure FTP server|http://bftpd.sourceforge.net/|{{Pkg|bftpd}}}}<br />
* {{App|chezdav|WebDAV server that allows to share a particular directory.|https://wiki.gnome.org/phodav|{{Pkg|phodav}}}}<br />
* {{App|ftpd|Simple ftp server provided by GNU Inetutils|https://www.gnu.org/software/inetutils/manual/inetutils.html#ftpd-invocation|{{Pkg|inetutils}}}}<br />
* {{App|[[Proftpd|proFTPd]]|A secure and configurable FTP server|http://www.proftpd.org/|{{AUR|proftpd}}}}<br />
* {{App|[[Pure-FTPd]]|Free (BSD-licensed), secure, production-quality and standard-compliant FTP server.|http://www.pureftpd.org/project/pure-ftpd|{{AUR|pure-ftpd}}}}<br />
* {{App|[[SSH]]|SFTP is a network protocol that provides file access, file transfer, and file management over any reliable data stream.|https://www.openssh.com|{{Pkg|openssh}}}}<br />
* {{App|[[vsftpd]]|Lightweight, stable and secure FTP server for UNIX-like systems.|https://security.appspot.com/vsftpd.html|{{Pkg|vsftpd}}}}<br />
<br />
==== BitTorrent clients ====<br />
<br />
Some [[#Download managers|download managers]] are also able to connect to the BitTorrent network: [[Aria2]], [[Wikipedia:Lftp|LFTP]], FatRat, [[Wikipedia:FrostWire|FrostWire]], [[Wikipedia:KGet|KGet]], [[Wikipedia:MLDonkey|MLDonkey]], uGet.<br />
<br />
See also [[Wikipedia:Comparison of BitTorrent clients]].<br />
<br />
===== Console =====<br />
<br />
* {{App|btpd|The BitTorrent Protocol Daemon.|https://github.com/btpd/btpd|{{AUR|btpd}}}}<br />
* {{App|Ctorrent|CTorrent is a BitTorrent client implemented in C++ to be lightweight and quick.|http://www.rahul.net/dholmes/ctorrent/|{{AUR|enhanced-ctorrent}}}}<br />
* {{App|peerflix|Streaming torrent client for node.js.|https://github.com/mafintosh/peerflix|{{AUR|peerflix}}}}<br />
* {{App|[[rTorrent]]|Simple and lightweight ncurses BitTorrent client. Requires {{Pkg|libtorrent}} backend.|https://rakshasa.github.io/rtorrent/|{{Pkg|rtorrent}}}}<br />
* {{App|[[Transmission]] CLI|Simple and easy-to-use BitTorrent client with a daemon version and multiple front-ends. This package includes backend, daemon, command-line interface, and a Web UI interface.|https://transmissionbt.com/|{{Pkg|transmission-cli}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Deluge]]|User-friendly BitTorrent client written in PyGTK that can run as a daemon.|https://deluge-torrent.org/|{{Pkg|deluge}}}}<br />
* {{App|Fragments|Easy to use BitTorrent client which follows the GNOME HIG and includes well thought-out features.|https://gitlab.gnome.org/haecker-felix/Fragments|{{Pkg|fragments}}}}<br />
* {{App|[[Ktorrent]]|Feature-rich BitTorrent client for KDE.|https://www.kde.org/applications/internet/ktorrent/|{{Pkg|ktorrent}}}}<br />
* {{App|Powder Player|Hybrid between a streaming BitTorrent client and a player. Based on the [https://electronjs.org/ Electron] platform.|https://powder.media/|{{AUR|powder-player-bin}}}}<br />
* {{App|[[Wikipedia:qBittorrent|qBittorrent]]|Open source (GPLv2) BitTorrent client that strongly resembles µtorrent.|https://www.qbittorrent.org/|{{Pkg|qbittorrent}} or {{Pkg|qbittorrent-nox}}}}<br />
* {{App|[[Wikipedia:Tixati|Tixati]]|Proprietary peer-to-peer file sharing program that uses the popular BitTorrent protocol.|https://tixati.com/|{{AUR|tixati}}}}<br />
* {{App|Torrential|Simple torrent client for elementary OS.|https://github.com/davidmhewitt/torrential|{{AUR|torrential}}}}<br />
* {{App|[[Transmission]]|Simple and easy-to-use BitTorrent client with a daemon version and multiple front-ends.|https://transmissionbt.com/|GTK: {{Pkg|transmission-gtk}}, Qt: {{Pkg|transmission-qt}}}}<br />
* {{App|[[Transmission]] Remote|GTK client for remote management of the Transmission BitTorrent client, using its HTTP RPC protocol.|https://github.com/transmission-remote-gtk/transmission-remote-gtk|{{Pkg|transmission-remote-gtk}}}}<br />
* {{App|[[Wikipedia:Tribler|Tribler]]|4th generation file sharing system BitTorrent client.|https://www.tribler.org|{{Pkg|tribler}}}}<br />
* {{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus).|https://www.vuze.com/|{{AUR|vuze}}}}<br />
* {{App|WebTorrent Desktop|Streaming BitTorrent application. Based on the [https://electronjs.org/ Electron] platform.|https://webtorrent.io/desktop/|{{AUR|webtorrent-desktop}}}}<br />
<br />
==== Other P2P networks ====<br />
<br />
See also [[Wikipedia:Comparison of file-sharing applications]].<br />
<br />
* {{App|[[aMule]]|Well-known eDonkey/Kad client with a daemon version and GTK, web, and CLI front-ends.|http://www.amule.org/|{{Pkg|amule}}}}<br />
* {{App|EiskaltDC++|Direct Connect and ADC client.|https://github.com/eiskaltdcpp/eiskaltdcpp|GTK: {{AUR|eiskaltdcpp-gtk}}, Qt: {{AUR|eiskaltdcpp-qt}}}}<br />
* {{App|[[Wikipedia:gtk-gnutella|gtk-gnutella]]|GTK server/client for the Gnutella peer-to-peer network.|http://gtk-gnutella.sourceforge.net/|{{AUR|gtk-gnutella}}}}<br />
* {{App|KaMule|KDE graphical front-end for aMule.|http://kde-apps.org/content/show.php?content&#61;150270|{{AUR|kamule}}}}<br />
* {{App|LBRY|Browser and wallet for LBRY, the decentralized, user-controlled content marketplace. Based on the [https://electronjs.org/ Electron] platform.|https://lbry.io/|{{AUR|lbry-app-bin}}}}<br />
* {{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client that supports HTTP, FTP, BitTorrent, Direct Connect, eDonkey and FastTrack.|http://mldonkey.sourceforge.net/|{{Pkg|mldonkey}}}}<br />
* {{App|ncdc|Modern and lightweight Direct Connect and ADC client with a friendly ncurses interface.|https://dev.yorhel.nl/ncdc|{{AUR|ncdc}}}}<br />
* {{App|Nicotine+|A graphical client for the Soulseek P2P network.|https://www.nicotine-plus.org/|{{Pkg|nicotine+}}}}<br />
* {{App|Valknut|Direct Connect client (like DC++) with segmented downloading.|http://wxdcgui.sourceforge.net/|{{AUR|valknut}}}}<br />
<br />
==== Pastebin clients ====<br />
<br />
See also [[Wikipedia:Pastebin]].<br />
<br />
Pastebin services are often used to quote text or images while collaborating and troubleshooting. Pastebin clients provide a convenient way to post from the command line.<br />
<br />
{{Tip| You can access the [http://sprunge.us/ sprunge.us] and [http://ix.io/ ix.io] pastebins using curl. For example pipe the output of a command to sprunge: {{bc|''command'' <nowiki>| curl -F c=@- https://sprunge.us </nowiki>}} or upload a file (including images): {{bc|<nowiki>curl -F c=@- https://sprunge.us < </nowiki>''file''}}}}<br />
<br />
{{Note| [http://pastebin.com/ pastebin.com] is blocked for some people and has a history of annoying issues (javascript, adverts, poor formatting, etc). Do ''not'' use it.}}<br />
<br />
* {{App|Elmer|Pastebin client similar to wgetpaste and curlpaste, except written in Perl and usable with wget or curl. Servers: [http://codepad.org/ codepad.org], [http://rafb.me/ rafb.me], [http://sprunge.us/ sprunge.us].|https://github.com/sudokode/elmer|{{AUR|elmer}}}}<br />
* {{App|Fb-client|Client for the [http://paste.xinu.at/ paste.xinu.at] pastebin.|http://paste.xinu.at|{{Pkg|fb-client}}}}<br />
* {{App|Gist|Command-line interface for the [https://gist.github.com/ gist.github.com] pastebin service.|https://github.com/defunkt/gist|{{Pkg|gist}}}}<br />
* {{App|imgur|A CLI client which can upload image to [http://imgur.com imgur.com] image sharing service.|http://imgur.com/apps|{{AUR|imgur}}}}<br />
* {{App|Ix|Client for the ix.io pastebin.|http://ix.io|{{AUR|ix}}}}<br />
* {{App|Pastebinit|Really small Python script that acts as a Pastebin client. Servers: [http://pastie.org/ pastie.org], [https://paste.kde.org/ paste.kde.org], [http://paste.debian.net/ paste.debian.net], [http://paste.ubuntu.com/ paste.ubuntu.com] and others (for a full list see {{ic|pastebinit -l}}).|http://launchpad.net/pastebinit|{{Pkg|pastebinit}}}}<br />
* {{App|ruby-haste|Client for [http://hastebin.com/ hastebin.com].|https://github.com/seejohnrun/haste-client|{{AUR|ruby-haste}}}}<br />
* {{App|Uppity|The pastebin client with an attitude.|https://github.com/Kiwi/Uppity|{{AUR|uppity-git}}}}<br />
* {{App|Wgetpaste|Bash script that automates pasting to a number of pastebin services. Servers: [http://pastebin.ca/ pastebin.ca], [http://codepad.org/ codepad.org], [http://dpaste.com/ dpaste.com] and [http://pastebin.osuosl.org/ pastebin.osuosl.org].|http://wgetpaste.zlin.dk/|{{Pkg|wgetpaste}}}}<br />
<br />
=== Communication ===<br />
<br />
==== Email clients ====<br />
<br />
See also [[Wikipedia:Comparison of email clients]]<br />
<br />
===== Console =====<br />
<br />
* {{App|aerc|Work in progress asynchronous email client.|https://github.com/SirCmpwn/aerc|{{AUR|aerc-git}}}}<br />
* {{App|alot|An experimental terminal MUA based on [http://notmuchmail.org/ notmuch mail]. It is written in python using the [http://urwid.org/ urwid] toolkit.|https://github.com/pazz/alot|{{Pkg|alot}}}}<br />
* {{App|[[Alpine]]|Fast, easy-to-use and Apache-licensed email client based on [[Wikipedia:Pine (email client)|Pine]].|http://www.washington.edu/alpine/|{{AUR|alpine}}{{Broken package link|package not found}}}}<br />
* {{App|[[S-nail]]|a mail processing system with a command syntax reminiscent of ''ed'' with lines replaced by messages. Provides the functionality of [[Wikipedia:mailx|mailx]].|https://www.sdaoden.eu/code.html#s-mailx|{{Pkg|s-nail}}}}<br />
* {{App|mu/mu4e|Email indexer (mu) and client for emacs (mu4e). Xapian based for fast searches.|http://www.djcbsoftware.nl/code/mu/mu4e.html|{{AUR|mu}}}}<br />
* {{App|[[Mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Pkg|mutt}}}}<br />
* {{App|[[Mutt#NeoMutt|NeoMutt]]|Command line mail reader (or MUA). It's a fork of Mutt with added features.|https://www.neomutt.org/|{{Pkg|neomutt}}}}<br />
* {{App|[[nmh]]|A modular mail handling system.|http://www.nongnu.org/nmh/|{{AUR|nmh}}}}<br />
* {{App|[[notmuch]]|A fast mail indexer built on top of ''xapian''.|http://notmuchmail.org/|{{Pkg|notmuch}}}}<br />
* {{App|[[Sup]]|CLI mail client with very fast searching, tagging, threading and GMail like operation.|https://sup-heliotrope.github.io/|{{AUR|sup}}}}<br />
* {{App|Wanderlust|Email client and news reader for Emacs.|http://www.gohome.org/wl/|{{Pkg|wanderlust}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|Balsa|Simple and light email client for GNOME.|https://pawsa.fedorapeople.org/balsa/|{{Pkg|balsa}}}}<br />
* {{App|[[Wikipedia:Claws Mail|Claws Mail]]|Lightweight GTK-based email client and news reader.|https://www.claws-mail.org/|{{Pkg|claws-mail}}}}<br />
* {{App|ElectronMail|Unofficial desktop app for several end-to-end encrypted email providers (like ProtonMail, Tutanota). Based on the [https://electronjs.org/ Electron] platform.|https://github.com/vladimiry/ElectronMail|{{AUR|electronmail-bin}}}}<br />
* {{App|[[Evolution]]|Mature and feature-rich e-mail client that is part of the GNOME project. Part of {{Grp|gnome-extra}}.|https://wiki.gnome.org/Apps/Evolution|{{Pkg|evolution}}}}<br />
* {{App|Geary|Simple desktop mail client built in [[Wikipedia:Vala (programming language)|Vala]].|https://wiki.gnome.org/Apps/Geary|{{Pkg|geary}}}}<br />
* {{App|Gnubiff|Mail notification program that checks for mail and displays headers when new mail has arrived.|http://gnubiff.sourceforge.net/|{{Pkg|gnubiff}}}}<br />
* {{App|Inboxer|Unofficial, free and open-source Google Inbox desktop app. Based on the [https://electronjs.org/ Electron] platform.|https://denysdovhan.com/inboxer/|{{AUR|inboxer}}}}<br />
* {{App|[[Wikipedia:Kmail|Kmail]]|Mature and feature-rich email client. Part of {{Grp|kdepim}}.|https://www.kde.org/applications/internet/kmail/|{{Pkg|kmail}}}}<br />
* {{App|Kube|Modern communication and collaboration client built with QtQuick.|https://kube.kde.org/|{{Pkg|kube}}}}<br />
* {{App|Mailnag|Extensible mail notification daemon.|https://github.com/pulb/mailnag|{{Pkg|mailnag}}}}<br />
* {{App|Mailspring|[https://github.com/Foundry376/Mailspring/issues/24 Proprietary] fork of Nylas Mail by one of the original authors.|https://getmailspring.com/|{{AUR|mailspring}}}}<br />
* {{App|Nylas Mail|Extensible desktop mail app. Based on the [https://electronjs.org/ Electron] platform.|https://www.nylas.com/nylas-mail/|{{AUR|nylas-mail-lives-bin}}}}<br />
* {{App|openWMail|The missing desktop client for Gmail & Google Inbox. Based on the [https://electronjs.org/ Electron] platform.|https://openwmail.github.io/|{{AUR|openwmail}}}}<br />
* {{App|QGmailNotifier|Portable Qt5 based GMail notifier.|https://github.com/eteran/qgmailnotifier|{{AUR|qgmailnotifier}}}}<br />
* {{App|Protonmail Desktop|Unofficial app that emulates a native client for the ProtonMail e-mail service. Based on the [https://electronjs.org/ Electron] platform.|http://protondesktop.com/|{{AUR|protonmail-desktop}}}}<br />
* {{App|[[Wikipedia:SeaMonkey#Mail|SeaMonkey Mail & Newsgroups]]|Email client included in the SeaMonkey suite.|http://www.seamonkey-project.org/|{{Pkg|seamonkey}}}}<br />
* {{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly GTK email client.|http://sylpheed.sraoss.jp/en/|{{Pkg|sylpheed}}}}<br />
* {{App|[[Thunderbird]]|Feature-rich email client from Mozilla written in GTK.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Trojitá|Qt IMAP email client. Only supports [https://bugs.kde.org/show_bug.cgi?id&#61;321374 one IMAP account].|http://trojita.flaska.net/|{{Pkg|trojita}}}}<br />
<br />
===== Web-based =====<br />
<br />
* {{App|[[Wikipedia:Mailpile|Mailpile]]|A modern, fast web-mail client with user-friendly encryption and privacy features.|https://www.mailpile.is/|{{AUR|mailpile}}}}<br />
* {{App|[[Nextcloud]] Mail|An email webapp for NextCloud.|https://github.com/nextcloud/mail|{{Pkg|nextcloud-app-mail}}}}<br />
* {{App|Roundcubemail|Browser-based multilingual IMAP client webapp with a native application-like user interface.|http://roundcube.net/|{{Pkg|roundcubemail}}}}<br />
* {{App|[[Squirrelmail|SquirrelMail]]|Webmail for Nuts!|https://squirrelmail.org/|{{AUR|squirrelmail}}}}<br />
<br />
==== Mail servers ====<br />
<br />
See [[Mail server]].<br />
<br />
* {{App|Modoboa|A modular mail hosting and management platform, written in Python.|https://modoboa.org/|{{AUR|modoboa}}}}<br />
<br />
==== Mail retrieval agents ====<br />
<br />
See also [[Wikipedia:Mail retrieval agent]].<br />
<br />
* {{App|[[fdm]]|Program to fetch and deliver mail.|https://github.com/nicm/fdm|{{Pkg|fdm}}}}<br />
* {{App|[[Wikipedia:Fetchmail|Fetchmail]]|A remote-mail retrieval utility.|http://www.fetchmail.info/|{{AUR|fetchmail}}}}<br />
* {{App|[[getmail]]|A POP3/IMAP4 mail retriever with reliable Maildir and command delivery.|http://pyropus.ca/software/getmail/|{{Pkg|getmail}}}}<br />
* {{App|imapsync|IMAP synchronisation, sync, copy or migration tool|http://imapsync.lamiral.info/|{{AUR|imapsync}}}}<br />
* {{App|[[isync]]|IMAP and MailDir mailbox synchronizer|http://isync.sourceforge.net/|{{Pkg|isync}}}}<br />
* {{App|mpop|A small, fast POP3 client suitable as a fetchmail replacement|https://marlam.de/mpop/|{{Pkg|mpop}}}}<br />
* {{App|[[OfflineIMAP]]|Synchronizes emails between two repositories.|http://www.offlineimap.org/|{{Pkg|offlineimap}}}}<br />
<br />
==== Instant messaging clients ====<br />
<br />
See also [[Wikipedia:Comparison of instant messaging clients]] and [[Wikipedia:Comparison of VoIP software]].<br />
<br />
This section lists all client software with [[Wikipedia:Instant messaging|instant messaging]] support.<br />
<br />
===== Multi-protocol clients =====<br />
<br />
{{Note|All messengers, that support several networks by means of direct connections to them, belong to this section.}}<br />
<br />
The number of networks supported by these clients is very large but they (like any multi-protocol clients) usually have very limited or no support for network-specific features.<br />
<br />
====== Console ======<br />
<br />
* {{App|BarnOwl|Ncurses-based chat client with support for the Zephyr, XMPP, IRC and Twitter protocols.|http://barnowl.mit.edu/|{{AUR|barnowl}}}}<br />
* {{App|[[Bitlbee|BitlBee]]|IRC gateway to popular chat networks (XMPP, ICQ and Twitter).|http://bitlbee.org/|{{Pkg|bitlbee}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Text mode menu- and window-driven IM interface. Supports most of widely used IM protocols, including ICQ, IRC, XMPP. |http://centerim.org/|{{AUR|centerim}}}}<br />
* {{App|EKG2|Ncurses based XMPP, Gadu-Gadu, ICQ and IRC client. |http://en.ekg2.org/{{Dead link|2018|09|21}}|{{AUR|ekg2}}}}<br />
* {{App|Finch|Ncurses-based chat client that uses libpurple and supports all its protocols (Bonjour, Gadu-Gadu, Groupwise, ICQ, IRC, SIMPLE, XMPP, Zephyr).|http://developer.pidgin.im/wiki/Using%20Finch|{{Pkg|finch}}}}<br />
* {{App|Minbif|IRC gateway to IM networks that uses libpurple.|https://symlink.me/projects/minbif/wiki|{{Pkg|minbif}}}}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|GNOME instant messaging client with audio/video support using the [[Wikipedia:Telepathy (software)|Telepathy]] framework.|https://wiki.gnome.org/Apps/Empathy|{{Pkg|empathy}}}}<br />
* {{App|[[Wikipedia:Jitsi|Jitsi]]|Audio/video VoIP phone and instant messenger written in Java that supports protocols such as SIP, XMPP, ICQ, IRC and many other useful features.|https://jitsi.org/|{{AUR|jitsi}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|User-friendly IM supporting Bonjour, Gadu-Gadu, GroupWise, ICQ, XMPP.|https://userbase.kde.org/Kopete|{{Pkg|kopete}}}}<br />
* {{App|[[KDE#KDE Telepathy|KDE Telepathy]]|KDE instant messaging client using the [[Wikipedia:Telepathy (software)|Telepathy]] framework. Meant as a replacement for Kopete.|https://userbase.kde.org/Telepathy|{{Pkg|telepathy-kde-meta}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client with audio support that uses libpurple and supports all its protocols (Bonjour, Gadu-Gadu, Groupwise, ICQ, IRC, SIMPLE, XMPP, Zephyr).|http://pidgin.im/|{{Pkg|pidgin}}}}<br />
* {{App|qutIM|Simple and user-friendly IM supporting ICQ, XMPP, Mail.Ru, IRC and VKontakte messaging.|http://qutim.org/|{{AUR|qutim}}}}<br />
* {{App|[[Wikipedia:Smuxi|Smuxi]]|Cross-platform IRC client that also supports Twitter and XMPP. |https://smuxi.im/|{{AUR|smuxi}}}}<br />
* {{App|[[Thunderbird]]|Feature-rich email client supports instant messaging and chat using IRC, XMPP and Twitter.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Volt|Proprietary native desktop client for Skype, Telegram, Slack, XMPP, Discord, IRC and more. |https://volt-app.com/|{{AUR|volt}}}}<br />
<br />
===== IRC clients =====<br />
<br />
See also [[Wikipedia:Comparison of Internet Relay Chat clients]].<br />
<br />
====== Console ======<br />
<br />
* {{App|[[Wikipedia:BitchX|BitchX]]|Console-based IRC client developed from the popular [[Wikipedia:ircII|ircII]].|http://www.bitchx.org/|{{AUR|bitchx-git}}}}<br />
* {{App|ERC|Powerful, modular and extensible IRC client for [[Emacs]].|https://savannah.gnu.org/projects/erc/|included with {{Pkg|emacs}}}}<br />
* {{App|[[Wikipedia:Ii (IRC client)|ii]]|Featherweight IRC client, literally {{ic|tail -f}} the conversation and {{ic|echo}} back your replies to a file.|https://tools.suckless.org/ii/|{{AUR|ii}}}}<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client.|https://irssi.org/|{{Pkg|irssi}}}}<br />
* {{App|pork|Programmable, ncurses-based IRC client that mostly looks and feels like ircII.|http://dev.ojnk.net/|{{Pkg|pork}}}}<br />
* {{App|ScrollZ|Advanced IRC client based on [[Wikipedia:ircII|ircII]].|http://www.scrollz.info/|{{AUR|scrollz}}}}<br />
* {{App|sic|Extremely simple IRC client, similar to [[Wikipedia:Ii (IRC client)|ii]].|https://tools.suckless.org/sic/|{{AUR|sic}}}}<br />
* {{App|[[WeeChat]]|Modular, lightweight ncurses-based IRC client.|https://weechat.org/|{{Pkg|weechat}}}}<br />
* {{App|Tiny|an IRC client written in Rust with a clutter-free interface|https://github.com/osa1/tiny|{{AUR|tiny-irc-client-git}}}}<br />
<br />
'''Comparison'''<br />
<br />
{| class="wikitable sortable"<br />
! Name !! Package !! Written in !! Extensible !! [[Wikipedia:Simple Authentication and Security Layer|SASL]]<br />
|-<br />
! [[Wikipedia:BitchX|BitchX]]<br />
| {{AUR|bitchx-git}} || C || {{C|?}} || {{C|?}}<br />
|-<br />
! [https://savannah.gnu.org/projects/erc/ ERC]<br />
| {{Pkg|emacs}} || ELisp || {{G|in ELisp}} || {{Y|[https://www.emacswiki.org/emacs/ErcSASL via script]}}<br />
|-<br />
! [[Wikipedia:Ii (IRC client)|ii]]<br />
| {{AUR|ii}} || C || {{G|stdin/stdout}} || {{No}}<br />
|-<br />
! [[Irssi]]<br />
| {{Pkg|irssi}} || C || {{G|in Perl}} || {{Yes}}<br />
|-<br />
! [http://dev.ojnk.net/ pork]<br />
| {{Pkg|pork}} || C || {{G|in Perl}} || {{No}}<br />
|-<br />
! [http://www.scrollz.info/ ScrollZ]<br />
| {{AUR|scrollz}} || C || {{C|?}} || {{No}}<br />
|-<br />
! [https://tools.suckless.org/sic/ sic]<br />
| {{AUR|sic}} || C || {{G|stdin/stdout}} || {{No}}<br />
|-<br />
! [[WeeChat]]<br />
| {{Pkg|weechat}} || C || {{G|[https://weechat.org/files/doc/stable/weechat_scripting.en.html multiple languages]}} || {{Yes}}<br />
|-<br />
! [https://github.com/osa1/tiny osa1/tiny]<br />
| {{AUR|tiny-irc-client-git}} || Rust || {{No}} || {{Yes}}<br />
|}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|HexChat|Fork of XChat for Linux and Windows.|https://hexchat.github.io/|{{Pkg|hexchat}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE desktop.|https://konversation.kde.org/|{{Pkg|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support.|http://kvirc.net/|{{AUR|kvirc-git}}}}<br />
* {{App|Loqui|GTK IRC client.|https://launchpad.net/loqui|{{AUR|loqui}}}}<br />
* {{App|LostIRC|Simple GTK IRC client with tab-autocompletion, multiple server support, logging and others.|http://lostirc.sourceforge.net|{{AUR|lostirc}}}}<br />
* {{App|Polari|Simple IRC client by the GNOME project.|https://wiki.gnome.org/Apps/Polari|{{Pkg|polari}}}}<br />
* {{App|[[Quassel]]|Modern, cross-platform, distributed IRC client.|http://quassel-irc.org/|{{Pkg|quassel-monolithic}}}}<br />
* {{App|Srain|Modern, beautiful IRC client written in GTK 3.|https://srain.im/|{{AUR|srain}}}}<br />
<br />
===== XMPP clients =====<br />
<br />
See also [[Wikipedia:XMPP]] and [[Wikipedia:Comparison of instant messaging clients#XMPP-related features]].<br />
<br />
====== Console ======<br />
<br />
* {{App|Freetalk|Console-based XMPP client.|https://www.gnu.org/software/freetalk/|{{AUR|freetalk}}}}<br />
* {{App|jabber.el|Minimal XMPP client for [[Emacs]].|http://emacs-jabber.sourceforge.net/|{{AUR|emacs-jabber}}}}<br />
* {{App|jp (Salut à Toi)|CLI frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-jp}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|Small XMPP console client, includes features: SSL, PGP, MUC, OTR and UTF8.|https://mcabber.com/|{{Pkg|mcabber}}}}<br />
* {{App|Poezio|XMPP client with IRC feeling|https://poez.io/|{{AUR|poezio}}}}<br />
* {{App|Primitivus (Salut à Toi)|Console frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-primitivus}}}}<br />
* {{App|Profanity|A console based XMPP client inspired by Irssi.|http://profanity.im/|{{Pkg|profanity}}}}<br />
* {{App|xmpp-client|A minimalist XMPP client with OTR support.|https://github.com/agl/xmpp-client|{{AUR|go-xmpp-client}}}}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|Cagou (Salut à Toi)|Desktop/mobiles frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-cagou-hg}}}}<br />
* {{App|Converse.js|Web-based XMPP chat client written in JavaScript.|https://conversejs.org/|{{AUR|conversejs-git}}}}<br />
* {{App|Dino|A modern, easy to use XMPP client, with PGP and OMEMO support.|https://dino.im/|{{AUR|dino-git}}}}<br />
* {{App|[[Gajim]]|XMPP client with audio support written in PyGTK.|https://gajim.org/|{{Pkg|gajim}}}}<br />
* {{App|[[Wikipedia:Kadu (software)|Kadu]]|Qt-based XMPP and Gadu-Gadu client.|http://www.kadu.im/|{{AUR|kadu}}}}<br />
* {{App|Libervia (Salut à Toi)|Web frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-libervia-hg}}}}<br />
* {{App|Nextcloud JavaScript XMPP Client|Chat app for Nextcloud with XMPP, end-to-end encryption, video calls, file transfer & group chat.|https://github.com/nextcloud/jsxc.nextcloud|{{AUR|nextcloud-app-jsxc}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|Qt-based XMPP client.|https://psi-im.org/|{{Pkg|psi}} or {{Pkg|psi-nowebengine}}}}<br />
* {{App|[[Wikipedia:Spark (XMPP client)|Spark]]|Cross-platform real-time XMPP collaboration client optimized for business and organizations.|https://www.igniterealtime.org/projects/spark/|{{AUR|spark}}}}<br />
* {{App|Swift|XMPP client written in C++ with Qt and Swiften.|https://swift.im/|{{AUR|swift-im}}}}<br />
* {{App|[[Wikipedia:Tkabber|Tkabber]]|Easy to hack feature-rich XMPP client by the author of the ejabberd XMPP server.|http://tkabber.jabber.ru/|{{AUR|tkabber}}}}<br />
* {{App|Vacuum IM|Full-featured crossplatform XMPP client.|https://github.com/Vacuum-IM/vacuum-im|{{AUR|vacuum-im}}}}<br />
<br />
===== SIP clients =====<br />
<br />
See also [[Wikipedia:List of SIP software#Clients]].<br />
<br />
* {{App|[[Jami|Banji]]|SIP-compatible softphone and instant messenger for the decentralized Jami network. KDE client, formerly known as Ring KDE.|https://kde.org/applications/internet/org.kde.ring-kde|{{AUR|ring-kde}}}}<br />
* {{App|[[Wikipedia:Blink (SIP client)|Blink]]|State of the art, easy to use SIP client.|http://icanblink.com/|{{AUR|blink}}}}<br />
* {{App|[[Wikipedia:Ekiga|Ekiga]]|VoIP and video conferencing application with full SIP and H.323 support (formerly known as GNOME Meeting).|http://www.ekiga.org/|{{Pkg|ekiga}}{{Broken package link|package not found}}}}<br />
* {{App|[[Jami]]|SIP-compatible softphone and instant messenger for the decentralized Jami network. Formerly known as Ring and SFLphone.|https://jami.net/|{{Pkg|jami-gnome}}}}<br />
* {{App|[[Wikipedia:Linphone|Linphone]]|VoIP phone application (SIP client) for communicating freely with people over the internet, with voice, video, and text instant messaging.|http://www.linphone.org/|{{AUR|linphone}}}}<br />
* {{App|[[Wikipedia:Twinkle (software)|Twinkle]]|Qt softphone for VoIP and IM communication using SIP.|http://twinkle.dolezel.info/|{{AUR|twinkle-qt5}}}}<br />
<br />
===== Matrix clients =====<br />
<br />
See also [[Matrix]].<br />
<br />
* {{App|Fractal|Matrix client for GNOME written in Rust.|https://wiki.gnome.org/Apps/Fractal|{{Pkg|fractal}}}}<br />
* {{App|nheko|Desktop client for the Matrix protocol.|https://github.com/Nheko-Reborn/nheko|{{AUR|nheko}}, {{AUR|nheko-git}}}}<br />
* {{App|Quaternion|Qt5-based IM client for the Matrix protocol.|https://github.com/QMatrixClient/Quaternion|{{AUR|quaternion}}}}<br />
* {{App|Riot|Glossy Matrix client with an emphasis on performance and usability. Web application and desktop application based on the [https://electronjs.org/ Electron] platform.|https://about.riot.im/|{{Pkg|riot-web}}, {{Pkg|riot-desktop}}}}<br />
* {{App|Tensor|Qt5/QML-based Matrix client.|https://github.com/davidar/tensor|{{AUR|tensor-git}}}}<br />
<br />
===== Tox clients =====<br />
<br />
See also [[Tox]].<br />
<br />
* {{App|qTox|Powerful Tox client written in C++/Qt that follows the Tox design guidelines.|https://qtox.github.io/|{{Pkg|qtox}}}}<br />
* {{App|ratox|FIFO based tox client.|https://ratox.2f30.org/|{{AUR|ratox-git}}}}<br />
* {{App|Ricin|Dead-simple but powerful Tox client.|https://github.com/RicinApp/Ricin|{{AUR|ricin}}}}<br />
* {{App|Toxic|ncurses-based Tox client|https://github.com/Jfreegman/toxic|{{Pkg|toxic}}}}<br />
* {{App|Toxygen|Tox client written in pure Python3.|https://github.com/toxygen-project/toxygen|{{AUR|toxygen-git}}}}<br />
* {{App|Venom|a modern Tox client for the GNU/Linux desktop|https://github.com/naxuroqa/Venom|{{AUR|venom}}}}<br />
* {{App|µTox|Lightweight Tox client.|https://utox.io/|{{Pkg|utox}}}}<br />
<br />
===== Serverless (decentralized) clients =====<br />
<br />
See also [[Avahi#Link-Local (Bonjour/Zeroconf) chat|Bonjour]], [[Ring]], [[Tox]] and [[Wikipedia:Comparison of LAN messengers]].<br />
<br />
* {{App|BeeBEEP|Secure LAN Messenger.|http://beebeep.sourceforge.net/|{{AUR|beebeep}}}}<br />
* {{App|Bit Chat|Secure, peer-to-peer instant messenger.|https://bitchat.im/|{{AUR|bitchat}}}}<br />
* {{App|[[Bitmessage]]|Decentralized and trustless P2P communications protocol for sending encrypted messages to another person or to many subscribers.|https://bitmessage.org/|{{AUR|pybitmessage}}}}<br />
* {{App|iptux|LAN communication software, compatible with IP Messenger.|https://github.com/iptux-src/iptux|{{AUR|iptux}}}}<br />
* {{App|LAN Messenger|P2P chat application for intranet communication and does not require a server. A variety of handy features are supported including notifications, personal and group messaging with encryption, file transfer and message logging.|https://lanmessenger.github.io/|{{AUR|lmc}}}}<br />
* {{App|Patchwork|Decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB). Based on the [https://electronjs.org/ Electron] platform.|https://github.com/ssbc/patchwork|{{AUR|ssb-patchwork}}}}<br />
* {{App|[[RetroShare]]|Serverless encrypted instant messenger with filesharing, chatgroups, mail.|http://retroshare.net/|{{AUR|retroshare}}}}<br />
* {{App|[[Wikipedia:Ricochet (software)|Ricochet]]|Anonymous peer-to-peer instant messaging system built on [[Tor]] hidden services.|https://ricochet.im/|{{AUR|ricochet}}}}<br />
<br />
===== Other IM clients =====<br />
<br />
* {{App|Caprine|Unofficial Facebook Messenger app. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/sindresorhus/caprine|{{Pkg|caprine}}}}<br />
* {{App|[[Wikipedia:Cryptocat|Cryptocat]]|Free software with a simple mission: everyone should be able to chat with their friends in privacy. Based on the [https://electronjs.org/ Electron] platform.|https://crypto.cat/|{{AUR|cryptocat}}}}<br />
* {{App|[[Discord]]|Proprietary all-in-one voice and text chat application for gamers that’s free and works on both your desktop and phone.|https://discordapp.com/|{{Pkg|discord}}}}<br />
* {{App|Esmska|Program for sending SMS over the Internet.|https://github.com/kparal/esmska|{{Pkg|esmska}}}} <br />
* {{App|[[Wikipedia:Gitter|Gitter]]|Communication product for communities and teams on GitHub.|https://gitter.im/|{{AUR|gitter}}}}<br />
* {{App|Hangups|Third-party instant messaging client for Google Hangouts.|https://github.com/tdryer/hangups|{{AUR|hangups}}}}<br />
* {{App|[[ICQ]]|Official ICQ client for Linux.|https://icq.com/linux/|{{AUR|icqdesktop-bin}}}}<br />
* {{App|Licq|Instant messaging client for UNIX supporting ICQ.|http://licq.org/|{{Pkg|licq}}{{Broken package link|package not found}}}}<br />
* {{App|Matterhorn|Console client for the Mattermost chat system.|https://github.com/matterhorn-chat/matterhorn|{{AUR|matterhorn}}}}<br />
* {{App|[[Mattermost]] Desktop|Desktop application for Mattermost. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/mattermost/desktop|{{AUR|mattermost-desktop}}}}<br />
* {{App|[[Mumble]]|Voice chat application similar to TeamSpeak.|http://mumble.sourceforge.net/|{{Pkg|mumble}}}}<br />
* {{App|QHangups|Alternative client for Google Hangouts written in PyQt.|https://github.com/xmikos/qhangups|{{AUR|qhangups}}}}<br />
* {{App|Rocket.Chat Desktop|Desktop application for Rocket.Chat. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/RocketChat/Rocket.Chat.Electron|{{AUR|rocketchat-desktop}}}}<br />
* {{App|[[Wikipedia:Signal (software)|Signal]]|Signal Private Messenger for the Desktop. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/signalapp/Signal-Desktop|{{AUR|signal}}}}<br />
* {{App|[[Wikipedia:Skype|Skype]]|Popular but proprietary application for voice and video communication. Based on the [https://electronjs.org/ Electron] platform.|https://www.skype.com/|{{AUR|skypeforlinux-stable-bin}}}}<br />
* {{App|[[Wikipedia:Slack (software)|Slack]]|Proprietary Slack client for desktop. Based on the [https://electronjs.org/ Electron] platform.|https://slack.com/downloads/linux|{{AUR|slack-desktop}}}}<br />
* {{App|[[TeamSpeak]]|Proprietary VoIP application with gamers as its target audience.|http://www.teamspeak.com/|{{Pkg|teamspeak3}}}}<br />
* {{App|[[Telegram]] Desktop|Official Telegram desktop client.|https://desktop.telegram.org/|{{Pkg|telegram-desktop}}}}<br />
* {{App|[[Wikipedia:Viber|Viber]]|Proprietary cross-platform IM and VoIP software.|https://www.viber.com/products/linux/|{{AUR|viber}}}}<br />
* {{App|[[Wikipedia:Wire (software)|Wire]]|Modern, private messenger. Based on the [https://electronjs.org/ Electron] platform.|https://wire.com/|{{Pkg|wire-desktop}}}}<br />
* {{App|YakYak|Unofficial desktop client for Google Hangouts. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/yakyak/yakyak|{{AUR|yakyak}}}}<br />
* {{App|[[Wikipedia:Zoom Video Communications|Zoom]]|Proprietary video conferencing, online meetings and group messaging application.|https://zoom.us/|{{AUR|zoom}}}}<br />
* {{App|[[Wikipedia:Zulip|Zulip]]|Desktop client for Zulip group chat. Based on the [https://electronjs.org/ Electron] platform.|https://zulipchat.com/apps/linux|{{AUR|zulip-electron-bin}}}}<br />
<br />
==== Instant messaging servers ====<br />
<br />
See also [[Wikipedia:Comparison of instant messaging protocols]].<br />
<br />
===== IRC servers =====<br />
<br />
See also [[Wikipedia:Comparison of Internet Relay Chat daemons]].<br />
<br />
* {{App|[[InspIRCd]]|A stable, modern and lightweight IRC daemon.|https://www.inspircd.org/|{{AUR|inspircd}}}}<br />
* {{App|IRCD-Hybrid|A lightweight, high-performance internet relay chat daemon.|http://www.ircd-hybrid.org/|{{AUR|ircd-hybrid}}}}<br />
* {{App|miniircd|A small and configuration free IRC server, suitable for private use.|https://github.com/jrosdahl/miniircd|{{AUR|miniircd-git}}}}<br />
* {{App|[[UnrealIRCd]]|Open Source IRC Server.|https://www.unrealircd.org/|{{Pkg|unrealircd}}}}<br />
<br />
===== XMPP servers =====<br />
<br />
See also [[Wikipedia:Comparison of XMPP server software]].<br />
<br />
* {{App|[[Prosody]]|An XMPP server written in the [http://www.lua.org/ Lua] programming language. Prosody is designed to be lightweight and highly extensible. It is licensed under a permissive [http://prosody.im/source/mit MIT license].|http://prosody.im/|{{Pkg|prosody}}}}<br />
* {{App|Ejabberd|Robust, scalable and extensible XMPP Server written in Erlang|https://www.ejabberd.im/|{{Pkg|ejabberd}}}}<br />
* {{App|[[Jabberd2]]|An XMPP server written in the C language and licensed under the GNU General Public License. It was inspired by jabberd14.|http://jabberd2.org|{{AUR|jabberd2}}}}<br />
* {{App|[[Openfire]]|An XMPP IM multiplatform server written in Java|http://www.igniterealtime.org/projects/openfire/|{{Pkg|openfire}}}}<br />
<br />
===== SIP servers =====<br />
<br />
See also [[Wikipedia:List of SIP software#Servers]].<br />
<br />
* {{App|[[Asterisk]]|A complete PBX solution.|https://www.asterisk.org/|{{AUR|asterisk}}}}<br />
* {{App|Kamailio|Rock solid SIP server.|https://www.kamailio.org/|{{AUR|kamailio}}}}<br />
* {{App|openSIPS|SIP proxy/server for voice, video, IM, presence and any other SIP extensions.|https://opensips.org/|{{Pkg|opensips}}}}<br />
* {{App|Repro|An open-source, free SIP server.|https://www.resiprocate.org/About_Repro|{{AUR|repro}}}}<br />
* {{App|[[Wikipedia:Yate (telephony engine)|Yate]]|Advanced, mature, flexible telephony server that is used for VoIP and fixed networks, and for traditional mobile operators and MVNOs.|http://yate.ro/|{{Pkg|yate}}}}<br />
<br />
===== Other IM servers =====<br />
<br />
* {{App|[[Mattermost]]|Open source private cloud server, Slack-alternative.|https://github.com/mattermost/mattermost-server|{{AUR|mattermost}}}}<br />
* {{App|[[Murmur]]|The voice chat application server for Mumble.|http://mumble.sourceforge.net/|{{Pkg|murmur}}}}<br />
* {{App|Nextcloud Talk|Video- and audio-conferencing app for Nextcloud.|https://github.com/nextcloud/spreed|{{Pkg|nextcloud-app-spreed}}}}<br />
* {{App|Rocket.Chat|Web chat server, developed in JavaScript, using the Meteor fullstack framework.|https://github.com/RocketChat/Rocket.Chat|{{AUR|rocketchat-server}}}}<br />
* {{App|Spreed WebRTC|WebRTC audio/video call and conferencing server.|https://github.com/strukturag/spreed-webrtc|{{AUR|spreed-webrtc-server}}}}<br />
* {{App|[[Matrix|Synapse]]|Reference homeserver for the Matrix protocol.|https://github.com/matrix-org/synapse|{{Pkg|matrix-synapse}}}}<br />
* {{App|[[TeamSpeak]] Server|Proprietary VoIP conference server.|https://teamspeak.com/|{{Pkg|teamspeak3-server}}}}<br />
* {{App|uMurmur|Minimalistic Mumble server.|http://umurmur.net/|{{Pkg|umurmur}}}}<br />
<br />
==== Collaborative software ====<br />
<br />
See also [[Wikipedia:Collaborative software]].<br />
<br />
* {{App|[[Wikipedia:Citadel/UX|Citadel/UX]]|Includes an email & mailing list server, instant messaging, address books, calendar/scheduling, bulletin boards, and wiki and blog engines.|http://www.citadel.org/|{{AUR|webcit}}}}<br />
* {{App|[[Kolab]]|Kolab Groupware solution consisting of a server and various clients.|https://kolab.org/|{{AUR|kolab}}}}<br />
* {{App|[[Open-xchange]]|A groupware solution providing mail facilities, calendaring, shared contacts and Google-Docs-like text editing|http://www.ox.io/|{{AUR|open-xchange}}}}<br />
* {{App|[[SOGo]]|Groupware server built around OpenGroupware.org (OGo) and the SOPE application server.|https://sogo.nu/|{{AUR|sogo}}}}<br />
<br />
=== News, RSS, and blogs ===<br />
<br />
==== News aggregators ====<br />
<br />
[[Wikipedia:RSS|RSS]]/[[Wikipedia:Atom (standard)|Atom]] aggregators. Some [[#Email clients|email clients]] are also able to act as news aggregator: [[Wikipedia:Claws Mail|Claws Mail]] RSSyl plugin, [[Evolution]] RSS plugin, [[Wikipedia:SeaMonkey#Mail|SeaMonkey Mail & Newsgroups]], [[Thunderbird]].<br />
<br />
See also [[Wikipedia:Comparison of feed aggregators]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[Wikipedia:Canto (news aggregator)|Canto]]|Ncurses RSS aggregator.|http://codezen.org/canto/|{{AUR|canto-curses}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|Email, NNTP and RSS client for Emacs.|http://gnus.org/|{{Pkg|emacs}}}}<br />
* {{App|[[Newsboat]]|Ncurses RSS aggregator with layout and keybinding similar to the [[Mutt]] email client.|http://newsboat.org|{{Pkg|newsboat}}}}<br />
* {{App|Rawdog|"RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in chronological order.|http://offog.org/code/rawdog.html|{{Pkg|rawdog}}}}<br />
* {{App|Snownews|Text mode RSS news reader.|https://github.com/kouya/snownews|{{AUR|snownews}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Wikipedia:Kontact#News Feed Aggregator|Akregator]]|News aggregator for KDE, part of {{Grp|kdepim}}.|https://www.kde.org/applications/internet/akregator/|{{Pkg|akregator}}}}<br />
* {{App|Alduin|RSS, Atom and JSON feed aggregator. Based on the [https://electronjs.org/ Electron] platform.|https://alduinapp.github.io/|{{AUR|alduin}}}}<br />
* {{App|FeedReader| Modern desktop application designed to complement existing web-based RSS accounts.|http://jangernert.github.io/FeedReader/|{{Pkg|feedreader}}}}<br />
* {{App|[[Wikipedia:Liferea|Liferea]]|GTK news aggregator for online news feeds and weblogs.|https://lzone.de/liferea/|{{Pkg|liferea}}}}<br />
* {{App|[[Nextcloud]] News|RSS/Atom feed reader for Nextcloud.|https://github.com/nextcloud/news|{{Pkg|nextcloud-app-news}}}}<br />
* {{App|QuiteRSS|RSS/Atom feed reader written on Qt/С++.|http://quiterss.org/|{{Pkg|quiterss}}}}<br />
* {{App|RSS Guard|Very tiny RSS and ATOM news reader developed using Qt framework.|https://github.com/martinrotter/rssguard|{{Pkg|rssguard}} or {{Pkg|rssguard-nowebengine}}}}<br />
* {{App|selfoss|The new multipurpose RSS reader, live stream, mashup, aggregation web application.|https://selfoss.aditu.de/|{{AUR|selfoss}}}}<br />
* {{App|Tickr|GTK-based RSS Reader that displays feeds as a smooth scrolling line on your desktop, as known from TV stations.|https://www.open-tickr.net/|{{AUR|tickr}}}}<br />
* {{App|[[Wikipedia:Tiny Tiny RSS|Tiny Tiny RSS]]|Web-based news feed (RSS/Atom) aggregator.|https://tt-rss.org/|{{Pkg|tt-rss}}}}<br />
<br />
==== Podcast clients ====<br />
<br />
Some media players are also able to act as podcast client: [[Amarok]], [[Wikipedia:Banshee (media player)|Banshee]], Cantata, [[Wikipedia:Clementine_(software)|Clementine]], Goggles Music Manager, [[Wikipedia:Rhythmbox|Rhythmbox]], [[VLC media player]]. [[Wikipedia:git-annex|git-annex]] can also [https://git-annex.branchable.com/tips/downloading_podcasts/ function as podcatcher].<br />
<br />
See also [[Wikipedia:List of podcatchers]].<br />
<br />
===== Console =====<br />
<br />
* {{App|castget|Simple, command-line RSS enclosure downloader, primarily intended for automatic, unattended downloading of podcasts.|http://castget.johndal.com/|{{Pkg|castget}}}}<br />
* {{App|gpo|Text mode interface of gPodder.|http://gpodder.org/|{{Pkg|gpodder}}}}<br />
* {{App|Greg|A command-line podcast aggregator.|https://github.com/manolomartinez/greg|{{AUR|greg-git}}}}<br />
* {{App|Marrie|A simple podcast client that runs on the Command Line Interface.|https://github.com/rafaelmartins/marrie/|{{AUR|marrie-git}}}}<br />
* {{App|pcd|A minimal podcast client written in go|https://github.com/kvannotten/pcd|{{AUR|pcd}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|CPod|Simple, beautiful podcast app. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/z-------------/cumulonimbus|{{AUR|cpod-bin}}}}<br />
* {{App|GNOME Podcasts|Podcast client for the GNOME Desktop written in Rust.|https://gitlab.gnome.org/World/podcasts|{{Pkg|gnome-podcasts}}}}<br />
* {{App|gPodder|Podcast client and media aggregator (GTK interface).|http://gpodder.org/|{{Pkg|gpodder}}}}<br />
* {{App|Vocal|Simple podcast client for the Modern Desktop (GTK).|http://vocalproject.net/|{{Pkg|vocal}}}}<br />
<br />
==== Usenet newsreaders ====<br />
<br />
Some [[#Email clients|email clients]] are also able to act as Usenet newsreader: [[Wikipedia:Claws Mail|Claws Mail]], [[Evolution]], [[Mutt#NeoMutt|NeoMutt]], [[Wikipedia:SeaMonkey#Mail|SeaMonkey Mail & Newsgroups]], [[Wikipedia:Sylpheed|Sylpheed]], [[Thunderbird]].<br />
<br />
See also: [[Wikipedia:List of Usenet newsreaders]], [[Wikipedia:Comparison of Usenet newsreaders]].<br />
<br />
===== Console =====<br />
<br />
* {{app|[[Wikipedia:nn (newsreader)|nn]]|Alternative more user-friendly (curses-based) Usenet newsreader for UNIX.|http://www.nndev.org/|{{AUR|nn}}}}<br />
* {{app|[[Wikipedia:slrn|slrn]]|Text-based news client.|http://www.slrn.org/|{{AUR|slrn}}}}<br />
* {{app|[[Wikipedia:Tin_(newsreader)|tin]]|A cross-platform threaded NNTP and spool based UseNet newsreader.|http://tin.org/|{{AUR|tin}}}}<br />
* {{app|trn|A text-based Threaded Usenet newsreader.|http://trn.sourceforge.net/|{{AUR|trn}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{app|LottaNZB|A ''SABnzbd'' (Usenet binary downloader) GUI front-end written in PyGTK|https://launchpad.net/lottanzb/|{{aur|lottanzb}}}}<br />
* {{app|[[NZBGet]]|Usenet binary downloader for .nzb files with web and CLI interface.|https://nzbget.net/|{{Pkg|nzbget}}}}<br />
* {{app|[[Wikipedia:Pan (newsreader)|Pan]]|GTK Usenet newsreader that's good at both text and binaries.|http://pan.rebelbase.com/|{{Pkg|pan}}}}<br />
* {{app|[[SABnzbd]]|An open-source binary newsreader webapp written in Python.|https://sabnzbd.org/|{{AUR|sabnzbd}}}}<br />
* {{app|XRN|Usenet newsreader for X Window System.|http://www.mit.edu/people/jik/software/xrn.html|{{AUR|xrn}}}}<br />
<br />
==== Microblogging clients ====<br />
<br />
See also [[Wikipedia:List of Twitter services and applications]].<br />
<br />
===== Console =====<br />
<br />
* {{App|oysttyer|(official fork of ttytter) An interactive console text-based command-line Twitter client written in Perl.|https://github.com/oysttyer/oysttyer|{{AUR|oysttyer-git}}}}<br />
* {{App|Rainbowstream|A powerful and fully-featured console Twitter client written in Python.|https://github.com/orakaro/rainbowstream |{{AUR|rainbowstream}}}}<br />
* {{App|turses|Twitter client for the console based off ''tyrs'' with major improvements.|https://github.com/louipc/turses|{{AUR|turses-git}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|Birdie|Beautiful Twitter client designed for elementary OS.|https://www.amuza.uk/birdie|{{AUR|birdie-git}}}}<br />
* {{App|Choqok|Microblogging client for KDE that supports Twitter.com, Pump.io, GNU social and opendesktop.org services.|http://choqok.gnufolks.org/|{{Pkg|choqok}}}}<br />
* {{App|Corebird|Native GTK Twitter client for the Linux desktop.|http://corebird.baedert.org/|{{AUR|corebird}}{{Broken package link|package not found}}}}<br />
* {{App|Mikutter|Simple, powerful Twitter client using [[GTK]] and Ruby.|http://mikutter.hachune.net/|{{AUR|mikutter}}}}<br />
* {{App|Polly|Linux Twitter client designed for multiple columns of multiple accounts.|https://launchpad.net/polly/|{{AUR|polly}}}}<br />
* {{App|Pumpa|Pump.io client written in C++ and Qt.|https://pumpa.branchable.com/|{{AUR|pumpa-git}}}}<br />
* {{App|Turpial|Multi-interface Twitter client written in Python.|http://turpial.org.ve/|{{AUR|turpial-git}}}}<br />
* {{App|Whalebird|Mastodon client application. Based on the [https://electronjs.org/ Electron] platform.|https://whalebird.org/|{{AUR|whalebird-bin}}}}<br />
<br />
==== Blog engines ====<br />
<br />
See also [[Wikipedia:Blog software]] and [[Wikipedia:List of content management systems]].<br />
{{note|Content managers, social networks, and blog publishers overlap in many functions.}}<br />
* {{App|[[Diaspora]]|A distributed privacy aware social network.|https://diasporafoundation.org|{{AUR|diaspora-mysql}} or {{AUR|diaspora-postgresql}}}}<br />
* {{App|[[Drupal]]|A PHP-based content management platform.|http://www.drupal.org/|{{Pkg|drupal}}}}<br />
* {{App|[[Ghost]]|Blogging platform written in JavaScript and distributed under the MIT License, designed to simplify the process of online publishing for individual bloggers as well as online publications.|https://ghost.org/|{{AUR|ghost}}{{Broken package link|package not found}}}}<br />
* {{App|[[Joomla]]|A php Content Management System (CMS) which enables you to build websites and powerful online applications.|http://www.joomla.org/|{{AUR|joomla}}}}<br />
* {{App|[[Wordpress]]|Blog tool and publishing platform.|https://wordpress.org/|{{Pkg|wordpress}}}}<br />
<br />
==== Static site generators ====<br />
<br />
* {{App|Hexo|Fast, simple and powerful blog framework.|https://hexo.io/|{{AUR|nodejs-hexo-cli}}}}<br />
* {{App|Hugo|Hugo is a static HTML and CSS website generator written in Go. It is optimized for speed, ease of use, and configurability.|https://gohugo.io/|{{Pkg|hugo}}}}<br />
* {{App|[[Jekyll]]|Static blog engine, written in Ruby, which supports Markdown, textile and other formats.|http://jekyllrb.com/|{{AUR|jekyll}}}}<br />
* {{App|Nanoblogger|A small weblog engine written in Bash for the command line. It uses common UNIX tools such as cat, grep, and sed to create static HTML content. It is not maintained anymore.|http://nanoblogger.sourceforge.net/|{{AUR|nanoblogger}}}}<br />
* {{App|Nikola|Static site generator written in Python, with incremental rebuilds and multiple markup formats.|https://getnikola.com/|{{Pkg|nikola}}}}<br />
* {{app|Pelican|Static site generator, powered by Python.|http://docs.getpelican.com/|{{Pkg|pelican}}}}<br />
<br />
=== Remote desktop ===<br />
<br />
See also [[Wikipedia:Remote desktop software]] and [[Wikipedia:Comparison of remote desktop software]].<br />
<br />
==== Remote desktop clients ====<br />
<br />
* {{App|[[Wikipedia:AnyDesk|AnyDesk]]|Proprietary remote desktop software.|https://anydesk.com/|{{AUR|anydesk}}}}<br />
* {{App|[[Wikipedia:GNOME Boxes|GNOME Boxes]]|A simple GNOME 3 application to access remote or virtual systems. Supports VNC and SPICE.|https://wiki.gnome.org/Apps/Boxes|{{Pkg|gnome-boxes}}}}<br />
* {{App|GVncViewer|Simple VNC Client on Gtk-VNC. Run with {{ic|gvncviewer}}.|https://wiki.gnome.org/Projects/gtk-vnc|{{Pkg|gtk-vnc}}}}<br />
* {{App|[[Wikipedia:KRDC|KRDC]]|Remote Desktop Client for KDE. Supports RDP and VNC. Part of {{Grp|kdenetwork}}.|https://www.kde.org/applications/internet/krdc/|{{Pkg|krdc}}}}<br />
* {{App|[[Remmina]]|Remote desktop client written in GTK. Supports RDP, VNC, NX, XDMCP and SSH.|http://www.remmina.org/|{{Pkg|remmina}}}}<br />
* {{App|Remote Viewer|Simple remote display client. Supports SPICE and VNC.|https://virt-manager.org/|{{Pkg|virt-viewer}}}}<br />
* {{App|[[Wikipedia:TeamViewer|TeamViewer]]|Proprietary remote desktop client. It uses its own proprietary protocol.|http://www.teamviewer.com/|{{AUR|teamviewer}}}}<br />
* {{App|[[TigerVNC|vncviewer (TigerVNC)]]|VNC viewer for X.|http://tigervnc.org/|{{Pkg|tigervnc}}}}<br />
* {{App|[[Wikipedia:Vinagre|Vinagre]]|Remote desktop viewer for GNOME. Supports RDP, VNC, SPICE and SSH. Part of {{Grp|gnome-extra}}.|https://wiki.gnome.org/Apps/Vinagre|{{Pkg|vinagre}}}}<br />
* {{App|xfreerdp|FreeRDP X11 client. Run with {{ic|xfreerdp}}.|http://www.freerdp.com/|{{Pkg|freerdp}}}}<br />
* {{App|[[X2Go]] Client|A graphical client (Qt4) for the X2Go system that uses the [[w:NX technology|NX technology]] protocol.|http://wiki.x2go.org/doku.php|{{Pkg|x2goclient}}}}<br />
<br />
==== Remote desktop servers ====<br />
<br />
* {{App|Krfb|VNC server for KDE. Part of {{Grp|kdenetwork}}.|https://www.kde.org/applications/system/krfb|{{Pkg|krfb}}}}<br />
* {{App|[[Vino]]|VNC server for GNOME. Part of {{Grp|gnome}}.|https://wiki.gnome.org/Projects/Vino|{{Pkg|vino}}}}<br />
* {{App|[[TigerVNC|x0vncserver (TigerVNC)]]|VNC Server for X displays.|http://tigervnc.org/|{{Pkg|tigervnc}}}}<br />
* {{App|[[x11vnc]]|VNC server for real X displays.|http://www.karlrunge.com/x11vnc/|{{Pkg|x11vnc}}}}<br />
* {{App|[[X2Go]] Server|An open source remote desktop software that uses the [[w:NX technology|NX technology]] protocol.|http://wiki.x2go.org/doku.php|{{Pkg|x2goserver}}}}<br />
* {{App|[[Xrdp]]|A daemon that supports RDP. It uses Xvnc, X11rdp or xorgxrdp as a backend.|http://www.xrdp.org/|{{AUR|xrdp}}}}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=List_of_applications/Internet&diff=581381List of applications/Internet2019-09-03T04:14:04Z<p>Anonymous user: updated beaker aur package name</p>
<hr />
<div><noinclude><br />
[[Category:Internet applications]]<br />
[[Category:Lists of software]]<br />
[[cs:List of applications/Internet]]<br />
[[es:List of applications/Internet]]<br />
[[it:List of applications/Internet]]<br />
[[ja:アプリケーション一覧/インターネット]]<br />
[[ru:List of applications/Internet]]<br />
[[zh-hans:List of applications/Internet]]<br />
[[zh-hant:List of applications/Internet]]<br />
{{List of applications navigation}}<br />
</noinclude><br />
== Internet ==<br />
<br />
=== Network connection ===<br />
<br />
==== Network managers ====<br />
<br />
{{Move|Network configuration#Network managers|There's a dedicated article.}}<br />
<br />
* {{App|[[ConnMan]]|Daemon for managing internet connections within embedded devices running the Linux operating system. Comes with a command-line client, plus Enlightenment, ncurses, GTK and Dmenu clients are available.|https://01.org/connman|{{Pkg|connman}}}}<br />
* {{App|dhclient|DHCP client from the Internet Systems Consortium.|https://www.isc.org/downloads/dhcp/|{{Pkg|dhclient}}}}<br />
* {{App|[[dhcpcd]]|RFC2131 compliant DHCP client daemon.|https://roy.marples.name/projects/dhcpcd|{{Pkg|dhcpcd}}}}<br />
* {{App|[[netctl]]|Simple and robust tool to manage network connections via profiles. Intended for use with [[systemd]].|https://projects.archlinux.org/netctl.git/|{{Pkg|netctl}}}}<br />
* {{App|[[NetworkManager]]|Manager that provides wired, wireless, mobile broadband and OpenVPN detection with configuration and automatic connection.|https://wiki.gnome.org/Projects/NetworkManager|CLI: {{Pkg|networkmanager}}, GUI: {{Pkg|network-manager-applet}}}}<br />
* {{App|[[systemd-networkd]]|Native [[systemd]] daemon that manages network configuration. It includes support for basic network configuration through [[udev]].|http://www.freedesktop.org/software/systemd/man/systemd-networkd.service.html|{{Pkg|systemd}}}}<br />
* {{App|[[Wicd]]|Wireless and wired connection manager with few dependencies. Comes with ncurses and GTK interfaces.|https://launchpad.net/wicd|CLI: {{Pkg|wicd}}, GUI: {{Pkg|wicd-gtk}}}}<br />
* {{app|[[Wifi Radar]]|''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.|http://wifi-radar.tuxfamily.org/|{{pkg|wifi-radar}}}}<br />
* {{app|wpa-cute| Is a graphical Qt [[wpa_supplicant]] front end to manage your wireless profiles ''only''. It offer to change and add profiles or scan for networks and connect to them by [[Wikipedia:Wi-Fi_Protected_Setup|WPS]].|https://github.com/loh-tar/wpa-cute|{{aur|wpa-cute}}}}<br />
<br />
See also [[Network configuration#Network managers]].<br />
<br />
==== VPN clients ====<br />
<br />
* {{App|Bitmask|Secured and encrypted communication using various service providers|https://bitmask.net/|{{AUR|bitmask}}}}<br />
* {{App|Libreswan| A free software implementation of the most widely supported and standarized VPN protocol based on ("IPsec") and the Internet Key Exchange ("IKE").|https://libreswan.org/|{{AUR|libreswan}}}}<br />
* {{App|[[NetworkManager]]|Supports a variety of protocols (e.g. MS, Cisco, Fortinet) via a plugin system.|https://wiki.gnome.org/Projects/NetworkManager/VPN|{{pkg|networkmanager}}}}<br />
* {{App|[[OpenConnect]]|Supports Cisco and Juniper VPNs.|http://www.infradead.org/openconnect/|{{pkg|openconnect}}}}<br />
* {{App|[[Openswan]]|IPsec-based VPN Solution.|https://www.openswan.org/|{{AUR|openswan}}}}<br />
* {{App|[[OpenVPN]]|To connect to OpenVPN VPNs.|https://openvpn.net/|{{pkg|openvpn}}}}<br />
* {{App|[[PPTP Client]]|To connect to PPTP VPNs, like Microsoft VPNs (MPPE). (insecure)|http://pptpclient.sourceforge.net/|{{pkg|pptpclient}}}}<br />
* {{App|[[strongSwan]]|IPsec-based VPN Solution.|https://www.strongswan.org/|{{pkg|strongswan}}}}<br />
* {{App|[[tinc]]|tinc is a free VPN daemon.|https://www.tinc-vpn.org/|{{pkg|tinc}}}}<br />
* {{App|[[Vpnc]]|To connect to Cisco 3000 VPN Concentrators.|https://www.unix-ag.uni-kl.de/~massar/vpnc/|{{pkg|vpnc}}}}<br />
* {{App|[[WireGuard]]|Next generation secure network tunnel.|https://www.wireguard.com/|{{Pkg|wireguard-tools}}}}<br />
<br />
==== Proxy servers ====<br />
<br />
* {{App|Dante|SOCKS server and SOCKS client, implementing RFC 1928 and related standards.|https://www.inet.no/dante/|{{Pkg|dante}}}}<br />
* {{App|[[Privoxy]]|Non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk.|https://www.privoxy.org/|{{Pkg|privoxy}}}}<br />
* {{App|Project V|Project V is a set of tools to help you build your own privacy network over internet.|https://www.v2ray.com/en/|{{Pkg|v2ray}}}}<br />
* {{App|[[Shadowsocks]]|Secure socks5 proxy, designed to protect your Internet traffic.|https://www.shadowsocks.org/en/index.html|Python: {{Pkg|shadowsocks}}, C: {{Pkg|shadowsocks-libev}}, Qt: {{Pkg|shadowsocks-qt5}}}}<br />
* {{App|[[Squid]]|Caching proxy for the Web supporting HTTP, HTTPS, FTP, and more.|http://www.squid-cache.org/|{{Pkg|squid}}}}<br />
* {{App|[[Stunnel]]|A server and client to add and remove TLS encryption to TCP data flow.|https://www.stunnel.org/|{{Pkg|stunnel}}}}<br />
* {{App|Tinyproxy|Lightweight HTTP/HTTPS proxy daemon.|https://tinyproxy.github.io/|{{Pkg|tinyproxy}}}}<br />
* {{App|[[Trojan]]|An unidentifiable mechanism that helps you bypass GFW.|https://trojan-gfw.github.io/trojan/|{{Pkg|trojan}}}}<br />
* {{App|[[Varnish]]|High-performance HTTP accelerator.|https://varnish-cache.org/|{{Pkg|varnish}}}}<br />
* {{App|Ziproxy|Forwarding (non-caching) compressing HTTP proxy server.|http://ziproxy.sourceforge.net/|{{Pkg|ziproxy}}}}<br />
<br />
==== Anonymizing networks ====<br />
<br />
* {{App|[[Freenet]]|An encrypted network without censorship.|https://freenetproject.org/|{{AUR|freenet}}}}<br />
* {{App|[[GNUnet]]|Framework for secure peer-to-peer networking.|https://gnunet.org/|CLI: {{Pkg|gnunet}}, GUI: {{Pkg|gnunet-gtk}}}}<br />
* {{App|[[I2P]]|Distributed anonymous network.|https://geti2p.net/|{{AUR|i2p}}}}<br />
* {{App|[[Lantern]]|Peer-to-peer internet censorship circumvention software.|https://getlantern.org/|{{AUR|lantern-bin}}}}<br />
* {{App|[[Tor]]|Anonymizing overlay network.|https://www.torproject.org/|{{Pkg|tor}}}}<br />
<br />
=== Web browsers ===<br />
<br />
See also [[Wikipedia:Comparison of web browsers]].<br />
<br />
==== Console ====<br />
<br />
* {{App|[[ELinks]]|Advanced and well-established feature-rich text mode web browser with mouse wheel scroll support (links fork, barely supported since 2009).|http://elinks.or.cz/|{{Pkg|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|Graphics and text mode web browser. Includes a console version similar to Lynx.|http://links.twibright.com/|{{Pkg|links}}}}<br />
* {{App|[[Wikipedia:Lynx (web browser)|Lynx]]|Text browser for the World Wide Web.|http://lynx.invisible-island.net/|{{Pkg|lynx}}}}<br />
* {{App|[[Wikipedia:W3m|w3m]]|Pager/text-based web browser. It has vim-like keybindings, and is able to display images.|http://w3m.sourceforge.net/|{{Pkg|w3m}}}}<br />
<br />
==== Graphical ====<br />
<br />
===== Gecko-based =====<br />
<br />
See also [[Wikipedia:Gecko (software)]].<br />
<br />
* {{App|[[Firefox]]|Extensible browser from Mozilla based on Gecko with fast rendering.|https://mozilla.com/firefox|{{Pkg|firefox}}}}<br />
* {{App|[[Wikipedia:SeaMonkey|SeaMonkey]]|Continuation of the Mozilla Internet Suite.|http://www.seamonkey-project.org/|{{Pkg|seamonkey}}}}<br />
<br />
====== Firefox spin-offs ======<br />
* {{App|[[Wikipedia:Cliqz|Cliqz]]|Firefox-based privacy aware web browser.|https://cliqz.com/|{{AUR|cliqz}} or {{AUR|cliqz-bin}}}}<br />
* {{App|Cyberfox|Fast and privacy oriented fork of Mozilla Firefox.|https://cyberfox.8pecxstudios.com/|{{AUR|cyberfox-bin}}}}<br />
* {{App|[[Wikipedia:GNU IceCat|GNU IceCat]]|A customized build of Firefox ESR distributed by the GNU Project, stripped of non-free components and with additional privacy extensions. Release cycle may be delayed compared to Mozilla Firefox.|https://www.gnu.org/software/gnuzilla/|{{AUR|icecat}} or {{AUR|icecat-bin}}}}<br />
* {{App|LibreWolf|A fork of Firefox, focused on privacy, security and freedom.|https://librewolf-community.gitlab.io/|{{AUR|librewolf}} or {{AUR|librewolf-bin}}}}<br />
* {{App|Waterfox|Optimized fork of Mozilla Firefox, without data collection and allowing unsigned extensions and NPAPI plugins.|https://www.waterfoxproject.org/|{{AUR|waterfox-bin}}}}<br />
<br />
===== Blink-based =====<br />
<br />
See also [[Wikipedia:Blink (web engine)]].<br />
<br />
* {{App|[[Chromium]]|Web browser developed by Google, the open source project behind Google Chrome.|https://www.chromium.org/|{{Pkg|chromium}}}}<br />
<br />
====== Privacy-focused chromium spin-offs ======<br />
<br />
* {{App|[[Wikipedia:Brave (web browser)|Brave]]|Web browser that blocks ads and trackers by default.|https://www.brave.com/|{{AUR|brave-bin}}}}<br />
* {{App|Iridium|A privacy-focused [https://git.iridiumbrowser.de/cgit.cgi/iridium-browser/tree/?h&#61;patchview patchset] for Chromium. See [https://github.com/iridium-browser/tracker/wiki/Differences-between-Iridium-and-Chromium differences from Chromium].|https://iridiumbrowser.de/|{{AUR|iridium-deb}}}}<br />
* {{App|Ungoogled Chromium|Modifications to Google Chromium for removing Google integration and enhancing privacy, control, and transparency|https://github.com/Eloston/ungoogled-chromium|{{AUR|ungoogled-chromium}}}}<br />
<br />
====== Proprietary chromium spin-offs ======<br />
<br />
* {{App|[[Google Chrome]]|Proprietary web browser developed by Google.|https://www.google.com/chrome/|{{AUR|google-chrome}}}}<br />
* {{App|[[Opera]]|Proprietary browser developed by Opera Software.|https://opera.com|{{Pkg|opera}}}}<br />
* {{App|[[Wikipedia:SlimBrowser|Slimjet]]|Fast, smart and powerful proprietary browser based on Chromium.|http://www.slimjet.com/|{{AUR|slimjet}}}}<br />
* {{App|[[Vivaldi]]|An advanced proprietary browser made with the power user in mind.|https://vivaldi.com/|{{AUR|vivaldi}}}}<br />
* {{App|[[Wikipedia:Yandex Browser|Yandex Browser]]|Proprietary browser that combines a minimal design with sophisticated technology to make the web faster, safer, and easier.|https://browser.yandex.com/|{{AUR|yandex-browser-beta}}}}<br />
<br />
====== Browsers based on qt5-webengine ======<br />
<br />
* {{App|Crusta|Blazingly fast full feature web browser with unique features.|https://github.com/Crusta/CrustaBrowser/|{{AUR|crusta}}}}<br />
* {{App|[[Wikipedia:Dooble|Dooble]]|Colorful Web browser.|https://textbrowser.github.io/dooble/|{{AUR|dooble}}}}<br />
* {{App|[[Wikipedia:Eric Python IDE|Eric]]|QtWebEngine-based HTML browser, part of the eric6 development toolset, can be launched with the {{ic|eric6_browser}} command.|https://eric-ide.python-projects.org/|{{Pkg|eric}}}}<br />
* {{App|[[Wikipedia:Falkon|Falkon]]|Web browser based on QtWebEngine, written in Qt framework.|https://falkon.org/|{{pkg|falkon}}}}<br />
* {{App|[[Wikipedia:Konqueror|Konqueror]]|Web browser based on Qt toolkit and Qt WebEngine (or KHTML layout engine), part of {{Grp|kdebase}}. |http://konqueror.org/|{{Pkg|konqueror}}}}<br />
* {{App|Liri Browser|A minimalistic material design web browser written for Liri.|https://github.com/lirios/browser|{{AUR|liri-browser-git}}}}<br />
* {{App|[[Otter Browser]]|Browser aiming to recreate classic Opera (12.x) UI using Qt5. It can use Qt WebEngine as an alternative backend.|https://otter-browser.org/|{{Pkg|otter-browser}}}}<br />
* {{App|Qt WebBrowser|Browser for embedded devices developed using the capabilities of Qt and Qt WebEngine.|http://doc.qt.io/QtWebBrowser/|{{AUR|qtwebbrowser}}}}<br />
* {{App|[[qutebrowser]]|A keyboard-driven, [[vim]]-like browser based on PyQt5 and QtWebEngine.|https://qutebrowser.org/|{{Pkg|qutebrowser}}}}<br />
<br />
====== Browsers based on electron ======<br />
<br />
* {{App|Beaker|Peer-to-peer web browser with tools to create and host websites. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/beakerbrowser/beaker|{{AUR|beaker}}<br />
* {{App|Min|A smarter, faster web browser based on the [https://electronjs.org/ Electron] platform.|https://minbrowser.github.io/min/|{{Pkg|min}}}}<br />
<br />
===== WebKit-based =====<br />
<br />
See also [[Wikipedia:WebKit]].<br />
<br />
{{Note|webkitgtk, webkitgtk2 and qtwebkit-based browsers were removed from the list, because these are today considered insecure and outdated. More info [https://blogs.gnome.org/mcatanzaro/2016/02/01/on-webkit-security-updates/ here].}}<br />
<br />
====== Browsers based on webkit2gtk ======<br />
<br />
* {{App|Eolie|Simple web browser for GNOME.|https://wiki.gnome.org/Apps/Eolie|{{Pkg|eolie}}}}<br />
* {{App|[[GNOME Web]]|Browser which uses the WebKitGTK rendering engine, part of {{Grp|gnome}}.|https://wiki.gnome.org/Apps/Web/|{{Pkg|epiphany}}}}<br />
* {{App|[[Lariza]]|A simple, experimental web browser using GTK 3, GLib and WebKit2GTK.|https://www.uninformativ.de/git/lariza/|{{AUR|lariza}}}}<br />
* {{App|[[Luakit]]|Fast, small, webkit based browser framework extensible by Lua.|https://luakit.github.io/|{{Pkg|luakit}}}}<br />
* {{App|[[Midori]]|Lightweight web browser based on GTK and WebKit.|http://midori-browser.org/|{{Pkg|midori}}}}<br />
* {{App|Next|Keyboard-oriented, infinitely extensible browser.|https://next.atlas.engineer/|{{AUR|next-browser-git}}}}<br />
* {{App|[[surf]]|Lightweight WebKit-based browser, which follows the [https://suckless.org/philosophy suckless ideology] (basically, the browser itself is a single C source file).|https://surf.suckless.org/|{{Pkg|surf}}}}<br />
* {{App|Surfer|Simple keyboard based web browser, written in C.|https://github.com/nihilowy/surfer|{{AUR|surfer}}}}<br />
* {{App|Vimb|A Vim-like web browser that is inspired by Pentadactyl and Vimprobable.|https://fanglingsu.github.io/vimb/|{{Pkg|vimb}}}}<br />
<br />
====== Browsers based on qt5-webkit ======<br />
<br />
* {{App|[[Wikipedia:Eric Python IDE|Eric]]|QtWebKit-based HTML browser, part of the eric6 development toolset, can be launched with the {{ic|eric6_webbrowser}} command.|https://eric-ide.python-projects.org/|{{Pkg|eric}}}}<br />
* {{App|OSPKit|Webkit based html browser for printing.|http://osp.kitchen/tools/ospkit/|{{AUR|ospkit-git}}}}<br />
* {{App|[[Otter Browser]]|Browser aiming to recreate classic Opera (12.x) UI using Qt5.|https://otter-browser.org/|{{Pkg|otter-browser}} or {{Pkg|otter-browser-nowebengine}}}}<br />
* {{App|[[qutebrowser]]|A keyboard-driven, [[vim]]-like browser based on PyQt5 with QtWebKit as an available backend.|https://github.com/qutebrowser/qutebrowser|{{Pkg|qutebrowser}}}}<br />
* {{App|smtube|Application that allows to browse, search and play YouTube videos.|https://www.smtube.org/|{{Pkg|smtube}}}}<br />
* {{App|WCGBrowser|A web browser for kiosk systems.|http://www.alandmoore.com/wcgbrowser/wcgbrowser.html|{{AUR|wcgbrowser-git}}}}<br />
<br />
===== Other =====<br />
<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|Small, fast graphical web browser built on [[Wikipedia:Fltk|FLTK]]. Uses its own layout engine.|http://dillo.org/|{{Pkg|dillo}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|Graphics and text mode web browser. Includes a graphical X-window/framebuffer version with CSS, image rendering, pull-down menus. It can be launched with the {{ic|xlinks -g}} command.|http://links.twibright.com/|{{Pkg|links}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]|Featherweight browser written in C, notable for its slowly developing JavaScript support and fast rendering through its own layout engine.|http://netsurf-browser.org|{{Pkg|netsurf}}}}<br />
* {{App|[[Wikipedia:Pale Moon (web browser)|Pale Moon]]|A Firefox fork focussing on speed, with a pre-Firefox 29 interface. Uses [[Wikipedia:Goanna (software)|Goanna]] layout engine, a fork of Gecko. Firefox add-ons may not be compatible. [https://addons.palemoon.org/firefox/incompatible/] Without support for newer Firefox features such as cache2, e10s, and OTMC.|http://www.palemoon.org/|{{AUR|palemoon}} or {{AUR|palemoon-bin}}}}<br />
<br />
=== Web servers ===<br />
<br />
A [[Wikipedia:Web server|web server]] serves HTML web pages and other files via HTTP to clients like [[:Category:Web browser|web browsers]].<br />
The major web servers can be interfaced with programs to serve dynamic content ([[web applications]]).<br />
<br />
See also [[:Category:Web server]] and [[Wikipedia:Comparison of web server software]].<br />
<br />
* {{App|[[Apache]]|A high performance Unix-based HTTP server.|http://www.apache.org/dist/httpd|{{Pkg|apache}}}}<br />
* {{App|[[Caddy]]|HTTP/2 web server with automatic HTTPS.|https://caddyserver.com/|{{AUR|caddy}}}}<br />
* {{App|[[Hiawatha]]|Secure and advanced web server.|https://www.hiawatha-webserver.org/|{{Pkg|hiawatha}}}}<br />
* {{App|[[Lighttpd]]|A secure, fast, compliant and very flexible web-server.|http://www.lighttpd.net/|{{Pkg|lighttpd}}}}<br />
* {{App|[[nginx]]|Lightweight HTTP server and IMAP/POP3 proxy server.|https://nginx.org/|{{Pkg|nginx}}}}<br />
* {{App|sthttpd|Supported fork of the thttpd web server.|https://github.com/blueness/sthttpd|{{Pkg|sthttpd}}}}<br />
* {{App|yaws|Web server/framework written in Erlang.|http://yaws.hyber.org/|{{Pkg|yaws}}}}<br />
<br />
==== Static web servers ====<br />
<br />
* {{App|darkhttpd|A small and secure static web server, written in C, does not support HTTPS or Auth.|https://unix4lyfe.org/darkhttpd/|{{Pkg|darkhttpd}}}}<br />
* {{App|KatWeb|A lightweight static web server and reverse proxy, written in Go, designed for the modern web.|https://github.com/kittyhacker101/KatWeb|{{AUR|katweb}}}}<br />
* {{App|quark|An extremly small and simple http get-only web server. It only serves static pages on a single host.|http://tools.suckless.org/quark/|{{AUR|quark-git}}}}<br />
* {{App|serve|Static file serving and directory listing.|https://github.com/zeit/serve|{{AUR|nodejs-serve}}}}<br />
* {{App|servy|A tiny little web server, single binary, written in Rust.|https://github.com/zethra/servy|{{AUR|servy}}}}<br />
* {{App|Webfs|Simple and instant web server for mostly static content.|http://linux.bytesex.org/misc/webfs.html|{{Pkg|webfs}}}}<br />
<br />
The [[Python]] standard library module [https://docs.python.org/library/http.server.html http.server] can also be used from the command-line.<br />
<br />
==== Specialized web servers ====<br />
<br />
* {{App|Mongoose|Embedded web server library, supports WebSocket and MQTT.|https://github.com/cesanta/mongoose|{{AUR|mongoose}}}}<br />
* {{App|webhook|Small server for creating HTTP endpoints (hooks)|https://github.com/adnanh/webhook|{{Pkg|webhook}}}}<br />
* {{App|Woof|An ad-hoc single file webserver; Web Offer One File.|http://www.home.unix-ag.org/simon/woof.html|{{AUR|woof}}}}<br />
<br />
==== WSGI servers ====<br />
<br />
* {{App|Gunicorn|A Python WSGI HTTP Server for UNIX.|https://gunicorn.org/|{{Pkg|gunicorn}}, {{Pkg|python2-gunicorn}}}}<br />
* {{App|[[uWSGI]]|A fast, self-healing and developer/sysadmin-friendly application container server written in C.|https://uwsgi-docs.readthedocs.io/|{{Pkg|uwsgi}}}}<br />
* {{App|Waitress|A WSGI server for Python 2 and 3.|https://github.com/Pylons/waitress|{{Pkg|python-waitress}}, {{Pkg|python2-waitress}}}}<br />
<br />
Apache also supports WSGI with [[mod_wsgi]].<br />
<br />
==== Performance testing ====<br />
<br />
* {{App|http_load|A webserver performance testing tool, runs in a single process.|http://www.acme.com/software/http_load/|{{AUR|http_load}}}}<br />
* {{App|httperf|Can generate various HTTP workloads, written in C.|https://github.com/httperf/httperf|{{AUR|httperf}}}}<br />
* {{App|vegeta|HTTP load testing tool, written in Go.|https://github.com/tsenart/vegeta|{{Pkg|vegeta}}}}<br />
* {{App|Web Bench|Benchmarking tool, uses fork() for simulating multiple clients.|http://home.tiscali.cz/~cz210552/webbench.html|{{AUR|webbench}}}}<br />
<br />
=== File sharing ===<br />
<br />
==== Download managers ====<br />
<br />
See also [[Wikipedia:Comparison of download managers]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[aria2]]|Lightweight download utility that supports HTTP, FTP, SFTP, BitTorrent and Metalink. It can run as a daemon controlled via a built-in JSON-RPC or XML-RPC interface.|https://aria2.github.io/|{{Pkg|aria2}}}}<br />
* {{App|Axel|Light command line download accelerator. Supports HTTP and FTP.|https://github.com/eribertomota/axel|{{Pkg|axel}}}}<br />
* {{App|[[Wikipedia:cURL|cURL]]|An URL retrieval utility and library. Supports HTTP, FTP and SFTP.|https://curl.haxx.se/|{{Pkg|curl}}}}<br />
* {{App|[[Wikipedia:Lftp|LFTP]]|Sophisticated file transfer program. Supports HTTP, FTP, SFTP, FISH, and BitTorrent.|http://lftp.yar.ru/|{{Pkg|lftp}}}}<br />
* {{App|mps-youtube|Terminal based YouTube jukebox with playlist management. Plays audio/video through mplayer/mpv.|https://github.com/mps-youtube/mps-youtube|{{Pkg|mps-youtube}}}}<br />
* {{App|Plowshare|A set of command-line tools designed for managing file-sharing websites (aka Hosters).|https://github.com/mcrapet/plowshare|{{Pkg|plowshare}}}}<br />
* {{App|[[Wikipedia:RTMPDump|RTMPDump]]|Download FLV videos through RTMP (Adobe's proprietary protocol for Flash video players)|http://rtmpdump.mplayerhq.hu/|{{Pkg|rtmpdump}}}}<br />
* {{App|snarf|Command-line URL retrieval tool. Supports HTTP and FTP.|http://www.xach.com/snarf/|{{Pkg|snarf}}}}<br />
* {{App|[[Streamlink]]|Launch streams from various streaming services in a custom video player or save them to a file.|https://streamlink.github.io/|{{Pkg|streamlink}}}}<br />
* {{App|[[Wikipedia:Streamripper|Streamripper]]|Records and splits streaming mp3 into tracks.|http://streamripper.sourceforge.net/|{{AUR|streamripper}}}}<br />
* {{App|You-Get|Download media contents (videos, audios, images) from the Web.|https://you-get.org/|{{Pkg|you-get}}}}<br />
* {{App|[[youtube-dl]]|Download videos from YouTube and many other web sites.|https://rg3.github.io/youtube-dl/|{{Pkg|youtube-dl}}}}<br />
* {{App|youtube-viewer|Command line utility for viewing YouTube videos.|https://github.com/trizen/youtube-viewer|{{Pkg|youtube-viewer}}}}<br />
* {{App|[[Wikipedia:Wget|Wget]]|A network utility to retrieve files from the Web. Supports HTTP and FTP.|https://www.gnu.org/software/wget/|{{Pkg|wget}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|ClipGrab|Downloader and converter for YouTube, Vimeo and many other online video sites.|https://clipgrab.org/|{{Pkg|clipgrab}}}}<br />
* {{App|FatRat|Qt based download manager with support for HTTP, FTP, SFTP, BitTorrent and Metalink.|http://fatrat.dolezel.info/|{{AUR|fatrat-git}}}}<br />
* {{App|FreeRapid|Java-based downloader that supports downloading from file-sharing services.|http://wordrider.net/freerapid/|{{AUR|freerapid}}}}<br />
* {{App|[[Wikipedia:FrostWire|FrostWire]]|Easy to use cloud downloader, BitTorrent client and media player.|http://www.frostwire.com/|{{AUR|frostwire}}}}<br />
* {{App|gtk-youtube-viewer|GTK utility for viewing YouTube videos.|https://github.com/trizen/youtube-viewer|{{Pkg|youtube-viewer}} + {{Pkg|gtk2-perl}} + {{Pkg|perl-file-sharedir}}}}<br />
* {{App|[[Wikipedia:Wget#GWget|Gwget]]|Download manager for GNOME. Supports HTTP and FTP.|https://projects.gnome.org/gwget/|{{Pkg|gwget}}}}<br />
* {{App|Gydl|GUI wrapper around the already existing youtube-dl program to download content from sites like YouTube.|https://github.com/JannikHv/gydl|{{AUR|gydl-git}}}}<br />
* {{App|[[JDownloader]]|Java-based downloader for one-click hosting sites.|http://jdownloader.org/|{{AUR|jdownloader2}}}}<br />
* {{App|[[Wikipedia:KGet|KGet]]|Download manager for KDE. Supports HTTP, FTP, BitTorrent and Metalink. Part of {{Grp|kdenetwork}}.|https://www.kde.org/applications/internet/kget/|{{Pkg|kget}}}}<br />
* {{App|Persepolis|Graphical front-end for aria2 download manager with lots of features. Supports HTTP and FTP.|https://persepolisdm.github.io/|{{AUR|persepolis}}}}<br />
* {{App|[[pyLoad]]|Downloader written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.|https://pyload.net/|{{AUR|pyload}}{{Broken package link|package not found}}}}<br />
* {{App|Steadyflow|Simple download manager for GNOME. Supports HTTP and FTP.|https://launchpad.net/steadyflow|{{Pkg|steadyflow}}}}<br />
* {{App|Streamtuner2|Internet radio station and video browser. It simply lists stations in categories from different directories and launches your preferred media apps for playback.|https://sourceforge.net/projects/streamtuner2/|{{AUR|streamtuner2}}}}<br />
* {{App|uGet|GTK download manager featuring download classification and HTML import. Supports HTTP, FTP, BitTorrent, Metalink, YouTube and Mega.|http://ugetdm.com/|{{Pkg|uget}}}}<br />
* {{App|Xtreme Download Manager|Powerful tool to increase download speed up-to 500%. Supports HTTP and FTP. Video grabber works in a general way and is not limited to certain websites.|http://xdman.sourceforge.net/|{{AUR|xdman}}}}<br />
<br />
==== Cloud storage servers ====<br />
<br />
* {{App|[[Cozy]]|A personal cloud you can hack, host and delete.|https://cozy.io/|{{Pkg|cozy-stack}}}}<br />
* {{App|[[Nextcloud]]|A cloud server to store your files centrally on a hardware controlled by you.|https://nextcloud.com|{{Pkg|nextcloud}}}}<br />
* {{App|[[Pydio]]|Mature open source web application for file sharing and synchronization.|https://pydio.com/|{{AUR|pydio}}}}<br />
* {{App|[[Seafile]]|An online file storage and collaboration tool with advanced support for file syncing, privacy protection and teamwork.|https://www.seafile.com/|{{AUR|seafile-server}}}}<br />
<br />
==== Cloud synchronization clients ====<br />
<br />
{{Tip|<nowiki></nowiki><br />
* Some [[synchronization and backup programs]] provide direct support for some cloud-storage services.<br />
* Some [[FUSE#List of FUSE filesystems|FUSE filesystems]] provide a way to mount cloud-storage as a filesystem. Google Drive can be accessed also by {{Pkg|gvfs-google}} for GVFS-based applications (like [[Nautilus]]), and by {{Pkg|kio-gdrive}} for KIO-based applications (like [[Dolphin]]).<br />
* See [[Disk encryption#Cloud-storage optimized]] to achieve zero-knowledge (client-side transparent encryption) storage on any third-party cloud service.<br />
}}<br />
<br />
* {{App|aws-cli|CLI for Amazon Web Services, including efficient file transfers to and from Amazon S3.|https://aws.amazon.com/cli/|{{Pkg|aws-cli}}}}<br />
* {{App|Backblaze B2|Backblaze B2 open-source command-line client.|https://www.backblaze.com/b2/cloud-storage.html|{{AUR|backblaze-b2}}}}<br />
* {{App|CloudCross|Synchronize local files and folders with many cloud providers. Mail.ru Cloud, Yandex Disk, Google Drive, OneDrive and Dropbox support is available.|https://cloudcross.mastersoft24.ru/|{{AUR|cloudcross}}}}<br />
* {{App|[[Cozy]] Drive|Desktop client for Cozy.|https://cozy-labs.github.io/cozy-desktop/|{{Pkg|cozy-desktop}}}}<br />
* {{App|drive|Tiny program to pull or push Google Drive files.|https://github.com/odeke-em/drive|{{AUR|drive-bin}}}}<br />
* {{App|DriveSync|Command line utility that synchronizes your Google Drive files with a local folder on your machine.|https://github.com/MStadlmeier/drivesync|{{AUR|drivesync}}}}<br />
* {{App|[[Dropbox]]|Proprietary desktop client for Dropbox.|https://www.dropbox.com/|{{AUR|dropbox}}}}<br />
* {{App|gdrive|Command line utility for interacting with Google Drive.|https://github.com/prasmussen/gdrive|{{AUR|gdrive}}}}<br />
* {{App|Grive|Google Drive client with support for new Drive REST API and partial sync.|https://github.com/vitalif/grive2|{{AUR|grive}}}}<br />
* {{App|ODrive|Google Drive GUI for Windows / Mac / Linux.|https://github.com/liberodark/ODrive|{{AUR|odrive-bin}}}}<br />
* {{App|hubiC|Proprietary synchronization client service and command line tools for hubiC.|https://hubic.com/en/downloads|{{AUR|hubic}}}}<br />
* {{App|[[Insync]]|Unofficial proprietary Google Drive desktop client.|https://www.insynchq.com/|{{AUR|insync}}}}<br />
* {{App|[[Wikipedia:Mail.Ru|Mail.ru]] Cloud|Proprietary client for Mail.ru Cloud storage service.|https://cloud.mail.ru/|{{AUR|mailru-cloud}}{{Broken package link|package not found}}}}<br />
* {{App|[[Wikipedia:Mega (service)|Mega]] Sync Client|Desktop client to sync files with Mega.|https://mega.nz/|{{AUR|megasync}}}}<br />
* {{App|Megatools|Unofficial CLI for Mega.|https://megatools.megous.com/|{{AUR|megatools}}}}<br />
* {{App|[[Nextcloud]] Client|Desktop client for Nextcloud.|https://nextcloud.com/|{{Pkg|nextcloud-client}}}}<br />
* {{App|Nutstore|Desktop client for Nutstore.|https://www.jianguoyun.com/|{{AUR|nutstore}}}}<br />
* {{App|OneDrive|Unofficial CLI for [https://onedrive.live.com/about/ OneDrive].|https://github.com/skilion/onedrive|{{AUR|onedrive}}}}<br />
* {{App|[[Wikipedia:ownCloud|ownCloud]] Desktop Client|Desktop syncing client for ownCloud.|https://owncloud.com/client/|{{Pkg|owncloud-client}}}}<br />
* {{App|pCloud Drive|Proprietary desktop syncing client for pCloud. Based on the [https://electronjs.org/ Electron] platform.|https://www.pcloud.com/download-free-online-cloud-file-storage.html|{{AUR|pcloud-drive}}}}<br />
* {{App|[[Pydio]]Sync|Desktop client for Pydio.|https://pydio.com/|{{AUR|pydio-sync}}}}<br />
* {{App|S3cmd|Unofficial CLI for Amazon S3.|http://s3tools.org/s3cmd|{{Pkg|s3cmd}}}}<br />
* {{App|[[Seafile]] Client|GUI client for Seafile.|https://www.seafile.com/|{{AUR|seafile-client}}}}<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]] One|Proprietary client for SpiderOak One.|https://spideroak.com/|{{AUR|spideroak-one}}}}<br />
* {{App|[[Wikipedia:Tresorit|Tresorit]]|Proprietary desktop syncing client for Tresorit.|https://tresorit.com/download|{{AUR|tresorit}}}}<br />
* {{App|[[Yandex Disk]]|Proprietary CLI for Yandex Disk.|https://disk.yandex.ru/|{{AUR|yandex-disk}}}}<br />
<br />
==== FTP ====<br />
<br />
===== FTP clients =====<br />
<br />
See also [[Wikipedia:Comparison of FTP client software]].<br />
* {{App|[[Wikipedia:FileZilla|FileZilla]]|Fast and reliable FTP, FTPS and SFTP client.|http://filezilla-project.org/|{{Pkg|filezilla}}}}<br />
* {{App|[[Wikipedia:gFTP|gFTP]]|Multithreaded FTP client for Linux.|http://gftp.seul.org/|{{Pkg|gftp}}}}<br />
* {{App|ftp|Simple ftp client provided by GNU Inetutils|https://www.gnu.org/software/inetutils/manual/inetutils.html#ftp-invocation|{{Pkg|inetutils}}}}<br />
* {{App|ncftp|A set of free application programs implementing FTP.|http://www.ncftp.com/|{{Pkg|ncftp}}}}<br />
* {{App|[[Wikipedia:tnftp|tnftp]]|FTP client with several advanced features for [[Wikipedia:NetBSD|NetBSD]].|http://freecode.com/projects/tnftp|{{Pkg|tnftp}}}}<br />
<br />
Some file managers like [[Dolphin]], [[GNOME Files]] and [[Thunar]] also provide FTP functionality.<br />
<br />
===== FTP servers =====<br />
<br />
See also [[Wikipedia:List of FTP server software]].<br />
<br />
* {{App|[[bftpd]]|Small, easy-to-configure FTP server|http://bftpd.sourceforge.net/|{{Pkg|bftpd}}}}<br />
* {{App|chezdav|WebDAV server that allows to share a particular directory.|https://wiki.gnome.org/phodav|{{Pkg|phodav}}}}<br />
* {{App|ftpd|Simple ftp server provided by GNU Inetutils|https://www.gnu.org/software/inetutils/manual/inetutils.html#ftpd-invocation|{{Pkg|inetutils}}}}<br />
* {{App|[[Proftpd|proFTPd]]|A secure and configurable FTP server|http://www.proftpd.org/|{{AUR|proftpd}}}}<br />
* {{App|[[Pure-FTPd]]|Free (BSD-licensed), secure, production-quality and standard-compliant FTP server.|http://www.pureftpd.org/project/pure-ftpd|{{AUR|pure-ftpd}}}}<br />
* {{App|[[SSH]]|SFTP is a network protocol that provides file access, file transfer, and file management over any reliable data stream.|https://www.openssh.com|{{Pkg|openssh}}}}<br />
* {{App|[[vsftpd]]|Lightweight, stable and secure FTP server for UNIX-like systems.|https://security.appspot.com/vsftpd.html|{{Pkg|vsftpd}}}}<br />
<br />
==== BitTorrent clients ====<br />
<br />
Some [[#Download managers|download managers]] are also able to connect to the BitTorrent network: [[Aria2]], [[Wikipedia:Lftp|LFTP]], FatRat, [[Wikipedia:FrostWire|FrostWire]], [[Wikipedia:KGet|KGet]], [[Wikipedia:MLDonkey|MLDonkey]], uGet.<br />
<br />
See also [[Wikipedia:Comparison of BitTorrent clients]].<br />
<br />
===== Console =====<br />
<br />
* {{App|btpd|The BitTorrent Protocol Daemon.|https://github.com/btpd/btpd|{{AUR|btpd}}}}<br />
* {{App|Ctorrent|CTorrent is a BitTorrent client implemented in C++ to be lightweight and quick.|http://www.rahul.net/dholmes/ctorrent/|{{AUR|enhanced-ctorrent}}}}<br />
* {{App|peerflix|Streaming torrent client for node.js.|https://github.com/mafintosh/peerflix|{{AUR|peerflix}}}}<br />
* {{App|[[rTorrent]]|Simple and lightweight ncurses BitTorrent client. Requires {{Pkg|libtorrent}} backend.|https://rakshasa.github.io/rtorrent/|{{Pkg|rtorrent}}}}<br />
* {{App|[[Transmission]] CLI|Simple and easy-to-use BitTorrent client with a daemon version and multiple front-ends. This package includes backend, daemon, command-line interface, and a Web UI interface.|https://transmissionbt.com/|{{Pkg|transmission-cli}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Deluge]]|User-friendly BitTorrent client written in PyGTK that can run as a daemon.|https://deluge-torrent.org/|{{Pkg|deluge}}}}<br />
* {{App|Fragments|Easy to use BitTorrent client which follows the GNOME HIG and includes well thought-out features.|https://gitlab.gnome.org/haecker-felix/Fragments|{{Pkg|fragments}}}}<br />
* {{App|[[Ktorrent]]|Feature-rich BitTorrent client for KDE.|https://www.kde.org/applications/internet/ktorrent/|{{Pkg|ktorrent}}}}<br />
* {{App|Powder Player|Hybrid between a streaming BitTorrent client and a player. Based on the [https://electronjs.org/ Electron] platform.|https://powder.media/|{{AUR|powder-player-bin}}}}<br />
* {{App|[[Wikipedia:qBittorrent|qBittorrent]]|Open source (GPLv2) BitTorrent client that strongly resembles µtorrent.|https://www.qbittorrent.org/|{{Pkg|qbittorrent}} or {{Pkg|qbittorrent-nox}}}}<br />
* {{App|[[Wikipedia:Tixati|Tixati]]|Proprietary peer-to-peer file sharing program that uses the popular BitTorrent protocol.|https://tixati.com/|{{AUR|tixati}}}}<br />
* {{App|Torrential|Simple torrent client for elementary OS.|https://github.com/davidmhewitt/torrential|{{AUR|torrential}}}}<br />
* {{App|[[Transmission]]|Simple and easy-to-use BitTorrent client with a daemon version and multiple front-ends.|https://transmissionbt.com/|GTK: {{Pkg|transmission-gtk}}, Qt: {{Pkg|transmission-qt}}}}<br />
* {{App|[[Transmission]] Remote|GTK client for remote management of the Transmission BitTorrent client, using its HTTP RPC protocol.|https://github.com/transmission-remote-gtk/transmission-remote-gtk|{{Pkg|transmission-remote-gtk}}}}<br />
* {{App|[[Wikipedia:Tribler|Tribler]]|4th generation file sharing system BitTorrent client.|https://www.tribler.org|{{Pkg|tribler}}}}<br />
* {{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus).|https://www.vuze.com/|{{AUR|vuze}}}}<br />
* {{App|WebTorrent Desktop|Streaming BitTorrent application. Based on the [https://electronjs.org/ Electron] platform.|https://webtorrent.io/desktop/|{{AUR|webtorrent-desktop}}}}<br />
<br />
==== Other P2P networks ====<br />
<br />
See also [[Wikipedia:Comparison of file-sharing applications]].<br />
<br />
* {{App|[[aMule]]|Well-known eDonkey/Kad client with a daemon version and GTK, web, and CLI front-ends.|http://www.amule.org/|{{Pkg|amule}}}}<br />
* {{App|EiskaltDC++|Direct Connect and ADC client.|https://github.com/eiskaltdcpp/eiskaltdcpp|GTK: {{AUR|eiskaltdcpp-gtk}}, Qt: {{AUR|eiskaltdcpp-qt}}}}<br />
* {{App|[[Wikipedia:gtk-gnutella|gtk-gnutella]]|GTK server/client for the Gnutella peer-to-peer network.|http://gtk-gnutella.sourceforge.net/|{{AUR|gtk-gnutella}}}}<br />
* {{App|KaMule|KDE graphical front-end for aMule.|http://kde-apps.org/content/show.php?content&#61;150270|{{AUR|kamule}}}}<br />
* {{App|LBRY|Browser and wallet for LBRY, the decentralized, user-controlled content marketplace. Based on the [https://electronjs.org/ Electron] platform.|https://lbry.io/|{{AUR|lbry-app-bin}}}}<br />
* {{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client that supports HTTP, FTP, BitTorrent, Direct Connect, eDonkey and FastTrack.|http://mldonkey.sourceforge.net/|{{Pkg|mldonkey}}}}<br />
* {{App|ncdc|Modern and lightweight Direct Connect and ADC client with a friendly ncurses interface.|https://dev.yorhel.nl/ncdc|{{AUR|ncdc}}}}<br />
* {{App|Nicotine+|A graphical client for the Soulseek P2P network.|https://www.nicotine-plus.org/|{{Pkg|nicotine+}}}}<br />
* {{App|Valknut|Direct Connect client (like DC++) with segmented downloading.|http://wxdcgui.sourceforge.net/|{{AUR|valknut}}}}<br />
<br />
==== Pastebin clients ====<br />
<br />
See also [[Wikipedia:Pastebin]].<br />
<br />
Pastebin services are often used to quote text or images while collaborating and troubleshooting. Pastebin clients provide a convenient way to post from the command line.<br />
<br />
{{Tip| You can access the [http://sprunge.us/ sprunge.us] and [http://ix.io/ ix.io] pastebins using curl. For example pipe the output of a command to sprunge: {{bc|''command'' <nowiki>| curl -F c=@- https://sprunge.us </nowiki>}} or upload a file (including images): {{bc|<nowiki>curl -F c=@- https://sprunge.us < </nowiki>''file''}}}}<br />
<br />
{{Note| [http://pastebin.com/ pastebin.com] is blocked for some people and has a history of annoying issues (javascript, adverts, poor formatting, etc). Do ''not'' use it.}}<br />
<br />
* {{App|Elmer|Pastebin client similar to wgetpaste and curlpaste, except written in Perl and usable with wget or curl. Servers: [http://codepad.org/ codepad.org], [http://rafb.me/ rafb.me], [http://sprunge.us/ sprunge.us].|https://github.com/sudokode/elmer|{{AUR|elmer}}}}<br />
* {{App|Fb-client|Client for the [http://paste.xinu.at/ paste.xinu.at] pastebin.|http://paste.xinu.at|{{Pkg|fb-client}}}}<br />
* {{App|Gist|Command-line interface for the [https://gist.github.com/ gist.github.com] pastebin service.|https://github.com/defunkt/gist|{{Pkg|gist}}}}<br />
* {{App|imgur|A CLI client which can upload image to [http://imgur.com imgur.com] image sharing service.|http://imgur.com/apps|{{AUR|imgur}}}}<br />
* {{App|Ix|Client for the ix.io pastebin.|http://ix.io|{{AUR|ix}}}}<br />
* {{App|Pastebinit|Really small Python script that acts as a Pastebin client. Servers: [http://pastie.org/ pastie.org], [https://paste.kde.org/ paste.kde.org], [http://paste.debian.net/ paste.debian.net], [http://paste.ubuntu.com/ paste.ubuntu.com] and others (for a full list see {{ic|pastebinit -l}}).|http://launchpad.net/pastebinit|{{Pkg|pastebinit}}}}<br />
* {{App|ruby-haste|Client for [http://hastebin.com/ hastebin.com].|https://github.com/seejohnrun/haste-client|{{AUR|ruby-haste}}}}<br />
* {{App|Uppity|The pastebin client with an attitude.|https://github.com/Kiwi/Uppity|{{AUR|uppity-git}}}}<br />
* {{App|Wgetpaste|Bash script that automates pasting to a number of pastebin services. Servers: [http://pastebin.ca/ pastebin.ca], [http://codepad.org/ codepad.org], [http://dpaste.com/ dpaste.com] and [http://pastebin.osuosl.org/ pastebin.osuosl.org].|http://wgetpaste.zlin.dk/|{{Pkg|wgetpaste}}}}<br />
<br />
=== Communication ===<br />
<br />
==== Email clients ====<br />
<br />
See also [[Wikipedia:Comparison of email clients]]<br />
<br />
===== Console =====<br />
<br />
* {{App|aerc|Work in progress asynchronous email client.|https://github.com/SirCmpwn/aerc|{{AUR|aerc-git}}}}<br />
* {{App|alot|An experimental terminal MUA based on [http://notmuchmail.org/ notmuch mail]. It is written in python using the [http://urwid.org/ urwid] toolkit.|https://github.com/pazz/alot|{{Pkg|alot}}}}<br />
* {{App|[[Alpine]]|Fast, easy-to-use and Apache-licensed email client based on [[Wikipedia:Pine (email client)|Pine]].|http://www.washington.edu/alpine/|{{AUR|alpine}}{{Broken package link|package not found}}}}<br />
* {{App|[[S-nail]]|a mail processing system with a command syntax reminiscent of ''ed'' with lines replaced by messages. Provides the functionality of [[Wikipedia:mailx|mailx]].|https://www.sdaoden.eu/code.html#s-mailx|{{Pkg|s-nail}}}}<br />
* {{App|mu/mu4e|Email indexer (mu) and client for emacs (mu4e). Xapian based for fast searches.|http://www.djcbsoftware.nl/code/mu/mu4e.html|{{AUR|mu}}}}<br />
* {{App|[[Mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Pkg|mutt}}}}<br />
* {{App|[[Mutt#NeoMutt|NeoMutt]]|Command line mail reader (or MUA). It's a fork of Mutt with added features.|https://www.neomutt.org/|{{Pkg|neomutt}}}}<br />
* {{App|[[nmh]]|A modular mail handling system.|http://www.nongnu.org/nmh/|{{AUR|nmh}}}}<br />
* {{App|[[notmuch]]|A fast mail indexer built on top of ''xapian''.|http://notmuchmail.org/|{{Pkg|notmuch}}}}<br />
* {{App|[[Sup]]|CLI mail client with very fast searching, tagging, threading and GMail like operation.|https://sup-heliotrope.github.io/|{{AUR|sup}}}}<br />
* {{App|Wanderlust|Email client and news reader for Emacs.|http://www.gohome.org/wl/|{{Pkg|wanderlust}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|Balsa|Simple and light email client for GNOME.|https://pawsa.fedorapeople.org/balsa/|{{Pkg|balsa}}}}<br />
* {{App|[[Wikipedia:Claws Mail|Claws Mail]]|Lightweight GTK-based email client and news reader.|https://www.claws-mail.org/|{{Pkg|claws-mail}}}}<br />
* {{App|ElectronMail|Unofficial desktop app for several end-to-end encrypted email providers (like ProtonMail, Tutanota). Based on the [https://electronjs.org/ Electron] platform.|https://github.com/vladimiry/ElectronMail|{{AUR|electronmail-bin}}}}<br />
* {{App|[[Evolution]]|Mature and feature-rich e-mail client that is part of the GNOME project. Part of {{Grp|gnome-extra}}.|https://wiki.gnome.org/Apps/Evolution|{{Pkg|evolution}}}}<br />
* {{App|Geary|Simple desktop mail client built in [[Wikipedia:Vala (programming language)|Vala]].|https://wiki.gnome.org/Apps/Geary|{{Pkg|geary}}}}<br />
* {{App|Gnubiff|Mail notification program that checks for mail and displays headers when new mail has arrived.|http://gnubiff.sourceforge.net/|{{Pkg|gnubiff}}}}<br />
* {{App|Inboxer|Unofficial, free and open-source Google Inbox desktop app. Based on the [https://electronjs.org/ Electron] platform.|https://denysdovhan.com/inboxer/|{{AUR|inboxer}}}}<br />
* {{App|[[Wikipedia:Kmail|Kmail]]|Mature and feature-rich email client. Part of {{Grp|kdepim}}.|https://www.kde.org/applications/internet/kmail/|{{Pkg|kmail}}}}<br />
* {{App|Kube|Modern communication and collaboration client built with QtQuick.|https://kube.kde.org/|{{Pkg|kube}}}}<br />
* {{App|Mailnag|Extensible mail notification daemon.|https://github.com/pulb/mailnag|{{Pkg|mailnag}}}}<br />
* {{App|Mailspring|[https://github.com/Foundry376/Mailspring/issues/24 Proprietary] fork of Nylas Mail by one of the original authors.|https://getmailspring.com/|{{AUR|mailspring}}}}<br />
* {{App|Nylas Mail|Extensible desktop mail app. Based on the [https://electronjs.org/ Electron] platform.|https://www.nylas.com/nylas-mail/|{{AUR|nylas-mail-lives-bin}}}}<br />
* {{App|openWMail|The missing desktop client for Gmail & Google Inbox. Based on the [https://electronjs.org/ Electron] platform.|https://openwmail.github.io/|{{AUR|openwmail}}}}<br />
* {{App|QGmailNotifier|Portable Qt5 based GMail notifier.|https://github.com/eteran/qgmailnotifier|{{AUR|qgmailnotifier}}}}<br />
* {{App|Protonmail Desktop|Unofficial app that emulates a native client for the ProtonMail e-mail service. Based on the [https://electronjs.org/ Electron] platform.|http://protondesktop.com/|{{AUR|protonmail-desktop}}}}<br />
* {{App|[[Wikipedia:SeaMonkey#Mail|SeaMonkey Mail & Newsgroups]]|Email client included in the SeaMonkey suite.|http://www.seamonkey-project.org/|{{Pkg|seamonkey}}}}<br />
* {{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly GTK email client.|http://sylpheed.sraoss.jp/en/|{{Pkg|sylpheed}}}}<br />
* {{App|[[Thunderbird]]|Feature-rich email client from Mozilla written in GTK.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Trojitá|Qt IMAP email client. Only supports [https://bugs.kde.org/show_bug.cgi?id&#61;321374 one IMAP account].|http://trojita.flaska.net/|{{Pkg|trojita}}}}<br />
<br />
===== Web-based =====<br />
<br />
* {{App|[[Wikipedia:Mailpile|Mailpile]]|A modern, fast web-mail client with user-friendly encryption and privacy features.|https://www.mailpile.is/|{{AUR|mailpile}}}}<br />
* {{App|[[Nextcloud]] Mail|An email webapp for NextCloud.|https://github.com/nextcloud/mail|{{Pkg|nextcloud-app-mail}}}}<br />
* {{App|Roundcubemail|Browser-based multilingual IMAP client webapp with a native application-like user interface.|http://roundcube.net/|{{Pkg|roundcubemail}}}}<br />
* {{App|[[Squirrelmail|SquirrelMail]]|Webmail for Nuts!|https://squirrelmail.org/|{{AUR|squirrelmail}}}}<br />
<br />
==== Mail servers ====<br />
<br />
See [[Mail server]].<br />
<br />
* {{App|Modoboa|A modular mail hosting and management platform, written in Python.|https://modoboa.org/|{{AUR|modoboa}}}}<br />
<br />
==== Mail retrieval agents ====<br />
<br />
See also [[Wikipedia:Mail retrieval agent]].<br />
<br />
* {{App|[[fdm]]|Program to fetch and deliver mail.|https://github.com/nicm/fdm|{{Pkg|fdm}}}}<br />
* {{App|[[Wikipedia:Fetchmail|Fetchmail]]|A remote-mail retrieval utility.|http://www.fetchmail.info/|{{AUR|fetchmail}}}}<br />
* {{App|[[getmail]]|A POP3/IMAP4 mail retriever with reliable Maildir and command delivery.|http://pyropus.ca/software/getmail/|{{Pkg|getmail}}}}<br />
* {{App|imapsync|IMAP synchronisation, sync, copy or migration tool|http://imapsync.lamiral.info/|{{AUR|imapsync}}}}<br />
* {{App|[[isync]]|IMAP and MailDir mailbox synchronizer|http://isync.sourceforge.net/|{{Pkg|isync}}}}<br />
* {{App|mpop|A small, fast POP3 client suitable as a fetchmail replacement|https://marlam.de/mpop/|{{Pkg|mpop}}}}<br />
* {{App|[[OfflineIMAP]]|Synchronizes emails between two repositories.|http://www.offlineimap.org/|{{Pkg|offlineimap}}}}<br />
<br />
==== Instant messaging clients ====<br />
<br />
See also [[Wikipedia:Comparison of instant messaging clients]] and [[Wikipedia:Comparison of VoIP software]].<br />
<br />
This section lists all client software with [[Wikipedia:Instant messaging|instant messaging]] support.<br />
<br />
===== Multi-protocol clients =====<br />
<br />
{{Note|All messengers, that support several networks by means of direct connections to them, belong to this section.}}<br />
<br />
The number of networks supported by these clients is very large but they (like any multi-protocol clients) usually have very limited or no support for network-specific features.<br />
<br />
====== Console ======<br />
<br />
* {{App|BarnOwl|Ncurses-based chat client with support for the Zephyr, XMPP, IRC and Twitter protocols.|http://barnowl.mit.edu/|{{AUR|barnowl}}}}<br />
* {{App|[[Bitlbee|BitlBee]]|IRC gateway to popular chat networks (XMPP, ICQ and Twitter).|http://bitlbee.org/|{{Pkg|bitlbee}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Text mode menu- and window-driven IM interface. Supports most of widely used IM protocols, including ICQ, IRC, XMPP. |http://centerim.org/|{{AUR|centerim}}}}<br />
* {{App|EKG2|Ncurses based XMPP, Gadu-Gadu, ICQ and IRC client. |http://en.ekg2.org/{{Dead link|2018|09|21}}|{{AUR|ekg2}}}}<br />
* {{App|Finch|Ncurses-based chat client that uses libpurple and supports all its protocols (Bonjour, Gadu-Gadu, Groupwise, ICQ, IRC, SIMPLE, XMPP, Zephyr).|http://developer.pidgin.im/wiki/Using%20Finch|{{Pkg|finch}}}}<br />
* {{App|Minbif|IRC gateway to IM networks that uses libpurple.|https://symlink.me/projects/minbif/wiki|{{Pkg|minbif}}}}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|GNOME instant messaging client with audio/video support using the [[Wikipedia:Telepathy (software)|Telepathy]] framework.|https://wiki.gnome.org/Apps/Empathy|{{Pkg|empathy}}}}<br />
* {{App|[[Wikipedia:Jitsi|Jitsi]]|Audio/video VoIP phone and instant messenger written in Java that supports protocols such as SIP, XMPP, ICQ, IRC and many other useful features.|https://jitsi.org/|{{AUR|jitsi}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|User-friendly IM supporting Bonjour, Gadu-Gadu, GroupWise, ICQ, XMPP.|https://userbase.kde.org/Kopete|{{Pkg|kopete}}}}<br />
* {{App|[[KDE#KDE Telepathy|KDE Telepathy]]|KDE instant messaging client using the [[Wikipedia:Telepathy (software)|Telepathy]] framework. Meant as a replacement for Kopete.|https://userbase.kde.org/Telepathy|{{Pkg|telepathy-kde-meta}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client with audio support that uses libpurple and supports all its protocols (Bonjour, Gadu-Gadu, Groupwise, ICQ, IRC, SIMPLE, XMPP, Zephyr).|http://pidgin.im/|{{Pkg|pidgin}}}}<br />
* {{App|qutIM|Simple and user-friendly IM supporting ICQ, XMPP, Mail.Ru, IRC and VKontakte messaging.|http://qutim.org/|{{AUR|qutim}}}}<br />
* {{App|[[Wikipedia:Smuxi|Smuxi]]|Cross-platform IRC client that also supports Twitter and XMPP. |https://smuxi.im/|{{AUR|smuxi}}}}<br />
* {{App|[[Thunderbird]]|Feature-rich email client supports instant messaging and chat using IRC, XMPP and Twitter.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Volt|Proprietary native desktop client for Skype, Telegram, Slack, XMPP, Discord, IRC and more. |https://volt-app.com/|{{AUR|volt}}}}<br />
<br />
===== IRC clients =====<br />
<br />
See also [[Wikipedia:Comparison of Internet Relay Chat clients]].<br />
<br />
====== Console ======<br />
<br />
* {{App|[[Wikipedia:BitchX|BitchX]]|Console-based IRC client developed from the popular [[Wikipedia:ircII|ircII]].|http://www.bitchx.org/|{{AUR|bitchx-git}}}}<br />
* {{App|ERC|Powerful, modular and extensible IRC client for [[Emacs]].|https://savannah.gnu.org/projects/erc/|included with {{Pkg|emacs}}}}<br />
* {{App|[[Wikipedia:Ii (IRC client)|ii]]|Featherweight IRC client, literally {{ic|tail -f}} the conversation and {{ic|echo}} back your replies to a file.|https://tools.suckless.org/ii/|{{AUR|ii}}}}<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client.|https://irssi.org/|{{Pkg|irssi}}}}<br />
* {{App|pork|Programmable, ncurses-based IRC client that mostly looks and feels like ircII.|http://dev.ojnk.net/|{{Pkg|pork}}}}<br />
* {{App|ScrollZ|Advanced IRC client based on [[Wikipedia:ircII|ircII]].|http://www.scrollz.info/|{{AUR|scrollz}}}}<br />
* {{App|sic|Extremely simple IRC client, similar to [[Wikipedia:Ii (IRC client)|ii]].|https://tools.suckless.org/sic/|{{AUR|sic}}}}<br />
* {{App|[[WeeChat]]|Modular, lightweight ncurses-based IRC client.|https://weechat.org/|{{Pkg|weechat}}}}<br />
* {{App|Tiny|an IRC client written in Rust with a clutter-free interface|https://github.com/osa1/tiny|{{AUR|tiny-irc-client-git}}}}<br />
<br />
'''Comparison'''<br />
<br />
{| class="wikitable sortable"<br />
! Name !! Package !! Written in !! Extensible !! [[Wikipedia:Simple Authentication and Security Layer|SASL]]<br />
|-<br />
! [[Wikipedia:BitchX|BitchX]]<br />
| {{AUR|bitchx-git}} || C || {{C|?}} || {{C|?}}<br />
|-<br />
! [https://savannah.gnu.org/projects/erc/ ERC]<br />
| {{Pkg|emacs}} || ELisp || {{G|in ELisp}} || {{Y|[https://www.emacswiki.org/emacs/ErcSASL via script]}}<br />
|-<br />
! [[Wikipedia:Ii (IRC client)|ii]]<br />
| {{AUR|ii}} || C || {{G|stdin/stdout}} || {{No}}<br />
|-<br />
! [[Irssi]]<br />
| {{Pkg|irssi}} || C || {{G|in Perl}} || {{Yes}}<br />
|-<br />
! [http://dev.ojnk.net/ pork]<br />
| {{Pkg|pork}} || C || {{G|in Perl}} || {{No}}<br />
|-<br />
! [http://www.scrollz.info/ ScrollZ]<br />
| {{AUR|scrollz}} || C || {{C|?}} || {{No}}<br />
|-<br />
! [https://tools.suckless.org/sic/ sic]<br />
| {{AUR|sic}} || C || {{G|stdin/stdout}} || {{No}}<br />
|-<br />
! [[WeeChat]]<br />
| {{Pkg|weechat}} || C || {{G|[https://weechat.org/files/doc/stable/weechat_scripting.en.html multiple languages]}} || {{Yes}}<br />
|-<br />
! [https://github.com/osa1/tiny osa1/tiny]<br />
| {{AUR|tiny-irc-client-git}} || Rust || {{No}} || {{Yes}}<br />
|}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|HexChat|Fork of XChat for Linux and Windows.|https://hexchat.github.io/|{{Pkg|hexchat}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE desktop.|https://konversation.kde.org/|{{Pkg|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support.|http://kvirc.net/|{{AUR|kvirc-git}}}}<br />
* {{App|Loqui|GTK IRC client.|https://launchpad.net/loqui|{{AUR|loqui}}}}<br />
* {{App|LostIRC|Simple GTK IRC client with tab-autocompletion, multiple server support, logging and others.|http://lostirc.sourceforge.net|{{AUR|lostirc}}}}<br />
* {{App|Polari|Simple IRC client by the GNOME project.|https://wiki.gnome.org/Apps/Polari|{{Pkg|polari}}}}<br />
* {{App|[[Quassel]]|Modern, cross-platform, distributed IRC client.|http://quassel-irc.org/|{{Pkg|quassel-monolithic}}}}<br />
* {{App|Srain|Modern, beautiful IRC client written in GTK 3.|https://srain.im/|{{AUR|srain}}}}<br />
<br />
===== XMPP clients =====<br />
<br />
See also [[Wikipedia:XMPP]] and [[Wikipedia:Comparison of instant messaging clients#XMPP-related features]].<br />
<br />
====== Console ======<br />
<br />
* {{App|Freetalk|Console-based XMPP client.|https://www.gnu.org/software/freetalk/|{{AUR|freetalk}}}}<br />
* {{App|jabber.el|Minimal XMPP client for [[Emacs]].|http://emacs-jabber.sourceforge.net/|{{AUR|emacs-jabber}}}}<br />
* {{App|jp (Salut à Toi)|CLI frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-jp}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|Small XMPP console client, includes features: SSL, PGP, MUC, OTR and UTF8.|https://mcabber.com/|{{Pkg|mcabber}}}}<br />
* {{App|Poezio|XMPP client with IRC feeling|https://poez.io/|{{AUR|poezio}}}}<br />
* {{App|Primitivus (Salut à Toi)|Console frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-primitivus}}}}<br />
* {{App|Profanity|A console based XMPP client inspired by Irssi.|http://profanity.im/|{{Pkg|profanity}}}}<br />
* {{App|xmpp-client|A minimalist XMPP client with OTR support.|https://github.com/agl/xmpp-client|{{AUR|go-xmpp-client}}}}<br />
<br />
====== Graphical ======<br />
<br />
* {{App|Cagou (Salut à Toi)|Desktop/mobiles frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-cagou-hg}}}}<br />
* {{App|Converse.js|Web-based XMPP chat client written in JavaScript.|https://conversejs.org/|{{AUR|conversejs-git}}}}<br />
* {{App|Dino|A modern, easy to use XMPP client, with PGP and OMEMO support.|https://dino.im/|{{AUR|dino-git}}}}<br />
* {{App|[[Gajim]]|XMPP client with audio support written in PyGTK.|https://gajim.org/|{{Pkg|gajim}}}}<br />
* {{App|[[Wikipedia:Kadu (software)|Kadu]]|Qt-based XMPP and Gadu-Gadu client.|http://www.kadu.im/|{{AUR|kadu}}}}<br />
* {{App|Libervia (Salut à Toi)|Web frontend for Salut à Toi, multi-purpose XMPP client|https://salut-a-toi.org/|{{AUR|sat-libervia-hg}}}}<br />
* {{App|Nextcloud JavaScript XMPP Client|Chat app for Nextcloud with XMPP, end-to-end encryption, video calls, file transfer & group chat.|https://github.com/nextcloud/jsxc.nextcloud|{{AUR|nextcloud-app-jsxc}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|Qt-based XMPP client.|https://psi-im.org/|{{Pkg|psi}} or {{Pkg|psi-nowebengine}}}}<br />
* {{App|[[Wikipedia:Spark (XMPP client)|Spark]]|Cross-platform real-time XMPP collaboration client optimized for business and organizations.|https://www.igniterealtime.org/projects/spark/|{{AUR|spark}}}}<br />
* {{App|Swift|XMPP client written in C++ with Qt and Swiften.|https://swift.im/|{{AUR|swift-im}}}}<br />
* {{App|[[Wikipedia:Tkabber|Tkabber]]|Easy to hack feature-rich XMPP client by the author of the ejabberd XMPP server.|http://tkabber.jabber.ru/|{{AUR|tkabber}}}}<br />
* {{App|Vacuum IM|Full-featured crossplatform XMPP client.|https://github.com/Vacuum-IM/vacuum-im|{{AUR|vacuum-im}}}}<br />
<br />
===== SIP clients =====<br />
<br />
See also [[Wikipedia:List of SIP software#Clients]].<br />
<br />
* {{App|[[Jami|Banji]]|SIP-compatible softphone and instant messenger for the decentralized Jami network. KDE client, formerly known as Ring KDE.|https://kde.org/applications/internet/org.kde.ring-kde|{{AUR|ring-kde}}}}<br />
* {{App|[[Wikipedia:Blink (SIP client)|Blink]]|State of the art, easy to use SIP client.|http://icanblink.com/|{{AUR|blink}}}}<br />
* {{App|[[Wikipedia:Ekiga|Ekiga]]|VoIP and video conferencing application with full SIP and H.323 support (formerly known as GNOME Meeting).|http://www.ekiga.org/|{{Pkg|ekiga}}{{Broken package link|package not found}}}}<br />
* {{App|[[Jami]]|SIP-compatible softphone and instant messenger for the decentralized Jami network. Formerly known as Ring and SFLphone.|https://jami.net/|{{Pkg|jami-gnome}}}}<br />
* {{App|[[Wikipedia:Linphone|Linphone]]|VoIP phone application (SIP client) for communicating freely with people over the internet, with voice, video, and text instant messaging.|http://www.linphone.org/|{{AUR|linphone}}}}<br />
* {{App|[[Wikipedia:Twinkle (software)|Twinkle]]|Qt softphone for VoIP and IM communication using SIP.|http://twinkle.dolezel.info/|{{AUR|twinkle-qt5}}}}<br />
<br />
===== Matrix clients =====<br />
<br />
See also [[Matrix]].<br />
<br />
* {{App|Fractal|Matrix client for GNOME written in Rust.|https://wiki.gnome.org/Apps/Fractal|{{Pkg|fractal}}}}<br />
* {{App|nheko|Desktop client for the Matrix protocol.|https://github.com/Nheko-Reborn/nheko|{{AUR|nheko}}, {{AUR|nheko-git}}}}<br />
* {{App|Quaternion|Qt5-based IM client for the Matrix protocol.|https://github.com/QMatrixClient/Quaternion|{{AUR|quaternion}}}}<br />
* {{App|Riot|Glossy Matrix client with an emphasis on performance and usability. Web application and desktop application based on the [https://electronjs.org/ Electron] platform.|https://about.riot.im/|{{Pkg|riot-web}}, {{Pkg|riot-desktop}}}}<br />
* {{App|Tensor|Qt5/QML-based Matrix client.|https://github.com/davidar/tensor|{{AUR|tensor-git}}}}<br />
<br />
===== Tox clients =====<br />
<br />
See also [[Tox]].<br />
<br />
* {{App|qTox|Powerful Tox client written in C++/Qt that follows the Tox design guidelines.|https://qtox.github.io/|{{Pkg|qtox}}}}<br />
* {{App|ratox|FIFO based tox client.|https://ratox.2f30.org/|{{AUR|ratox-git}}}}<br />
* {{App|Ricin|Dead-simple but powerful Tox client.|https://github.com/RicinApp/Ricin|{{AUR|ricin}}}}<br />
* {{App|Toxic|ncurses-based Tox client|https://github.com/Jfreegman/toxic|{{Pkg|toxic}}}}<br />
* {{App|Toxygen|Tox client written in pure Python3.|https://github.com/toxygen-project/toxygen|{{AUR|toxygen-git}}}}<br />
* {{App|Venom|a modern Tox client for the GNU/Linux desktop|https://github.com/naxuroqa/Venom|{{AUR|venom}}}}<br />
* {{App|µTox|Lightweight Tox client.|https://utox.io/|{{Pkg|utox}}}}<br />
<br />
===== Serverless (decentralized) clients =====<br />
<br />
See also [[Avahi#Link-Local (Bonjour/Zeroconf) chat|Bonjour]], [[Ring]], [[Tox]] and [[Wikipedia:Comparison of LAN messengers]].<br />
<br />
* {{App|BeeBEEP|Secure LAN Messenger.|http://beebeep.sourceforge.net/|{{AUR|beebeep}}}}<br />
* {{App|Bit Chat|Secure, peer-to-peer instant messenger.|https://bitchat.im/|{{AUR|bitchat}}}}<br />
* {{App|[[Bitmessage]]|Decentralized and trustless P2P communications protocol for sending encrypted messages to another person or to many subscribers.|https://bitmessage.org/|{{AUR|pybitmessage}}}}<br />
* {{App|iptux|LAN communication software, compatible with IP Messenger.|https://github.com/iptux-src/iptux|{{AUR|iptux}}}}<br />
* {{App|LAN Messenger|P2P chat application for intranet communication and does not require a server. A variety of handy features are supported including notifications, personal and group messaging with encryption, file transfer and message logging.|https://lanmessenger.github.io/|{{AUR|lmc}}}}<br />
* {{App|Patchwork|Decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB). Based on the [https://electronjs.org/ Electron] platform.|https://github.com/ssbc/patchwork|{{AUR|ssb-patchwork}}}}<br />
* {{App|[[RetroShare]]|Serverless encrypted instant messenger with filesharing, chatgroups, mail.|http://retroshare.net/|{{AUR|retroshare}}}}<br />
* {{App|[[Wikipedia:Ricochet (software)|Ricochet]]|Anonymous peer-to-peer instant messaging system built on [[Tor]] hidden services.|https://ricochet.im/|{{AUR|ricochet}}}}<br />
<br />
===== Other IM clients =====<br />
<br />
* {{App|Caprine|Unofficial Facebook Messenger app. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/sindresorhus/caprine|{{Pkg|caprine}}}}<br />
* {{App|[[Wikipedia:Cryptocat|Cryptocat]]|Free software with a simple mission: everyone should be able to chat with their friends in privacy. Based on the [https://electronjs.org/ Electron] platform.|https://crypto.cat/|{{AUR|cryptocat}}}}<br />
* {{App|[[Discord]]|Proprietary all-in-one voice and text chat application for gamers that’s free and works on both your desktop and phone.|https://discordapp.com/|{{Pkg|discord}}}}<br />
* {{App|Esmska|Program for sending SMS over the Internet.|https://github.com/kparal/esmska|{{Pkg|esmska}}}} <br />
* {{App|[[Wikipedia:Gitter|Gitter]]|Communication product for communities and teams on GitHub.|https://gitter.im/|{{AUR|gitter}}}}<br />
* {{App|Hangups|Third-party instant messaging client for Google Hangouts.|https://github.com/tdryer/hangups|{{AUR|hangups}}}}<br />
* {{App|[[ICQ]]|Official ICQ client for Linux.|https://icq.com/linux/|{{AUR|icqdesktop-bin}}}}<br />
* {{App|Licq|Instant messaging client for UNIX supporting ICQ.|http://licq.org/|{{Pkg|licq}}{{Broken package link|package not found}}}}<br />
* {{App|Matterhorn|Console client for the Mattermost chat system.|https://github.com/matterhorn-chat/matterhorn|{{AUR|matterhorn}}}}<br />
* {{App|[[Mattermost]] Desktop|Desktop application for Mattermost. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/mattermost/desktop|{{AUR|mattermost-desktop}}}}<br />
* {{App|[[Mumble]]|Voice chat application similar to TeamSpeak.|http://mumble.sourceforge.net/|{{Pkg|mumble}}}}<br />
* {{App|QHangups|Alternative client for Google Hangouts written in PyQt.|https://github.com/xmikos/qhangups|{{AUR|qhangups}}}}<br />
* {{App|Rocket.Chat Desktop|Desktop application for Rocket.Chat. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/RocketChat/Rocket.Chat.Electron|{{AUR|rocketchat-desktop}}}}<br />
* {{App|[[Wikipedia:Signal (software)|Signal]]|Signal Private Messenger for the Desktop. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/signalapp/Signal-Desktop|{{AUR|signal}}}}<br />
* {{App|[[Wikipedia:Skype|Skype]]|Popular but proprietary application for voice and video communication. Based on the [https://electronjs.org/ Electron] platform.|https://www.skype.com/|{{AUR|skypeforlinux-stable-bin}}}}<br />
* {{App|[[Wikipedia:Slack (software)|Slack]]|Proprietary Slack client for desktop. Based on the [https://electronjs.org/ Electron] platform.|https://slack.com/downloads/linux|{{AUR|slack-desktop}}}}<br />
* {{App|[[TeamSpeak]]|Proprietary VoIP application with gamers as its target audience.|http://www.teamspeak.com/|{{Pkg|teamspeak3}}}}<br />
* {{App|[[Telegram]] Desktop|Official Telegram desktop client.|https://desktop.telegram.org/|{{Pkg|telegram-desktop}}}}<br />
* {{App|[[Wikipedia:Viber|Viber]]|Proprietary cross-platform IM and VoIP software.|https://www.viber.com/products/linux/|{{AUR|viber}}}}<br />
* {{App|[[Wikipedia:Wire (software)|Wire]]|Modern, private messenger. Based on the [https://electronjs.org/ Electron] platform.|https://wire.com/|{{Pkg|wire-desktop}}}}<br />
* {{App|YakYak|Unofficial desktop client for Google Hangouts. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/yakyak/yakyak|{{AUR|yakyak}}}}<br />
* {{App|[[Wikipedia:Zoom Video Communications|Zoom]]|Proprietary video conferencing, online meetings and group messaging application.|https://zoom.us/|{{AUR|zoom}}}}<br />
* {{App|[[Wikipedia:Zulip|Zulip]]|Desktop client for Zulip group chat. Based on the [https://electronjs.org/ Electron] platform.|https://zulipchat.com/apps/linux|{{AUR|zulip-electron-bin}}}}<br />
<br />
==== Instant messaging servers ====<br />
<br />
See also [[Wikipedia:Comparison of instant messaging protocols]].<br />
<br />
===== IRC servers =====<br />
<br />
See also [[Wikipedia:Comparison of Internet Relay Chat daemons]].<br />
<br />
* {{App|[[InspIRCd]]|A stable, modern and lightweight IRC daemon.|https://www.inspircd.org/|{{AUR|inspircd}}}}<br />
* {{App|IRCD-Hybrid|A lightweight, high-performance internet relay chat daemon.|http://www.ircd-hybrid.org/|{{AUR|ircd-hybrid}}}}<br />
* {{App|miniircd|A small and configuration free IRC server, suitable for private use.|https://github.com/jrosdahl/miniircd|{{AUR|miniircd-git}}}}<br />
* {{App|[[UnrealIRCd]]|Open Source IRC Server.|https://www.unrealircd.org/|{{Pkg|unrealircd}}}}<br />
<br />
===== XMPP servers =====<br />
<br />
See also [[Wikipedia:Comparison of XMPP server software]].<br />
<br />
* {{App|[[Prosody]]|An XMPP server written in the [http://www.lua.org/ Lua] programming language. Prosody is designed to be lightweight and highly extensible. It is licensed under a permissive [http://prosody.im/source/mit MIT license].|http://prosody.im/|{{Pkg|prosody}}}}<br />
* {{App|Ejabberd|Robust, scalable and extensible XMPP Server written in Erlang|https://www.ejabberd.im/|{{Pkg|ejabberd}}}}<br />
* {{App|[[Jabberd2]]|An XMPP server written in the C language and licensed under the GNU General Public License. It was inspired by jabberd14.|http://jabberd2.org|{{AUR|jabberd2}}}}<br />
* {{App|[[Openfire]]|An XMPP IM multiplatform server written in Java|http://www.igniterealtime.org/projects/openfire/|{{Pkg|openfire}}}}<br />
<br />
===== SIP servers =====<br />
<br />
See also [[Wikipedia:List of SIP software#Servers]].<br />
<br />
* {{App|[[Asterisk]]|A complete PBX solution.|https://www.asterisk.org/|{{AUR|asterisk}}}}<br />
* {{App|Kamailio|Rock solid SIP server.|https://www.kamailio.org/|{{AUR|kamailio}}}}<br />
* {{App|openSIPS|SIP proxy/server for voice, video, IM, presence and any other SIP extensions.|https://opensips.org/|{{Pkg|opensips}}}}<br />
* {{App|Repro|An open-source, free SIP server.|https://www.resiprocate.org/About_Repro|{{AUR|repro}}}}<br />
* {{App|[[Wikipedia:Yate (telephony engine)|Yate]]|Advanced, mature, flexible telephony server that is used for VoIP and fixed networks, and for traditional mobile operators and MVNOs.|http://yate.ro/|{{Pkg|yate}}}}<br />
<br />
===== Other IM servers =====<br />
<br />
* {{App|[[Mattermost]]|Open source private cloud server, Slack-alternative.|https://github.com/mattermost/mattermost-server|{{AUR|mattermost}}}}<br />
* {{App|[[Murmur]]|The voice chat application server for Mumble.|http://mumble.sourceforge.net/|{{Pkg|murmur}}}}<br />
* {{App|Nextcloud Talk|Video- and audio-conferencing app for Nextcloud.|https://github.com/nextcloud/spreed|{{Pkg|nextcloud-app-spreed}}}}<br />
* {{App|Rocket.Chat|Web chat server, developed in JavaScript, using the Meteor fullstack framework.|https://github.com/RocketChat/Rocket.Chat|{{AUR|rocketchat-server}}}}<br />
* {{App|Spreed WebRTC|WebRTC audio/video call and conferencing server.|https://github.com/strukturag/spreed-webrtc|{{AUR|spreed-webrtc-server}}}}<br />
* {{App|[[Matrix|Synapse]]|Reference homeserver for the Matrix protocol.|https://github.com/matrix-org/synapse|{{Pkg|matrix-synapse}}}}<br />
* {{App|[[TeamSpeak]] Server|Proprietary VoIP conference server.|https://teamspeak.com/|{{Pkg|teamspeak3-server}}}}<br />
* {{App|uMurmur|Minimalistic Mumble server.|http://umurmur.net/|{{Pkg|umurmur}}}}<br />
<br />
==== Collaborative software ====<br />
<br />
See also [[Wikipedia:Collaborative software]].<br />
<br />
* {{App|[[Wikipedia:Citadel/UX|Citadel/UX]]|Includes an email & mailing list server, instant messaging, address books, calendar/scheduling, bulletin boards, and wiki and blog engines.|http://www.citadel.org/|{{AUR|webcit}}}}<br />
* {{App|[[Kolab]]|Kolab Groupware solution consisting of a server and various clients.|https://kolab.org/|{{AUR|kolab}}}}<br />
* {{App|[[Open-xchange]]|A groupware solution providing mail facilities, calendaring, shared contacts and Google-Docs-like text editing|http://www.ox.io/|{{AUR|open-xchange}}}}<br />
* {{App|[[SOGo]]|Groupware server built around OpenGroupware.org (OGo) and the SOPE application server.|https://sogo.nu/|{{AUR|sogo}}}}<br />
<br />
=== News, RSS, and blogs ===<br />
<br />
==== News aggregators ====<br />
<br />
[[Wikipedia:RSS|RSS]]/[[Wikipedia:Atom (standard)|Atom]] aggregators. Some [[#Email clients|email clients]] are also able to act as news aggregator: [[Wikipedia:Claws Mail|Claws Mail]] RSSyl plugin, [[Evolution]] RSS plugin, [[Wikipedia:SeaMonkey#Mail|SeaMonkey Mail & Newsgroups]], [[Thunderbird]].<br />
<br />
See also [[Wikipedia:Comparison of feed aggregators]].<br />
<br />
===== Console =====<br />
<br />
* {{App|[[Wikipedia:Canto (news aggregator)|Canto]]|Ncurses RSS aggregator.|http://codezen.org/canto/|{{AUR|canto-curses}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|Email, NNTP and RSS client for Emacs.|http://gnus.org/|{{Pkg|emacs}}}}<br />
* {{App|[[Newsboat]]|Ncurses RSS aggregator with layout and keybinding similar to the [[Mutt]] email client.|http://newsboat.org|{{Pkg|newsboat}}}}<br />
* {{App|Rawdog|"RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in chronological order.|http://offog.org/code/rawdog.html|{{Pkg|rawdog}}}}<br />
* {{App|Snownews|Text mode RSS news reader.|https://github.com/kouya/snownews|{{AUR|snownews}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|[[Wikipedia:Kontact#News Feed Aggregator|Akregator]]|News aggregator for KDE, part of {{Grp|kdepim}}.|https://www.kde.org/applications/internet/akregator/|{{Pkg|akregator}}}}<br />
* {{App|Alduin|RSS, Atom and JSON feed aggregator. Based on the [https://electronjs.org/ Electron] platform.|https://alduinapp.github.io/|{{AUR|alduin}}}}<br />
* {{App|FeedReader| Modern desktop application designed to complement existing web-based RSS accounts.|http://jangernert.github.io/FeedReader/|{{Pkg|feedreader}}}}<br />
* {{App|[[Wikipedia:Liferea|Liferea]]|GTK news aggregator for online news feeds and weblogs.|https://lzone.de/liferea/|{{Pkg|liferea}}}}<br />
* {{App|[[Nextcloud]] News|RSS/Atom feed reader for Nextcloud.|https://github.com/nextcloud/news|{{Pkg|nextcloud-app-news}}}}<br />
* {{App|QuiteRSS|RSS/Atom feed reader written on Qt/С++.|http://quiterss.org/|{{Pkg|quiterss}}}}<br />
* {{App|RSS Guard|Very tiny RSS and ATOM news reader developed using Qt framework.|https://github.com/martinrotter/rssguard|{{Pkg|rssguard}} or {{Pkg|rssguard-nowebengine}}}}<br />
* {{App|selfoss|The new multipurpose RSS reader, live stream, mashup, aggregation web application.|https://selfoss.aditu.de/|{{AUR|selfoss}}}}<br />
* {{App|Tickr|GTK-based RSS Reader that displays feeds as a smooth scrolling line on your desktop, as known from TV stations.|https://www.open-tickr.net/|{{AUR|tickr}}}}<br />
* {{App|[[Wikipedia:Tiny Tiny RSS|Tiny Tiny RSS]]|Web-based news feed (RSS/Atom) aggregator.|https://tt-rss.org/|{{Pkg|tt-rss}}}}<br />
<br />
==== Podcast clients ====<br />
<br />
Some media players are also able to act as podcast client: [[Amarok]], [[Wikipedia:Banshee (media player)|Banshee]], Cantata, [[Wikipedia:Clementine_(software)|Clementine]], Goggles Music Manager, [[Wikipedia:Rhythmbox|Rhythmbox]], [[VLC media player]]. [[Wikipedia:git-annex|git-annex]] can also [https://git-annex.branchable.com/tips/downloading_podcasts/ function as podcatcher].<br />
<br />
See also [[Wikipedia:List of podcatchers]].<br />
<br />
===== Console =====<br />
<br />
* {{App|castget|Simple, command-line RSS enclosure downloader, primarily intended for automatic, unattended downloading of podcasts.|http://castget.johndal.com/|{{Pkg|castget}}}}<br />
* {{App|gpo|Text mode interface of gPodder.|http://gpodder.org/|{{Pkg|gpodder}}}}<br />
* {{App|Greg|A command-line podcast aggregator.|https://github.com/manolomartinez/greg|{{AUR|greg-git}}}}<br />
* {{App|Marrie|A simple podcast client that runs on the Command Line Interface.|https://github.com/rafaelmartins/marrie/|{{AUR|marrie-git}}}}<br />
* {{App|pcd|A minimal podcast client written in go|https://github.com/kvannotten/pcd|{{AUR|pcd}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|CPod|Simple, beautiful podcast app. Based on the [https://electronjs.org/ Electron] platform.|https://github.com/z-------------/cumulonimbus|{{AUR|cpod-bin}}}}<br />
* {{App|GNOME Podcasts|Podcast client for the GNOME Desktop written in Rust.|https://gitlab.gnome.org/World/podcasts|{{Pkg|gnome-podcasts}}}}<br />
* {{App|gPodder|Podcast client and media aggregator (GTK interface).|http://gpodder.org/|{{Pkg|gpodder}}}}<br />
* {{App|Vocal|Simple podcast client for the Modern Desktop (GTK).|http://vocalproject.net/|{{Pkg|vocal}}}}<br />
<br />
==== Usenet newsreaders ====<br />
<br />
Some [[#Email clients|email clients]] are also able to act as Usenet newsreader: [[Wikipedia:Claws Mail|Claws Mail]], [[Evolution]], [[Mutt#NeoMutt|NeoMutt]], [[Wikipedia:SeaMonkey#Mail|SeaMonkey Mail & Newsgroups]], [[Wikipedia:Sylpheed|Sylpheed]], [[Thunderbird]].<br />
<br />
See also: [[Wikipedia:List of Usenet newsreaders]], [[Wikipedia:Comparison of Usenet newsreaders]].<br />
<br />
===== Console =====<br />
<br />
* {{app|[[Wikipedia:nn (newsreader)|nn]]|Alternative more user-friendly (curses-based) Usenet newsreader for UNIX.|http://www.nndev.org/|{{AUR|nn}}}}<br />
* {{app|[[Wikipedia:slrn|slrn]]|Text-based news client.|http://www.slrn.org/|{{AUR|slrn}}}}<br />
* {{app|[[Wikipedia:Tin_(newsreader)|tin]]|A cross-platform threaded NNTP and spool based UseNet newsreader.|http://tin.org/|{{AUR|tin}}}}<br />
* {{app|trn|A text-based Threaded Usenet newsreader.|http://trn.sourceforge.net/|{{AUR|trn}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{app|LottaNZB|A ''SABnzbd'' (Usenet binary downloader) GUI front-end written in PyGTK|https://launchpad.net/lottanzb/|{{aur|lottanzb}}}}<br />
* {{app|[[NZBGet]]|Usenet binary downloader for .nzb files with web and CLI interface.|https://nzbget.net/|{{Pkg|nzbget}}}}<br />
* {{app|[[Wikipedia:Pan (newsreader)|Pan]]|GTK Usenet newsreader that's good at both text and binaries.|http://pan.rebelbase.com/|{{Pkg|pan}}}}<br />
* {{app|[[SABnzbd]]|An open-source binary newsreader webapp written in Python.|https://sabnzbd.org/|{{AUR|sabnzbd}}}}<br />
* {{app|XRN|Usenet newsreader for X Window System.|http://www.mit.edu/people/jik/software/xrn.html|{{AUR|xrn}}}}<br />
<br />
==== Microblogging clients ====<br />
<br />
See also [[Wikipedia:List of Twitter services and applications]].<br />
<br />
===== Console =====<br />
<br />
* {{App|oysttyer|(official fork of ttytter) An interactive console text-based command-line Twitter client written in Perl.|https://github.com/oysttyer/oysttyer|{{AUR|oysttyer-git}}}}<br />
* {{App|Rainbowstream|A powerful and fully-featured console Twitter client written in Python.|https://github.com/orakaro/rainbowstream |{{AUR|rainbowstream}}}}<br />
* {{App|turses|Twitter client for the console based off ''tyrs'' with major improvements.|https://github.com/louipc/turses|{{AUR|turses-git}}}}<br />
<br />
===== Graphical =====<br />
<br />
* {{App|Birdie|Beautiful Twitter client designed for elementary OS.|https://www.amuza.uk/birdie|{{AUR|birdie-git}}}}<br />
* {{App|Choqok|Microblogging client for KDE that supports Twitter.com, Pump.io, GNU social and opendesktop.org services.|http://choqok.gnufolks.org/|{{Pkg|choqok}}}}<br />
* {{App|Corebird|Native GTK Twitter client for the Linux desktop.|http://corebird.baedert.org/|{{AUR|corebird}}{{Broken package link|package not found}}}}<br />
* {{App|Mikutter|Simple, powerful Twitter client using [[GTK]] and Ruby.|http://mikutter.hachune.net/|{{AUR|mikutter}}}}<br />
* {{App|Polly|Linux Twitter client designed for multiple columns of multiple accounts.|https://launchpad.net/polly/|{{AUR|polly}}}}<br />
* {{App|Pumpa|Pump.io client written in C++ and Qt.|https://pumpa.branchable.com/|{{AUR|pumpa-git}}}}<br />
* {{App|Turpial|Multi-interface Twitter client written in Python.|http://turpial.org.ve/|{{AUR|turpial-git}}}}<br />
* {{App|Whalebird|Mastodon client application. Based on the [https://electronjs.org/ Electron] platform.|https://whalebird.org/|{{AUR|whalebird-bin}}}}<br />
<br />
==== Blog engines ====<br />
<br />
See also [[Wikipedia:Blog software]] and [[Wikipedia:List of content management systems]].<br />
{{note|Content managers, social networks, and blog publishers overlap in many functions.}}<br />
* {{App|[[Diaspora]]|A distributed privacy aware social network.|https://diasporafoundation.org|{{AUR|diaspora-mysql}} or {{AUR|diaspora-postgresql}}}}<br />
* {{App|[[Drupal]]|A PHP-based content management platform.|http://www.drupal.org/|{{Pkg|drupal}}}}<br />
* {{App|[[Ghost]]|Blogging platform written in JavaScript and distributed under the MIT License, designed to simplify the process of online publishing for individual bloggers as well as online publications.|https://ghost.org/|{{AUR|ghost}}{{Broken package link|package not found}}}}<br />
* {{App|[[Joomla]]|A php Content Management System (CMS) which enables you to build websites and powerful online applications.|http://www.joomla.org/|{{AUR|joomla}}}}<br />
* {{App|[[Wordpress]]|Blog tool and publishing platform.|https://wordpress.org/|{{Pkg|wordpress}}}}<br />
<br />
==== Static site generators ====<br />
<br />
* {{App|Hexo|Fast, simple and powerful blog framework.|https://hexo.io/|{{AUR|nodejs-hexo-cli}}}}<br />
* {{App|Hugo|Hugo is a static HTML and CSS website generator written in Go. It is optimized for speed, ease of use, and configurability.|https://gohugo.io/|{{Pkg|hugo}}}}<br />
* {{App|[[Jekyll]]|Static blog engine, written in Ruby, which supports Markdown, textile and other formats.|http://jekyllrb.com/|{{AUR|jekyll}}}}<br />
* {{App|Nanoblogger|A small weblog engine written in Bash for the command line. It uses common UNIX tools such as cat, grep, and sed to create static HTML content. It is not maintained anymore.|http://nanoblogger.sourceforge.net/|{{AUR|nanoblogger}}}}<br />
* {{App|Nikola|Static site generator written in Python, with incremental rebuilds and multiple markup formats.|https://getnikola.com/|{{Pkg|nikola}}}}<br />
* {{app|Pelican|Static site generator, powered by Python.|http://docs.getpelican.com/|{{Pkg|pelican}}}}<br />
<br />
=== Remote desktop ===<br />
<br />
See also [[Wikipedia:Remote desktop software]] and [[Wikipedia:Comparison of remote desktop software]].<br />
<br />
==== Remote desktop clients ====<br />
<br />
* {{App|[[Wikipedia:AnyDesk|AnyDesk]]|Proprietary remote desktop software.|https://anydesk.com/|{{AUR|anydesk}}}}<br />
* {{App|[[Wikipedia:GNOME Boxes|GNOME Boxes]]|A simple GNOME 3 application to access remote or virtual systems. Supports VNC and SPICE.|https://wiki.gnome.org/Apps/Boxes|{{Pkg|gnome-boxes}}}}<br />
* {{App|GVncViewer|Simple VNC Client on Gtk-VNC. Run with {{ic|gvncviewer}}.|https://wiki.gnome.org/Projects/gtk-vnc|{{Pkg|gtk-vnc}}}}<br />
* {{App|[[Wikipedia:KRDC|KRDC]]|Remote Desktop Client for KDE. Supports RDP and VNC. Part of {{Grp|kdenetwork}}.|https://www.kde.org/applications/internet/krdc/|{{Pkg|krdc}}}}<br />
* {{App|[[Remmina]]|Remote desktop client written in GTK. Supports RDP, VNC, NX, XDMCP and SSH.|http://www.remmina.org/|{{Pkg|remmina}}}}<br />
* {{App|Remote Viewer|Simple remote display client. Supports SPICE and VNC.|https://virt-manager.org/|{{Pkg|virt-viewer}}}}<br />
* {{App|[[Wikipedia:TeamViewer|TeamViewer]]|Proprietary remote desktop client. It uses its own proprietary protocol.|http://www.teamviewer.com/|{{AUR|teamviewer}}}}<br />
* {{App|[[TigerVNC|vncviewer (TigerVNC)]]|VNC viewer for X.|http://tigervnc.org/|{{Pkg|tigervnc}}}}<br />
* {{App|[[Wikipedia:Vinagre|Vinagre]]|Remote desktop viewer for GNOME. Supports RDP, VNC, SPICE and SSH. Part of {{Grp|gnome-extra}}.|https://wiki.gnome.org/Apps/Vinagre|{{Pkg|vinagre}}}}<br />
* {{App|xfreerdp|FreeRDP X11 client. Run with {{ic|xfreerdp}}.|http://www.freerdp.com/|{{Pkg|freerdp}}}}<br />
* {{App|[[X2Go]] Client|A graphical client (Qt4) for the X2Go system that uses the [[w:NX technology|NX technology]] protocol.|http://wiki.x2go.org/doku.php|{{Pkg|x2goclient}}}}<br />
<br />
==== Remote desktop servers ====<br />
<br />
* {{App|Krfb|VNC server for KDE. Part of {{Grp|kdenetwork}}.|https://www.kde.org/applications/system/krfb|{{Pkg|krfb}}}}<br />
* {{App|[[Vino]]|VNC server for GNOME. Part of {{Grp|gnome}}.|https://wiki.gnome.org/Projects/Vino|{{Pkg|vino}}}}<br />
* {{App|[[TigerVNC|x0vncserver (TigerVNC)]]|VNC Server for X displays.|http://tigervnc.org/|{{Pkg|tigervnc}}}}<br />
* {{App|[[x11vnc]]|VNC server for real X displays.|http://www.karlrunge.com/x11vnc/|{{Pkg|x11vnc}}}}<br />
* {{App|[[X2Go]] Server|An open source remote desktop software that uses the [[w:NX technology|NX technology]] protocol.|http://wiki.x2go.org/doku.php|{{Pkg|x2goserver}}}}<br />
* {{App|[[Xrdp]]|A daemon that supports RDP. It uses Xvnc, X11rdp or xorgxrdp as a backend.|http://www.xrdp.org/|{{AUR|xrdp}}}}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=General_troubleshooting&diff=275790General troubleshooting2013-09-16T16:32:24Z<p>Anonymous user: /* Session permissions */</p>
<hr />
<div>[[Category:System administration]]<br />
[[Category:System recovery]]<br />
[[es:General Troubleshooting]]<br />
{{stub}}<br />
<br />
This article explains some methods for general troubleshooting. For application specific issues, please reference the particular wiki page for that program.<br />
<br />
== Attention To Detail ==<br />
In order to resolve an issue that you are having, it is ''absolutely crucial'' to have a firm understanding of how that specific system functions. How it works, and what does it need to run without error? If you cannot comfortably answer these question then it is strongly advised that you review the [[Table of Contents|Archwiki]] article for the function that you are having troubles with. Once you feel like you've understood the specific system, it will be easier for you to pin-point the problem. <br />
<br />
== Questions / Checklist ==<br />
The following gives a number of questions for you whenever dealing with a malfunctioning system. Under each question there are notes explaining how you should be answering each question, followed by some light examples on how to easily gather data output and what tools can be used to review logs and the journal.<br />
<br />
;1. What <u>is</u> the issue(s)?:Be ''<u>as precise as possible</u>''. This will help you not get confused and/or side-tracked when looking up specific information.<br />
;2. Are there error messages? (if any):Copy and paste <u>''full outputs''</u> that contain '''error messages''' related to your issue into a separate file, such as {{ic|$HOME/issue.log}}. For example, to forward the output of the following [[mkinitcpio]] command to {{ic|$HOME/issue.log}}:<br />
$ mkinitcpio -p linux >> $HOME/issue.log'' <br />
;3. Can you reproduce the issue?:If so, give ''exact'' '''step-by-step''' instructions/commands needed to do so.<br />
;4. When did you first encounter these issues and what was changed between then and when the system was operating without error?:If it occurred right after an update then, list '''<u>all packages that were updated</u>'''. Include ''version numbers'', also, paste the entire update from [[pacman]].log ({{ic|/var/log/pacman.log}}). Also take note of the statuses of ''any'' service(s) needed to support the malfunctioning application(s) using [[systemd]]'s systemctl tools. For example, to forward the output of the following [[Systemd#Basic_systemctl_usage|systemd]] command to {{ic|$HOME/issue.log}}:<br />
$ systemctl status dhcpcd@eth0.service >> $HOME/issue.log<br />
{{Note|Using {{ic|'''>>'''}} will ensure any previous text in {{ic|$HOME/issue.log}} will not be overwritten.}}<br />
<br />
== Be more specific ==<br />
When attempting to resolve an issue, '''never''' approach it as: <br />
<br />
''Application X does not work.''<br />
<br />
Instead, look at it in its entirety: <br />
<br />
''Application X produces Y error(s) when performing Z tasks under conditions A and B.<br />
<br />
== Additional Support ==<br />
With all the information in front of you. You should have a good idea as to what is going on with the system.<br />
And you can now start working on a proper fix.<br />
<br />
If you require any additional support, it can be found at irc.freenode.net #archlinux<br />
<br />
==Session permissions==<br />
{{Note|You must be using [[systemd]] as your init system for local sessions to work - which is required for polkit permissions and ACLs for various devices (see {{ic|/usr/lib/udev/rules.d/70-uaccess.rules}})}}<br />
<br />
First, make sure you have a valid local session within X:<br />
<br />
$ loginctl show-session $XDG_SESSION_ID<br />
<br />
This should contain {{ic|1=Remote=no}} and {{ic|1=Active=yes}} in the output. If it does not, make sure that X runs on the same tty where the login occurred. This is required in order to preserve the logind session. This is handled by the default {{ic|/etc/X11/xinit/xserverrc}}.<br />
<br />
{{Note|In the past {{ic|ck-launch-session}} was used to start a '''new''' session instead of simply not breaking the old one. There is no equivalent to this hack with {{ic|logind}}, and a multi-seat aware display manager is required to run X on an arbitrary tty.}}<br />
<br />
A dbus session should also be started along with X, in a way that exports a single {{ic|DBUS_SESSION_BUS_ADDRESS}} for every application in your session. If you use a desktop environment this will be handled for you, otherwise you can copy the code from {{ic|/etc/skel/.xinitrc}} that runs files in {{ic|/etc/X11/xinit/xinitrc.d}} to your {{ic|~/.xinitrc}}, and avoid using {{ic|dbus-launch}} or {{ic|ck-launch-session}}.<br />
<br />
Some polkit actions require further authentication, even with a local session. A polkit authentication agent needs to be running for this to work. There are three alternatives in the repositories:<br />
<br />
* {{pkg|lxpolkit}}, which provides {{ic|/usr/lib/lxpolkit/lxpolkit}}<br />
* {{pkg|polkit-gnome}}, which provides {{ic|/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1}}<br />
* {{pkg|polkit-kde}}, which provides {{ic|/usr/lib/kde4/libexec/polkit-kde-authentication-agent-1}}<br />
<br />
==Single user mode==<br />
If you cannot boot due to errors caused by a daemon, display manager or Xorg, you may be able use the single user [[Runlevels|runlevel]]:<br />
{{poor writing}}<br />
#Boot to single-user mode by appending {{ic|1}} or {{ic|s}} to the kernel line in GRUB. <br />
#Then disable the [[systemd]] service that is causing the problem. <br />
#Change to the multi-user mode systemd [[Systemd#Targets|target]].<br />
#Then try to track down the issue by running the service manually.<br />
<br />
==file: could not find any magic files!==<br />
{{Poor writing}}<br />
''Example:'' After an every-day routine update or following the installation of a package you are given the following error:<br />
# file: could not find any magic files!<br />
This will most likely leave your system crippled. And, any attempts made to recompile/reinstall the package(s) responsible for the breakage will fail. Also, any attempts made to try to rebuild the [[mkinitcpio|initramfs]] will result in the following:<br />
# mkinitcpio -p linux<br />
==> Building image from preset: 'default'<br />
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img<br />
file: could not find any magic files!<br />
==> ERROR: invalid kernel specifier: `/boot/vmlinuz-linux'<br />
==> Building image from preset: 'fallback'<br />
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect<br />
file: could not find any magic files!<br />
@==> ERROR: invalid kernel specifier: `/boot/vmlinuz-linux'<br />
<br />
===Solution===<br />
Typically a previously installed application had placed a configuration file within {{ic|/etc/ld.so.conf.d/}} or it had made changes to {{ic|/etc/ld.so.conf}} which are now invalid.<br />
#Boot into the Arch Linux Live CD / Installation Media.<br />
#Mount your root ({{ic|'''/'''}}) partition to {{ic|/mnt}} and using [[Change_Root#Change_root|arch-chroot]], [[Change_Root|chroot]] into your system.<br />
{{Note|[[Change_Root#Change_root|arch-chroot]] leaves mounting the {{ic|/boot}} partition up to the user.}}<br />
#Examine {{ic|/etc/ld.so.conf}} and remove any invalid lines found.<br />
#Examine the files located inside the directory {{ic|/etc/ld.so.conf.d/}} and remove all invalid files.<br />
#Rebuild the [[initramfs]].<br />
# mkinitcpio -p linux<br />
#Reboot back to your installed system.<br />
#Once booted, reinstall the package that was responsible for leaving your system inoperable using:<br />
# pacman -S <package><br />
<br />
==See also==<br />
*[[IRC Collaborative Debugging]]<br />
*[[Step By Step Debugging Guide]]<br />
*[http://www.maximumpc.com/article/features/linux_troubleshooting_guide_fix_most_common_problems Fix the Most Common Problems]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Uniform_look_for_Qt_and_GTK_applications&diff=255564Uniform look for Qt and GTK applications2013-04-28T13:31:27Z<p>Anonymous user: /* Themes not working in GTK+ apps */</p>
<hr />
<div>[[Category:Desktop environments]]<br />
[[Category:Eye candy]]<br />
[[es:Uniform Look for Qt and GTK Applications]]<br />
[[it:Uniform Look for Qt and GTK Applications]]<br />
[[ru:Uniform Look for Qt and GTK Applications]]<br />
[[uk:Uniform Look for Qt and GTK Applications]]<br />
[[zh-CN:Uniform Look for Qt and GTK Applications]]<br />
{{Article summary start}}<br />
{{Article summary text|This articles details theme configuration of GTK+ at Qt applications to ensure a uniform style. This article will cover configuration, theme engines, tricks and troubleshooting.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary wiki|Qt}}<br />
{{Article summary end}}<br />
<br />
[[Qt]] and [[GTK+]] based programs both use a different widget toolkit to render the graphical user interface. Each come with different themes, styles and icon sets by default, among other things, so the "look and feel" differ significantly. This article will help you make your Qt and GTK+ applications look similar for a more streamlined and integrated desktop experience.<br />
<br />
To get a similar look between the two you will most likely have to modify the following:<br />
* '''Theme''': The custom appearance of an application, widget set, etc. It usually consists of a style, an icon theme and a color theme.<br />
* '''Style''': The graphical layout and look of the widget set.<br />
* '''Icon Theme''': A set of global icons.<br />
* '''Color Theme''': A set of global colors that are used in conjunction with the style.<br />
<br />
You can choose various approaches:<br />
<br />
* Modify [[Uniform Look for QT and GTK Applications#Styles for both Qt and GTK+|GTK+ and Qt styles]] separately with the tools listed below for each toolkit and aim for choosing similarly looking themes (style, colors, icons, cursors, fonts).<br />
* Use a special [[Uniform Look for QT and GTK Applications#Theme Engines|theme engine]], which intermediates the modification of the other graphical toolkit to match your main toolkit:<br />
** if you work in KDE 4 desktop environment then a GTK-Qt engine is available, which updates GTK+ configuration files automatically so that GTK+ appearance is similar to the Qt one;<br />
** if you work in other desktop environments, you can choose the QGtkStyle engine (built in Qt), which forces Qt apps to use your GTK+ 2.x theme.<br />
<br />
Should you use also GTK+ 3.x toolkit, follow the [[GTK+#GTK+ 3.x|GTK+ 3.x]] wiki article to find out how to make it look similar to GTK+ 2.x themes.<br />
<br />
== Styles for both Qt and GTK+ ==<br />
<br />
There are widget style sets available for the purpose of integration, where builds are written and provided for both Qt and GTK+, all major versions included. With these, you can have one look for all applications regardless of the toolkit they had been written with.<br />
<br />
=== KDE4 Oxygen ===<br />
<br />
[http://www.oxygen-icons.org/ Oxygen] is a Qt style that comes by default with KDE4. There are various ways of mimicking its appearance that are discribed below.<br />
<br />
==== oxygen-gtk ====<br />
[http://kde-look.org/content/show.php/?content&#61;136216 oxygen-gtk] is a port of the Oxygen Qt Style to GTK+ done by the Oxygen developers. Unlike other attempts, it is a native GTK+ style that does not depend on Qt (via some Qt to GTK+ conversion engine) nor does it render widget appearances via hard coded pixmaps. The style has the primary goal to ensure visual consistency between GTK+ 2.x/3.x and Qt-based applications running under KDE with a secondary objective to also have a standalone, nice looking GTK+ theme that behaves well in other desktop environments.<br />
<br />
The style has GTK+ 2.x and GTK+ 3.x variants which can be [[Pacman|installed]] with the {{Pkg|oxygen-gtk2}} or {{Pkg|oxygen-gtk3}} packages, available in the [[official repositories]].<br />
<br />
{{Note|Before KDE 4.10, you needed to create the file {{ic|~/.kde4/share/config/gtkrc-2.0}}, or let it automatically create like described below. But that is actually counter-productive with KDE 4.10’s oxygen-gtk, and you should delete this file after upgrading to prevent it from messing with your colors. Cleanup-removal of {{ic|~/.kde4/share/config/gtkrc}} might be necessary, too}}<br />
<br />
===== Automatic procedure =====<br />
A few [[#GTK2 styles|dedicated applications]] are available in the official repositories that are able to change the GTK+ theme.<br />
<br />
You can also install {{AUR|kde-gtk-config}} from [[AUR]]. After installation, it can be found in ''System Settings > Application Appearance > GTK Configuration''. It allows you to configure the look and feel for both GTK+ 2.x and GTK+ 3.x applications and is integrated with the KDE add-on installer (Get Hot New Stuff), so you can also download and install other GTK+ themes.<br />
<br />
===== Manual procedure =====<br />
To manually change the GTK+ theme to '''oxygen-gtk''', you need to create the file {{ic|~/.kde4/share/config/gtkrc-2.0}} with the following content:<br />
{{hc|~/.kde4/share/config/gtkrc-2.0|<nowiki><br />
include "/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc"<br />
include "~/.themes/oxygen-gtk/gtk-2.0/gtkrc"<br />
<br />
style "user"<br />
{ <br />
fg[NORMAL] = "#1b1918"<br />
bg[NORMAL] = "#d5d1cf"<br />
text[NORMAL] = "#181615"<br />
base[NORMAL] = "#ffffff"<br />
fg[ACTIVE] = "#1b1918"<br />
bg[ACTIVE] = "#d5d1cf"<br />
text[ACTIVE] = "#181615"<br />
base[ACTIVE] = "#ffffff"<br />
fg[PRELIGHT] = "#1b1918"<br />
bg[PRELIGHT] = "#d5d1cf"<br />
text[PRELIGHT] = "#ffffff"<br />
base[PRELIGHT] = "#43ace8"<br />
fg[SELECTED] = "#1b1918"<br />
bg[SELECTED] = "#d5d1cf"<br />
text[SELECTED] = "#ffffff"<br />
base[SELECTED] = "#43ace8"<br />
fg[INSENSITIVE] = "#8d8a88"<br />
bg[INSENSITIVE] = "#ccc7c5"<br />
text[INSENSITIVE] = "#a6a5a5"<br />
base[INSENSITIVE] = "#f4f4f4"<br />
GtkTreeView::odd_row_color="#ffffff"<br />
GtkTreeView::even_row_color="#f8f7f6"<br />
}<br />
<br />
widget_class "*" style "user"<br />
<br />
style "tooltips"<br />
{ <br />
bg[NORMAL] = "#bedfff"<br />
fg[NORMAL] = "#252321"<br />
}<br />
<br />
widget "gtk-tooltips" style "tooltips"<br />
#gtk-theme-name="qt4"<br />
gtk-font-name="Sans Serif 9"<br />
gtk-icon-theme-name="gk4ico"<br />
gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-button=22,22:gtk-large-toolbar=22,22"<br />
</nowiki><br />
}}<br />
<br />
Then you need to create the symbolic link {{ic|~/.kde4/share/config/gtkrc}}:<br />
ln -s ~/.kde4/share/config/gtkrc-2.0 ~/.kde4/share/config/gtkrc<br />
<br />
==== Oxygen icons ====<br />
If you are using Oxygen icons and want a consistent look in GTK+ dialogs, you can install the {{AUR|oxygenrefit2-icon-theme}} icon theme from [[AUR]] and set it as your GTK+ icon theme. To apply the theme you can use {{ic|lxappearance}} (or a similar program) or set it manually by adding the following line to {{ic|~/.kde4/share/config/gtkrc-2.0}}:<br />
gtk-icon-theme-name="OxygenRefit2"<br />
<br />
Another version of the Oxygen icon theme for GTK+ applications can be installed with the {{AUR|oxygen-gtk-icons}} package from [[AUR]].<br />
<br />
=== QtCurve ===<br />
<br />
QtCurve is a highly popular and configurable set of widget styles for Qt4/KDE4, KDE3 and GTK+ 2.x. QtCurve can be installed with the packages {{Pkg|qtcurve-kde4}}, {{Pkg|qtcurve-kde3}} or {{Pkg|qtcurve-gtk2}}, all available in the official repositories. It has many controls for various options, ranging from the appearance of buttons to the shape of sliders.<br />
<br />
To manually change the GTK+ theme to '''QtCurve''', you need to create the file {{ic|~/.gtkrc-2.0-kde4}} with the following content:<br />
include "/usr/share/themes/QtCurve/gtk-2.0/gtkrc"<br />
include "/etc/gtk-2.0/gtkrc"<br />
<br />
style "user-font"<br />
{<br />
font_name="Sans Serif"<br />
}<br />
widget_class "*" style "user-font" <br />
gtk-theme-name="QtCurve"<br />
<br />
Then you need to create the symbolic link {{ic|~/.gtkrc-2.0}}:<br />
ln -s .gtkrc-2.0-kde4 .gtkrc-2.0<br />
If you want also specify a font, you can add (and adapt) the following line to the file:<br />
gtk-font-name="Sans Serif 9"<br />
<br />
=== Others ===<br />
<br />
Similar style sets are those that look like each other - written and provided for both Qt and GTK+ - but are not necessarily from the same developers. You may have to do some minor tweaking to make them look the same (e.g. {{AUR|kdestyle-klearlook}} for Qt4/KDE4 and the Clearlooks GTK+ theme).<br />
<br />
== Changing styles in each toolkit ==<br />
<br />
You can use the following methods to change the theme used in each environment.<br />
<br />
=== Qt4 styles ===<br />
Qt4 styles cand be changed in a similar way:<br />
* using the ''KDE4 System Settings'' (systemsettings), the settings can be found in ''Common Appearance and Behavior > Application Appearance > Style > Widget Style''<br />
* using the command-line tool {{ic|kwriteconfig --file kdeglobals --group General --key widgetStyle [name of style]}}.<br />
* using the ''Qt Configuration'' (qtconfig) application, the settings can be found in ''Appearance > Select GUI Style''.<br />
<br />
Note that while Qt Configuration allows you to choose the theme, font, etc. for Qt apps, you can modify more settings with KDE4 System Settings (e.g. font antialiasing and hinting).<br />
<br />
=== Qt3 styles ===<br />
Qt3 styles can be changed in the following ways:<br />
* using the ''KDE3 Control Center'' (kcontrol), the settings can be found in ''Appearance & Themes > Style > Widget Style''.<br />
* using the command-line tool {{ic|kde-config --style [name of style]}}.<br />
* using the default ''Qt Configuration'' (qt3config) application, the settings can be found in ''Appearance > Select GUI Style''.<br />
<br />
=== GTK+2 styles ===<br />
Various applications and methods are available to change the GTK+ 2.x styles:<br />
* {{App|kde-gtk-config|An application that allows you to change style and font of GTK+2 and Gtk+3 applications.|https://projects.kde.org/kde-gtk-config|{{Pkg|kde-gtk-config}}}}<br />
:After installation, {{ic|kde-gtk-config}} can also be found in ''System Settings > Application Appearance > GTK''.<br />
* {{App|gtk-kde4|An application that allows you to change style and font of GTK+2 applications in KDE4.|http://kde-look.org/content/show.php?content&#61;74689|{{Aur|gtk-kde4}}}}<br />
:After installation, {{ic|gtk-kde4}} can also be found in ''System Settings > Lost and Found > GTK style''.<br />
* {{App|LXAppearance|A desktop independent GTK+ style configuration tool from the LXDE project (it does not require other parts of the LXDE desktop).|http://wiki.lxde.org/en/LXAppearance|{{Pkg|lxappearance}}}}<br />
* {{App|GTK+ Change Theme|A little program that lets you change your GTK+ 2.0 theme (considered a better alternative to ''switch2'').|http://plasmasturm.org/code/gtk-chtheme/|{{Pkg|gtk-chtheme}}}}<br />
* {{App|GTK+ Preference Tool|A GTK+ theme selector and font switcher.|http://gtk-win.sourceforge.net/home/index.php/Main/GTKPreferenceTool|{{Pkg|gtk2_prefs}}}}<br />
* {{App|GTK+ Theme Switch|A simple GTK+ theme switcher.|http://muhri.net/nav.php3?node&#61;gts|{{Pkg|gtk-theme-switch2}}}}<br />
* For manual configuration see the [[GTK%2B#GTK.2B_2.x|GTK+ page]].<br />
<br />
=== GTK+1 styles ===<br />
To change GTK1 styles you can install the {{AUR|gtk-theme-switch}} package from the [[AUR]].<br />
<br />
== Theme Engines ==<br />
A Theme Engine can be thought of as a thin layer API which translates themes (excluding icons) between one or more toolkits. These engines add some extra code in the process and it is arguable that this kind of a solution is not as elegant and optimal as using native styles.<br />
<br />
=== GTK+-Qt Engine ===<br />
<br />
This one is for use by GTK+ applications running in KDE, which basically means this does not work in other desktop environments. It applies all Qt settings (styles, fonts, not icons though) to the GTK+ applications and uses the style plugins directly. This engine can be installed with the {{Aur|gtk-qt-engine}} package, available in the AUR.<br />
<br />
{{Note|There are rendering issues with some Qt styles.}}<br />
<br />
You can access it from the ''KDE System Settings'' under ''Lost and Found > GTK Styles and Fonts''.<br />
<br />
If you want to remove the engine entirely you need to uninstall it and also delete the following files:<br />
$ rm ~/.gtkrc2.0-kde<br />
$ rm ~/.kde4/env/gtk-qt-engine.rc.sh<br />
$ rm ~/gtk-qt-engine.rc<br />
<br />
=== QGtkStyle ===<br />
<br />
This is a Qt style which intends to make applications blend perfectly into the GNOME desktop environment by using GTK+ to render all components. To use this style you must have at least GTK+ 2.0 and Qt 4.3, although Qt 4.4 or higher is preferred. To enable this style, use:<br />
* ''Qt Configuration'': choose "GTK+" under ''Appearance > GUI Style''.<br />
* ''KDE4 System Settings'': choose "GTK+ Style" under ''Application Appearance > Style > Applications''.<br />
* the command-line: edit the {{ic|.config/Trolltech.conf}} file by adding:<br />
<br />
{{hc|~/.config/Trolltech.conf|<nowiki><br />
...<br />
[Qt]<br />
style=GTK+<br />
...</nowiki>}}<br />
<br />
{{Note|Beginning with version 4.5 this style is included in Qt and does not require a separate package anymore.}}<br />
<br />
== Tips and tricks ==<br />
=== KDE file dialogs for GTK+ apps ===<br />
[http://kde-apps.org/content/show.php?content&#61;36077 KGtk] is a wrapper script that uses LD_PRELOAD to force KDE file dialogs (open, save, etc.) in GTK+ 2.x apps. If you use KDE and prefer its file dialogs over GTK+'s then you can install {{AUR|kgtk}} from the [[AUR]] (a KDE3 version is also available in the {{AUR|kde3-kgtk}} package). Once installed you can run GTK+ 2.x applications with {{ic|kgtk-wrapper}} in two ways (using [[Gimp]] in the examples):<br />
* Calling {{ic|kgtk-wrapper}} directly and using the GTK+ 2.x binary as an argument:<br />
/usr/bin/kgtk-wrapper gimp<br />
* Creating a symbolic link to {{ic|kgtk}} using the name of the GTK+ 2.x binary:<br />
ln -s /usr/bin/kgtk-wrapper /usr/local/bin/gimp<br />
:To run the version of Gimp with KDE dialogs, make sure you have {{ic|/usr/local/bin/}} before {{ic|/usr/bin/}} in your {{ic|PATH}}.<br />
{{Note|Some GTK+ applications may not be compatible with KGtk.}}<br />
<br />
=== aMSN with GTK+ or KDE dialogs ===<br />
aMSN's uses the Tk toolkit for its user interface. To make it use GTK+ or KDE dialogs install the {{AUR|amsn-plugins-desktopintegration}} plugin available in the [[AUR]]. Other plugins can be found on [http://www.amsn-project.net/plugins.php aMSN's Plugin Page].<br />
<br />
=== Run an application with a specific theme ===<br />
You can use custom styles for specific GTK+ 2.x applications. To run an application with a specific theme use:<br />
GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox<br />
<br />
This will launch Firefox with the QtCurve theme.<br />
<br />
=== Using a GTK+ icon theme in Qt apps ===<br />
If you are not using GNOME, run {{ic|gconf-editor}}, look under ''desktop > gnome > interface'' for the {{ic|icon_theme}} key and change it to your preference.<br />
<br />
=== Improve subpixel rendering of GTK apps under KDE ===<br />
If the subpixel rendering in GTK apps is not as sharp as in native KDE Qt applications, try to add the following lines to your {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}} (between the {{ic|<fontconfig>}} tags):<br />
<br />
{{bc|<nowiki><br />
<match target="font"><br />
<edit mode="assign" name="lcdfilter"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
</nowiki>}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== gtk-qt-engine does not work with OpenOffice ===<br />
To make OpenOffice respect the Qt theme chosen with the GTK+-Qt Engine you need to add the following line to {{ic|/etc/profile}} (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
<br />
Also make sure to select "Use my KDE style in GTK applications" in ''KDE4 System Settings'' under ''Lost and Found > GTK Styles and Fonts''.<br />
<br />
=== Qt applications do not use QGtkStyle ===<br />
<br />
Qt will not apply QGtkStyle correctly if GTK+ is using the [[#GTK+-Qt Engine|GTK+-Qt Engine]]. Qt determines whether the GTK+-Qt Engine is in use by reading the GTK+ configuration files listed in the environmental variable {{ic|GTK2_RC_FILES}}. If the environmental variable is not set properly, Qt assumes you are using the engine, sets QGtkStyle to use the style GTK+ style ''Clearlooks'', and outputs an error message:<br />
<br />
QGtkStyle cannot be used together with the GTK_Qt engine.<br />
<br />
Another error you may get after launching {{ic|qtconfig}} from a shell and selecting the GTK+ style is:<br />
<br />
QGtkStyle was unable to detect the current GTK+ theme.<br />
<br />
According to [https://bbs.archlinux.org/viewtopic.php?id&#61;99175&p&#61;1 this thread], you may simply have to install {{Pkg|libgnomeui}} to solve this issue. This has the added benefit that you don't need to edit a file every time you change your theme via a graphical tool, like the one provided by xfce.<br />
<br />
Users of [[Openbox]] and other non-GNOME environments may encounter this problem. To solve this, first add the following to your {{ic|.xinitrc}} file:<br />
{{hc|.xinitrc|<nowiki><br />
...<br />
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"<br />
...<br />
</nowiki>}}<br />
<br />
{{Note|<br />
* Make sure to add this line before invoking the window manager.<br />
* You can add multiple paths by separating them with colons.<br />
* Make sure to use {{ic|$HOME}} instead of {{ic|~}} as it will not properly expand to the user's home directory.<br />
}}<br />
<br />
Then specify the theme you want in the {{ic|~/.gtkrc-2.0}} file using a [[#GTK2 styles|dedicated application]] or manually, by adding:<br />
{{hc|.gtkrc-2.0|<nowiki><br />
...<br />
gtk-theme-name="[name of theme]"<br />
...<br />
</nowiki>}}<br />
<br />
Some tools only insert the following include directive in {{ic|~/.gtkrc-2.0}}:<br />
{{hc|.gtkrc-2.0|<br />
...<br />
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"<br />
...<br />
}}<br />
<br />
which apparently is not recognized by all versions of QGtkStyle. You can hotfix this problem by inserting the {{ic|gtk-theme-name}} manually in your {{ic|~/.gtkrc-2.0}} file like above.<br />
<br />
{{Note|Style-changing applications will most probably rewrite the {{ic|~/.gtkrc-2.0}} file the next time you change themes.}}<br />
<br />
If these steps do not work, install {{Pkg|gconf}} and run this command:<br />
<br />
gconftool-2 --set --type string /desktop/gnome/interface/gtk_theme [name of theme]<br />
<br />
If you further want to set the same icon and cursor theme, then you have to specify them, too.<br />
<br />
gconftool-2 --set --type string /desktop/gnome/interface/icon_theme Faenza-Dark<br />
<br />
This sets the icon theme to Faenza-Dark located in {{ic|/usr/share/icons/Faenza-Dark}}. For the cursor theme you first have to set the gconf value.<br />
<br />
gconftool-2 --set --type string /desktop/gnome/peripherals/mouse/cursor_theme Adwaita<br />
<br />
Then you will have to create the file {{ic|/usr/share/icons/default/index.theme}} with the following lines:<br />
<br />
[Icon Theme]<br />
Inherits=Adwaita<br />
<br />
=== Themes not working in GTK+ apps ===<br />
<br />
If the style or theme engine you set up is not showing in your GTK applications then it's likely your GTK+ settings files are not being loaded for some reason. You can check where your system expects to find these files by doing the following..<br />
$ export | grep gtk<br />
<br />
Usually the expected files should be {{ic|~/.gtkrc}} for GTK1 and {{ic|~/.gtkrc2.0}} or {{ic|~/.gtkrc2.0-kde}} for GTK+ 2.x.<br />
<br />
Newer versions of {{Aur|gtk-qt-engine}} use {{ic|~/.gtkrc2.0-kde}} and set the export variable in {{ic|~/.kde/env/gtk-qt-engine.rc.sh}}.<br />
If you recently removed '''gtk-qt-engine''' and are trying to set a GTK+ theme then you must also remove {{ic|~/.kde/env/gtk-qt-engine.rc.sh}} and reboot. Doing this will ensure that GTK+ looks for it's settings in the standard {{ic|~/.gtkrc2.0}} instead of the {{ic|~/.gtkrc2.0-kde}} file.</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Uniform_look_for_Qt_and_GTK_applications&diff=255563Uniform look for Qt and GTK applications2013-04-28T13:30:15Z<p>Anonymous user: /* GTK+-Qt Engine */</p>
<hr />
<div>[[Category:Desktop environments]]<br />
[[Category:Eye candy]]<br />
[[es:Uniform Look for Qt and GTK Applications]]<br />
[[it:Uniform Look for Qt and GTK Applications]]<br />
[[ru:Uniform Look for Qt and GTK Applications]]<br />
[[uk:Uniform Look for Qt and GTK Applications]]<br />
[[zh-CN:Uniform Look for Qt and GTK Applications]]<br />
{{Article summary start}}<br />
{{Article summary text|This articles details theme configuration of GTK+ at Qt applications to ensure a uniform style. This article will cover configuration, theme engines, tricks and troubleshooting.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary wiki|Qt}}<br />
{{Article summary end}}<br />
<br />
[[Qt]] and [[GTK+]] based programs both use a different widget toolkit to render the graphical user interface. Each come with different themes, styles and icon sets by default, among other things, so the "look and feel" differ significantly. This article will help you make your Qt and GTK+ applications look similar for a more streamlined and integrated desktop experience.<br />
<br />
To get a similar look between the two you will most likely have to modify the following:<br />
* '''Theme''': The custom appearance of an application, widget set, etc. It usually consists of a style, an icon theme and a color theme.<br />
* '''Style''': The graphical layout and look of the widget set.<br />
* '''Icon Theme''': A set of global icons.<br />
* '''Color Theme''': A set of global colors that are used in conjunction with the style.<br />
<br />
You can choose various approaches:<br />
<br />
* Modify [[Uniform Look for QT and GTK Applications#Styles for both Qt and GTK+|GTK+ and Qt styles]] separately with the tools listed below for each toolkit and aim for choosing similarly looking themes (style, colors, icons, cursors, fonts).<br />
* Use a special [[Uniform Look for QT and GTK Applications#Theme Engines|theme engine]], which intermediates the modification of the other graphical toolkit to match your main toolkit:<br />
** if you work in KDE 4 desktop environment then a GTK-Qt engine is available, which updates GTK+ configuration files automatically so that GTK+ appearance is similar to the Qt one;<br />
** if you work in other desktop environments, you can choose the QGtkStyle engine (built in Qt), which forces Qt apps to use your GTK+ 2.x theme.<br />
<br />
Should you use also GTK+ 3.x toolkit, follow the [[GTK+#GTK+ 3.x|GTK+ 3.x]] wiki article to find out how to make it look similar to GTK+ 2.x themes.<br />
<br />
== Styles for both Qt and GTK+ ==<br />
<br />
There are widget style sets available for the purpose of integration, where builds are written and provided for both Qt and GTK+, all major versions included. With these, you can have one look for all applications regardless of the toolkit they had been written with.<br />
<br />
=== KDE4 Oxygen ===<br />
<br />
[http://www.oxygen-icons.org/ Oxygen] is a Qt style that comes by default with KDE4. There are various ways of mimicking its appearance that are discribed below.<br />
<br />
==== oxygen-gtk ====<br />
[http://kde-look.org/content/show.php/?content&#61;136216 oxygen-gtk] is a port of the Oxygen Qt Style to GTK+ done by the Oxygen developers. Unlike other attempts, it is a native GTK+ style that does not depend on Qt (via some Qt to GTK+ conversion engine) nor does it render widget appearances via hard coded pixmaps. The style has the primary goal to ensure visual consistency between GTK+ 2.x/3.x and Qt-based applications running under KDE with a secondary objective to also have a standalone, nice looking GTK+ theme that behaves well in other desktop environments.<br />
<br />
The style has GTK+ 2.x and GTK+ 3.x variants which can be [[Pacman|installed]] with the {{Pkg|oxygen-gtk2}} or {{Pkg|oxygen-gtk3}} packages, available in the [[official repositories]].<br />
<br />
{{Note|Before KDE 4.10, you needed to create the file {{ic|~/.kde4/share/config/gtkrc-2.0}}, or let it automatically create like described below. But that is actually counter-productive with KDE 4.10’s oxygen-gtk, and you should delete this file after upgrading to prevent it from messing with your colors. Cleanup-removal of {{ic|~/.kde4/share/config/gtkrc}} might be necessary, too}}<br />
<br />
===== Automatic procedure =====<br />
A few [[#GTK2 styles|dedicated applications]] are available in the official repositories that are able to change the GTK+ theme.<br />
<br />
You can also install {{AUR|kde-gtk-config}} from [[AUR]]. After installation, it can be found in ''System Settings > Application Appearance > GTK Configuration''. It allows you to configure the look and feel for both GTK+ 2.x and GTK+ 3.x applications and is integrated with the KDE add-on installer (Get Hot New Stuff), so you can also download and install other GTK+ themes.<br />
<br />
===== Manual procedure =====<br />
To manually change the GTK+ theme to '''oxygen-gtk''', you need to create the file {{ic|~/.kde4/share/config/gtkrc-2.0}} with the following content:<br />
{{hc|~/.kde4/share/config/gtkrc-2.0|<nowiki><br />
include "/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc"<br />
include "~/.themes/oxygen-gtk/gtk-2.0/gtkrc"<br />
<br />
style "user"<br />
{ <br />
fg[NORMAL] = "#1b1918"<br />
bg[NORMAL] = "#d5d1cf"<br />
text[NORMAL] = "#181615"<br />
base[NORMAL] = "#ffffff"<br />
fg[ACTIVE] = "#1b1918"<br />
bg[ACTIVE] = "#d5d1cf"<br />
text[ACTIVE] = "#181615"<br />
base[ACTIVE] = "#ffffff"<br />
fg[PRELIGHT] = "#1b1918"<br />
bg[PRELIGHT] = "#d5d1cf"<br />
text[PRELIGHT] = "#ffffff"<br />
base[PRELIGHT] = "#43ace8"<br />
fg[SELECTED] = "#1b1918"<br />
bg[SELECTED] = "#d5d1cf"<br />
text[SELECTED] = "#ffffff"<br />
base[SELECTED] = "#43ace8"<br />
fg[INSENSITIVE] = "#8d8a88"<br />
bg[INSENSITIVE] = "#ccc7c5"<br />
text[INSENSITIVE] = "#a6a5a5"<br />
base[INSENSITIVE] = "#f4f4f4"<br />
GtkTreeView::odd_row_color="#ffffff"<br />
GtkTreeView::even_row_color="#f8f7f6"<br />
}<br />
<br />
widget_class "*" style "user"<br />
<br />
style "tooltips"<br />
{ <br />
bg[NORMAL] = "#bedfff"<br />
fg[NORMAL] = "#252321"<br />
}<br />
<br />
widget "gtk-tooltips" style "tooltips"<br />
#gtk-theme-name="qt4"<br />
gtk-font-name="Sans Serif 9"<br />
gtk-icon-theme-name="gk4ico"<br />
gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-button=22,22:gtk-large-toolbar=22,22"<br />
</nowiki><br />
}}<br />
<br />
Then you need to create the symbolic link {{ic|~/.kde4/share/config/gtkrc}}:<br />
ln -s ~/.kde4/share/config/gtkrc-2.0 ~/.kde4/share/config/gtkrc<br />
<br />
==== Oxygen icons ====<br />
If you are using Oxygen icons and want a consistent look in GTK+ dialogs, you can install the {{AUR|oxygenrefit2-icon-theme}} icon theme from [[AUR]] and set it as your GTK+ icon theme. To apply the theme you can use {{ic|lxappearance}} (or a similar program) or set it manually by adding the following line to {{ic|~/.kde4/share/config/gtkrc-2.0}}:<br />
gtk-icon-theme-name="OxygenRefit2"<br />
<br />
Another version of the Oxygen icon theme for GTK+ applications can be installed with the {{AUR|oxygen-gtk-icons}} package from [[AUR]].<br />
<br />
=== QtCurve ===<br />
<br />
QtCurve is a highly popular and configurable set of widget styles for Qt4/KDE4, KDE3 and GTK+ 2.x. QtCurve can be installed with the packages {{Pkg|qtcurve-kde4}}, {{Pkg|qtcurve-kde3}} or {{Pkg|qtcurve-gtk2}}, all available in the official repositories. It has many controls for various options, ranging from the appearance of buttons to the shape of sliders.<br />
<br />
To manually change the GTK+ theme to '''QtCurve''', you need to create the file {{ic|~/.gtkrc-2.0-kde4}} with the following content:<br />
include "/usr/share/themes/QtCurve/gtk-2.0/gtkrc"<br />
include "/etc/gtk-2.0/gtkrc"<br />
<br />
style "user-font"<br />
{<br />
font_name="Sans Serif"<br />
}<br />
widget_class "*" style "user-font" <br />
gtk-theme-name="QtCurve"<br />
<br />
Then you need to create the symbolic link {{ic|~/.gtkrc-2.0}}:<br />
ln -s .gtkrc-2.0-kde4 .gtkrc-2.0<br />
If you want also specify a font, you can add (and adapt) the following line to the file:<br />
gtk-font-name="Sans Serif 9"<br />
<br />
=== Others ===<br />
<br />
Similar style sets are those that look like each other - written and provided for both Qt and GTK+ - but are not necessarily from the same developers. You may have to do some minor tweaking to make them look the same (e.g. {{AUR|kdestyle-klearlook}} for Qt4/KDE4 and the Clearlooks GTK+ theme).<br />
<br />
== Changing styles in each toolkit ==<br />
<br />
You can use the following methods to change the theme used in each environment.<br />
<br />
=== Qt4 styles ===<br />
Qt4 styles cand be changed in a similar way:<br />
* using the ''KDE4 System Settings'' (systemsettings), the settings can be found in ''Common Appearance and Behavior > Application Appearance > Style > Widget Style''<br />
* using the command-line tool {{ic|kwriteconfig --file kdeglobals --group General --key widgetStyle [name of style]}}.<br />
* using the ''Qt Configuration'' (qtconfig) application, the settings can be found in ''Appearance > Select GUI Style''.<br />
<br />
Note that while Qt Configuration allows you to choose the theme, font, etc. for Qt apps, you can modify more settings with KDE4 System Settings (e.g. font antialiasing and hinting).<br />
<br />
=== Qt3 styles ===<br />
Qt3 styles can be changed in the following ways:<br />
* using the ''KDE3 Control Center'' (kcontrol), the settings can be found in ''Appearance & Themes > Style > Widget Style''.<br />
* using the command-line tool {{ic|kde-config --style [name of style]}}.<br />
* using the default ''Qt Configuration'' (qt3config) application, the settings can be found in ''Appearance > Select GUI Style''.<br />
<br />
=== GTK+2 styles ===<br />
Various applications and methods are available to change the GTK+ 2.x styles:<br />
* {{App|kde-gtk-config|An application that allows you to change style and font of GTK+2 and Gtk+3 applications.|https://projects.kde.org/kde-gtk-config|{{Pkg|kde-gtk-config}}}}<br />
:After installation, {{ic|kde-gtk-config}} can also be found in ''System Settings > Application Appearance > GTK''.<br />
* {{App|gtk-kde4|An application that allows you to change style and font of GTK+2 applications in KDE4.|http://kde-look.org/content/show.php?content&#61;74689|{{Aur|gtk-kde4}}}}<br />
:After installation, {{ic|gtk-kde4}} can also be found in ''System Settings > Lost and Found > GTK style''.<br />
* {{App|LXAppearance|A desktop independent GTK+ style configuration tool from the LXDE project (it does not require other parts of the LXDE desktop).|http://wiki.lxde.org/en/LXAppearance|{{Pkg|lxappearance}}}}<br />
* {{App|GTK+ Change Theme|A little program that lets you change your GTK+ 2.0 theme (considered a better alternative to ''switch2'').|http://plasmasturm.org/code/gtk-chtheme/|{{Pkg|gtk-chtheme}}}}<br />
* {{App|GTK+ Preference Tool|A GTK+ theme selector and font switcher.|http://gtk-win.sourceforge.net/home/index.php/Main/GTKPreferenceTool|{{Pkg|gtk2_prefs}}}}<br />
* {{App|GTK+ Theme Switch|A simple GTK+ theme switcher.|http://muhri.net/nav.php3?node&#61;gts|{{Pkg|gtk-theme-switch2}}}}<br />
* For manual configuration see the [[GTK%2B#GTK.2B_2.x|GTK+ page]].<br />
<br />
=== GTK+1 styles ===<br />
To change GTK1 styles you can install the {{AUR|gtk-theme-switch}} package from the [[AUR]].<br />
<br />
== Theme Engines ==<br />
A Theme Engine can be thought of as a thin layer API which translates themes (excluding icons) between one or more toolkits. These engines add some extra code in the process and it is arguable that this kind of a solution is not as elegant and optimal as using native styles.<br />
<br />
=== GTK+-Qt Engine ===<br />
<br />
This one is for use by GTK+ applications running in KDE, which basically means this does not work in other desktop environments. It applies all Qt settings (styles, fonts, not icons though) to the GTK+ applications and uses the style plugins directly. This engine can be installed with the {{Aur|gtk-qt-engine}} package, available in the AUR.<br />
<br />
{{Note|There are rendering issues with some Qt styles.}}<br />
<br />
You can access it from the ''KDE System Settings'' under ''Lost and Found > GTK Styles and Fonts''.<br />
<br />
If you want to remove the engine entirely you need to uninstall it and also delete the following files:<br />
$ rm ~/.gtkrc2.0-kde<br />
$ rm ~/.kde4/env/gtk-qt-engine.rc.sh<br />
$ rm ~/gtk-qt-engine.rc<br />
<br />
=== QGtkStyle ===<br />
<br />
This is a Qt style which intends to make applications blend perfectly into the GNOME desktop environment by using GTK+ to render all components. To use this style you must have at least GTK+ 2.0 and Qt 4.3, although Qt 4.4 or higher is preferred. To enable this style, use:<br />
* ''Qt Configuration'': choose "GTK+" under ''Appearance > GUI Style''.<br />
* ''KDE4 System Settings'': choose "GTK+ Style" under ''Application Appearance > Style > Applications''.<br />
* the command-line: edit the {{ic|.config/Trolltech.conf}} file by adding:<br />
<br />
{{hc|~/.config/Trolltech.conf|<nowiki><br />
...<br />
[Qt]<br />
style=GTK+<br />
...</nowiki>}}<br />
<br />
{{Note|Beginning with version 4.5 this style is included in Qt and does not require a separate package anymore.}}<br />
<br />
== Tips and tricks ==<br />
=== KDE file dialogs for GTK+ apps ===<br />
[http://kde-apps.org/content/show.php?content&#61;36077 KGtk] is a wrapper script that uses LD_PRELOAD to force KDE file dialogs (open, save, etc.) in GTK+ 2.x apps. If you use KDE and prefer its file dialogs over GTK+'s then you can install {{AUR|kgtk}} from the [[AUR]] (a KDE3 version is also available in the {{AUR|kde3-kgtk}} package). Once installed you can run GTK+ 2.x applications with {{ic|kgtk-wrapper}} in two ways (using [[Gimp]] in the examples):<br />
* Calling {{ic|kgtk-wrapper}} directly and using the GTK+ 2.x binary as an argument:<br />
/usr/bin/kgtk-wrapper gimp<br />
* Creating a symbolic link to {{ic|kgtk}} using the name of the GTK+ 2.x binary:<br />
ln -s /usr/bin/kgtk-wrapper /usr/local/bin/gimp<br />
:To run the version of Gimp with KDE dialogs, make sure you have {{ic|/usr/local/bin/}} before {{ic|/usr/bin/}} in your {{ic|PATH}}.<br />
{{Note|Some GTK+ applications may not be compatible with KGtk.}}<br />
<br />
=== aMSN with GTK+ or KDE dialogs ===<br />
aMSN's uses the Tk toolkit for its user interface. To make it use GTK+ or KDE dialogs install the {{AUR|amsn-plugins-desktopintegration}} plugin available in the [[AUR]]. Other plugins can be found on [http://www.amsn-project.net/plugins.php aMSN's Plugin Page].<br />
<br />
=== Run an application with a specific theme ===<br />
You can use custom styles for specific GTK+ 2.x applications. To run an application with a specific theme use:<br />
GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox<br />
<br />
This will launch Firefox with the QtCurve theme.<br />
<br />
=== Using a GTK+ icon theme in Qt apps ===<br />
If you are not using GNOME, run {{ic|gconf-editor}}, look under ''desktop > gnome > interface'' for the {{ic|icon_theme}} key and change it to your preference.<br />
<br />
=== Improve subpixel rendering of GTK apps under KDE ===<br />
If the subpixel rendering in GTK apps is not as sharp as in native KDE Qt applications, try to add the following lines to your {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}} (between the {{ic|<fontconfig>}} tags):<br />
<br />
{{bc|<nowiki><br />
<match target="font"><br />
<edit mode="assign" name="lcdfilter"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
</nowiki>}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== gtk-qt-engine does not work with OpenOffice ===<br />
To make OpenOffice respect the Qt theme chosen with the GTK+-Qt Engine you need to add the following line to {{ic|/etc/profile}} (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
<br />
Also make sure to select "Use my KDE style in GTK applications" in ''KDE4 System Settings'' under ''Lost and Found > GTK Styles and Fonts''.<br />
<br />
=== Qt applications do not use QGtkStyle ===<br />
<br />
Qt will not apply QGtkStyle correctly if GTK+ is using the [[#GTK+-Qt Engine|GTK+-Qt Engine]]. Qt determines whether the GTK+-Qt Engine is in use by reading the GTK+ configuration files listed in the environmental variable {{ic|GTK2_RC_FILES}}. If the environmental variable is not set properly, Qt assumes you are using the engine, sets QGtkStyle to use the style GTK+ style ''Clearlooks'', and outputs an error message:<br />
<br />
QGtkStyle cannot be used together with the GTK_Qt engine.<br />
<br />
Another error you may get after launching {{ic|qtconfig}} from a shell and selecting the GTK+ style is:<br />
<br />
QGtkStyle was unable to detect the current GTK+ theme.<br />
<br />
According to [https://bbs.archlinux.org/viewtopic.php?id&#61;99175&p&#61;1 this thread], you may simply have to install {{Pkg|libgnomeui}} to solve this issue. This has the added benefit that you don't need to edit a file every time you change your theme via a graphical tool, like the one provided by xfce.<br />
<br />
Users of [[Openbox]] and other non-GNOME environments may encounter this problem. To solve this, first add the following to your {{ic|.xinitrc}} file:<br />
{{hc|.xinitrc|<nowiki><br />
...<br />
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"<br />
...<br />
</nowiki>}}<br />
<br />
{{Note|<br />
* Make sure to add this line before invoking the window manager.<br />
* You can add multiple paths by separating them with colons.<br />
* Make sure to use {{ic|$HOME}} instead of {{ic|~}} as it will not properly expand to the user's home directory.<br />
}}<br />
<br />
Then specify the theme you want in the {{ic|~/.gtkrc-2.0}} file using a [[#GTK2 styles|dedicated application]] or manually, by adding:<br />
{{hc|.gtkrc-2.0|<nowiki><br />
...<br />
gtk-theme-name="[name of theme]"<br />
...<br />
</nowiki>}}<br />
<br />
Some tools only insert the following include directive in {{ic|~/.gtkrc-2.0}}:<br />
{{hc|.gtkrc-2.0|<br />
...<br />
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"<br />
...<br />
}}<br />
<br />
which apparently is not recognized by all versions of QGtkStyle. You can hotfix this problem by inserting the {{ic|gtk-theme-name}} manually in your {{ic|~/.gtkrc-2.0}} file like above.<br />
<br />
{{Note|Style-changing applications will most probably rewrite the {{ic|~/.gtkrc-2.0}} file the next time you change themes.}}<br />
<br />
If these steps do not work, install {{Pkg|gconf}} and run this command:<br />
<br />
gconftool-2 --set --type string /desktop/gnome/interface/gtk_theme [name of theme]<br />
<br />
If you further want to set the same icon and cursor theme, then you have to specify them, too.<br />
<br />
gconftool-2 --set --type string /desktop/gnome/interface/icon_theme Faenza-Dark<br />
<br />
This sets the icon theme to Faenza-Dark located in {{ic|/usr/share/icons/Faenza-Dark}}. For the cursor theme you first have to set the gconf value.<br />
<br />
gconftool-2 --set --type string /desktop/gnome/peripherals/mouse/cursor_theme Adwaita<br />
<br />
Then you will have to create the file {{ic|/usr/share/icons/default/index.theme}} with the following lines:<br />
<br />
[Icon Theme]<br />
Inherits=Adwaita<br />
<br />
=== Themes not working in GTK+ apps ===<br />
<br />
If the style or theme engine you set up is not showing in your GTK applications then it's likely your GTK+ settings files are not being loaded for some reason. You can check where your system expects to find these files by doing the following..<br />
$ export | grep gtk<br />
<br />
Usually the expected files should be {{ic|~/.gtkrc}} for GTK1 and {{ic|~/.gtkrc2.0}} or {{ic|~/.gtkrc2.0-kde}} for GTK+ 2.x.<br />
<br />
Newer versions of {{pkg|gtk-qt-engine}} use {{ic|~/.gtkrc2.0-kde}} and set the export variable in {{ic|~/.kde/env/gtk-qt-engine.rc.sh}}.<br />
If you recently removed '''gtk-qt-engine''' and are trying to set a GTK+ theme then you must also remove {{ic|~/.kde/env/gtk-qt-engine.rc.sh}} and reboot. Doing this will ensure that GTK+ looks for it's settings in the standard {{ic|~/.gtkrc2.0}} instead of the {{ic|~/.gtkrc2.0-kde}} file.</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Uniform_look_for_Qt_and_GTK_applications&diff=255562Uniform look for Qt and GTK applications2013-04-28T13:29:31Z<p>Anonymous user: /* GTK+2 styles */</p>
<hr />
<div>[[Category:Desktop environments]]<br />
[[Category:Eye candy]]<br />
[[es:Uniform Look for Qt and GTK Applications]]<br />
[[it:Uniform Look for Qt and GTK Applications]]<br />
[[ru:Uniform Look for Qt and GTK Applications]]<br />
[[uk:Uniform Look for Qt and GTK Applications]]<br />
[[zh-CN:Uniform Look for Qt and GTK Applications]]<br />
{{Article summary start}}<br />
{{Article summary text|This articles details theme configuration of GTK+ at Qt applications to ensure a uniform style. This article will cover configuration, theme engines, tricks and troubleshooting.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary wiki|Qt}}<br />
{{Article summary end}}<br />
<br />
[[Qt]] and [[GTK+]] based programs both use a different widget toolkit to render the graphical user interface. Each come with different themes, styles and icon sets by default, among other things, so the "look and feel" differ significantly. This article will help you make your Qt and GTK+ applications look similar for a more streamlined and integrated desktop experience.<br />
<br />
To get a similar look between the two you will most likely have to modify the following:<br />
* '''Theme''': The custom appearance of an application, widget set, etc. It usually consists of a style, an icon theme and a color theme.<br />
* '''Style''': The graphical layout and look of the widget set.<br />
* '''Icon Theme''': A set of global icons.<br />
* '''Color Theme''': A set of global colors that are used in conjunction with the style.<br />
<br />
You can choose various approaches:<br />
<br />
* Modify [[Uniform Look for QT and GTK Applications#Styles for both Qt and GTK+|GTK+ and Qt styles]] separately with the tools listed below for each toolkit and aim for choosing similarly looking themes (style, colors, icons, cursors, fonts).<br />
* Use a special [[Uniform Look for QT and GTK Applications#Theme Engines|theme engine]], which intermediates the modification of the other graphical toolkit to match your main toolkit:<br />
** if you work in KDE 4 desktop environment then a GTK-Qt engine is available, which updates GTK+ configuration files automatically so that GTK+ appearance is similar to the Qt one;<br />
** if you work in other desktop environments, you can choose the QGtkStyle engine (built in Qt), which forces Qt apps to use your GTK+ 2.x theme.<br />
<br />
Should you use also GTK+ 3.x toolkit, follow the [[GTK+#GTK+ 3.x|GTK+ 3.x]] wiki article to find out how to make it look similar to GTK+ 2.x themes.<br />
<br />
== Styles for both Qt and GTK+ ==<br />
<br />
There are widget style sets available for the purpose of integration, where builds are written and provided for both Qt and GTK+, all major versions included. With these, you can have one look for all applications regardless of the toolkit they had been written with.<br />
<br />
=== KDE4 Oxygen ===<br />
<br />
[http://www.oxygen-icons.org/ Oxygen] is a Qt style that comes by default with KDE4. There are various ways of mimicking its appearance that are discribed below.<br />
<br />
==== oxygen-gtk ====<br />
[http://kde-look.org/content/show.php/?content&#61;136216 oxygen-gtk] is a port of the Oxygen Qt Style to GTK+ done by the Oxygen developers. Unlike other attempts, it is a native GTK+ style that does not depend on Qt (via some Qt to GTK+ conversion engine) nor does it render widget appearances via hard coded pixmaps. The style has the primary goal to ensure visual consistency between GTK+ 2.x/3.x and Qt-based applications running under KDE with a secondary objective to also have a standalone, nice looking GTK+ theme that behaves well in other desktop environments.<br />
<br />
The style has GTK+ 2.x and GTK+ 3.x variants which can be [[Pacman|installed]] with the {{Pkg|oxygen-gtk2}} or {{Pkg|oxygen-gtk3}} packages, available in the [[official repositories]].<br />
<br />
{{Note|Before KDE 4.10, you needed to create the file {{ic|~/.kde4/share/config/gtkrc-2.0}}, or let it automatically create like described below. But that is actually counter-productive with KDE 4.10’s oxygen-gtk, and you should delete this file after upgrading to prevent it from messing with your colors. Cleanup-removal of {{ic|~/.kde4/share/config/gtkrc}} might be necessary, too}}<br />
<br />
===== Automatic procedure =====<br />
A few [[#GTK2 styles|dedicated applications]] are available in the official repositories that are able to change the GTK+ theme.<br />
<br />
You can also install {{AUR|kde-gtk-config}} from [[AUR]]. After installation, it can be found in ''System Settings > Application Appearance > GTK Configuration''. It allows you to configure the look and feel for both GTK+ 2.x and GTK+ 3.x applications and is integrated with the KDE add-on installer (Get Hot New Stuff), so you can also download and install other GTK+ themes.<br />
<br />
===== Manual procedure =====<br />
To manually change the GTK+ theme to '''oxygen-gtk''', you need to create the file {{ic|~/.kde4/share/config/gtkrc-2.0}} with the following content:<br />
{{hc|~/.kde4/share/config/gtkrc-2.0|<nowiki><br />
include "/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc"<br />
include "~/.themes/oxygen-gtk/gtk-2.0/gtkrc"<br />
<br />
style "user"<br />
{ <br />
fg[NORMAL] = "#1b1918"<br />
bg[NORMAL] = "#d5d1cf"<br />
text[NORMAL] = "#181615"<br />
base[NORMAL] = "#ffffff"<br />
fg[ACTIVE] = "#1b1918"<br />
bg[ACTIVE] = "#d5d1cf"<br />
text[ACTIVE] = "#181615"<br />
base[ACTIVE] = "#ffffff"<br />
fg[PRELIGHT] = "#1b1918"<br />
bg[PRELIGHT] = "#d5d1cf"<br />
text[PRELIGHT] = "#ffffff"<br />
base[PRELIGHT] = "#43ace8"<br />
fg[SELECTED] = "#1b1918"<br />
bg[SELECTED] = "#d5d1cf"<br />
text[SELECTED] = "#ffffff"<br />
base[SELECTED] = "#43ace8"<br />
fg[INSENSITIVE] = "#8d8a88"<br />
bg[INSENSITIVE] = "#ccc7c5"<br />
text[INSENSITIVE] = "#a6a5a5"<br />
base[INSENSITIVE] = "#f4f4f4"<br />
GtkTreeView::odd_row_color="#ffffff"<br />
GtkTreeView::even_row_color="#f8f7f6"<br />
}<br />
<br />
widget_class "*" style "user"<br />
<br />
style "tooltips"<br />
{ <br />
bg[NORMAL] = "#bedfff"<br />
fg[NORMAL] = "#252321"<br />
}<br />
<br />
widget "gtk-tooltips" style "tooltips"<br />
#gtk-theme-name="qt4"<br />
gtk-font-name="Sans Serif 9"<br />
gtk-icon-theme-name="gk4ico"<br />
gtk-icon-sizes = "panel-menu=16,16:panel=16,16:gtk-button=22,22:gtk-large-toolbar=22,22"<br />
</nowiki><br />
}}<br />
<br />
Then you need to create the symbolic link {{ic|~/.kde4/share/config/gtkrc}}:<br />
ln -s ~/.kde4/share/config/gtkrc-2.0 ~/.kde4/share/config/gtkrc<br />
<br />
==== Oxygen icons ====<br />
If you are using Oxygen icons and want a consistent look in GTK+ dialogs, you can install the {{AUR|oxygenrefit2-icon-theme}} icon theme from [[AUR]] and set it as your GTK+ icon theme. To apply the theme you can use {{ic|lxappearance}} (or a similar program) or set it manually by adding the following line to {{ic|~/.kde4/share/config/gtkrc-2.0}}:<br />
gtk-icon-theme-name="OxygenRefit2"<br />
<br />
Another version of the Oxygen icon theme for GTK+ applications can be installed with the {{AUR|oxygen-gtk-icons}} package from [[AUR]].<br />
<br />
=== QtCurve ===<br />
<br />
QtCurve is a highly popular and configurable set of widget styles for Qt4/KDE4, KDE3 and GTK+ 2.x. QtCurve can be installed with the packages {{Pkg|qtcurve-kde4}}, {{Pkg|qtcurve-kde3}} or {{Pkg|qtcurve-gtk2}}, all available in the official repositories. It has many controls for various options, ranging from the appearance of buttons to the shape of sliders.<br />
<br />
To manually change the GTK+ theme to '''QtCurve''', you need to create the file {{ic|~/.gtkrc-2.0-kde4}} with the following content:<br />
include "/usr/share/themes/QtCurve/gtk-2.0/gtkrc"<br />
include "/etc/gtk-2.0/gtkrc"<br />
<br />
style "user-font"<br />
{<br />
font_name="Sans Serif"<br />
}<br />
widget_class "*" style "user-font" <br />
gtk-theme-name="QtCurve"<br />
<br />
Then you need to create the symbolic link {{ic|~/.gtkrc-2.0}}:<br />
ln -s .gtkrc-2.0-kde4 .gtkrc-2.0<br />
If you want also specify a font, you can add (and adapt) the following line to the file:<br />
gtk-font-name="Sans Serif 9"<br />
<br />
=== Others ===<br />
<br />
Similar style sets are those that look like each other - written and provided for both Qt and GTK+ - but are not necessarily from the same developers. You may have to do some minor tweaking to make them look the same (e.g. {{AUR|kdestyle-klearlook}} for Qt4/KDE4 and the Clearlooks GTK+ theme).<br />
<br />
== Changing styles in each toolkit ==<br />
<br />
You can use the following methods to change the theme used in each environment.<br />
<br />
=== Qt4 styles ===<br />
Qt4 styles cand be changed in a similar way:<br />
* using the ''KDE4 System Settings'' (systemsettings), the settings can be found in ''Common Appearance and Behavior > Application Appearance > Style > Widget Style''<br />
* using the command-line tool {{ic|kwriteconfig --file kdeglobals --group General --key widgetStyle [name of style]}}.<br />
* using the ''Qt Configuration'' (qtconfig) application, the settings can be found in ''Appearance > Select GUI Style''.<br />
<br />
Note that while Qt Configuration allows you to choose the theme, font, etc. for Qt apps, you can modify more settings with KDE4 System Settings (e.g. font antialiasing and hinting).<br />
<br />
=== Qt3 styles ===<br />
Qt3 styles can be changed in the following ways:<br />
* using the ''KDE3 Control Center'' (kcontrol), the settings can be found in ''Appearance & Themes > Style > Widget Style''.<br />
* using the command-line tool {{ic|kde-config --style [name of style]}}.<br />
* using the default ''Qt Configuration'' (qt3config) application, the settings can be found in ''Appearance > Select GUI Style''.<br />
<br />
=== GTK+2 styles ===<br />
Various applications and methods are available to change the GTK+ 2.x styles:<br />
* {{App|kde-gtk-config|An application that allows you to change style and font of GTK+2 and Gtk+3 applications.|https://projects.kde.org/kde-gtk-config|{{Pkg|kde-gtk-config}}}}<br />
:After installation, {{ic|kde-gtk-config}} can also be found in ''System Settings > Application Appearance > GTK''.<br />
* {{App|gtk-kde4|An application that allows you to change style and font of GTK+2 applications in KDE4.|http://kde-look.org/content/show.php?content&#61;74689|{{Aur|gtk-kde4}}}}<br />
:After installation, {{ic|gtk-kde4}} can also be found in ''System Settings > Lost and Found > GTK style''.<br />
* {{App|LXAppearance|A desktop independent GTK+ style configuration tool from the LXDE project (it does not require other parts of the LXDE desktop).|http://wiki.lxde.org/en/LXAppearance|{{Pkg|lxappearance}}}}<br />
* {{App|GTK+ Change Theme|A little program that lets you change your GTK+ 2.0 theme (considered a better alternative to ''switch2'').|http://plasmasturm.org/code/gtk-chtheme/|{{Pkg|gtk-chtheme}}}}<br />
* {{App|GTK+ Preference Tool|A GTK+ theme selector and font switcher.|http://gtk-win.sourceforge.net/home/index.php/Main/GTKPreferenceTool|{{Pkg|gtk2_prefs}}}}<br />
* {{App|GTK+ Theme Switch|A simple GTK+ theme switcher.|http://muhri.net/nav.php3?node&#61;gts|{{Pkg|gtk-theme-switch2}}}}<br />
* For manual configuration see the [[GTK%2B#GTK.2B_2.x|GTK+ page]].<br />
<br />
=== GTK+1 styles ===<br />
To change GTK1 styles you can install the {{AUR|gtk-theme-switch}} package from the [[AUR]].<br />
<br />
== Theme Engines ==<br />
A Theme Engine can be thought of as a thin layer API which translates themes (excluding icons) between one or more toolkits. These engines add some extra code in the process and it is arguable that this kind of a solution is not as elegant and optimal as using native styles.<br />
<br />
=== GTK+-Qt Engine ===<br />
<br />
This one is for use by GTK+ applications running in KDE, which basically means this does not work in other desktop environments. It applies all Qt settings (styles, fonts, not icons though) to the GTK+ applications and uses the style plugins directly. This engine can be installed with the {{Pkg|gtk-qt-engine}} package, available in the official repositories.<br />
<br />
{{Note|There are rendering issues with some Qt styles.}}<br />
<br />
You can access it from the ''KDE System Settings'' under ''Lost and Found > GTK Styles and Fonts''.<br />
<br />
If you want to remove the engine entirely you need to uninstall it and also delete the following files:<br />
$ rm ~/.gtkrc2.0-kde<br />
$ rm ~/.kde4/env/gtk-qt-engine.rc.sh<br />
$ rm ~/gtk-qt-engine.rc<br />
<br />
=== QGtkStyle ===<br />
<br />
This is a Qt style which intends to make applications blend perfectly into the GNOME desktop environment by using GTK+ to render all components. To use this style you must have at least GTK+ 2.0 and Qt 4.3, although Qt 4.4 or higher is preferred. To enable this style, use:<br />
* ''Qt Configuration'': choose "GTK+" under ''Appearance > GUI Style''.<br />
* ''KDE4 System Settings'': choose "GTK+ Style" under ''Application Appearance > Style > Applications''.<br />
* the command-line: edit the {{ic|.config/Trolltech.conf}} file by adding:<br />
<br />
{{hc|~/.config/Trolltech.conf|<nowiki><br />
...<br />
[Qt]<br />
style=GTK+<br />
...</nowiki>}}<br />
<br />
{{Note|Beginning with version 4.5 this style is included in Qt and does not require a separate package anymore.}}<br />
<br />
== Tips and tricks ==<br />
=== KDE file dialogs for GTK+ apps ===<br />
[http://kde-apps.org/content/show.php?content&#61;36077 KGtk] is a wrapper script that uses LD_PRELOAD to force KDE file dialogs (open, save, etc.) in GTK+ 2.x apps. If you use KDE and prefer its file dialogs over GTK+'s then you can install {{AUR|kgtk}} from the [[AUR]] (a KDE3 version is also available in the {{AUR|kde3-kgtk}} package). Once installed you can run GTK+ 2.x applications with {{ic|kgtk-wrapper}} in two ways (using [[Gimp]] in the examples):<br />
* Calling {{ic|kgtk-wrapper}} directly and using the GTK+ 2.x binary as an argument:<br />
/usr/bin/kgtk-wrapper gimp<br />
* Creating a symbolic link to {{ic|kgtk}} using the name of the GTK+ 2.x binary:<br />
ln -s /usr/bin/kgtk-wrapper /usr/local/bin/gimp<br />
:To run the version of Gimp with KDE dialogs, make sure you have {{ic|/usr/local/bin/}} before {{ic|/usr/bin/}} in your {{ic|PATH}}.<br />
{{Note|Some GTK+ applications may not be compatible with KGtk.}}<br />
<br />
=== aMSN with GTK+ or KDE dialogs ===<br />
aMSN's uses the Tk toolkit for its user interface. To make it use GTK+ or KDE dialogs install the {{AUR|amsn-plugins-desktopintegration}} plugin available in the [[AUR]]. Other plugins can be found on [http://www.amsn-project.net/plugins.php aMSN's Plugin Page].<br />
<br />
=== Run an application with a specific theme ===<br />
You can use custom styles for specific GTK+ 2.x applications. To run an application with a specific theme use:<br />
GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox<br />
<br />
This will launch Firefox with the QtCurve theme.<br />
<br />
=== Using a GTK+ icon theme in Qt apps ===<br />
If you are not using GNOME, run {{ic|gconf-editor}}, look under ''desktop > gnome > interface'' for the {{ic|icon_theme}} key and change it to your preference.<br />
<br />
=== Improve subpixel rendering of GTK apps under KDE ===<br />
If the subpixel rendering in GTK apps is not as sharp as in native KDE Qt applications, try to add the following lines to your {{ic|$XDG_CONFIG_HOME/fontconfig/fonts.conf}} (between the {{ic|<fontconfig>}} tags):<br />
<br />
{{bc|<nowiki><br />
<match target="font"><br />
<edit mode="assign" name="lcdfilter"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
</nowiki>}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== gtk-qt-engine does not work with OpenOffice ===<br />
To make OpenOffice respect the Qt theme chosen with the GTK+-Qt Engine you need to add the following line to {{ic|/etc/profile}} (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
<br />
Also make sure to select "Use my KDE style in GTK applications" in ''KDE4 System Settings'' under ''Lost and Found > GTK Styles and Fonts''.<br />
<br />
=== Qt applications do not use QGtkStyle ===<br />
<br />
Qt will not apply QGtkStyle correctly if GTK+ is using the [[#GTK+-Qt Engine|GTK+-Qt Engine]]. Qt determines whether the GTK+-Qt Engine is in use by reading the GTK+ configuration files listed in the environmental variable {{ic|GTK2_RC_FILES}}. If the environmental variable is not set properly, Qt assumes you are using the engine, sets QGtkStyle to use the style GTK+ style ''Clearlooks'', and outputs an error message:<br />
<br />
QGtkStyle cannot be used together with the GTK_Qt engine.<br />
<br />
Another error you may get after launching {{ic|qtconfig}} from a shell and selecting the GTK+ style is:<br />
<br />
QGtkStyle was unable to detect the current GTK+ theme.<br />
<br />
According to [https://bbs.archlinux.org/viewtopic.php?id&#61;99175&p&#61;1 this thread], you may simply have to install {{Pkg|libgnomeui}} to solve this issue. This has the added benefit that you don't need to edit a file every time you change your theme via a graphical tool, like the one provided by xfce.<br />
<br />
Users of [[Openbox]] and other non-GNOME environments may encounter this problem. To solve this, first add the following to your {{ic|.xinitrc}} file:<br />
{{hc|.xinitrc|<nowiki><br />
...<br />
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"<br />
...<br />
</nowiki>}}<br />
<br />
{{Note|<br />
* Make sure to add this line before invoking the window manager.<br />
* You can add multiple paths by separating them with colons.<br />
* Make sure to use {{ic|$HOME}} instead of {{ic|~}} as it will not properly expand to the user's home directory.<br />
}}<br />
<br />
Then specify the theme you want in the {{ic|~/.gtkrc-2.0}} file using a [[#GTK2 styles|dedicated application]] or manually, by adding:<br />
{{hc|.gtkrc-2.0|<nowiki><br />
...<br />
gtk-theme-name="[name of theme]"<br />
...<br />
</nowiki>}}<br />
<br />
Some tools only insert the following include directive in {{ic|~/.gtkrc-2.0}}:<br />
{{hc|.gtkrc-2.0|<br />
...<br />
include "/usr/share/themes/SomeTheme/gtk-2.0/gtkrc"<br />
...<br />
}}<br />
<br />
which apparently is not recognized by all versions of QGtkStyle. You can hotfix this problem by inserting the {{ic|gtk-theme-name}} manually in your {{ic|~/.gtkrc-2.0}} file like above.<br />
<br />
{{Note|Style-changing applications will most probably rewrite the {{ic|~/.gtkrc-2.0}} file the next time you change themes.}}<br />
<br />
If these steps do not work, install {{Pkg|gconf}} and run this command:<br />
<br />
gconftool-2 --set --type string /desktop/gnome/interface/gtk_theme [name of theme]<br />
<br />
If you further want to set the same icon and cursor theme, then you have to specify them, too.<br />
<br />
gconftool-2 --set --type string /desktop/gnome/interface/icon_theme Faenza-Dark<br />
<br />
This sets the icon theme to Faenza-Dark located in {{ic|/usr/share/icons/Faenza-Dark}}. For the cursor theme you first have to set the gconf value.<br />
<br />
gconftool-2 --set --type string /desktop/gnome/peripherals/mouse/cursor_theme Adwaita<br />
<br />
Then you will have to create the file {{ic|/usr/share/icons/default/index.theme}} with the following lines:<br />
<br />
[Icon Theme]<br />
Inherits=Adwaita<br />
<br />
=== Themes not working in GTK+ apps ===<br />
<br />
If the style or theme engine you set up is not showing in your GTK applications then it's likely your GTK+ settings files are not being loaded for some reason. You can check where your system expects to find these files by doing the following..<br />
$ export | grep gtk<br />
<br />
Usually the expected files should be {{ic|~/.gtkrc}} for GTK1 and {{ic|~/.gtkrc2.0}} or {{ic|~/.gtkrc2.0-kde}} for GTK+ 2.x.<br />
<br />
Newer versions of {{pkg|gtk-qt-engine}} use {{ic|~/.gtkrc2.0-kde}} and set the export variable in {{ic|~/.kde/env/gtk-qt-engine.rc.sh}}.<br />
If you recently removed '''gtk-qt-engine''' and are trying to set a GTK+ theme then you must also remove {{ic|~/.kde/env/gtk-qt-engine.rc.sh}} and reboot. Doing this will ensure that GTK+ looks for it's settings in the standard {{ic|~/.gtkrc2.0}} instead of the {{ic|~/.gtkrc2.0-kde}} file.</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Package_Maintainers&diff=248487Package Maintainers2013-02-26T04:11:54Z<p>Anonymous user: /* Active Trusted Users */</p>
<hr />
<div>[[Category:Arch development]]<br />
[[fr:TU]]<br />
The [https://www.archlinux.org/trustedusers/ Trusted Users] serve the following purposes:<br />
# Maintain {{Ic|[community]}} as an intermediary between Arch Linux's [[Official Repositories]] and the unsupported package collection in the [[AUR]].<br />
# Maintain, manage, and watch over the operation of the [[AUR]].<br />
<br />
== How to become TU? ==<br />
The ''minimum'' requirements to becoming a TU are as follows:<br />
* know basic shell scripting<br />
* maintain a few packages in AUR with clean, high-quality PKGBUILDs<br />
* basic community involvement (mailing list, forums, IRC)<br />
* know Google-Fu<br />
* a general idea of the kind of packages you want to maintain (basically, why do you want to become TU?)<br />
<br />
<br />
Even though you could become a TU by merely fulfilling those minimum requirements, the people judging you [https://aur.archlinux.org/trusted-user/TUbylaws.html#SVP during voting] might expect more of you. Such as:<br />
* involvement in the bug tracker (reporting, research, info)<br />
* patches for Arch projects<br />
* involvement in a few open-source projects (even if they are your own)<br />
<br />
<br />
In case you still feel up to becoming TU after reading these lists, you should find another TU to sponsor you and write a witty application signed with your GPG key to the aur-general mailing list.<br />
<br />
For more information, please see [https://aur.archlinux.org/trusted-user/TUbylaws.html Trusted User Bylaws] and [[AUR Trusted User Guidelines]].<br />
<br />
== Active Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|style="font-weight: bold;"|E-Mail<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Alucryd&SeB=m Alucryd]||Maxime Gauduin||alucryd at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Atsutane&SeB=m Atsutane]||Thorsten Töpper||atsutane {0x40} freethoughts {0x2E} de<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Barthalion&SeB=m Barthalion]||Bartłomiej Piotrowski||spam@bpiotrowski.pl<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=BlackIkeEagle&SeB=m BlackIkeEagle]||[[User:BlackEagle|Ike Devolder]]||ike DOT devolder AT gmail DOT com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bluewind&SeB=m Bluewind]||Florian Pritz|| bluewind@xinu.at<br />
|- <br />
|[https://aur.archlinux.org/packages.php?K=ConnorBehan&SeB=m ConnorBehan]||Connor Behan||connor.behan@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=City-busz&SeB=m City-busz]||György Balló||ballogyor+arch at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=cryptocrack&SeB=m cryptocrack]||Lukas Fleischer||archlinux at cryptocrack dot de<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Daenyth&SeB=m Daenyth]||Daenyth Blank||Daenyth+Arch gmail com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Dragonlord&SeB=m Dragonlord]||[[User:Dragonlord|Jaroslav Lichtblau]]||tu dragonlord cz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=faidoc&SeB=m Faidoc]||Alexandre Filgueira||alexfilgueira [at] cinnarch [dot] com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=falconindy&SeB=m falconindy]||Dave Reisner||d[at]falconindy[dot]com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=felixonmars&SeB=m felixonmars]||Felix Yan||felixonmars[at]gmail[dot]com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=foutrelis&SeB=m foutrelis]||Evangelos Foutras||evangelos@foutrelis.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=giniu&SeB=m giniu]||[[User:giniu|Andrzej Giniewicz]]||gginiu@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gtmanfred&SeB=m gtmanfred]||Daniel Wallace||danielwallace gtmanfred com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=heftig&SeB=m heftig]||Jan Steffens||jan.steffens@student.kit.edu<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=jelly&SeB=m jelly]||Jelle van der Waa|| jelle vdwaa nl<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=jsteel&SeB=m jsteel]||Jonathan Steel||mail at jsteel dot org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=lordheavy&SeB=m Lordheavy]||[[User:Lordheavy|Laurent Carlier]]||lordheavym at gmail com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=mtorromeo&SeB=m mtorromeo]||Massimiliano Torromeo||massimiliano.torromeo@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=petelewis&SeB=m petelewis]||Peter Lewis||plewis at aur dot archlinux dot org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=PirateJonno&SeB=m PirateJonno]||Jonathan Conder||jonno dot conder at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pressh&SeB=m pressh]||Ronald van Haren||ronald.archlinux.org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=schivmeister&SeB=m schivmeister]||[[User:Schivmeister|Ray Rashif]]||schiv archlinux org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=schuay&SeB=m schuay]||Jakob Gruber||jakob.gruber@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=seblu&SeB=m seblu]||Sébastien Luttringer||s e b l u '''+''' a r c h # s e b lu ''dot'' n e t<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=sergej&SeB=m sergej]||Sergej Pupykin||pupykins@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=speps&SeB=m speps]||SpepS||dreamspepser at yahoo dot it<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=stativ&SeB=m stativ]||Lukas Jirkovsky||l.jirkovsky strange_curved_character gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=svenstaro&SeB=m svenstaro]||[[User:svenstaro|Sven-Hendrik Haase]]||sh@lutzhaase.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=td123&SeB=m td123]||Thomas Dziedzic||gostrc at gmail<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=thestinger&SeB=m thestinger]||Daniel Micay||[mailto:danielmicay@gmail.com danielmicay@gmail.com]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=tredaelli&SeB=m tredaelli]||Timothy Redaelli||timothy.redaelli@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Xyne&SeB=m Xyne]||Xyne||ca . archlinux @ xyne, in reverse order<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=xyproto&SeB=m xyproto]||Alexander Rødseth||rodseth@gmail.com<br />
|}<br />
<br />
== Inactive Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|style="font-weight: bold;"|E-Mail<br />
|style="font-weight: bold;"|Comments/Reference<br />
|}<br />
<br />
== Some Past Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=abhidg&SeB=m abhidg]||Abhishek Dasgupta<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Allan&SeB=m Allan]||Allan McRae<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=anders&SeB=m anders]||Anders Bergh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=angvp&SeB=m angvp]||[[User:Angvp|Angel Velásquez]]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bardo&SeB=m bardo]||Corrado Primier<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=abhidg&SeB=m abhidg]||Andrea Scarpino<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bfinch&SeB=m bfinch]||Bob Finch<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=brain0&SeB=m brain0]||Thomas Bächler<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bjorn&SeB=m bjorn]||[[User:Bjørn|Bjørn Lindeijer]]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=codemac&SeB=m codemac]||Jeff Mickey<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=cmb&SeB=m cmb]||Chris Brannon<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=DaNiMoTh&SeB=m DaNiMoTh]||JJ. DaNiMoTh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dejari&SeB=m dejari]||Leslie P. Polzer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dsa&SeB=m dsa]||Douglas Soares de Andrade<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dtw&SeB=m dtw]||Phil Dillon-Thiselton<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=elasticdog&SeB=m elasticdog]||Aaron Bull Schaefer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=encelo&SeB=m encelo]||Angelo Theodorou<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=even&SeB=m even] ||Kessia Pinheiro<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=filoktetes&SeB=m filoktetes]||Robert Emil Berge<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=firmicus&SeB=m firmicus]||François Charette<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=ganja_guru&SeB=m ganja_guru]||Varun Acharya<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gcarrier&SeB=m gcarrier]||Geoffroy Carrier<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Ghost1227&SeB=m Ghost1227]||Dan Griffiths<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gummibaerchen&SeB=m gummibaerchen]||Timm Preetz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=hdoria&SeB=m hdoria]||Hugo Doria<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=iphitus&SeB=m iphitus]||James Rayner<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=itsbrad212&SeB=m itsbrad212]||Brad Fanella<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=kaitocracy&SeB=m kaitocracy]||Kaiting Chen<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=louipc&SeB=m louipc]||Loui Chang<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=mOLOk&SeB=m mOLOk]||Alessio Bolognino<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=nesl247&SeB=m nesl247]||Alex Heck<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Neverth&SeB=m Neverth]||Mikko Seppälä<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Partition&SeB=m Partition]||Mateusz Herych<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=phrakture&SeB=m phrakture]||Aaron Griffin<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Pierre&SeB=m Pierre]||Pierre Schmitz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pizzapunk&SeB=m pizzapunk]||Alexander Fehr<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pjmattal&SeB=m pjmattal]||Paul Mattal<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Ranguvar&SeB=m Ranguvar]||Devin Cofer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Romashka&SeB=m Romashka]||Roman Kyrylych<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=shastry&SeB=m shastry]||Vinay S Shastry<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Snowman&SeB=m Snowman]||Eric Bélanger<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=shinlun&SeB=m shinlun]||Shinlun Hsieh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=StefanHusmann&SeB=m StefanHusmann]||Stefan Husmann<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=STiAT&SeB=m STiAT]||Georg Grabler<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=swiergot&SeB=m swiergot]||Jaroslaw Swierczynski<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=tardo&SeB=m tardo]||Shehzad Qureshi<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=thotypous&SeB=m thotypous]||Paulo Matias<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=vegai&SeB=m vegai]||Vesa Kaihlavirta<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=voidnull&SeB=m voidnull]||Giovanni Scafora<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=wizzomafizzo&SeB=m wizzomafizzo]||Callan Barrett<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=wonder&SeB=m wonder]|| Ionut Biru<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Xilon&SeB=m Xilon]||Sebastian Nowicki<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=xterminus&SeB=m xterminus]||Charles Mauch<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=zeus&SeB=m zeus]||Zhukov Pavel<br />
|}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Package_Maintainers&diff=248486Package Maintainers2013-02-26T04:11:07Z<p>Anonymous user: /* Active Trusted Users */</p>
<hr />
<div>[[Category:Arch development]]<br />
[[fr:TU]]<br />
The [https://www.archlinux.org/trustedusers/ Trusted Users] serve the following purposes:<br />
# Maintain {{Ic|[community]}} as an intermediary between Arch Linux's [[Official Repositories]] and the unsupported package collection in the [[AUR]].<br />
# Maintain, manage, and watch over the operation of the [[AUR]].<br />
<br />
== How to become TU? ==<br />
The ''minimum'' requirements to becoming a TU are as follows:<br />
* know basic shell scripting<br />
* maintain a few packages in AUR with clean, high-quality PKGBUILDs<br />
* basic community involvement (mailing list, forums, IRC)<br />
* know Google-Fu<br />
* a general idea of the kind of packages you want to maintain (basically, why do you want to become TU?)<br />
<br />
<br />
Even though you could become a TU by merely fulfilling those minimum requirements, the people judging you [https://aur.archlinux.org/trusted-user/TUbylaws.html#SVP during voting] might expect more of you. Such as:<br />
* involvement in the bug tracker (reporting, research, info)<br />
* patches for Arch projects<br />
* involvement in a few open-source projects (even if they are your own)<br />
<br />
<br />
In case you still feel up to becoming TU after reading these lists, you should find another TU to sponsor you and write a witty application signed with your GPG key to the aur-general mailing list.<br />
<br />
For more information, please see [https://aur.archlinux.org/trusted-user/TUbylaws.html Trusted User Bylaws] and [[AUR Trusted User Guidelines]].<br />
<br />
== Active Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|style="font-weight: bold;"|E-Mail<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Alucryd&SeB=m Alucryd]||Maxime Gauduin||alucryd at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Atsutane&SeB=m Atsutane]||Thorsten Töpper||atsutane {0x40} freethoughts {0x2E} de<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Barthalion&SeB=m Barthalion]||Bartłomiej Piotrowski||spam@bpiotrowski.pl<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=BlackIkeEagle&SeB=m BlackIkeEagle]||[[User:BlackEagle|Ike Devolder]]||ike DOT devolder AT gmail DOT com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bluewind&SeB=m Bluewind]||Florian Pritz|| bluewind@xinu.at<br />
|- <br />
|[https://aur.archlinux.org/packages.php?K=ConnorBehan&SeB=m ConnorBehan]||Connor Behan||connor.behan@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=City-busz&SeB=m City-busz]||György Balló||ballogyor+arch at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=cryptocrack&SeB=m cryptocrack]||Lukas Fleischer||archlinux at cryptocrack dot de<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Daenyth&SeB=m Daenyth]||Daenyth Blank||Daenyth+Arch gmail com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Dragonlord&SeB=m Dragonlord]||[[User:Dragonlord|Jaroslav Lichtblau]]||tu dragonlord cz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=faidoc&SeB=m Faidoc]||Alexandre Filgueira||alexfilgueira [at] cinnarch [dot] com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=falconindy&SeB=m falconindy]||Dave Reisner||d[at]falconindy[dot]com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=felixonmars&SeB=m felixonmars]||Felix Yan||felixonmars[at]gmail[dot]com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=foutrelis&SeB=m foutrelis]||Evangelos Foutras||evangelos@foutrelis.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=giniu&SeB=m giniu]||[[User:giniu|Andrzej Giniewicz]]||gginiu@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gtmanfred&SeB=m gtmanfred]||Daniel Wallace||danielwallace gtmanfred com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=heftig&SeB=m heftig]||Jan Steffens||jan.steffens@student.kit.edu<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=jelly&SeB=m jelly]||Jelle van der Waa|| jelle vdwaa nl<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=jsteel&SeB=m jsteel]||Jonathan Steel||mail at jsteel dot org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=lordheavy&SeB=m Lordheavy]||[[User:Lordheavy|Laurent Carlier]]||lordheavym at gmail com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=mtorromeo&SeB=m mtorromeo]||Massimiliano Torromeo||massimiliano.torromeo@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=petelewis&SeB=m petelewis]||Peter Lewis||plewis at aur dot archlinux dot org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=PirateJonno&SeB=m PirateJonno]||Jonathan Conder||jonno dot conder at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pressh&SeB=m pressh]||Ronald van Haren||ronald.archlinux.org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=schivmeister&SeB=m schivmeister]||[[User:Schivmeister|Ray Rashif]]||schiv archlinux org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=schuay&SeB=m schuay]||Jakob Gruber||jakob.gruber@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=seblu&SeB=m seblu]||Sébastien Luttringer||s e b l u '''+''' a r c h # s e b lu ''dot'' n e t<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=sergej&SeB=m sergej]||Sergej Pupykin||pupykins@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=speps&SeB=m speps]||SpepS||dreamspepser at yahoo dot it<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=stativ&SeB=m stativ]||Lukas Jirkovsky||l.jirkovsky strange_curved_character gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=svenstaro&SeB=m svenstaro]||[[User:svenstaro|Sven-Hendrik Haase]]||sh@lutzhaase.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=td123&SeB=m td123]||Thomas Dziedzic||gostrc at gmail<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=thestinger&SeB=m thestinger]||Daniel Micay||[mailto:danielmicay@gmail.com danielmicay@gmail.com]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=tredaelli&SeB=m tredaelli]||Timothy Redaelli||timothy.redaelli@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Xyne&SeB=m Xyne]||<--||ca . archlinux @ xyne, in reverse order<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=xyproto&SeB=m xyproto]||Alexander Rødseth||rodseth@gmail.com<br />
|}<br />
<br />
== Inactive Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|style="font-weight: bold;"|E-Mail<br />
|style="font-weight: bold;"|Comments/Reference<br />
|}<br />
<br />
== Some Past Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=abhidg&SeB=m abhidg]||Abhishek Dasgupta<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Allan&SeB=m Allan]||Allan McRae<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=anders&SeB=m anders]||Anders Bergh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=angvp&SeB=m angvp]||[[User:Angvp|Angel Velásquez]]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bardo&SeB=m bardo]||Corrado Primier<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=abhidg&SeB=m abhidg]||Andrea Scarpino<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bfinch&SeB=m bfinch]||Bob Finch<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=brain0&SeB=m brain0]||Thomas Bächler<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bjorn&SeB=m bjorn]||[[User:Bjørn|Bjørn Lindeijer]]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=codemac&SeB=m codemac]||Jeff Mickey<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=cmb&SeB=m cmb]||Chris Brannon<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=DaNiMoTh&SeB=m DaNiMoTh]||JJ. DaNiMoTh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dejari&SeB=m dejari]||Leslie P. Polzer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dsa&SeB=m dsa]||Douglas Soares de Andrade<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dtw&SeB=m dtw]||Phil Dillon-Thiselton<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=elasticdog&SeB=m elasticdog]||Aaron Bull Schaefer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=encelo&SeB=m encelo]||Angelo Theodorou<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=even&SeB=m even] ||Kessia Pinheiro<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=filoktetes&SeB=m filoktetes]||Robert Emil Berge<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=firmicus&SeB=m firmicus]||François Charette<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=ganja_guru&SeB=m ganja_guru]||Varun Acharya<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gcarrier&SeB=m gcarrier]||Geoffroy Carrier<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Ghost1227&SeB=m Ghost1227]||Dan Griffiths<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gummibaerchen&SeB=m gummibaerchen]||Timm Preetz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=hdoria&SeB=m hdoria]||Hugo Doria<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=iphitus&SeB=m iphitus]||James Rayner<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=itsbrad212&SeB=m itsbrad212]||Brad Fanella<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=kaitocracy&SeB=m kaitocracy]||Kaiting Chen<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=louipc&SeB=m louipc]||Loui Chang<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=mOLOk&SeB=m mOLOk]||Alessio Bolognino<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=nesl247&SeB=m nesl247]||Alex Heck<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Neverth&SeB=m Neverth]||Mikko Seppälä<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Partition&SeB=m Partition]||Mateusz Herych<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=phrakture&SeB=m phrakture]||Aaron Griffin<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Pierre&SeB=m Pierre]||Pierre Schmitz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pizzapunk&SeB=m pizzapunk]||Alexander Fehr<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pjmattal&SeB=m pjmattal]||Paul Mattal<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Ranguvar&SeB=m Ranguvar]||Devin Cofer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Romashka&SeB=m Romashka]||Roman Kyrylych<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=shastry&SeB=m shastry]||Vinay S Shastry<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Snowman&SeB=m Snowman]||Eric Bélanger<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=shinlun&SeB=m shinlun]||Shinlun Hsieh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=StefanHusmann&SeB=m StefanHusmann]||Stefan Husmann<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=STiAT&SeB=m STiAT]||Georg Grabler<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=swiergot&SeB=m swiergot]||Jaroslaw Swierczynski<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=tardo&SeB=m tardo]||Shehzad Qureshi<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=thotypous&SeB=m thotypous]||Paulo Matias<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=vegai&SeB=m vegai]||Vesa Kaihlavirta<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=voidnull&SeB=m voidnull]||Giovanni Scafora<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=wizzomafizzo&SeB=m wizzomafizzo]||Callan Barrett<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=wonder&SeB=m wonder]|| Ionut Biru<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Xilon&SeB=m Xilon]||Sebastian Nowicki<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=xterminus&SeB=m xterminus]||Charles Mauch<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=zeus&SeB=m zeus]||Zhukov Pavel<br />
|}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Package_Maintainers&diff=248484Package Maintainers2013-02-26T04:04:55Z<p>Anonymous user: /* Some Past Trusted Users */</p>
<hr />
<div>[[Category:Arch development]]<br />
[[fr:TU]]<br />
The [https://www.archlinux.org/trustedusers/ Trusted Users] serve the following purposes:<br />
# Maintain {{Ic|[community]}} as an intermediary between Arch Linux's [[Official Repositories]] and the unsupported package collection in the [[AUR]].<br />
# Maintain, manage, and watch over the operation of the [[AUR]].<br />
<br />
== How to become TU? ==<br />
The ''minimum'' requirements to becoming a TU are as follows:<br />
* know basic shell scripting<br />
* maintain a few packages in AUR with clean, high-quality PKGBUILDs<br />
* basic community involvement (mailing list, forums, IRC)<br />
* know Google-Fu<br />
* a general idea of the kind of packages you want to maintain (basically, why do you want to become TU?)<br />
<br />
<br />
Even though you could become a TU by merely fulfilling those minimum requirements, the people judging you [https://aur.archlinux.org/trusted-user/TUbylaws.html#SVP during voting] might expect more of you. Such as:<br />
* involvement in the bug tracker (reporting, research, info)<br />
* patches for Arch projects<br />
* involvement in a few open-source projects (even if they are your own)<br />
<br />
<br />
In case you still feel up to becoming TU after reading these lists, you should find another TU to sponsor you and write a witty application signed with your GPG key to the aur-general mailing list.<br />
<br />
For more information, please see [https://aur.archlinux.org/trusted-user/TUbylaws.html Trusted User Bylaws] and [[AUR Trusted User Guidelines]].<br />
<br />
== Active Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|style="font-weight: bold;"|E-Mail<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=Alucryd Alucryd] ||Maxime Gauduin||alucryd at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=Atsutane Atsutane] ||Thorsten Töpper||atsutane {0x40} freethoughts {0x2E} de<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Barthalion&SeB=m Barthalion] ||Bartłomiej Piotrowski||spam@bpiotrowski.pl<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=BlackIkeEagle BlackIkeEagle]||[[User:BlackEagle|Ike Devolder]]||ike DOT devolder AT gmail DOT com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bluewind&SeB=m Bluewind]||Florian Pritz || bluewind@xinu.at<br />
|- <br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=ConnorBehan ConnorBehan]||Connor Behan||connor.behan@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=City-busz&SeB=m City-busz]||György Balló||ballogyor+arch at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=cryptocrack&SeB=m cryptocrack]||Lukas Fleischer||archlinux at cryptocrack dot de<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Daenyth&SeB=m Daenyth]||Daenyth Blank||Daenyth+Arch gmail com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Dragonlord&SeB=m Dragonlord]||[[User:Dragonlord|Jaroslav Lichtblau]]||tu dragonlord cz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=faidoc Faidoc] ||Alexandre Filgueira||alexfilgueira [at] cinnarch [dot] com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=falconindy&SeB=m falconindy]||Dave Reisner||d[at]falconindy[dot]com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=felixonmars&SeB=m felixonmars]||Felix Yan||felixonmars[at]gmail[dot]com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=foutrelis&SeB=m foutrelis]||Evangelos Foutras||evangelos@foutrelis.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=giniu&SeB=m giniu]||[[User:giniu|Andrzej Giniewicz]]||gginiu@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=gtmanfred gtmanfred]||Daniel Wallace||danielwallace gtmanfred com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=heftig&SeB=m heftig]||Jan Steffens||jan.steffens@student.kit.edu<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=jelly&SeB=m jelly]||Jelle van der Waa || jelle vdwaa nl<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=jsteel&SeB=m jsteel]||Jonathan Steel||mail at jsteel dot org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=lordheavy&SeB=m Lordheavy]||[[User:Lordheavy|Laurent Carlier]]||lordheavym at gmail com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=mtorromeo&SeB=m mtorromeo]||Massimiliano Torromeo||massimiliano.torromeo@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=petelewis&SeB=m petelewis]||Peter Lewis||plewis at aur dot archlinux dot org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=PirateJonno&SeB=m PirateJonno]||Jonathan Conder||jonno dot conder at gmail dot com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pressh&SeB=m pressh]||Ronald van Haren||ronald.archlinux.org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=schivmeister&SeB=m schivmeister]||[[User:Schivmeister|Ray Rashif]]||schiv archlinux org<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=schuay&SeB=m schuay]||Jakob Gruber||jakob.gruber@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=seblu&SeB=m seblu]||Sébastien Luttringer||s e b l u '''+''' a r c h # s e b lu ''dot'' n e t<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=sergej&SeB=m sergej]||Sergej Pupykin||pupykins@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=speps&SeB=m speps]||SpepS||dreamspepser at yahoo dot it<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=stativ&SeB=m stativ]||Lukas Jirkovsky||l.jirkovsky strange_curved_character gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=svenstaro&SeB=m svenstaro]||[[User:svenstaro|Sven-Hendrik Haase]]||sh@lutzhaase.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=td123&SeB=m td123]||Thomas Dziedzic||gostrc at gmail<br />
|-<br />
|[https://aur.archlinux.org/account/thestinger/ thestinger]||Daniel Micay||[mailto:danielmicay@gmail.com danielmicay@gmail.com]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=tredaelli&SeB=m tredaelli]||Timothy Redaelli||timothy.redaelli@gmail.com<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=Xyne Xyne]||<--||ca . archlinux @ xyne, in reverse order<br />
|-<br />
|[https://aur.archlinux.org/packages.php?SeB=m&K=trontonic&O=0&PP=100&SB=v&SO=d xyproto]||Alexander Rødseth||rodseth@gmail.com<br />
|}<br />
<br />
== Inactive Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|style="font-weight: bold;"|E-Mail<br />
|style="font-weight: bold;"|Comments/Reference<br />
|}<br />
<br />
== Some Past Trusted Users ==<br />
{|<br />
|- style="border-bottom:solid 2px"<br />
|style="font-weight: bold;padding-right:120px"|Nick<br />
|style="font-weight: bold;padding-right:200px"|Name<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=abhidg&SeB=m abhidg]||Abhishek Dasgupta<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Allan&SeB=m Allan]||Allan McRae<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=anders&SeB=m anders]||Anders Bergh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=angvp&SeB=m angvp]||[[User:Angvp|Angel Velásquez]]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bardo&SeB=m bardo]||Corrado Primier<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=abhidg&SeB=m abhidg]||Andrea Scarpino<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bfinch&SeB=m bfinch]||Bob Finch<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=brain0&SeB=m brain0]||Thomas Bächler<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=bjorn&SeB=m bjorn]||[[User:Bjørn|Bjørn Lindeijer]]<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=codemac&SeB=m codemac]||Jeff Mickey<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=cmb&SeB=m cmb]||Chris Brannon<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=DaNiMoTh&SeB=m DaNiMoTh]||JJ. DaNiMoTh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dejari&SeB=m dejari]||Leslie P. Polzer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dsa&SeB=m dsa]||Douglas Soares de Andrade<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=dtw&SeB=m dtw]||Phil Dillon-Thiselton<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=elasticdog&SeB=m elasticdog]||Aaron Bull Schaefer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=encelo&SeB=m encelo]||Angelo Theodorou<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=even&SeB=m even] ||Kessia Pinheiro<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=filoktetes&SeB=m filoktetes]||Robert Emil Berge<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=firmicus&SeB=m firmicus]||François Charette<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=ganja_guru&SeB=m ganja_guru]||Varun Acharya<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gcarrier&SeB=m gcarrier]||Geoffroy Carrier<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Ghost1227&SeB=m Ghost1227]||Dan Griffiths<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=gummibaerchen&SeB=m gummibaerchen]||Timm Preetz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=hdoria&SeB=m hdoria]||Hugo Doria<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=iphitus&SeB=m iphitus]||James Rayner<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=itsbrad212&SeB=m itsbrad212]||Brad Fanella<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=kaitocracy&SeB=m kaitocracy]||Kaiting Chen<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=louipc&SeB=m louipc]||Loui Chang<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=mOLOk&SeB=m mOLOk]||Alessio Bolognino<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=nesl247&SeB=m nesl247]||Alex Heck<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Neverth&SeB=m Neverth]||Mikko Seppälä<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Partition&SeB=m Partition]||Mateusz Herych<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=phrakture&SeB=m phrakture]||Aaron Griffin<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Pierre&SeB=m Pierre]||Pierre Schmitz<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pizzapunk&SeB=m pizzapunk]||Alexander Fehr<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=pjmattal&SeB=m pjmattal]||Paul Mattal<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Ranguvar&SeB=m Ranguvar]||Devin Cofer<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Romashka&SeB=m Romashka]||Roman Kyrylych<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=shastry&SeB=m shastry]||Vinay S Shastry<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Snowman&SeB=m Snowman]||Eric Bélanger<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=shinlun&SeB=m shinlun]||Shinlun Hsieh<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=StefanHusmann&SeB=m StefanHusmann]||Stefan Husmann<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=STiAT&SeB=m STiAT]||Georg Grabler<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=swiergot&SeB=m swiergot]||Jaroslaw Swierczynski<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=tardo&SeB=m tardo]||Shehzad Qureshi<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=thotypous&SeB=m thotypous]||Paulo Matias<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=vegai&SeB=m vegai]||Vesa Kaihlavirta<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=voidnull&SeB=m voidnull]||Giovanni Scafora<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=wizzomafizzo&SeB=m wizzomafizzo]||Callan Barrett<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=wonder&SeB=m wonder]|| Ionut Biru<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=Xilon&SeB=m Xilon]||Sebastian Nowicki<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=xterminus&SeB=m xterminus]||Charles Mauch<br />
|-<br />
|[https://aur.archlinux.org/packages.php?K=zeus&SeB=m zeus]||Zhukov Pavel<br />
|}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=CUPS&diff=246919CUPS2013-02-09T19:12:50Z<p>Anonymous user: /* GNOME CUPS interface */</p>
<hr />
<div>[[Category:Printers]]<br />
[[cs:CUPS]]<br />
[[es:CUPS]]<br />
[[fr:CUPS]]<br />
[[it:CUPS]]<br />
[[pl:CUPS]]<br />
[[ru:CUPS]]<br />
[[th:CUPS]]<br />
[[tr:CUPS]]<br />
[[zh-CN:CUPS]]<br />
[[zh-TW:CUPS]]<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Installing and configuring CUPS}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|CUPS printer sharing}}<br />
{{Article summary wiki|CUPS printer-specific problems}}<br />
{{Article summary wiki|Samba}}<br />
{{Article summary end}}<br />
<br />
From [http://www.cups.org/index.php CUPS' site]:<br />
:"''[[Wikipedia:CUPS|CUPS]] is the standards-based, open source printing system developed by Apple Inc. for OS® X and other UNIX®-like operating systems''".<br />
<br />
Although there are other printing packages such as LPRNG, the Common Unix Printing System is the most popular choice because of its relative ease of use.<br />
<br />
==CUPS Linux Printing workflow==<br />
As of {{Pkg|cups}} version 1.5.3-3, Arch Linux makes use of the new full pdf-based printing workflow. For<br />
further reading check [http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdfasstandardprintjobformat PDF standard printing job format] and an old [https://wiki.linuxfoundation.org/en/OpenPrinting/Database/CUPS-Filter-Chart CUPS filtering chart] for history and fun.<br />
A good starting point for general Linux printing questions is [http://www.linuxfoundation.org/collaborate/workgroups/openprinting here].<br />
<br />
There are two ways to setup a printer.<br />
* If there's a CUPS server running in your network and sharing a printer you only need to install the client package.<br />
* If the printer is connected directly to your system or you have access to an IPP network printer then setup a local CUPS server.<br />
<br />
==Installing the client package==<br />
The package {{Pkg|libcups}} is the only required package. [[pacman|Install]] it from the [[Official repositories]].<br />
<br />
Then add your CUPS server's IP address or hostname into {{ic|/etc/cups/client.conf}}. That is all you need. Every application should quickly find the printer(s) shared by that CUPS server.<br />
<br />
===Optional advanced network setup===<br />
It is also possible to run a entire cupsd+cups-browsed instance on your client with Avahi browsing enabled to discover unknown shared printers in your network. This can be useful in large setups where the server is unknown.<br />
{{Note|This behavior did not change with cups 1.6.x - the difference is that until 1.5.x cupsd was able to do printer browsing alone and now it can only browse its own shared printers.<br />
To get the local cupsd recognise other shared printers offered by a remote cupsd server you need a running local cups-browserd (supported since cups-filters 1.0.26) instance using Avahi to discover unknown printers.}}<br />
<br />
==Installing the server packages==<br />
The following packages and some printer drivers are needed. [[pacman|Install]] them from the [[Official repositories]].<br />
<br />
* {{Pkg|cups}} - the actual CUPS daemon<br />
* {{Pkg|cups-filters}} - essential filters<br />
* {{Pkg|ghostscript}} - (optional) PostScript interpreter<br />
* {{Pkg|gsfonts}} - GhostScript standard Type1 fonts<br />
<br />
# pacman -S cups cups-filters ghostscript gsfonts<br />
<br />
If you want to enable printer browsing through your network, also install {{Pkg|avahi}}. Make sure '''avahi-daemon''' is started before '''cupsd'''.<br />
<br />
If the system is connected to a networked printer using the [[Samba]] protocol or if the system is to be a print server for Windows clients, also install {{Pkg|samba}}.<br />
<br />
===Printer driver===<br />
Here are some of the driver packages. Choosing the right driver depends on the printer:<br />
<br />
* '''{{Pkg|gutenprint}}''' - A collection of high quality drivers for Canon, Epson, Lexmark, Sony, Olympus, and PCL printers for use with GhostScript, CUPS, Foomatic, and the [[GIMP]]<br />
* '''{{Pkg|foomatic-db}}, {{Pkg|foomatic-db-engine}}, {{Pkg|foomatic-db-nonfree}}, and {{Pkg|foomatic-filters}}''' - Foomatic is a database-driven system for integrating free software printer drivers with common spoolers under Unix. Installing foomatic-filters should solve problems if the cups error_log is reporting "stopped with status 22!".<br />
* '''{{Pkg|hplip}}''' - HP drivers for DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet printer models, as well as a number of Brother printers.<br />
* '''{{Pkg|splix}}''' - Samsung drivers for SPL (Samsung Printer Language) printers.<br />
<br />
* '''{{AUR|foo2zjs}}''' - Drivers for ZjStream protocol printers such as the HP Laserjet 1018. More info [http://foo2zjs.rkkda.com here]. Package is available in the [[AUR]].<br />
* '''{{AUR|hpoj}}''' - If you are using an HP Officejet, you should also install this package and follow the instructions to avoid problems as in [https://answers.launchpad.net/hplip/+question/133425 this thread]. Package is available in the [[AUR]].<br />
* '''{{AUR|samsung-unified-driver}}''' - Unified Linux Driver for Samsung printers and scanners. Required for new printers such as the ML-2160. Package is available in the [[AUR]].<br />
* '''{{AUR|ufr2}}''' or '''{{AUR|cndrvcups-lb}}''' - Canon UFR2 driver with support for LBP, iR and MF series printers. Package is available in the [[AUR]].<br />
<br />
* '''{{Pkg|cups-pdf}}''' - A package that allows one to setup a virtual PDF Printer that generates a PDF out of jobs sent to it<br />
<br />
If you are not sure of what driver package to install or if the current driver is not working, it may be easiest to just install all of the drivers. Some of the package names are misleading because printers of other makes may rely on them. For example, the Brother HL-2140 needs the hplip driver installed.<br />
<br />
====Download printer PPD====<br />
Depending on the printer, this step is optional and may not be needed, as the standard CUPS installation already comes with quite a few PPD (Postscript Printer Description) files. Moreover, the ''foomatic-filters'', ''gimp-print'' and ''hplip'' packages already include quite a few PPD files which will automatically be detected by CUPS.<br />
<br />
Here is an explanation of what a PPD file is from the Linux Printing website:<br />
:"''For every PostScript printer the manufacturers provide a PPD file which contains all printer-specific information about the particular printer model: Basic printer capabilities as whether the printer is a color printer, fonts, PostScript level, etc., and especially the user-adjustable options, as paper size, resolution, etc.''"<br />
<br />
If the PPD for the printer is ''not'' already in CUPS, then:<br />
*check [[AUR]] to see if there are packages for the printer/manufacturer<br />
*visit the [http://www.openprinting.org/printers OpenPrinting database] and select the manufacturer and model of the printer<br />
*visit the manufacturer's site and search for GNU/Linux drivers<br />
<br />
{{Note|PPD files go in {{ic|/usr/share/cups/model/}}}}<br />
<br />
====Another source for printer drivers====<br />
[http://www.turboprint.de/english.html Turboprint] is a proprietary driver for many printers not yet supported by GNU/Linux (Canon i*, for example). Unlike CUPS, however, high quality prints are either marked with a watermark or are a pay-only service.<br />
<br />
==Hardware support and configuration==<br />
<br />
USB printers can get accessed with two methods: The usblp kernel module and libusb. The former is the classic way. It is simple: data is sent to the printer by writing it to a device file as a simple serial data stream. Reading the same device file allows bi-di access, at least for things like reading out ink levels, status, or printer capability information (PJL). It works very well for simple printers, but for multi-function devices (printer/scanner) it is not suitable and manufacturers like HP supply their own backends. Source: [http://lists.linuxfoundation.org/pipermail/printing-architecture/2012/002412.html here].<br />
<br />
===Kernel modules===<br />
Before using the CUPS web interface, the appropriate kernel modules need to be installed. The following steps are from the Gentoo Printing Guide.<br />
<br />
This section may not be necessary, however, depending on which kernel is being used. The kernel module may load automatically after plugging in the printer. Use the {{ic|tail}} command (described below) to see if the printer has already been detected. The {{ic|lsmod}} utility can also be used to see what modules have been loaded.<br />
<br />
====USB printers====<br />
{{Warning|As of {{pkg|cups}} version 1.6.0, you no longer need to [[Kernel modules#Blacklisting|blacklist]] the {{ic|usblp}} kernel module.}}<br />
If you find out this is the only way to fix a remaining issue please report this upstream to the CUPS bug tracker and maybe also get in contact with Till Kamppeter (Debian CUPS maintainer). See [http://cups.org/str.php?L4128 upstream bug] for more.<br />
<br />
Some USB printer users may want to try if blacklisting the {{ic|usblp}} module would help:<br />
<br />
{{hc|/etc/modprobe.d/blacklist.conf|blacklist usblp}}<br />
<br />
Custom kernel users may need to manually load the {{ic|usbcore}} module before proceeding:<br />
# modprobe usbcore<br />
<br />
Once the modules are installed, plug in the printer and check if the kernel detected it by running the following:<br />
# tail /var/log/messages.log<br />
or<br />
# dmesg<br />
<br />
If you're using {{ic|usblp}}, the output should indicate that the printer has been detected like so:<br />
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional<br />
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E<br />
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920<br />
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver<br />
<br />
If you blacklisted {{ic|usblp}}, you will see something like:<br />
usb 3-2: new full speed USB device using uhci_hcd and address 3<br />
usb 3-2: configuration #1 chosen from 1 choice<br />
<br />
====Parallel port printers====<br />
To use a parallel port printer the configuration is pretty much the same, except for the modules:<br />
# modprobe lp<br />
# modprobe parport<br />
# modprobe parport_pc<br />
<br />
Once again, check the setup by running:<br />
# tail /var/log/messages.log<br />
It should display something like this:<br />
lp0: using parport0 (polling).<br />
<br />
If you are using a USB to parallel port adapter, CUPS will not be able to detect the printer. As a workaround, add the printer using a different connection type and then change DeviceID in {{ic|/etc/cups/printers.conf}}:<br />
DeviceID = parallel:/dev/usb/lp0<br />
<br />
====Auto-loading====<br />
It is convenient to have the system automatically load the kernel module every time it starts up. To do so, use a text editor to open up {{ic|/etc/modules-load.d/printing.conf}} and add the appropriate modules one per line. Here is an example:<br />
lp<br />
parport<br />
parport_pc<br />
<br />
=== HP Printer ===<br />
HP printers can also be installed via HP's linux setup tool. If you want to run the setup tool, ensure you have {{ic|python-qt2}} and {{ic|pygobject}}.<br />
<br />
To run with qt frontend :<br />
{{bc|<nowiki><br />
# hp-setup -u<br />
</nowiki>}}<br />
<br />
To run with command line : <br />
{{bc|<nowiki><br />
# hp-setup -i<br />
</nowiki>}}<br />
<br />
==Configuring==<br />
Now that CUPS is installed, there are a variety of options on how to set up printing solutions. As always, the tried and true command line method is at your disposal. CUPS also embeds a full-featured web interface. Likewise, various desktop environments such as GNOME and KDE have useful programs that can help manage printers. Depending on your needs, you may choose one method or the other.<br />
<br />
If you are planning on connecting to a network printer, rather than one that is directly connected to the computer, you might want to read the [[CUPS printer sharing]] page first. Printer sharing between GNU/Linux systems is quite easy and involves very little configuration, whereas sharing between a Windows and GNU/Linux host requires a little bit more effort.<br />
<br />
===CUPS daemon===<br />
With the kernel modules installed, you can now start the '''cups''' and optionally, the '''cups-browsed''' [[daemons]].<br />
<br />
=== Web interface and tool-kit ===<br />
<br />
Once the daemon is running, open a browser and go to: http://localhost:631 (''The '''localhost''' string may need to be replaced with the hostname found in'' {{ic|/etc/hosts}}).<br />
<br />
From here, follow the various wizards to add the printer. A usual procedure is to start by clicking on ''Adding Printers and Classes'' and then ''Add Printer''. When prompted for a username and password, log in as root. The name assigned to the printer does not matter, the same applies for 'location' and 'description'. Next, a list of devices to select from will be presented. The actual name of the printer shows up next to the label (e.g., next to ''USB Printer #1'' for USB printers). Finally, choose the appropriate drivers and the configuration is complete.<br />
<br />
Now test the configuration by pressing the ''Maintenance'' drop-down menu then ''Print Test Page''. If it does not print and there is certainty regarding the correctness of applied settings, then the problem is most likely due to missing a proper printer driver.<br />
<br />
{{Tip|See: [[#Alternative CUPS interfaces]] for other other front-ends.}}<br />
{{Note|When setting up a USB printer, you should see your printer listed on ''Add Printer'' page. If you can only see a "SCSI printer" option, it probably means that CUPS has failed to recognize <br />
your printer.}}<br />
<br />
{{Note|To enable wireless scanning on certain HP multi-function devices using the {{pkg|hplip}} package, you may need to add the printer as a Network Printer using the http:// protocol. To determine the proper URI to use, run the {{ic|hp-makeuri}} command.}}<br />
<br />
==== CUPS administration ====<br />
<br />
A username and password will be required when administering the printer in the web interface, such as: adding or removing printers, stopping print tasks, etc. The default username is the one assigned in the ''sys'' group, or root (change this by editing {{ic|/etc/cups/cupsd.conf}} in the line of {{ic|SystemGroup}}). <br />
<br />
If the root account has been locked (i.e. when using sudo), it is not possible to log in the CUPS administration interface with the default username and password. In this case, follow [http://www.cups.org/articles.php?L237+T+Qprintadmin these instructions] on the CUPS FAQ. You might also want to read [https://bbs.archlinux.org/viewtopic.php?id=35567 this post].<br />
<br />
====Remote access to web interface====<br />
By default, the CUPS web interface can only be accessed by the ''localhost''; i.e. the computer that it is installed on. To remotely access the interface, make the following changes to the {{ic|/etc/cups/cupsd.conf}} file. Replace the line:<br />
Listen localhost:631<br />
with<br />
Port 631<br />
so that CUPS listens to incoming requests.<br />
<br />
Three levels of access can be granted:<br />
<Location /> #access to the server<br />
<Location /admin> #access to the admin pages<br />
<Location /admin/conf> #access to configuration files<br />
<br />
To give remote hosts access to one of these levels, add an {{ic|Allow}} statement to that level's section. An {{ic|Allow}} statement can take one or more of the forms listed below:<br />
Allow from all<br />
Allow from host.domain.com<br />
Allow from *.domain.com<br />
Allow from ip-address<br />
Allow from ip-address/netmask<br />
<br />
Deny statements can also be used. For example, if wanting to give all hosts on the 192.168.1.0/255.255.255.0 subnet full access, file {{ic|/etc/cups/cupsd.conf}} would include this:<br />
# Restrict access to the server...<br />
# By default only localhost connections are possible<br />
<Location /><br />
Order allow,deny<br />
Allow from localhost<br />
'''Allow from 192.168.1.0/255.255.255.0'''<br />
</Location><br />
<br />
# Restrict access to the admin pages...<br />
<Location /admin><br />
# Encryption disabled by default<br />
#Encryption Required<br />
Order allow,deny<br />
Allow from localhost<br />
'''Allow from 192.168.1.0/255.255.255.0'''<br />
</Location><br />
<br />
# Restrict access to configuration files...<br />
<Location /admin/conf><br />
AuthType Basic<br />
Require user @SYSTEM<br />
Order allow,deny<br />
Allow From localhost<br />
'''Allow From 192.168.1.0/255.255.255.0'''<br />
</Location><br />
<br />
You might also need to add:<br />
<br />
DefaultEncryption Never<br />
<br />
This should avoid the error: 426 - Upgrade Required when using the CUPS web interface from a remote machine.<br />
<br />
===Command-line configuration===<br />
<br />
CUPS can be fully controlled from command-line with nice tools, ''i.e.'' the lp* and the cups* command families.<br />
<br />
On Arch Linux, most commands support auto-completion with common shells.<br />
Also note that command-line switches cannot be grouped.<br />
<br />
;List the devices<br />
# lpinfo -v<br />
<br />
;List the drivers<br />
# lpinfo -m<br />
<br />
;Add a new printer<br />
# lpadmin -p <printer> -E -v <device> -P <ppd><br />
<br />
The <printer> is up to you. The device can be retrieved from the 'lpinfo -i' command.<br />
Example:<br />
# lpadmin -p HP_DESKJET_940C -E -v "usb://HP/DESKJET%20940C?serial=CN16E6C364BH" -P /usr/share/ppd/HP/hp-deskjet_940c.ppd.gz<br />
<br />
In the following, the <printer> references the name you have used here to set up the printer.<br />
<br />
;Set the default printer<br />
$ lpoptions -d <printer><br />
<br />
;Check the status<br />
$ lpstat -s<br />
$ lpstat -p <printer><br />
<br />
;Deactivate a printer<br />
# cupsdisable <printer><br />
<br />
;Activate a printer<br />
# cupsenable <printer><br />
<br />
;Remove a printer<br />
First set it to reject all incoming entries:<br />
# cupsreject <printer><br />
Then disable it.<br />
# cupsdisable <printer><br />
Finally remove it.<br />
# lpadmin -x <printer><br />
<br />
;Print a file<br />
$ lpr <file><br />
$ lpr -# 17 <file> # print the file 17 times<br />
$ echo "Hello, world!" | lpr -p # print the result of a command. The -p switch adds a header.<br />
<br />
;Check the printing queue<br />
$ lpq<br />
$ lpq -a # on all printers<br />
<br />
;Clear the printing queue<br />
# lprm # remove last entry only<br />
# lprm - # remove all entries<br />
<br />
===GNOME CUPS interface===<br />
If using [[GNOME]], a possibility is to manage and configure the printer by [[pacman|installing]] {{Pkg|system-config-printer}}.<br />
<br />
For system-config-printer to work as it should, running as root may be required, or alternatively set up a "normal" user to administer CUPS (if so '''follow steps 1-3''')<br />
<br />
* 1. Create group, and add a user to it<br />
# groupadd lpadmin<br />
# usermod -aG lpadmin <username><br />
<br />
* 2. Add "lpadmin" (without the quotes) to this line in {{ic|/etc/cups/cupsd.conf}}<br />
SystemGroup sys root <insert here><br />
<br />
* 3. Restart cups, log out and in again (or restart computer)<br />
{{bc|# systemctl restart cups}}<br />
<br />
[[KDE]] users can modify their printers from the Control Center. Both should refer to those desktop environments' documentation for more information on how to use the interfaces.<br />
<br />
There is also {{AUR|gtklp}} in the [[AUR]].<br />
<br />
==PDF virtual printer==<br />
CUPS-PDF is a nice package that allows one to setup a virtual printer that will generate a PDF from anything sent to it. Obviously this package is not necessary, but it can be quite useful.<br />
<br />
Find generated PDF documents in a sub-directory located at {{ic|/var/spool/cups-pdf}}. Normally, the subdirectory is named after the user who performed the job. A little tweak helps you to find your printed PDF documents more easily. Edit {{ic|/etc/cups/cups-pdf.conf}} by changing the line<br />
#Out /var/spool/cups-pdf/${USER}<br />
<br />
to<br />
<br />
Out /home/${USER}<br />
<br />
This package can be installed by the following command:<br />
# pacman -S cups-pdf<br />
<br />
After installing the package, set it up as if it were for any other printer by using the web interface. For the Device, select '''CUPS-PDF (Virtual PDF Printer)'''; Make/Manufacturer, choose '''Generic'''; Model/Driver, select '''Generic postscript color printer''' or '''Generic Cups-PDF Printer'''. Alternatively, provide the PPD file from [http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/cups-pdf-CURRENT/extra/CUPS-PDF.ppd this link].<br />
<br />
=== Print to PostScript: CUPS-PDF virtual printer trick ===<br />
<br />
Printing to PDF in most applications like OpenOffice is no problem; just hit the button. Yet when printing out to postscript, matters take a little more work. For applications like OpenOffice where printing to kprinter is nebulous at best, there has to be another way&mdash;and there is. The CUPS-PDF (Virtual PDF Printer) actually creates a PostScript file and then creates the PDF using the ps2pdf utility. To print to postscript, what needs to be done is capturing the intermediate postscript file created by CUPS-PDF. This is easily accomplished with by selecting the "print to file" option in the print dialog. (choose either .ps or .eps as the extension) After selecting the "print to file" checkbox simply enter the file name and click "print".<br />
<br />
===Configuring CUPS-PDF virtual printer===<br />
#Set up the CUPS daemon using the instructions on this page.<br />
#Install {{Pkg|cups-pdf}} from the [[Official Repositories|official repositories]].<br />
#Access the cups print manager: http://localhost:631 and select:<br />
Administration -> Add Printer<br />
Select CUPS-PDF (Virtual PDF), choose for the make and driver:<br />
Make: Generic<br />
Driver: Generic CUPS-PDF Printer<br />
<br />
Now to print to PostScript, just print as usual, in the print dialog choose "CUPS-PDF" as the printer, then select the checkbox for "print to file", hit print, enter the filename.ps and click save. This is handy for faxes, etc...<br />
<br />
==Troubleshooting==<br />
The best way to get printing working is to set 'LogLevel' in {{ic|/etc/cups/cupsd.conf}} to:<br />
LogLevel debug<br />
<br />
And then viewing the output from {{ic|/var/log/cups/error_log}} like this:<br />
# tail -n 100 -f /var/log/cups/error_log<br />
<br />
The characters at the left of the output stand for:<br />
*D=Debug<br />
*E=Error<br />
*I=Information<br />
*And so on<br />
<br />
These files may also prove useful:<br />
*{{ic|/var/log/cups/page_log}} - Echoes a new entry each time a print is successful<br />
*{{ic|/var/log/cups/access_log}} - Lists all cupsd http1.1 server activity<br />
<br />
Of course, it is important to know how CUPS works if wanting to solve related issues:<br />
# An application sends a .ps file (PostScript, a script language that details how the page will look) to CUPS when 'print' has been selected (this is the case with most programs).<br />
# CUPS then looks at the printer's PPD file (printer description file) and figures out what filters it needs to use to convert the .ps file to a language that the printer understands (like PJL, PCL), usually GhostScript.<br />
# GhostScript takes the input and figures out which filters it should use, then applies them and converts the .ps file to a format understood by the printer.<br />
# Then it is sent to the back-end. For example, if the printer is connected to a USB port, it uses the USB back-end.<br />
<br />
Print a document and watch {{ic|error_log}} to get a more detailed and correct image of the printing process.<br />
<br />
===Problems resulting from upgrades===<br />
''Issues that appeared after CUPS and related program packages underwent a version increment''<br />
<br />
====CUPS stops working====<br />
The chances are that a new configuration file is needed for the new version to work properly. Messages such as "404 - page not found" may result from trying to manage CUPS via localhost:631, for example.<br />
<br />
To use the new configuration, copy {{ic|/etc/cups/cupsd.conf.default}} to {{ic|/etc/cups/cupsd.conf}} (backup the old configuration if needed) and restart CUPS to employ the new settings.<br />
<br />
====All jobs are "stopped"====<br />
If all jobs sent to the printer become "stopped", delete the printer and add it again.<br />
Using the [http://localhost:631 CUPS web interface], go to Printers > Delete Printer.<br />
<br />
To check the printer's settings go to ''Printers'', then ''Modify Printer''. Copy down the information displayed, click 'Modify Printer' to proceed to the next page(s), and so on.<br />
<br />
====All jobs are "The printer is not responding"====<br />
On networked printers, you should check that the name that CUPS uses as its connection URI resolves to the printer's IP via DNS, e.g.<br />
If your printer's connection looks like this:<br />
lpd://BRN_020554/BINARY_P1<br />
<br />
then the hostname 'BRN_020554' needs to resolve to the printer's IP from the server running CUPS<br />
<br />
====The PPD version is not compatible with gutenprint====<br />
Run:<br />
# /usr/sbin/cups-genppdupdate<br />
<br />
And restart CUPS (as pointed out in gutenprint's post-install message)<br />
<br />
===Other===<br />
<br />
=====CUPS permission errors=====<br />
*Some users fixed 'NT_STATUS_ACCESS_DENIED' (Windows clients) errors by using a slightly different syntax:<br />
smb://workgroup/username:password@hostname/printer_name<br />
<br />
*Sometimes, the block device has wrong permissions:<br />
# ls /dev/usb/<br />
lp0<br />
# chgrp lp /dev/usb/lp0<br />
<br />
====HPLIP printer sends "/usr/lib/cups/backend/hp failed" error====<br />
Make sure dbus is installed and running. If the error persists, try starting avahi-daemon.<br />
<br />
Try adding the printer as a Network Printer using the http:// protocol. Generate the printer URI with {{ic|hp-makeuri}}.<br />
<br />
{{Note|There might need to set permissions issues right. Follow indications here: [[CUPS#Device node permissions]].}}<br />
<br />
====HPLIP printer claims job is complete but printer does nothing====<br />
This happens on HP printers when you select the (old) hpijs driver (e.g. the Deskjet D1600 series). Instead, use the hpcups driver when adding the printer.<br />
<br />
Some HP printers (e.g HP LaserJet) require their firmware to be downloaded from the computer every time the printer is switched on. If there is an issue with udev (or equivalent) and the firmware download rule is never fired, you may experience this issue.<br />
As a workaround, you can manually download the firmware to the printer. Ensure the printer is plugged in and switched on, then enter<br />
hp-firmware -n<br />
<br />
====hp-toolbox sends an error, "Unable to communicate with device"====<br />
If running hp-toolbox as a regular user results in:<br />
# hp-toolbox<br />
# error: Unable to communicate with device (code=12): hp:/usb/<printer id><br />
or, "{{ic|Unable to communicate with device"}}", then it may be needed to [[Groups#Group management|add the user to the lp group]].<br />
<br />
This can also be caused by printers such as the P1102 that provide a virtual cd-rom drive for MS-Windows drivers. The lp dev appears and then disappears. In that case try the '''usb-modeswitch''' and '''usb-modeswitch-data''' packages, that lets one switch off the "Smart Drive" (udev rules included in said packages).<br />
<br />
This can also occur with network attached printers if the [[Avahi|avahi-daemon]] is not running.<br />
<br />
====CUPS returns '"foomatic-rip" not available/stopped with status 3' with a HP printer====<br />
If receiving any of the following error messages in {{ic|/var/log/cups/error_log}} while using a HP printer, with jobs appearing to be processed while they all end up not being completed with their status set to 'stopped':<br />
Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director<br />
or:<br />
PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!<br />
make sure {{pkg|hplip}} has been [[pacman|installed]], in addition to [[#Packages|the packages mentioned above]]. See [https://bbs.archlinux.org/viewtopic.php?id=65615 this forum post] for more information.<br />
<br />
====Printing fails with unauthorised error====<br />
If the user has been added to the lp group, and allowed to print (set in {{ic|cupsd.conf}}), then the problem lies in {{ic|/etc/cups/printers.conf}}. This line could be the culprit:<br />
AuthInfoRequired negotiate<br />
<br />
Comment it out and restart CUPS.<br />
<br />
====Print button greyed-out in GNOME print dialogs====<br />
:''<small>Source: [https://bbs.archlinux.org/viewtopic.php?id=70418 I can't print from gnome applications. - Arch Forums]</small>''<br />
<br />
Be sure the package: '''libgnomeprint''' is installed<br />
<br />
Edit {{ic|/etc/cups/cupsd.conf}} and add<br />
# HostNameLookups Double<br />
<br />
Restart CUPS:<br />
# systemctl restart cups<br />
<br />
====Unknown supported format: application/postscript====<br />
Comment the lines:<br />
application/octet-stream application/vnd.cups-raw 0 -<br />
from {{ic|/etc/cups/mime.convs}}, and:<br />
application/octet-stream<br />
in {{ic|/etc/cups/mime.types}}.<br />
<br />
====Finding URIs for Windows Print Servers====<br />
<br />
Sometimes Windows is a little less than forthcoming about exact device URIs (device locations). If having trouble specifying the correct device location in CUPS, run the following command to list all shares available to a certain windows username:<br />
$ smbtree -U ''windowsusername''<br />
This will list every share available to a certain Windows username on the local area network subnet, as long as Samba is set up and running properly. It should return something like this:<br />
{{bc| WORKGROUP<br />
\\REGULATOR-PC <br />
\\REGULATOR-PC\Z <br />
\\REGULATOR-PC\Public <br />
\\REGULATOR-PC\print$ Printer Drivers<br />
\\REGULATOR-PC\G <br />
\\REGULATOR-PC\EPSON Stylus CX8400 Series EPSON Stylus CX8400 Series}}<br />
What is needed here is first part of the last line, the resource matching the printer description. So to print to the EPSON Stylus printer, one would enter:<br />
smb://username.password@REGULATOR-PC/EPSON Stylus CX8400 Series<br />
as the URI into CUPS. Notice that whitespaces are allowed in URIs, whereas backslashes get replaced with forward slashes.<br />
If it won't work try '%20' instead of spaces.<br />
<br />
====Print-Job client-error-document-format-not-supported====<br />
Try installing the foomatic packages and use a foomatic driver.<br />
<br />
====/usr/lib/cups/backend/hp failed====<br />
Change<br />
SystemGroup sys root<br />
to<br />
SystemGroup lp root<br />
in {{ic|/etc/cups/cupsd.conf}}<br />
<br />
<br />
Following steps 1-3 in the Alternative CUPS interfaces below may be a better solution, since newer versions of cups will not allow the same group for both normal and admin operation.<br />
<br />
===="Unable to get list of printer drivers"====<br />
Try to remove Foomatic drivers.<br />
<br />
====lp: Error - Scheduler Not Responding====<br />
If you get this error when printing a document using:<br />
<br />
$ lp document-to-print<br />
<br />
Try setting the CUPS_SERVER environment variable:<br />
<br />
$ export CUPS_SERVER=localhost<br />
<br />
If this solves your problem, make the solution permanent by adding the export line above to ~/.bash_profile.<br />
<br />
====CUPS prints only an empty and an error-message page on HP LaserJet====<br />
<br />
There is a bug that causes CUPS to fail when printing images on HP LaserJet (in my case 3380). The bug has been reported and fixed by [https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/998087 Ubuntu].<br />
The first page is empty, the second page contains the following error message:<br />
ERROR:<br />
invalidaccess<br />
OFFENDING COMMAND:<br />
filter<br />
STACK:<br />
/SubFileDecode<br />
endstream<br />
...<br />
<br />
In order to fix the issue, use the following command (as superuser):<br />
lpadmin -p <printer> -o pdftops-renderer-default=pdftops<br />
<br />
===="Using invalid Host" error message====<br />
<br />
Try to add "ServerAlias *" into cupsd.conf<br />
<br />
====Printer doesn't print with an "Filter failed" message on CUPS web interface (HP printer)====<br />
<br />
Change the permissions of the printer USB port:<br />
<br />
Get the bus and device number from lsusb, then set the permission using:<br />
<br />
# chmod 0666 /dev/bus/usb/<bus number>/<device number><br />
<br />
====Printer is not recognized by CUPS====<br />
<br />
If your printer is not listed in the "Add Printers" page of the CUPS web interface, nor by lpinfo -v, try the following (suggested in [https://bbs.archlinux.org/viewtopic.php?pid=1037279#p1037279 this thread]):<br />
<br />
# Remove {{ic|usblp}} from blacklist<br />
# Load {{ic|usblp}} module<br />
modprobe usblp<br />
# Stop cups (sudo systemctl stop cups)<br />
# Add the following udev rule in the following new rule /etc/udev/rules.d/10-cups_device_link.rules<br />
KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"<br />
# Reload udev rules<br />
sudo udevadm control --reload-rules<br />
# Unplug and re-plug the printer <br />
# Wait a few and then start cups again (sudo systemctl start cups)<br />
<br />
==See also==<br />
* [http://localhost:631/documentation.html Official CUPS documentation], ''locally installed''<br />
* [http://www.cups.org/ Official CUPS Website]<br />
* [http://www.linuxprinting.org/ Linux Printing], ''[http://www.linuxfoundation.org The Linux Foundation]''<br />
* [http://www.gentoo.org/doc/en/printing-howto.xml Gentoo's Printing Guide], ''[http://www.gentoo.org/doc/en Gentoo Documentation Resources]''<br />
* [https://bbs.archlinux.org/ Arch Linux User Forums]<br />
* [http://wiki.gotux.net/tutorials/software/hp-printer Install HP Printers Easy Way]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=List_of_applications/Internet&diff=245953List of applications/Internet2013-02-02T01:46:45Z<p>Anonymous user: /* Graphical */</p>
<hr />
<div><noinclude><br />
[[Category:Internet Applications]]<br />
[[it:List of Applications/Internet]]<br />
[[ja:List of Applications/Internet]]<br />
[[zh-CN:List of Applications/Internet]]<br />
{{List of Applications navigation}}<br />
</noinclude><br />
== Internet ==<br />
{{Note|1=For possibly more up to date selection of applications, try checking the [https://aur.archlinux.org/packages.php?O=0&K=&do_Search=Go&detail=1&C=13&SeB=nd&SB=n&SO=a&PP=50 AUR 'network' category]}}<br />
<br />
=== BitTorrent Clients ===<br />
{{Wikipedia|Comparison of BitTorrent clients}}<br />
<br />
==== Console ====<br />
* {{App|[[aria2]]|A lightweight download utility that supports simultaneous adaptive downloading via HTTP(S), FTP, BitTorrent (DHT, PEX, MSE/PE) protocols and Metalink. It can run as a daemon controlled via a built-in JSON-RPC or XML-RPC interface.|http://aria2.sourceforge.net/|{{Pkg|aria2}}}}<br />
* {{App|[[Deluge]]|A user-friendly BitTorrent client written in PyGTK that can run as a daemon.|http://deluge-torrent.org/|{{Pkg|deluge}}}}<br />
* {{App|[[Wikipedia:MLDonkey|MLDonkey]]|A multi-protocol P2P client that supports BitTorrent, HTTP, FTP, eDonkey and Direct Connect.|http://mldonkey.sourceforge.net/|{{Pkg|mldonkey}}}}<br />
* {{App|[[rTorrent]]|A simple and lightweight ncurses BitTorrent client.|http://libtorrent.rakshasa.no/|{{Pkg|rtorrent}}}}<br />
* {{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|A simple and easy-to-use BitTorrent client with a daemon version, GTK+, Qt GUI, web and CLI front-ends.|http://transmissionbt.com/|{{Pkg|transmission-cli}}}} {{AUR|transmission-remote-cli}} {{AUR|transmission-remote-gtk}} (remote clients work with the daemon in the -cli package)<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:KGet|KGet]]|A download manager for KDE that supports HTTP(S), FTP and BitTorrent.|http://www.kde.org/applications/internet/kget/|{{Pkg|kdenetwork-kget}}}}<br />
* {{App|[[Wikipedia:KTorrent|KTorrent]]|A feature-rich BitTorrent client for KDE.|http://ktorrent.org/|{{Pkg|ktorrent}}}}<br />
* {{App|[[Wikipedia:qBittorrent|qBittorrent]]|An open source (GPLv2) BitTorrent client that strongly resembles µtorrent.|http://qbittorrent.sourceforge.net/|{{AUR|qbittorrent}}}}<br />
<!-- QTorrent site down for maintenance (2012-09-26) --><br />
* {{App|QTorrent|A BitTorrent client written in PyQt.|http://thegraveyard.org/qtorrent.php{{Linkrot|2012|09|20}}|{{Pkg|qtorrent}}}}<br />
* {{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|A simple and easy-to-use BitTorrent client with daemon version, GTK+, Qt GUI, web and CLI front-ends|http://transmissionbt.com/|{{Pkg|transmission-gtk}} {{Pkg|transmission-qt}}}}<br />
* {{App|[[Wikipedia:Vuze|Vuze]]|A feature-rich BitTorrent client written in Java (formerly Azureus).|https://www.vuze.com/|{{AUR|vuze}}}}<br />
<br />
=== eDonkey Clients ===<br />
eDonkey is still the second-largest p2p network (see [http://ipoque.com/en/resources/internet-studies Internet Study 2008/2009]).<br />
{{Wikipedia|Comparison of eDonkey software}}<br />
<br />
* {{App|[[aMule]]|A well-known eDonkey/Kad client with a daemon version and GTK+, web, and CLI front-ends.|http://www.amule.org/|{{Pkg|amule}}}}<br />
* {{App|KaMule|A KDE graphical front-end for aMule.|http://kde-apps.org/content/show.php?content&#61;150270|{{AUR|kamule}}}}<br />
<br />
=== eMoney ===<br />
{{Stub}}<br />
<br />
==== Bitcoin ====<br />
{{Box||See the main article: [[Bitcoin]]|#E5E5FF|#FCFCFC}}<br />
<br />
* {{App|Armory|A Bitcoin client with with features such as support for multiple wallets, importing keys and backups.|https://github.com/etotheipi/BitcoinArmory|{{AUR|armory-git}}}}<br />
* {{App|[[Bitcoin]]|The official tool to manage Bitcoins, a P2P currency.|http://bitcoin.org/|{{Pkg|bitcoin-daemon}} {{Pkg|bitcoin-qt}}}}<br />
<br />
=== Chat Clients ===<br />
{{Wikipedia|Comparison of instant messaging clients}}<br />
<br />
==== Multi-Protocol Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients#Multiprotocol clients}}<br />
<br />
{{Box||All messengers, that support several networks by means of direct connections to them, belong to this section.|#E5E5FF|#FCFCFC}}<br />
<br />
Many clients listed here (including Pidgin and all it's forks) support multiple IM networks via [[Wikipedia:libpurple|libpurple]]. The number of networks supported by these clients is very large but they (like any multiprotocol clients) usually have very limited or no support for network-specific features.<br />
<br />
===== Console =====<br />
* {{App|BarnOwl|An ncurses-based chat client with support for the Zephyr, AIM, Jabber, IRC, and Twitter protocols.|http://barnowl.mit.edu/|{{AUR|barnowl}}}}<br />
* {{App|[[Bitlbee]]|An IRC client that provides a gateway to popular chat networks (XMPP, MSN, Yahoo, AIM, ICQ and Twitter).|http://bitlbee.org/|{{Pkg|bitlbee}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|A fork of CenterICQ, a text mode menu- and window-driven IM interface.|http://centerim.org/|{{Pkg|centerim}}}}<br />
* {{App|Finch|An ncurses-based chat client that uses libpurple and supports all its protocols.|http://developer.pidgin.im/wiki/Using%20Finch|{{Pkg|finch}}}}<br />
* {{App|[[Wikipedia:naim (software)|naim]]|An ncurses chat client with support for AOL, ICQ, IRC and the Lily CMC.|http://naim.n.ml.org/|{{Pkg|naim}}}}<br />
<br />
===== Graphical =====<br />
* {{App|Carrier|A Pidgin fork providing minor GUI enhancements (formerly FunPidgin).|http://funpidgin.sourceforge.net/|{{AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A PyGTK instant messenger for the Windows Live Messenger network, also compatible with Jabber, Facebook and Google Talk.|http://emesene.org/|{{Pkg|emesene}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messaging client using the [[Wikipedia:Telepathy (software)|Telepathy]] framework.|http://live.gnome.org/Empathy|{{Pkg|empathy}}}}<br />
* {{App|Galaxium Messenger|A messenger application designed for the GNOME desktop.|https://code.google.com/p/galaxium/|{{AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Instantbird|Instantbird]]|A multi-protocol chat client using Mozilla's XUL and libpurple.|http://instantbird.com/|{{AUR|instantbird}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|A user-friendly IM supporting AIM, ICQ, Windows Live Messenger, Yahoo, Jabber, Gadu-Gadu, Novell GroupWise Messenger, and other IM networks.|http://kopete.kde.org/|{{Pkg|kdenetwork-kopete}}}}<br />
* {{App|[[Kde#Telepathy|Telepathy]]|A KDE instant messaging client using the [[Wikipedia:Telepathy (software)|Telepathy]] framework. Meant as a replacement for Kopete.|http://community.kde.org/Real-Time_Communication_and_Collaboration/|{{Pkg|kde-telepathy-meta}}}}<br />
* {{App|Licq|An instant messaging client for UNIX supporting multiple protocols (currently ICQ, MSN and Jabber).|http://www.licq.org|{{Pkg|licq}}}}<br />
* {{App|[[Pidgin]]|A multi-protocol instant messaging client.|http://pidgin.im/|{{Pkg|pidgin}}}}<br />
* {{App|Pidgin Light|A light Pidgin version without GStreamer, Tcl/Tk or XScreenSaver support.|http://pidgin.im/|{{AUR|pidgin-light}}}}<br />
* {{App|qutIM|A simple and user-friendly IM supporting ICQ, Jabber, Mail.Ru, IRC and VKontakte messaging.|http://qutim.org/|{{AUR|qutim}}}}<br />
<br />
==== Jabber/XMPP Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients#XMPP clients}}<br />
<br />
===== Console =====<br />
* {{App|Freetalk|A console-based Jabber client.|https://gnu.org/s/freetalk/|{{Pkg|freetalk}}}}<br />
* {{App|jabber.el|A minimal Jabber client for [[Emacs]].|http://emacs-jabber.sourceforge.net/|{{AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|A small Jabber console client, includes features: SSL, PGP, MUC, OTR, and UTF8.|http://mcabber.com/|{{Pkg|mcabber}}}}<br />
<br />
===== Graphical =====<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|A Jabber client written in PyGTK.|https://gajim.org/|{{Pkg|gajim}}}}<br />
* {{App|Jabbim|A Jabber client written in PyQt.|http://dev.jabbim.cz/jabbim|{{AUR|jabbim-svn}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt-based Jabber client.|http://psi-im.org/|{{Pkg|psi}}}}<br />
* {{App|Psi+|An enhanced version of the Psi Jabber client with many new [http://psi-plus.com/wiki/en:features#differences_between_psi_beta_version_and_the_official_psi_015-dev_version features].|https://code.google.com/p/psi-dev/|{{AUR|psi-plus}}}}<br />
<br />
==== MSN Clients ====<br />
* {{App|[[Wikipedia:AMSN|aMSN]]|A MSN client written in Tcl/Tk with webcam and conferencing support.|http://amsn-project.net/|{{Pkg|amsn}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A PyGTK MSN Messenger client.|http://blog.emesene.org/|{{Pkg|emesene}}}}<br />
* {{App|[[Wikipedia:Kmess|KMess]]|A MSN Messenger client for Linux with support for custom emoticons, nudges, winks, file transfers and many others.|http://kmess.org/|{{Pkg|kmess}}}}<br />
<br />
==== IRC Clients ====<br />
{{Wikipedia|Comparison of Internet Relay Chat clients}}<br />
<br />
===== Console =====<br />
* {{App|[[Wikipedia:BitchX|BitchX]]|A console-based IRC client developed from the popular [[Wikipedia:ircII|ircII]].|http://www.bitchx.org/|{{Pkg|ircii-pana}}}}<br />
* {{App|ERC|A powerful, modular, and extensible IRC client for [[Emacs]].|http://savannah.gnu.org/projects/erc/|{{AUR|erc-git}}}}<br />
* {{App|[[Wikipedia:Ii (IRC client)|ii]]|A featherweight IRC client, literally {{ic|tail -f}} the conversation and {{ic|echo}} back your replies to a file.|http://tools.suckless.org/ii|{{AUR|ii}}}}<br />
* {{App|Ircfs|A file system interface to IRC written in [http://limbo.cat-v.org Limbo].|http://www.ueber.net/code/r/ircfs|{{AUR?|ircfs}}}}<br />
* {{App|[[Irssi]]|A highly-configurable ncurses-based IRC client.|http://irssi.org/|{{Pkg|irssi}}}}<br />
* {{App|ScrollZ|An advanced IRC client based on [[Wikipedia:ircII|ircII]].|http://www.scrollz.com/|{{AUR|scrollz}}}}<br />
* {{App|sic|An extremely simple IRC client, similar to [[Wikipedia:Ii (IRC client)|ii]].|http://tools.suckless.org/sic|{{AUR|sic}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|A modular, lightweight ncurses-based IRC client.|http://weechat.org/|{{Pkg|weechat}}}}<br />
<br />
===== Graphical =====<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|A Qt-based IRC client for the KDE desktop.|http://konversation.kde.org/|{{Pkg|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|A Qt-based IRC client featuring extensive themes support.|http://kvirc.net/|{{Pkg|kvirc}}}}<br />
* {{App|Loqui|A GTK+ IRC client with only one dependency: [https://live.gnome.org/GNetLibrary GNet].|https://launchpad.net/loqui|{{AUR|loqui}}}}<br />
* {{App|LostIRC|A simple GTK+ IRC client with tab-autocompletion, multiple server support, logging and others.|http://lostirc.sourceforge.net|{{AUR|lostirc}}}}<br />
* {{App|pcw|A frontend for [http://tools.suckless.org/ii ii] that opens a new terminal for each channel.|https://bitbucket.org/emg/pcw|{{AUR|pcw-hg}}}}<br />
* {{App|[[Wikipedia:Quassel IRC|Quassel]]|A modern, cross-platform, distributed IRC client.|http://quassel-irc.org/|{{Pkg|quassel}}}}<br />
* {{App|[[Wikipedia:Smuxi|Smuxi]]|A cross-platform IRC client for the GNOME desktop inspired by [[Irssi]].|http://smuxi.org/|{{Pkg|smuxi}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|A GTK+-based IRC client that works on both Linux and Windows.|http://xchat.org/|{{Pkg|xchat}}}}<br />
<br />
=== Softphone ===<br />
{{Wikipedia|Comparison of VoIP software}}<br />
{{Wikipedia|List of SIP software}}<br />
<br />
==== Clients ====<br />
* {{App|[[Wikipedia:Blink (software)|Blink]]|A state of the art, easy to use SIP client.|http://www.icanblink.com/|{{AUR|blink-darcs}}}}<br />
* {{App|[[Wikipedia:Ekiga|Ekiga]]|A VoIP and video conferencing application with full SIP and H.323 support (formerly known as GNOME Meeting).|http://www.ekiga.org/|{{Pkg|ekiga}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messenger client using the Telepathy framework with SIP support (using the Sofia-SIP library).|https://live.gnome.org/Empathy|{{Pkg|empathy}}}}<br />
* {{App|iaxComm|An open source softphone for the Asterisk PBX (using the IAX protocol).|http://iaxclient.sourceforge.net/iaxcomm/|{{AUR?|iaxcomm}}}}<br />
* {{App|[[Wikipedia:Jitsi|Jitsi]]|An audio/video SIP VoIP phone and instant messenger written in Java (formerly SIP-Communicator).|https://jitsi.org/|{{AUR|jitsi}}}}<br />
* {{App|Kiax|A Qt-based IAX/2 Softphone.|http://www.forschung-direkt.eu/projects/kiax2/|{{AUR|kiax}}}}<br />
* {{App|[[Wikipedia:KPhone|KPhone]]|A Qt SIP User Agent with voice, video and text messaging support.|http://sourceforge.net/projects/kphone/|{{AUR?|kphone}}}}<br />
* {{App|[[Wikipedia:Linphone|Linphone]]|An VoIP phone application that allows you to to communicate freely with people over the internet, with voice, video, and text instant messaging.|http://www.linphone.org/|{{Pkg|linphone}}}}<br />
* {{App|Minisip|A SIP User Agent with focus on security (supports TLS, end-to-end security, SRTP, MIKEY (DH, PSK, PKE)).|http://www.minisip.org/|{{AUR|minisip-svn}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt-based Jabber client which supports video conferencing (since version 0.13).|http://psi-im.org/|{{Pkg|psi}} {{AUR|psi-plus}}}}<br />
* {{App|[[Wikipedia:QuteCom|QuteCom]]|A softphone which allows you to make free PC to PC video and voice calls, and to integrate all your IM contacts in one place. (formerly Wengo Phone)|http://trac.qutecom.org/|{{AUR|qutecom}}}}<br />
* {{App|[[Wikipedia:SFLphone|SFLPhone]]|An open-source SIP/IAX2 compatible softphone with PulseAudio support.|http://sflphone.org/|{{AUR|sflphone}}}}<br />
* {{App|[[Skype]]|A popular P2P application for high-quality voice communication.|http://www.skype.com/|{{Pkg|skype}}}}<br />
* {{App|[[TeamSpeak]]|A proprietary VoIP application with gamers as its target audience.|http://www.teamspeak.com/|{{AUR|teamspeak}}}}<br />
* {{App|[[Wikipedia:Twinkle (software)|Twinkle]]|A Qt softphone for VoIP and IM communication using SIP.|http://www.twinklephone.com/|{{AUR|twinkle}}}}<br />
* {{App|[[Wikipedia:X-Lite|X-Lite]]|A proprietary freeware VoIP soft phone that uses SIP.|http://www.counterpath.net/x-lite|{{AUR|xlite_bin}}}}<br />
* {{App|[[Wikipedia:Zfone|Zfone]]|A softphone application for secure voice communication over the Internet (VoIP), using the ZRTP protocol.|http://zfoneproject.com/|{{AUR|zfone}}}}<br />
<br />
==== Utilities ====<br />
* {{App|Gladstone|An educational ITU-T G.729 compliant codec with a GStreamer plugin.|http://code.google.com/p/gladstone/|{{AUR|gladstone-drizztbsd-git}}}}<br />
* {{App|SIPp|An open source test tool and traffic generator for the SIP protocol.|http://sipp.sourceforge.net/|{{AUR|sipp}}}}<br />
* {{App|Sipsak|A small command-line tool for developers and administrators of SIP applications.|http://sipsak.org/|{{AUR|sipsak}}}}<br />
<br />
=== Pastebin Clients ===<br />
{{wikipedia|Pastebin}}<br />
Pastebin services are often used to paste information into [[IRC_Channel|IRC channels]] to help with troubleshooting. There are services for both text (e.g. [http://sprunge.us/ sprunge.org], [http://pastie.org/ pastie.org], [http://codepad.org/ codepad.org]) and images (e.g. [http://imgur.com/ imgur.com], [http://picpaste.com/ picpaste.com]). Pastebin clients allow you to post directy from the cli without using a web browser.<br />
<br />
{{Tip|The sprunge pastebin can be accessed directly via curl: {{bc|<nowiki><command> | curl -F 'sprunge=<-' http://sprunge.us</nowiki>}}<br />
There is also a [https://github.com/robbyrussell/oh-my-zsh/wiki/Usage-of-the-%22sprunge%22-command sprunge plugin] for [https://github.com/robbyrussell/oh-my-zsh/wiki oh-my-zsh] (a configuration tool for the [[Zsh]] command shell).}}<br />
<br />
{{Warning|Do not use [http://pastebin.com/ pastebin.com]. It appears to be the most popular site but it is slow, full of adverts, formats the text badly (it will mess up your code) and many people can not even open the site due to aggressive spam filters.}}<br />
<br />
* {{App|Curlpaste|A utility to post text files to a number of pastebin sites using curl and Lua. Servers: [http://pastebin.ca/ pastebin.ca], [http://codepad.org/ codepad.org], [http://dpaste.com/ dpaste.com] and [http://fpaste.org/ fpaste.org].|https://github.com/Kiwi/curlpaste/|{{Pkg|curlpaste}}}}<br />
* {{App|Elmer|A pastebin client similar to wgetpaste and curlpaste, except written in Perl and usable with wget or curl. Servers: [http://codepad.org/ codepad.org], [http://rafb.me/ rafb.me], [http://sprunge.us/ sprunge.us], [http://ompldr.org/ ompldr.org].|https://github.com/sudokode/elmer|{{AUR|elmer}}}}<br />
* {{App|Fb-client|A client for the [http://paste.xinu.at/ paste.xinu.at] pastebin.|http://paste.xinu.at|{{pkg|fb-client}}}}<br />
* {{App|Gist|A command-line interface for the [https://gist.github.com/ gist.github.com] pastebin service.|http://github.com/defunkt/gist|{{AUR|gist}}}}<br />
* {{App|Haste|A universal pastebin tool, written in Haskell. Servers: [http://hpaste.org/ hpaste.org], [http://paste2.org/ paste2.org], [http://pastebin.com/ pastebin.com] and others.|http://hackage.haskell.org/package/haste|{{AUR|haste}}}}<br />
* {{App|Hg-paste|A pastebin extension for Mercurial which can send diffs to various pastebin websites for easy sharing. Servers: [http://dpaste.com/ dpaste.com] and [http://dpaste.org/ dpaste.org].|http://bitbucket.org/sjl/hg-paste|{{AUR|hg-paste}}}}<br />
* {{App|Ix|A client for the ix.io pastebin.|http://ix.io|{{pkg|ix}}}}<br />
* {{App|Npaste-client|A client for the [http://npaste.de/ npaste.de] pastebin.|http://npaste.de|{{AUR|npaste-client}}}}<br />
* {{App|Pastebinit|A really small Python script that acts as a Pastebin client. Servers: [http://pastie.org/ pastie.org], [http://paste.kde.org/ paste.kde.org], [http://paste.debian.net/ paste.debian.net], [http://paste.ubuntu.com/ paste.ubuntu.com] and others (for a full list see {{ic|pastebinit -l}}).|http://launchpad.net/pastebinit|{{AUR|pastebinit}}}}<br />
* {{App|Vim-gist| A Vim script for [https://gist.github.com/ gist.github.com].| http://www.vim.org/scripts/script.php?script_id&#61;2423 |{{pkg|vim-gist}}}}<br />
* {{App|Vim-paster|A Vim plugin to paste to any pastebin service using curl.|http://eugeneciurana.com/site.php?page&#61;tools|{{AUR|vim-paster}}}}<br />
* {{App|Wgetpaste|A bash script that automates pasting to a number of pastebin services. Servers: [http://pastebin.ca/ pastebin.ca], [http://codepad.org/ codepad.org], [http://dpaste.com/ dpaste.com] and [http://pastebin.osuosl.org/ pastebin.osuosl.org].|http://wgetpaste.zlin.dk/|{{Pkg|wgetpaste}}}}<br />
<br />
=== Email clients ===<br />
{{Wikipedia|Comparison of e-mail clients}}<br />
<br />
==== Console ====<br />
* {{App|[[Alpine]]|A fast, easy-to-use and Apache-licensed email client based on [[Wikipedia:Pine (email client)|Pine]].|https://washington.edu/alpine|{{Pkg|alpine}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|An email, NNTP and RSS client for Emacs.|http://gnus.org/|{{AUR|emacs-gnus-git}}}}<br />
* {{App|[[Wikipedia:mailx|Heirloom mailx]]|A full-featured command-line Mail User Agent derived from Berkeley Mail.|http://heirloom.sourceforge.net/mailx.html|{{Pkg|heirloom-mailx}}}}<br />
* {{App|mu/mu4e|An email indexer (mu) and client for emacs (mu4e). Xapian based for fast searches.|http://www.djcbsoftware.nl/code/mu/mu4e.html|{{AUR|mu}}}}<br />
* {{App|[[Mutt]]|A small but very powerful text-based mail client.|http://www.mutt.org/|{{Pkg|mutt}}}}<br />
* {{App|[[Sup]]|A CLI mail client with very fast searching, tagging, threading and GMail like operation.|http://sup.rubyforge.org/|{{AUR|sup}}}}<br />
* {{App|[[Wikipedia:Wanderlust (software)|Wanderlust]]|An email client and news reader for Emacs.|http://www.gohome.org/wl/|{{Pkg|wanderlust}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Balsa]]|A simple and light email client that is part of the Gnome project.|http://pawsa.fedorapeople.org/balsa/|{{Pkg|balsa}}}}<br />
* {{App|[[Wikipedia:Claws Mail|Claws Mail]]|A lightweight GTK+-based email client and news reader.|http://claws-mail.org/|{{Pkg|claws-mail}}}}<br />
* {{App|[[Evolution]]|A mature and feature-rich e-mail client used in GNOME by default.|http://projects.gnome.org/evolution/|{{Pkg|evolution}}}}<br />
* {{App|Geary|A simple desktop mail client built in [[Wikipedia:Vala (programming language)|Vala]].|http://redmine.yorba.org/projects/geary/wiki|{{AUR|geary}}}}<br />
* {{App|[[Wikipedia:Kmail|Kmail]]|A mature and feature-rich email client part of the KDE project.|http://kde.org/applications/internet/kmail/|{{Pkg|kdepim-kmail}}}}<br />
* {{App|Manitou Mail|A database-driven email system.|http://www.manitou-mail.org/|{{AUR|manitou-mdx}} {{AUR|manitou-ui}}}}<br />
* {{App|[[Wikipedia:Sylpheed|Sylpheed]]|A lightweight and user-friendly GTK+ email client.|http://sylpheed.sraoss.jp/en/|{{Pkg|sylpheed}}}}<br />
* {{App|[[Thunderbird]]|A feature-rich email client from Mozilla written in GTK+.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Trojitá|A Qt IMAP email client.|http://trojita.flaska.net/|{{AUR|trojita}}}}<br />
<br />
=== Network Managers ===<br />
* {{App|[[netcfg]]|A simple and robust network configuration application that uses profile scripts.|https://projects.archlinux.org/netcfg.git/|{{Pkg|netcfg}}}}<br />
* {{App|[[NetworkManager]]|A manager that provides wired, wireless, mobile broadband and OpenVPN detection with configuration and automatic connection.|http://projects.gnome.org/NetworkManager/|{{Pkg|networkmanager}}}}<br />
* {{App|[[Wicd]]|A wireless and wired connection manager with few dependencies and GTK+, KDE and command-line interfaces.|http://wicd.sourceforge.net/|{{Pkg|wicd}}}}<br />
<br />
=== News Aggregators ===<br />
{{Wikipedia|Comparison of feed aggregators}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:Canto (news aggregator)|Canto]]|A ncurses RSS aggregator|http://codezen.org/canto/|{{AUR|canto}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|An email, NNTP and RSS client for Emacs.|http://gnus.org/|{{AUR|emacs-gnus-git}}}}<br />
* {{App|Newsbeuter|An ncurses RSS aggregator with layout and keybinding similar to the [[Mutt]] email client.|http://newsbeuter.org|{{Pkg|newsbeuter}}}}<br />
* {{App|Rawdog|An "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in chronological order.|http://offog.org/code/rawdog.html|{{AUR|rawdog}}}}<br />
* {{App|Snownews|A text mode RSS news reader.|http://kiza.kcore.de/software/snownews/|{{Pkg|snownews}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Kontact#News Feed Aggregator|Akregator]]|A news aggregator for KDE, part of KDE PIM.|http://kde.org/applications/internet/akregator/|{{Pkg|kdepim-akregator}}}}<br />
* {{App|[[Wikipedia:BlogBridge|BlogBridge]]|An excellent Java-based aggregator, which gives users the option to synchronize their feeds across multiple computers.|http://blogbridge.com|{{AUR|blogbridge}}}}<br />
* {{App|[[Wikipedia:Liferea|Liferea]]|A GTK+ news aggregator for online news feeds and weblogs.| http://liferea.sourceforge.net|{{Pkg|liferea}}}}<br />
* {{App|RSS Guard|A (very) tiny RSS and Atom news reader developed using Qt framework.|https://code.google.com/p/rss-guard/|{{AUR|rss-guard}}}}<br />
* {{App|[[Wikipedia:RSSOwl|RSSOwl]]|A powerful aggregator for RSS and Atom feeds, written in Java using Eclipse Rich Client Platform and SWT as a widget toolkit.|http://boreal.rssowl.org|{{AUR|rssowl}}}}<br />
* {{App|[[Thunderbird]]|An email client from Mozilla which also functions as a pretty nice news aggregator.|http://www.mozilla.org/thunderbird/|{{Pkg|thunderbird}}}}<br />
* {{App|Tickr (formerly News)|A GTK+-based RSS Reader that displays feeds as a smooth scrolling line on your Desktop, as known from TV stations.|http://newsrssticker.com/|{{AUR|tickr}}}}<br />
* {{App|Urssus|A cross platform GUI news aggregator.|https://code.google.com/p/urssus/|{{AUR|urssus}}}}<br />
<br />
=== Web Browsers ===<br />
{{Wikipedia|Comparison of web browsers}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:ELinks|ELinks]]|An advanced and well-established feature-rich text mode web browser. (Links fork, barely supported since 2009)|http://elinks.or.cz/|{{Pkg|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|A text WWW browser, similar to Lynx, but with CSS-based rendering.|http://links.twibright.com/|{{Pkg|links}}}}<br />
* {{App|[[Wikipedia:Lynx (web browser)|Lynx]]|A text browser for the World Wide Web.|http://lynx.isc.org|{{Pkg|lynx}}}}<br />
* {{App|[[Wikipedia:W3m|w3m]]|A pager/text-based web browser.|http://w3m.sourceforge.net/|{{Pkg|w3m}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Abaco (web browser)|Abaco]]|A multi-page graphical web browser for the Plan 9 OS.|http://lab-fgb.com/abaco/|{{AUR|abaco}}}}<br />
* {{App|[[Wikipedia:Arora (browser)|Arora]]|A cross-platform web browser built using QtWebKit.|https://code.google.com/p/arora/|{{Pkg|arora}}}}<br />
* {{App|[[Chromium]]|A web browser developed by Google that uses the WebKit layout engine and application framework, the open source project behind Google Chrome.|http://www.chromium.org/|{{Pkg|chromium}}}}<br />
* {{App|[[Wikipedia:Conkeror|Conkeror]]|A highly programmable web browser, with Emacs-like keybindings, based on Mozilla's XULRunner.|http://conkeror.org/|{{AUR|conkeror-git}}}}<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|A small, fast graphical web browser built on [[Wikipedia:Fltk|FLTK]].|http://dillo.org/|{{Pkg|dillo}}}}<br />
* {{App|[[dwb]]|A lightweight, highly customizable web browser based on the WebKit engine with vi-like shortcuts and tiling layouts. |http://portix.bitbucket.org/dwb/|{{Pkg|dwb}}}}<br />
* {{App|[[Epiphany]]|A browser which uses the WebKit rendering engine, the Gnome default.|http://projects.gnome.org/epiphany/|{{Pkg|epiphany}}}}<br />
* {{App|[[Firefox]]|An extensible GTK+ browser from Mozilla based on Gecko with fast rendering.|https://mozilla.com/firefox|{{Pkg|firefox}}}}<br />
* {{App|Hv3|A minimalist web browser based on [[Wikipedia:Tkhtml|Tkhtml3]].|http://tkhtml.tcl.tk/hv3.html|{{AUR|hv3}}}}<br />
* {{App|[[Jumanji]]|A highly customizable and functional web browser.|http://pwmt.org/projects/jumanji|{{AUR|jumanji}}}}<br />
* {{App|[[Wikipedia:Kazehakase|Kazehakase]]|A much lighter, but rather feature-lacking alternative to other browsers, based on GTK+ and Gecko.|http://kazehakase.sourceforge.jp/|{{AUR|kazehakase}}}}<br />
* {{App|[[Wikipedia:Konqueror|Konqueror]]|A web browser based on Qt and KHTML, part of the KDE desktop|http://konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Luakit]]|A highly configurable, micro-browser framework based on the WebKit engine and the GTK+ toolkit. It is very fast, extensible by Lua and licensed under the GNU GPLv3 license.|http://mason-larobina.github.com/luakit/|{{Pkg|luakit}}}}<br />
* {{App|[[Wikipedia:Midori (web browser)|Midori]]|A lightweight web browser based on GTK+ and WebKit.|http://twotoasts.de/index.php/midori/|{{Pkg|midori}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]|A featherweight browser written in C, notable for its lack of JavaScript support and fast rendering through its own custom rendering engine.|http://netsurf-browser.org|{{Pkg|netsurf}}}}<br />
* {{App|[[Opera]]|A highly customizable browser with focuses on an adherence to web rendering standards.|http://opera.com|{{Pkg|opera}}}}<br />
* {{App|[[Wikipedia:QupZilla|QupZilla]]|A new and very fast open source browser based on WebKit core, written in Qt framework.| http://www.qupzilla.com |{{pkg|qupzilla}}}} <br />
* {{App|[[wikipedia:Rekonq|Rekonq]]|A WebKit-based web browser for KDE.|http://rekonq.kde.org/|{{Pkg|rekonq}}}}<br />
* {{App|Sb|A very lightweight WebKit-based browser that uses keybindings to perform most things the URL bar would usually do.|https://github.com/mutantturkey/sb/|{{AUR|sb-git}}}} <br />
* {{App|Surf|A lightweight WebKit-based browser, which follows the [http://suckless.org/philosophy suckless ideology] (basically, the browser itself is a single C source file).|http://surf.suckless.org|{{AUR|surf-hg}}}}<br />
* {{App|[[Wikipedia:Uzbl|Uzbl]]|A group of web interface tools which adhere to the Unix philosophy.|http://uzbl.org/|{{Pkg|uzbl-browser}}}}<br />
* {{App|[[Vimprobable]]|A browser that behaves like the Vimperator plugin available for Mozilla Firefox. It is based on the WebKit engine and uses the GTK+ bindings.|http://sourceforge.net/apps/trac/vimprobable/|{{AUR|vimprobable-git}}}}<br />
<br />
=== Microblogging Clients ===<br />
{{Wikipedia|List of Twitter services and applications}}<br />
<br />
* {{App|Choqok|A microblogging client for KDE that supports Twitter.com, Identi.ca and opendesktop.org services.|http://choqok.gnufolks.org/|{{Pkg|choqok}}}}<br />
* {{App|[[Wikipedia:Gwibber|Gwibber]]|A GTK+-based microblogging client with support for Twitter, Identi.ca, StatusNet, Facebook, FriendFeed, Digg, Flikr and Qaiku.|http://gwibber.com/|{{Pkg|gwibber}}}}<br />
* {{App|[[Wikipedia:Hotot (program)|Hotot]]|A lightweight and open source microblogging client with support for Twitter and Identi.ca and integration with various image sharing services and URL shorteners.|http://hotot.org|{{AUR|hotot}}}}<br />
* {{App|Pino|A simple and fast client for Twitter and Identi.ca. written in [[Wikipedia:Vala (programming language)|Vala]].|http://pino-app.appspot.com/|{{AUR|pino}}}}<br />
* {{App|Polly|Linux Twitter client designed for multiple columns of multiple accounts.|https://launchpad.net/polly/|{{AUR|polly}}}}<br />
* {{App|Qwit|A cross-platform client for Twitter using the Qt toolkit.|http://code.google.com/p/qwit/|{{AUR|qwit}}}}<br />
* {{App|tyrs|A simple client for for Twitter and Identi.ca supporting virtually all its features with nice console UI.|http://tyrs.nicosphere.net/|{{AUR|tyrs}}}}<br />
<br />
=== FTP ===<br />
==== FTP Clients ====<br />
{{Wikipedia|Comparison of FTP client software}}<br />
<br />
* {{App|CurlFtpFS|A filesystem for acessing FTP hosts based on FUSE and libcurl.|http://curlftpfs.sourceforge.net/|{{Pkg|curlftpfs}}}}<br />
* {{App|[[Wikipedia:FatRat|FatRat]]|A download manager with support for HTTP, FTP, SFTP, BitTorrent, RapidShare and more.|http://fatrat.dolezel.info/|{{Pkg|fatrat}}}}<br />
* {{App|[[Wikipedia:FileZilla|FileZilla]]|A fast and reliable FTP, FTPS and SFTP client.|http://filezilla-project.org/|{{Pkg|filezilla}}}}<br />
* {{App|fuseftp|An FTP filesystem written in Perl, using [[Wikipedia:Filesystem in Userspace|FUSE]].|http://freshmeat.net/projects/fuseftp/|{{AUR|fuseftp}}}}<br />
* {{App|[[Wikipedia:gFTP|gFTP]]|A multithreaded FTP client for Linux.|http://gftp.seul.org/|{{Pkg|gftp}}}}<br />
* {{App|[[Wikipedia:Lftp|LFTP]]|A sophisticated command-line FTP client.|http://lftp.yar.ru/|{{Pkg|lftp}}}}<br />
* {{App|[[Wikipedia:tnftp|tnftp]]|A FTP client with several advanced features for [[Wikipedia:NetBSD|NetBSD]].|http://freecode.com/projects/tnftp|{{Pkg|tnftp}}}}<br />
Some file managers like [[Dolphin]], [[Nautilus]] and [[Thunar]] also provide FTP functionality.<br />
<br />
==== FTP Servers ====<br />
* {{App|[[Very Secure FTP Daemon|vsftpd]]|lightweight, stable and secure FTP server for UNIX-like systems.|https://security.appspot.com/vsftpd.html|{{Pkg|vsftpd}}}}<br />
<br />
* {{App|[[Wikipedia:Pure-FTPd|Pure-FTPd]]|A free (BSD-licensed), secure, production-quality and standard-compliant FTP server.|http://www.pureftpd.org/project/pure-ftpd|{{AUR|pure-ftpd}}}}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=JWM&diff=245796JWM2013-02-01T05:05:53Z<p>Anonymous user: /* Package installation */</p>
<hr />
<div>[[Category:Stacking WMs]]<br />
[[it:JWM]]<br />
{{Poor writing|excessive use of unordered (bulleted) lists.}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|This article attempts to walk users through the installation and configuration of the JWM window manager.}}<br />
{{Article summary end}}<br />
<br />
== Introduction ==<br />
'''JWM''' (Joe's Window Manager) is a featherweight [[Window Manager|window manager]] for the [[Wikipedia:X_Window_System|X11 Window System]] written in [http://en.wikipedia.org/wiki/C_(programming_language) C]; it's under active development and is maintained by [http://joewing.net/about.shtml Joe Wingbermuehle]. JWM uses approximately 5 MB of resident memory under normal operating conditions. As of January 2009, the size of the version present in the [[Official Repositories|official Arch Linux repositories]] is under 76 KB packaged (compare to [[Dwm|dwm]] at under 17 KB) and under 171 KB installed (compare to dwm at 68 KB). A minimally compiled version consumes approximately 136 KB of disk space and occupies under 1500 KB of resident memory. <br />
<br />
JWM is generally regarded as the lightest and fastest stacking window manager available for X11 and is the default window manager base for distributions such as [http://www.puppylinux.org/ Puppy Linux] and [http://damnsmalllinux.org/ Damn Small Linux]. Numerous options allow for great flexibility of layout. Some of the more outstanding features of JWM include ease of configuration (a single [[Wikipedia:XML|XML]] file), native support for customizable panels and buttons and its inclusion of a [[Wikipedia:Taskbar|system tray]] dock.<br />
<br />
== Package installation ==<br />
<br />
{{Pkg|jwm}} is part of the [[Official_Repositories#.5Bcommunity.5D|official Arch Linux [community] repository]].<br />
<br />
{{bc|# pacman -S jwm}} <br />
<br />
{{Warning|Recent SVN snapshots (e.g. 500) have migrated to Mod key masks (e.g. H to 4).|}}<br />
<br />
== Starting JWM ==<br />
* Run the xinit program to start the X server and the JWM client program:<br />
$ xinit /usr/bin/jwm<br />
<br />
* Alternatively, add the appropriate entry (e.g. {{Ic|/usr/bin/jwm}} or {{Ic|exec ck-launch-session /usr/bin/jwm}}) in your [[Xinitrc|.xinitrc]] file and run:<br />
$ startx<br />
<br />
* See the ArchWiki entry [[Start X at Boot]] for additional details.<br />
<br />
== Configuration ==<br />
=== Creating ~/.jwmrc ===<br />
In adherence to the principles of [[The_Arch_Way|The Arch Way]], the look, feel and function of the JWM desktop is controlled by way of a single configuration file: {{ic|~/.jwmrc}}<br><br />
A sample configuration file is installed upon program installation and is located at {{ic|/etc/system.jwmrc}}. Create {{ic|~/.jwmrc}}:<br />
<br />
$ touch {{ic|~/.jwmrc}}<br />
or<br />
$ cp -i {{ic|/etc/system.jwmrc}} {{ic|~/.jwmrc}}<br />
<br />
All that is left at this point is to establish the environment by editing the XML {{ic|.jwmrc}} file.<br />
* [http://joewing.net/programs/jwm/config.shtml JWM Configuration] details the complete list of tags, attributes and values available for JWM.<br />
<br />
{{Note|The rolling content of JWM Configuration is based on the latest SVN snapshot and may not reflect the options available in the the current release.}}<br />
<br />
=== Overview of Selected Tags ===<br />
<br />
==== <StartupCommand> ====<br />
* Load and fork [http://parcellite.sourceforge.net/ Parcellite] as a background [http://en.wikipedia.org/wiki/Daemon_(computer_software) daemon] when JWM starts:<br />
<StartupCommand>parcellite -d</StartupCommand><br />
<br />
* Quietly connect to and fork the [[Rxvt-unicode|urxvtd]] [http://en.wikipedia.org/wiki/Daemon_(computer_software) daemon] to the current {{Ic|$DISPLAY}} when JWM starts:<br />
<StartupCommand>urxvtd -q -o -f</StartupCommand><br />
<br />
* Recursively force the removal of selected directories as a general housekeeping measure when JWM starts:<br />
<StartupCommand>rm -rf $HOME/.adobe $HOME/.cache $HOME/.local/share/Trash $HOME/.macromedia $HOME/.recently-used.xbel $HOME/.Xauthority</StartupCommand><br />
<br />
* Enable [[DPMS]] (Energy Star) to turn monitor 0:0 off to its lowest state of power consumption state after 900 seconds of screen idle after JWM starts:<br />
<StartupCommand>xset -display :0.0 dpms 0 0 900</StartupCommand><br />
<br />
* Enable [http://igurublog.wordpress.com/downloads/script-devmon/ devmon] as a daemon after JWM starts:<br />
<StartupCommand>/usr/bin/devmon</StartupCommand><br />
<br />
{{Note|<StartupCommand> commands are spawn as ConsoleKit sessions so long as JWM is launched within a ConsoleKit session.}}<br />
{{Note|Run the {{Ic|xdpyinfo}} command (owned by {{Pkg|xorg-utils}}) to reveal the name of the current display.}}<br />
<br />
==== <Program> ====<br />
* Open [[Thunar]] in a specified directory:<br />
<Program label="Thunar">thunar ~/Desktop</Program><br />
<br />
* Connect to the local [http://www.cups.org/ CUPS] web interface using the preferred web application ([http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html xdg-open]):<br />
<Program label="CUPS Printing">xdg-open [http://www.cups.org/articles.php?L274 http://localhost:631]</Program><br />
<br />
* Iconize and start [http://filezilla-project.org/ FileZilla] with Site Manager opened:<br />
<Program icon="filezilla.png">filezilla -s</Program><br />
<br />
==== <Menu> ====<br />
* Create containers for a list of additional programs to display as a submenus under {{Ic|<RootMenu>}}:<br />
<Menu label="Sample"><br />
<Program label="Xfburn">xfburn -d</Program><br />
<Program label="urxvt Client">urxvtc</Program><br />
</Menu><br />
<br />
<Menu label="Example"><br />
<Program label="Opera">opera -nolirc -nomail</Program><br />
<Program label="Writer">/opt/openoffice.org3/program/swriter -nologo</Program><br />
</Menu><br />
<br />
==== <RootMenu> ====<br />
* Create a menu container displaying the {{Ic|<nowiki>label="Test"</nowiki>}} of {{Ic|<nowiki>height="24"</nowiki>}} pixels and bound to the left mouse button {{ic|1=onroot="1"}} under {{Ic|<RootMenu>}}:<br />
<br />
<RootMenu labeled="true" label="Test" height="24" onroot="1"><br />
<Program label="Thunar">thunar ~/Desktop</Program><br />
<Program label="CUPS Printing">xdg-open http://localhost:631</Program><br />
<Program icon="filezilla.png">filezilla -s</Program><br />
<Menu label="Sample"><br />
<Program label="Xfburn">xfburn -d</Program><br />
<Program label="urxvt Client">urxvtc</Program><br />
</Menu><br />
<Menu label="Example"><br />
<Program label="Opera">opera -newprivatetab -noargb -nolirc -nomail</Program><br />
<Program label="Writer">/usr/lib/openoffice.org3/program/swriter -nologo</Program><br />
</Menu><br />
</RootMenu><br />
<br />
* Create a <i>nested</i> menu container with no label, of {{Ic|<nowiki>height="32"</nowiki>}} pixels, and bound to the right mouse button {{Ic|<nowiki>onroot="3"</nowiki>}} under {{Ic|<RootMenu>}}:<br />
<br />
<RootMenu height="32" onroot="3"><br />
<Program label="Thunar">thunar ~/Desktop</Program><br />
<Program label="CUPS Printing">xdg-open http://localhost:631</Program><br />
<Program icon="filezilla.png" label="FileZilla">filezilla -s</Program><br />
<Menu label="Sample"><br />
<Program label="Xfburn">xfburn -d</Program><br />
<Program label="urxvt Client">urxvtc</Program><br />
<Menu label="Example"><br />
<Program label="Opera">opera -newprivatetab -noargb -nolirc -nomail</Program><br />
<Program label="Writer">/usr/lib/openoffice.org3/program/swriter -nologo</Program><br />
</Menu><br />
</Menu><br />
</RootMenu><br />
<br />
==== <Groups> ====<br />
* Preserve panel space by not displaying {{Ic|Squeeze}} and {{Ic|Xarchiver}} within the {{Ic|<Tasklist>}}:<br />
<br />
<Group><br />
<Class>Squeeze</Class><br />
<Class>Xarchiver</Class><br />
<Option>nolist</Option><br />
</Group><br />
<br />
* Always start {{Ic|Firefox}} maximized on {{Ic|desktop:2}} without a title bar:<br />
<Group><br />
<Class>Firefox</Class><br />
<Option>maximized</Option><br />
<Option>desktop:2</Option><br />
<Option>notitle</Option><br />
</Group><br />
<br />
===== Window Class =====<br />
<br />
The [http://www.xfree86.org/current/xprop.1.html xprop] utility displays window and font properties in an X server.<br />
<br />
* Set xprop to display the window class name of an application:<br />
xprop WM_CLASS <br />
<br />
* Click on the desired application window to display the string name of the window class:<br />
WM_CLASS(STRING) = "urxvt", "URxvt"<br />
<br />
xprop is part of the {{Pkg|xorg-utils}} package in the Arch Linux [extra] repository.<br />
# pacman -S xorg-utils<br />
<br />
==== <TrayButton> ====<br />
<br />
* Create a panel {{Ic|<TrayButton>}} displaying the {{Ic|<nowiki>label="Pattern"</nowiki>}} which launches the {{Ic|root:1}} menu:<br />
<br />
<TrayButton label="Pattern">root:1</TrayButton><br />
<br />
==== <Swallow> ====<br />
<br />
* Integrate, or {{Ic|<Swallow>}} into the tray the program whose {{Ic|<nowiki>name=wicd-gtk</nowiki>}} and allow the named program to execute the command {{Ic|wicd-gtk}}<br />
<br />
<Swallow name="wicd-gtk"><br />
wicd-gtk<br />
</Swallow><br />
<br />
==== <Tray> ====<br />
* Create a panel {{Ic|<Tray>}} of {{Ic|<nowiki>height="24"</nowiki>}} pixels offset {{Ic|<nowiki>x="0"</nowiki>}} pixels from the left of the screen and {{Ic|<nowiki>y="0"</nowiki>}} from the top of the screen. Display within the panel:<br />
<br />
# A menu {{Ic|<TrayButton>}} which displays the {{Ic|root:1}} menu.<br />
# A {{Ic|<TaskList/>}} which displays running applications within the current desktop.<br />
# A {{Ic|<TrayButton>}} with the text {{Ic|<nowiki>label="X"</nowiki>}} that minimizes open windows to show the root window, or desktop.<br />
# A virtual desktop {{Ic|<Pager/>}} showing available workspaces.<br />
# The {{Ic|<Swallow>}} integration of the [[Wicd | Wicd]] network applet.<br />
## It is currently recommended to set {{Ic|wicd-gtk}} within the <StartupCommand> tag.<br />
# For supported applications, a system tray area for programs to {{Ic|<Dock/>}}.<br />
# A {{Ic|<Clock>}} which displays the date and time in the specified format.<br />
## [[Wikipedia:Man_page|Man]] {{Ic|strftime}} for time and date character conversion specifications.<br />
<br />
<Tray x="0" y="0" height="24"><br />
<TrayButton label="Pattern">root:1</TrayButton><br />
<TaskList/> <br />
<TrayButton label="X">showdesktop</TrayButton><br />
<Pager/><br />
<Swallow name="wicd-gtk"><br />
wicd-client<br />
</Swallow><br />
<Dock/><br />
<Clock format="%a %b %d %l:%M %p"></Clock><br />
</Tray><br />
<br />
==== <Key> ====<br />
* Bind the {{Ic|F1}} key to launch and display the {{Ic|root:3}} menu:<br />
<Key key="F1">root:1</Key><br />
<br />
* Bind the {{Ic|Super+l}} key combination to lock the screen ([http://www.jwz.org/xscreensaver/ XScreenSaver])<br />
<Key mask="S" key="l">exec:xscreensaver-command -lock</Key><br />
<br />
{{Note| Run the {{Ic|xev}} command (owned by {{Pkg|xorg-utils}}) to print the contents of keybound X events to standard output.}}<br />
<br />
==== <Include> ====<br />
Elaborate configurations often {{Ic|<Include>}} files for ease of maintenance and control<br />
<br />
<Key key="F1">root:1</Key><br />
<Include>./.jwmrc-super-hyper-keys</Include> <br />
<Key mask="S" key="l">exec:xscreensaver-command -lock</Key><br />
<br />
Contents of an example {{Ic|~/.jwmrc-super-hyper-keys}}:<br />
<br />
<Key mask="PH" key="t">exec:thunderbird -addressbook</Key><br />
<Key mask="PH" key="h">exec:htop -d 10 -u USER</Key><br />
<Key mask="PH" key="c">exec:catfish --hidden --path=/usr</Key><br />
<br />
==== <RestartCommand> ====<br />
* Call [http://en.wikipedia.org/wiki/Sync_(Unix) sync] to flush file system buffers before dismounting all mounted [[TrueCrypt|TrueCrypt]] volumes when the user logs out of the current X session:<br />
<RestartCommand>sync; truecrypt -d</RestartCommand><br />
* The {{Ic|<RestartCommand>}} complements, or can take the place of {{ic|$HOME/.bash_logout}} for users working in an X environment.<br />
<br />
==== <ShutdownCommand> ====<br />
* Recursively force the removal of the contents of the {{Ic|Trash}} folder when JWM shuts down<br />
<ShutdownCommand>rm -rf ~/.local/share/Trash/*</ShutdownCommand><br />
{{Note|{{Ic|<ShutdownCommand>}} does not appear to behave as expected when using {{Ic|dbus-send}} {{Ic|Shutdown}} or {{Ic|Stop}} commands.}}<br />
<br />
=== Verifying configuration changes ===<br />
$ jwm -p<br />
Runs the native configuration file checking utility of JWM and returns syntax errors (including associated line numbers) present in the configuration file, if any. If the syntax is correct and the configuration file is deemed properly marked up, there is no error code returned. Changes in the configuration file are available immediately after restarting, or refreshing JWM via the {{ic|<Restart/>}} command. There is no need to restart the X server for changes to apply. The {{ic|<Restart/>}} command is made available to the user as a command on the initial root menu. <b>Users are recommended to use this tool in between configuration changes</b> in order to ensure valid markup and a stable environment.<br />
<br />
=== Additional troubleshooting ===<br />
<br />
If X is not already running on {{Ic|tty1}}, {{Ic|Ctrl+Alt+F1}} will allow you to review standard output errors and messages. Man the {{Ic|script}} command for details on how to create a typescript of what is printed to the terminal.<br />
<br />
== Useful tips & tricks ==<br />
<br />
=== Additional applications ===<br />
* [http://palcal.sourceforge.net/ pal] can be run within {{Ic|<Clock>}} to provide calendaring support and todo and event lists features.<br />
<Clock format="%a %b %d %l:%M %p">xterm -hold -e pal</Clock><br />
* [http://www.xfce.org/projects/orage/ Orage] can be run within {{Ic|<Clock>}} to provide calendaring support and todo and event lists features.<br />
* [http://tools.suckless.org/slock slock] can be bound to {{Ic|<Program>}} and/or {{Ic|<Key>}} to provide a featherweight X screen lock solution.<br />
* [http://parcellite.sourceforge.net/ Parcellite] can be swallowed within a tray(s) to serve as a lightweight [http://en.wikipedia.org/wiki/X_Window_System X11] clipboard manager.<br />
* [[Conky | Conky]] can be run within the {{Ic|<StartupCommand>}} to provide the display of various data streams (e.g. battery life and AC adapter status for notebooks).<br />
* [http://pcmanfm.sourceforge.net/ PCMan File Manager] can be used to manage the desktop. The advantage of using PCMan File Manager is that it also doubles as a powerful GUI file manager.<br />
* [http://www.xfce.org/projects/xfdesktop/ Xfce Desktop Manager] (or xfdesktop) can be used to manage the desktop. To circumvent the issue of xfdesktop redrawing over the root desktop window of Conky:<br />
# Review the [http://conky.sourceforge.net/faq.html Conky FAQ] for workarounds in {{ic|~/.conkyrc}} <br />
# {{Ic|<Group>}} Conky and specify the following {{Ic|<Option>}} tags in {{ic|~/.jwmrc}} <br />
<Group><br />
<Class>Conky</Class><br />
<Option>nolist</Option><br />
<Option>noborder</Option><br />
<Option>notitle</Option><br />
<Option>sticky</Option><br />
</Group><br />
* [http://softwarebakery.com/maato/volumeicon.html volumeicon], runned as a {{Ic|<StartupCommand>}}, provides a volume control in the tray, gives quick access to alsamixer by default, and lets the user to choose another mixer if wanted.<br />
<br />
=== Xinitrc startup applications ===<br />
Startup applications can be executed outside of the {{Ic|<StartupCommand>}} by including the appropriate options in {{Ic|~./xinitrc}}<br />
<br />
{{bc|1=#!/bin/bash<br />
<br />
/usr/bin/parcellite -d &<br />
/usr/bin/Thunar --daemon &<br />
/usr/bin/urxvtd -q -f -o &<br />
/usr/bin/xcalib -d :0 /usr/share/color/icc/P221W-Native.icc &<br />
/usr/bin/nvidia-settings -a GPUOverclockingState=1 -a GPU2DClockFreqs=640,655 -a GPU3DClockFreqs=640,655 &<br />
/usr/bin/setxkbmap -option terminate:ctrl_alt_bksp &<br />
export OPERAPLUGINWRAPPER_PRIORITY=0<br />
export OPERA_KEEP_BLOCKED_PLUGIN=0<br />
exec ck-launch-session /usr/bin/jwm}}<br />
<br />
=== Improve <Tasklist> contrast ===<br />
<br />
Change the default {{Ic|<Tasklist>}} settings to match the improved contrast style of the default {{Ic|<MenuStyle>}} and active {{Ic|<WindowStyle>}}<br />
<br />
<TaskListStyle><br />
<strike><ActiveForeground>black</ActiveForeground></strike><br />
<strike><ActiveBackground>gray90:gray70</ActiveBackground></strike><br />
</TaskListStyle><br />
<br />
<TaskListStyle><br />
<ActiveForeground>white</ActiveForeground><br />
<ActiveBackground>#70849d:#2e3a67</ActiveBackground><br />
</TaskListStyle><br />
<br />
=== Power & event management ===<br />
Power and event management commands can be run within {{Ic|<Key>}} and/or {{Ic|<Program>}} tags.<br><br />
=== Logout & Refresh ===<br />
{{Ic|<Exit/>}} (Logout) is the menu command to cleanly log out of the current X server.<br><br />
{{Ic|<Restart/>}} (Refresh) is the menu command tag which reinitializes the configuration file and updates menus and keybindings accordingly.<br> <br />
{{Ic|<Restart/>}} and {{Ic|<Exit/>}} can be bound to the {{Ic|Ctrl+Alt}} modified keys following the example syntax below: <br />
<br />
<Key mask="CA" key="r">exec:jwm -restart</Key><br />
<Key mask="CA" key="e">exec:jwm -exit</Key><br />
<br />
==== Reboot & shutdown ====<br />
A system with [[sudo | sudo]] installed and properly configured can be rebooted with the {{Ic|Restart}} and {{Ic|Poweroff}} menu options.<br />
<Program label="Restart">sudo reboot</Program><br />
<Program label="Poweroff">sudo poweroff</Program><br />
See the [[Allow users to shutdown|ArchWiki entry regarding allowing users to shutdown]] for additional information.<br />
<br />
{{Box Note|For users wishing to power down a system, 'poweroff' or 'shutdown -P now' may be preferable to 'shutdown -h now' as it leaves no doubt as to the intention of the user initiated command.|}}<br />
<br />
System power and event management can also be handled by [[HAL]] via [http://www.freedesktop.org/wiki/Software/dbus dbus-send] message signals without the need to modify the sudoers file.<br />
<Program label="Restart">dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot</Program><br />
<Program label="Shutdown">dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown</Program><br />
<br />
<Key mask="H" key="F4">exec:dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0</Key<br />
<Key mask="H" key="F12>exec:dbus-send --system --print-reply --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate</Key><br />
<br />
System power management can also be handled by [http://www.freedesktop.org/wiki/Software/ConsoleKit ConsoleKit] and [http://upower.freedesktop.org/ UPower] via dbus-send message signals without the need to modify the sudoers file. HAL is not required in this case.<br />
<Program label="Restart">dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart</Program><br />
<Program label="Poweroff">dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop</Program><br />
<br />
<Key mask="H" key="F4">exec:dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend</Key><br />
<Key mask="H" key="F12>exec:dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Hibernate</Key><br />
<br />
=== Custom minimal build ===<br />
Gains in UI response can be gleaned by not using menu icons and by disabling the use of [http://en.wikipedia.org/wiki/Xft Xft] fonts. Further gains can be accomplished by removing support for external libraries with a custom build. The result is also a reduction in resource requirements. A minimal build compiled with Xft support and using Xft fonts is allocated approximately 3 MB of resident and 1.5 MB of shared memory. The same build compiled without Xft support is allocated under 1.5 MB and approximately 1.2 MB, respectively. See the [[Arch Build System]] page for further details.<br />
<br />
==== Minimal [[PKGBUILD]] example ====<br />
<br />
{{hc|PKGBUILD|2=<nowiki><br />
pkgname=jwm<br />
pkgver=2.0.1<br />
pkgrel=100<br />
pkgdesc="A lightweight window manager for the X11 Window System"<br />
arch=('i686' 'x86_64')<br />
url="http://joewing.net/programs/jwm/"<br />
license=('GPL2')<br />
depends=('libx11')<br />
backup=('etc/system.jwmrc')<br />
source=(http://joewing.net/programs/jwm/releases/jwm-$pkgver.tar.bz2)<br />
md5sums=('48f323cd78ea891172b2a61790e8c0ec')<br />
<br />
build() {<br />
cd ${srcdir/${pkgname}-${pkgver}<br />
<br />
./configure --disable-confirm --disable-icons --disable-png \ <br />
--disable-xpm --disable-jpeg --disable-fribidi --disable-xinerama \<br />
--disable-shape --disable-xft --disable-xrender --disable-debug \ <br />
--prefix=/usr --sysconfdir=/etc<br />
<br />
make<br />
make BINDIR=$pkgdir/usr/bin \<br />
MANDIR=$pkgdir/usr/share/man \<br />
SYSCONF=$pkgdir/etc install<br />
}<br />
</nowiki>}}<br />
<br />
=== Minimal font suggestions ===<br />
<br />
{{bc|<nowiki><WindowStyle><br />
<Font>-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*</Font><br />
<br />
<TaskListStyle><br />
<Font>-*-fixed-*-r-*-*-13-*-*-*-*-*-*-*</Font><br />
<br />
<TrayStyle><br />
<Font>-*-fixed-*-r-*-*-13-*-*-*-*-*-*-*</Font></nowiki>}}<br />
<br />
* Man {{Ic|xfontsel}} and review the [[Wikipedia:X_logical_font_description|X Logical Font Description]] article for additional details and pattern descriptions.<br />
<br />
=== Manual tiling support ===<br />
Tiling support can be added to JWM through the use of the [http://github.com/TheWanderer/poor-man-s-tiling-window-manager/tree/master Poor Man's Tiling Window Manager] python script. Assuming {{Ic|manage.py}} is located in a command directory as part of the local {{Ic|PATH}}, various tiling actions can be keybound according to the example below:<br />
<br />
<Key mask="H" key="Up">exec:manage.py swap</Key><br />
<Key mask="H" key="Down">exec:manage.py cycle</Key><br />
<Key mask="H" key="Left">exec:manage.py left</Key><br />
<Key mask="H" key="Right">exec:manage.py right</Key><br />
<br />
{{Note|Run the {{Ic|env}} command to list the modified environments of the current user.}}<br />
<br />
== Package removal ==<br />
<br />
To remove the JWM package while retaining its configuration files and dependencies: <br />
# pacman -R jwm<br />
To remove the JWM package and its configuration files while retaining its dependencies: <br />
# pacman -Rn jwm<br />
To remove the JWM package and dependencies not required by any other packages while retaining its configuration files: <br />
# pacman -Rs jwm<br />
To remove the JWM package, its configuration files and dependencies not required by any other packages: <br />
# pacman -Rns jwm<br />
<br />
{{Note|[[pacman]] will not [[Pacman#Removing_packages|remove]] configuration files outside of the defaults that were created during package installation. This includes {{ic|~/.jwmrc}}}}<br />
<br />
== Additional resources ==<br />
* [http://joewing.net/programs/jwm/index.shtml Joe's Window Manager] - Official Site<br />
<br />
Examples of what can be accomplished with a bit of creativity and substitution can be found at:<br />
* [http://puppylinux.org/wikka/JoesWindowManager PuppyLinux : JoesWindowManager] <br />
* [http://www.murga-linux.com/puppy/viewtopic.php?t=23260 Puppy Linux JWM Themes Exchange]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Touchscreen&diff=240742Touchscreen2012-12-17T14:53:25Z<p>Anonymous user: /* Available X11 drivers */</p>
<hr />
<div>[[zh-CN:Touchscreen]]<br />
[[Category:Input devices]]<br />
{{Merge|Calibrating Touchscreen}}<br />
{{out of date}}<br />
<br />
If you ever tried to set up a touchscreen device in linux, you might have noticed that it's either working out of the box (besides some calibration) or is very tedious, especially when it isn't supported by the kernel.<br />
<br />
== Introduction ==<br />
This article assumes that your touchscreen device is supported by the kernel (e.g. by the usbtouchscreen module).<br />
That means there exists a /dev/input/event* node for your device. Check out<br />
less /proc/bus/input/devices<br />
to see if your device is listed or try<br />
cat /dev/input/event? # replace ? with the event numbers<br />
for every of your event nodes while touching the display.<br />
<br />
If you found the corresponding node, it's likely that you will be able to get the device working.<br />
<br />
== Available X11 drivers ==<br />
There are a lot of touchscreen input drivers for X11 out there. The most common ones are in the ''extra'' repository:<br />
* {{AUR|xf86-input-evtouch}} (in AUR)<br />
* {{Pkg|xf86-input-elographics}}<br />
<br />
Less common drivers, not contained in the repository, are:<br />
* xf86-input-magictouch<br />
* xf86-input-mutouch<br />
* xf86-input-plpevtch<br />
* xf86-input-palmax<br />
* xf86-input-elo2300 (*)<br />
* xf86-input-microtouch (*)<br />
* xf86-input-penmount (*)<br />
(Note: (*) are deprecated and thus were removed from the repos [https://www.archlinux.org/news/333/])<br />
<br />
Some for some devices proprietary drivers exists as well, as e.g. {{AUR|xf86-input-egalax}} but it's recommended to try the open source drivers first.<br />
<br />
Depending on your touchscreen device choose an appropriated driver.<br />
<br />
The evtouch input drivers support a wide variety of touchscreens from different vendors like Fujitsu, eGalax, IDEACO, ITM, Touchkit.<br />
{{Box YELLOW||Since I've only got one touchscreen device (USB 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen) which works with the evtouch driver I confine myself to this driver. Perhaps someone can add details about how to set up other drivers.}}<br />
<br />
== evtouch drivers ==<br />
<br />
First, install [https://aur.archlinux.org/packages.php?ID=22758 xf86-input-evtouch] from the [[AUR]].<br />
<br />
This package already includes a set of udev rules to create a permanent node for your input device in {{ic|/etc/udev/rules.d/69-touchscreen.rules}}.<br />
<br />
If everything worked fine so far, you should have a symlink {{ic|/dev/input/evtouch_event}} to your input device. If not, your touch device might not work with evtouch, but you can add a custom udev rule for your device and try it anyway.<br />
<br />
In case you configured X server to use HAL hot-plugging, the touchscreen should work now after restarting the X server.<br />
Else you have to add the corresponding "InputDevice" section to xorg.conf as described on [http://www.conan.de/touchscreen/evtouch.html evtouch's webside].<br />
<br />
=== Calibration ===<br />
It's assumed that you have the touchscreen working now in X11 and that you're using hot-plugging for configuration. If you manually set up your input devices and thus switched off hot-plugging, you have to add the X11 options of this section to the xorg.conf file instead (see [http://www.conan.de/touchscreen/evtouch.html evtouch's webside] for details again).<br />
<br />
==== Rough calibration ====<br />
For touchscreen calibration the {{AUR|xf86-input-evtouch}} package includes a calibration program.<br />
sudo /usr/lib/xf86-input-evtouch/calibrate.sh<br />
No matter whether you started it from TTY or X11, this will start a new X server and bring up a white screen. Move the pen around the display border, along all edges a view times to get the minimum and maximum coordinates. Press {{Keypress|Return}}. Then tab exactly on the red cross. The next cross will turn red, touch it again and repeat this procedure for all crosses.<br />
When your done you should return to command line. The calibration data was written to {{ic|/etc/evtouch/config}}.<br />
<br />
To restore the calibration data after booting add evtouch_config to the DAEMONS variable in {{ic|/etc/rc.conf}}<br />
DAEMONS=( ... evtouch_config ... )<br />
This will read the calibration data from {{ic|/etc/evtouch/config}} and set the corresponding X options using HAL.<br />
<br />
You can now (re)start your X server and enjoy your calibrated touchscreen.<br />
<br />
==== Fine calibration (optional) ====<br />
If your not satisfied with the calibration you can do further tweaking by changing the values in {{ic|/etc/evtouch/config}} manually.<br />
MINX, MINY, MAXX, MAXY are the minimal and maximal coordinates and the nine X?,Y? pairs are the coordinates of the calibration points in the order you touched them.<br />
<br />
==== Correct orientation of the coordinate system ====<br />
The 9 point calibration assures that the coordinate axis are orientated in a way that your cursor moves to the right when your pen does (due to the signs of the X,Y pairs). In case you nevertheless notice your cursor is moving in the wrong direction you can add<br />
hal_set swapx 1<br />
hal_set swapy 1<br />
to /etc/rc.d/evtouch_config (of course this will get overwritten when you upgrade the package)<br />
<br />
When X and Y axis are swaped and your touchscreen uses the usbtouchscreen kernel module you can add the following line to {{ic|/etc/modprobe.d/modprobe.conf}}<br />
options usbtouchscreen swap_xy=1<br />
<br />
Correct orientation can also be done using scripts which utilize xrandr and xinput.<br />
''This was used and tested on a thinkpad x220t.''<br />
A shell script to make the rotation (portrait view) and fix the coordinate system for the touch screen would be<br />
#!/bin/bash<br />
xrandr --screen 0 -o right<br />
xinput set-prop "Wacom ISDv4 E6 Pen" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1<br />
''exchanging "Wacom ISDv4 E6 Pen" with your input device from''<br />
xinput list<br />
The shell script should be made executable by<br />
chmod +x nameofscript.sh<br />
A script to change orientation back would be <br />
#!/bin/bash<br />
xrandr --screen 0 -o normal <br />
xinput set-prop "Wacom ISDv4 E6 Pen" --type=float "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1<br />
<br />
==== Make the calibration persistent to unplugging or suspending ====<br />
You may notice that after unplugging the touch device and replugging it while the X server is running, your calibration is messed up. The same happens when you resume from hibernation or suspend.<br />
<br />
The reason is, that your calibration setting get set only once, at boot time by evtouch_config. When you unplug it the settings are removed when evtouch is unloaded.<br />
On plugging it in HAL sets the default settings as specified in {{ic|/usr/share/hal/fdi/policy/20thirdparty/50-....fdi}} and loads the evtouch driver, which reads the calibration settings into its memory. Therefore it doesn't work to simply call evtouch_config while the X window system is running.<br />
<br />
The only way I found to make the calibration settings survive a replug-in or a hibernation is to set them directly in the HAL policy file.<br />
The following command converts the calibration settings to HAL policy format and prints the result on stdout.<br />
awk -F= '{print " <merge key=\"input.x11_options."tolower($1)"\" type=\"string\">"$2"</merge>"}' /etc/evtouch/config<br />
Replace the corresponding merge commands in the policy file ({{ic|/usr/share/hal/fdi/policy/20thirdparty/50-....fdi}}) corresponding to your device.<br />
<br />
Of course you do not need the evtouch_config daemon any more when you use this method, so you can remove it from {{ic|/etc/rc.conf}}.<br />
<br />
'''Note:''' when you have problems with right clicking or drag and drop you can try tweaking the settings ([http://www.conan.de/touchscreen/evtouch.html] [http://www.conan.de/touchscreen/libtouch.html]) in the fdi file. You can also set the swapx, swapy options here in case you need them.<br />
<br />
'''WARNING:''' The fdi files will be overwritten when you upgrade {{AUR|xf86-input-evtouch}}, so '''all your changes will be lost'''.<br />
<br />
== Using a touchscreen in a multi-head setup ==<br />
To use multiple displays (some of which are touchscreens), you need to tell Xorg the mapping between the touch surface and the screen. <br />
<br />
This can be done very easily with xinput:<br />
<br />
Take for example the setup of having a wacom tablet and an external monitor. When we type xrandr we get a list of our two displays:<br />
{{bc|<br />
$ xrandr<br />
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 8192 x 8192<br />
LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm<br />
1024x768 60.0*+<br />
800x600 60.3 56.2 <br />
640x480 59.9 <br />
VGA1 connected 1920x1080+1024+0 (normal left inverted right x axis y axis) 477mm x 268mm<br />
1920x1080 60.0*+<br />
1600x1200 60.0 <br />
1680x1050 60.0 <br />
1680x945 60.0 <br />
}}<br />
<br />
You see we have two displays here. LVDS1 and VGA1. LVDS1 is the display internal to the tablet, and VGA1 is the external monitor. We wish to map our stylus input to LVDS1. So we have to find the ID of the stylus input:<br />
{{bc|<br />
$ xinput --list<br />
⎡ Virtual core pointer id&#61;2 [master pointer (3)]<br />
⎜ ↳ Virtual core XTEST pointer id&#61;4 [slave pointer (2)]<br />
⎜ ↳ QUANTA OpticalTouchScreen id&#61;9 [slave pointer (2)]<br />
⎜ ↳ TPPS/2 IBM TrackPoint id&#61;11 [slave pointer (2)]<br />
⎜ ↳ Serial Wacom Tablet WACf004 stylus id&#61;13 [slave pointer (2)]<br />
⎜ ↳ Serial Wacom Tablet WACf004 eraser id&#61;14 [slave pointer (2)]<br />
⎣ Virtual core keyboard id&#61;3 [master keyboard (2)]<br />
↳ Virtual core XTEST keyboard id&#61;5 [slave keyboard (3)]<br />
↳ Power Button id&#61;6 [slave keyboard (3)]<br />
↳ Video Bus id&#61;7 [slave keyboard (3)]<br />
↳ Sleep Button id&#61;8 [slave keyboard (3)]<br />
↳ AT Translated Set 2 keyboard id&#61;10 [slave keyboard (3)]<br />
↳ ThinkPad Extra Buttons id&#61;12 [slave keyboard (3)]<br />
}}<br />
<br />
We see that we have two stylus inputs who's ID's are 13 and 14. We now need to simply map our inputs to our output like so:<br />
<br />
{{bc|<br />
<br />
xinput --map-to-output 13 LVDS1<br />
xinput --map-to-output 14 LVDS1<br />
}}<br />
<br />
More info can be found at [[Calibrating_Touchscreen]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Syslog-ng&diff=220764Syslog-ng2012-08-31T13:37:13Z<p>Anonymous user: /* Tips and Tricks */</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Daemons and system services]]<br />
==Overview==<br />
syslog-ng takes incoming log messages from defined '[[Syslog-ng#Sources|sources]]' and forwards them to the appropriate [[Syslog-ng#Destinations|destinations]], based on powerful [[Syslog-ng#Creating Filters for Messages|filter]] directives. In a typical simple set-up, syslog-ng will read messages from three sources:<br />
# the default {{ic|/dev/log}} device, where most logs are sent<br />
# syslog-ng "internal" log messages<br />
# {{ic|/proc/kmsg}} kernel messages<br />
<br />
Sources are defined using the "source" directive. These incoming messages are then filtered according to defined filters ("filter" keyword), i.e. according to originating program or log level, and sent to the appropriate "destination". Destinations include log files (e.g. {{ic|/var/log/messages.log}}), printing messages on a console and remote servers. The pivotal function is [[Syslog-ng#Log Paths|log]]. This function defines which filters should be applied to a certain source, and where the resulting messages should be sent to.<br />
<br />
==Example configuration file==<br />
For a quick start, here there is a classic configuration file slightly modified from the one in the <br />
[http://www.gentoo.org/doc/en/security/security-handbook.xml?part=1&chap=3#doc_chap4 Gentoo Security Guide], the default {{ic|syslog-ng.conf}} provided with the source distribution, and my own personal preferences. This example includes logging from a chrooted bind source and logging to a remote server destination.<br />
<br />
{{hc|/etc/syslog-ng/syslog-ng.conf|<nowiki>@version: 3.0<br />
# For a description of syslog-ng configuration file directives, please read<br />
# the syslog-ng Administrator's guide at:<br />
#<br />
# http://www.balabit.com/dl/html/syslog-ng-admin-guide_en.html/bk01-toc.html<br />
#<br />
<br />
##########################################################<br />
# OPTIONS<br />
#<br />
options {<br />
create_dirs(yes);<br />
# use_dns(no);<br />
use_dns(persist_only);<br />
dns_cache_hosts(/etc/hosts);<br />
dns_cache_expire(87600);<br />
<br />
# disable the chained hostname format in logs (default is enabled)<br />
chain_hostnames(0);<br />
<br />
# the number of lines fitting in the output queue<br />
log_fifo_size(512);<br />
<br />
# enable or disable directory creation for destination files<br />
create_dirs(yes);<br />
<br />
# default owner, group, and permissions for log files (defaults are 0, 0, 0600)<br />
owner(root);<br />
group(log);<br />
perm(0640);<br />
<br />
# default owner, group, and permissions for created directories (defaults are 0, 0, 0700)<br />
dir_owner(root);<br />
dir_group(root);<br />
dir_perm(0740); <br />
<br />
# the time to wait before a died connection is re-established (default is 60)<br />
time_reopen(10);<br />
<br />
# the time to wait before an idle destination file is closed (default is 60)<br />
time_reap(360);<br />
<br />
# default no<br />
use_fqdn(no);<br />
<br />
keep_hostname(yes);<br />
<br />
# disable stats<br />
stats_freq(0);<br />
}; <br />
<br />
<br />
##########################################################<br />
# SOURCES<br />
#<br />
source local_src {<br />
# message generated by syslog-ng<br />
internal();<br />
<br />
# standard Linux log source (this is the default place for the syslog() function to send logs to)<br />
unix-stream("/dev/log");<br />
<br />
# from a chrooted bind install<br />
unix-stream("/var/named/chroot/dev/log");<br />
<br />
# messages from the kernel<br />
file("/proc/kmsg" program_override("kernel: "));<br />
};<br />
<br />
# source s_syslog { syslog(ip(127.0.0.1) port(1999) transport("tcp")); };<br />
# source s_pipe { pipe("/dev/pipe" pad_size(2048)); };<br />
<br />
<br />
<br />
##########################################################<br />
# DESTINATIONS<br />
#<br />
destination d_file { file("/var/log/$YEAR.$MONTH.$DAY/everything.log" template("$HOUR:$MIN:$SEC [$LEVEL] [$FACILITY] [$PROGRAM] $MSG\n") template_escape(no)); };<br />
<br />
destination d_askapacheloghost {<br />
tcp("askapacheloghost.dyndns.org" port(65514));<br />
udp("askapacheloghost.dyndns.org" port(65514));<br />
udp("askapacheloghost.dyndns.org" port(514));<br />
};<br />
<br />
destination d_authlog { file("/var/log/auth.log"); };<br />
destination d_cron { file("/var/log/cron.log"); };<br />
destination d_daemon { file("/var/log/daemon.log"); };<br />
destination d_kern { file("/var/log/kern.log"); };<br />
destination d_lpr { file("/var/log/lpr.log"); };<br />
destination d_user { file("/var/log/user.log"); };<br />
destination d_uucp { file("/var/log/uucp.log"); };<br />
destination d_ppp { file("/var/log/ppp.log"); };<br />
<br />
destination d_mail { file("/var/log/mail.log"); };<br />
destination d_mailinfo { file("/var/log/mail.info"); };<br />
destination d_mailwarn { file("/var/log/mail.warn"); };<br />
destination d_mailerr { file("/var/log/mail.err"); };<br />
<br />
destination d_newscrit { file("/var/log/news/news.crit"); };<br />
destination d_newserr { file("/var/log/news/news.err"); };<br />
destination d_newsnotice { file("/var/log/news/news.notice"); };<br />
<br />
destination d_debug { file("/var/log/debug"); };<br />
destination d_messages { file("/var/log/messages"); };<br />
<br />
destination d_everything { file("/var/log/everything"); };<br />
destination d_console { usertty("root"); };<br />
destination d_console_all { file("/dev/tty12"); };<br />
destination d_loghost { udp("loghost" port(999)); };<br />
destination d_xconsole { pipe("/dev/xconsole"); };<br />
<br />
<br />
<br />
##########################################################<br />
# FILTERS<br />
#<br />
filter f_auth { facility(auth); };<br />
filter f_authpriv { facility(auth, authpriv); }; <br />
filter f_syslog { program(syslog-ng); };<br />
filter f_cron { facility(cron); };<br />
filter f_daemon { facility(daemon); };<br />
filter f_kernel { facility(kern) and not filter(f_iptables); };<br />
filter f_lpr { facility(lpr); };<br />
filter f_mail { facility(mail); };<br />
filter f_news { facility(news); };<br />
filter f_user { facility(user); };<br />
filter f_uucp { facility(cron); };<br />
filter f_news { facility(news); };<br />
filter f_ppp { facility(local2); };<br />
filter f_debug { not facility(auth, authpriv, news, mail); };<br />
filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not filter(f_iptables); };<br />
filter f_everything { level(debug..emerg); };<br />
filter f_emergency { level(emerg); };<br />
filter f_info { level(info); };<br />
filter f_notice { level(notice); };<br />
filter f_warn { level(warn); };<br />
filter f_crit { level(crit); };<br />
filter f_err { level(err); };<br />
filter f_iptables { match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); };<br />
filter f_acpid { program("acpid"); };<br />
filter f_failed { match("failed" value(MESSAGE)); };<br />
filter f_denied { match("denied" value(MESSAGE)); };<br />
filter f_noshorewall { not match("Shorewall" value(MESSAGE)); }; # Filter everything except regex keyword Shorewall<br />
filter f_shorewall { match("Shorewall" value(MESSAGE)); }; # Filter regex keyword Shorewall<br />
<br />
<br />
<br />
<br />
##########################################################<br />
# LOG<br />
#<br />
log { source(local_src); destination(d_askapacheloghost); };<br />
log { source(local_src); destination(d_file); };<br />
<br />
log { source(local_src); filter(f_authpriv); destination(d_authlog); };<br />
log { source(local_src); filter(f_user); destination(d_user); };<br />
<br />
log { source(local_src); filter(f_cron); destination(d_cron); };<br />
log { source(local_src); filter(f_daemon); destination(d_daemon); };<br />
log { source(local_src); filter(f_kern); destination(d_kern); };<br />
log { source(local_src); filter(f_lpr); destination(d_lpr); };<br />
log { source(local_src); filter(f_mail); destination(d_mail); };<br />
log { source(local_src); filter(f_uucp); destination(d_uucp); };<br />
log { source(local_src); filter(f_mail); filter(f_info); destination(d_mailinfo); };<br />
log { source(local_src); filter(f_mail); filter(f_warn); destination(d_mailwarn); };<br />
log { source(local_src); filter(f_mail); filter(f_err); destination(d_mailerr); };<br />
log { source(local_src); filter(f_news); filter(f_crit); destination(d_newscrit); };<br />
log { source(local_src); filter(f_news); filter(f_err); destination(d_newserr); };<br />
log { source(local_src); filter(f_news); filter(f_notice); destination(d_newsnotice); };<br />
log { source(local_src); filter(f_debug); destination(d_debug); };<br />
log { source(local_src); filter(f_messages); destination(d_messages); };<br />
log { source(local_src); filter(f_ppp); destination(d_ppp); };<br />
log { source(local_src); destination(d_messages); };<br />
<br />
#default log<br />
log { source(local_src); destination(console_all); };</nowiki><br />
}}<br />
<br />
== Sources ==<br />
syslog-ng receives log messages from a source. To define a source you should follow the following syntax:<br />
source <identifier> { source-driver(params); source-driver(params); ... };<br />
<br />
You can look at the identifiers and source-drivers in the [http://www.balabit.com/support/documentation/ official manuals]. <br />
This will follow the manual to explain the configuration file above. The unix-stream() source-driver opens the given AF_UNIX<br />
[http://en.wikipedia.org/wiki/Berkeley_sockets socket] and starts listening on it for messages. <br />
The internal() source-driver gets messages generated by syslog-ng.<br />
<br />
Therefore, the following means: {{ic|src}} gets messages from the {{ic|/dev/log}} socket and syslog-ng.<br />
source src { unix-stream("/dev/log"); internal(); };<br />
<br />
The kernel sends log messages to {{ic|/proc/kmsg}} and the file() driver reads log messages from files. Therefore, the following means:<br />
kernsrc gets messages from file {{ic|/proc/kmsg}}<br />
source kernsrc { file("/proc/kmsg"); };<br />
<br />
<br />
In the default configuration file after emerging syslog-ng, the source is defined as:<br />
source src { unix-stream("/dev/log"); internal(); pipe("/proc/kmsg"); };<br />
<br />
Reading messages by {{ic|pipe("/proc/kmsg")}} gives a better performance but because it opens its argument in read-write mode can be a security<br />
hazard as the [http://www.balabit.com/sites/default/files/documents/syslog-ng-v3.0-guide-admin-en.html/index.html-single.html#configuring_sources_pipe syslog-ng admin guide] states in section 3.3.3:<br />
<br />
"Pipe is very similar to the file() driver, but there are a few differences, for example pipe() opens its argument in read-write mode, therefore it is not recommended to be used on special files like {{ic|/proc/kmsg}}." (You can follow this discussion in [http://forums.gentoo.org/viewtopic-t-558161.html this post].)<br />
<br />
To open a port to read data from a remote server a source must be defined with this syntax:<br />
source s_net { udp(); };<br />
<br />
for UDP or<br />
source s_net { tcp(); };<br />
<br />
to receive log messages via TCP. Both listen on port 514.<br />
<br />
== Destinations ==<br />
In syslog-ng, log messages are sent to files. The syntax is very similar to sources:<br />
destination <identifier> {destination-driver(params); destination-driver(params); ... };<br />
<br />
You will be normally logging to a file, but you could log to a different destination-driver: pipe, Unix socket, TCP-UDP ports,<br />
terminals or to specific programs. Therefore, this means sending authlog messages to {{ic|/var/log/auth.log}}:<br />
destination authlog { file("/var/log/auth.log"); };<br />
<br />
If the user is logged in, {{ic|usertty()}} sends messages to the terminal of the specified user. If you want to send console messages<br />
to root's terminal if it is logged in:<br />
destination console { usertty("root"); };<br />
<br />
Messages can be sent to a pipe with {{ic|pipe()}}. The following sends xconsole messages to the pipe {{ic|/dev/xconsole}}.<br />
This needs some more configuration, so you could look at the sub-section xconsole below.<br />
destination xconsole { pipe("/dev/xconsole"); };<br />
<br />
To send messages on the network, use {{ic|udp()}}. The following will send your log data out to another server.<br />
destination remote_server { udp("10.0.0.2" port(514)); };<br />
<br />
== Creating Filters for Messages ==<br />
The syntax for the filter statement is:<br />
filter <identifier> { expression; };<br />
<br />
Functions can be used in the expression, such as the function {{ic|facility()}} which selects messages based on the facility codes. <br />
The Linux kernel has a few facilities you can use for logging. Each facility has a log-level; where debug is the most verbose,<br />
and panic only shows serious errors. You can find the facilities, log levels and priority names in {{ic|/usr/include/sys/syslog.h}}.<br />
To filter those messages coming from authorization, like <br />
''<nowiki>May 11 23:42:31 mimosinnet su(pam_unix)[18569]: session opened for user root by (uid=1000)</nowiki>'', use the following:<br />
filter f_auth { facility(auth); };<br />
<br />
<br />
The facility expression can use the boolean operators {{ic|and}}, {{ic|or}}, and {{ic|not}}, so the following filter<br />
selects those messages not coming from authorization, network news or mail:<br />
filter f_debug { not facility(auth, authpriv, news, mail); };<br />
<br />
The function {{ic|level()}} selects messages based on its priority level, so if you want to select informational levels:<br />
filter f_info { level(info); };<br />
<br />
Functions and boolean operators can be combined in more complex expressions. The following line filters messages with a priority level from<br />
informational to warning not coming from auth, authpriv, mail and news facilities:<br />
filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news); };<br />
<br />
Messages can also be selected by matching a regular expression in the message with the function {{ic|match("regex" value("keyword"))}}. For example:<br />
filter f_failed { match("regex" value("failed")); };<br />
<br />
To filter messages received from a particular remote host, the {{ic|host()}} function must be used:<br />
filter f_host { host( "192.168.1.1" ); };<br />
<br />
== Log Paths ==<br />
syslog-ng connects sources, filters and destinations with log statements. The syntax is:<br />
log {source(s1); source(s2); ...<br />
filter(f1); filter(f2); ...<br />
destination(d1); destination(d2); ...<br />
flags(flag1[, flag2...]); };<br />
<br />
The following for example sends messages from {{ic|src}} source to {{ic|mailinfo}} destination filtered by {{ic|f_info}} filter.<br />
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); };<br />
<br />
<br />
== Tips and Tricks ==<br />
After understanding the logic behind syslog-ng, many possible and complex configuration are possible. Here there are some examples.<br />
<br />
=== Have syslog-ng reload the configuration file ===<br />
<br />
The {{ic|/etc/rc.d/syslog-ng}} script can make the syslog-ng re-evaluate the configuration file. You can do so manually by sending a {{ic|SIGHUP}} to the process, or call the reload function in the script:<br />
# /etc/rc.d/syslog-ng reload<br />
<br />
=== Failover Logging to Remote Host ===<br />
This setup shows how to send the default unencrypted syslog packets across both TCP and UDP protocols, using the standard port (514) and an alternate port. This is sending the same output to the same machine 4 different ways to try and make sure packets make it. Mostly useful if you are debugging a remote server that fails to reboot. The different ports and protocols are to make it past any firewall filters or other network problems. Also useful for port-forwarding and using tunnels. Something like this setup is ideal to tunnel across an ssh connection that the prone-to-failover host initiates through a reverse connection.<br />
<br />
{{bc|<nowiki>#sending to a remote syslog server on TCP and UDP ports (not encrypted)<br />
destination askapache_failover_loghost {<br />
tcp("208.86.158.195" port(25214));<br />
udp("208.86.158.195" port(25214));<br />
udp("mysyslog1.dyndns.org" port(514));<br />
};<br />
log { <br />
source(src); <br />
destination(askapache_failover_loghost);<br />
};</nowiki><br />
}}<br />
<br />
And then on the loghost receiving these logs:<br />
<br />
{{bc|<nowiki>#a USB redirected console for flexible viewing<br />
destination debugging_console {<br />
file("/dev/ttyU1");<br />
};<br />
<br />
# listens on IP addresses and ports, sets the incoming settings<br />
source prone_to_failover_host {<br />
tcp(ip(208.86.158.195),port(25214));<br />
udp(ip(208.86.158.195) port(25214));<br />
<br />
udp(default-facility(syslog) default-priority(emerg));<br />
tcp(default-facility(syslog) default-priority(emerg));<br />
}<br />
<br />
# log it<br />
log {<br />
source(prone_to_failover_host); <br />
destination(debugging_console);<br />
};</nowiki><br />
}}<br />
<br />
=== Move log to another file ===<br />
In order to move some log from {{ic|/var/log/messages}} to another file:<br />
<br />
{{bc|<nowiki>#sshd configuration<br />
destination ssh { file("/var/log/ssh.log"); };<br />
filter f_ssh { program("sshd"); };<br />
log { source(src); filter(f_ssh); destination(ssh); };</nowiki><br />
}}<br />
<br />
=== Configuring as a loghost ===<br />
Configuring your system to be a loghost is quite simple. Drop the following into your configuration, and create the needed directory.<br />
With this simple configuration, log filenames will be based on the [[Wikipedia:FQDN|FQDN]] of the remote host,<br />
and located in {{ic|/var/log/remote/}}. After creating the remote directory, reload your syslog-ng configuration.<br />
<br />
{{bc|<nowiki>source net { udp(); };<br />
destination remote { file("/var/log/remote/$FULLHOST"); };<br />
log { source(net); destination(remote); };</nowiki><br />
}}<br />
<br />
=== Improve Performance ===<br />
syslog-ng's performance can be improved in different ways:<br />
<br />
==== Write every so often ====<br />
It seems that the old {{ic|sync(X)}} '''option''' is called {{ic|flush_lines(X)}} now, where the writing to the file is buffered for {{ic|X}} lines. Default is 0 (no buffering).<br />
<br />
==== Avoid redundant processing and disk space ====<br />
A single log message can be sent to different log files several times. For example, in the initial configuration file, we have the following definitions:<br />
<br />
{{bc|<nowiki>destination cron { file("/var/log/cron.log"); };<br />
destination messages { file("/var/log/messages"); };<br />
filter f_cron { facility(cron); };<br />
filter f_messages { level(info..warn) <br />
and not facility(auth, authpriv, mail, news); };<br />
log { source(src); filter(f_cron); destination(cron); };<br />
log { source(src); filter(f_messages); destination(messages); };</nowiki><br />
}}<br />
<br />
The same message from the {{ic|cron}} facility will end up in both the {{ic|cron.log}} and {{ic|messages}} files. To change this behavior we can use the {{ic|final}} flag, <br />
ending up further processing with the message. Therefore, in this example, if we want messages from the {{ic|cron}} facility not ending up in the<br />
messages file, we should change the cron's log sentence by:<br />
<br />
log { source(src); filter(f_cron); destination(cron); flags(final); };<br />
<br />
another way is to exclude the {{ic|cron}} facility from {{ic|f_messages}} filter:<br />
filter f_messages { level(info..warn) and not facility(cron, auth, authpriv, mail, news); };<br />
<br />
=== PostgreSQL Destination ===<br />
This section will use two roles: {{ic|syslog}} and {{ic|logwriter}}. {{ic|syslog}} will be the administrator of the database {{ic|syslog}} and {{ic|logwriter}} will only be able to add records to the {{ic|logs}} table.<br />
<br />
No longer needed to create table for logs. syslog-ng will create automatically.<br />
psql -U postgres<br />
<br />
postgres=# CREATE ROLE syslog WITH LOGIN;<br />
postgres=# \password syslog # Using the \password function is secure because<br />
postgres=# \password logwriter # the password isn't saved in history.<br />
postgres=# CREATE DATABASE syslog OWNER syslog;<br />
postgres=# \q # You're done here for the moment<br />
<br />
Edit {{ic|pg_hba.conf}} to allow {{ic|syslog}} and {{ic|logwriter}} to establish a connection to PostgreSQL.<br />
<br />
{{hc|/var/lib/postgresql/8.4/data/pg_hba.conf|<br />
# TYPE DATABASE USER CIDR-ADDRESS METHOD<br />
<br />
host syslog logwriter 192.168.0.1/24 md5<br />
host syslog syslog 192.168.0.10/32 md5<br />
}}<br />
<br />
Tell PostgreSQL to reload the configuration files:<br />
/etc/rc.d/postgresql-8.4 reload<br />
<br />
Edit {{ic|/etc/syslog-ng.conf}} so that it knows where and how to write to PostgreSQL. syslog-ng will utilize the {{ic|logwriter}} role.<br />
<br />
{{bc|<nowiki>...<br />
#<br />
# SQL logging support<br />
#<br />
<br />
destination d_pgsql {<br />
sql(type(pgsql)<br />
host("127.0.0.1") username("logwriter") password("password")<br />
database("syslog")<br />
table("logs_${HOST}_${R_YEAR}${R_MONTH}${R_DAY}") #or whatever you want, example ${HOST}" for hosts, ${LEVEL}" for levels.. etc<br />
columns("datetime timestamp with time zone", "host varchar(32)", "program varchar(16)", "pid varchar(16)", "message varchar(200)")<br />
values("$R_ISODATE", "$HOST", "$PROGRAM", "$PID", "$MSG")<br />
indexes("datetime", "host", "program", "pid", "message"));<br />
};<br />
<br />
<br />
log { source(src); destination(d_pgsql); };</nowiki><br />
}}<br />
<br />
Finally, restart syslog-ng.<br />
/etc/rc.d/syslog-ng restart<br />
<br />
And check to see if things are being logged.<br />
psql -U logwriter -d syslog<br />
syslog=> SELECT * FROM <your table name> ORDER BY datetime DESC LIMIT 10;<br />
<br />
=== ISO 8601 timestamps ===<br />
'''Before''' :<br />
#logger These timestamps are not optimal.<br />
#tail -n 1 /var/log/messages.log<br />
Feb 18 14:25:01 hostname logger: These timestamps are not optimal.<br />
#<br />
<br />
Add {{ic|ts_format(iso);}} to {{ic|/etc/syslog-ng/syslog-ng.conf}} in the options section. Example:<br />
options {<br />
stats_freq (0);<br />
flush_lines (0);<br />
time_reopen (10);<br />
log_fifo_size (1000);<br />
long_hostnames(off); <br />
use_dns (no);<br />
use_fqdn (no);<br />
create_dirs (no);<br />
keep_hostname (yes);<br />
perm(0640);<br />
group("log");<br />
ts_format(iso); #make ISO-8601 timestamps<br />
};<br />
<br />
Then:<br />
# /etc/rc.d/syslog-ng reload<br />
<br />
'''After''' :<br />
#logger Now THAT is a timestamp!<br />
#tail -n 2 /var/log/messages.log<br />
Feb 18 14:25:01 hostname logger: These timestamps are not optimal.<br />
2010-02-18T20:23:58-05:00 electron logger: Now THAT is a timestamp!<br />
#<br />
<br />
=== RFC 3339 timestamps ===<br />
Same as above, except use {{ic|rfc3339}} instead of {{ic|iso}} for {{ic|ts_format}}<br />
<br />
== See Also ==<br />
* [[Netconsole]] A kernel module that sends all kernel log messages (i.e. dmesg) over the network to another computer, without involving user space (e.g. syslogd).<br />
<br />
== External Links ==<br />
* [http://www.balabit.com/network-security/syslog-ng/opensource-logging-system/overview syslog-ng OSE Project Page]<br />
* [http://www.balabit.com/support/documentation/ Portal to syslog-ng Documentation]<br />
** [http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-v3.2-guide-admin-en.html/index.html-single.html The syslog-ng 3.2 Administrator Guide]<br />
** [http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-v3.2-guide-admin-en.html/syslog-ng-parameter-index.html List of syslog-ng 3.2 Parameters]<br />
** [http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-v3.2-guide-admin-en.html/reference_macros.html List of syslog-ng 3.2 Macros]<br />
* [http://freshmeat.net/projects/syslog-ng/ syslog-ng Project Page on Freshmeat]<br />
* [http://en.gentoo-wiki.com/wiki/Syslog-ng Gentoo syslog-ng wiki]<br />
* [http://www.gentoo.org/doc/en/security/security-handbook.xml?part=1&chap=3 Gentoo Security Handbook on Logging]<br />
* [http://www.kdough.net/docs/syslog_postgresql/ Syslog Logging with PostgreSQL HOWTO]<br />
* [http://en.wikipedia.org/wiki/ISO_8601 ISO_8601] Wikipedia page for ISO 8601<br />
* [http://tools.ietf.org/html/rfc3164 RFC 3164] - The BSD syslog Protocol<br />
* [http://tools.ietf.org/html/rfc3164 RFC 5424] - The Syslog Protocol<br />
** [http://tools.ietf.org/html/rfc5425 RFC 5425] - Transport Layer Security (TLS) Transport Mapping for Syslog<br />
** [http://tools.ietf.org/html/rfc5425 RFC 5426] - Transmission of Syslog Messages over UDP<br />
** [http://tools.ietf.org/html/rfc5425 RFC 5427] - Textual Conventions for Syslog Management<br />
** [http://tools.ietf.org/html/rfc5425 RFC 5428] - MIB for PacketCable and IPCablecom-Compliant Devices<br />
* [http://tools.ietf.org/html/rfc3339 RFC 3339] - Date and Time on the Internet: Timestamps</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Udev&diff=210930Udev2012-06-22T18:32:24Z<p>Anonymous user: /* Other */</p>
<hr />
<div>[[Category:Hardware detection and troubleshooting]]<br />
[[cs:Udev]]<br />
[[es:Udev]]<br />
[[it:Udev]]<br />
[[ru:Udev]]<br />
[[zh-CN:Udev]]<br />
[[zh-TW:Udev]]<br />
{{Lowercase title}}<br />
<br />
{{ic|udev}} replaces the functionality of both {{Ic|hotplug}} and {{Ic|hwdetect}}.<br />
<br />
''"udev is the device manager for the Linux kernel. Primarily, it manages device nodes in {{ic|/dev}}. It is the successor of devfs and hotplug, which means that it handles the {{ic|/dev}} directory and all user space actions when adding/removing devices, including firmware load."'' Source: [[Wikipedia:Udev|Wikipedia article]]<br />
<br />
udev loads kernel modules by utilizing coding parallelism to provide a potential performance advantage versus loading these modules serially. The modules are therefore loaded asynchronously. The inherent disadvantage of this method is that udev does not always load modules in the same order on each boot. If the machine has multiple block devices, this may manifest itself in the form of device nodes changing designations randomly. For example, if the machine has two hard drives, {{ic|/dev/sda}} may randomly become {{ic|/dev/sdb}}. See below for more info on this.<br />
<br />
{{Note|1=Systemd and udev have been merged upstream. Udev will now be part of a package called {{pkg|systemd-tools}}. This package contains several other standalone tools which can be used without systemd. See [http://www.archlinux.org/news/systemd-tools-replaces-udev/ the announcement].}}<br />
<br />
== About udev rules ==<br />
udev rules written by the administrator go in {{ic|/etc/udev/rules.d/}}, their file name has to end with {{ic|.rules}}. The udev rules shipped with various packages are found in {{ic|/usr/lib/udev/rules.d/}}. If there are two files by the same name under {{ic|/usr/lib}} and {{ic|/etc}}, the ones in {{ic|/etc}} take precedence.<br />
<br />
If you want to learn how to write udev rules, see [http://www.reactivated.net/writing_udev_rules.html Writing udev rules].<br />
<br />
To get a list of all of the attributes of a device you can use to write rules, run this command:<br />
# udevadm info -a -n [device name]<br />
<br />
Replace {{ic|[device name]}} with the device present in the system, such as {{ic|/dev/sda}} or {{ic|/dev/ttyUSB0}}.<br />
<br />
udev automatically detects changes to rules files, so changes take effect immediately without requiring udev to be restarted. However, the rules are not re-triggered automatically on already existing devices, so hot-pluggable devices, such as USB devices, will probably have to be reconnected for the new rules to take effect.<br />
<br />
== UDisks ==<br />
Simply [[pacman|install]] the {{pkg|udisks}} package, and all of your media should be automatically mounted in [[GNOME]] and [[KDE]] SC 4.6. There is no need for any additional rules this way.<br />
As an extra bonus you can remove [[HAL]] if you were only using that for auto mounting purposes.<br />
<br />
=== Automounting UDisks Wrappers ===<br />
A UDisks wrapper has the advantage of being very easy to install and needing no (or minimal) configuration. The wrapper will automatically mount things like CDs and flash drives.<br />
<br />
* [http://igurublog.wordpress.com/downloads/script-devmon/ devmon] - {{AUR|devmon}} is a configuration-less Bash wrapper script for udisks which automatically mounts optical discs and removable drives. It can also selectively automatically start applications or execute commands after mounting, ignore specified devices and volume labels, and unmount removable drives. A git version called {{AUR|devmon-git}} is also available.<br />
* {{AUR|ldm}} - A lightweight daemon that mounts usb drives, cds, dvds or floppys automagically. [https://bbs.archlinux.org/viewtopic.php?id=125918]<br />
* [[udiskie]] - Written in Python. Enables automatic mounting and unmounting by any user.<br />
* {{AUR|udisksevt}} - Written in Haskell. Enables automatic mounting by any user. Designed to be integrated with {{AUR|traydevice}}.<br />
* {{AUR|udisksvm}} - A Python script which uses the udisks dbus interface and {{AUR|traydevice}} to automatically mount removable media and to control in GUI, with mouse clicks in systray, the un-mounting and re-mounting of disks or the ejection of optical disks.<br />
<br />
* You can easily automount and eject removable devices with the combination of {{pkg|pmount}}, {{pkg|udisks2}} and {{pkg|spacefm}}. Note you have to run spacefm in daemon mode with {{ic|spacefm -d &}} in your startup scripts, {{ic|~/.xinitrc}} or {{ic|~/.xsession}}, to get automounting. You can also mount internal disks by adding them to {{ic|/etc/pmount.allow}}.<br />
<br />
=== UDisks Shell Functions ===<br />
While UDisks includes a simple method of (un)mounting devices via command-line, it can be tiresome to type the commands out each time. These shell functions will generally shorten and ease command-line usage.<br />
<br />
* [https://bbs.archlinux.org/viewtopic.php?id=109307 udisks_functions] - Written for Bash.<br />
* [https://bbs.archlinux.org/viewtopic.php?id=117674 bashmount] - {{AUR|bashmount}} is a menu-driven Bash script with a configuration file that makes it easy to configure and extend.<br />
<br />
==Tips and tricks==<br />
<br />
=== Accessing Firmware Programmers and USB Virtual Comm Devices ===<br />
The following ruleset will allow normal users (within the "users" group) the ability to access the [http://www.ladyada.net/make/usbtinyisp/ USBtinyISP] USB programmer for AVR microcontrollers and a generic (SiLabs [http://www.silabs.com/products/interface/usbtouart CP2102]) USB to UART adapter and the [http://www.atmel.com/tools/AVRDRAGON.aspx?tab=overview Atmel AVR Dragon] programmer. Adjust the permissions accordingly. Verified as of 2010-02-11.<br />
<br />
{{hc|/etc/udev/rules.d/50-embedded_devices.rules|2=<nowiki><br />
# USBtinyISP Programmer rules<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="users", MODE="0666"<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0479", GROUP="users", MODE="0666"<br />
# USBasp Programmer rules http://www.fischl.de/usbasp/<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"<br />
<br />
# Mdfly.com Generic (SiLabs CP2102) 3.3v/5v USB VComm adapter<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="users", MODE="0666"<br />
<br />
#Atmel AVR Dragon (dragon_isp) rules<br />
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", GROUP="users", MODE="0666"<br />
</nowiki>}}<br />
<br />
=== Execute on USB Insert ===<br />
See the [[Execute on USB insert]] article or the [http://igurublog.wordpress.com/downloads/script-devmon/ devmon wrapper script].<br />
<br />
=== Mount internal drives as a normal user ===<br />
If you want to mount an internal drive in KDE or Gnome (maybe on other Desktop Environments too) as a normal user (without the need to type your superuser password), you just have to create the following file in [[PolicyKit]] Local Authority:<br />
{{hc|/etc/polkit-1/localauthority/50-local.d/50-filesystem-mount-system-internal.pkla|2=<nowiki><br />
[Mount a system-internal device]<br />
Identity=*<br />
Action=org.freedesktop.udisks.filesystem-mount-system-internal<br />
ResultActive=yes<br />
</nowiki>}}<br />
{{Note|You might need to replace 'udisks' with 'udisks2' in case the newer version is used.}}<br />
<br />
=== Mark internal SATA-Ports as eSATA-Ports ===<br />
If you connected a eSATA bay or an other eSATA adapter the system will still recognize this disk as an internal SATA drive. Gnome and KDE will ask you for your root password all the time. The following rule will mark the specified SATA-Port as an external eSATA-Port. With that, a normal Gnome user can connect their eSATA drives to that port like a USB drive, without any root password and so on.<br />
<br />
{{hc|/etc/udev/rules.d/10-esata.rules|2=<nowiki><br />
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/host4/*", ENV{UDISKS_SYSTEM_INTERNAL}="0"<br />
</nowiki>}}<br />
<br />
{{Note| The DEVPATH can be found after connection the eSata drive with the following command (replace sdb to your needs):<br />
<br />
# find /sys/devices/ -name sdb<br />
/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdb<br />
<br />
}}<br />
<br />
=== Setting static device names ===<br />
Because udev loads all modules asynchronously, they are initialized in a different order. This can result in devices randomly switching names. Udev rule can be added to use static device names.<br />
<br />
==== Network device ====<br />
For example, with two network cards, you may notice a switching of designations between {{Ic|eth0}} and {{Ic|eth1}}.<br />
<br />
One method for network card ordering is to use the udev-sanctioned method of statically-naming each interface. Create the following file to bind the MAC address of each of your cards to a certain interface name:<br />
{{hc|/etc/udev/rules.d/10-network.rules|2=<nowiki><br />
SUBSYSTEM=="net", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0"<br />
SUBSYSTEM=="net", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"<br />
</nowiki>}}<br />
<br />
A couple things to note:<br />
* To get the MAC address of each card, use this command: {{Ic|<nowiki>udevadm info -a -p /sys/class/net/<yourdevice> | grep address | tr [A-Z] [a-z]</nowiki>}}<br />
* Make sure to use the lower-case hex values in your udev rules. It doesn't like upper-case.<br />
* Some people have problems naming their interfaces after the old style: eth0, eth1, etc. Try something like "lan" or "wlan" if you experience this problem.<br />
<br />
Don't forget to update your {{ic|/etc/rc.conf}} and other configuration files using the old ethX notation!<br />
<br />
{{Note|With a recent version of udev, this problem should be solved automatically thanks to the {{ic|/usr/lib/udev/write_net_rules}} program which runs the {{ic|75-persistent-net-generator.rules}} script which produces a {{ic|70-persistent-net.rules}}.}}<br />
<br />
==== iscsi device ====<br />
Test the output from scsi_id:<br />
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb<br />
3600601607db11e0013ab5a8e371ce111<br />
<br />
{{hc|/etc/udev/rules.d/75-iscsi.rules|<nowiki><br />
# the iscsi device rules<br />
# this will create an iscsi device for each of the targets<br />
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace /dev/$name", RESULT=="3600601607db11e0013ab5a8e371ce111",<br />
NAME="isda"<br />
</nowiki>}}<br />
<br />
== Troubleshooting ==<br />
=== Blacklisting Modules ===<br />
In rare cases, udev can make mistakes and load the wrong modules. To prevent it from doing this, you can blacklist modules. Once blacklisted, udev will never load that module. See [[blacklisting]]. Not at boot-time ''or'' later on when a hotplug event is received (eg, you plug in your USB flash drive).<br />
<br />
=== udevd hangs at boot ===<br />
After migrating to LDAP or updating an LDAP-backed system udevd can hang at boot at the message "Starting UDev Daemon". This is usually caused by udevd trying to look up a name from LDAP but failing, because the network is not up yet. The solution is to ensure that all system group names are present locally.<br />
<br />
Extract the group names referenced in udev rules and the group names actually present on the system:<br />
<br />
# fgrep -r GROUP /etc/udev/rules.d/ /usr/lib/udev/rules.d | perl -nle '/GROUP\s*=\s*"(.*?)"/ && print $1;' | sort | uniq > udev_groups<br />
# cut -f1 -d: /etc/gshadow /etc/group | sort | uniq > present_groups<br />
<br />
To see the differences, do a side-by-side diff:<br />
<br />
# diff -y present_groups udev_groups<br />
...<br />
network <<br />
nobody <<br />
ntp <<br />
optical optical<br />
power | pcscd<br />
rfkill <<br />
root root<br />
scanner scanner<br />
smmsp <<br />
storage storage<br />
...<br />
<br />
In this case, the pcscd group is for some reason not present in the system. Add the missing groups:<br />
<br />
# groupadd pcscd<br />
<br />
Also, make sure local resources are looked up before resorting to LDAP. {{ic|/etc/nsswitch.conf}} should contain the line<br />
<br />
group: files ldap<br />
<br />
=== Known Problems with Hardware ===<br />
==== BusLogic devices can be broken and will cause a freeze during startup ====<br />
This is a kernel bug and no fix has been provided yet.<br />
<br />
==== Some devices, that should be treated as removable, are not ====<br />
Create a custom udev rule, setting {{ic|UDISKS_SYSTEM_INTERNAL<nowiki>=</nowiki>0}}. For more details, see the manpage of udisks.<br />
<br />
=== Known Problems with Auto-Loading ===<br />
==== CPU frequency modules ====<br />
The current detection method for the various CPU frequency controllers is inadequate, so this has been omitted from the auto-loading process for the time being. To use [[CPU Frequency Scaling]], load the proper module explicitly in your {{Ic|MODULES}} array in {{ic|/etc/rc.conf}}. Further reading: [[rc.conf]].<br />
<br />
==== Sound Problems or Some Modules Not Loaded Automatically ====<br />
Some users have traced this problem to old entries in {{ic|/etc/modprobe.d/sound.conf}}. Try cleaning that file out and trying again.<br />
{{Note|Since {{Ic|udev>&#61;171}}, the OSS emulation modules ({{Ic|snd_seq_oss, snd_pcm_oss, snd_mixer_oss}}) are not automatically loaded by default.}}<br />
<br />
=== Known Problems for Custom Kernel Users ===<br />
==== Udev doesn't start at all ====<br />
Make sure you have a kernel version later than or equal to 2.6.32. Earlier kernels do not have the necessary uevent stuff that udev needs for auto-loading.<br />
<br />
=== IDE CD/DVD-drive support ===<br />
Starting with version 170, udev doesn't support CD-ROM/DVD-ROM drives, which are loaded as traditional IDE drives with the {{Ic|ide_cd_mod}} module and show up as {{ic|/dev/hd*}}. The drive remains usable for tools which access the hardware directly, like cdparanoia, but is invisible for higher userspace programs, like KDE.<br />
<br />
A cause for the loading of the ide_cd_mod module prior to others, like sr_mod, could be e.g. that you have for some reason the module piix loaded with your initramfs. In that case you can just replace it with ata_piix in your {{ic|/etc/mkinitcpio.conf}}.<br />
<br />
=== Optical Drives Have Group ID Set To Disk ===<br />
If the group ID of your optical drive is set to ''disk'' and you want to have it set to ''optical'' you have to create a custom udev rule:<br />
{{hc|/etc/udev/rules.d|2=# permissions for IDE CD devices<br />
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"<br />
<br />
# permissions for SCSI CD devices<br />
SUBSYSTEMS=="scsi", KERNEL=="s[rg][0-9]*", ATTRS{type}=="5", GROUP="optical"}}<br />
<br />
==See also==<br />
* [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Udev Homepage]<br />
* [http://www.linux.com/news/hardware/peripherals/180950-udev An Introduction to Udev]<br />
* [http://vger.kernel.org/vger-lists.html#linux-hotplug Udev mailing list information]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Udev&diff=210929Udev2012-06-22T18:32:14Z<p>Anonymous user: /* Automounting UDisks Wrappers */</p>
<hr />
<div>[[Category:Hardware detection and troubleshooting]]<br />
[[cs:Udev]]<br />
[[es:Udev]]<br />
[[it:Udev]]<br />
[[ru:Udev]]<br />
[[zh-CN:Udev]]<br />
[[zh-TW:Udev]]<br />
{{Lowercase title}}<br />
<br />
{{ic|udev}} replaces the functionality of both {{Ic|hotplug}} and {{Ic|hwdetect}}.<br />
<br />
''"udev is the device manager for the Linux kernel. Primarily, it manages device nodes in {{ic|/dev}}. It is the successor of devfs and hotplug, which means that it handles the {{ic|/dev}} directory and all user space actions when adding/removing devices, including firmware load."'' Source: [[Wikipedia:Udev|Wikipedia article]]<br />
<br />
udev loads kernel modules by utilizing coding parallelism to provide a potential performance advantage versus loading these modules serially. The modules are therefore loaded asynchronously. The inherent disadvantage of this method is that udev does not always load modules in the same order on each boot. If the machine has multiple block devices, this may manifest itself in the form of device nodes changing designations randomly. For example, if the machine has two hard drives, {{ic|/dev/sda}} may randomly become {{ic|/dev/sdb}}. See below for more info on this.<br />
<br />
{{Note|1=Systemd and udev have been merged upstream. Udev will now be part of a package called {{pkg|systemd-tools}}. This package contains several other standalone tools which can be used without systemd. See [http://www.archlinux.org/news/systemd-tools-replaces-udev/ the announcement].}}<br />
<br />
== About udev rules ==<br />
udev rules written by the administrator go in {{ic|/etc/udev/rules.d/}}, their file name has to end with {{ic|.rules}}. The udev rules shipped with various packages are found in {{ic|/usr/lib/udev/rules.d/}}. If there are two files by the same name under {{ic|/usr/lib}} and {{ic|/etc}}, the ones in {{ic|/etc}} take precedence.<br />
<br />
If you want to learn how to write udev rules, see [http://www.reactivated.net/writing_udev_rules.html Writing udev rules].<br />
<br />
To get a list of all of the attributes of a device you can use to write rules, run this command:<br />
# udevadm info -a -n [device name]<br />
<br />
Replace {{ic|[device name]}} with the device present in the system, such as {{ic|/dev/sda}} or {{ic|/dev/ttyUSB0}}.<br />
<br />
udev automatically detects changes to rules files, so changes take effect immediately without requiring udev to be restarted. However, the rules are not re-triggered automatically on already existing devices, so hot-pluggable devices, such as USB devices, will probably have to be reconnected for the new rules to take effect.<br />
<br />
== UDisks ==<br />
Simply [[pacman|install]] the {{pkg|udisks}} package, and all of your media should be automatically mounted in [[GNOME]] and [[KDE]] SC 4.6. There is no need for any additional rules this way.<br />
As an extra bonus you can remove [[HAL]] if you were only using that for auto mounting purposes.<br />
<br />
=== Automounting UDisks Wrappers ===<br />
A UDisks wrapper has the advantage of being very easy to install and needing no (or minimal) configuration. The wrapper will automatically mount things like CDs and flash drives.<br />
<br />
* [http://igurublog.wordpress.com/downloads/script-devmon/ devmon] - {{AUR|devmon}} is a configuration-less Bash wrapper script for udisks which automatically mounts optical discs and removable drives. It can also selectively automatically start applications or execute commands after mounting, ignore specified devices and volume labels, and unmount removable drives. A git version called {{AUR|devmon-git}} is also available.<br />
* {{AUR|ldm}} - A lightweight daemon that mounts usb drives, cds, dvds or floppys automagically. [https://bbs.archlinux.org/viewtopic.php?id=125918]<br />
* [[udiskie]] - Written in Python. Enables automatic mounting and unmounting by any user.<br />
* {{AUR|udisksevt}} - Written in Haskell. Enables automatic mounting by any user. Designed to be integrated with {{AUR|traydevice}}.<br />
* {{AUR|udisksvm}} - A Python script which uses the udisks dbus interface and {{AUR|traydevice}} to automatically mount removable media and to control in GUI, with mouse clicks in systray, the un-mounting and re-mounting of disks or the ejection of optical disks.<br />
<br />
* You can easily automount and eject removable devices with the combination of {{pkg|pmount}}, {{pkg|udisks2}} and {{pkg|spacefm}}. Note you have to run spacefm in daemon mode with {{ic|spacefm -d &}} in your startup scripts, {{ic|~/.xinitrc}} or {{ic|~/.xsession}}, to get automounting. You can also mount internal disks by adding them to {{ic|/etc/pmount.allow}}.<br />
<br />
=== UDisks Shell Functions ===<br />
While UDisks includes a simple method of (un)mounting devices via command-line, it can be tiresome to type the commands out each time. These shell functions will generally shorten and ease command-line usage.<br />
<br />
* [https://bbs.archlinux.org/viewtopic.php?id=109307 udisks_functions] - Written for Bash.<br />
* [https://bbs.archlinux.org/viewtopic.php?id=117674 bashmount] - {{AUR|bashmount}} is a menu-driven Bash script with a configuration file that makes it easy to configure and extend.<br />
<br />
==Other==<br />
* {{AUR|ldm}} - A lightweight device mounter [https://bbs.archlinux.org/viewtopic.php?id=125918]<br />
<br />
* You can easily automount and eject removable devices with the combination of {{pkg|pmount}}, {{pkg|udisks2}} and {{pkg|spacefm}}. Note you have to run spacefm in daemon mode with {{ic|spacefm -d &}} in your startup scripts, {{ic|~/.xinitrc}} or {{ic|~/.xsession}}, to get automounting. You can also mount internal disks by adding them to {{ic|/etc/pmount.allow}}.<br />
<br />
==Tips and tricks==<br />
<br />
=== Accessing Firmware Programmers and USB Virtual Comm Devices ===<br />
The following ruleset will allow normal users (within the "users" group) the ability to access the [http://www.ladyada.net/make/usbtinyisp/ USBtinyISP] USB programmer for AVR microcontrollers and a generic (SiLabs [http://www.silabs.com/products/interface/usbtouart CP2102]) USB to UART adapter and the [http://www.atmel.com/tools/AVRDRAGON.aspx?tab=overview Atmel AVR Dragon] programmer. Adjust the permissions accordingly. Verified as of 2010-02-11.<br />
<br />
{{hc|/etc/udev/rules.d/50-embedded_devices.rules|2=<nowiki><br />
# USBtinyISP Programmer rules<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="users", MODE="0666"<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0479", GROUP="users", MODE="0666"<br />
# USBasp Programmer rules http://www.fischl.de/usbasp/<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"<br />
<br />
# Mdfly.com Generic (SiLabs CP2102) 3.3v/5v USB VComm adapter<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="users", MODE="0666"<br />
<br />
#Atmel AVR Dragon (dragon_isp) rules<br />
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", GROUP="users", MODE="0666"<br />
</nowiki>}}<br />
<br />
=== Execute on USB Insert ===<br />
See the [[Execute on USB insert]] article or the [http://igurublog.wordpress.com/downloads/script-devmon/ devmon wrapper script].<br />
<br />
=== Mount internal drives as a normal user ===<br />
If you want to mount an internal drive in KDE or Gnome (maybe on other Desktop Environments too) as a normal user (without the need to type your superuser password), you just have to create the following file in [[PolicyKit]] Local Authority:<br />
{{hc|/etc/polkit-1/localauthority/50-local.d/50-filesystem-mount-system-internal.pkla|2=<nowiki><br />
[Mount a system-internal device]<br />
Identity=*<br />
Action=org.freedesktop.udisks.filesystem-mount-system-internal<br />
ResultActive=yes<br />
</nowiki>}}<br />
{{Note|You might need to replace 'udisks' with 'udisks2' in case the newer version is used.}}<br />
<br />
=== Mark internal SATA-Ports as eSATA-Ports ===<br />
If you connected a eSATA bay or an other eSATA adapter the system will still recognize this disk as an internal SATA drive. Gnome and KDE will ask you for your root password all the time. The following rule will mark the specified SATA-Port as an external eSATA-Port. With that, a normal Gnome user can connect their eSATA drives to that port like a USB drive, without any root password and so on.<br />
<br />
{{hc|/etc/udev/rules.d/10-esata.rules|2=<nowiki><br />
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/host4/*", ENV{UDISKS_SYSTEM_INTERNAL}="0"<br />
</nowiki>}}<br />
<br />
{{Note| The DEVPATH can be found after connection the eSata drive with the following command (replace sdb to your needs):<br />
<br />
# find /sys/devices/ -name sdb<br />
/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdb<br />
<br />
}}<br />
<br />
=== Setting static device names ===<br />
Because udev loads all modules asynchronously, they are initialized in a different order. This can result in devices randomly switching names. Udev rule can be added to use static device names.<br />
<br />
==== Network device ====<br />
For example, with two network cards, you may notice a switching of designations between {{Ic|eth0}} and {{Ic|eth1}}.<br />
<br />
One method for network card ordering is to use the udev-sanctioned method of statically-naming each interface. Create the following file to bind the MAC address of each of your cards to a certain interface name:<br />
{{hc|/etc/udev/rules.d/10-network.rules|2=<nowiki><br />
SUBSYSTEM=="net", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0"<br />
SUBSYSTEM=="net", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"<br />
</nowiki>}}<br />
<br />
A couple things to note:<br />
* To get the MAC address of each card, use this command: {{Ic|<nowiki>udevadm info -a -p /sys/class/net/<yourdevice> | grep address | tr [A-Z] [a-z]</nowiki>}}<br />
* Make sure to use the lower-case hex values in your udev rules. It doesn't like upper-case.<br />
* Some people have problems naming their interfaces after the old style: eth0, eth1, etc. Try something like "lan" or "wlan" if you experience this problem.<br />
<br />
Don't forget to update your {{ic|/etc/rc.conf}} and other configuration files using the old ethX notation!<br />
<br />
{{Note|With a recent version of udev, this problem should be solved automatically thanks to the {{ic|/usr/lib/udev/write_net_rules}} program which runs the {{ic|75-persistent-net-generator.rules}} script which produces a {{ic|70-persistent-net.rules}}.}}<br />
<br />
==== iscsi device ====<br />
Test the output from scsi_id:<br />
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb<br />
3600601607db11e0013ab5a8e371ce111<br />
<br />
{{hc|/etc/udev/rules.d/75-iscsi.rules|<nowiki><br />
# the iscsi device rules<br />
# this will create an iscsi device for each of the targets<br />
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace /dev/$name", RESULT=="3600601607db11e0013ab5a8e371ce111",<br />
NAME="isda"<br />
</nowiki>}}<br />
<br />
== Troubleshooting ==<br />
=== Blacklisting Modules ===<br />
In rare cases, udev can make mistakes and load the wrong modules. To prevent it from doing this, you can blacklist modules. Once blacklisted, udev will never load that module. See [[blacklisting]]. Not at boot-time ''or'' later on when a hotplug event is received (eg, you plug in your USB flash drive).<br />
<br />
=== udevd hangs at boot ===<br />
After migrating to LDAP or updating an LDAP-backed system udevd can hang at boot at the message "Starting UDev Daemon". This is usually caused by udevd trying to look up a name from LDAP but failing, because the network is not up yet. The solution is to ensure that all system group names are present locally.<br />
<br />
Extract the group names referenced in udev rules and the group names actually present on the system:<br />
<br />
# fgrep -r GROUP /etc/udev/rules.d/ /usr/lib/udev/rules.d | perl -nle '/GROUP\s*=\s*"(.*?)"/ && print $1;' | sort | uniq > udev_groups<br />
# cut -f1 -d: /etc/gshadow /etc/group | sort | uniq > present_groups<br />
<br />
To see the differences, do a side-by-side diff:<br />
<br />
# diff -y present_groups udev_groups<br />
...<br />
network <<br />
nobody <<br />
ntp <<br />
optical optical<br />
power | pcscd<br />
rfkill <<br />
root root<br />
scanner scanner<br />
smmsp <<br />
storage storage<br />
...<br />
<br />
In this case, the pcscd group is for some reason not present in the system. Add the missing groups:<br />
<br />
# groupadd pcscd<br />
<br />
Also, make sure local resources are looked up before resorting to LDAP. {{ic|/etc/nsswitch.conf}} should contain the line<br />
<br />
group: files ldap<br />
<br />
=== Known Problems with Hardware ===<br />
==== BusLogic devices can be broken and will cause a freeze during startup ====<br />
This is a kernel bug and no fix has been provided yet.<br />
<br />
==== Some devices, that should be treated as removable, are not ====<br />
Create a custom udev rule, setting {{ic|UDISKS_SYSTEM_INTERNAL<nowiki>=</nowiki>0}}. For more details, see the manpage of udisks.<br />
<br />
=== Known Problems with Auto-Loading ===<br />
==== CPU frequency modules ====<br />
The current detection method for the various CPU frequency controllers is inadequate, so this has been omitted from the auto-loading process for the time being. To use [[CPU Frequency Scaling]], load the proper module explicitly in your {{Ic|MODULES}} array in {{ic|/etc/rc.conf}}. Further reading: [[rc.conf]].<br />
<br />
==== Sound Problems or Some Modules Not Loaded Automatically ====<br />
Some users have traced this problem to old entries in {{ic|/etc/modprobe.d/sound.conf}}. Try cleaning that file out and trying again.<br />
{{Note|Since {{Ic|udev>&#61;171}}, the OSS emulation modules ({{Ic|snd_seq_oss, snd_pcm_oss, snd_mixer_oss}}) are not automatically loaded by default.}}<br />
<br />
=== Known Problems for Custom Kernel Users ===<br />
==== Udev doesn't start at all ====<br />
Make sure you have a kernel version later than or equal to 2.6.32. Earlier kernels do not have the necessary uevent stuff that udev needs for auto-loading.<br />
<br />
=== IDE CD/DVD-drive support ===<br />
Starting with version 170, udev doesn't support CD-ROM/DVD-ROM drives, which are loaded as traditional IDE drives with the {{Ic|ide_cd_mod}} module and show up as {{ic|/dev/hd*}}. The drive remains usable for tools which access the hardware directly, like cdparanoia, but is invisible for higher userspace programs, like KDE.<br />
<br />
A cause for the loading of the ide_cd_mod module prior to others, like sr_mod, could be e.g. that you have for some reason the module piix loaded with your initramfs. In that case you can just replace it with ata_piix in your {{ic|/etc/mkinitcpio.conf}}.<br />
<br />
=== Optical Drives Have Group ID Set To Disk ===<br />
If the group ID of your optical drive is set to ''disk'' and you want to have it set to ''optical'' you have to create a custom udev rule:<br />
{{hc|/etc/udev/rules.d|2=# permissions for IDE CD devices<br />
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"<br />
<br />
# permissions for SCSI CD devices<br />
SUBSYSTEMS=="scsi", KERNEL=="s[rg][0-9]*", ATTRS{type}=="5", GROUP="optical"}}<br />
<br />
==See also==<br />
* [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Udev Homepage]<br />
* [http://www.linux.com/news/hardware/peripherals/180950-udev An Introduction to Udev]<br />
* [http://vger.kernel.org/vger-lists.html#linux-hotplug Udev mailing list information]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Udev&diff=210928Udev2012-06-22T18:30:34Z<p>Anonymous user: /* Other */</p>
<hr />
<div>[[Category:Hardware detection and troubleshooting]]<br />
[[cs:Udev]]<br />
[[es:Udev]]<br />
[[it:Udev]]<br />
[[ru:Udev]]<br />
[[zh-CN:Udev]]<br />
[[zh-TW:Udev]]<br />
{{Lowercase title}}<br />
<br />
{{ic|udev}} replaces the functionality of both {{Ic|hotplug}} and {{Ic|hwdetect}}.<br />
<br />
''"udev is the device manager for the Linux kernel. Primarily, it manages device nodes in {{ic|/dev}}. It is the successor of devfs and hotplug, which means that it handles the {{ic|/dev}} directory and all user space actions when adding/removing devices, including firmware load."'' Source: [[Wikipedia:Udev|Wikipedia article]]<br />
<br />
udev loads kernel modules by utilizing coding parallelism to provide a potential performance advantage versus loading these modules serially. The modules are therefore loaded asynchronously. The inherent disadvantage of this method is that udev does not always load modules in the same order on each boot. If the machine has multiple block devices, this may manifest itself in the form of device nodes changing designations randomly. For example, if the machine has two hard drives, {{ic|/dev/sda}} may randomly become {{ic|/dev/sdb}}. See below for more info on this.<br />
<br />
{{Note|1=Systemd and udev have been merged upstream. Udev will now be part of a package called {{pkg|systemd-tools}}. This package contains several other standalone tools which can be used without systemd. See [http://www.archlinux.org/news/systemd-tools-replaces-udev/ the announcement].}}<br />
<br />
== About udev rules ==<br />
udev rules written by the administrator go in {{ic|/etc/udev/rules.d/}}, their file name has to end with {{ic|.rules}}. The udev rules shipped with various packages are found in {{ic|/usr/lib/udev/rules.d/}}. If there are two files by the same name under {{ic|/usr/lib}} and {{ic|/etc}}, the ones in {{ic|/etc}} take precedence.<br />
<br />
If you want to learn how to write udev rules, see [http://www.reactivated.net/writing_udev_rules.html Writing udev rules].<br />
<br />
To get a list of all of the attributes of a device you can use to write rules, run this command:<br />
# udevadm info -a -n [device name]<br />
<br />
Replace {{ic|[device name]}} with the device present in the system, such as {{ic|/dev/sda}} or {{ic|/dev/ttyUSB0}}.<br />
<br />
udev automatically detects changes to rules files, so changes take effect immediately without requiring udev to be restarted. However, the rules are not re-triggered automatically on already existing devices, so hot-pluggable devices, such as USB devices, will probably have to be reconnected for the new rules to take effect.<br />
<br />
== UDisks ==<br />
Simply [[pacman|install]] the {{pkg|udisks}} package, and all of your media should be automatically mounted in [[GNOME]] and [[KDE]] SC 4.6. There is no need for any additional rules this way.<br />
As an extra bonus you can remove [[HAL]] if you were only using that for auto mounting purposes.<br />
<br />
=== Automounting UDisks Wrappers ===<br />
A UDisks wrapper has the advantage of being very easy to install and needing no (or minimal) configuration. The wrapper will automatically mount things like CDs and flash drives.<br />
<br />
* [http://igurublog.wordpress.com/downloads/script-devmon/ devmon] - {{AUR|devmon}} is a configuration-less Bash wrapper script for udisks which automatically mounts optical discs and removable drives. It can also selectively automatically start applications or execute commands after mounting, ignore specified devices and volume labels, and unmount removable drives. A git version called {{AUR|devmon-git}} is also available.<br />
* [[udiskie]] - Written in Python. Enables automatic mounting and unmounting by any user.<br />
* {{AUR|udisksevt}} - Written in Haskell. Enables automatic mounting by any user. Designed to be integrated with {{AUR|traydevice}}.<br />
* {{AUR|udisksvm}} - A Python script which uses the udisks dbus interface and {{AUR|traydevice}} to automatically mount removable media and to control in GUI, with mouse clicks in systray, the un-mounting and re-mounting of disks or the ejection of optical disks.<br />
<br />
=== UDisks Shell Functions ===<br />
While UDisks includes a simple method of (un)mounting devices via command-line, it can be tiresome to type the commands out each time. These shell functions will generally shorten and ease command-line usage.<br />
<br />
* [https://bbs.archlinux.org/viewtopic.php?id=109307 udisks_functions] - Written for Bash.<br />
* [https://bbs.archlinux.org/viewtopic.php?id=117674 bashmount] - {{AUR|bashmount}} is a menu-driven Bash script with a configuration file that makes it easy to configure and extend.<br />
<br />
==Other==<br />
* {{AUR|ldm}} - A lightweight device mounter [https://bbs.archlinux.org/viewtopic.php?id=125918]<br />
<br />
* You can easily automount and eject removable devices with the combination of {{pkg|pmount}}, {{pkg|udisks2}} and {{pkg|spacefm}}. Note you have to run spacefm in daemon mode with {{ic|spacefm -d &}} in your startup scripts, {{ic|~/.xinitrc}} or {{ic|~/.xsession}}, to get automounting. You can also mount internal disks by adding them to {{ic|/etc/pmount.allow}}.<br />
<br />
==Tips and tricks==<br />
<br />
=== Accessing Firmware Programmers and USB Virtual Comm Devices ===<br />
The following ruleset will allow normal users (within the "users" group) the ability to access the [http://www.ladyada.net/make/usbtinyisp/ USBtinyISP] USB programmer for AVR microcontrollers and a generic (SiLabs [http://www.silabs.com/products/interface/usbtouart CP2102]) USB to UART adapter and the [http://www.atmel.com/tools/AVRDRAGON.aspx?tab=overview Atmel AVR Dragon] programmer. Adjust the permissions accordingly. Verified as of 2010-02-11.<br />
<br />
{{hc|/etc/udev/rules.d/50-embedded_devices.rules|2=<nowiki><br />
# USBtinyISP Programmer rules<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1781", ATTRS{idProduct}=="0c9f", GROUP="users", MODE="0666"<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0479", GROUP="users", MODE="0666"<br />
# USBasp Programmer rules http://www.fischl.de/usbasp/<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="users", MODE="0666"<br />
<br />
# Mdfly.com Generic (SiLabs CP2102) 3.3v/5v USB VComm adapter<br />
SUBSYSTEMS=="usb", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", GROUP="users", MODE="0666"<br />
<br />
#Atmel AVR Dragon (dragon_isp) rules<br />
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", GROUP="users", MODE="0666"<br />
</nowiki>}}<br />
<br />
=== Execute on USB Insert ===<br />
See the [[Execute on USB insert]] article or the [http://igurublog.wordpress.com/downloads/script-devmon/ devmon wrapper script].<br />
<br />
=== Mount internal drives as a normal user ===<br />
If you want to mount an internal drive in KDE or Gnome (maybe on other Desktop Environments too) as a normal user (without the need to type your superuser password), you just have to create the following file in [[PolicyKit]] Local Authority:<br />
{{hc|/etc/polkit-1/localauthority/50-local.d/50-filesystem-mount-system-internal.pkla|2=<nowiki><br />
[Mount a system-internal device]<br />
Identity=*<br />
Action=org.freedesktop.udisks.filesystem-mount-system-internal<br />
ResultActive=yes<br />
</nowiki>}}<br />
{{Note|You might need to replace 'udisks' with 'udisks2' in case the newer version is used.}}<br />
<br />
=== Mark internal SATA-Ports as eSATA-Ports ===<br />
If you connected a eSATA bay or an other eSATA adapter the system will still recognize this disk as an internal SATA drive. Gnome and KDE will ask you for your root password all the time. The following rule will mark the specified SATA-Port as an external eSATA-Port. With that, a normal Gnome user can connect their eSATA drives to that port like a USB drive, without any root password and so on.<br />
<br />
{{hc|/etc/udev/rules.d/10-esata.rules|2=<nowiki><br />
DEVPATH=="/devices/pci0000:00/0000:00:1f.2/host4/*", ENV{UDISKS_SYSTEM_INTERNAL}="0"<br />
</nowiki>}}<br />
<br />
{{Note| The DEVPATH can be found after connection the eSata drive with the following command (replace sdb to your needs):<br />
<br />
# find /sys/devices/ -name sdb<br />
/sys/devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdb<br />
<br />
}}<br />
<br />
=== Setting static device names ===<br />
Because udev loads all modules asynchronously, they are initialized in a different order. This can result in devices randomly switching names. Udev rule can be added to use static device names.<br />
<br />
==== Network device ====<br />
For example, with two network cards, you may notice a switching of designations between {{Ic|eth0}} and {{Ic|eth1}}.<br />
<br />
One method for network card ordering is to use the udev-sanctioned method of statically-naming each interface. Create the following file to bind the MAC address of each of your cards to a certain interface name:<br />
{{hc|/etc/udev/rules.d/10-network.rules|2=<nowiki><br />
SUBSYSTEM=="net", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="lan0"<br />
SUBSYSTEM=="net", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="wlan0"<br />
</nowiki>}}<br />
<br />
A couple things to note:<br />
* To get the MAC address of each card, use this command: {{Ic|<nowiki>udevadm info -a -p /sys/class/net/<yourdevice> | grep address | tr [A-Z] [a-z]</nowiki>}}<br />
* Make sure to use the lower-case hex values in your udev rules. It doesn't like upper-case.<br />
* Some people have problems naming their interfaces after the old style: eth0, eth1, etc. Try something like "lan" or "wlan" if you experience this problem.<br />
<br />
Don't forget to update your {{ic|/etc/rc.conf}} and other configuration files using the old ethX notation!<br />
<br />
{{Note|With a recent version of udev, this problem should be solved automatically thanks to the {{ic|/usr/lib/udev/write_net_rules}} program which runs the {{ic|75-persistent-net-generator.rules}} script which produces a {{ic|70-persistent-net.rules}}.}}<br />
<br />
==== iscsi device ====<br />
Test the output from scsi_id:<br />
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb<br />
3600601607db11e0013ab5a8e371ce111<br />
<br />
{{hc|/etc/udev/rules.d/75-iscsi.rules|<nowiki><br />
# the iscsi device rules<br />
# this will create an iscsi device for each of the targets<br />
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace /dev/$name", RESULT=="3600601607db11e0013ab5a8e371ce111",<br />
NAME="isda"<br />
</nowiki>}}<br />
<br />
== Troubleshooting ==<br />
=== Blacklisting Modules ===<br />
In rare cases, udev can make mistakes and load the wrong modules. To prevent it from doing this, you can blacklist modules. Once blacklisted, udev will never load that module. See [[blacklisting]]. Not at boot-time ''or'' later on when a hotplug event is received (eg, you plug in your USB flash drive).<br />
<br />
=== udevd hangs at boot ===<br />
After migrating to LDAP or updating an LDAP-backed system udevd can hang at boot at the message "Starting UDev Daemon". This is usually caused by udevd trying to look up a name from LDAP but failing, because the network is not up yet. The solution is to ensure that all system group names are present locally.<br />
<br />
Extract the group names referenced in udev rules and the group names actually present on the system:<br />
<br />
# fgrep -r GROUP /etc/udev/rules.d/ /usr/lib/udev/rules.d | perl -nle '/GROUP\s*=\s*"(.*?)"/ && print $1;' | sort | uniq > udev_groups<br />
# cut -f1 -d: /etc/gshadow /etc/group | sort | uniq > present_groups<br />
<br />
To see the differences, do a side-by-side diff:<br />
<br />
# diff -y present_groups udev_groups<br />
...<br />
network <<br />
nobody <<br />
ntp <<br />
optical optical<br />
power | pcscd<br />
rfkill <<br />
root root<br />
scanner scanner<br />
smmsp <<br />
storage storage<br />
...<br />
<br />
In this case, the pcscd group is for some reason not present in the system. Add the missing groups:<br />
<br />
# groupadd pcscd<br />
<br />
Also, make sure local resources are looked up before resorting to LDAP. {{ic|/etc/nsswitch.conf}} should contain the line<br />
<br />
group: files ldap<br />
<br />
=== Known Problems with Hardware ===<br />
==== BusLogic devices can be broken and will cause a freeze during startup ====<br />
This is a kernel bug and no fix has been provided yet.<br />
<br />
==== Some devices, that should be treated as removable, are not ====<br />
Create a custom udev rule, setting {{ic|UDISKS_SYSTEM_INTERNAL<nowiki>=</nowiki>0}}. For more details, see the manpage of udisks.<br />
<br />
=== Known Problems with Auto-Loading ===<br />
==== CPU frequency modules ====<br />
The current detection method for the various CPU frequency controllers is inadequate, so this has been omitted from the auto-loading process for the time being. To use [[CPU Frequency Scaling]], load the proper module explicitly in your {{Ic|MODULES}} array in {{ic|/etc/rc.conf}}. Further reading: [[rc.conf]].<br />
<br />
==== Sound Problems or Some Modules Not Loaded Automatically ====<br />
Some users have traced this problem to old entries in {{ic|/etc/modprobe.d/sound.conf}}. Try cleaning that file out and trying again.<br />
{{Note|Since {{Ic|udev>&#61;171}}, the OSS emulation modules ({{Ic|snd_seq_oss, snd_pcm_oss, snd_mixer_oss}}) are not automatically loaded by default.}}<br />
<br />
=== Known Problems for Custom Kernel Users ===<br />
==== Udev doesn't start at all ====<br />
Make sure you have a kernel version later than or equal to 2.6.32. Earlier kernels do not have the necessary uevent stuff that udev needs for auto-loading.<br />
<br />
=== IDE CD/DVD-drive support ===<br />
Starting with version 170, udev doesn't support CD-ROM/DVD-ROM drives, which are loaded as traditional IDE drives with the {{Ic|ide_cd_mod}} module and show up as {{ic|/dev/hd*}}. The drive remains usable for tools which access the hardware directly, like cdparanoia, but is invisible for higher userspace programs, like KDE.<br />
<br />
A cause for the loading of the ide_cd_mod module prior to others, like sr_mod, could be e.g. that you have for some reason the module piix loaded with your initramfs. In that case you can just replace it with ata_piix in your {{ic|/etc/mkinitcpio.conf}}.<br />
<br />
=== Optical Drives Have Group ID Set To Disk ===<br />
If the group ID of your optical drive is set to ''disk'' and you want to have it set to ''optical'' you have to create a custom udev rule:<br />
{{hc|/etc/udev/rules.d|2=# permissions for IDE CD devices<br />
SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"<br />
<br />
# permissions for SCSI CD devices<br />
SUBSYSTEMS=="scsi", KERNEL=="s[rg][0-9]*", ATTRS{type}=="5", GROUP="optical"}}<br />
<br />
==See also==<br />
* [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html Udev Homepage]<br />
* [http://www.linux.com/news/hardware/peripherals/180950-udev An Introduction to Udev]<br />
* [http://vger.kernel.org/vger-lists.html#linux-hotplug Udev mailing list information]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Music_Player_Daemon&diff=203416Music Player Daemon2012-06-01T21:55:57Z<p>Anonymous user: /* Global Configuration */</p>
<hr />
<div>[[Category:Audio/Video]]<br />
[[Category:Daemons and system services]]<br />
[[de:Music Player Daemon]]<br />
[[fr:MPD]]<br />
[[tr:Music_Player_Daemon]]<br />
{{i18n|Music Player Daemon}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Installation, configuration and basic troubleshooting of MPD.}}<br />
{{Article summary heading|Required software}}<br />
{{Article summary link|Music Player Daemon|http://mpd.wikia.com}}<br />
{{Article summary heading|Related Articles}}<br />
{{Article summary wiki|MPD/Tips and Tricks}}<br />
{{Article summary wiki|MPD/Troubleshooting}}<br />
{{Article summary heading|Other sources}}<br />
{{Article summary text|[[Wikipedia:MPD|Wikipedia article]]}}<br />
{{Article summary end}}<br />
<br />
'''MPD''' ('''m'''usic '''p'''layer '''d'''aemon) is an audio player that has a server-client architecture. It plays audio files, organizes playlists and maintains a music database all while using very few resources. In order to interface with it, a separate [[#Clients|client]] is needed.<br />
<br />
== Installation ==<br />
[[pacman|Install]] {{Pkg|mpd}}, available in the [[official repositories]].<br />
<br />
== Setup ==<br />
MPD is able to run globally (settings apply to all users), locally (per user settings), and in multiple instances.<br />
The way of setting up mpd depends on the way it is supposed to be used.<br />
A local configuration may prove more useful on a desktop system than on a system that is used by several people simultaneously.<br />
<br />
For a comfortable use, it is sensible to provide MPD access to the following files and directories:<br />
mpd.db # The music database<br />
mpd.pid # The file where mpd stores its process ID<br />
mpd.log # mpd logs here<br />
mpdstate # mpd's current state is noted here<br />
playlists # the folder where playlists are saved into<br />
<br />
In order for MPD to be able to play back audio, [[ALSA]] or [[PulseAudio]] needs to be setup and working.<br />
<br />
=== Global Configuration ===<br />
{{Note|For a user-specific permissions, change the "user" line above to reflect one of the system users.}}<br />
{{Warning|Users making use of PulseAudio will not be able to correctly use mpd when the daemon is set to run as its own user!}}<br />
<br />
MPD comes with an example configuration file, available at {{ic|/usr/share/doc/mpd/mpdconf.example}}. This file holds an abundance of information on MPD configuration, and holds default mixer values.<br />
<br />
Copy the included example file to {{ic|/etc/mpd.conf}}.<br />
# cp /usr/share/doc/mpd/mpdconf.example /etc/mpd.conf<br />
<br />
==== Editing mpd.conf ====<br />
The default Arch install keeps the setup in {{ic|/var}} and uses "mpd" as default user.<br />
<br />
Edit {{ic|/etc/mpd.conf}} to reflect as such:<br />
{{hc|/etc/mpd.conf|<br />
music_directory "/home/user/music"<br />
playlist_directory "/var/lib/mpd/playlists"<br />
db_file "/var/lib/mpd/mpd.db"<br />
log_file "/var/log/mpd/mpd.log"<br />
pid_file "/var/run/mpd/mpd.pid"<br />
state_file "/var/lib/mpd/mpdstate"<br />
user "mpd"<br />
# bind_to_address "127.0.0.1"<br />
# port "6600"<br />
}}<br />
<br />
To change the volume of audio from mpd independent of other programs, uncomment or add the switch in mpd.conf:<br />
<br />
{{hc|/etc/mpd.conf|<br />
mixer_type "software"<br />
}}<br />
<br />
Users of [[PulseAudio]] will need to make the following modification:<br />
{{hc|/etc/mpd.conf|2=<br />
audio_output {<br />
type "pulse"<br />
name "pulse audio"<br />
}<br />
}}<br />
<br />
Users of [[ALSA]] will want to have the following device definition, which allows the software volume control in your MPD client to control the volume separately from other applications.<br />
{{hc|/etc/mpd.conf|2=<br />
audio_output {<br />
type "alsa"<br />
name "My Sound Card"<br />
mixer_type "software" # optional<br />
}<br />
}}<br />
Note that if you change the group that MPD runs as, you will get errors like "output: Failed to open "My ALSA Device"" "[alsa]: Failed to open ALSA device "default": No such file or directory" "player_thread: problems opening audio device while playing "Song Name.mp3""<br />
<br />
This is because by default MPD runs as member of '''audio''' group and the sound devices under {{Ic|/dev/snd/}} are owned by this group.<br />
<br />
===== Music directory =====<br />
MPD needs to have {{ic|+x}} permissions on ''all'' parent directories to the music collection (ie. if it's located outside of "mpd" home directory {{ic|/var/lib/mpd}}). By default useradd sets permissions on home directories to {{ic|1700 drwx------}}. Thus users will most likely need to remount the music directory under a directory that mpd has access to -- this only applies if running as the 'mpd' user.<br />
<br />
# mkdir /var/lib/mpd/music<br />
# echo "/home/$USER/music /var/lib/mpd/music none bind" >> /etc/fstab<br />
# mount -a<br />
# rc.d restart mpd<br />
See also [https://bbs.archlinux.org/viewtopic.php?id=86449 the forum thread.]<br />
<br />
An additional solution would be to just create a symbolic link into {{ic|/var/lib/mpd/music}}.<br />
# mkdir /var/lib/mpd/music<br />
# ln -s MUSIC_FOLDER /var/lib/mpd/music/<br />
# rc.d restart mpd<br />
<br />
If the music collection is contained under multiple directories, create symbolic links under the main music directory in {{ic|/var/lib/mpd}}. Remember to set permissions accordingly on the directories being linked.<br />
<br />
==== Creating the required files ====<br />
Now, having finished configuring MPD, the files and directories for MPD to write in need to be created:<br />
<br />
Create the directories and files specified in {{ic|/etc/mpd.conf}}:<br />
# mkdir -p /var/lib/mpd/playlists <br />
# touch /var/lib/mpd/{mpd.db,mpdstate} <br />
<br />
Usually the init-script should properly create {{ic|/var/run/mpd/}} when starting. The deamon will use this directory to create {{ic|mpd.pid}} in it. However: If you are running mpd as a different user, you will have to fix the init script: In {{ic|/etc/rc.d/mpd}} change the line<br />
<nowiki>[[</nowiki> -d /run/mpd <nowiki>]]</nowiki> || install -d -o mpd -g mpd /run/mpd<br />
to:<br />
<nowiki>[[</nowiki> -d /run/mpd <nowiki>]]</nowiki> || install -d -o ''username'' -g ''groupname'' /run/mpd<br />
<br />
Change the file's permissions so that the daemon can modify them.<br />
# chown -R mpd /var/lib/mpd<br />
<br />
==== Create database ====<br />
Creating the database is now accomplished via the update feature of the client, for example {{ic|mpc update}}. <br />
{{Box RED | Note: | Creating the MPD database as root using {{ic|# mpd --create-db}} is deprecated.}}<br />
<br />
==== Timeline of MPD startup ====<br />
To depict when MPD drops its superuser privileges and assumes those of the user set in the configuration, the timeline of a normal MPD startup is listed here:<br />
<br />
# MPD is started on boot by {{ic|/etc/rc.conf}}, by including it in the {{ic|DAEMONS}} array. (Or, this can be done manually each session by running {{ic|rc.d start mpd}} with root privileges).<br />
# Since MPD is now started as root, it first reads the {{ic|/etc/mpd.conf}} file.<br />
# MPD reads the user variable in the {{ic|/etc/mpd.conf}} file, and changes from root to this user.<br />
# MPD then reads the contents of the {{ic|/etc/mpd.conf}} file and configures itself accordingly.<br />
<br />
Notice that MPD changes the running user from root to the one named in the {{ic|/etc/mpd.conf}} file. <br />
This way, uses of {{ic|~}} in the configuration file point correctly to the home user's directory, and not root's directory. <br />
It may be worthwhile to change all uses of {{ic|~}} to {{ic|/home/username}} to avoid any confusion over this aspect of MPD's behavior.<br />
<br />
=== Local Configuration (per user) ===<br />
MPD does not need to be run globally as a daemon and can rather work per user. <br />
The usual method to configure MPD globally is because the listed files and folders in the default configuration file point to directories owned by root (the {{ic|/var}} directory). <br />
A less used (but perhaps more sensible) method is to make MPD work with files and directories owned by a normal user.<br />
Running MPD as a normal user has the benefits of:<br />
<br />
# A single directory {{ic|~/.mpd}} (or any other directory under {{ic|/home/username}}) that will contain all the MPD configuration files.<br />
# Easier to avoid unforeseen read/write permission errors.<br />
{{Note|This approach will not work with multiple users to having access to MPD at the same time.}}<br />
<br />
Begin the setup by creating a directory for the required files and the playlists:<br />
<br />
{{bc|mkdir -p ~/.mpd/playlists}}<br />
<br />
Copy the contents of the default MPD configuration file in {{ic|/usr/share/mpd/mpd.conf.example}} to the target user's home directory:<br />
<br />
{{bc|cp /usr/share/doc/mpd/mpdconf.example ~/.mpdconf}}<br />
<br />
Create all of the requisite files:<br />
<br />
{{bc|<nowiki>touch ~/.mpd/{mpd.db,mpd.log,mpd.pid,mpdstate}</nowiki>}}<br />
<br />
Edit {{ic|~/.mpdconf}} to specify these files:<br />
<br />
{{hc|~/.mpdconf|<br />
music_directory "/home/USER/music" # Keep commented if your XDG directory already points to it<br />
playlist_directory "/home/USER/.mpd/playlists"<br />
db_file "/home/USER/.mpd/mpd.db"<br />
log_file "/home/USER/.mpd/mpd.log"<br />
pid_file "/home/USER/.mpd/mpd.pid"<br />
state_file "/home/USER/.mpd/mpdstate"<br />
}}<br />
<br />
MPD can now be started by typing {{ic|mpd}} on the command line.<br />
To have MPD start with the X server add it to {{ic|~/.xinitrc}} or create a {{ic|.desktop}} if using a common desktop and save it to {{ic|~/.config/autostart/mpd.desktop}}:<br />
<br />
{{hc|mpd.desktop|2=<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Version=0.9.4<br />
Type=Application<br />
Name=Music Player Daemon<br />
Comment=<br />
Exec=mpd<br />
StartupNotify=false<br />
Terminal=false<br />
Hidden=false<br />
}}<br />
<br />
==== Scripted Configuration ====<br />
Rasi has written a script that will create the proper directory structure, configuration files and prompt for the location of the user's Music directory; it can be downloaded [http://karif.server-speed.net/~carnager/mpdsetup.tar here].<br />
<br />
=== Multi-mpd setup ===<br />
'''Useful if running an icecast server.'''<br />
<br />
For a second MPD (e.g., with icecast output to share music over the network) using the same music and playlist as the one above, simply copy the above configuration file and make a new file (e.g., {{ic|/home/username/.mpd/config-icecast}}), and only change the log_file, error_file, pid_file, and state_file parameters (e.g., {{ic|mpd-icecast.log}}, {{ic|mpd-icecast.error}}, and so on); using the same directory paths for the music and playlist directories would ensure that this second mpd would use the same music collection as the first one e.g., creating and editing a playlist under the first daemon would affect the second daemon as well. Users do not have to create the same playlists all over again for the second daemon. Call this second daemon the same way from {{ic|~/.xinitrc}} above. (Just be sure to have a different port number, so as to not conflict with the first mpd daemon).<br />
<br />
== Clients ==<br />
A separate client is needed to control mpd. Popular options are:<br />
<br />
=== Console ===<br />
*{{App|mpc|Simple KISS client. All basic functionality available|http://mpd.wikia.com/wiki/Client:Mpc|{{Pkg|mpc}}}}<br />
*{{App|ncmpc|A NCurses client for mpd|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Pkg|ncmpc}}}}<br />
*{{App|ncmpcpp|An almost exact clone of ncmpc with some new features written in C++ (tag editor, search engine)|http://unkart.ovh.org/ncmpcpp/|{{Pkg|ncmpcpp}}}}<br />
*{{App|pms|Highly configurable and accessible ncurses client|http://pms.sourceforge.net/|{{AUR|pmus}}}}<br />
=== Graphical ===<br />
*{{App|Ario|A very feature-rich GTK2 GUI client for mpd, inspired by Rhythmbox|http://ario-player.sourceforge.net/|{{Pkg|ario}}}}<br />
*{{App|QmpdClient|A GUI client written with Qt 4.x|http://bitcheese.net/wiki/QMPDClient|{{Pkg|qmpdclient}}}}<br />
*{{App|Sonata|An elegant Python GTK+ client|http://sonata.berlios.de/|{{Pkg|sonata}}}}<br />
*{{App|gmpc|GNOME Client|http://gmpc.wikia.com/wiki/Gnome_Music_Player_Client|{{Pkg|gmpc}}}}<br />
*{{App|Dpmc|Dmenu-based MPC client with a playlist manager and state-saving on playlist changes|http://wintervenom.mine.nu/|{{AUR|dmpc}}}}<br />
<br />
=== Web ===<br />
*{{App|Patchfork|web client for MPD written in PHP and Ajax|http://mpd.wikia.com/wiki/Client:Pitchfork|{{AUR|patchfork-git}}}}.<br />
<br />
See a long list of clients at the [http://mpd.wikia.com/wiki/Clients mpd wiki].<br />
<br />
== External links ==<br />
* [http://mpd.wikia.com/wiki/Clients Sorted List of MPD Clients]<br />
* [http://www.musicpd.org/forum/ MPD forum]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Music_Player_Daemon&diff=203415Music Player Daemon2012-06-01T21:53:08Z<p>Anonymous user: /* Local Configuration (per user) */</p>
<hr />
<div>[[Category:Audio/Video]]<br />
[[Category:Daemons and system services]]<br />
[[de:Music Player Daemon]]<br />
[[fr:MPD]]<br />
[[tr:Music_Player_Daemon]]<br />
{{i18n|Music Player Daemon}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Installation, configuration and basic troubleshooting of MPD.}}<br />
{{Article summary heading|Required software}}<br />
{{Article summary link|Music Player Daemon|http://mpd.wikia.com}}<br />
{{Article summary heading|Related Articles}}<br />
{{Article summary wiki|MPD/Tips and Tricks}}<br />
{{Article summary wiki|MPD/Troubleshooting}}<br />
{{Article summary heading|Other sources}}<br />
{{Article summary text|[[Wikipedia:MPD|Wikipedia article]]}}<br />
{{Article summary end}}<br />
<br />
'''MPD''' ('''m'''usic '''p'''layer '''d'''aemon) is an audio player that has a server-client architecture. It plays audio files, organizes playlists and maintains a music database all while using very few resources. In order to interface with it, a separate [[#Clients|client]] is needed.<br />
<br />
== Installation ==<br />
[[pacman|Install]] {{Pkg|mpd}}, available in the [[official repositories]].<br />
<br />
== Setup ==<br />
MPD is able to run globally (settings apply to all users), locally (per user settings), and in multiple instances.<br />
The way of setting up mpd depends on the way it is supposed to be used.<br />
A local configuration may prove more useful on a desktop system than on a system that is used by several people simultaneously.<br />
<br />
For a comfortable use, it is sensible to provide MPD access to the following files and directories:<br />
mpd.db # The music database<br />
mpd.pid # The file where mpd stores its process ID<br />
mpd.log # mpd logs here<br />
mpdstate # mpd's current state is noted here<br />
playlists # the folder where playlists are saved into<br />
<br />
In order for MPD to be able to play back audio, [[ALSA]] or [[PulseAudio]] needs to be setup and working.<br />
<br />
=== Global Configuration ===<br />
{{Note|For a user-specific permissions, change the "user" line above to reflect one of the system users.}}<br />
{{Warning|Users making use of PulseAudio will not be able to correctly use mpd when the daemon is set to run as its own user!}}<br />
<br />
MPD comes with an example configuration file, available at {{ic|/usr/share/mpd/mpd.conf.example}}. This file holds an abundance of information on MPD configuration, and holds default mixer values.<br />
<br />
Copy the included example file to {{ic|/etc/mpd.conf}}.<br />
# cp /usr/share/doc/mpd/mpdconf.example /etc/mpd.conf<br />
<br />
==== Editing mpd.conf ====<br />
The default Arch install keeps the setup in {{ic|/var}} and uses "mpd" as default user.<br />
<br />
Edit {{ic|/etc/mpd.conf}} to reflect as such:<br />
{{hc|/etc/mpd.conf|<br />
music_directory "/home/user/music"<br />
playlist_directory "/var/lib/mpd/playlists"<br />
db_file "/var/lib/mpd/mpd.db"<br />
log_file "/var/log/mpd/mpd.log"<br />
pid_file "/var/run/mpd/mpd.pid"<br />
state_file "/var/lib/mpd/mpdstate"<br />
user "mpd"<br />
# bind_to_address "127.0.0.1"<br />
# port "6600"<br />
}}<br />
<br />
To change the volume of audio from mpd independent of other programs, uncomment or add the switch in mpd.conf:<br />
<br />
{{hc|/etc/mpd.conf|<br />
mixer_type "software"<br />
}}<br />
<br />
Users of [[PulseAudio]] will need to make the following modification:<br />
{{hc|/etc/mpd.conf|2=<br />
audio_output {<br />
type "pulse"<br />
name "pulse audio"<br />
}<br />
}}<br />
<br />
Users of [[ALSA]] will want to have the following device definition, which allows the software volume control in your MPD client to control the volume separately from other applications.<br />
{{hc|/etc/mpd.conf|2=<br />
audio_output {<br />
type "alsa"<br />
name "My Sound Card"<br />
mixer_type "software" # optional<br />
}<br />
}}<br />
Note that if you change the group that MPD runs as, you will get errors like "output: Failed to open "My ALSA Device"" "[alsa]: Failed to open ALSA device "default": No such file or directory" "player_thread: problems opening audio device while playing "Song Name.mp3""<br />
<br />
This is because by default MPD runs as member of '''audio''' group and the sound devices under {{Ic|/dev/snd/}} are owned by this group.<br />
<br />
===== Music directory =====<br />
MPD needs to have {{ic|+x}} permissions on ''all'' parent directories to the music collection (ie. if it's located outside of "mpd" home directory {{ic|/var/lib/mpd}}). By default useradd sets permissions on home directories to {{ic|1700 drwx------}}. Thus users will most likely need to remount the music directory under a directory that mpd has access to -- this only applies if running as the 'mpd' user.<br />
<br />
# mkdir /var/lib/mpd/music<br />
# echo "/home/$USER/music /var/lib/mpd/music none bind" >> /etc/fstab<br />
# mount -a<br />
# rc.d restart mpd<br />
See also [https://bbs.archlinux.org/viewtopic.php?id=86449 the forum thread.]<br />
<br />
An additional solution would be to just create a symbolic link into {{ic|/var/lib/mpd/music}}.<br />
# mkdir /var/lib/mpd/music<br />
# ln -s MUSIC_FOLDER /var/lib/mpd/music/<br />
# rc.d restart mpd<br />
<br />
If the music collection is contained under multiple directories, create symbolic links under the main music directory in {{ic|/var/lib/mpd}}. Remember to set permissions accordingly on the directories being linked.<br />
<br />
==== Creating the required files ====<br />
Now, having finished configuring MPD, the files and directories for MPD to write in need to be created:<br />
<br />
Create the directories and files specified in {{ic|/etc/mpd.conf}}:<br />
# mkdir -p /var/lib/mpd/playlists <br />
# touch /var/lib/mpd/{mpd.db,mpdstate} <br />
<br />
Usually the init-script should properly create {{ic|/var/run/mpd/}} when starting. The deamon will use this directory to create {{ic|mpd.pid}} in it. However: If you are running mpd as a different user, you will have to fix the init script: In {{ic|/etc/rc.d/mpd}} change the line<br />
<nowiki>[[</nowiki> -d /run/mpd <nowiki>]]</nowiki> || install -d -o mpd -g mpd /run/mpd<br />
to:<br />
<nowiki>[[</nowiki> -d /run/mpd <nowiki>]]</nowiki> || install -d -o ''username'' -g ''groupname'' /run/mpd<br />
<br />
Change the file's permissions so that the daemon can modify them.<br />
# chown -R mpd /var/lib/mpd<br />
<br />
==== Create database ====<br />
Creating the database is now accomplished via the update feature of the client, for example {{ic|mpc update}}. <br />
{{Box RED | Note: | Creating the MPD database as root using {{ic|# mpd --create-db}} is deprecated.}}<br />
<br />
==== Timeline of MPD startup ====<br />
To depict when MPD drops its superuser privileges and assumes those of the user set in the configuration, the timeline of a normal MPD startup is listed here:<br />
<br />
# MPD is started on boot by {{ic|/etc/rc.conf}}, by including it in the {{ic|DAEMONS}} array. (Or, this can be done manually each session by running {{ic|rc.d start mpd}} with root privileges).<br />
# Since MPD is now started as root, it first reads the {{ic|/etc/mpd.conf}} file.<br />
# MPD reads the user variable in the {{ic|/etc/mpd.conf}} file, and changes from root to this user.<br />
# MPD then reads the contents of the {{ic|/etc/mpd.conf}} file and configures itself accordingly.<br />
<br />
Notice that MPD changes the running user from root to the one named in the {{ic|/etc/mpd.conf}} file. <br />
This way, uses of {{ic|~}} in the configuration file point correctly to the home user's directory, and not root's directory. <br />
It may be worthwhile to change all uses of {{ic|~}} to {{ic|/home/username}} to avoid any confusion over this aspect of MPD's behavior.<br />
<br />
=== Local Configuration (per user) ===<br />
MPD does not need to be run globally as a daemon and can rather work per user. <br />
The usual method to configure MPD globally is because the listed files and folders in the default configuration file point to directories owned by root (the {{ic|/var}} directory). <br />
A less used (but perhaps more sensible) method is to make MPD work with files and directories owned by a normal user.<br />
Running MPD as a normal user has the benefits of:<br />
<br />
# A single directory {{ic|~/.mpd}} (or any other directory under {{ic|/home/username}}) that will contain all the MPD configuration files.<br />
# Easier to avoid unforeseen read/write permission errors.<br />
{{Note|This approach will not work with multiple users to having access to MPD at the same time.}}<br />
<br />
Begin the setup by creating a directory for the required files and the playlists:<br />
<br />
{{bc|mkdir -p ~/.mpd/playlists}}<br />
<br />
Copy the contents of the default MPD configuration file in {{ic|/usr/share/mpd/mpd.conf.example}} to the target user's home directory:<br />
<br />
{{bc|cp /usr/share/doc/mpd/mpdconf.example ~/.mpdconf}}<br />
<br />
Create all of the requisite files:<br />
<br />
{{bc|<nowiki>touch ~/.mpd/{mpd.db,mpd.log,mpd.pid,mpdstate}</nowiki>}}<br />
<br />
Edit {{ic|~/.mpdconf}} to specify these files:<br />
<br />
{{hc|~/.mpdconf|<br />
music_directory "/home/USER/music" # Keep commented if your XDG directory already points to it<br />
playlist_directory "/home/USER/.mpd/playlists"<br />
db_file "/home/USER/.mpd/mpd.db"<br />
log_file "/home/USER/.mpd/mpd.log"<br />
pid_file "/home/USER/.mpd/mpd.pid"<br />
state_file "/home/USER/.mpd/mpdstate"<br />
}}<br />
<br />
MPD can now be started by typing {{ic|mpd}} on the command line.<br />
To have MPD start with the X server add it to {{ic|~/.xinitrc}} or create a {{ic|.desktop}} if using a common desktop and save it to {{ic|~/.config/autostart/mpd.desktop}}:<br />
<br />
{{hc|mpd.desktop|2=<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Version=0.9.4<br />
Type=Application<br />
Name=Music Player Daemon<br />
Comment=<br />
Exec=mpd<br />
StartupNotify=false<br />
Terminal=false<br />
Hidden=false<br />
}}<br />
<br />
==== Scripted Configuration ====<br />
Rasi has written a script that will create the proper directory structure, configuration files and prompt for the location of the user's Music directory; it can be downloaded [http://karif.server-speed.net/~carnager/mpdsetup.tar here].<br />
<br />
=== Multi-mpd setup ===<br />
'''Useful if running an icecast server.'''<br />
<br />
For a second MPD (e.g., with icecast output to share music over the network) using the same music and playlist as the one above, simply copy the above configuration file and make a new file (e.g., {{ic|/home/username/.mpd/config-icecast}}), and only change the log_file, error_file, pid_file, and state_file parameters (e.g., {{ic|mpd-icecast.log}}, {{ic|mpd-icecast.error}}, and so on); using the same directory paths for the music and playlist directories would ensure that this second mpd would use the same music collection as the first one e.g., creating and editing a playlist under the first daemon would affect the second daemon as well. Users do not have to create the same playlists all over again for the second daemon. Call this second daemon the same way from {{ic|~/.xinitrc}} above. (Just be sure to have a different port number, so as to not conflict with the first mpd daemon).<br />
<br />
== Clients ==<br />
A separate client is needed to control mpd. Popular options are:<br />
<br />
=== Console ===<br />
*{{App|mpc|Simple KISS client. All basic functionality available|http://mpd.wikia.com/wiki/Client:Mpc|{{Pkg|mpc}}}}<br />
*{{App|ncmpc|A NCurses client for mpd|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Pkg|ncmpc}}}}<br />
*{{App|ncmpcpp|An almost exact clone of ncmpc with some new features written in C++ (tag editor, search engine)|http://unkart.ovh.org/ncmpcpp/|{{Pkg|ncmpcpp}}}}<br />
*{{App|pms|Highly configurable and accessible ncurses client|http://pms.sourceforge.net/|{{AUR|pmus}}}}<br />
=== Graphical ===<br />
*{{App|Ario|A very feature-rich GTK2 GUI client for mpd, inspired by Rhythmbox|http://ario-player.sourceforge.net/|{{Pkg|ario}}}}<br />
*{{App|QmpdClient|A GUI client written with Qt 4.x|http://bitcheese.net/wiki/QMPDClient|{{Pkg|qmpdclient}}}}<br />
*{{App|Sonata|An elegant Python GTK+ client|http://sonata.berlios.de/|{{Pkg|sonata}}}}<br />
*{{App|gmpc|GNOME Client|http://gmpc.wikia.com/wiki/Gnome_Music_Player_Client|{{Pkg|gmpc}}}}<br />
*{{App|Dpmc|Dmenu-based MPC client with a playlist manager and state-saving on playlist changes|http://wintervenom.mine.nu/|{{AUR|dmpc}}}}<br />
<br />
=== Web ===<br />
*{{App|Patchfork|web client for MPD written in PHP and Ajax|http://mpd.wikia.com/wiki/Client:Pitchfork|{{AUR|patchfork-git}}}}.<br />
<br />
See a long list of clients at the [http://mpd.wikia.com/wiki/Clients mpd wiki].<br />
<br />
== External links ==<br />
* [http://mpd.wikia.com/wiki/Clients Sorted List of MPD Clients]<br />
* [http://www.musicpd.org/forum/ MPD forum]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Music_Player_Daemon&diff=203414Music Player Daemon2012-06-01T21:52:42Z<p>Anonymous user: /* Global Configuration */</p>
<hr />
<div>[[Category:Audio/Video]]<br />
[[Category:Daemons and system services]]<br />
[[de:Music Player Daemon]]<br />
[[fr:MPD]]<br />
[[tr:Music_Player_Daemon]]<br />
{{i18n|Music Player Daemon}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|Installation, configuration and basic troubleshooting of MPD.}}<br />
{{Article summary heading|Required software}}<br />
{{Article summary link|Music Player Daemon|http://mpd.wikia.com}}<br />
{{Article summary heading|Related Articles}}<br />
{{Article summary wiki|MPD/Tips and Tricks}}<br />
{{Article summary wiki|MPD/Troubleshooting}}<br />
{{Article summary heading|Other sources}}<br />
{{Article summary text|[[Wikipedia:MPD|Wikipedia article]]}}<br />
{{Article summary end}}<br />
<br />
'''MPD''' ('''m'''usic '''p'''layer '''d'''aemon) is an audio player that has a server-client architecture. It plays audio files, organizes playlists and maintains a music database all while using very few resources. In order to interface with it, a separate [[#Clients|client]] is needed.<br />
<br />
== Installation ==<br />
[[pacman|Install]] {{Pkg|mpd}}, available in the [[official repositories]].<br />
<br />
== Setup ==<br />
MPD is able to run globally (settings apply to all users), locally (per user settings), and in multiple instances.<br />
The way of setting up mpd depends on the way it is supposed to be used.<br />
A local configuration may prove more useful on a desktop system than on a system that is used by several people simultaneously.<br />
<br />
For a comfortable use, it is sensible to provide MPD access to the following files and directories:<br />
mpd.db # The music database<br />
mpd.pid # The file where mpd stores its process ID<br />
mpd.log # mpd logs here<br />
mpdstate # mpd's current state is noted here<br />
playlists # the folder where playlists are saved into<br />
<br />
In order for MPD to be able to play back audio, [[ALSA]] or [[PulseAudio]] needs to be setup and working.<br />
<br />
=== Global Configuration ===<br />
{{Note|For a user-specific permissions, change the "user" line above to reflect one of the system users.}}<br />
{{Warning|Users making use of PulseAudio will not be able to correctly use mpd when the daemon is set to run as its own user!}}<br />
<br />
MPD comes with an example configuration file, available at {{ic|/usr/share/mpd/mpd.conf.example}}. This file holds an abundance of information on MPD configuration, and holds default mixer values.<br />
<br />
Copy the included example file to {{ic|/etc/mpd.conf}}.<br />
# cp /usr/share/doc/mpd/mpdconf.example /etc/mpd.conf<br />
<br />
==== Editing mpd.conf ====<br />
The default Arch install keeps the setup in {{ic|/var}} and uses "mpd" as default user.<br />
<br />
Edit {{ic|/etc/mpd.conf}} to reflect as such:<br />
{{hc|/etc/mpd.conf|<br />
music_directory "/home/user/music"<br />
playlist_directory "/var/lib/mpd/playlists"<br />
db_file "/var/lib/mpd/mpd.db"<br />
log_file "/var/log/mpd/mpd.log"<br />
pid_file "/var/run/mpd/mpd.pid"<br />
state_file "/var/lib/mpd/mpdstate"<br />
user "mpd"<br />
# bind_to_address "127.0.0.1"<br />
# port "6600"<br />
}}<br />
<br />
To change the volume of audio from mpd independent of other programs, uncomment or add the switch in mpd.conf:<br />
<br />
{{hc|/etc/mpd.conf|<br />
mixer_type "software"<br />
}}<br />
<br />
Users of [[PulseAudio]] will need to make the following modification:<br />
{{hc|/etc/mpd.conf|2=<br />
audio_output {<br />
type "pulse"<br />
name "pulse audio"<br />
}<br />
}}<br />
<br />
Users of [[ALSA]] will want to have the following device definition, which allows the software volume control in your MPD client to control the volume separately from other applications.<br />
{{hc|/etc/mpd.conf|2=<br />
audio_output {<br />
type "alsa"<br />
name "My Sound Card"<br />
mixer_type "software" # optional<br />
}<br />
}}<br />
Note that if you change the group that MPD runs as, you will get errors like "output: Failed to open "My ALSA Device"" "[alsa]: Failed to open ALSA device "default": No such file or directory" "player_thread: problems opening audio device while playing "Song Name.mp3""<br />
<br />
This is because by default MPD runs as member of '''audio''' group and the sound devices under {{Ic|/dev/snd/}} are owned by this group.<br />
<br />
===== Music directory =====<br />
MPD needs to have {{ic|+x}} permissions on ''all'' parent directories to the music collection (ie. if it's located outside of "mpd" home directory {{ic|/var/lib/mpd}}). By default useradd sets permissions on home directories to {{ic|1700 drwx------}}. Thus users will most likely need to remount the music directory under a directory that mpd has access to -- this only applies if running as the 'mpd' user.<br />
<br />
# mkdir /var/lib/mpd/music<br />
# echo "/home/$USER/music /var/lib/mpd/music none bind" >> /etc/fstab<br />
# mount -a<br />
# rc.d restart mpd<br />
See also [https://bbs.archlinux.org/viewtopic.php?id=86449 the forum thread.]<br />
<br />
An additional solution would be to just create a symbolic link into {{ic|/var/lib/mpd/music}}.<br />
# mkdir /var/lib/mpd/music<br />
# ln -s MUSIC_FOLDER /var/lib/mpd/music/<br />
# rc.d restart mpd<br />
<br />
If the music collection is contained under multiple directories, create symbolic links under the main music directory in {{ic|/var/lib/mpd}}. Remember to set permissions accordingly on the directories being linked.<br />
<br />
==== Creating the required files ====<br />
Now, having finished configuring MPD, the files and directories for MPD to write in need to be created:<br />
<br />
Create the directories and files specified in {{ic|/etc/mpd.conf}}:<br />
# mkdir -p /var/lib/mpd/playlists <br />
# touch /var/lib/mpd/{mpd.db,mpdstate} <br />
<br />
Usually the init-script should properly create {{ic|/var/run/mpd/}} when starting. The deamon will use this directory to create {{ic|mpd.pid}} in it. However: If you are running mpd as a different user, you will have to fix the init script: In {{ic|/etc/rc.d/mpd}} change the line<br />
<nowiki>[[</nowiki> -d /run/mpd <nowiki>]]</nowiki> || install -d -o mpd -g mpd /run/mpd<br />
to:<br />
<nowiki>[[</nowiki> -d /run/mpd <nowiki>]]</nowiki> || install -d -o ''username'' -g ''groupname'' /run/mpd<br />
<br />
Change the file's permissions so that the daemon can modify them.<br />
# chown -R mpd /var/lib/mpd<br />
<br />
==== Create database ====<br />
Creating the database is now accomplished via the update feature of the client, for example {{ic|mpc update}}. <br />
{{Box RED | Note: | Creating the MPD database as root using {{ic|# mpd --create-db}} is deprecated.}}<br />
<br />
==== Timeline of MPD startup ====<br />
To depict when MPD drops its superuser privileges and assumes those of the user set in the configuration, the timeline of a normal MPD startup is listed here:<br />
<br />
# MPD is started on boot by {{ic|/etc/rc.conf}}, by including it in the {{ic|DAEMONS}} array. (Or, this can be done manually each session by running {{ic|rc.d start mpd}} with root privileges).<br />
# Since MPD is now started as root, it first reads the {{ic|/etc/mpd.conf}} file.<br />
# MPD reads the user variable in the {{ic|/etc/mpd.conf}} file, and changes from root to this user.<br />
# MPD then reads the contents of the {{ic|/etc/mpd.conf}} file and configures itself accordingly.<br />
<br />
Notice that MPD changes the running user from root to the one named in the {{ic|/etc/mpd.conf}} file. <br />
This way, uses of {{ic|~}} in the configuration file point correctly to the home user's directory, and not root's directory. <br />
It may be worthwhile to change all uses of {{ic|~}} to {{ic|/home/username}} to avoid any confusion over this aspect of MPD's behavior.<br />
<br />
=== Local Configuration (per user) ===<br />
MPD does not need to be run globally as a daemon and can rather work per user. <br />
The usual method to configure MPD globally is because the listed files and folders in the default configuration file point to directories owned by root (the {{ic|/var}} directory). <br />
A less used (but perhaps more sensible) method is to make MPD work with files and directories owned by a normal user.<br />
Running MPD as a normal user has the benefits of:<br />
<br />
# A single directory {{ic|~/.mpd}} (or any other directory under {{ic|/home/username}}) that will contain all the MPD configuration files.<br />
# Easier to avoid unforeseen read/write permission errors.<br />
{{Note|This approach will not work with multiple users to having access to MPD at the same time.}}<br />
<br />
Begin the setup by creating a directory for the required files and the playlists:<br />
<br />
{{bc|mkdir -p ~/.mpd/playlists}}<br />
<br />
Copy the contents of the default MPD configuration file in {{ic|/usr/share/mpd/mpd.conf.example}} to the target user's home directory:<br />
<br />
{{bc|cp /usr/share/mpd/mpd.conf.example ~/.mpdconf}}<br />
<br />
Create all of the requisite files:<br />
<br />
{{bc|<nowiki>touch ~/.mpd/{mpd.db,mpd.log,mpd.pid,mpdstate}</nowiki>}}<br />
<br />
Edit {{ic|~/.mpdconf}} to specify these files:<br />
<br />
{{hc|~/.mpdconf|<br />
music_directory "/home/USER/music" # Keep commented if your XDG directory already points to it<br />
playlist_directory "/home/USER/.mpd/playlists"<br />
db_file "/home/USER/.mpd/mpd.db"<br />
log_file "/home/USER/.mpd/mpd.log"<br />
pid_file "/home/USER/.mpd/mpd.pid"<br />
state_file "/home/USER/.mpd/mpdstate"<br />
}}<br />
<br />
MPD can now be started by typing {{ic|mpd}} on the command line.<br />
To have MPD start with the X server add it to {{ic|~/.xinitrc}} or create a {{ic|.desktop}} if using a common desktop and save it to {{ic|~/.config/autostart/mpd.desktop}}:<br />
<br />
{{hc|mpd.desktop|2=<br />
[Desktop Entry]<br />
Encoding=UTF-8<br />
Version=0.9.4<br />
Type=Application<br />
Name=Music Player Daemon<br />
Comment=<br />
Exec=mpd<br />
StartupNotify=false<br />
Terminal=false<br />
Hidden=false<br />
}}<br />
<br />
==== Scripted Configuration ====<br />
Rasi has written a script that will create the proper directory structure, configuration files and prompt for the location of the user's Music directory; it can be downloaded [http://karif.server-speed.net/~carnager/mpdsetup.tar here].<br />
<br />
=== Multi-mpd setup ===<br />
'''Useful if running an icecast server.'''<br />
<br />
For a second MPD (e.g., with icecast output to share music over the network) using the same music and playlist as the one above, simply copy the above configuration file and make a new file (e.g., {{ic|/home/username/.mpd/config-icecast}}), and only change the log_file, error_file, pid_file, and state_file parameters (e.g., {{ic|mpd-icecast.log}}, {{ic|mpd-icecast.error}}, and so on); using the same directory paths for the music and playlist directories would ensure that this second mpd would use the same music collection as the first one e.g., creating and editing a playlist under the first daemon would affect the second daemon as well. Users do not have to create the same playlists all over again for the second daemon. Call this second daemon the same way from {{ic|~/.xinitrc}} above. (Just be sure to have a different port number, so as to not conflict with the first mpd daemon).<br />
<br />
== Clients ==<br />
A separate client is needed to control mpd. Popular options are:<br />
<br />
=== Console ===<br />
*{{App|mpc|Simple KISS client. All basic functionality available|http://mpd.wikia.com/wiki/Client:Mpc|{{Pkg|mpc}}}}<br />
*{{App|ncmpc|A NCurses client for mpd|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Pkg|ncmpc}}}}<br />
*{{App|ncmpcpp|An almost exact clone of ncmpc with some new features written in C++ (tag editor, search engine)|http://unkart.ovh.org/ncmpcpp/|{{Pkg|ncmpcpp}}}}<br />
*{{App|pms|Highly configurable and accessible ncurses client|http://pms.sourceforge.net/|{{AUR|pmus}}}}<br />
=== Graphical ===<br />
*{{App|Ario|A very feature-rich GTK2 GUI client for mpd, inspired by Rhythmbox|http://ario-player.sourceforge.net/|{{Pkg|ario}}}}<br />
*{{App|QmpdClient|A GUI client written with Qt 4.x|http://bitcheese.net/wiki/QMPDClient|{{Pkg|qmpdclient}}}}<br />
*{{App|Sonata|An elegant Python GTK+ client|http://sonata.berlios.de/|{{Pkg|sonata}}}}<br />
*{{App|gmpc|GNOME Client|http://gmpc.wikia.com/wiki/Gnome_Music_Player_Client|{{Pkg|gmpc}}}}<br />
*{{App|Dpmc|Dmenu-based MPC client with a playlist manager and state-saving on playlist changes|http://wintervenom.mine.nu/|{{AUR|dmpc}}}}<br />
<br />
=== Web ===<br />
*{{App|Patchfork|web client for MPD written in PHP and Ajax|http://mpd.wikia.com/wiki/Client:Pitchfork|{{AUR|patchfork-git}}}}.<br />
<br />
See a long list of clients at the [http://mpd.wikia.com/wiki/Clients mpd wiki].<br />
<br />
== External links ==<br />
* [http://mpd.wikia.com/wiki/Clients Sorted List of MPD Clients]<br />
* [http://www.musicpd.org/forum/ MPD forum]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=164410List of applications2011-10-07T04:51:02Z<p>Anonymous user: /* Compression Tools */</p>
<hr />
<div>[[Category:Software (English)]]<br />
{{i18n|Common Applications}}<br />
==Backup programs==<br />
{{Box||See the article on this subject: [[Backup Programs]]|#E5E5FF|#FCFCFC}}<br />
*{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{Package Official|dar}}}}<br />
*{{App|[[Duplicity|duplicity]]|A utility for encrypted, bandwidth-efficient backups using the rsync algorithm|http://www.nongnu.org/duplicity/|{{Package Official|duplicity}}}}<br />
*{{App|Packrat|A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3|http://www.zeroflux.org/projects|{{Package AUR|packrat}}}}<br />
*{{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups|http://www.nongnu.org/rdiff-backup/|{{Package Official|rdiff-backup}}}}<br />
*{{App|rsnapshot|A remote filesystem snapshot utility|http://www.rsnapshot.org/|{{Package Official|rsnapshot}}}}<br />
*{{App|[[Rsync|rsync]]|A file transfer program to keep remote files in sync|http://rsync.samba.org/|{{Package Official|rsync}}}}<br />
*{{App|Safekeep|A client/server backup system which enhances the power of rdiff-backup|http://safekeep.sourceforge.net/|{{Package AUR|safekeep}}}}<br />
*{{App|Unison|Synchronizes files between two machines over network (Lan or Inet) using smart diff method + rsync, allows one to interactively choose which changes to push, pull, or merge. |http://www.cis.upenn.edu/~bcpierce/unison/|{{Package Official|unison}}}}<br />
<br />
==Internet==<br />
===BitTorrent Clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of BitTorrent clients}}<br />
*{{App|[[aria2]]|Command-line download manager that supports HTTP/HTTPS, FTP, BitTorrent and MetaLink protocols|http://aria2.sourceforge.net/|{{Package Official|aria2}}}}<br />
*{{App|[[Deluge]]|User-friendly BitTorrent client written in Python and wrapped with PyGTK|http://deluge-torrent.org/|{{Package Official|deluge}}}}<br />
*{{App|[[Wikipedia:KTorrent|KTorrent]]|Feature-rich BitTorrent client developed using Qt|http://ktorrent.org/|{{Package Official|ktorrent}}}}<br />
*{{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client supporting BitTorrent|http://mldonkey.sourceforge.net/|{{Package Official|mldonkey}}}}<br />
*{{App|[[Wikipedia:QBittorrent|qBittorrent]]|The closest open source (GNU GPL v2 license) equivalent to µtorrent|http://qbittorrent.sourceforge.net/|{{Package Official|qbittorrent}}}}<br />
*{{App|[[rTorrent]]|Simple and lightweight ncurses BitTorrent client|http://libtorrent.rakshasa.no/|{{Package Official|rtorrent}}}}<br />
*{{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|Simple and easy-to-use BitTorrent client with daemon version and (GTK+) GUI, web and CLI front-ends|http://www.transmissionbt.com/|{{Package Official|transmission}}}}<br />
*{{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus)|http://www.vuze.com/|{{Package Official|vuze}}}}<br />
<br />
===eDonkey Clients===<br />
eDonkey is still the second-largest p2p network (see [http://www.ipoque.com/en/resources/internet-studies Internet Study 2008/2009]).<br />
*{{App|[[aMule]]|Well-known eDonkey/Kad client with daemon version and GTK, web, and CLI front-ends|http://www.amule.org/|{{Package Official|amule}}}}<br />
<br />
===Chat Clients===<br />
====IRC Clients====<br />
{{Wikipedia|Comparison of Internet_Relay_Chat_clients}}<br />
* {{App|Conspire|Lightweight, simple, and powerful|http://nenolod.net/|{{Package AUR|conspire-client}}}}<br />
* {{App|ERC|A powerful, modular, and extensible IRC client for [[Emacs]]|http://erc.sourceforge.net/|{{Package AUR|erc-git}}}}<br />
* {{App|II|A featherweight IRC client, literally `tail -f` the convo and `echo` back your replies|http://tools.suckless.org/ii|}}<br />
* {{App|Ircfs|A file system interface to irc written in [http://limbo.cat-v.org Limbo]|http://www.ueber.net/code/r/ircfs|}}<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client|http://www.irssi.org/|{{Package Official|irssi}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE4 desktop|http://konversation.kde.org/|{{Package Official|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support|http://www.kvirc.net/|{{Package Official|kvirc}}}}<br />
* {{App|Loqui|A GTK IRC client with only one dependency|https://launchpad.net/loqui|{{Package AUR|loqui}}}}<br />
* {{App|LostIRC|A simple IRC client|http://lostirc.sourceforge.net|{{Package AUR|lostirc}}}}<br />
* {{App|pcw|A frontend for [http://tools.suckless.org/ii ii] that opens a new terminal for each channel (depends on [http://bitbucket.org/emg/srw srw] by default)|http://bitbucket.org/emg/pcw|}}<br />
* {{App|ScrollZ|An advanced IRC client based on ircII|http://www.scrollz.com|{{Package AUR|scrollz}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|Modular, lightweight ncurses-based IRC client|http://www.weechat.org/|{{Package Official|weechat}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|GTK-based IRC client|http://xchat.org/|{{Package Official|xchat}}}}<br />
<br />
==== Jabber/XMPP Clients ====<br />
* {{App|Freetalk|A console based Jabber client|http://www.gnu.org/software/freetalk/|{{Package Official|freetalk}}}}<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|Jabber client written in PyGTK|http://www.gajim.org/|{{Package Official|gajim}}}}<br />
* {{App|jabber.el|A minimal jabber client for emacs|http://emacs-jabber.sourceforge.net/|{{Package AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|A small Jabber console client, includes features: SSL, PGP, MUC, and UTF8|http://mcabber.com/|{{Package Official|mcabber}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt based Jabber client|http://psi-im.org/|{{Package Official|psi}}}}<br />
* {{App|Psi+|Psi+ is an enhanced version of Psi Jabber client.|http://code.google.com/p/psi-dev/|{{Package AUR|psi-plus}}}}<br />
* {{App|Finch| A CLI Jabber/aim/etc/etc chat client based on libpurple (part of Pidgin) |http://developer.pidgin.im/wiki/Using%20Finch|{{Package Official|finch}}}}<br />
<br />
==== MSN Clients ====<br />
* {{App|[[Wikipedia:AMSN|aMSN]]|MSN client written in Tcl/Tk|http://www.amsn-project.net/|{{Package Official|amsn}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A pygtk MSN Messenger client|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|Galaxium Messenger|A multi-protocol instant messenger application designed for the GNOME desktop|http://code.google.com/p/galaxium/|{{Package AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Kmess|KMess]]|KMess is a MSN Messenger client for Linux|http://kmess.org/|{{Package Official|kmess}}}}<br />
* {{App|[[Wikipedia:Mercury Messenger|Mercury]]|Java Based MSN client|http://www.mercury.im/|{{Package Official|mercury}}}}<br />
<br />
==== Multi-Protocol Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients}}<br />
<br />
* {{App|BarnOwl|A console chat client for the AIM, IRC, Jabber, and Zephyr protocols|http://barnowl.mit.edu/|{{Package AUR|barnowl}}}}<br />
* {{App|[[Bitlbee]]|A way to use other IM to your [[#IRC]] client|http://www.bitlbee.org/|{{Package Official|bitlbee}}}}<br />
* {{App|Carrier|Pidgin fork providing minor GUI enhancements (formerly funpidgin)|http://funpidgin.sourceforge.net/|{{Package AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Fork of CenterICQ - A text mode menu- and window-driven IM interface|http://www.centerim.org/index.php/Main_Page|{{Package Official|centerim}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A Python/GTK+ instant messenger for the Windows Live Messenger network|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messaging client using the Telepathy framework|http://live.gnome.org/Empathy|{{Package Official|empathy}}}}<br />
* {{App|Finch|A ncurses-based messaging client|http://pidgin.im/|{{Package Official|finch}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|Instant Messenger|http://www.kde.org/|{{Package Official|kopete}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client|http://pidgin.im/|{{Package Official|pidgin}}}}<br />
** {{App|Pidgin Light|A light Pidgin version without gstreamer, tcl, tk, xscreensaver support|http://www.pidgin.im/|{{Package AUR|pidgin-light}}}}<br />
* {{App|[[Wikipedia:QutIM|qutIM]]|Multiplatform instant messenger|http://qutim.org/|{{Package AUR|qutim}}}}<br />
<br />
===Email clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of e-mail clients}}<br />
====Console====<br />
*{{App|[[Alpine]]|The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)|http://www.washington.edu/alpine|{{Package Official|alpine}}}}<br />
*{{App|[[Wikipedia:Gnus|Gnus]]|mail, nntp, rss client for Emacs.|http://www.gnus.org/|[[package]]}}<br />
*{{App|[[Wikipedia:mailx|heirloom-mailx]]|A full-featured command-line MUA derived from Berkeley Mail.|http://heirloom.sourceforge.net/mailx.html|{{Package Official|heirloom-mailx}}}}<br />
*{{App|[[mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Package Official|mutt}}}}<br />
*{{App|[[Sup]]|A CLI mail client with very fast searching, tagging, threading and gmail like operation.|http://sup.rubyforge.org/|{{Package AUR|sup}}}}<br />
<br />
====Graphical====<br />
*{{App|[[Wikipedia:Claws Mail|Claws Mail]]|A GTK+ based e-mail client|http://www.claws-mail.org/|{{Package Official|claws-mail}}}}<br />
*{{App|[[Evolution]]|A mature and feature-rich e-mail client used in GNOME by default.|http://projects.gnome.org/evolution/|{{Package Official|evolution}}}}<br />
*{{App|[[Wikipedia:Kmail|Kmail]]|A mature and feature-rich e-mail client part of the kde project.|http://kontact.kde.org/kmail/{{Linkrot|2011|09|03}}|{{Package Official|kmail}}}}<br />
*{{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly e-mail client (GTK)|http://sylpheed.sraoss.jp/en/|{{Package AUR|sylpheed}}}}<br />
*{{App|[[Thunderbird]]|Mozilla's GTK2-based client.|http://www.mozillamessaging.com/en-US/|{{Package Official|thunderbird}}}}<br />
*{{App|[[Postler]]|simple desktop mail client built in vala.|http://git.xfce.org/apps/postler|{{Package AUR|postler}}}}<br />
<br />
===Network Managers===<br />
<!--Use the App template.--><br />
*{{App|[[Wicd|wicd]]|Manages wireless and wired interfaces, requiring fewer dependencies than other network managers. In addition to GUI interfaces, a curses version is also available.|http://wicd.sourceforge.net/|{{Package Official|wicd}}}}<br />
*{{App|[[netcfg]]|Network configuration and profile scripts|http://projects.archlinux.org/netcfg.git/|{{Package Official|netcfg}}}}<br />
<br />
===News Aggregators===<br />
{{Wikipedia|Comparison of feed aggregators}}<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[BlogBridge]] - Another excellent java-based aggregator http://www.blogbridge.com<br />
* {{App|[[Wikipedia:Canto_(news_aggregator)|Canto]]|A ncurses RSS aggregator|http://codezen.org/canto/|{{Package AUR|canto}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|A mail, nntp, rss client for Emacs|http://www.gnus.org/|{{Package AUR|emacs-gnus-git}}}}<br />
* {{App|[[Liferea]] | A GTK desktop news aggregator for online news feeds and weblogs| http://liferea.sourceforge.net|{{Package AUR|liferea}}}}<br />
* {{App|Newsbeuter|A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup|http://www.newsbeuter.org/|{{Package Official|newsbeuter}}}}<br />
* {{App|Rawdog|A "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order|http://offog.org/code/rawdog.html|{{Package AUR|rawdog}}}}<br />
* [[Rssowl]] - A powerful java-based RSS reader http://boreal.rssowl.org<br />
* {{App|Snownews|Text mode RSS newsreader|http://kiza.kcore.de/software/snownews/|{{Package Official|snownews}}}}<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
<br />
=== Web Browsers ===<br />
{{Wikipedia|Comparison of web browsers}}<br />
==== Text Based ====<br />
* {{App|[[Wikipedia:ELinks|ELinks]]|An advanced and well-established feature-rich text mode web browser|http://elinks.or.cz/|{{Package Official|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|A text WWW browser, similar to Lynx|http://links.twibright.com/|{{Package Official|links}}}}<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Abaco (web browser)|Abaco]]|A multi-page graphical web browser|http://lab-fgb.com/abaco/|{{Package AUR|abaco}}}}<br />
* {{App|[[Wikipedia:Arora (browser)|Arora]]|A cross platform web browser built using Qt and WebKit|http://code.google.com/p/arora/|{{Package Official|arora}}}}<br />
* {{App|[[Wikipedia:Conkeror|Conkeror]]|A highly programmable web browser based on Mozilla XULRunner|http://conkeror.org/|{{Package Official|conkeror}}}}<br />
* [[Chromium]] - The open-source project behind Google Chrome, a web browser developed by Google that uses the WebKit layout engine and application framework. http://code.google.com/chromium/<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|A small, fast graphical web browser built on FLTK|http://www.dillo.org/|{{Package Official|dillo}}}}<br />
* [[Epiphany]] - The default GNOME browser, which uses the webkit rendering engine. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering. http://www.mozilla.com/firefox/<br />
* {{App|Hv3|A minimalist web browser based on tkhtml3|http://tkhtml.tcl.tk/hv3.html|{{Package AUR|hv3}}}}<br />
* {{App|[[Jumanji]]|A highly customizable and functional web browser|http://pwmt.org/projects/jumanji|{{Package AUR|jumanji}}}}<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* {{App|Luakit| A highly configurable, micro-browser framework based on the WebKit web content engine and the GTK+ toolkit. It is very fast, extensible by Lua and licensed under the GNU GPLv3 license|http://luakit.org/projects/luakit/|{{Package Official|luakit}}}}<br />
* {{App|[[Wikipedia:Midori (web browser)|Midori]]| A lightweight web browser based on Gtk and WebKit. It passes the ACID3 test|http://www.twotoasts.de/index.php?/pages/midori_summary.html|{{Package Official|midori}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]| A featherweight browser written in C. Notable is its lack of JavaScript support and fast rendering through its own custom rendering engine|http://www.netsurf-browser.org Netsurf|{{Package Official|netsurf}}}}<br />
* [[Opera]] - Highly customizable browser with focuses on an adherence to web rendering standards http://www.opera.com/<br />
* {{App|[[wikipedia:Rekonq|Rekonq]]| A WebKit based web browser for KDE|http://rekonq.kde.org/|{{Package Official|rekonq}}}}<br />
* {{App|Sb|A very lightweight webkit-based browser that uses keybindings to perform most things the URL bar would usually do|https://github.com/mutantturkey/sb/|{{Package AUR|sb-git}}}} <br />
* {{App|Surf|Another lightweight WebKit-based browser, which follows the [[suck less philosophy|suckless ideology]]. Which means, the software is even more lightweight (basically, the browser itself is a single C source file)|http://surf.suckless.org|{{Package AUR|surf-hg}}}}<br />
* {{App|[[Vimprobable]]|A browser that behaves like the Vimperator plugin available for Mozilla Firefox. It is based on the WebKit engine (using GTK bindings)|http://vimprobable.org/|{{Package AUR|vimprobable}}}}<br />
* {{App|[[Wikipedia:Uzbl|Uzbl]]|Web interface tools which adhere to the unix philosophy|http://www.uzbl.org/|{{Package Official|uzbl-browser}}}}<br />
<br />
=== Microblogging Clients ===<br />
* [[Hotot]] - Hotot, is a lightweight & open source Microblogging Client, coding using Python language and designed for Linux. http://hotot.org<br />
* [[Gwibber]] - Gwibber is an open source microblogging client for Linux. It brings the most popular social networking web services to your desktop and gives you the ability to control how you communicate. http://gwibber.com/<br />
* [[Pino]] - Pino is a simple and fast X11 client for Twitter and Identi.ca. It is compiled to native code, which assures small size and speed, and thanks to use of Vala language it can perfectly integrate into your Gnome or XFCE desktop. http://pino-app.appspot.com/<br />
<br />
===FTP Clients===<br />
*{{App|[[curlftp]]| A filesystem for acessing FTP hosts based on FUSE and libcurl. |http://curlftpfs.sourceforge.net/|{{Package Official|curlftpfs}}}}<br />
*{{App|[[fuseftp]]| FTP filesystem written in Perl, using FUSE|http://freshmeat.net/projects/fuseftp/|{{Package AUR|fuseftp}}}}<br />
<br />
== Document Indexers ==<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
== Document Readers ==<br />
*{{App|apvlv|A lightweight PDF viewer with VIM key bindings|http://code.google.com/p/apvlv/|{{Package Official|apvlv}}}}<br />
*{{App|ePDFView|A free lightweight PDF document viewer using Poppler and GTK+ libraries|http://www.emma-soft.com/projects/epdfview/|{{Package Official|epdfview}}}}<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[[Foxit Reader]] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*{{App|llpp|A very fast PDF reader based off of MuPDF, that supports continuous page scrolling, bookmarking, and text search through the whole document|http://repo.or.cz/w/llpp.git|{{Package AUR|llpp}}}}<br />
*{{App|MuPDF|A very fast PDF viewer and toolkit written in portable C. Features CJK font support|http://ccxvii.net/mupdf|{{Package Official|mupdf}}}}<br />
*[[Okular]] r for KDE. http://okular.kde.org/<br />
*{{App|Xpdf|A viewer for Portable Document Format (PDF) files|http://www.foolabs.com/xpdf/|{{Package Official|xpdf}}}}<br />
*{{App|zathura|Another lightweight PDF viewer similar to apvlv, only lighter|http://zathura.pwmt.org/projects/zathura|{{Package Official|zathura}}}}<br />
<br />
== Multimedia ==<br />
=== Audio ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
===[[Music Player Daemon|Music player daemon]] clients===<br />
<br />
*{{App|Ario|A very feature-rich GTK2 client for [[mpd]], inspired by Rhythmbox|http://ario-player.sourceforge.net/|{{Package Official|ario}}}}<br />
*{{App|ncmpc|A curses client for [[mpd]]|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Package Official|ncmpc}}}}<br />
*{{App|ncmpcpp|An almost exact clone of ncmpc with some new features|http://unkart.ovh.org/ncmpcpp/|{{Package Official|ncmpcpp}}}}<br />
*{{App|QmpdClient|A Qt4 based mpd client|http://bitcheese.net/wiki/QMPDClient|{{Package Official|qmpdclient}}}}<br />
*{{App|Sonata|An elegant GTK+ music client for [[mpd]]|http://sonata.berlios.de/|{{Package Official|sonata}}}}<br />
<br />
====Console====<br />
*{{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{Package AUR|herrie}}}}<br />
*{{App|[[Wikipedia:Mpg123|Mpg123]]|A fast free MP3 console audio player for Linux, FreeBSD, Solaris, Hpux and near all other UNIX systems. Also decodes mp1 and mp2 files|http://www.mpg123.de/|{{Package Official|mpg123}}}}<br />
<br />
====Graphical====<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [http://ario-player.sourceforge.net/ Ario] - A GTK2 client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [http://www.atunes.org/ aTunes] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [http://banshee.fm/ Banshee] - yet another GTK2 iTunes clone, yet more feature-rich and more actively developed.<br />
* [http://www.clementine-player.org/ Clementine] - Amarok 1.4 ported to QT4<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Package Official|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{Package AUR|cplay}}}}<br />
* {{App|DeaDBeeF|A light and fast music player with many features, no GNOME or KDE dependencies, supports console-only and as well GTK2-gui, comes with many plugins, and has a metadata editor|http://deadbeef.sourceforge.net/|{{Package Official|deadbeef}}}}<br />
* [[Exaile]] - A GTK2 clone of Amarok<br />
* {{App|[[Goggles Music Manager]]|A music collection manager and player that automatically categorizes your music, supports gapless playback, features easy tag editing, and internet radio support|http://code.google.com/p/gogglesmm/|{{Package Official|gogglesmm}}}}<br />
* [http://guayadeque.org/ Guayadeque] - A full featured media player that can easily manage large collections and uses the Gstreamer media framework.<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Package Official|moc}}}}<br />
* [[Music Player Daemon]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [http://www.mpg123.org/ mpg123] - command line audio player.<br />
* [http://mpd.wikia.com/wiki/Client:Ncmpc ncmpc] - An ncurses-based front-end to mpd<br />
* [http://unkart.ovh.org/ncmpcpp/ ncmpcpp] - A clone of ncmpc with some new features written in C++<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{Package AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Package Official|pragha}}}}<br />
* [http://www.luga.de/pytone/ PyTone] - An advanced music jukebox with a console interface<br />
* [http://code.google.com/p/quodlibet/ Quod Libet] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK2 clone of iTunes, used by default in GNOME<br />
* [http://sonata.berlios.de/ Sonata] - A pygtk-based client for mpd<br />
* [http://getnightingale.com/ Nightingale] - ([http://getsongbird.com/ Songbird] for linux) an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP<br />
* [http://legacy.xmms2.org/ XMMS] - A skinnable GTK+1 standalone media player similar to winamp<br />
<br />
==== Visualization ====<br />
* [http://projectm.sourceforge.net/ projectM]<br />
<br />
==== Editing ====<br />
* [http://audacity.sourceforge.net/ Audacity]<br />
* [http://kwave.sourceforge.net/ Kwave]<br />
<br />
=== Graphics and Image Manipulation ===<br />
* [[Blender]]<br />
* [[Dia]]<br />
* [[Gimp]]<br />
* [[imagemagick]]<br />
* [[graphicsmagick]]<br />
* [[Inkscape]]<br />
* [[Krita]]<br />
* {{App|mtPaint|A a graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Package Official|mtpaint}}}}<br />
* [[Nathive]]<br />
* [[Shotwell]]<br />
* [[Xara]]<br />
* [[mypaint]]<br />
<br />
===Image Viewers===<br />
{{Wikipedia|Comparison of image viewers}}<br />
*{{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Package Official|feh}}}}<br />
*{{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Package Official|gpicview}}}}<br />
*{{App|[[Wikipedia:GQview|GQview]]|An image browser that features single click access to view images and move around the directory tree|http://gqview.sourceforge.net/|{{Package Official|gqview}}}}<br />
*{{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Package Official|geeqie}}}}<br />
*{{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Package Official|mirage}}}}<br />
*{{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Package Official|ristretto}}}}<br />
*{{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Package Official|qiv}}}}<br />
*{{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|http://xsisqox.github.com/Viewnior/about.html|{{Package Official|viewnior}}}}<br />
*{{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Package Official|xloadimage}}}}<br />
*{{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|http://github.com/muennich/sxiv|{{Package AUR|sxiv}}}}<br />
*{{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{Package AUR|galapix}}}}<br />
<!-- Broken links, need to be turned into App Templates.<br />
* [[Background Setter]]<br />
* [[eog]]<br />
* [[GQview]]<br />
* [[gThumb]]<br />
* [[Quick Image Viewer]]<br />
* [[XnView]]<br />
* [[xv]]<br />
* [[Picasa]]<br />
--><br />
<br />
=== Phone ===<br />
* [[moto4lin]]<br />
<br />
=== Video Players===<br />
{{Wikipedia|Comparison of video player software}}<br />
====Console====<br />
*{{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Package Official|mplayer}}}}<br />
<br />
====Graphical====<br />
*{{App|[[Wikipedia:Kdemultimedia#Dragon Player|Dragon Player]]|A simple video player for KDE 4 developed by Ian Monroe.|http://www.dragonplayer.net/|{{Package Official|kdemultimedia-dragonplayer}}}}<br />
*{{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Package Official|gnome-mplayer}}}}<br />
*{{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{Package AUR|parole}}}}<br />
*{{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Package Official|smplayer}}}}<br />
*{{App|[[Wikipedia:VLC media player|VLC media player]]|A middleweight video player with support for a wide variety of audio/video formats|http://www.videolan.org/vlc/|{{Package Official|vlc}}}}<br />
*{{App|[[Whaaw! Media Player]]|A lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who do not like all those GNOME dependencies.|http://home.gna.org/whaawmp/|[[package]]}}<br />
*{{App|Xnoise|A GTK+ media player for both audio and video with "a slick GUI, great speed and lots of features.". Uses gstreamer.|http://www.xnoise-media-player.com/|{{Package AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
* http://www.pitivi.org/ {{Package AUR|pitivi}}<br />
* http://lives.sourceforge.net/ {{Package AUR|lives}}<br />
* http://www.openmovieeditor.org/ {{Package Official|openmovieeditor}}<br />
* [http://www.openshotvideo.com/ openshotvideo]<br />
* http://www.avidemux.org/ {{Package Official|avidemux}}<br />
* http://kdenlive.org/ {{Package Official|kdenlive}}<br />
* [http://www.kinodv.org/ kinodv]<br />
* http://cinelerra.org/ {{Package Official|cinelerra-cv}}<br />
<br />
== Note Taking Organizers ==<br />
===Console===<br />
*{{App|todo.txt|Manages your Todo list from the command line|http://ginatrapani.github.com/todo.txt-cli/|{{Package AUR|todotxt}}}}<br />
*{{App|Taskwarrior|Another cli todo list application with support for lua customization and more|http://taskwarrior.org|Available in the community repository as "task".}}<br />
<br />
===Graphical===<br />
* {{Package AUR|KeepNote}} A cross-platform GTK note-taking app with rich text formatting [http://keepnote.org Home page]<br />
* {{Package AUR|glista}} with notes support [http://prematureoptimization.org/glista/downloads.php Home page]<br />
* [[hnb]] - A program to organize many kinds of data in one place [http://hnb.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home page]<br />
* {{App|[[Wikipedia:Org-mode|org-mode]]|An [[Emacs]] Mode for Notes, Project Planning, and Authoring|http://orgmode.org|{{Package AUR|emacs-org-mode}}}}<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home page]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home page]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [http://zim-wiki.org/ Home page]<br />
* [[Gnote]] - Gnote is an experimental port of Tomboy to C++ [http://live.gnome.org/Gnote Home page]<br />
* [[Cherrytree]] - A hierarchical note taking application [http://www.giuspen.com/cherrytree/ Home page]<br />
<br />
==Office suites==<br />
* [[Koffice]] - KOffice is a free, integrated office suite for KDE, the K Desktop Environment. http://www.koffice.org/<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
* [[LibreOffice]] - A fork of OpenOffice.org, which integrates various patches<br />
<br />
==Word processors==<br />
{{Wikipedia|Comparison of word processors}}<br />
*{{App|[[Abiword]]|A full-featured word processor|http://www.abisource.com/|{{Package Official|abiword}}}}<br />
**{{App|Abiword Light|A lighter version of Abiword|http://www.abisource.com/|{{Package AUR|abiword-light}}}}<br />
*{{App|[[Wikipedia:Markdown|Markdown]]|A text-to-HTML conversion tool that allows you to write using a simple plain text format|http://daringfireball.net/projects/markdown|{{Package AUR|markdown}}}}<br />
*{{App|pandoc|A swiss-army knife for converting one markup format into another (supports Markdown)|http://johnmacfarlane.net/pandoc|{{Package AUR|pandoc}}}}<br />
*{{App|[[Wikipedia:Txt2tags|txt2tags]]|A dead-simple, KISS-compliant lightweight, human-readable markup language to produce rich format content out of plain text files|http://txt2tags.sourceforge.net|{{Package AUR|txt2tags}}}}<br />
*[[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
*[http://www.archlinux.org/packages/community/i686/ted/ Ted] - An easy GTK-based rich text processor (with footnote support) http://www.nllgg.nl/Ted/<br />
<br />
== Spreadsheets ==<br />
*[[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
*[[LibreOffice|Libreoffice Calc]]<br />
*[[OpenOffice.org|OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
== Security ==<br />
* [[iptables]] - A powerful [[firewall]] built into the linux kernel that is part of the [http://en.wikipedia.org/wiki/Netfilter netfilter] project<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[DenyHosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[fail2ban]] - bans IP that makes too many password failures http://www.fail2ban.org/<br />
* [[Sshguard]] - Same as DenyHosts and fail2ban, only lighter, simpler and written in plain C http://www.sshguard.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[ntop]] - A network traffic probe based on libcap http://ntop.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[vnstat]] - console-based network traffic monitor that keeps a log of network traffic http://humdi.net/vnstat/<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
== Time Management ==<br />
===Console===<br />
* {{App|Calcurse|A text-based curses calendar and scheduling system|http://calcurse.org/|{{Package Official|calcurse}}}}<br />
* {{App|Remind|A highly sophisticated text-based calendaring and notification system|http://www.roaringpenguin.com/products/remind|{{Package Official|remind}}}}<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home page]<br />
<br />
===Graphical===<br />
* {{App|etm|Event and Task Manager. A "Getting Things Done" approach handling events, tasks, activities, reminders and projects|http://www.duke.edu/~dgraham/ETM/|{{Package AUR|etm}}}}<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home page]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clayo.org/osmo/ Home page]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home page]<br />
* {{App|Pal|A very lightweight calendar with both interactive and non-interactive interfaces|http://palcal.sourceforge.net/|{{Package AUR|pal}}}}<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home page]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* {{App|Wyrd|A curses front-end to Remind|http://pessimization.com/software/wyrd/|{{Package Official|wyrd}}}}<br />
* {{App|wxRewind|A Python text and graphical frontend to Remind|http://www.duke.edu/~dgraham/wxRemind/|{{Package AUR|wxremind}}}}<br />
<br />
==Translation and Localisation==<br />
* [[Lokalize]] - the standard [[KDE]] tool for software translation. Available in Extra. [http://userbase.kde.org/Lokalize Home page]<br />
* [[virtaal]] - an editor for translation of both software and other text, based on Translate Toolkit. [http://aur.archlinux.org/packages.php?ID=21709 Available in AUR]. [http://translate.sourceforge.net/wiki/virtaal/index Home page]<br />
** Supported formats: Gettext (.po and .mo), XLIFF (.xlf), TMX, TBX, WordFast TM (.txt), Qt Linguist (.ts), Qt Phrase Book (.qph), OmegaT glossary (.tab and .utf8), ...<br />
** Shows suggestions from [[Apertium]], Google Translate, Microsoft Translator, [[Moses]], http://open-tran.eu, Translation Memories or TM servers<br />
* [[poedit]] - a simple Gettext/po-file translation tool. Available in Community. [http://www.poedit.net/ Home page]<br />
* [[OmegaT]] - "the translation memory tool", a general translators tool which contains a lot of translation memory features<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, XLIFF/Okapi, MediaWiki, plain text, TMX, ...<br />
** Shows suggestions from Google Translate<br />
* [[pology]] - a set of Python tools for dealing with Gettext/po-files. See the [http://techbase.kde.org/Localization/Tools/Pology#About home page] for simple installation instructions.<br />
** May be used to translate po-files with [[Apertium]], see http://wiki.apertium.org/wiki/Translating_gettext for instructions.<br />
* [[Apertium]] - a free and open source rule-based machine translation platform. All released language data is [http://aur.archlinux.org/packages.php?K=apertium available in AUR]. [http://apertium.org/ Home page]<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, TMX, some MediaWiki support, ... (use [[Pology]] or [[Virtaal]] for po-files)<br />
** See [http://wiki.apertium.org/wiki/Main_Page the wiki] for supported languages<br />
* [[Moses]] - a statistical machine translation tool (language data not included). [http://www.statmt.org/moses/ Home page]<br />
<br />
== Utilities ==<br />
===Arch Package Management===<br />
<!--shouldn't duplicate info from [[AUR Helpers]]--><br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|To use the aurnotify desklet visit: http://adesklets.sourceforge.net/desklets.html|{{Package AUR|aurnotify}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{Package AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Package Official|pacman-contrib}}}}<br />
* {{App|Pkgtools|A collection of scripts for Arch Linux packages.|Which includes '''pkgfile'''; find what package owns a file. [[http://bbs.archlinux.org/viewtopic.php?pid=384196 Forum topic]]|{{Package Official|pkgtools}}}}<br />
<!--{{Warning|''Powerpill'' development has been officially discontinued: its latest version does not work with ''pacman>&#61;3.5''. See [https://bbs.archlinux.org/viewtopic.php?id&#61;115660].}}<br />
* [[Powerpill]] A wrapper for pacman that speeds up package retrieval by using aria2c for concurrent/segmented downloads. http://xyne.archlinux.ca/old_projects/powerpill--><br />
* {{App|[[TuPac]]|A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...|http://sourceforge.net/projects/tupac|{{Package AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br />
Also see [[AUR Helpers]].<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Package Official|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{Package AUR|gt5}}}}<br />
* {{App|[[Baobab]]|Baobab is a C/gtk+ application to analyse disk usage in any Gnome environment.|http://www.marzocca.net/linux/baobab|{{Package AUR|Baobab}}}}<br />
* {{App|[[Filelight]]|Filelight creates an interactive map of concentric, segmented rings that help visualise disk usage on your computer.|http://www.methylblue.com/filelight|{{Package Official|Filelight}}}}<br />
* {{App|[[gdmap]]|Draw map of rectangles where size of rectangle relate to size of file or dir.|http://gdmap.sourceforge.net/|{{Package Official|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools===<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[brasero]] - An application to burn CDs/DVDs for the Gnome Desktop.<br />
* {{App|cdw|Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso.|http://cdw.sourceforge.net/|{{Package AUR|cdw}}}}<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
* [[k3b]] - A feature-rich and easy to handle CD burning application for KDE.<br />
* [[nerolinux]] - A commercial CD/DVD burning tool (requires a valid key).<br />
* {{App|recorder|Simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Package Official|recorder}}}}<br />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
* {{App|Xfburn|Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Package Official|xfburn}}}}<br />
<br />
===Clipboard Managers===<br />
* [[Anamnesis]] - stores all clipboard history (!) and offers an interface to do a full-text search. Both command line and GUI modes available [http://anamnesis.sourceforge.net/ Home page] | [http://aur.archlinux.org/packages.php?ID=41542 AUR package]<br />
* [[ClipIt]] - a fork of Parcellite with additional features and bugfixes [http://sourceforge.net/projects/gtkclipit/ Home page]<br />
* [[Glipper]] - clipboardmanager for GNOME with more features and plugin support [http://glipper.sourceforge.net/ Home page]<br />
* [[klipper]] - full featured clipboardmanager for KDE (kdebase-workspace package) [http://userbase.kde.org/Klipper]<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager [http://parcellite.sourceforge.net/ Home page]<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
====Console====<br />
* {{App|[[atool]]|A script for managing file archives of various types|http://www.nongnu.org/atool/|{{Package Official|atool}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux.|http://p7zip.sourceforge.net/|{{Package Official|p7zip}}}}<br />
<br />
====Graphical====<br />
* {{App|[[Ark]]|Archiving Tool for KDE4.|http://kde.org/applications/utilities/ark/|{{Package Official|kdeutils-ark}}}}<br />
* {{App|[[File Roller]]|The default archive manager for GNOME.|http://fileroller.sourceforge.net/|{{Package Official|file-roller}}}}<br />
* {{App|[[Peazip]]|Open source file and archive manager|http://www.peazip.org/peazip-linux.html|{{Package AUR|peazip}}}}<br />
* {{App|[[Squeeze]]|A featherweight front-end for command line archiving tools.|http://http://squeeze.xfce.org/|{{Package AUR|squeeze}}}}<br />
* {{App|[[Xarchive]]|A GTK+ 2 front-end for various command line archiving tools.|http://xarchive.sourceforge.net/|{{Package AUR|xarchive}}}}<br />
* {{App|[[Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2.|http://xarchiver.sourceforge.net/|{{Package Official|xarchiver}}}}<br />
<br />
===eMoney===<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{Package AUR|bitcoin}}}}<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
====Console====<br />
*{{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Package Official|mc}}}}<br />
*{{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Package Official|ranger}}}}<br />
<br />
====Graphical====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Package Official|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Package Official|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Package Official|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Package Official|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Package Official|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{Package AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Package Official|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Package Official|rox}}}}<br />
* {{App|[[Sunflower]]|Small and highly customizable twin-panel file manager for Linux with support for plugins.|http://code.google.com/p/sunflower-fm/|{{Package AUR|sunflower}}}}<br />
* {{App|[[Thunar]]|Can be run as a daemon with excellent start up and directory load times. Features support for customizable actions|http://thunar.xfce.org/index.html|{{Package Official|thunar}}}}<br />
* {{App|[[tuxcmd]]|Windowed file manager with 2 panels side by side similar to popular Total Commander or Midnight Commander file managers|http://tuxcmd.sourceforge.net/description.php|{{Package Official|tuxcmd}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Package Official|vifm}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Package Official|xfe}}}}<br />
<br />
=== Merge tools ===<br />
* [[diffuse]]: http://diffuse.sourceforge.net/<br />
* ediff: part of [[Emacs|emacs]]<br />
* [[kdiff]]: http://kdiff3.sourceforge.net/<br />
* [[kompare]]: http://kde.org/applications/development/kompare<br />
* [[meld]]: http://meld.sourceforge.net<br />
* [[Vim#Merging_Files_.28Vimdiff.29|vimdiff]]<br />
<br />
=== Taskbars ===<br />
* {{App|[[Avant Window Navigator]]|A lightweight dock which sits at the bottom of the screen.|http://wiki.awn-project.org/|{{Package Official|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Package Official|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{Package AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Package Official|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{Package AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{Package AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{Package AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{Package AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{Package AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Package Official|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Package Official|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Package Official|trayer}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Package Official|xfce4-panel}}}}<br />
<br />
==Window managers and desktop environments==<br />
*[[Desktop Environment#List of desktop environments|List of desktop environments]]<br />
*[[Window Manager#List of window managers|List of window managers]]<br />
<br />
===Login managers===<br />
<!--Use the App template.--><br />
*{{App|[[CDM]]|An ultra-minimalistic, yet full-featured login manager written in bash|http://cdm.ghost1227.com/|{{Package AUR|cdm}}}}<br />
*{{App|[[SLiM]]|A lightweight and elegant graphical login solution|http://slim.berlios.de/|{{Package Official|slim}}}}<br />
*{{App|[[Qingy]]|An ultralight and very configurable graphical login independent on X Windows|http://qingy.sourceforge.net/|{{Package Official|qingy}}}}<br />
<br />
== System Monitoring ==<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*{{App|[[Conky]]|A lightweight, scriptable system monitor|http://conky.sourceforge.net/|{{Package Official|conky}}}}<br />
*[[gkrellm]] - Simple, flexible system monitor package for GTK2; many plug-ins are available on AUR. http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
*{{App|[[Wikipedia:Htop|Htop]]|A simple, ncurses interactive process viewer|http://htop.sourceforge.net/|{{Package Official|htop}}}}<br />
*{{App|LXTask|A lightweight task manager for [[LXDE]]|http://wiki.lxde.org/en/LXTask|{{Package Official|lxtask}}}}<br />
<br />
== Terminal emulators ==<br />
{{Wikipedia|List of terminal emulators}}<br />
* [[Wikipedia:aterm|aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/<br />
* Eterm ([[Enlightenment]], derived from rxvt)<br />
*[http://www.calno.com/evilvte/ evilvte] (The name apparently is a reference to [[Evilwm|evilwm]], although the two projects do not appear to be related.) (VTE)<br />
* [[gnome-terminal]] - [[GNOME]] default (standalone) terminal with support for Unicode and pseudo-transparency (VTE)<br />
* [[guake]] - A a drop-down terminal for Gnome Desktop Environment. https://aur.archlinux.org/packages.php?ID=15547<br />
* [[Wikipedia:Konsole|konsole]] - [[KDE]]'s default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* {{App|[[LilyTerm]]|A light and easy to use libvte based X Terminal Emulator|http://lilyterm.luna.com.tw/|{{Package Official|lilyterm}}}}<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
*[http://aur.archlinux.org/packages.php?ID=36730 mt] written as nice light-er-weight replacement for sakura (the binary is one third the size), keeping most of the functionality, except settings are defined during compilation, and removes some stupid features. (VTE)<br />
* {{App|ROXTerm|A tabbed, VTE-based terminal emulator with a small footprint|http://rox.sourceforge.net|{{Package Official|roxterm}}}}<br />
* [[Wikipedia:Rxvt|rxvt]] {{Package AUR|rxvt}}<br />
*{{App|[[urxvt]]|A highly extendable unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, quake-style dropdown, pseudo-transparency, and is extensible with perl|http://software.schmorp.de/pkg/rxvt-unicode|{{Package Official|rxvt-unicode}}}}<br />
*{{App|Sakura|A terminal emulator based on GTK+ and VTE|http://www.pleyades.net/david/sakura.php|{{Package Official|sakura}}}}<br />
*{{App|[[Stjerm]]|is a GTK+-based drop-down terminal emulator. Stjerm sets itself apart from similar programs by providing a minimalistic interface combined with a small file size, lightweight memory usage and easy integration with composite window managers such as Compiz. |http://code.google.com/p/stjerm-terminal-emulator/downloads/list|}}<br />
* [[terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/ (VTE)<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[Termit]] http://wiki.github.com/nonstop/termit/<br />
*{{App|[[Wikipedia:Tilda (software)|Tilda]]|A Linux terminal taking after the likeness of many classic terminals from first person shooter games, Quake, Doom and Half-Life (to name a few), where the terminal has no border and is hidden from the desktop until a key is pressed|http://sourceforge.net/projects/tilda/files/|{{Package Official|tilda}}}}<br />
*{{App|[[Xterm]]|A terminal emulator for the X Window System|http://invisible-island.net/xterm/|{{Package Official|xterm}}}}<br />
* [[yakuake]] - A drop-down terminal emulator based on KDE Konsole technology http://extragear.kde.org/apps/yakuake/<br />
<br />
==Text editors==<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of text editors}}<br />
===Console===<br />
*{{App|[[Emacs|GNU Emacs]]|The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons|http://www.gnu.org/software/emacs/|{{Package Official|emacs}}}}<br />
<!-- joe --><br />
*{{App|[[nano]]|A console text editor based on pico with on-screen key binding help|http://www.nano-editor.org/|{{Package Official|nano}}}}<br />
*{{App|[[Vim]]|Vi IMproved|http://www.vim.org/|{{Package Official|vim}}}}<br />
<br />
===Graphical===<br />
*{{App|[[Wikipedia:Acme (text editor)|Acme]]|A minimalist and flexible programming environment by Rob Pike|http://acme.cat-v.org|{{Package Official|plan9port}}}}<br />
*{{App|[[Beaver]]|An Early AdVanced EditoR|http://www.nongnu.org/beaver/|{{Package Official|beaver}}}}<br />
*{{App|[[Wikipedia:Geany|Geany]]|A text editor using the GTK+ 2 toolkit with basic features of an integrated development environment|http://www.geany.org|{{Package Official|geany}}}}<br />
*{{App|[[Wikipedia:Bluefish (text editor)|Bluefish]]|GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins|http://bluefish.openoffice.nl/|{{Package Official|bluefish}}}}<br />
*{{App|Cssed|GTK2 based Cascading Style Sheets (CSS) editor|http://cssed.sourceforge.net/|[[package]]}}<br />
*{{App|Edile|A PyGTK code/scripting editor implemented in one file|http://edile.googlecode.com|{{Package AUR|edile}}}}<br />
*{{App|[[Wikipedia:Gedit|Gedit]]|Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality|http://projects.gnome.org/gedit/|{{Package Official|gedit}}}}<br />
*{{App|[[gVim]]|Vi IMproved|http://www.vim.org/|{{Package Official|gvim}}}}<br />
*{{App|[[Kate]]|The KDE Advanced Text Editor. A full-featured programmer's editor, with MDI and a filesystem browser|[[project]]|[[package]]}}<br />
*{{App|[[KWrite]]|(part of the KDE desktop) A lightweight text editor with syntax highlighting.|[[project]]|[[package]]}}<br />
*{{App|[[Leafpad]]|A notepad clone for GTK+ 2.x that emphasizes simplicity|http://tarot.freeshell.org/leafpad/|{{Package Official|leafpad}}}}<br />
*{{App|medit|medit is a programming and around-programming text editor|http://mooedit.sourceforge.net/|{{Package Official|medit}}}}<br />
*{{App|[[Wikipedia:PyRoom|PyRoom]]|A great distractionless PyGTK text editor, a clone of the infamous WriteRoom|http://pyroom.org/|{{Package AUR|pyroom}}}}<br />
*{{App|[[Wikipedia:Sam (text editor)|Sam]]|A graphical text editor by Rob Pike (still used by Ken Thompson and others)|http://sam.cat-v.org|{{Package Official|plan9port}} or {{Package Official|9base}}}}<br />
*{{App|[[Scite]]|A generally useful editor with facilities for building and running programs|http://www.scintilla.org/SciTE.html|[[package]]}}<br />
*{{App|[[Tea]]|a QT based feature rich text editor|[[project]]|{{Package Official|tea}}}}<br />
<br />
== OCR tools ==<br />
There are several steps to the whole OCR process, the actual OCR engine is only part of this:<br />
# scanning<br />
# document layout analysis<br />
# optical character recognition<br />
# post-processing (formatting, PDF creation)<br />
<br />
=== OCR Engines ===<br />
* [[CuneiForm]] is a command line OCR system originally developed and open sourced by Cognitive technologies. Supported languages: eng, ger, fra, rus, swe, spa, ita, ruseng, ukr, srp, hrv, pol, dan, por, dut, cze, rum, hun, bul, slo, lav, lit, est, tur. Available from [[pacman]]/community. https://launchpad.net/cuneiform-linux<br />
<br />
* [[Tesseract]] is "probably one of the most accurate open source OCR engines available". Available from [[pacman]]/community. http://code.google.com/p/tesseract-ocr/<br />
<br />
* [[GOCR]]/JOCR (http://jocr.sourceforge.net/) is an OCR engine which also supports barcode recognition. Available from [[pacman]]/extra as "gocr". http://www.gnu.org/software/ocrad/<br />
* [[Ocrad]] is an OCR (Optical Character Recognition) program based on a feature extraction method. Available from [[pacman]]/extra. http://www.gnu.org/software/ocrad/<br />
<br />
=== Layout analysers and user interfaces ===<br />
* [[OCRopus]] is an OCR ''platform'', modules exist for document layout analysis, OCR engines (it can use Tesseract or its own engine), natural language modelling, etc. Available from [[AUR]]. http://code.google.com/p/ocropus/<br />
* [[gscan2pdf]] scans, runs Tesseract and creates a PDF all in one go<br />
* [[Kooka]] is a scanner GUI for KDE which supports the OCR engines [[GOCR]], [[Ocrad]] or [[KADMOS]]. Used to be part of kdegraphics4, but dropped out due to lack of development. http://kooka.kde.org/{{Linkrot|2011|09|03}}<br />
* [[OCRFeeder]] is a Python GUI for Gnome which performs document analysis and rendition, and can use either [[CuneiForm]], [[GOCR]], [[Ocrad]] or [[Tesseract]] as OCR engines. It can import from PDF or image files, and export to HTML or OpenDocument. Available from [[AUR]]. http://live.gnome.org/OCRFeeder<br />
* [[YAGF]] is a graphical interface for the [[CuneiForm]] text recognition program on the Linux platform. Available from community repository. http://symmetrica.net/cuneiform-linux/yagf-en.html<br />
<br />
==Application Launchers==<br />
<!--Use the App template.--><br />
*{{App|Fehlstart|A small application launcher written in c99|https://bbs.archlinux.org/viewtopic.php?id=122009/|{{Package AUR|fehlstart-git}}}}<br />
*{{App|Adeskbar|An easy, simple, unobtrusive application launcher for Openbox|https://launchpad.net/adeskbar|{{Package AUR|adeskbar}}}}<br />
<br />
==Games==<br />
*[[Games]]<br />
*[[Netbook Games]]<br />
<br />
==See also==<br />
*[[Scientific Applications]]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88515 Arch Linux Forums / LnF Awards 2010] - The best Light & Fast apps of 2010.<br />
*[https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - The best Light & Fast apps of 2011.<br />
*http://linuxappfinder.com/<br />
*http://www.linuxlinks.com/<br />
*http://en.wikipedia.org/wiki/List_of_open_source_software_packages<br />
*http://linuxappfinder.com/alternatives - Windows and OS X Software Alternatives<br />
*http://alternativeto.net/ - find alternatives to popular programs<br />
*http://www.linuxalt.com/ - Linux equivalents of Windows software<br />
*http://lin-app.com/ - on-line information service of various commercial applications and games for Linux</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=164408List of applications2011-10-07T04:39:26Z<p>Anonymous user: /* Graphical */</p>
<hr />
<div>[[Category:Software (English)]]<br />
{{i18n|Common Applications}}<br />
==Backup programs==<br />
{{Box||See the article on this subject: [[Backup Programs]]|#E5E5FF|#FCFCFC}}<br />
*{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{Package Official|dar}}}}<br />
*{{App|[[Duplicity|duplicity]]|A utility for encrypted, bandwidth-efficient backups using the rsync algorithm|http://www.nongnu.org/duplicity/|{{Package Official|duplicity}}}}<br />
*{{App|Packrat|A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3|http://www.zeroflux.org/projects|{{Package AUR|packrat}}}}<br />
*{{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups|http://www.nongnu.org/rdiff-backup/|{{Package Official|rdiff-backup}}}}<br />
*{{App|rsnapshot|A remote filesystem snapshot utility|http://www.rsnapshot.org/|{{Package Official|rsnapshot}}}}<br />
*{{App|[[Rsync|rsync]]|A file transfer program to keep remote files in sync|http://rsync.samba.org/|{{Package Official|rsync}}}}<br />
*{{App|Safekeep|A client/server backup system which enhances the power of rdiff-backup|http://safekeep.sourceforge.net/|{{Package AUR|safekeep}}}}<br />
*{{App|Unison|Synchronizes files between two machines over network (Lan or Inet) using smart diff method + rsync, allows one to interactively choose which changes to push, pull, or merge. |http://www.cis.upenn.edu/~bcpierce/unison/|{{Package Official|unison}}}}<br />
<br />
==Internet==<br />
===BitTorrent Clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of BitTorrent clients}}<br />
*{{App|[[aria2]]|Command-line download manager that supports HTTP/HTTPS, FTP, BitTorrent and MetaLink protocols|http://aria2.sourceforge.net/|{{Package Official|aria2}}}}<br />
*{{App|[[Deluge]]|User-friendly BitTorrent client written in Python and wrapped with PyGTK|http://deluge-torrent.org/|{{Package Official|deluge}}}}<br />
*{{App|[[Wikipedia:KTorrent|KTorrent]]|Feature-rich BitTorrent client developed using Qt|http://ktorrent.org/|{{Package Official|ktorrent}}}}<br />
*{{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client supporting BitTorrent|http://mldonkey.sourceforge.net/|{{Package Official|mldonkey}}}}<br />
*{{App|[[Wikipedia:QBittorrent|qBittorrent]]|The closest open source (GNU GPL v2 license) equivalent to µtorrent|http://qbittorrent.sourceforge.net/|{{Package Official|qbittorrent}}}}<br />
*{{App|[[rTorrent]]|Simple and lightweight ncurses BitTorrent client|http://libtorrent.rakshasa.no/|{{Package Official|rtorrent}}}}<br />
*{{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|Simple and easy-to-use BitTorrent client with daemon version and (GTK+) GUI, web and CLI front-ends|http://www.transmissionbt.com/|{{Package Official|transmission}}}}<br />
*{{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus)|http://www.vuze.com/|{{Package Official|vuze}}}}<br />
<br />
===eDonkey Clients===<br />
eDonkey is still the second-largest p2p network (see [http://www.ipoque.com/en/resources/internet-studies Internet Study 2008/2009]).<br />
*{{App|[[aMule]]|Well-known eDonkey/Kad client with daemon version and GTK, web, and CLI front-ends|http://www.amule.org/|{{Package Official|amule}}}}<br />
<br />
===Chat Clients===<br />
====IRC Clients====<br />
{{Wikipedia|Comparison of Internet_Relay_Chat_clients}}<br />
* {{App|Conspire|Lightweight, simple, and powerful|http://nenolod.net/|{{Package AUR|conspire-client}}}}<br />
* {{App|ERC|A powerful, modular, and extensible IRC client for [[Emacs]]|http://erc.sourceforge.net/|{{Package AUR|erc-git}}}}<br />
* {{App|II|A featherweight IRC client, literally `tail -f` the convo and `echo` back your replies|http://tools.suckless.org/ii|}}<br />
* {{App|Ircfs|A file system interface to irc written in [http://limbo.cat-v.org Limbo]|http://www.ueber.net/code/r/ircfs|}}<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client|http://www.irssi.org/|{{Package Official|irssi}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE4 desktop|http://konversation.kde.org/|{{Package Official|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support|http://www.kvirc.net/|{{Package Official|kvirc}}}}<br />
* {{App|Loqui|A GTK IRC client with only one dependency|https://launchpad.net/loqui|{{Package AUR|loqui}}}}<br />
* {{App|LostIRC|A simple IRC client|http://lostirc.sourceforge.net|{{Package AUR|lostirc}}}}<br />
* {{App|pcw|A frontend for [http://tools.suckless.org/ii ii] that opens a new terminal for each channel (depends on [http://bitbucket.org/emg/srw srw] by default)|http://bitbucket.org/emg/pcw|}}<br />
* {{App|ScrollZ|An advanced IRC client based on ircII|http://www.scrollz.com|{{Package AUR|scrollz}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|Modular, lightweight ncurses-based IRC client|http://www.weechat.org/|{{Package Official|weechat}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|GTK-based IRC client|http://xchat.org/|{{Package Official|xchat}}}}<br />
<br />
==== Jabber/XMPP Clients ====<br />
* {{App|Freetalk|A console based Jabber client|http://www.gnu.org/software/freetalk/|{{Package Official|freetalk}}}}<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|Jabber client written in PyGTK|http://www.gajim.org/|{{Package Official|gajim}}}}<br />
* {{App|jabber.el|A minimal jabber client for emacs|http://emacs-jabber.sourceforge.net/|{{Package AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|A small Jabber console client, includes features: SSL, PGP, MUC, and UTF8|http://mcabber.com/|{{Package Official|mcabber}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt based Jabber client|http://psi-im.org/|{{Package Official|psi}}}}<br />
* {{App|Psi+|Psi+ is an enhanced version of Psi Jabber client.|http://code.google.com/p/psi-dev/|{{Package AUR|psi-plus}}}}<br />
* {{App|Finch| A CLI Jabber/aim/etc/etc chat client based on libpurple (part of Pidgin) |http://developer.pidgin.im/wiki/Using%20Finch|{{Package Official|finch}}}}<br />
<br />
==== MSN Clients ====<br />
* {{App|[[Wikipedia:AMSN|aMSN]]|MSN client written in Tcl/Tk|http://www.amsn-project.net/|{{Package Official|amsn}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A pygtk MSN Messenger client|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|Galaxium Messenger|A multi-protocol instant messenger application designed for the GNOME desktop|http://code.google.com/p/galaxium/|{{Package AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Kmess|KMess]]|KMess is a MSN Messenger client for Linux|http://kmess.org/|{{Package Official|kmess}}}}<br />
* {{App|[[Wikipedia:Mercury Messenger|Mercury]]|Java Based MSN client|http://www.mercury.im/|{{Package Official|mercury}}}}<br />
<br />
==== Multi-Protocol Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients}}<br />
<br />
* {{App|BarnOwl|A console chat client for the AIM, IRC, Jabber, and Zephyr protocols|http://barnowl.mit.edu/|{{Package AUR|barnowl}}}}<br />
* {{App|[[Bitlbee]]|A way to use other IM to your [[#IRC]] client|http://www.bitlbee.org/|{{Package Official|bitlbee}}}}<br />
* {{App|Carrier|Pidgin fork providing minor GUI enhancements (formerly funpidgin)|http://funpidgin.sourceforge.net/|{{Package AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Fork of CenterICQ - A text mode menu- and window-driven IM interface|http://www.centerim.org/index.php/Main_Page|{{Package Official|centerim}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A Python/GTK+ instant messenger for the Windows Live Messenger network|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messaging client using the Telepathy framework|http://live.gnome.org/Empathy|{{Package Official|empathy}}}}<br />
* {{App|Finch|A ncurses-based messaging client|http://pidgin.im/|{{Package Official|finch}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|Instant Messenger|http://www.kde.org/|{{Package Official|kopete}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client|http://pidgin.im/|{{Package Official|pidgin}}}}<br />
** {{App|Pidgin Light|A light Pidgin version without gstreamer, tcl, tk, xscreensaver support|http://www.pidgin.im/|{{Package AUR|pidgin-light}}}}<br />
* {{App|[[Wikipedia:QutIM|qutIM]]|Multiplatform instant messenger|http://qutim.org/|{{Package AUR|qutim}}}}<br />
<br />
===Email clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of e-mail clients}}<br />
====Console====<br />
*{{App|[[Alpine]]|The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)|http://www.washington.edu/alpine|{{Package Official|alpine}}}}<br />
*{{App|[[Wikipedia:Gnus|Gnus]]|mail, nntp, rss client for Emacs.|http://www.gnus.org/|[[package]]}}<br />
*{{App|[[Wikipedia:mailx|heirloom-mailx]]|A full-featured command-line MUA derived from Berkeley Mail.|http://heirloom.sourceforge.net/mailx.html|{{Package Official|heirloom-mailx}}}}<br />
*{{App|[[mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Package Official|mutt}}}}<br />
*{{App|[[Sup]]|A CLI mail client with very fast searching, tagging, threading and gmail like operation.|http://sup.rubyforge.org/|{{Package AUR|sup}}}}<br />
<br />
====Graphical====<br />
*{{App|[[Wikipedia:Claws Mail|Claws Mail]]|A GTK+ based e-mail client|http://www.claws-mail.org/|{{Package Official|claws-mail}}}}<br />
*{{App|[[Evolution]]|A mature and feature-rich e-mail client used in GNOME by default.|http://projects.gnome.org/evolution/|{{Package Official|evolution}}}}<br />
*{{App|[[Wikipedia:Kmail|Kmail]]|A mature and feature-rich e-mail client part of the kde project.|http://kontact.kde.org/kmail/{{Linkrot|2011|09|03}}|{{Package Official|kmail}}}}<br />
*{{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly e-mail client (GTK)|http://sylpheed.sraoss.jp/en/|{{Package AUR|sylpheed}}}}<br />
*{{App|[[Thunderbird]]|Mozilla's GTK2-based client.|http://www.mozillamessaging.com/en-US/|{{Package Official|thunderbird}}}}<br />
*{{App|[[Postler]]|simple desktop mail client built in vala.|http://git.xfce.org/apps/postler|{{Package AUR|postler}}}}<br />
<br />
===Network Managers===<br />
<!--Use the App template.--><br />
*{{App|[[Wicd|wicd]]|Manages wireless and wired interfaces, requiring fewer dependencies than other network managers. In addition to GUI interfaces, a curses version is also available.|http://wicd.sourceforge.net/|{{Package Official|wicd}}}}<br />
*{{App|[[netcfg]]|Network configuration and profile scripts|http://projects.archlinux.org/netcfg.git/|{{Package Official|netcfg}}}}<br />
<br />
===News Aggregators===<br />
{{Wikipedia|Comparison of feed aggregators}}<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[BlogBridge]] - Another excellent java-based aggregator http://www.blogbridge.com<br />
* {{App|[[Wikipedia:Canto_(news_aggregator)|Canto]]|A ncurses RSS aggregator|http://codezen.org/canto/|{{Package AUR|canto}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|A mail, nntp, rss client for Emacs|http://www.gnus.org/|{{Package AUR|emacs-gnus-git}}}}<br />
* {{App|[[Liferea]] | A GTK desktop news aggregator for online news feeds and weblogs| http://liferea.sourceforge.net|{{Package AUR|liferea}}}}<br />
* {{App|Newsbeuter|A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup|http://www.newsbeuter.org/|{{Package Official|newsbeuter}}}}<br />
* {{App|Rawdog|A "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order|http://offog.org/code/rawdog.html|{{Package AUR|rawdog}}}}<br />
* [[Rssowl]] - A powerful java-based RSS reader http://boreal.rssowl.org<br />
* {{App|Snownews|Text mode RSS newsreader|http://kiza.kcore.de/software/snownews/|{{Package Official|snownews}}}}<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
<br />
=== Web Browsers ===<br />
{{Wikipedia|Comparison of web browsers}}<br />
==== Text Based ====<br />
* {{App|[[Wikipedia:ELinks|ELinks]]|An advanced and well-established feature-rich text mode web browser|http://elinks.or.cz/|{{Package Official|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|A text WWW browser, similar to Lynx|http://links.twibright.com/|{{Package Official|links}}}}<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Abaco (web browser)|Abaco]]|A multi-page graphical web browser|http://lab-fgb.com/abaco/|{{Package AUR|abaco}}}}<br />
* {{App|[[Wikipedia:Arora (browser)|Arora]]|A cross platform web browser built using Qt and WebKit|http://code.google.com/p/arora/|{{Package Official|arora}}}}<br />
* {{App|[[Wikipedia:Conkeror|Conkeror]]|A highly programmable web browser based on Mozilla XULRunner|http://conkeror.org/|{{Package Official|conkeror}}}}<br />
* [[Chromium]] - The open-source project behind Google Chrome, a web browser developed by Google that uses the WebKit layout engine and application framework. http://code.google.com/chromium/<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|A small, fast graphical web browser built on FLTK|http://www.dillo.org/|{{Package Official|dillo}}}}<br />
* [[Epiphany]] - The default GNOME browser, which uses the webkit rendering engine. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering. http://www.mozilla.com/firefox/<br />
* {{App|Hv3|A minimalist web browser based on tkhtml3|http://tkhtml.tcl.tk/hv3.html|{{Package AUR|hv3}}}}<br />
* {{App|[[Jumanji]]|A highly customizable and functional web browser|http://pwmt.org/projects/jumanji|{{Package AUR|jumanji}}}}<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* {{App|Luakit| A highly configurable, micro-browser framework based on the WebKit web content engine and the GTK+ toolkit. It is very fast, extensible by Lua and licensed under the GNU GPLv3 license|http://luakit.org/projects/luakit/|{{Package Official|luakit}}}}<br />
* {{App|[[Wikipedia:Midori (web browser)|Midori]]| A lightweight web browser based on Gtk and WebKit. It passes the ACID3 test|http://www.twotoasts.de/index.php?/pages/midori_summary.html|{{Package Official|midori}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]| A featherweight browser written in C. Notable is its lack of JavaScript support and fast rendering through its own custom rendering engine|http://www.netsurf-browser.org Netsurf|{{Package Official|netsurf}}}}<br />
* [[Opera]] - Highly customizable browser with focuses on an adherence to web rendering standards http://www.opera.com/<br />
* {{App|[[wikipedia:Rekonq|Rekonq]]| A WebKit based web browser for KDE|http://rekonq.kde.org/|{{Package Official|rekonq}}}}<br />
* {{App|Sb|A very lightweight webkit-based browser that uses keybindings to perform most things the URL bar would usually do|https://github.com/mutantturkey/sb/|{{Package AUR|sb-git}}}} <br />
* {{App|Surf|Another lightweight WebKit-based browser, which follows the [[suck less philosophy|suckless ideology]]. Which means, the software is even more lightweight (basically, the browser itself is a single C source file)|http://surf.suckless.org|{{Package AUR|surf-hg}}}}<br />
* {{App|[[Vimprobable]]|A browser that behaves like the Vimperator plugin available for Mozilla Firefox. It is based on the WebKit engine (using GTK bindings)|http://vimprobable.org/|{{Package AUR|vimprobable}}}}<br />
* {{App|[[Wikipedia:Uzbl|Uzbl]]|Web interface tools which adhere to the unix philosophy|http://www.uzbl.org/|{{Package Official|uzbl-browser}}}}<br />
<br />
=== Microblogging Clients ===<br />
* [[Hotot]] - Hotot, is a lightweight & open source Microblogging Client, coding using Python language and designed for Linux. http://hotot.org<br />
* [[Gwibber]] - Gwibber is an open source microblogging client for Linux. It brings the most popular social networking web services to your desktop and gives you the ability to control how you communicate. http://gwibber.com/<br />
* [[Pino]] - Pino is a simple and fast X11 client for Twitter and Identi.ca. It is compiled to native code, which assures small size and speed, and thanks to use of Vala language it can perfectly integrate into your Gnome or XFCE desktop. http://pino-app.appspot.com/<br />
<br />
===FTP Clients===<br />
*{{App|[[curlftp]]| A filesystem for acessing FTP hosts based on FUSE and libcurl. |http://curlftpfs.sourceforge.net/|{{Package Official|curlftpfs}}}}<br />
*{{App|[[fuseftp]]| FTP filesystem written in Perl, using FUSE|http://freshmeat.net/projects/fuseftp/|{{Package AUR|fuseftp}}}}<br />
<br />
== Document Indexers ==<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
== Document Readers ==<br />
*{{App|apvlv|A lightweight PDF viewer with VIM key bindings|http://code.google.com/p/apvlv/|{{Package Official|apvlv}}}}<br />
*{{App|ePDFView|A free lightweight PDF document viewer using Poppler and GTK+ libraries|http://www.emma-soft.com/projects/epdfview/|{{Package Official|epdfview}}}}<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[[Foxit Reader]] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*{{App|llpp|A very fast PDF reader based off of MuPDF, that supports continuous page scrolling, bookmarking, and text search through the whole document|http://repo.or.cz/w/llpp.git|{{Package AUR|llpp}}}}<br />
*{{App|MuPDF|A very fast PDF viewer and toolkit written in portable C. Features CJK font support|http://ccxvii.net/mupdf|{{Package Official|mupdf}}}}<br />
*[[Okular]] r for KDE. http://okular.kde.org/<br />
*{{App|Xpdf|A viewer for Portable Document Format (PDF) files|http://www.foolabs.com/xpdf/|{{Package Official|xpdf}}}}<br />
*{{App|zathura|Another lightweight PDF viewer similar to apvlv, only lighter|http://zathura.pwmt.org/projects/zathura|{{Package Official|zathura}}}}<br />
<br />
== Multimedia ==<br />
=== Audio ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
===[[Music Player Daemon|Music player daemon]] clients===<br />
<br />
*{{App|Ario|A very feature-rich GTK2 client for [[mpd]], inspired by Rhythmbox|http://ario-player.sourceforge.net/|{{Package Official|ario}}}}<br />
*{{App|ncmpc|A curses client for [[mpd]]|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Package Official|ncmpc}}}}<br />
*{{App|ncmpcpp|An almost exact clone of ncmpc with some new features|http://unkart.ovh.org/ncmpcpp/|{{Package Official|ncmpcpp}}}}<br />
*{{App|QmpdClient|A Qt4 based mpd client|http://bitcheese.net/wiki/QMPDClient|{{Package Official|qmpdclient}}}}<br />
*{{App|Sonata|An elegant GTK+ music client for [[mpd]]|http://sonata.berlios.de/|{{Package Official|sonata}}}}<br />
<br />
====Console====<br />
*{{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{Package AUR|herrie}}}}<br />
*{{App|[[Wikipedia:Mpg123|Mpg123]]|A fast free MP3 console audio player for Linux, FreeBSD, Solaris, Hpux and near all other UNIX systems. Also decodes mp1 and mp2 files|http://www.mpg123.de/|{{Package Official|mpg123}}}}<br />
<br />
====Graphical====<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [http://ario-player.sourceforge.net/ Ario] - A GTK2 client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [http://www.atunes.org/ aTunes] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [http://banshee.fm/ Banshee] - yet another GTK2 iTunes clone, yet more feature-rich and more actively developed.<br />
* [http://www.clementine-player.org/ Clementine] - Amarok 1.4 ported to QT4<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Package Official|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{Package AUR|cplay}}}}<br />
* {{App|DeaDBeeF|A light and fast music player with many features, no GNOME or KDE dependencies, supports console-only and as well GTK2-gui, comes with many plugins, and has a metadata editor|http://deadbeef.sourceforge.net/|{{Package Official|deadbeef}}}}<br />
* [[Exaile]] - A GTK2 clone of Amarok<br />
* {{App|[[Goggles Music Manager]]|A music collection manager and player that automatically categorizes your music, supports gapless playback, features easy tag editing, and internet radio support|http://code.google.com/p/gogglesmm/|{{Package Official|gogglesmm}}}}<br />
* [http://guayadeque.org/ Guayadeque] - A full featured media player that can easily manage large collections and uses the Gstreamer media framework.<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Package Official|moc}}}}<br />
* [[Music Player Daemon]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [http://www.mpg123.org/ mpg123] - command line audio player.<br />
* [http://mpd.wikia.com/wiki/Client:Ncmpc ncmpc] - An ncurses-based front-end to mpd<br />
* [http://unkart.ovh.org/ncmpcpp/ ncmpcpp] - A clone of ncmpc with some new features written in C++<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{Package AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Package Official|pragha}}}}<br />
* [http://www.luga.de/pytone/ PyTone] - An advanced music jukebox with a console interface<br />
* [http://code.google.com/p/quodlibet/ Quod Libet] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK2 clone of iTunes, used by default in GNOME<br />
* [http://sonata.berlios.de/ Sonata] - A pygtk-based client for mpd<br />
* [http://getnightingale.com/ Nightingale] - ([http://getsongbird.com/ Songbird] for linux) an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP<br />
* [http://legacy.xmms2.org/ XMMS] - A skinnable GTK+1 standalone media player similar to winamp<br />
<br />
==== Visualization ====<br />
* [http://projectm.sourceforge.net/ projectM]<br />
<br />
==== Editing ====<br />
* [http://audacity.sourceforge.net/ Audacity]<br />
* [http://kwave.sourceforge.net/ Kwave]<br />
<br />
=== Graphics and Image Manipulation ===<br />
* [[Blender]]<br />
* [[Dia]]<br />
* [[Gimp]]<br />
* [[imagemagick]]<br />
* [[graphicsmagick]]<br />
* [[Inkscape]]<br />
* [[Krita]]<br />
* {{App|mtPaint|A a graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Package Official|mtpaint}}}}<br />
* [[Nathive]]<br />
* [[Shotwell]]<br />
* [[Xara]]<br />
* [[mypaint]]<br />
<br />
===Image Viewers===<br />
{{Wikipedia|Comparison of image viewers}}<br />
*{{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Package Official|feh}}}}<br />
*{{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Package Official|gpicview}}}}<br />
*{{App|[[Wikipedia:GQview|GQview]]|An image browser that features single click access to view images and move around the directory tree|http://gqview.sourceforge.net/|{{Package Official|gqview}}}}<br />
*{{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Package Official|geeqie}}}}<br />
*{{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Package Official|mirage}}}}<br />
*{{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Package Official|ristretto}}}}<br />
*{{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Package Official|qiv}}}}<br />
*{{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|http://xsisqox.github.com/Viewnior/about.html|{{Package Official|viewnior}}}}<br />
*{{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Package Official|xloadimage}}}}<br />
*{{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|http://github.com/muennich/sxiv|{{Package AUR|sxiv}}}}<br />
*{{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{Package AUR|galapix}}}}<br />
<!-- Broken links, need to be turned into App Templates.<br />
* [[Background Setter]]<br />
* [[eog]]<br />
* [[GQview]]<br />
* [[gThumb]]<br />
* [[Quick Image Viewer]]<br />
* [[XnView]]<br />
* [[xv]]<br />
* [[Picasa]]<br />
--><br />
<br />
=== Phone ===<br />
* [[moto4lin]]<br />
<br />
=== Video Players===<br />
{{Wikipedia|Comparison of video player software}}<br />
====Console====<br />
*{{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Package Official|mplayer}}}}<br />
<br />
====Graphical====<br />
*{{App|[[Wikipedia:Kdemultimedia#Dragon Player|Dragon Player]]|A simple video player for KDE 4 developed by Ian Monroe.|http://www.dragonplayer.net/|{{Package Official|kdemultimedia-dragonplayer}}}}<br />
*{{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Package Official|gnome-mplayer}}}}<br />
*{{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{Package AUR|parole}}}}<br />
*{{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Package Official|smplayer}}}}<br />
*{{App|[[Wikipedia:VLC media player|VLC media player]]|A middleweight video player with support for a wide variety of audio/video formats|http://www.videolan.org/vlc/|{{Package Official|vlc}}}}<br />
*{{App|[[Whaaw! Media Player]]|A lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who do not like all those GNOME dependencies.|http://home.gna.org/whaawmp/|[[package]]}}<br />
*{{App|Xnoise|A GTK+ media player for both audio and video with "a slick GUI, great speed and lots of features.". Uses gstreamer.|http://www.xnoise-media-player.com/|{{Package AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
* http://www.pitivi.org/ {{Package AUR|pitivi}}<br />
* http://lives.sourceforge.net/ {{Package AUR|lives}}<br />
* http://www.openmovieeditor.org/ {{Package Official|openmovieeditor}}<br />
* [http://www.openshotvideo.com/ openshotvideo]<br />
* http://www.avidemux.org/ {{Package Official|avidemux}}<br />
* http://kdenlive.org/ {{Package Official|kdenlive}}<br />
* [http://www.kinodv.org/ kinodv]<br />
* http://cinelerra.org/ {{Package Official|cinelerra-cv}}<br />
<br />
== Note Taking Organizers ==<br />
===Console===<br />
*{{App|todo.txt|Manages your Todo list from the command line|http://ginatrapani.github.com/todo.txt-cli/|{{Package AUR|todotxt}}}}<br />
*{{App|Taskwarrior|Another cli todo list application with support for lua customization and more|http://taskwarrior.org|Available in the community repository as "task".}}<br />
<br />
===Graphical===<br />
* {{Package AUR|KeepNote}} A cross-platform GTK note-taking app with rich text formatting [http://keepnote.org Home page]<br />
* {{Package AUR|glista}} with notes support [http://prematureoptimization.org/glista/downloads.php Home page]<br />
* [[hnb]] - A program to organize many kinds of data in one place [http://hnb.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home page]<br />
* {{App|[[Wikipedia:Org-mode|org-mode]]|An [[Emacs]] Mode for Notes, Project Planning, and Authoring|http://orgmode.org|{{Package AUR|emacs-org-mode}}}}<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home page]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home page]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [http://zim-wiki.org/ Home page]<br />
* [[Gnote]] - Gnote is an experimental port of Tomboy to C++ [http://live.gnome.org/Gnote Home page]<br />
* [[Cherrytree]] - A hierarchical note taking application [http://www.giuspen.com/cherrytree/ Home page]<br />
<br />
==Office suites==<br />
* [[Koffice]] - KOffice is a free, integrated office suite for KDE, the K Desktop Environment. http://www.koffice.org/<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
* [[LibreOffice]] - A fork of OpenOffice.org, which integrates various patches<br />
<br />
==Word processors==<br />
{{Wikipedia|Comparison of word processors}}<br />
*{{App|[[Abiword]]|A full-featured word processor|http://www.abisource.com/|{{Package Official|abiword}}}}<br />
**{{App|Abiword Light|A lighter version of Abiword|http://www.abisource.com/|{{Package AUR|abiword-light}}}}<br />
*{{App|[[Wikipedia:Markdown|Markdown]]|A text-to-HTML conversion tool that allows you to write using a simple plain text format|http://daringfireball.net/projects/markdown|{{Package AUR|markdown}}}}<br />
*{{App|pandoc|A swiss-army knife for converting one markup format into another (supports Markdown)|http://johnmacfarlane.net/pandoc|{{Package AUR|pandoc}}}}<br />
*{{App|[[Wikipedia:Txt2tags|txt2tags]]|A dead-simple, KISS-compliant lightweight, human-readable markup language to produce rich format content out of plain text files|http://txt2tags.sourceforge.net|{{Package AUR|txt2tags}}}}<br />
*[[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
*[http://www.archlinux.org/packages/community/i686/ted/ Ted] - An easy GTK-based rich text processor (with footnote support) http://www.nllgg.nl/Ted/<br />
<br />
== Spreadsheets ==<br />
*[[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
*[[LibreOffice|Libreoffice Calc]]<br />
*[[OpenOffice.org|OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
== Security ==<br />
* [[iptables]] - A powerful [[firewall]] built into the linux kernel that is part of the [http://en.wikipedia.org/wiki/Netfilter netfilter] project<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[DenyHosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[fail2ban]] - bans IP that makes too many password failures http://www.fail2ban.org/<br />
* [[Sshguard]] - Same as DenyHosts and fail2ban, only lighter, simpler and written in plain C http://www.sshguard.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[ntop]] - A network traffic probe based on libcap http://ntop.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[vnstat]] - console-based network traffic monitor that keeps a log of network traffic http://humdi.net/vnstat/<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
== Time Management ==<br />
===Console===<br />
* {{App|Calcurse|A text-based curses calendar and scheduling system|http://calcurse.org/|{{Package Official|calcurse}}}}<br />
* {{App|Remind|A highly sophisticated text-based calendaring and notification system|http://www.roaringpenguin.com/products/remind|{{Package Official|remind}}}}<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home page]<br />
<br />
===Graphical===<br />
* {{App|etm|Event and Task Manager. A "Getting Things Done" approach handling events, tasks, activities, reminders and projects|http://www.duke.edu/~dgraham/ETM/|{{Package AUR|etm}}}}<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home page]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clayo.org/osmo/ Home page]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home page]<br />
* {{App|Pal|A very lightweight calendar with both interactive and non-interactive interfaces|http://palcal.sourceforge.net/|{{Package AUR|pal}}}}<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home page]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* {{App|Wyrd|A curses front-end to Remind|http://pessimization.com/software/wyrd/|{{Package Official|wyrd}}}}<br />
* {{App|wxRewind|A Python text and graphical frontend to Remind|http://www.duke.edu/~dgraham/wxRemind/|{{Package AUR|wxremind}}}}<br />
<br />
==Translation and Localisation==<br />
* [[Lokalize]] - the standard [[KDE]] tool for software translation. Available in Extra. [http://userbase.kde.org/Lokalize Home page]<br />
* [[virtaal]] - an editor for translation of both software and other text, based on Translate Toolkit. [http://aur.archlinux.org/packages.php?ID=21709 Available in AUR]. [http://translate.sourceforge.net/wiki/virtaal/index Home page]<br />
** Supported formats: Gettext (.po and .mo), XLIFF (.xlf), TMX, TBX, WordFast TM (.txt), Qt Linguist (.ts), Qt Phrase Book (.qph), OmegaT glossary (.tab and .utf8), ...<br />
** Shows suggestions from [[Apertium]], Google Translate, Microsoft Translator, [[Moses]], http://open-tran.eu, Translation Memories or TM servers<br />
* [[poedit]] - a simple Gettext/po-file translation tool. Available in Community. [http://www.poedit.net/ Home page]<br />
* [[OmegaT]] - "the translation memory tool", a general translators tool which contains a lot of translation memory features<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, XLIFF/Okapi, MediaWiki, plain text, TMX, ...<br />
** Shows suggestions from Google Translate<br />
* [[pology]] - a set of Python tools for dealing with Gettext/po-files. See the [http://techbase.kde.org/Localization/Tools/Pology#About home page] for simple installation instructions.<br />
** May be used to translate po-files with [[Apertium]], see http://wiki.apertium.org/wiki/Translating_gettext for instructions.<br />
* [[Apertium]] - a free and open source rule-based machine translation platform. All released language data is [http://aur.archlinux.org/packages.php?K=apertium available in AUR]. [http://apertium.org/ Home page]<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, TMX, some MediaWiki support, ... (use [[Pology]] or [[Virtaal]] for po-files)<br />
** See [http://wiki.apertium.org/wiki/Main_Page the wiki] for supported languages<br />
* [[Moses]] - a statistical machine translation tool (language data not included). [http://www.statmt.org/moses/ Home page]<br />
<br />
== Utilities ==<br />
===Arch Package Management===<br />
<!--shouldn't duplicate info from [[AUR Helpers]]--><br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|To use the aurnotify desklet visit: http://adesklets.sourceforge.net/desklets.html|{{Package AUR|aurnotify}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{Package AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Package Official|pacman-contrib}}}}<br />
* {{App|Pkgtools|A collection of scripts for Arch Linux packages.|Which includes '''pkgfile'''; find what package owns a file. [[http://bbs.archlinux.org/viewtopic.php?pid=384196 Forum topic]]|{{Package Official|pkgtools}}}}<br />
<!--{{Warning|''Powerpill'' development has been officially discontinued: its latest version does not work with ''pacman>&#61;3.5''. See [https://bbs.archlinux.org/viewtopic.php?id&#61;115660].}}<br />
* [[Powerpill]] A wrapper for pacman that speeds up package retrieval by using aria2c for concurrent/segmented downloads. http://xyne.archlinux.ca/old_projects/powerpill--><br />
* {{App|[[TuPac]]|A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...|http://sourceforge.net/projects/tupac|{{Package AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br />
Also see [[AUR Helpers]].<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Package Official|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{Package AUR|gt5}}}}<br />
* {{App|[[Baobab]]|Baobab is a C/gtk+ application to analyse disk usage in any Gnome environment.|http://www.marzocca.net/linux/baobab|{{Package AUR|Baobab}}}}<br />
* {{App|[[Filelight]]|Filelight creates an interactive map of concentric, segmented rings that help visualise disk usage on your computer.|http://www.methylblue.com/filelight|{{Package Official|Filelight}}}}<br />
* {{App|[[gdmap]]|Draw map of rectangles where size of rectangle relate to size of file or dir.|http://gdmap.sourceforge.net/|{{Package Official|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools===<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[brasero]] - An application to burn CDs/DVDs for the Gnome Desktop.<br />
* {{App|cdw|Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso.|http://cdw.sourceforge.net/|{{Package AUR|cdw}}}}<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
* [[k3b]] - A feature-rich and easy to handle CD burning application for KDE.<br />
* [[nerolinux]] - A commercial CD/DVD burning tool (requires a valid key).<br />
* {{App|recorder|Simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Package Official|recorder}}}}<br />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
* {{App|Xfburn|Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Package Official|xfburn}}}}<br />
<br />
===Clipboard Managers===<br />
* [[Anamnesis]] - stores all clipboard history (!) and offers an interface to do a full-text search. Both command line and GUI modes available [http://anamnesis.sourceforge.net/ Home page] | [http://aur.archlinux.org/packages.php?ID=41542 AUR package]<br />
* [[ClipIt]] - a fork of Parcellite with additional features and bugfixes [http://sourceforge.net/projects/gtkclipit/ Home page]<br />
* [[Glipper]] - clipboardmanager for GNOME with more features and plugin support [http://glipper.sourceforge.net/ Home page]<br />
* [[klipper]] - full featured clipboardmanager for KDE (kdebase-workspace package) [http://userbase.kde.org/Klipper]<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager [http://parcellite.sourceforge.net/ Home page]<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
* [[File Roller]] The default archive manager for GNOME.<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[pbzip2]] - A threaded version of the bzip2 utility, can automatically scale up to as many cores as it finds in the system.<br />
* [[Squeeze]] - A featherweight front-end for command line archiving tools. Passworded archives are currently unsupported. http://squeeze.xfce.org/<br />
* {{App|Xarchive|A GTK+ 2 front-end for various command line archiving tools|http://xarchive.sourceforge.net|{{Package AUR|xarchive}}}}<br />
* {{App|[[Wikipedia:Xarchiver|Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2. At the time of writing, it appears to be the most functional and up to date of the three tools listed here|http://xarchiver.sourceforge.net/|{{Package Official|xarchiver}}}}<br />
* [[Ark]] - Archiving Tool for KDE4.<br />
<br />
===eMoney===<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{Package AUR|bitcoin}}}}<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
====Console====<br />
*{{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Package Official|mc}}}}<br />
*{{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Package Official|ranger}}}}<br />
<br />
====Graphical====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Package Official|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Package Official|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Package Official|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Package Official|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Package Official|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{Package AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Package Official|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Package Official|rox}}}}<br />
* {{App|[[Sunflower]]|Small and highly customizable twin-panel file manager for Linux with support for plugins.|http://code.google.com/p/sunflower-fm/|{{Package AUR|sunflower}}}}<br />
* {{App|[[Thunar]]|Can be run as a daemon with excellent start up and directory load times. Features support for customizable actions|http://thunar.xfce.org/index.html|{{Package Official|thunar}}}}<br />
* {{App|[[tuxcmd]]|Windowed file manager with 2 panels side by side similar to popular Total Commander or Midnight Commander file managers|http://tuxcmd.sourceforge.net/description.php|{{Package Official|tuxcmd}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Package Official|vifm}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Package Official|xfe}}}}<br />
<br />
=== Merge tools ===<br />
* [[diffuse]]: http://diffuse.sourceforge.net/<br />
* ediff: part of [[Emacs|emacs]]<br />
* [[kdiff]]: http://kdiff3.sourceforge.net/<br />
* [[kompare]]: http://kde.org/applications/development/kompare<br />
* [[meld]]: http://meld.sourceforge.net<br />
* [[Vim#Merging_Files_.28Vimdiff.29|vimdiff]]<br />
<br />
=== Taskbars ===<br />
* {{App|[[Avant Window Navigator]]|A lightweight dock which sits at the bottom of the screen.|http://wiki.awn-project.org/|{{Package Official|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Package Official|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{Package AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Package Official|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{Package AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{Package AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{Package AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{Package AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{Package AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Package Official|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Package Official|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Package Official|trayer}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Package Official|xfce4-panel}}}}<br />
<br />
==Window managers and desktop environments==<br />
*[[Desktop Environment#List of desktop environments|List of desktop environments]]<br />
*[[Window Manager#List of window managers|List of window managers]]<br />
<br />
===Login managers===<br />
<!--Use the App template.--><br />
*{{App|[[CDM]]|An ultra-minimalistic, yet full-featured login manager written in bash|http://cdm.ghost1227.com/|{{Package AUR|cdm}}}}<br />
*{{App|[[SLiM]]|A lightweight and elegant graphical login solution|http://slim.berlios.de/|{{Package Official|slim}}}}<br />
*{{App|[[Qingy]]|An ultralight and very configurable graphical login independent on X Windows|http://qingy.sourceforge.net/|{{Package Official|qingy}}}}<br />
<br />
== System Monitoring ==<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*{{App|[[Conky]]|A lightweight, scriptable system monitor|http://conky.sourceforge.net/|{{Package Official|conky}}}}<br />
*[[gkrellm]] - Simple, flexible system monitor package for GTK2; many plug-ins are available on AUR. http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
*{{App|[[Wikipedia:Htop|Htop]]|A simple, ncurses interactive process viewer|http://htop.sourceforge.net/|{{Package Official|htop}}}}<br />
*{{App|LXTask|A lightweight task manager for [[LXDE]]|http://wiki.lxde.org/en/LXTask|{{Package Official|lxtask}}}}<br />
<br />
== Terminal emulators ==<br />
{{Wikipedia|List of terminal emulators}}<br />
* [[Wikipedia:aterm|aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/<br />
* Eterm ([[Enlightenment]], derived from rxvt)<br />
*[http://www.calno.com/evilvte/ evilvte] (The name apparently is a reference to [[Evilwm|evilwm]], although the two projects do not appear to be related.) (VTE)<br />
* [[gnome-terminal]] - [[GNOME]] default (standalone) terminal with support for Unicode and pseudo-transparency (VTE)<br />
* [[guake]] - A a drop-down terminal for Gnome Desktop Environment. https://aur.archlinux.org/packages.php?ID=15547<br />
* [[Wikipedia:Konsole|konsole]] - [[KDE]]'s default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* {{App|[[LilyTerm]]|A light and easy to use libvte based X Terminal Emulator|http://lilyterm.luna.com.tw/|{{Package Official|lilyterm}}}}<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
*[http://aur.archlinux.org/packages.php?ID=36730 mt] written as nice light-er-weight replacement for sakura (the binary is one third the size), keeping most of the functionality, except settings are defined during compilation, and removes some stupid features. (VTE)<br />
* {{App|ROXTerm|A tabbed, VTE-based terminal emulator with a small footprint|http://rox.sourceforge.net|{{Package Official|roxterm}}}}<br />
* [[Wikipedia:Rxvt|rxvt]] {{Package AUR|rxvt}}<br />
*{{App|[[urxvt]]|A highly extendable unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, quake-style dropdown, pseudo-transparency, and is extensible with perl|http://software.schmorp.de/pkg/rxvt-unicode|{{Package Official|rxvt-unicode}}}}<br />
*{{App|Sakura|A terminal emulator based on GTK+ and VTE|http://www.pleyades.net/david/sakura.php|{{Package Official|sakura}}}}<br />
*{{App|[[Stjerm]]|is a GTK+-based drop-down terminal emulator. Stjerm sets itself apart from similar programs by providing a minimalistic interface combined with a small file size, lightweight memory usage and easy integration with composite window managers such as Compiz. |http://code.google.com/p/stjerm-terminal-emulator/downloads/list|}}<br />
* [[terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/ (VTE)<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[Termit]] http://wiki.github.com/nonstop/termit/<br />
*{{App|[[Wikipedia:Tilda (software)|Tilda]]|A Linux terminal taking after the likeness of many classic terminals from first person shooter games, Quake, Doom and Half-Life (to name a few), where the terminal has no border and is hidden from the desktop until a key is pressed|http://sourceforge.net/projects/tilda/files/|{{Package Official|tilda}}}}<br />
*{{App|[[Xterm]]|A terminal emulator for the X Window System|http://invisible-island.net/xterm/|{{Package Official|xterm}}}}<br />
* [[yakuake]] - A drop-down terminal emulator based on KDE Konsole technology http://extragear.kde.org/apps/yakuake/<br />
<br />
==Text editors==<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of text editors}}<br />
===Console===<br />
*{{App|[[Emacs|GNU Emacs]]|The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons|http://www.gnu.org/software/emacs/|{{Package Official|emacs}}}}<br />
<!-- joe --><br />
*{{App|[[nano]]|A console text editor based on pico with on-screen key binding help|http://www.nano-editor.org/|{{Package Official|nano}}}}<br />
*{{App|[[Vim]]|Vi IMproved|http://www.vim.org/|{{Package Official|vim}}}}<br />
<br />
===Graphical===<br />
*{{App|[[Wikipedia:Acme (text editor)|Acme]]|A minimalist and flexible programming environment by Rob Pike|http://acme.cat-v.org|{{Package Official|plan9port}}}}<br />
*{{App|[[Beaver]]|An Early AdVanced EditoR|http://www.nongnu.org/beaver/|{{Package Official|beaver}}}}<br />
*{{App|[[Wikipedia:Geany|Geany]]|A text editor using the GTK+ 2 toolkit with basic features of an integrated development environment|http://www.geany.org|{{Package Official|geany}}}}<br />
*{{App|[[Wikipedia:Bluefish (text editor)|Bluefish]]|GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins|http://bluefish.openoffice.nl/|{{Package Official|bluefish}}}}<br />
*{{App|Cssed|GTK2 based Cascading Style Sheets (CSS) editor|http://cssed.sourceforge.net/|[[package]]}}<br />
*{{App|Edile|A PyGTK code/scripting editor implemented in one file|http://edile.googlecode.com|{{Package AUR|edile}}}}<br />
*{{App|[[Wikipedia:Gedit|Gedit]]|Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality|http://projects.gnome.org/gedit/|{{Package Official|gedit}}}}<br />
*{{App|[[gVim]]|Vi IMproved|http://www.vim.org/|{{Package Official|gvim}}}}<br />
*{{App|[[Kate]]|The KDE Advanced Text Editor. A full-featured programmer's editor, with MDI and a filesystem browser|[[project]]|[[package]]}}<br />
*{{App|[[KWrite]]|(part of the KDE desktop) A lightweight text editor with syntax highlighting.|[[project]]|[[package]]}}<br />
*{{App|[[Leafpad]]|A notepad clone for GTK+ 2.x that emphasizes simplicity|http://tarot.freeshell.org/leafpad/|{{Package Official|leafpad}}}}<br />
*{{App|medit|medit is a programming and around-programming text editor|http://mooedit.sourceforge.net/|{{Package Official|medit}}}}<br />
*{{App|[[Wikipedia:PyRoom|PyRoom]]|A great distractionless PyGTK text editor, a clone of the infamous WriteRoom|http://pyroom.org/|{{Package AUR|pyroom}}}}<br />
*{{App|[[Wikipedia:Sam (text editor)|Sam]]|A graphical text editor by Rob Pike (still used by Ken Thompson and others)|http://sam.cat-v.org|{{Package Official|plan9port}} or {{Package Official|9base}}}}<br />
*{{App|[[Scite]]|A generally useful editor with facilities for building and running programs|http://www.scintilla.org/SciTE.html|[[package]]}}<br />
*{{App|[[Tea]]|a QT based feature rich text editor|[[project]]|{{Package Official|tea}}}}<br />
<br />
== OCR tools ==<br />
There are several steps to the whole OCR process, the actual OCR engine is only part of this:<br />
# scanning<br />
# document layout analysis<br />
# optical character recognition<br />
# post-processing (formatting, PDF creation)<br />
<br />
=== OCR Engines ===<br />
* [[CuneiForm]] is a command line OCR system originally developed and open sourced by Cognitive technologies. Supported languages: eng, ger, fra, rus, swe, spa, ita, ruseng, ukr, srp, hrv, pol, dan, por, dut, cze, rum, hun, bul, slo, lav, lit, est, tur. Available from [[pacman]]/community. https://launchpad.net/cuneiform-linux<br />
<br />
* [[Tesseract]] is "probably one of the most accurate open source OCR engines available". Available from [[pacman]]/community. http://code.google.com/p/tesseract-ocr/<br />
<br />
* [[GOCR]]/JOCR (http://jocr.sourceforge.net/) is an OCR engine which also supports barcode recognition. Available from [[pacman]]/extra as "gocr". http://www.gnu.org/software/ocrad/<br />
* [[Ocrad]] is an OCR (Optical Character Recognition) program based on a feature extraction method. Available from [[pacman]]/extra. http://www.gnu.org/software/ocrad/<br />
<br />
=== Layout analysers and user interfaces ===<br />
* [[OCRopus]] is an OCR ''platform'', modules exist for document layout analysis, OCR engines (it can use Tesseract or its own engine), natural language modelling, etc. Available from [[AUR]]. http://code.google.com/p/ocropus/<br />
* [[gscan2pdf]] scans, runs Tesseract and creates a PDF all in one go<br />
* [[Kooka]] is a scanner GUI for KDE which supports the OCR engines [[GOCR]], [[Ocrad]] or [[KADMOS]]. Used to be part of kdegraphics4, but dropped out due to lack of development. http://kooka.kde.org/{{Linkrot|2011|09|03}}<br />
* [[OCRFeeder]] is a Python GUI for Gnome which performs document analysis and rendition, and can use either [[CuneiForm]], [[GOCR]], [[Ocrad]] or [[Tesseract]] as OCR engines. It can import from PDF or image files, and export to HTML or OpenDocument. Available from [[AUR]]. http://live.gnome.org/OCRFeeder<br />
* [[YAGF]] is a graphical interface for the [[CuneiForm]] text recognition program on the Linux platform. Available from community repository. http://symmetrica.net/cuneiform-linux/yagf-en.html<br />
<br />
==Application Launchers==<br />
<!--Use the App template.--><br />
*{{App|Fehlstart|A small application launcher written in c99|https://bbs.archlinux.org/viewtopic.php?id=122009/|{{Package AUR|fehlstart-git}}}}<br />
*{{App|Adeskbar|An easy, simple, unobtrusive application launcher for Openbox|https://launchpad.net/adeskbar|{{Package AUR|adeskbar}}}}<br />
<br />
==Games==<br />
*[[Games]]<br />
*[[Netbook Games]]<br />
<br />
==See also==<br />
*[[Scientific Applications]]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88515 Arch Linux Forums / LnF Awards 2010] - The best Light & Fast apps of 2010.<br />
*[https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - The best Light & Fast apps of 2011.<br />
*http://linuxappfinder.com/<br />
*http://www.linuxlinks.com/<br />
*http://en.wikipedia.org/wiki/List_of_open_source_software_packages<br />
*http://linuxappfinder.com/alternatives - Windows and OS X Software Alternatives<br />
*http://alternativeto.net/ - find alternatives to popular programs<br />
*http://www.linuxalt.com/ - Linux equivalents of Windows software<br />
*http://lin-app.com/ - on-line information service of various commercial applications and games for Linux</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=List_of_applications&diff=163888List of applications2011-10-04T03:57:09Z<p>Anonymous user: /* Graphical */</p>
<hr />
<div>[[Category:Software (English)]]<br />
{{i18n|Common Applications}}<br />
==Backup programs==<br />
{{Box||See the article on this subject: [[Backup Programs]]|#E5E5FF|#FCFCFC}}<br />
*{{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive|http://dar.linux.free.fr/|{{Package Official|dar}}}}<br />
*{{App|[[Duplicity|duplicity]]|A utility for encrypted, bandwidth-efficient backups using the rsync algorithm|http://www.nongnu.org/duplicity/|{{Package Official|duplicity}}}}<br />
*{{App|Packrat|A simple, modular backup system that uses dar to take full/incremental backups of files and can store them locally, on a remote system via SSH, or on Amazon S3|http://www.zeroflux.org/projects|{{Package AUR|packrat}}}}<br />
*{{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups|http://www.nongnu.org/rdiff-backup/|{{Package Official|rdiff-backup}}}}<br />
*{{App|rsnapshot|A remote filesystem snapshot utility|http://www.rsnapshot.org/|{{Package Official|rsnapshot}}}}<br />
*{{App|[[Rsync|rsync]]|A file transfer program to keep remote files in sync|http://rsync.samba.org/|{{Package Official|rsync}}}}<br />
*{{App|Safekeep|A client/server backup system which enhances the power of rdiff-backup|http://safekeep.sourceforge.net/|{{Package AUR|safekeep}}}}<br />
<br />
==Internet==<br />
===BitTorrent Clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of BitTorrent clients}}<br />
*{{App|[[aria2]]|Command-line download manager that supports HTTP/HTTPS, FTP, BitTorrent and MetaLink protocols|http://aria2.sourceforge.net/|{{Package Official|aria2}}}}<br />
*{{App|[[Deluge]]|User-friendly BitTorrent client written in Python and wrapped with PyGTK|http://deluge-torrent.org/|{{Package Official|deluge}}}}<br />
*{{App|[[Wikipedia:KTorrent|KTorrent]]|Feature-rich BitTorrent client developed using Qt|http://ktorrent.org/|{{Package Official|ktorrent}}}}<br />
*{{App|[[Wikipedia:MLDonkey|MLDonkey]]|Multi-protocol P2P client supporting BitTorrent|http://mldonkey.sourceforge.net/|{{Package Official|mldonkey}}}}<br />
*{{App|[[Wikipedia:QBittorrent|qBittorrent]]|The closest open source (GNU GPL v2 license) equivalent to µtorrent|http://qbittorrent.sourceforge.net/|{{Package Official|qbittorrent}}}}<br />
*{{App|[[rTorrent]]|Simple and lightweight ncurses BitTorrent client|http://libtorrent.rakshasa.no/|{{Package Official|rtorrent}}}}<br />
*{{App|[[Wikipedia:Transmission (BitTorrent client)|Transmission]]|Simple and easy-to-use BitTorrent client with daemon version and (GTK+) GUI, web and CLI front-ends|http://www.transmissionbt.com/|{{Package Official|transmission}}}}<br />
*{{App|[[Wikipedia:Vuze|Vuze]]|Feature-rich BitTorrent client written in Java (formerly Azureus)|http://www.vuze.com/|{{Package Official|vuze}}}}<br />
<br />
===eDonkey Clients===<br />
eDonkey is still the second-largest p2p network (see [http://www.ipoque.com/en/resources/internet-studies Internet Study 2008/2009]).<br />
*{{App|[[aMule]]|Well-known eDonkey/Kad client with daemon version and GTK, web, and CLI front-ends|http://www.amule.org/|{{Package Official|amule}}}}<br />
<br />
===Chat Clients===<br />
====IRC Clients====<br />
{{Wikipedia|Comparison of Internet_Relay_Chat_clients}}<br />
* {{App|Conspire|Lightweight, simple, and powerful|http://nenolod.net/|{{Package AUR|conspire-client}}}}<br />
* {{App|ERC|A powerful, modular, and extensible IRC client for [[Emacs]]|http://erc.sourceforge.net/|{{Package AUR|erc-git}}}}<br />
* {{App|II|A featherweight IRC client, literally `tail -f` the convo and `echo` back your replies|http://tools.suckless.org/ii|}}<br />
* {{App|Ircfs|A file system interface to irc written in [http://limbo.cat-v.org Limbo]|http://www.ueber.net/code/r/ircfs|}}<br />
* {{App|[[Irssi]]|Highly-configurable ncurses-based IRC client|http://www.irssi.org/|{{Package Official|irssi}}}}<br />
* {{App|[[Wikipedia:Konversation|Konversation]]|Qt-based IRC client for the KDE4 desktop|http://konversation.kde.org/|{{Package Official|konversation}}}}<br />
* {{App|[[Wikipedia:KVIrc|KVIrc]]|Qt-based IRC client featuring extensive themes support|http://www.kvirc.net/|{{Package Official|kvirc}}}}<br />
* {{App|Loqui|A GTK IRC client with only one dependency|https://launchpad.net/loqui|{{Package AUR|loqui}}}}<br />
* {{App|LostIRC|A simple IRC client|http://lostirc.sourceforge.net|{{Package AUR|lostirc}}}}<br />
* {{App|pcw|A frontend for [http://tools.suckless.org/ii ii] that opens a new terminal for each channel (depends on [http://bitbucket.org/emg/srw srw] by default)|http://bitbucket.org/emg/pcw|}}<br />
* {{App|ScrollZ|An advanced IRC client based on ircII|http://www.scrollz.com|{{Package AUR|scrollz}}}}<br />
* {{App|[[Wikipedia:WeeChat|WeeChat]]|Modular, lightweight ncurses-based IRC client|http://www.weechat.org/|{{Package Official|weechat}}}}<br />
* {{App|[[Wikipedia:XChat|XChat]]|GTK-based IRC client|http://xchat.org/|{{Package Official|xchat}}}}<br />
<br />
==== Jabber/XMPP Clients ====<br />
* {{App|Freetalk|A console based Jabber client|http://www.gnu.org/software/freetalk/|{{Package Official|freetalk}}}}<br />
* {{App|[[Wikipedia:Gajim|Gajim]]|Jabber client written in PyGTK|http://www.gajim.org/|{{Package Official|gajim}}}}<br />
* {{App|jabber.el|A minimal jabber client for emacs|http://emacs-jabber.sourceforge.net/|{{Package AUR|emacs-jabber}}}}<br />
* {{App|[[Wikipedia:MCabber|MCabber]]|A small Jabber console client, includes features: SSL, PGP, MUC, and UTF8|http://mcabber.com/|{{Package Official|mcabber}}}}<br />
* {{App|[[Wikipedia:Psi (instant messaging client)|Psi]]|A Qt based Jabber client|http://psi-im.org/|{{Package Official|psi}}}}<br />
* {{App|Psi+|Psi+ is an enhanced version of Psi Jabber client.|http://code.google.com/p/psi-dev/|{{Package AUR|psi-plus}}}}<br />
<br />
==== MSN Clients ====<br />
* {{App|[[Wikipedia:AMSN|aMSN]]|MSN client written in Tcl/Tk|http://www.amsn-project.net/|{{Package Official|amsn}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A pygtk MSN Messenger client|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|Galaxium Messenger|A multi-protocol instant messenger application designed for the GNOME desktop|http://code.google.com/p/galaxium/|{{Package AUR|galaxium}}}}<br />
* {{App|[[Wikipedia:Kmess|KMess]]|KMess is a MSN Messenger client for Linux|http://kmess.org/|{{Package Official|kmess}}}}<br />
* {{App|[[Wikipedia:Mercury Messenger|Mercury]]|Java Based MSN client|http://www.mercury.im/|{{Package Official|mercury}}}}<br />
<br />
==== Multi-Protocol Clients ====<br />
{{Wikipedia|Comparison of instant messaging clients}}<br />
<br />
* {{App|BarnOwl|A console chat client for the AIM, IRC, Jabber, and Zephyr protocols|http://barnowl.mit.edu/|{{Package AUR|barnowl}}}}<br />
* {{App|[[Bitlbee]]|A way to use other IM to your [[#IRC]] client|http://www.bitlbee.org/|{{Package Official|bitlbee}}}}<br />
* {{App|Carrier|Pidgin fork providing minor GUI enhancements (formerly funpidgin)|http://funpidgin.sourceforge.net/|{{Package AUR|carrier}}}}<br />
* {{App|[[Wikipedia:Centericq|CenterIM]]|Fork of CenterICQ - A text mode menu- and window-driven IM interface|http://www.centerim.org/index.php/Main_Page|{{Package Official|centerim}}}}<br />
* {{App|[[Wikipedia:Emesene|Emesene]]|A Python/GTK+ instant messenger for the Windows Live Messenger network|http://www.emesene.org/|{{Package Official|emesene}}}}<br />
* {{App|[[Wikipedia:Empathy (software)|Empathy]]|A GNOME instant messaging client using the Telepathy framework|http://live.gnome.org/Empathy|{{Package Official|empathy}}}}<br />
* {{App|Finch|A ncurses-based messaging client|http://pidgin.im/|{{Package Official|finch}}}}<br />
* {{App|[[Wikipedia:Kopete|Kopete]]|Instant Messenger|http://www.kde.org/|{{Package Official|kopete}}}}<br />
* {{App|[[Pidgin]]|Multi-protocol instant messaging client|http://pidgin.im/|{{Package Official|pidgin}}}}<br />
** {{App|Pidgin Light|A light Pidgin version without gstreamer, tcl, tk, xscreensaver support|http://www.pidgin.im/|{{Package AUR|pidgin-light}}}}<br />
* {{App|[[Wikipedia:QutIM|qutIM]]|Multiplatform instant messenger|http://qutim.org/|{{Package AUR|qutim}}}}<br />
<br />
===Email clients===<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of e-mail clients}}<br />
====Console====<br />
*{{App|[[Alpine]]|The Apache-licensed PINE (a tool for reading, sending, and managing electronic messages)|http://www.washington.edu/alpine|{{Package Official|alpine}}}}<br />
*{{App|[[Wikipedia:Gnus|Gnus]]|mail, nntp, rss client for Emacs.|http://www.gnus.org/|[[package]]}}<br />
*{{App|[[Wikipedia:mailx|heirloom-mailx]]|A full-featured command-line MUA derived from Berkeley Mail.|http://heirloom.sourceforge.net/mailx.html|{{Package Official|heirloom-mailx}}}}<br />
*{{App|[[mutt]]|Small but very powerful text-based mail client.|http://www.mutt.org/|{{Package Official|mutt}}}}<br />
*{{App|[[Sup]]|A CLI mail client with very fast searching, tagging, threading and gmail like operation.|http://sup.rubyforge.org/|{{Package AUR|sup}}}}<br />
<br />
====Graphical====<br />
*{{App|[[Wikipedia:Claws Mail|Claws Mail]]|A GTK+ based e-mail client|http://www.claws-mail.org/|{{Package Official|claws-mail}}}}<br />
*{{App|[[Evolution]]|A mature and feature-rich e-mail client used in GNOME by default.|http://projects.gnome.org/evolution/|{{Package Official|evolution}}}}<br />
*{{App|[[Wikipedia:Kmail|Kmail]]|A mature and feature-rich e-mail client part of the kde project.|http://kontact.kde.org/kmail/{{Linkrot|2011|09|03}}|{{Package Official|kmail}}}}<br />
*{{App|[[Wikipedia:Sylpheed|Sylpheed]]|Lightweight and user-friendly e-mail client (GTK)|http://sylpheed.sraoss.jp/en/|{{Package AUR|sylpheed}}}}<br />
*{{App|[[Thunderbird]]|Mozilla's GTK2-based client.|http://www.mozillamessaging.com/en-US/|{{Package Official|thunderbird}}}}<br />
*{{App|[[Postler]]|simple desktop mail client built in vala.|http://git.xfce.org/apps/postler|{{Package AUR|postler}}}}<br />
<br />
===Network Managers===<br />
<!--Use the App template.--><br />
*{{App|[[Wicd|wicd]]|Manages wireless and wired interfaces, requiring fewer dependencies than other network managers. In addition to GUI interfaces, a curses version is also available.|http://wicd.sourceforge.net/|{{Package Official|wicd}}}}<br />
*{{App|[[netcfg]]|Network configuration and profile scripts|http://projects.archlinux.org/netcfg.git/|{{Package Official|netcfg}}}}<br />
<br />
===News Aggregators===<br />
{{Wikipedia|Comparison of feed aggregators}}<br />
* [[Akregator]] - KDE's news aggregator (in kdepim package)<br />
* [[BlogBridge]] - Another excellent java-based aggregator http://www.blogbridge.com<br />
* {{App|[[Wikipedia:Canto_(news_aggregator)|Canto]]|A ncurses RSS aggregator|http://codezen.org/canto/|{{Package AUR|canto}}}}<br />
* {{App|[[Wikipedia:Gnus|Gnus]]|A mail, nntp, rss client for Emacs|http://www.gnus.org/|{{Package AUR|emacs-gnus-git}}}}<br />
* {{App|[[Liferea]] | A GTK desktop news aggregator for online news feeds and weblogs| http://liferea.sourceforge.net|{{Package AUR|liferea}}}}<br />
* {{App|Newsbeuter|A ncurses RSS aggregator with layout and keybinding similar to mutt. Does not use the traditional 3 panes setup|http://www.newsbeuter.org/|{{Package Official|newsbeuter}}}}<br />
* {{App|Rawdog|A "RSS Aggregator Without Delusions Of Grandeur" that parses RSS/CDF/Atom feeds into a static HTML page of articles in date order|http://offog.org/code/rawdog.html|{{Package AUR|rawdog}}}}<br />
* [[Rssowl]] - A powerful java-based RSS reader http://boreal.rssowl.org<br />
* {{App|Snownews|Text mode RSS newsreader|http://kiza.kcore.de/software/snownews/|{{Package Official|snownews}}}}<br />
* [[Thunderbird]] - A mail client from Mozilla which also functions as a pretty nice news aggregator<br />
<br />
=== Web Browsers ===<br />
{{Wikipedia|Comparison of web browsers}}<br />
==== Text Based ====<br />
* {{App|[[Wikipedia:ELinks|ELinks]]|An advanced and well-established feature-rich text mode web browser|http://elinks.or.cz/|{{Package Official|elinks}}}}<br />
* {{App|[[Wikipedia:Links (web browser)|Links]]|A text WWW browser, similar to Lynx|http://links.twibright.com/|{{Package Official|links}}}}<br />
* [[Lynx]] A text browser for the World Wide Web http://lynx.isc.org<br />
* [[w3m]] A pager/text-based WWW browser http://w3m.sourceforge.net/<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Abaco (web browser)|Abaco]]|A multi-page graphical web browser|http://lab-fgb.com/abaco/|{{Package AUR|abaco}}}}<br />
* {{App|[[Wikipedia:Arora (browser)|Arora]]|A cross platform web browser built using Qt and WebKit|http://code.google.com/p/arora/|{{Package Official|arora}}}}<br />
* {{App|[[Wikipedia:Conkeror|Conkeror]]|A highly programmable web browser based on Mozilla XULRunner|http://conkeror.org/|{{Package Official|conkeror}}}}<br />
* [[Chromium]] - The open-source project behind Google Chrome, a web browser developed by Google that uses the WebKit layout engine and application framework. http://code.google.com/chromium/<br />
* {{App|[[Wikipedia:Dillo|Dillo]]|A small, fast graphical web browser built on FLTK|http://www.dillo.org/|{{Package Official|dillo}}}}<br />
* [[Epiphany]] - The default GNOME browser, which uses the webkit rendering engine. http://projects.gnome.org/epiphany/<br />
* [[Firefox]] - [https://addons.mozilla.org/firefox/ Extensible] GTK2 browser based on Gecko with fast rendering. http://www.mozilla.com/firefox/<br />
* {{App|Hv3|A minimalist web browser based on tkhtml3|http://tkhtml.tcl.tk/hv3.html|{{Package AUR|hv3}}}}<br />
* {{App|[[Jumanji]]|A highly customizable and functional web browser|http://pwmt.org/projects/jumanji|{{Package AUR|jumanji}}}}<br />
* [[Kazehakase]] - A much lighter, but rather feature-lacking alternative to other browsers (GTK2 and Gecko). http://kazehakase.sourceforge.jp/<br />
* [[Konqueror]] - Qt- and KHTML-based browser. A part of the KDE desktop. http://www.konqueror.org/<br />
* {{App|Luakit| A highly configurable, micro-browser framework based on the WebKit web content engine and the GTK+ toolkit. It is very fast, extensible by Lua and licensed under the GNU GPLv3 license|http://luakit.org/projects/luakit/|{{Package Official|luakit}}}}<br />
* {{App|[[Wikipedia:Midori (web browser)|Midori]]| A lightweight web browser based on Gtk and WebKit. It passes the ACID3 test|http://www.twotoasts.de/index.php?/pages/midori_summary.html|{{Package Official|midori}}}}<br />
* {{App|[[Wikipedia:NetSurf|NetSurf]]| A featherweight browser written in C. Notable is its lack of JavaScript support and fast rendering through its own custom rendering engine|http://www.netsurf-browser.org Netsurf|{{Package Official|netsurf}}}}<br />
* [[Opera]] - Highly customizable browser with focuses on an adherence to web rendering standards http://www.opera.com/<br />
* {{App|Sb|A very lightweight webkit-based browser that uses keybindings to perform most things the URL bar would usually do|https://github.com/mutantturkey/sb/|{{Package AUR|sb-git}}}} <br />
* {{App|Surf|Another lightweight WebKit-based browser, which follows the [[suck less philosophy|suckless ideology]]. Which means, the software is even more lightweight (basically, the browser itself is a single C source file)|http://surf.suckless.org|{{Package AUR|surf-hg}}}}<br />
* {{App|[[Vimprobable]]|A browser that behaves like the Vimperator plugin available for Mozilla Firefox. It is based on the WebKit engine (using GTK bindings)|http://vimprobable.org/|{{Package AUR|vimprobable}}}}<br />
* {{App|[[Wikipedia:Uzbl|Uzbl]]|Web interface tools which adhere to the unix philosophy|http://www.uzbl.org/|{{Package Official|uzbl-browser}}}}<br />
<br />
=== Microblogging Clients ===<br />
* [[Hotot]] - Hotot, is a lightweight & open source Microblogging Client, coding using Python language and designed for Linux. http://hotot.org<br />
* [[Gwibber]] - Gwibber is an open source microblogging client for Linux. It brings the most popular social networking web services to your desktop and gives you the ability to control how you communicate. http://gwibber.com/<br />
* [[Pino]] - Pino is a simple and fast X11 client for Twitter and Identi.ca. It is compiled to native code, which assures small size and speed, and thanks to use of Vala language it can perfectly integrate into your Gnome or XFCE desktop. http://pino-app.appspot.com/<br />
<br />
===FTP Clients===<br />
*{{App|[[curlftp]]| A filesystem for acessing FTP hosts based on FUSE and libcurl. |http://curlftpfs.sourceforge.net/|{{Package Official|curlftpfs}}}}<br />
*{{App|[[fuseftp]]| FTP filesystem written in Perl, using FUSE|http://freshmeat.net/projects/fuseftp/|{{Package AUR|fuseftp}}}}<br />
<br />
== Document Indexers ==<br />
* [[pinot]] - Personal search and metasearch tool http://pinot.berlios.de/<br />
* [[recoll]] - Full text search tool based on Xapian backend http://www.lesbonscomptes.com/recoll/<br />
<br />
== Document Readers ==<br />
*{{App|apvlv|A lightweight PDF viewer with VIM key bindings|http://code.google.com/p/apvlv/|{{Package Official|apvlv}}}}<br />
*{{App|ePDFView|A free lightweight PDF document viewer using Poppler and GTK+ libraries|http://www.emma-soft.com/projects/epdfview/|{{Package Official|epdfview}}}}<br />
*[[Evince]] - Document viewer for multiple document formats. Supports pdf, postscript, djvu, tiff and dvi http://projects.gnome.org/evince/<br />
*[[Foxit Reader]] - A small, fast PDF viewer http://www.foxitsoftware.com/pdf/desklinux/<br />
*{{App|llpp|A very fast PDF reader based off of MuPDF, that supports continuous page scrolling, bookmarking, and text search through the whole document|http://repo.or.cz/w/llpp.git|{{Package AUR|llpp}}}}<br />
*{{App|MuPDF|A very fast PDF viewer and toolkit written in portable C. Features CJK font support|http://ccxvii.net/mupdf|{{Package Official|mupdf}}}}<br />
*[[Okular]] r for KDE. http://okular.kde.org/<br />
*{{App|Xpdf|A viewer for Portable Document Format (PDF) files|http://www.foolabs.com/xpdf/|{{Package Official|xpdf}}}}<br />
*{{App|zathura|Another lightweight PDF viewer similar to apvlv, only lighter|http://zathura.pwmt.org/projects/zathura|{{Package Official|zathura}}}}<br />
<br />
== Multimedia ==<br />
=== Audio ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
===[[Music Player Daemon|Music player daemon]] clients===<br />
<br />
*{{App|Ario|A very feature-rich GTK2 client for [[mpd]], inspired by Rhythmbox|http://ario-player.sourceforge.net/|{{Package Official|ario}}}}<br />
*{{App|ncmpc|A curses client for [[mpd]]|http://mpd.wikia.com/wiki/Client:Ncmpc|{{Package Official|ncmpc}}}}<br />
*{{App|ncmpcpp|An almost exact clone of ncmpc with some new features|http://unkart.ovh.org/ncmpcpp/|{{Package Official|ncmpcpp}}}}<br />
*{{App|QmpdClient|A Qt4 based mpd client|http://bitcheese.net/wiki/QMPDClient|{{Package Official|qmpdclient}}}}<br />
*{{App|Sonata|An elegant GTK+ music client for [[mpd]]|http://sonata.berlios.de/|{{Package Official|sonata}}}}<br />
<br />
====Console====<br />
*{{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{Package AUR|herrie}}}}<br />
*{{App|[[Wikipedia:Mpg123|Mpg123]]|A fast free MP3 console audio player for Linux, FreeBSD, Solaris, Hpux and near all other UNIX systems. Also decodes mp1 and mp2 files|http://www.mpg123.de/|{{Package Official|mpg123}}}}<br />
<br />
====Graphical====<br />
* [[Amarok]] - A mature Qt-based player known for its plethora of features<br />
* [http://ario-player.sourceforge.net/ Ario] - A GTK2 client for MPD (Music player daemon) inspired by Rhythmbox but much lighter and faster<br />
* [http://www.atunes.org/ aTunes] - An audio-player written in Java<br />
* [[Audacious]] - A Winamp clone like Beep and old XMMS versions<br />
* [http://banshee.fm/ Banshee] - yet another GTK2 iTunes clone, yet more feature-rich and more actively developed.<br />
* [http://www.clementine-player.org/ Clementine] - Amarok 1.4 ported to QT4<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Package Official|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{Package AUR|cplay}}}}<br />
* {{App|DeaDBeeF|A light and fast music player with many features, no GNOME or KDE dependencies, supports console-only and as well GTK2-gui, comes with many plugins, and has a metadata editor|http://deadbeef.sourceforge.net/|{{Package Official|deadbeef}}}}<br />
* [[Exaile]] - A GTK2 clone of Amarok<br />
* {{App|[[Goggles Music Manager]]|A music collection manager and player that automatically categorizes your music, supports gapless playback, features easy tag editing, and internet radio support|http://code.google.com/p/gogglesmm/|{{Package Official|gogglesmm}}}}<br />
* [http://guayadeque.org/ Guayadeque] - A full featured media player that can easily manage large collections and uses the Gstreamer media framework.<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Package Official|moc}}}}<br />
* [[Music Player Daemon]] - Music player daemon, a lightweight and scalable choice for music management<br />
* [http://www.mpg123.org/ mpg123] - command line audio player.<br />
* [http://mpd.wikia.com/wiki/Client:Ncmpc ncmpc] - An ncurses-based front-end to mpd<br />
* [http://unkart.ovh.org/ncmpcpp/ ncmpcpp] - A clone of ncmpc with some new features written in C++<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{Package AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Package Official|pragha}}}}<br />
* [http://www.luga.de/pytone/ PyTone] - An advanced music jukebox with a console interface<br />
* [http://code.google.com/p/quodlibet/ Quod Libet] - an audio player written with pygtk and gstreamer<br />
* [[Rhythmbox]] - A GTK2 clone of iTunes, used by default in GNOME<br />
* [http://sonata.berlios.de/ Sonata] - A pygtk-based client for mpd<br />
* [http://getnightingale.com/ Nightingale] - ([http://getsongbird.com/ Songbird] for linux) an open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP<br />
* [http://legacy.xmms2.org/ XMMS] - A skinnable GTK+1 standalone media player similar to winamp<br />
<br />
==== Visualization ====<br />
* [http://projectm.sourceforge.net/ projectM]<br />
<br />
==== Editing ====<br />
* [http://audacity.sourceforge.net/ Audacity]<br />
* [http://kwave.sourceforge.net/ Kwave]<br />
<br />
=== Graphics and Image Manipulation ===<br />
* [[Blender]]<br />
* [[Dia]]<br />
* [[Gimp]]<br />
* [[imagemagick]]<br />
* [[graphicsmagick]]<br />
* [[Inkscape]]<br />
* [[Krita]]<br />
* {{App|mtPaint|A a graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Package Official|mtpaint}}}}<br />
* [[Nathive]]<br />
* [[Shotwell]]<br />
* [[Xara]]<br />
* [[mypaint]]<br />
<br />
===Image Viewers===<br />
{{Wikipedia|Comparison of image viewers}}<br />
*{{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Package Official|feh}}}}<br />
*{{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Package Official|gpicview}}}}<br />
*{{App|[[Wikipedia:GQview|GQview]]|An image browser that features single click access to view images and move around the directory tree|http://gqview.sourceforge.net/|{{Package Official|gqview}}}}<br />
*{{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Package Official|geeqie}}}}<br />
*{{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Package Official|mirage}}}}<br />
*{{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Package Official|ristretto}}}}<br />
*{{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Package Official|qiv}}}}<br />
*{{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|http://xsisqox.github.com/Viewnior/about.html|{{Package Official|viewnior}}}}<br />
*{{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Package Official|xloadimage}}}}<br />
*{{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|http://github.com/muennich/sxiv|{{Package AUR|sxiv}}}}<br />
*{{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{Package AUR|galapix}}}}<br />
<!-- Broken links, need to be turned into App Templates.<br />
* [[Background Setter]]<br />
* [[eog]]<br />
* [[GQview]]<br />
* [[gThumb]]<br />
* [[Quick Image Viewer]]<br />
* [[XnView]]<br />
* [[xv]]<br />
* [[Picasa]]<br />
--><br />
<br />
=== Phone ===<br />
* [[moto4lin]]<br />
<br />
=== Video Players===<br />
{{Wikipedia|Comparison of video player software}}<br />
====Console====<br />
*{{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Package Official|mplayer}}}}<br />
<br />
====Graphical====<br />
*{{App|[[Wikipedia:Kdemultimedia#Dragon Player|Dragon Player]]|A simple video player for KDE 4 developed by Ian Monroe.|http://www.dragonplayer.net/|{{Package Official|kdemultimedia-dragonplayer}}}}<br />
*{{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Package Official|gnome-mplayer}}}}<br />
*{{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{Package AUR|parole}}}}<br />
*{{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Package Official|smplayer}}}}<br />
*{{App|[[Wikipedia:VLC media player|VLC media player]]|A middleweight video player with support for a wide variety of audio/video formats|http://www.videolan.org/vlc/|{{Package Official|vlc}}}}<br />
*{{App|[[Whaaw! Media Player]]|A lightweight Gstreamer-based audio/video player that can serve as a good alternative to Totem for those who do not like all those GNOME dependencies.|http://home.gna.org/whaawmp/|[[package]]}}<br />
*{{App|Xnoise|A GTK+ media player for both audio and video with "a slick GUI, great speed and lots of features.". Uses gstreamer.|http://www.xnoise-media-player.com/|{{Package AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
* http://www.pitivi.org/ {{Package AUR|pitivi}}<br />
* http://lives.sourceforge.net/ {{Package AUR|lives}}<br />
* http://www.openmovieeditor.org/ {{Package Official|openmovieeditor}}<br />
* [http://www.openshotvideo.com/ openshotvideo]<br />
* http://www.avidemux.org/ {{Package Official|avidemux}}<br />
* http://kdenlive.org/ {{Package Official|kdenlive}}<br />
* [http://www.kinodv.org/ kinodv]<br />
* http://cinelerra.org/ {{Package Official|cinelerra-cv}}<br />
<br />
== Note Taking Organizers ==<br />
===Console===<br />
*{{App|todo.txt|Manages your Todo list from the command line|http://ginatrapani.github.com/todo.txt-cli/|{{Package AUR|todotxt}}}}<br />
*{{App|Taskwarrior|Another cli todo list application with support for lua customization and more|http://taskwarrior.org|Available in the community repository as "task".}}<br />
<br />
===Graphical===<br />
* {{Package AUR|KeepNote}} A cross-platform GTK note-taking app with rich text formatting [http://keepnote.org Home page]<br />
* {{Package AUR|glista}} with notes support [http://prematureoptimization.org/glista/downloads.php Home page]<br />
* [[hnb]] - A program to organize many kinds of data in one place [http://hnb.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=16630 Package]<br />
* [[NoteCase]] - A portable hierarchical note manager, coded in C++ using the GTK+ toolkit [http://notecase.sourceforge.net Home page]<br />
* {{App|[[Wikipedia:Org-mode|org-mode]]|An [[Emacs]] Mode for Notes, Project Planning, and Authoring|http://orgmode.org|{{Package AUR|emacs-org-mode}}}}<br />
* [[Task]] - A command-line TODO list manager [http://www.beckingham.net/task.html Home page]<br />
* [[tomboy]] - Desktop note-taking application for Linux and Unix [http://www.gnome.org/projects/tomboy/ Home page]<br />
* [[zim]] - A WYSIWYG text editor that aims at bringing the concept of a wiki to the desktop [http://zim-wiki.org/ Home page]<br />
* [[Gnote]] - Gnote is an experimental port of Tomboy to C++ [http://live.gnome.org/Gnote Home page]<br />
* [[Cherrytree]] - A hierarchical note taking application [http://www.giuspen.com/cherrytree/ Home page]<br />
<br />
==Office suites==<br />
* [[Koffice]] - KOffice is a free, integrated office suite for KDE, the K Desktop Environment. http://www.koffice.org/<br />
* [[OpenOffice.org]] - An office suite http://www.OpenOffice.org/<br />
* [[LibreOffice]] - A fork of OpenOffice.org, which integrates various patches<br />
<br />
==Word processors==<br />
{{Wikipedia|Comparison of word processors}}<br />
*{{App|[[Abiword]]|A full-featured word processor|http://www.abisource.com/|{{Package Official|abiword}}}}<br />
**{{App|Abiword Light|A lighter version of Abiword|http://www.abisource.com/|{{Package AUR|abiword-light}}}}<br />
*{{App|[[Wikipedia:Markdown|Markdown]]|A text-to-HTML conversion tool that allows you to write using a simple plain text format|http://daringfireball.net/projects/markdown|{{Package AUR|markdown}}}}<br />
*{{App|pandoc|A swiss-army knife for converting one markup format into another (supports Markdown)|http://johnmacfarlane.net/pandoc|{{Package AUR|pandoc}}}}<br />
*{{App|[[Wikipedia:Txt2tags|txt2tags]]|A dead-simple, KISS-compliant lightweight, human-readable markup language to produce rich format content out of plain text files|http://txt2tags.sourceforge.net|{{Package AUR|txt2tags}}}}<br />
*[[OpenOffice.org Writer]] - A full-featured word processor included in the OpenOffice.org suite<br />
*[http://www.archlinux.org/packages/community/i686/ted/ Ted] - An easy GTK-based rich text processor (with footnote support) http://www.nllgg.nl/Ted/<br />
<br />
== Spreadsheets ==<br />
*[[gnumeric]] - A GNOME Spreadsheet Program http://www.gnome.org/projects/gnumeric<br />
*[[LibreOffice|Libreoffice Calc]]<br />
*[[OpenOffice.org|OpenOffice.org Calc]] - A full-featured spreadsheet included in OpenOffice.org suite<br />
<br />
== Security ==<br />
* [[iptables]] - A powerful [[firewall]] built into the linux kernel that is part of the [http://en.wikipedia.org/wiki/Netfilter netfilter] project<br />
* [[arpwatch]] - arpwatch and arpsnmp network monitoring tools ftp://ftp.ee.lbl.gov/<br />
* [[DenyHosts]] - a script to help thwart ssh server attacks http://denyhosts.sourceforge.net/<br />
* [[fail2ban]] - bans IP that makes too many password failures http://www.fail2ban.org/<br />
* [[Sshguard]] - Same as DenyHosts and fail2ban, only lighter, simpler and written in plain C http://www.sshguard.net/<br />
* [[etherape]] - A graphical network monitor for various OSI layers and protocols http://etherape.sourceforge.net/<br />
* [[iptraf]] - An IP network monitor http://iptraf.seul.org/<br />
* [[logwatch]] - Logwatch is a customizable log analysis system http://www.logwatch.org/<br />
* [[nessus]] - Vulnerability scanner http://www.nessus.org<br />
* [[nmap]] - A command line network exploration tool and security/port scanner http://nmap.org<br />
* [[ntop]] - A network traffic probe based on libcap http://ntop.org<br />
* [[portbunny]] - Extremly fast CLI portscanner http://www.recurity-labs.com/portbunny/index.shtml<br />
* [[snort]] - A lightweight network intrusion detection system http://www.snort.org<br />
* [[swatch]] - The active log file monitoring tool http://swatch.sourceforge.net/<br />
* [[tcpdump]] - A tool for network monitoring and data acquisition http://www.tcpdump.org<br />
* [[vnstat]] - console-based network traffic monitor that keeps a log of network traffic http://humdi.net/vnstat/<br />
* [[wireshark]] - A free network protocol analyzer for Unix/Linux and Windows http://www.wireshark.org/<br />
<br />
== Time Management ==<br />
===Console===<br />
* {{App|Calcurse|A text-based curses calendar and scheduling system|http://calcurse.org/|{{Package Official|calcurse}}}}<br />
* {{App|Remind|A highly sophisticated text-based calendaring and notification system|http://www.roaringpenguin.com/products/remind|{{Package Official|remind}}}}<br />
* [[When]] - A simple command line personal calendar program [http://www.lightandmatter.com/when/when.html Home page]<br />
<br />
===Graphical===<br />
* {{App|etm|Event and Task Manager. A "Getting Things Done" approach handling events, tasks, activities, reminders and projects|http://www.duke.edu/~dgraham/ETM/|{{Package AUR|etm}}}}<br />
* [[Orage]] - A GTK+ calendar and task manager often seen integrated with Xfce [http://www.xfce.org/projects/orage/ Home page]<br />
* [[Osmo]] - A GTK+ personal organizer, which includes calendar, tasks manager and address book modules. [http://clayo.org/osmo/ Home page]<br />
* [http://aur.archlinux.org/packages.php?ID=21675 Rachota] - A portable time tracker for personal projects [http://rachota.sourceforge.net/en/ Home page]<br />
* {{App|Pal|A very lightweight calendar with both interactive and non-interactive interfaces|http://palcal.sourceforge.net/|{{Package AUR|pal}}}}<br />
* [[Sunbird]] - The standalone Mozilla calendar application [http://www.mozilla.org/projects/calendar/sunbird/ Home page]<br />
* [[taskcoach]] - A simple open source todo manager to manage personal tasks and todo lists [http://taskcoach.sourceforge.net/ Home page] [http://aur.archlinux.org/packages.php?ID=6005 Package]<br />
* {{App|Wyrd|A curses front-end to Remind|http://pessimization.com/software/wyrd/|{{Package Official|wyrd}}}}<br />
* {{App|wxRewind|A Python text and graphical frontend to Remind|http://www.duke.edu/~dgraham/wxRemind/|{{Package AUR|wxremind}}}}<br />
<br />
==Translation and Localisation==<br />
* [[Lokalize]] - the standard [[KDE]] tool for software translation. Available in Extra. [http://userbase.kde.org/Lokalize Home page]<br />
* [[virtaal]] - an editor for translation of both software and other text, based on Translate Toolkit. [http://aur.archlinux.org/packages.php?ID=21709 Available in AUR]. [http://translate.sourceforge.net/wiki/virtaal/index Home page]<br />
** Supported formats: Gettext (.po and .mo), XLIFF (.xlf), TMX, TBX, WordFast TM (.txt), Qt Linguist (.ts), Qt Phrase Book (.qph), OmegaT glossary (.tab and .utf8), ...<br />
** Shows suggestions from [[Apertium]], Google Translate, Microsoft Translator, [[Moses]], http://open-tran.eu, Translation Memories or TM servers<br />
* [[poedit]] - a simple Gettext/po-file translation tool. Available in Community. [http://www.poedit.net/ Home page]<br />
* [[OmegaT]] - "the translation memory tool", a general translators tool which contains a lot of translation memory features<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, XLIFF/Okapi, MediaWiki, plain text, TMX, ...<br />
** Shows suggestions from Google Translate<br />
* [[pology]] - a set of Python tools for dealing with Gettext/po-files. See the [http://techbase.kde.org/Localization/Tools/Pology#About home page] for simple installation instructions.<br />
** May be used to translate po-files with [[Apertium]], see http://wiki.apertium.org/wiki/Translating_gettext for instructions.<br />
* [[Apertium]] - a free and open source rule-based machine translation platform. All released language data is [http://aur.archlinux.org/packages.php?K=apertium available in AUR]. [http://apertium.org/ Home page]<br />
** Supported formats: html, MS Office 2007 XML, OpenDocument format, TMX, some MediaWiki support, ... (use [[Pology]] or [[Virtaal]] for po-files)<br />
** See [http://wiki.apertium.org/wiki/Main_Page the wiki] for supported languages<br />
* [[Moses]] - a statistical machine translation tool (language data not included). [http://www.statmt.org/moses/ Home page]<br />
<br />
== Utilities ==<br />
===Arch Package Management===<br />
<!--shouldn't duplicate info from [[AUR Helpers]]--><br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|To use the aurnotify desklet visit: http://adesklets.sourceforge.net/desklets.html|{{Package AUR|aurnotify}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{Package AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Package Official|pacman-contrib}}}}<br />
* {{App|Pkgtools|A collection of scripts for Arch Linux packages.|Which includes '''pkgfile'''; find what package owns a file. [[http://bbs.archlinux.org/viewtopic.php?pid=384196 Forum topic]]|{{Package Official|pkgtools}}}}<br />
<!--{{Warning|''Powerpill'' development has been officially discontinued: its latest version does not work with ''pacman>&#61;3.5''. See [https://bbs.archlinux.org/viewtopic.php?id&#61;115660].}}<br />
* [[Powerpill]] A wrapper for pacman that speeds up package retrieval by using aria2c for concurrent/segmented downloads. http://xyne.archlinux.ca/old_projects/powerpill--><br />
* {{App|[[TuPac]]|A cached pacman implementation that boosts some pacman operations: faster searches, AND searches, aur support, colored output, system sanity check, frontend friendly and more...|http://sourceforge.net/projects/tupac|{{Package AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{Package AUR|yaourt}}}}<br />
<br />
Also see [[AUR Helpers]].<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Package Official|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{Package AUR|gt5}}}}<br />
* {{App|[[Baobab]]|Baobab is a C/gtk+ application to analyse disk usage in any Gnome environment.|http://www.marzocca.net/linux/baobab|{{Package AUR|Baobab}}}}<br />
* {{App|[[Filelight]]|Filelight creates an interactive map of concentric, segmented rings that help visualise disk usage on your computer.|http://www.methylblue.com/filelight|{{Package Official|Filelight}}}}<br />
* {{App|[[gdmap]]|Draw map of rectangles where size of rectangle relate to size of file or dir.|http://gdmap.sourceforge.net/|{{Package Official|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools===<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[brasero]] - An application to burn CDs/DVDs for the Gnome Desktop.<br />
* {{App|cdw|Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso.|http://cdw.sourceforge.net/|{{Package AUR|cdw}}}}<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
* [[k3b]] - A feature-rich and easy to handle CD burning application for KDE.<br />
* [[nerolinux]] - A commercial CD/DVD burning tool (requires a valid key).<br />
* {{App|recorder|Simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Package Official|recorder}}}}<br />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
* {{App|Xfburn|Simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Package Official|xfburn}}}}<br />
<br />
===Clipboard Managers===<br />
* [[Anamnesis]] - stores all clipboard history (!) and offers an interface to do a full-text search. Both command line and GUI modes available [http://anamnesis.sourceforge.net/ Home page] | [http://aur.archlinux.org/packages.php?ID=41542 AUR package]<br />
* [[ClipIt]] - a fork of Parcellite with additional features and bugfixes [http://sourceforge.net/projects/gtkclipit/ Home page]<br />
* [[Glipper]] - clipboardmanager for GNOME with more features and plugin support [http://glipper.sourceforge.net/ Home page]<br />
* [[klipper]] - full featured clipboardmanager for KDE (kdebase-workspace package) [http://userbase.kde.org/Klipper]<br />
* [[Parcellite]] - a lightweight yet feature-rich clipboard manager [http://parcellite.sourceforge.net/ Home page]<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
* [[File Roller]] The default archive manager for GNOME.<br />
* [[p7zip]] - A command line port of 7-Zip for POSIX systems, including Linux. http://p7zip.sourceforge.net/ http://www.7-zip.org/<br />
* [[pbzip2]] - A threaded version of the bzip2 utility, can automatically scale up to as many cores as it finds in the system.<br />
* [[Squeeze]] - A featherweight front-end for command line archiving tools. Passworded archives are currently unsupported. http://squeeze.xfce.org/<br />
* {{App|Xarchive|A GTK+ 2 front-end for various command line archiving tools|http://xarchive.sourceforge.net|{{Package AUR|xarchive}}}}<br />
* {{App|[[Wikipedia:Xarchiver|Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2. At the time of writing, it appears to be the most functional and up to date of the three tools listed here|http://xarchiver.sourceforge.net/|{{Package Official|xarchiver}}}}<br />
* [[Ark]] - Archiving Tool for KDE4.<br />
<br />
===eMoney===<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{Package AUR|bitcoin}}}}<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
====Console====<br />
*{{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Package Official|mc}}}}<br />
*{{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Package Official|ranger}}}}<br />
<br />
====Graphical====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Package Official|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Package Official|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Package Official|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Package Official|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Package Official|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{Package Official|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Package Official|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Package Official|rox}}}}<br />
* {{App|[[Sunflower]]|Small and highly customizable twin-panel file manager for Linux with support for plugins.|http://code.google.com/p/sunflower-fm/|{{Package AUR|sunflower}}}}<br />
* {{App|[[Thunar]]|Can be run as a daemon with excellent start up and directory load times. Features support for customizable actions|http://thunar.xfce.org/index.html|{{Package Official|thunar}}}}<br />
* {{App|[[tuxcmd]]|Windowed file manager with 2 panels side by side similar to popular Total Commander or Midnight Commander file managers|http://tuxcmd.sourceforge.net/description.php|{{Package Official|tuxcmd}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Package Official|vifm}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Package Official|xfe}}}}<br />
<br />
=== Merge tools ===<br />
* [[diffuse]]: http://diffuse.sourceforge.net/<br />
* ediff: part of [[Emacs|emacs]]<br />
* [[kdiff]]: http://kdiff3.sourceforge.net/<br />
* [[kompare]]: http://kde.org/applications/development/kompare<br />
* [[meld]]: http://meld.sourceforge.net<br />
* [[Vim#Merging_Files_.28Vimdiff.29|vimdiff]]<br />
<br />
=== Taskbars ===<br />
* {{App|[[Avant Window Navigator]]|A lightweight dock which sits at the bottom of the screen.|http://wiki.awn-project.org/|{{Package Official|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Package Official|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{Package AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Package Official|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{Package AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{Package AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{Package AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{Package AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{Package AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Package Official|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Package Official|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Package Official|trayer}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Package Official|xfce4-panel}}}}<br />
<br />
==Window managers and desktop environments==<br />
*[[Desktop Environment#List of desktop environments|List of desktop environments]]<br />
*[[Window Manager#List of window managers|List of window managers]]<br />
<br />
===Login managers===<br />
<!--Use the App template.--><br />
*{{App|[[CDM]]|An ultra-minimalistic, yet full-featured login manager written in bash|http://cdm.ghost1227.com/|{{Package AUR|cdm}}}}<br />
*{{App|[[SLiM]]|A lightweight and elegant graphical login solution|http://slim.berlios.de/|{{Package Official|slim}}}}<br />
*{{App|[[Qingy]]|An ultralight and very configurable graphical login independent on X Windows|http://qingy.sourceforge.net/|{{Package Official|qingy}}}}<br />
<br />
== System Monitoring ==<br />
*[[adesklet-systemmonitor]] - Modular stackable system monitors for adesklets http://adesklets.sourceforge.net/desklets.html<br />
*{{App|[[Conky]]|A lightweight, scriptable system monitor|http://conky.sourceforge.net/|{{Package Official|conky}}}}<br />
*[[gkrellm]] - Simple, flexible system monitor package for GTK2; many plug-ins are available on AUR. http://members.dslextreme.com/users/billw/gkrellm/gkrellm.html<br />
*{{App|[[Wikipedia:Htop|Htop]]|A simple, ncurses interactive process viewer|http://htop.sourceforge.net/|{{Package Official|htop}}}}<br />
*{{App|LXTask|A lightweight task manager for [[LXDE]]|http://wiki.lxde.org/en/LXTask|{{Package Official|lxtask}}}}<br />
<br />
== Terminal emulators ==<br />
{{Wikipedia|List of terminal emulators}}<br />
* [[Wikipedia:aterm|aterm]] - An xterm replacement with transparency support http://aterm.sourceforge.net/<br />
* Eterm ([[Enlightenment]], derived from rxvt)<br />
*[http://www.calno.com/evilvte/ evilvte] (The name apparently is a reference to [[Evilwm|evilwm]], although the two projects do not appear to be related.) (VTE)<br />
* [[gnome-terminal]] - [[GNOME]] default (standalone) terminal with support for Unicode and pseudo-transparency (VTE)<br />
* [[guake]] - A a drop-down terminal for Gnome Desktop Environment. https://aur.archlinux.org/packages.php?ID=15547<br />
* [[Wikipedia:Konsole|konsole]] - [[KDE]]'s default terminal<br />
* [[lxterminal]] - VTE-based terminal emulator and c part of the LXDE DE. http://lxde.org/<br />
* {{App|[[LilyTerm]]|A light and easy to use libvte based X Terminal Emulator|http://lilyterm.luna.com.tw/|{{Package Official|lilyterm}}}}<br />
* [[mrxvt]] - Tabbed X terminal emulator based on rxvt code http://materm.sourceforge.net/index.html<br />
*[http://aur.archlinux.org/packages.php?ID=36730 mt] written as nice light-er-weight replacement for sakura (the binary is one third the size), keeping most of the functionality, except settings are defined during compilation, and removes some stupid features. (VTE)<br />
* {{App|ROXTerm|A tabbed, VTE-based terminal emulator with a small footprint|http://rox.sourceforge.net|{{Package Official|roxterm}}}}<br />
* [[Wikipedia:Rxvt|rxvt]] {{Package AUR|rxvt}}<br />
*{{App|[[urxvt]]|A highly extendable unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, quake-style dropdown, pseudo-transparency, and is extensible with perl|http://software.schmorp.de/pkg/rxvt-unicode|{{Package Official|rxvt-unicode}}}}<br />
*{{App|Sakura|A terminal emulator based on GTK+ and VTE|http://www.pleyades.net/david/sakura.php|{{Package Official|sakura}}}}<br />
*{{App|[[Stjerm]]|is a GTK+-based drop-down terminal emulator. Stjerm sets itself apart from similar programs by providing a minimalistic interface combined with a small file size, lightweight memory usage and easy integration with composite window managers such as Compiz. |http://code.google.com/p/stjerm-terminal-emulator/downloads/list|}}<br />
* [[terminal]] - Xfce default terminal with support for a colorized prompt and a tabbed interface http://www.xfce.org/projects/terminal/ (VTE)<br />
* [[terminator]] - A terminal emulator supporting multiple resizable terminal panes<br />
* [[Termit]] http://wiki.github.com/nonstop/termit/<br />
*{{App|[[Wikipedia:Tilda (software)|Tilda]]|A Linux terminal taking after the likeness of many classic terminals from first person shooter games, Quake, Doom and Half-Life (to name a few), where the terminal has no border and is hidden from the desktop until a key is pressed|http://sourceforge.net/projects/tilda/files/|{{Package Official|tilda}}}}<br />
*{{App|[[Xterm]]|A terminal emulator for the X Window System|http://invisible-island.net/xterm/|{{Package Official|xterm}}}}<br />
* [[yakuake]] - A drop-down terminal emulator based on KDE Konsole technology http://extragear.kde.org/apps/yakuake/<br />
<br />
==Text editors==<br />
<!--Keep in sync with [[Lightweight Applications]] and use the App template.--><br />
{{Wikipedia|Comparison of text editors}}<br />
===Console===<br />
*{{App|[[Emacs|GNU Emacs]]|The somewhat intimidating but famously extensible text editor with hundreds of tricks and add-ons|http://www.gnu.org/software/emacs/|{{Package Official|emacs}}}}<br />
<!-- joe --><br />
*{{App|[[nano]]|A console text editor based on pico with on-screen key binding help|http://www.nano-editor.org/|{{Package Official|nano}}}}<br />
*{{App|[[Vim]]|Vi IMproved|http://www.vim.org/|{{Package Official|vim}}}}<br />
<br />
===Graphical===<br />
*{{App|[[Wikipedia:Acme (text editor)|Acme]]|A minimalist and flexible programming environment by Rob Pike|http://acme.cat-v.org|{{Package Official|plan9port}}}}<br />
*{{App|[[Beaver]]|An Early AdVanced EditoR|http://www.nongnu.org/beaver/|{{Package Official|beaver}}}}<br />
*{{App|[[Wikipedia:Geany|Geany]]|A text editor using the GTK+ 2 toolkit with basic features of an integrated development environment|http://www.geany.org|{{Package Official|geany}}}}<br />
*{{App|[[Wikipedia:Bluefish (text editor)|Bluefish]]|GTK editor/IDE with an MDI interface, syntax highlighting and support for Python plugins|http://bluefish.openoffice.nl/|{{Package Official|bluefish}}}}<br />
*{{App|Cssed|GTK2 based Cascading Style Sheets (CSS) editor|http://cssed.sourceforge.net/|[[package]]}}<br />
*{{App|Edile|A PyGTK code/scripting editor implemented in one file|http://edile.googlecode.com|{{Package AUR|edile}}}}<br />
*{{App|[[Wikipedia:Gedit|Gedit]]|Part of the GNOME desktop, but has minimal dependencies: a GTK2 editor with syntax highlighting, automatic indentation, matching brackets, etc., and a number of add-ons to increase functionality|http://projects.gnome.org/gedit/|{{Package Official|gedit}}}}<br />
*{{App|[[gVim]]|Vi IMproved|http://www.vim.org/|{{Package Official|gvim}}}}<br />
*{{App|[[Kate]]|The KDE Advanced Text Editor. A full-featured programmer's editor, with MDI and a filesystem browser|[[project]]|[[package]]}}<br />
*{{App|[[KWrite]]|(part of the KDE desktop) A lightweight text editor with syntax highlighting.|[[project]]|[[package]]}}<br />
*{{App|[[Leafpad]]|A notepad clone for GTK+ 2.x that emphasizes simplicity|http://tarot.freeshell.org/leafpad/|{{Package Official|leafpad}}}}<br />
*{{App|medit|medit is a programming and around-programming text editor|http://mooedit.sourceforge.net/|{{Package Official|medit}}}}<br />
*{{App|[[Wikipedia:PyRoom|PyRoom]]|A great distractionless PyGTK text editor, a clone of the infamous WriteRoom|http://pyroom.org/|{{Package AUR|pyroom}}}}<br />
*{{App|[[Wikipedia:Sam (text editor)|Sam]]|A graphical text editor by Rob Pike (still used by Ken Thompson and others)|http://sam.cat-v.org|{{Package Official|plan9port}} or {{Package Official|9base}}}}<br />
*{{App|[[Scite]]|A generally useful editor with facilities for building and running programs|http://www.scintilla.org/SciTE.html|[[package]]}}<br />
*{{App|[[Tea]]|a QT based feature rich text editor|[[project]]|{{Package Official|tea}}}}<br />
<br />
== OCR tools ==<br />
There are several steps to the whole OCR process, the actual OCR engine is only part of this:<br />
# scanning<br />
# document layout analysis<br />
# optical character recognition<br />
# post-processing (formatting, PDF creation)<br />
<br />
=== OCR Engines ===<br />
* [[CuneiForm]] is a command line OCR system originally developed and open sourced by Cognitive technologies. Supported languages: eng, ger, fra, rus, swe, spa, ita, ruseng, ukr, srp, hrv, pol, dan, por, dut, cze, rum, hun, bul, slo, lav, lit, est, tur. Available from [[pacman]]/community. https://launchpad.net/cuneiform-linux<br />
<br />
* [[Tesseract]] is "probably one of the most accurate open source OCR engines available". Available from [[pacman]]/community. http://code.google.com/p/tesseract-ocr/<br />
<br />
* [[GOCR]]/JOCR (http://jocr.sourceforge.net/) is an OCR engine which also supports barcode recognition. Available from [[pacman]]/extra as "gocr". http://www.gnu.org/software/ocrad/<br />
* [[Ocrad]] is an OCR (Optical Character Recognition) program based on a feature extraction method. Available from [[pacman]]/extra. http://www.gnu.org/software/ocrad/<br />
<br />
=== Layout analysers and user interfaces ===<br />
* [[OCRopus]] is an OCR ''platform'', modules exist for document layout analysis, OCR engines (it can use Tesseract or its own engine), natural language modelling, etc. Available from [[AUR]]. http://code.google.com/p/ocropus/<br />
* [[gscan2pdf]] scans, runs Tesseract and creates a PDF all in one go<br />
* [[Kooka]] is a scanner GUI for KDE which supports the OCR engines [[GOCR]], [[Ocrad]] or [[KADMOS]]. Used to be part of kdegraphics4, but dropped out due to lack of development. http://kooka.kde.org/{{Linkrot|2011|09|03}}<br />
* [[OCRFeeder]] is a Python GUI for Gnome which performs document analysis and rendition, and can use either [[CuneiForm]], [[GOCR]], [[Ocrad]] or [[Tesseract]] as OCR engines. It can import from PDF or image files, and export to HTML or OpenDocument. Available from [[AUR]]. http://live.gnome.org/OCRFeeder<br />
* [[YAGF]] is a graphical interface for the [[CuneiForm]] text recognition program on the Linux platform. Available from community repository. http://symmetrica.net/cuneiform-linux/yagf-en.html<br />
<br />
==Application Launchers==<br />
<!--Use the App template.--><br />
*{{App|Fehlstart|A small application launcher written in c99|https://bbs.archlinux.org/viewtopic.php?id=122009/|{{Package AUR|fehlstart-git}}}}<br />
*{{App|Adeskbar|An easy, simple, unobtrusive application launcher for Openbox|https://launchpad.net/adeskbar|{{Package AUR|adeskbar}}}}<br />
<br />
==Games==<br />
*[[Games]]<br />
*[[Netbook Games]]<br />
<br />
==See also==<br />
*[[Scientific Applications]]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88515 Arch Linux Forums / LnF Awards 2010] - The best Light & Fast apps of 2010.<br />
*[https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - The best Light & Fast apps of 2011.<br />
*http://linuxappfinder.com/<br />
*http://www.linuxlinks.com/<br />
*http://en.wikipedia.org/wiki/List_of_open_source_software_packages<br />
*http://linuxappfinder.com/alternatives - Windows and OS X Software Alternatives<br />
*http://alternativeto.net/ - find alternatives to popular programs<br />
*http://www.linuxalt.com/ - Linux equivalents of Windows software<br />
*http://lin-app.com/ - on-line information service of various commercial applications and games for Linux</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Rc.conf_GUI_Frontends&diff=150779Rc.conf GUI Frontends2011-08-06T02:51:01Z<p>Anonymous user: /* ArchLinux Daemon Manager GUI */</p>
<hr />
<div>[[Category:Utilities (English)]]<br />
{{i18n|Rc.conf GUI Frontends}}<br />
<br />
This is a list of [[rc.conf]] GUI frontends, designed to provide a graphical editor of the {{filename|/etc/rc.conf}} file. The list includes Gtk2 based software and Qt based software.<br />
<br />
{{Warning|None of these tools are officially supported by Arch developers.}}<br />
<br />
== GNOME/GTK+ ==<br />
===ArchLinux Daemon Manager GUI===<br />
ArchLinux Daemon Manager allows you to easily change settings in {{filename|/etc/rc.conf}} using GTK application aldm-gui or command-line application aldm.<br />
<br />
*Homepage: https://github.com/Harvie/ArchLinux-Daemon-Manager<br />
*AUR Package Details: https://aur.archlinux.org/packages.php?ID=29606<br />
*Screenshots: http://img130.imageshack.us/img130/4200/aldmgui03.png<br />
<br />
== KDE/Qt ==<br />
===rcconf-settings===<br />
rcconf-settings is a tool designed for the Chakra GNU/Linux distribution but should also work on Arch Linux.<br />
<br />
* Homepage: http://gitorious.org/chakra/rcconf-settings<br />
* AUR Package Details: https://aur.archlinux.org/packages.php?ID=47842<br />
* Screenshots: http://s2.subirimagenes.com/imagen/5986587instantnea1.png</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Unity&diff=150777Unity2011-08-06T02:49:45Z<p>Anonymous user: /* Unity project */</p>
<hr />
<div>{{Expansion}}<br />
<br />
[[Category:Usability (English)]]<br />
{{i18n|Ayatana}} {{DISPLAYTITLE:Ayatana}}<br />
{{Article summary start|Summary}}<br />
{{Article summary text|This page describes the current status of Ubuntu's Ayatana project on Arch Linux}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|Ayatana on Ubuntu|https://wiki.ubuntu.com/Ayatana}}<br />
{{Article summary link|Archlinux-Ayatana git|http://github.com/Dinth}}<br />
|-<br />
| style="text-align: left; padding: 3px" | [https://bbs.archlinux.org/viewtopic.php?id=99746 Ayatana thread on Arch Forums]<br />
{{Article summary end}}<br />
<br />
As its website states, "The Ayatana Project is the collective project that houses user interface, design and interaction projects started by Canonical."<br />
All the latest changes in Ubuntu's interface (e.g.: Indicator Applets, Unity and Notify-OSD) are grouped within this project. <br />
This page describes how to get Ayatana's software working on Arch through building some packages.<br />
<br />
== Before You Start ==<br />
<br />
Remember you're installing unofficial packages. There is a chance this will eat your cat and kill your hamster. You have been warned. <br />
<br />
== Notify OSD ==<br />
<br />
Notify OSD provides an on-screen notifications system designed by Canonical to replace notification-daemon. Canonical's on-screen-display notification agent, implements the freedesktop.org Desktop Notifications Specification with semi-transparent click-through bubbles. It is available on the [http://aur.archlinux.org/packages.php?ID=25256 AUR]. Notify-osd is working in Gnome.<br />
<br />
== Indicator Applets ==<br />
<br />
Ayatana Indicators are an initiative by Canonical to provide crisp and clean system and application status indication. They take the form of an icon and associated menu, displayed (usually) in the desktop panel. You can read more about them in the Ubuntu Wiki [https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators here].<br />
<br />
Technically, Indicators are basically small programs (written in C, Python, etc.) that runs when an applet loads their basic infrastructure. Indicators are known to work in all the main desktop environments that can run the messaging indicator, including KDE.<br />
<br />
In Arch, indicators are working in GNOME, LXDE and XFCE. There is no support for KDE at the moment.<br />
<br />
=== Installation ===<br />
<br />
You can install the infrastructure by simply installing the '''ayatana-indicators-baselibs''' metapackage. Among the packages needed, '''gtk2-appmenu''' will be installed. This is basically gtk2 with some patches coming from Ubuntu and so it conflicts with the one in extra. You will have to replace it or the infrastructure will not compile properly.<br />
<br />
Some of the packages installed will be:<br />
<br />
; libdbusmenu : A small little library that was created by pulling out some common code out of indicator-applet. (Canonical Ayatana Project)<br />https://aur.archlinux.org/packages.php?ID=32050<br />
; libindicate : A small library for applications to raise "flags" on DBus for other components of the desktop to pick up and visualize. (Canonical Ayatana Project).<br />https://aur.archlinux.org/packages.php?ID=32049<br />
; libindicator : A set of symbols and convience functions that all indicators would like to use. (Canonical Ayatana Project) - Bzr version.<br />https://aur.archlinux.org/packages.php?ID=31343<br />
; ido : Widgets and other objects used for indicators.<br /> https://aur.archlinux.org/packages.php?ID=34437<br />
; gtk2-appmenu : gtk2 with ubuntu-patches.<br /> https://aur.archlinux.org/packages.php?ID=41736<br />
<br />
Once you're done, install the applet for your favourite DE. If you're using GNOME install '''indicator-applet''' and you're done. Then you can add the '''Indicator Applet Complete''' applet to your panel.<br />
<br />
Next up, install the actual indicators. Here's a list of the packages you can install:<br />
; indicator-applet : A small applet to display information from various applications consistently in the panel. (Canonical Ayatana Project)<br />https://aur.archlinux.org/packages.php?ID=31344<br />''' Dependencies ''' gnome-system-tools<br />
; indicator-application : https://aur.archlinux.org/packages.php?ID=34448<br />
; indicator-session : https://aur.archlinux.org/packages.php?ID=32051<br />''' Dependencies: ''' gnome-session-ubuntu (to get session control working properly)<br />
; indicator-messages : https://aur.archlinux.org/packages.php?ID=32052<br />
; indicator-me : https://aur.archlinux.org/packages.php?ID=34438<br />
; indicator-sound : https://aur.archlinux.org/packages.php?ID=42614<br />
; indicator-datetime : https://aur.archlinux.org/packages.php?ID=43436<br />
; indicator-weather-bzr : https://aur.archlinux.org/packages.php?ID=38468<br />
; indicator-network-bzr : https://aur.archlinux.org/packages.php?ID=38467<br />
; evolution-indicator : https://aur.archlinux.org/packages.php?ID=38334<br />
; indicator-sound : https://aur.archlinux.org/packages.php?ID=42614<br />
; indicator-pastie : clipboard manager https://aur.archlinux.org/packages.php?ID=43373<br />
; indicator-workspaces : https://aur.archlinux.org/packages.php?ID=43375<br />
; indicator-usb : https://aur.archlinux.org/packages.php?ID=43444<br />
; rhythmbox-indicator-plugin : https://aur.archlinux.org/packages.php?ID=43262<br />
<br />
More are available searching for ''indicator'' in the AUR website or in your favourite AUR wrapper.<br />
<br />
== Unity ==<br />
Unity depends on a patched Compiz version which uses the GLib main loop instead of the Compiz main loop. This means you need to compile compiz.<br />
<br />
Using your preffer pacman-wrapper install '''compiz-core''' from AUR:<br />
There are at the moment no suitable compiz-core pacakage. I will upload compiz-core-glib-loop shortly --[[User:Lafka|Lafka]] 09:01, 7 December 2010 (EST)<br />
<br />
Now we need the rest of the compiz tools<br />
<br />
libcompizconfig compizconfig-python ccsm plugins-main plugins-extra<br />
since pacman uses the 0.8.X version of compiz and the development core is 0.9.X<br />
<br />
'''If nux-bzr complains that glewmx is not found you need to use the following glewmx package instead: https://aur.archlinux.org/packages.php?ID=44175'''<br />
<br />
Last before we build Unity we need the OpenGL toolkit Nux. This can be aquired through AUR.<br />
https://aur.archlinux.org/packages.php?ID=44144 (nux-bzr)<br />
<br />
Now lets build Unity:<br />
<br />
# bzr branch lp:unity<br />
# cd unity<br />
# mkdir build; cd build<br />
# cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package DCMAKE_INSTALL_PREFIX=/opt/unity<br />
# make<br />
# sudo make install<br />
#<br />
# unset PKG_CONFIG_PATH<br />
# unset LD_LIBRARY_PATH<br />
# unset LD_RUN_PATH<br />
<br />
=== Unity project ===<br />
; clutk-bzr : A general-purpose toolkit for Clutter used by UNR's netbook-launcher.<br /> https://aur.archlinux.org/packages.php?ID=38460<br />
; libunity-misc : Misc. differently licensed stuff for Unity (Canonical Ayatana Project)<br /> https://aur.archlinux.org/packages.php?ID=42313<br />
; dee : Libdee is a library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus.<br />https://aur.archlinux.org/packages.php?ID=41087<br />
<br />
== Further work ==<br />
=== Usability issues ===<br />
* indicator-datetime and indicator-appmenu doesn't work<br />
* evolution isnt showing in indicator-messages, when run from autostart. running manually works.<br />
* battery-status compiles properly but doesn't work<br />
* transmission-gtk-libappindicator-svn doesnt work on some installs and works on others<br />
* libindicate doesn't compile on some setups, even in a clean chroot</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Unity&diff=150776Unity2011-08-06T02:49:28Z<p>Anonymous user: /* Unity */</p>
<hr />
<div>{{Expansion}}<br />
<br />
[[Category:Usability (English)]]<br />
{{i18n|Ayatana}} {{DISPLAYTITLE:Ayatana}}<br />
{{Article summary start|Summary}}<br />
{{Article summary text|This page describes the current status of Ubuntu's Ayatana project on Arch Linux}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|Ayatana on Ubuntu|https://wiki.ubuntu.com/Ayatana}}<br />
{{Article summary link|Archlinux-Ayatana git|http://github.com/Dinth}}<br />
|-<br />
| style="text-align: left; padding: 3px" | [https://bbs.archlinux.org/viewtopic.php?id=99746 Ayatana thread on Arch Forums]<br />
{{Article summary end}}<br />
<br />
As its website states, "The Ayatana Project is the collective project that houses user interface, design and interaction projects started by Canonical."<br />
All the latest changes in Ubuntu's interface (e.g.: Indicator Applets, Unity and Notify-OSD) are grouped within this project. <br />
This page describes how to get Ayatana's software working on Arch through building some packages.<br />
<br />
== Before You Start ==<br />
<br />
Remember you're installing unofficial packages. There is a chance this will eat your cat and kill your hamster. You have been warned. <br />
<br />
== Notify OSD ==<br />
<br />
Notify OSD provides an on-screen notifications system designed by Canonical to replace notification-daemon. Canonical's on-screen-display notification agent, implements the freedesktop.org Desktop Notifications Specification with semi-transparent click-through bubbles. It is available on the [http://aur.archlinux.org/packages.php?ID=25256 AUR]. Notify-osd is working in Gnome.<br />
<br />
== Indicator Applets ==<br />
<br />
Ayatana Indicators are an initiative by Canonical to provide crisp and clean system and application status indication. They take the form of an icon and associated menu, displayed (usually) in the desktop panel. You can read more about them in the Ubuntu Wiki [https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators here].<br />
<br />
Technically, Indicators are basically small programs (written in C, Python, etc.) that runs when an applet loads their basic infrastructure. Indicators are known to work in all the main desktop environments that can run the messaging indicator, including KDE.<br />
<br />
In Arch, indicators are working in GNOME, LXDE and XFCE. There is no support for KDE at the moment.<br />
<br />
=== Installation ===<br />
<br />
You can install the infrastructure by simply installing the '''ayatana-indicators-baselibs''' metapackage. Among the packages needed, '''gtk2-appmenu''' will be installed. This is basically gtk2 with some patches coming from Ubuntu and so it conflicts with the one in extra. You will have to replace it or the infrastructure will not compile properly.<br />
<br />
Some of the packages installed will be:<br />
<br />
; libdbusmenu : A small little library that was created by pulling out some common code out of indicator-applet. (Canonical Ayatana Project)<br />https://aur.archlinux.org/packages.php?ID=32050<br />
; libindicate : A small library for applications to raise "flags" on DBus for other components of the desktop to pick up and visualize. (Canonical Ayatana Project).<br />https://aur.archlinux.org/packages.php?ID=32049<br />
; libindicator : A set of symbols and convience functions that all indicators would like to use. (Canonical Ayatana Project) - Bzr version.<br />https://aur.archlinux.org/packages.php?ID=31343<br />
; ido : Widgets and other objects used for indicators.<br /> https://aur.archlinux.org/packages.php?ID=34437<br />
; gtk2-appmenu : gtk2 with ubuntu-patches.<br /> https://aur.archlinux.org/packages.php?ID=41736<br />
<br />
Once you're done, install the applet for your favourite DE. If you're using GNOME install '''indicator-applet''' and you're done. Then you can add the '''Indicator Applet Complete''' applet to your panel.<br />
<br />
Next up, install the actual indicators. Here's a list of the packages you can install:<br />
; indicator-applet : A small applet to display information from various applications consistently in the panel. (Canonical Ayatana Project)<br />https://aur.archlinux.org/packages.php?ID=31344<br />''' Dependencies ''' gnome-system-tools<br />
; indicator-application : https://aur.archlinux.org/packages.php?ID=34448<br />
; indicator-session : https://aur.archlinux.org/packages.php?ID=32051<br />''' Dependencies: ''' gnome-session-ubuntu (to get session control working properly)<br />
; indicator-messages : https://aur.archlinux.org/packages.php?ID=32052<br />
; indicator-me : https://aur.archlinux.org/packages.php?ID=34438<br />
; indicator-sound : https://aur.archlinux.org/packages.php?ID=42614<br />
; indicator-datetime : https://aur.archlinux.org/packages.php?ID=43436<br />
; indicator-weather-bzr : https://aur.archlinux.org/packages.php?ID=38468<br />
; indicator-network-bzr : https://aur.archlinux.org/packages.php?ID=38467<br />
; evolution-indicator : https://aur.archlinux.org/packages.php?ID=38334<br />
; indicator-sound : https://aur.archlinux.org/packages.php?ID=42614<br />
; indicator-pastie : clipboard manager https://aur.archlinux.org/packages.php?ID=43373<br />
; indicator-workspaces : https://aur.archlinux.org/packages.php?ID=43375<br />
; indicator-usb : https://aur.archlinux.org/packages.php?ID=43444<br />
; rhythmbox-indicator-plugin : https://aur.archlinux.org/packages.php?ID=43262<br />
<br />
More are available searching for ''indicator'' in the AUR website or in your favourite AUR wrapper.<br />
<br />
== Unity ==<br />
Unity depends on a patched Compiz version which uses the GLib main loop instead of the Compiz main loop. This means you need to compile compiz.<br />
<br />
Using your preffer pacman-wrapper install '''compiz-core''' from AUR:<br />
There are at the moment no suitable compiz-core pacakage. I will upload compiz-core-glib-loop shortly --[[User:Lafka|Lafka]] 09:01, 7 December 2010 (EST)<br />
<br />
Now we need the rest of the compiz tools<br />
<br />
libcompizconfig compizconfig-python ccsm plugins-main plugins-extra<br />
since pacman uses the 0.8.X version of compiz and the development core is 0.9.X<br />
<br />
'''If nux-bzr complains that glewmx is not found you need to use the following glewmx package instead: https://aur.archlinux.org/packages.php?ID=44175'''<br />
<br />
Last before we build Unity we need the OpenGL toolkit Nux. This can be aquired through AUR.<br />
https://aur.archlinux.org/packages.php?ID=44144 (nux-bzr)<br />
<br />
Now lets build Unity:<br />
<br />
# bzr branch lp:unity<br />
# cd unity<br />
# mkdir build; cd build<br />
# cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package DCMAKE_INSTALL_PREFIX=/opt/unity<br />
# make<br />
# sudo make install<br />
#<br />
# unset PKG_CONFIG_PATH<br />
# unset LD_LIBRARY_PATH<br />
# unset LD_RUN_PATH<br />
<br />
=== Unity project ===<br />
; clutk-bzr : A general-purpose toolkit for Clutter used by UNR's netbook-launcher.<br /> http://aur.archlinux.org/packages.php?ID=38460<br />
; libunity-misc : Misc. differently licensed stuff for Unity (Canonical Ayatana Project)<br /> http://aur.archlinux.org/packages.php?ID=42313<br />
; dee : Libdee is a library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus.<br />http://aur.archlinux.org/packages.php?ID=41087<br />
<br />
== Further work ==<br />
=== Usability issues ===<br />
* indicator-datetime and indicator-appmenu doesn't work<br />
* evolution isnt showing in indicator-messages, when run from autostart. running manually works.<br />
* battery-status compiles properly but doesn't work<br />
* transmission-gtk-libappindicator-svn doesnt work on some installs and works on others<br />
* libindicate doesn't compile on some setups, even in a clean chroot</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Unity&diff=150775Unity2011-08-06T02:48:56Z<p>Anonymous user: /* Installation */</p>
<hr />
<div>{{Expansion}}<br />
<br />
[[Category:Usability (English)]]<br />
{{i18n|Ayatana}} {{DISPLAYTITLE:Ayatana}}<br />
{{Article summary start|Summary}}<br />
{{Article summary text|This page describes the current status of Ubuntu's Ayatana project on Arch Linux}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|Ayatana on Ubuntu|https://wiki.ubuntu.com/Ayatana}}<br />
{{Article summary link|Archlinux-Ayatana git|http://github.com/Dinth}}<br />
|-<br />
| style="text-align: left; padding: 3px" | [https://bbs.archlinux.org/viewtopic.php?id=99746 Ayatana thread on Arch Forums]<br />
{{Article summary end}}<br />
<br />
As its website states, "The Ayatana Project is the collective project that houses user interface, design and interaction projects started by Canonical."<br />
All the latest changes in Ubuntu's interface (e.g.: Indicator Applets, Unity and Notify-OSD) are grouped within this project. <br />
This page describes how to get Ayatana's software working on Arch through building some packages.<br />
<br />
== Before You Start ==<br />
<br />
Remember you're installing unofficial packages. There is a chance this will eat your cat and kill your hamster. You have been warned. <br />
<br />
== Notify OSD ==<br />
<br />
Notify OSD provides an on-screen notifications system designed by Canonical to replace notification-daemon. Canonical's on-screen-display notification agent, implements the freedesktop.org Desktop Notifications Specification with semi-transparent click-through bubbles. It is available on the [http://aur.archlinux.org/packages.php?ID=25256 AUR]. Notify-osd is working in Gnome.<br />
<br />
== Indicator Applets ==<br />
<br />
Ayatana Indicators are an initiative by Canonical to provide crisp and clean system and application status indication. They take the form of an icon and associated menu, displayed (usually) in the desktop panel. You can read more about them in the Ubuntu Wiki [https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators here].<br />
<br />
Technically, Indicators are basically small programs (written in C, Python, etc.) that runs when an applet loads their basic infrastructure. Indicators are known to work in all the main desktop environments that can run the messaging indicator, including KDE.<br />
<br />
In Arch, indicators are working in GNOME, LXDE and XFCE. There is no support for KDE at the moment.<br />
<br />
=== Installation ===<br />
<br />
You can install the infrastructure by simply installing the '''ayatana-indicators-baselibs''' metapackage. Among the packages needed, '''gtk2-appmenu''' will be installed. This is basically gtk2 with some patches coming from Ubuntu and so it conflicts with the one in extra. You will have to replace it or the infrastructure will not compile properly.<br />
<br />
Some of the packages installed will be:<br />
<br />
; libdbusmenu : A small little library that was created by pulling out some common code out of indicator-applet. (Canonical Ayatana Project)<br />https://aur.archlinux.org/packages.php?ID=32050<br />
; libindicate : A small library for applications to raise "flags" on DBus for other components of the desktop to pick up and visualize. (Canonical Ayatana Project).<br />https://aur.archlinux.org/packages.php?ID=32049<br />
; libindicator : A set of symbols and convience functions that all indicators would like to use. (Canonical Ayatana Project) - Bzr version.<br />https://aur.archlinux.org/packages.php?ID=31343<br />
; ido : Widgets and other objects used for indicators.<br /> https://aur.archlinux.org/packages.php?ID=34437<br />
; gtk2-appmenu : gtk2 with ubuntu-patches.<br /> https://aur.archlinux.org/packages.php?ID=41736<br />
<br />
Once you're done, install the applet for your favourite DE. If you're using GNOME install '''indicator-applet''' and you're done. Then you can add the '''Indicator Applet Complete''' applet to your panel.<br />
<br />
Next up, install the actual indicators. Here's a list of the packages you can install:<br />
; indicator-applet : A small applet to display information from various applications consistently in the panel. (Canonical Ayatana Project)<br />https://aur.archlinux.org/packages.php?ID=31344<br />''' Dependencies ''' gnome-system-tools<br />
; indicator-application : https://aur.archlinux.org/packages.php?ID=34448<br />
; indicator-session : https://aur.archlinux.org/packages.php?ID=32051<br />''' Dependencies: ''' gnome-session-ubuntu (to get session control working properly)<br />
; indicator-messages : https://aur.archlinux.org/packages.php?ID=32052<br />
; indicator-me : https://aur.archlinux.org/packages.php?ID=34438<br />
; indicator-sound : https://aur.archlinux.org/packages.php?ID=42614<br />
; indicator-datetime : https://aur.archlinux.org/packages.php?ID=43436<br />
; indicator-weather-bzr : https://aur.archlinux.org/packages.php?ID=38468<br />
; indicator-network-bzr : https://aur.archlinux.org/packages.php?ID=38467<br />
; evolution-indicator : https://aur.archlinux.org/packages.php?ID=38334<br />
; indicator-sound : https://aur.archlinux.org/packages.php?ID=42614<br />
; indicator-pastie : clipboard manager https://aur.archlinux.org/packages.php?ID=43373<br />
; indicator-workspaces : https://aur.archlinux.org/packages.php?ID=43375<br />
; indicator-usb : https://aur.archlinux.org/packages.php?ID=43444<br />
; rhythmbox-indicator-plugin : https://aur.archlinux.org/packages.php?ID=43262<br />
<br />
More are available searching for ''indicator'' in the AUR website or in your favourite AUR wrapper.<br />
<br />
== Unity ==<br />
Unity depends on a patched Compiz version which uses the GLib main loop instead of the Compiz main loop. This means you need to compile compiz.<br />
<br />
Using your preffer pacman-wrapper install '''compiz-core''' from AUR:<br />
There are at the moment no suitable compiz-core pacakage. I will upload compiz-core-glib-loop shortly --[[User:Lafka|Lafka]] 09:01, 7 December 2010 (EST)<br />
<br />
Now we need the rest of the compiz tools<br />
<br />
libcompizconfig compizconfig-python ccsm plugins-main plugins-extra<br />
since pacman uses the 0.8.X version of compiz and the development core is 0.9.X<br />
<br />
'''If nux-bzr complains that glewmx is not found you need to use the following glewmx package instead: http://aur.archlinux.org/packages.php?ID=44175'''<br />
<br />
Last before we build Unity we need the OpenGL toolkit Nux. This can be aquired through AUR.<br />
http://aur.archlinux.org/packages.php?ID=44144 (nux-bzr)<br />
<br />
Now lets build Unity:<br />
<br />
# bzr branch lp:unity<br />
# cd unity<br />
# mkdir build; cd build<br />
# cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package DCMAKE_INSTALL_PREFIX=/opt/unity<br />
# make<br />
# sudo make install<br />
#<br />
# unset PKG_CONFIG_PATH<br />
# unset LD_LIBRARY_PATH<br />
# unset LD_RUN_PATH<br />
<br />
=== Unity project ===<br />
; clutk-bzr : A general-purpose toolkit for Clutter used by UNR's netbook-launcher.<br /> http://aur.archlinux.org/packages.php?ID=38460<br />
; libunity-misc : Misc. differently licensed stuff for Unity (Canonical Ayatana Project)<br /> http://aur.archlinux.org/packages.php?ID=42313<br />
; dee : Libdee is a library that uses DBus to provide objects allowing you to create Model-View-Controller type programs across DBus.<br />http://aur.archlinux.org/packages.php?ID=41087<br />
<br />
== Further work ==<br />
=== Usability issues ===<br />
* indicator-datetime and indicator-appmenu doesn't work<br />
* evolution isnt showing in indicator-messages, when run from autostart. running manually works.<br />
* battery-status compiles properly but doesn't work<br />
* transmission-gtk-libappindicator-svn doesnt work on some installs and works on others<br />
* libindicate doesn't compile on some setups, even in a clean chroot</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Package_Maintainer_guidelines&diff=150774Package Maintainer guidelines2011-08-06T02:47:14Z<p>Anonymous user: /* Accessing and Updating the Repository */</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:AUR (English)]]<br />
{{i18n|AUR Trusted User Guidelines}}<br />
{{Article summary start}}<br />
{{Article summary text|Explains guidelines for the Arch User Repository's Trusted Users.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Arch User Repository}}<br />
{{Article summary wiki|AUR Trusted User Guidelines}}<br />
{{Article summary end}}<br />
<br />
The '''Trusted User (TU)''' is a member of the community charged with keeping the AUR in working order. He/she maintains popular packages ([http://mailman.archlinux.org/pipermail/aur-general/2010-September/010649.html communicating with and sending patches upstream as needed]), and votes in administrative matters. A TU is elected from active community members by current TUs in a democratic process. TUs are the only members who have a final say in the direction of the AUR.<br />
<br />
The TUs are governed using the [http://aur.archlinux.org/trusted-user/TUbylaws.html TU bylaws]<br />
<br />
==TODO list for new Trusted Users==<br />
# Read the [http://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines Trusted User Guidelines].<br />
# Read the [http://aur.archlinux.org/trusted-user/TUbylaws.html TU Bylaws].<br />
# Make sure your account details on the AUR are up to date and your sponsor has given you TU status.<br />
# Add yourself to the [http://wiki.archlinux.org/index.php/Trusted_Users Trusted Users] page.<br />
# Remind Allan/Andrea to change your account on forums.<br />
# Ask some TU for the #archlinux-tu@freenode key and hang out with us in the channel. You do not have to do this but it would be neat since this is where most dark secrets are spilled and where many new ideas are conceived.<br />
# If you are not upgraded to a Trusted User group on bugtracker in two days, report this as a bug to Roman/Andrea.<br />
# Send Ionuț Bîru(ibiru@archlinux.org) all the information based on this [http://www.archlinux.org/trustedusers/ template] to have access on dev interface.<br />
# Install the ''devtools'' package.<br />
# Send an email to Loui Chang with one ssh public key attached. If you don't have one, use ''ssh-keygen'' to generate. Check the [[Using SSH Keys]] wiki page for more information about ssh keys.<br />
# Make the directories ''~/staging/community'' and ''~/staging/community-testing'' (and ''~/staging/multilib'' if you are interested in maintaining multilib packages) on aur.archlinux.org. This step is '''important''' as the devtools scripts use this directory to process incoming packages.<br />
# Start contributing!<br />
<br />
==The TU and [unsupported]==<br />
<br />
The TUs should also make an effort to check package submissions in UNSUPPORTED for malicious code and good PKGBUILDing standards. In around 80% of cases the PKGBUILDs in the UNSUPPORTED are very simple and can be quickly checked for sanity and malicious code by the TU team.<br />
<br />
TUs should also check PKGBUILDs for minor mistakes, suggest corrections and improvements. The TU should endeavor to confirm that all pkgs follow the Arch Packaging Guidelines/Standards and in doing so share their skills with other package builders in an effort to raise the standard of package building across the distro.<br />
<br />
TUs are also in an excellent position to document recommended practices.<br />
<br />
==The TU and [community], Guidelines for Package Maintenance==<br />
<br />
=== Rules for Packages Entering the [community] Repo ===<br />
<br />
* Only "popular" packages may enter the repo, as defined by 1% usage from [https://www.archlinux.de/?page=PackageStatistics pkgstats] or 10 votes on the AUR.<br />
<br />
* Automatic exceptions to this rule are:<br />
** i18n packages<br />
** accessibility packages<br />
** drivers<br />
** dependencies of packages who satisfy the definition of popular, including makedeps and optdeps<br />
** packages that are part of a collection and are intended to be distributed together, provided a part of this collection satisfies the definition of popular<br />
<br />
* Any additions not covered by the above criteria must first be proposed on the aur-general mailing list, explaining the reason for the exemption (e.g. renamed package, new package). The agreement of three other TUs is required for the package to be accepted into [community]. Proposed additions from TUs with large numbers of "non-popular" packages are more likely to be rejected.<br />
<br />
* TUs are strongly encouraged to move packages they currently maintain from [community] if they have low usage. No enforcement will be made, although resigning TUs packages may be filtered before adoption can occur.<br />
<br />
=== Accessing and Updating the Repository ===<br />
<br />
The [community] repository now uses '''devtools''' which is the same system used for uploading packages to [core] and [extra], except that it uses another server https://aur.archlinux.org instead of http://archlinux.org. Thus most of the instructions in [[DeveloperWiki:HOWTO Be A Packager|Packager Guide]] work without any change. Information which is specific for the [community] repository (like changed URLs) have been put here.<br />
<br />
Initially you should do a '''non-recursive checkout''' of the [community] repository:<br />
svn checkout -N svn+ssh://aur.archlinux.org/srv/svn-packages<br />
<br />
This creates a directory named "svn-packages" which contains nothing. It does, however, know that it is an svn checkout. <br />
<br />
For '''checking''' out, '''updating''' all packages or '''adding''' a package see the [[DeveloperWiki:HOWTO Be A Packager|Packager Guide]].<br />
<br />
To '''remove''' a package:<br />
ssh aur.archlinux.org /arch/db-remove pkgname community arch<br />
<br />
Here and in the following text, arch can be one of i686 or x86_64 which are the two architectures supported by Arch Linux. (What about "any"?)<br />
<br />
When you're done with editing the PKGBUILD, etc, you should '''commit''' the changes (<code>svn commit</code>).<br />
<br />
When you want to '''release''' a package, first copy the package to the ''staging/community'' directory on aur.archlinux.org using scp and then '''tag''' the package by going to the ''pkgname/trunk'' directory and issuing <code>archrelease community-arch</code>. This makes an svn copy of the trunk entries in a directory named ''community-i686'' or ''community-x86_64'' indicating that this package is in the community repository for that architecture.<br />
<br />
'''''Note:''' In some cases, especially for community packages, an x86_64 TU might bump the pkgrel by .1 (and not +1). This indicates that the change to the PKGBUILD is x86_64 specific and i686 maintainers '''should not''' rebuild the package for i686. When the TU decides to bump the pkgrel, it should be done with the usual increment of +1. However, a previous pkgrel=2.1 must not become pkgrel=3.1 when bumped by the TU and must instead be pkgrel=3. In a nutshell, leave dot (.) releases exclusive to the x86_64 TU's to avoid confusion.''<br />
<br />
Thus the '''process''' of updating a package can be summarised as:<br />
<br />
* '''Update''' the package directory (<code>svn update some-package</code>)<br />
* '''Change''' to the package trunk directory (<code>cd some-package/trunk</code>)<br />
* '''Edit''' the PKGBUILD, make necessary changes and <code>makepkg</code>. It is recommended to build in a [[DeveloperWiki:Building in a Clean Chroot|clean chroot]].<br />
* '''[[Namcap]]''' the PKGBUILD and the binary pkg.tar.gz.<br />
* '''Commit''', '''Copy''' and '''Tag''' the package using <code>communitypkg "commit message"</code>. This automates the following:<br />
** '''Commit''' the changes to trunk (<code>svn commit</code>)<br />
** '''Copy''' the package to aur.archlinux.org (<code>scp pkgname-ver-rel-arch.pkg.tar.xz aur.archlinux.org:staging/community/</code>)<br />
** '''Tag''' the package (<code>archrelease community-{i686,x86_64}</code>)<br />
* '''Update''' the repository (<code>ssh aur.archlinux.org /arch/db-update</code>)<br />
<br />
Also see the ''Miscellaneous'' section in the [[DeveloperWiki:HOWTO Be A Packager|Packager Guide]]. For the section ''Avoid having to enter your password all the time'' use aur.archlinux.org instead of archlinux.org and svn.archlinux.org.<br />
<br />
=== Disowning packages ===<br />
If a TU can't or doesn't want to maintain a package any longer, a notice should be posted to the AUR Mailing List, so another TU can<br />
maintain it. A package can still be disowned even if no other TU wants to maintain it, but the TUs should try not to drop many packages (they shouldn't take on more than they have time for). If a package has become obsolete or isn't used any longer, it can be removed completely as well.<br />
<br />
If a package has been removed completely, it can be uploaded once again (fresh) to UNSUPPORTED, where a regular user can maintain the package instead of the TU.<br />
<br />
=== Moving packages from unsupported to [community] ===<br />
<br />
Follow the normal procedures for adding a package community, but remember to delete the corresponding package from unsupported!<br />
<br />
=== Moving packages from [community] to unsupported ===<br />
<br />
Remove the package using the instructions above and upload your source tarball to the AUR.<br />
<br />
=== Moving packages from [community-testing] to [community] ===<br />
ssh aur.archlinux.org /arch/db-move community-testing community package<br />
<br />
=== Deleting packages from unsupported ===<br />
There's no point in removing dummy packages, because they will be re-created in an attempt to track dependencies. If someone uploads a<br />
real package then all dependents will point to the correct place.<br />
<br />
=== See also ===<br />
* [[DeveloperWiki#Packaging_Guidelines]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Unofficial_user_repositories&diff=150773Unofficial user repositories2011-08-06T02:46:53Z<p>Anonymous user: /* x86_64 only */</p>
<hr />
<div>[[Category: Package management (English)]]<br />
==Why unofficial user repositories==<br />
Since the AUR only allows users to upload PKGBUILD and other package build related files, but does not provide a means for distributing a binary package, a user may want to create a binary repository of their packages elsewhere.<br />
<br />
==The future of Unofficial repos==<br />
I'd like to see more work of this type. Sometimes there are certain projects that don't mesh well with other things, such as the community repo. The 'kdemod' project is a good example. If you want to contribute with your own builds, you can check page [[Custom local repository]].<br />
<br />
In the future, well-thought-out user repositories may be ideal for lots of supplementary things. Forming a "web of trust" is important in cases like this, so we may begin keeping a list of "recommended" repositories somewhere, in order to make it seem more official and trustworthy.<br />
<br />
[[User:Phrakture|Phrakture]] 12:50, 18 May 2007 (EDT)<br />
<br />
== The community repository, maintained by the TUs==<br />
The community repository is included in pacman's default configuration.<br />
<br />
[community]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
==List of PUR (unofficial user repositories)==<br />
===Any===<br />
"Any" repos are architecture-independent, i.e. they can be used on both i686 and x86_64 systems.<br />
<pre><br />
[herecura-stable-any]<br />
# Just some stuff; a few java apps, wallpapers, small scripts, xbmc-skin<br />
Server = http://herecura.be/repo/herecura-stable/any<br />
<br />
[herecura-testing-any]<br />
# Some any testing stuff, xbmc-svn skin<br />
Server = http://herecura.be/repo/herecura-testing/any<br />
<br />
[xyne-any]<br />
# The home of Xyne's contributions.<br />
# More info including a package list can be found at http://xyne.archlinux.ca/repos<br />
Server = http://xyne.archlinux.ca/repos/xyne-any/<br />
<br />
</pre><br />
<br />
===Both i686 and x86_64===<br />
<!--Not exactly same as 'any' repositories, this section should probably be separate.--><br />
Repositories with both i686 and x86_64 versions. The $arch variable will be set automatically by pacman.<br />
<pre><br />
[allanbrokeit]<br />
# http://allanmcrae.com/2011/06/the-allanbrokeit-repo-that-might-really-break-your-system/<br />
Server = http://allanmcrae.com/$repo/$arch<br />
<br />
[adslgr]<br />
# The Hellenic (Greek) archlinux unofficial repository with many interesting packages.<br />
Server = http://archlinuxgr.tiven.org/archlinux/$arch<br />
<br />
[archlinuxfr]<br />
# The french Arch Linux communities packages.<br />
Server = http://repo.archlinux.fr/$arch<br />
<br />
[archaudio-production]<br />
# verified PKGBUILDs AND tested packages<br />
Server = http://repos.archaudio.org/$repo/$arch<br />
<br />
[archaudio-preview]<br />
# unverified PKGBUILDs AND/OR untested packages<br />
Server = http://repos.archaudio.org/$repo/$arch<br />
<br />
[archaudio-nightly]<br />
# verified devel PKGBUILDs<br />
Server = http://repos.archaudio.org/$repo/$arch<br />
<br />
[archaudio-experimental]<br />
# unverified devel PKGBUILDs<br />
Server = http://repos.archaudio.org/$repo/$arch<br />
<br />
[archstuff]<br />
# AUR's most voted and many bin32-* and lib32-* packages.<br />
Server = http://archstuff.vs169092.vserver.de/$arch<br />
<br />
[arch-games]<br />
# The Arch Linux Gaming repository project.<br />
# Active mirrors listed in https://github.com/Arch-Games/arch-games/wiki/Mirrors<br />
Server = http://repo.exigen.org/arch/games/$arch<br />
Server = ftp://mirror.selfnet.de/arch-games/$arch<br />
# Currently inactive mirrors<br />
#Server = http://arch.twilightlair.net/games/$arch<br />
#Server = http://pseudoform.org/arch-games/games/$arch<br />
<br />
[burg]<br />
# Burg bootloader repo<br />
# More info : http://archydeb.wordpress.com/<br />
Server = http://dl.dropbox.com/u/11529444/repos/archlinux/burg/$arch<br />
<br />
[cake]<br />
# Crapkit, dbus, hal, etc. stripped packages compatible with Arch Linux (from http://hereticlinux.org/).<br />
Server = http://hereticlinux.org/repo/cake/$arch<br />
<br />
[catalyst]<br />
# ATI Catalyst proprietary drivers.<br />
Server = http://catalyst.apocalypsus.net/repo/catalyst/$arch<br />
<br />
[englab]<br />
# Packages of englab (mathematical programs), its toolboxes and dependencies.<br />
Server = http://englab.bugfest.net/arch/$arch<br />
<br />
[heftig]<br />
# Includes kernel26-zen and aurora (firefox development build - works alongside firefox in extra.)<br />
# https://bbs.archlinux.org/viewtopic.php?id=117157<br />
Server = http://pkgbuild.com/~heftig/repo/$arch<br />
<br />
[kernel26-ck]<br />
# ARCH kernel with Brain Fuck Scheduler and all the goodies in the ck1 patch set<br />
Server = http://home.comcast.net/~repo-ck/$arch<br />
<br />
[kittyserve]<br />
# Contains kittykatt's packages and packages from friends of kittykatt, as well as most mint-related packages<br />
Server = http://repo.kattz.tk/$arch<br />
<br />
[mate]<br />
# Contains official mate desktop packages<br />
Server = http://matsusoft.com.ar/repository/archlinux/mate/$arch<br />
<br />
[pfkernel]<br />
# Kernel packages: generic i686 and x86_64, optimized P3, P4, K7, Atom, Pentium-M, K8, Core2<br />
# nvidia-pf, squid3, arora-git, nvidia-utils-beta<br />
Server = http://dl.dropbox.com/u/11734958/$arch<br />
<br />
[radeon]<br />
# ATI Radeon X.Org drivers, bleeding edge 'git' builds.<br />
Server = http://spiralinear.org/perry3d/$arch<br />
<br />
[repo-ck]<br />
# Public server that holds cpu optimized packages of kernel26-ck<br />
# See the kernel26-ck wiki page for more<br />
Server = http://home.comcast.net/~repo-ck/$arch<br />
<br />
[sergej-repo]<br />
# ion3 and some other stuff.<br />
# http://code.google.com/p/archlinux-stuff/source/browse/trunk<br />
Server = http://repo.p5n.pp.ru/sergej-repo/$arch/<br />
<br />
[suckless]<br />
# suckless.org packages<br />
Server = http://dl.suckless.org/arch/$arch<br />
<br />
*** DOWN FOR NOW ***<br />
[unarch]<br />
# Offers support mainly against devel packages.<br />
# Contains stable packages that aren't in official repo.<br />
Server = http://us4all.info/unarch/arch/$arch<br />
*** DOWN FOR NOW ***<br />
<br />
</pre><br />
<br />
===i686 only===<br />
<pre><br />
[kde4-eyecandy-32]<br />
# Useful and beautiful plasmoids and themes for KDE4.<br />
Server = http://archlinuxgr.tiven.org/kde4-eyecandy/i686/<br />
<br />
[andrwe]<br />
# For a list of packages see: http://andrwe.org/doku.php/linux/repository<br />
Server = http://repo.andrwe.org/i686<br />
<br />
[archlinux-es]<br />
# Repositorio Hispano (Spanish/Hispanic Respository).<br />
Server = http://repo.archlinux-es.org/i686<br />
<br />
[arch-graphics]<br />
# Repository aimed to provide applications mainly for 3D graphics.<br />
# For more info, look at http://arch-graphics.kx.cz/<br />
Server = http://arch-graphics.kx.cz/repo/i686<br />
<br />
[cgr-i686]<br />
# Packages for some ChicoGeek's PKGBUILDs.<br />
Server = http://cgr.i686.googlepages.com/<br />
<br />
[chaox-stable]<br />
# Pentesting packages and custom kernel patched for WIFI injection.<br />
Server = http://repo.chaox.net/stable<br />
<br />
[compiz-fusion]<br />
# compiz-fusion-git<br />
# Updated to June 2008.<br />
Server = http://compiz.dreamz-box.de/i686<br />
<br />
[cinan]<br />
# Contains packages which aren't in official repos.<br />
# Information at cinan.tk or cinan6.tk<br />
Server = http://cinan.yw.sk/i686<br />
<br />
[esclinux]<br />
# Mostly games, interactive fiction and abc notation stuffs already on AUR.<br />
Server = http://download.tuxfamily.org/esclinuxcd/ressources/repo/i686/<br />
<br />
[fukawi]<br />
# Some Nagios Stuff; molly-guard; celtx and various networking tools.<br />
Server = http://repo.fukawi2.nl/i686/<br />
Server = ftp://repo.fukawi2.nl/i686/<br />
<br />
[jose1711repo]<br />
# Most of the packages I maintain in AUR (games, tools)<br />
Server = http://arch.l33t.in/i686/<br />
<br />
[kpiche]<br />
# Stable OpenSync packages.<br />
Server = http://kpiche.archlinux.ca/repo<br />
<br />
[pst]<br />
# Painters Studio and support packages (http://pst.brankovukelic.com/).<br />
Server = http://pst.brankovukelic.com/i686<br />
<br />
[rfad]<br />
# Repository made by haxit | Contact at: requiem [at] archlinux.us for package suggestions!<br />
Server = http://web.ncf.ca/ey723/archlinux/repo/<br />
<br />
[xdemon-repo]<br />
# madwimax, kismet-svn and aircrack-svn, etc...<br />
Server=http://repo.x-demon.org/archlinux/os/i686<br />
<br />
[nightly]<br />
# Nightly builds of some packages from the AUR.<br />
# Repo-Tracker: http://tracker.kromonos.net/projects/show/nightlyarch<br />
Server = http://nightly.uhuc.de/i686<br />
<br />
[pozitpoh]<br />
# Fresh psi-plus, kvirc4, urtconnector, xneur, etc.<br />
Server = http://pozitpoh.is-a-geek.org/repo/i686<br />
<br />
[herecura-stable]<br />
# Additional apps not found in community.<br />
Server = http://herecura.be/repo/herecura-stable/i686<br />
<br />
[herecura-testing]<br />
# Additional apps for testing build against stable Arch.<br />
Server = http://herecura.be/repo/herecura-testing/i686<br />
<br />
[studioidefix]<br />
# Precompiled boxee packages.<br />
Server = http://studioidefix.googlecode.com/hg/repo/i686<br />
<br />
[mingw32]<br />
# Libs & tools for crosscompiling for Win32, mainly taken from AUR.<br />
# Contact: Alexander 'hatred' Drozdov <adrozdoff [at] gmail (dot) com> (Russian-speaked guys can write on Russian :-)<br />
Server = http://hatred.homelinux.net/archlinux/mingw32/os/i686<br />
<br />
[kernel-panic]<br />
# A various set of useful packages, including (but not limited to) opera, falconpl and kpackagekit<br />
Server = http://kernel-panic.dnsdojo.net/arch/i686<br />
<br />
[ayatana]<br />
# Packages from Ubuntu (humanity-icon-theme, ttf-ubuntu, ubuntu-light-themes, ubuntuone-client, indicator-applet, notify-osd…),<br />
# packages from elementary project (dexter, elementary-icon-theme, gloobus-preview, gnome-theme-elementary, postler…),<br />
# packages from Linux Mint (gnome-theme-mint, mintbackup, mintdesktop, mint-icon-theme, mintmenu…) and<br />
# apps with ayatana support (audio-recorder, banshee-community-extensions, cloudsn, gwibber, pino, sbackup, smuxi…),<br />
# extra GNOME apps (conduit, eog-plugins, glabels, gnome-color-manager, gnome-globalmenu, gnome-subtitles, ontv, pdfmod, rygel, postr, tasque…),<br />
# mapping apps (bt747, emerillon, foxtrotgps, gpx-viewer, merkaartor, navit, prune…),<br />
# some other apps (backintime, connman, faenza-icon-theme, gdesklets, keepnote, kompozer, nautilus-terminal, openbve, pinta, textflow, uget…).<br />
# More info: http://arch.ballogyorgy.com/<br />
Server = http://repo.ayatana.info/<br />
<br />
[sylar_repo]<br />
# My built packages.<br />
# Additional info and package list: see http://dl.dropbox.com/u/8192972/arch_repo/arch_repo.html<br />
Server = http://dl.dropbox.com/u/8192972/arch_repo/repo<br />
<br />
[kernel26-pae]<br />
Server = http://kernel26-pae.archlinux.ca/<br />
<br />
[elninijo]<br />
# packettracer & gns3<br />
Server = http://94.23.202.185/arch/i686<br />
</pre><br />
<br />
===x86_64 only===<br />
<pre><br />
[kde4-eyecandy-64]<br />
# Useful and beautiful plasmoids and themes for KDE4.<br />
Server = http://archlinuxgr.tiven.org/kde4-eyecandy/x86_64/<br />
<br />
[andrwe]<br />
# For a list of packages see: http://andrwe.dyndns.org/doku.php/blog/repository<br />
Server = http://repo.andrwe.org/x86_64<br />
<br />
[archlinux-es]<br />
# Repositorio Hispano (Spanish/Hispanic Respository).<br />
Server = http://repo.archlinux-es.org/x86_64<br />
<br />
[archlinuxve]<br />
# Home of the splashy packages.<br />
Server = http://repo.archlinux.com.ve/x86_64<br />
<br />
[archstudio]<br />
# ArchAudio Packages <br />
# Optimized for Intel Core {i3,i5,i7} CPU <br />
# Package Details: http://dl.dropbox.com/u/5977716/archstudio.html<br />
Server = http://dl.dropbox.com/u/5977716/x86_64<br />
<br />
[compiz-fusion]<br />
# compiz-fusion-git<br />
Server = http://compiz.dreamz-box.de/x86_64<br />
<br />
[cinan]<br />
# Contains packages which aren't in official repos.<br />
# Information at cinan.tk or cinan6.tk<br />
Server = http://cinan.yw.sk/x86_64<br />
<br />
[pst]<br />
# Painters Studio and support packages (http://pst.brankovukelic.com/)<br />
Server = http://pst.brankovukelic.com/x86_64<br />
<br />
[nightly]<br />
# Nightly builds of some packages from the AUR.<br />
# Repo-Tracker: http://tracker.kromonos.net/projects/show/nightlyarch<br />
Server = http://files.shadowice.org/nightly/x86_64<br />
<br />
[zen]<br />
# Various and zengeist' AUR packages.<br />
Server = http://zloduch.cz/archlinux/x86_64<br />
<br />
[seiichiro]<br />
# VDR and some plugins, mms, foo2zjs-drivers<br />
Server = http://repo.seiichiro0185.org/x86_64<br />
<br />
[herecura-stable]<br />
# Additional apps not found in community.<br />
Server = http://herecura.be/repo/herecura-stable/x86_64<br />
<br />
[herecura-testing]<br />
# Additional apps for testing build against stable Arch.<br />
Server = http://herecura.be/repo/herecura-testing/x86_64<br />
<br />
[studioidefix]<br />
# Precompiled boxee packages.<br />
Server = http://studioidefix.googlecode.com/hg/repo/x86_64<br />
<br />
[pyropeter]<br />
# My AUR packages: https://aur.archlinux.org/packages.php?SeB=m&K=pyropeter<br />
Server = http://keks.selfip.org/arch/pyropeter<br />
</pre><br />
<br />
==Add your own repository to this list==<br />
If you have your own repository, please add this to this list, so that all other users knows where to find your packages.</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Package_Maintainer_guidelines&diff=150772Package Maintainer guidelines2011-08-06T02:46:01Z<p>Anonymous user: /* Deleting packages from unsupported */</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:AUR (English)]]<br />
{{i18n|AUR Trusted User Guidelines}}<br />
{{Article summary start}}<br />
{{Article summary text|Explains guidelines for the Arch User Repository's Trusted Users.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Arch User Repository}}<br />
{{Article summary wiki|AUR Trusted User Guidelines}}<br />
{{Article summary end}}<br />
<br />
The '''Trusted User (TU)''' is a member of the community charged with keeping the AUR in working order. He/she maintains popular packages ([http://mailman.archlinux.org/pipermail/aur-general/2010-September/010649.html communicating with and sending patches upstream as needed]), and votes in administrative matters. A TU is elected from active community members by current TUs in a democratic process. TUs are the only members who have a final say in the direction of the AUR.<br />
<br />
The TUs are governed using the [http://aur.archlinux.org/trusted-user/TUbylaws.html TU bylaws]<br />
<br />
==TODO list for new Trusted Users==<br />
# Read the [http://wiki.archlinux.org/index.php/AUR_Trusted_User_Guidelines Trusted User Guidelines].<br />
# Read the [http://aur.archlinux.org/trusted-user/TUbylaws.html TU Bylaws].<br />
# Make sure your account details on the AUR are up to date and your sponsor has given you TU status.<br />
# Add yourself to the [http://wiki.archlinux.org/index.php/Trusted_Users Trusted Users] page.<br />
# Remind Allan/Andrea to change your account on forums.<br />
# Ask some TU for the #archlinux-tu@freenode key and hang out with us in the channel. You do not have to do this but it would be neat since this is where most dark secrets are spilled and where many new ideas are conceived.<br />
# If you are not upgraded to a Trusted User group on bugtracker in two days, report this as a bug to Roman/Andrea.<br />
# Send Ionuț Bîru(ibiru@archlinux.org) all the information based on this [http://www.archlinux.org/trustedusers/ template] to have access on dev interface.<br />
# Install the ''devtools'' package.<br />
# Send an email to Loui Chang with one ssh public key attached. If you don't have one, use ''ssh-keygen'' to generate. Check the [[Using SSH Keys]] wiki page for more information about ssh keys.<br />
# Make the directories ''~/staging/community'' and ''~/staging/community-testing'' (and ''~/staging/multilib'' if you are interested in maintaining multilib packages) on aur.archlinux.org. This step is '''important''' as the devtools scripts use this directory to process incoming packages.<br />
# Start contributing!<br />
<br />
==The TU and [unsupported]==<br />
<br />
The TUs should also make an effort to check package submissions in UNSUPPORTED for malicious code and good PKGBUILDing standards. In around 80% of cases the PKGBUILDs in the UNSUPPORTED are very simple and can be quickly checked for sanity and malicious code by the TU team.<br />
<br />
TUs should also check PKGBUILDs for minor mistakes, suggest corrections and improvements. The TU should endeavor to confirm that all pkgs follow the Arch Packaging Guidelines/Standards and in doing so share their skills with other package builders in an effort to raise the standard of package building across the distro.<br />
<br />
TUs are also in an excellent position to document recommended practices.<br />
<br />
==The TU and [community], Guidelines for Package Maintenance==<br />
<br />
=== Rules for Packages Entering the [community] Repo ===<br />
<br />
* Only "popular" packages may enter the repo, as defined by 1% usage from [https://www.archlinux.de/?page=PackageStatistics pkgstats] or 10 votes on the AUR.<br />
<br />
* Automatic exceptions to this rule are:<br />
** i18n packages<br />
** accessibility packages<br />
** drivers<br />
** dependencies of packages who satisfy the definition of popular, including makedeps and optdeps<br />
** packages that are part of a collection and are intended to be distributed together, provided a part of this collection satisfies the definition of popular<br />
<br />
* Any additions not covered by the above criteria must first be proposed on the aur-general mailing list, explaining the reason for the exemption (e.g. renamed package, new package). The agreement of three other TUs is required for the package to be accepted into [community]. Proposed additions from TUs with large numbers of "non-popular" packages are more likely to be rejected.<br />
<br />
* TUs are strongly encouraged to move packages they currently maintain from [community] if they have low usage. No enforcement will be made, although resigning TUs packages may be filtered before adoption can occur.<br />
<br />
=== Accessing and Updating the Repository ===<br />
<br />
The [community] repository now uses '''devtools''' which is the same system used for uploading packages to [core] and [extra], except that it uses another server http://aur.archlinux.org instead of http://archlinux.org. Thus most of the instructions in [[DeveloperWiki:HOWTO Be A Packager|Packager Guide]] work without any change. Information which is specific for the [community] repository (like changed URLs) have been put here.<br />
<br />
Initially you should do a '''non-recursive checkout''' of the [community] repository:<br />
svn checkout -N svn+ssh://aur.archlinux.org/srv/svn-packages<br />
<br />
This creates a directory named "svn-packages" which contains nothing. It does, however, know that it is an svn checkout. <br />
<br />
For '''checking''' out, '''updating''' all packages or '''adding''' a package see the [[DeveloperWiki:HOWTO Be A Packager|Packager Guide]].<br />
<br />
To '''remove''' a package:<br />
ssh aur.archlinux.org /arch/db-remove pkgname community arch<br />
<br />
Here and in the following text, arch can be one of i686 or x86_64 which are the two architectures supported by Arch Linux. (What about "any"?)<br />
<br />
When you're done with editing the PKGBUILD, etc, you should '''commit''' the changes (<code>svn commit</code>).<br />
<br />
When you want to '''release''' a package, first copy the package to the ''staging/community'' directory on aur.archlinux.org using scp and then '''tag''' the package by going to the ''pkgname/trunk'' directory and issuing <code>archrelease community-arch</code>. This makes an svn copy of the trunk entries in a directory named ''community-i686'' or ''community-x86_64'' indicating that this package is in the community repository for that architecture.<br />
<br />
'''''Note:''' In some cases, especially for community packages, an x86_64 TU might bump the pkgrel by .1 (and not +1). This indicates that the change to the PKGBUILD is x86_64 specific and i686 maintainers '''should not''' rebuild the package for i686. When the TU decides to bump the pkgrel, it should be done with the usual increment of +1. However, a previous pkgrel=2.1 must not become pkgrel=3.1 when bumped by the TU and must instead be pkgrel=3. In a nutshell, leave dot (.) releases exclusive to the x86_64 TU's to avoid confusion.''<br />
<br />
Thus the '''process''' of updating a package can be summarised as:<br />
<br />
* '''Update''' the package directory (<code>svn update some-package</code>)<br />
* '''Change''' to the package trunk directory (<code>cd some-package/trunk</code>)<br />
* '''Edit''' the PKGBUILD, make necessary changes and <code>makepkg</code>. It is recommended to build in a [[DeveloperWiki:Building in a Clean Chroot|clean chroot]].<br />
* '''[[Namcap]]''' the PKGBUILD and the binary pkg.tar.gz.<br />
* '''Commit''', '''Copy''' and '''Tag''' the package using <code>communitypkg "commit message"</code>. This automates the following:<br />
** '''Commit''' the changes to trunk (<code>svn commit</code>)<br />
** '''Copy''' the package to aur.archlinux.org (<code>scp pkgname-ver-rel-arch.pkg.tar.xz aur.archlinux.org:staging/community/</code>)<br />
** '''Tag''' the package (<code>archrelease community-{i686,x86_64}</code>)<br />
* '''Update''' the repository (<code>ssh aur.archlinux.org /arch/db-update</code>)<br />
<br />
Also see the ''Miscellaneous'' section in the [[DeveloperWiki:HOWTO Be A Packager|Packager Guide]]. For the section ''Avoid having to enter your password all the time'' use aur.archlinux.org instead of archlinux.org and svn.archlinux.org.<br />
<br />
=== Disowning packages ===<br />
If a TU can't or doesn't want to maintain a package any longer, a notice should be posted to the AUR Mailing List, so another TU can<br />
maintain it. A package can still be disowned even if no other TU wants to maintain it, but the TUs should try not to drop many packages (they shouldn't take on more than they have time for). If a package has become obsolete or isn't used any longer, it can be removed completely as well.<br />
<br />
If a package has been removed completely, it can be uploaded once again (fresh) to UNSUPPORTED, where a regular user can maintain the package instead of the TU.<br />
<br />
=== Moving packages from unsupported to [community] ===<br />
<br />
Follow the normal procedures for adding a package community, but remember to delete the corresponding package from unsupported!<br />
<br />
=== Moving packages from [community] to unsupported ===<br />
<br />
Remove the package using the instructions above and upload your source tarball to the AUR.<br />
<br />
=== Moving packages from [community-testing] to [community] ===<br />
ssh aur.archlinux.org /arch/db-move community-testing community package<br />
<br />
=== Deleting packages from unsupported ===<br />
There's no point in removing dummy packages, because they will be re-created in an attempt to track dependencies. If someone uploads a<br />
real package then all dependents will point to the correct place.<br />
<br />
=== See also ===<br />
* [[DeveloperWiki#Packaging_Guidelines]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=AUR_helpers/Graphical&diff=150771AUR helpers/Graphical2011-08-06T02:44:21Z<p>Anonymous user: /* Pacman Frontends */</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:Utilities (English)]]<br />
{{i18n|Pacman GUI Frontends}}<br />
<br />
This is a list of Pacman GUI frontends for the pacman CLI tool, a Pacman / AUR Package Browser, and a variety of System Tray Notifiers. The list also includes catagories for Gtk2 based and Qt based software.<br />
{{Warning|None of these tools are officially supported by Arch devs.}}<br />
<br />
= Pacman Frontends =<br />
<br />
== GNOME/GTK+ ==<br />
<br />
===Wakka===<br />
<br />
Wakka is a gtk based package manager for Arch Linux, derived from the work done on GtkPacman. The goal is to clean up the code and rework the program to be stable and extensible.<br />
<br />
'''AUR Package:''' https://aur.archlinux.org/packages.php?ID=47037 <br><br />
'''Project:''' http://code.google.com/p/wakka-package-manager/<br />
<br />
===GNOME PackageKit===<br />
<br />
GNOME PackageKit is a distribution-agnostic collection of utilities for managing packages. Using the pacman-glib backend (still in development), it supports the following features:<br />
<br />
*Install and remove packages from the repos.<br />
*Periodically refresh package databases and prompt for updates.<br />
*Install packages from tarballs.<br />
*Search for packages by name, description, category or file.<br />
*Show package dependencies, files and reverse dependencies.<br />
*Ignore IgnorePkgs and hold HoldPkgs.<br />
*Report optional dependencies, .pacnew files, etc.<br />
<br />
You can change the remove operation from -Rc to -Rsc by setting the GConf key /apps/gnome-packagekit/enable_autoremove.<br />
<br />
Known issues:<br />
*Occasionally the packagekit daemon will hang when install scripts are being processed. If this happens, the packagekitd process should have a child process also named packagekitd, which has another child named sh. It is safe to kill the child packagekitd process provided that the sh process is a zombie. However, the output of the install script will be lost. This problem will be resolved in pacman 3.5.<br />
*Sometimes an error will occur but won't be reported by GNOME PackageKit.<br />
*PackageKit does not find the repositories if the <code>Architecture</code> option is set to <code>auto</code> in <code>/etc/pacman.conf</code>. Change this option to <code>Architecture = i686</code> resp. <code>Architecture = x86_64</code> to fix this.<br />
<br />
Packages:<br />
pacman -S gnome-packagekit gnome-settings-daemon-updates<br />
<br />
If you do not wish to install PulseAudio, you can install {{Package AUR|gnome-settings-daemon-nopulse}} from the AUR.<br />
<br />
== KDE/Qt ==<br />
<br />
===KPackageKit===<br />
KPackageKit is a GUI front-end for pacman. It interfaces pacman through pacman-glib and packagekit-qt. This graphical tool allows to do the following from KDE's systemsettings:<br />
* Install/remove/upgrade packages<br />
* Search packages / filter packages<br />
* Retrieve package info<br />
* Refresh package database<br />
* Choose which repositories will be updated<br />
* Automatically refresh database (Hourly, daily etc.)<br />
* Automatically update packages<br />
<br />
KPackageKit is relatively new as a front-end for pacman, and it works with no major problems, providing ease of use, simplicity and good integration with KDE (and PolicyKit).<br />
<br />
Known Issues:<br />
*See [[#GNOME PackageKit]]<br />
<br />
'''AUR Package:''' https://aur.archlinux.org/packages.php?ID=20413 <br><br />
'''Screenshots''' http://kde-apps.org/content/show.php/KPackageKit?content=84745<br />
<br />
===AppSet===<br />
AppSet is an advanced and feature rich GUI front-end for Package Managers. AppSet has the following features:<br />
* Software sections (games, office, multimedia, internet etc.)<br />
* Shows homepages for selected packages in an embedded web browser<br />
* Shows distributions news with an embedded feed reader<br />
* Upgrades, installs and removes packages<br />
* Shows available upgrades with a Tray Icon<br />
* Updates database periodically<br />
* Informs about dependencies (for example when trying to remove a package needed by others)<br />
* Cache clean command (to free disk space)<br />
* Intelligent launcher that uses what is already installed to get administrative privileges (by searching for kdesu, gksu or at last for an xterm where it starts with a sudo command)<br />
* Now with AUR support with Packer as backend<br />
<br />
AppSet needs only QT libs as dependence for installation. It can be used in any desktop environment. Currently only works for Archlinux using pacman.<br />
<br />
'''Homepage:''' http://appset.sourceforge.net/ <br><br />
'''AUR Package:''' https://aur.archlinux.org/packages.php?ID=43869 <br><br />
'''Screenshots''' http://sourceforge.net/project/screenshots.php?group_id=376825<br />
<br />
== NCurses ==<br />
<br />
===pcurses===<br />
<br />
Package management in a curses frontend, including:<br />
<br />
* regexp filtering and searching any package property<br />
* customizable colorcoding<br />
* customizable sorting<br />
* external command execution with package list string replacements<br />
* user defined macros and hotkeys<br />
<br />
'''Homepage:''' https://github.com/schuay/pcurses <br><br />
'''AUR Package:''' https://aur.archlinux.org/packages.php?ID=42685 <br><br />
'''Screenshots''' https://bbs.archlinux.org/viewtopic.php?id=122749<br />
<br />
= Pacman / AUR Package Browser =<br />
<br />
===PkgBrowser===<br />
<br />
Pkgbrowser is an application for searching and browsing Arch packages, showing details on selected packages.<br />
<br />
*Search and browse Arch packages including the AUR<br />
*Purely an informational application that cannot be used to install, remove or update packages <br />
*By design, is an accessory to CLI package management via pacman<br />
*Further details on use via manual accessed from help menu<br />
<br />
<br />
'''Forum:''' https://bbs.archlinux.org/viewtopic.php?id=117297 <br><br />
'''AUR Package:''' https://aur.archlinux.org/packages.php?ID=48372 <br><br />
'''Screenshot and source code:''' http://code.google.com/p/pkgbrowser/ <br><br />
<br />
= System Tray Notifiers =<br />
<br />
===Archup===<br />
<br />
archup is a small C application which informs the user when system-updates for Archlinux are available. Archup uses GTk+ and libnotify to show a desktop notification if updates are available.<br />
<br />
*Homepage: [[archup]], http://www.nongnu.org/archup/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=35792<br />
*Screenshots: http://www.nongnu.org/archup/, http://developer.berlios.de/dbimage.php?id=4687 , http://developer.berlios.de/dbimage.php?id=4688<br />
<br />
===Aarchup===<br />
<br />
aarchup is a fork of archup. Has the same options as archup plus a few other features. For differences between both please check changelog at the topic https://bbs.archlinux.org/viewtopic.php?id=119129<br />
<br />
*Homepage: https://github.com/aericson/aarchup/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=49100<br />
*Screenshots: http://i.imgur.com/yTNvg.png<br />
<br />
===pacman-notifier===<br />
<br />
Written in Ruby, uses Gtk. Shows an icon in the system tray and popup notifications (using libnotify) for new packages.<br />
<br />
*Homepage: https://github.com/v01d/pacman-notifier/wiki<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=15193<br />
*Screenshots: https://github.com/v01d/pacman-notifier/wiki<br />
<br />
===Pacupdate===<br />
<br />
Pacupdate is a small application that notifies the user about new updates for Arch Linux. If Pacupdate finds out that a update is available, it will display a notification in SystemTray.<br />
<br />
*Homepage: http://code.google.com/p/pacupdate/<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=25082<br />
*Screenshots: <br />
<br />
===Yapan===<br />
<br />
Yapan - Yet Another Package mAnager Notifier - is written in C++ and Qt. It shows an icon in the system tray and popup notifications for new packages and supports other package manager like clyde or yaourt.<br />
<br />
*Homepage: https://bitbucket.org/otsug/yapan/wiki/Home , https://bbs.archlinux.org/viewtopic.php?id=113078<br />
*AUR Package Details: https://aur.archlinux.org/packages.php?ID=46213<br />
*Screenshots: https://bitbucket.org/otsug/yapan/wiki/Home<br />
<br />
===ZenMan===<br />
<br />
PacMan frontend (tray update notifier) for GTK/GNOME/zenity/libnotify.<br />
<br />
*Homepage:<br />
*AUR Package Details: http://aur.archlinux.org/packages.php?ID=25948<br />
*Screenshots: http://show.harvie.cz/screenshots/zenman-screenshot-2.png<br />
<br />
===Yaourt-Dzen Notifier===<br />
<br />
A very simple 14 line shell script that displays the number of available updates in the dzen2 title window and a list of these updates in the slave window. Uses yaourt, dzen2 and inotify-tools.<br />
<br />
*Homepage: http://andreasbwagner.tumblr.com/post/853471635/arch-linux-update-notifier-for-dzen2<br />
*AUR Package Details:<br />
*Screenshots:<br />
<br />
= Inactive Software Packages =<br />
*[http://gtkpacman.berlios.de/ GtkPacman]<br />
*[http://guzuta.berlios.de/ Guzuta]<br />
*[http://chakra-project.org/wiki/index.php/Shaman Shaman]<br />
*[https://opensvn.csie.org/PacmanManager/ PacmanManager]<br />
*[http://code.google.com/p/pacmon/ pacmon]<br />
*[https://gna.org/projects/paku/ Paku]<br />
*[http://www.kde-apps.org/content/show.php/YAPG+-+Yet+Another+Pacman+Gui+?content=60052 YAPG]<br />
*[http://sourceforge.net/projects/zenitypacgui/ zenity_pacgui]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=150098AUR helpers2011-07-28T02:54:51Z<p>Anonymous user: /* List of Helpers */</p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:AUR (English)]]<br />
[[Category:Package management (English)]]<br />
This is a list of helper utilities that search and/or build packages from the [[Arch User Repository]].<br />
<br />
{{Warning|None of these tools are officially supported by Arch devs. See [https://bbs.archlinux.org/viewtopic.php?pid&#61;828254#p828254].}}<br />
<br />
A list of graphical pacman front-ends, some of which also work with the AUR, may be found at [[pacman GUI Frontends]].<br />
<br />
== List of Helpers ==<br />
=== aurbuild ===<br />
<br />
aurbuild is a tool to download and build packages from the AUR.<br />
<br />
*Website: http://aurbuild.berlios.de/<br />
*Package: https://aur.archlinux.org/packages.php?ID=1775<br />
<br />
=== aurget ===<br />
<br />
Aurget aims to be a simple, pacman-like interface to the AUR. It tries to make the AUR convenient; whether the user wishes to find, download, build, install, or update AUR packages quickly. Aurget does not wrap any pure pacman commands, this is by design.<br />
<br />
*Website: http://pbrisbin.com/posts/aurget/<br />
*Package: https://aur.archlinux.org/packages.php?ID=31933<br />
<br />
=== aurora ===<br />
<br />
Aurora is a very simple frontend for the AUR. It allows the user to install AUR packages, download the AUR packages (for manual installation) and also offers an AUR upgrade feature. By design, aurora does not wrap pacman.<br />
<br />
*Website: http://bitbucket.org/bbenne10/aurora<br />
*Package: https://aur.archlinux.org/packages.php?ID=41732<br />
<br />
=== aurpac ===<br />
<br />
Light'n'fast AUR and pacman frontend.<br />
<br />
*Website: http://3ed.jogger.pl/2009/02/15/aurpac/<br />
*Package: https://aur.archlinux.org/packages.php?ID=23919<br />
<br />
=== aurploader ===<br />
<br />
Aurploader prompts the user for an AUR username and password and will then upload PKGBUILD tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR username and password to be re-entered.<br />
<br />
*Website: http://xyne.archlinux.ca/info/aurploader<br />
*Package: https://aur.archlinux.org/packages.php?ID=23393<br />
<br />
=== aursh ===<br />
<br />
{{Note|As of 2010-09-30 it is not actively developed anymore.}}<br />
AurShell is a shell-like application. With plugins included, it's possible to build and install packages from AUR, ABS, and even wrap pacman.<br />
<br />
*Website: http://github.com/husio/aursh/<br />
*Package: https://aur.archlinux.org/packages.php?ID=33423<br />
<br />
=== autoaur ===<br />
<br />
autoaur is a script for automatic mass downloading, updating, building, and installing groups of AUR packages.<br />
<br />
*Website: http://wiki.archlinux.org/index.php/autoaur<br />
*Package: https://aur.archlinux.org/packages.php?ID=6390<br />
<br />
=== burp ===<br />
<br />
burp is a fast and simple AUR uploader written in C. Supports persistent cookies for seamless logins.<br />
<br />
*Website: http://github.com/falconindy/burp<br />
*Package: https://aur.archlinux.org/packages.php?ID=37216<br />
<br />
=== clyde ===<br />
<br />
{{Note|As of 2011-07-18 it is not [https://bbs.archlinux.org/viewtopic.php?pid&#61;962154#p962154 actively developed anymore].}}<br />
[[Clyde]] is a next-generation libalpm/makepkg wrapper with AUR support, multithreaded downloading, and colorized output.<br />
<br />
* Website: https://github.com/Kiwi/clyde<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=91860<br />
* Package: https://aur.archlinux.org/packages.php?ID=34686<br />
<br />
=== cower ===<br />
<br />
Cower is a fast and simple AUR search and download agent, which will also check for updates and download dependencies.<br />
<br />
*Website: http://github.com/falconindy/cower<br />
*Forum: https://bbs.archlinux.org/viewtopic.php?id=97137<br />
*Package: https://aur.archlinux.org/packages.php?ID=4492<br />
<br />
=== haskell-archlinux ===<br />
<br />
haskell-archlinux is a library to programmatically access the AUR and package metadata from the Haskell programming language.<br />
<br />
*Website: http://hackage.haskell.org/package/archlinux<br />
*Package: https://aur.archlinux.org/packages.php?ID=29267<br />
<br />
=== makeaur ===<br />
<br />
Makeaur is a wrapper for pacman and makepkg that allows users to easily install packages from the Arch User Repository.<br />
<br />
*Website: http://github.com/ghost1227/makeaur/<br />
*Package: https://aur.archlinux.org/packages.php?ID=23678<br />
<br />
<br />
=== Meat ( Alpha / Under development ) ===<br />
<br />
Meat is a front-end for cower ( see above ) and it is fully written in bash.<br />
<br />
*Website: http://github.com/e36freak/meat<br />
*Package: https://aur.archlinux.org/packages.php?ID=50075<br />
<br />
=== pacaur ===<br />
<br />
Pacaur is a fast workflow AUR wrapper, using [[AUR_Helpers#cower|cower]] as backend. It aims on speed and simplicity, with an uncluttered interface. It is inspired by [[AUR_Helpers#pbfetch|pbfetch]].<br />
<br />
* Website: https://github.com/Spyhawk/pacaur<br />
* Forum: https://bbs.archlinux.org/viewtopic.php?pid=937423<br />
* Package: https://aur.archlinux.org/packages.php?ID=49145<br />
<br />
=== packer ===<br />
<br />
Packer is a wrapper for pacman and the AUR. It was designed to be a simple and very fast replacement for the basic functionality of Yaourt. It has commands to install, update, search, and show information for any package in the main repositories and in the AUR. Use pacman for other commands, such as removing a package.<br />
<br />
* Website: http://github.com/bruenig/packer<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=88115<br />
* Package: https://aur.archlinux.org/packages.php?ID=33378<br />
* Wiki: https://github.com/bruenig/packer/wiki<br />
<br />
=== pacmoon ===<br />
<br />
pacmoon is a script for compiling arch linux packages from the AUR and repositories. It can automatically install make dependencies as binaries when necessary and update the entire system or just packages listed. It keeps track of which files have been compiled so that in the event of compiled packages getting replaced with a binary (like during an upgrade process) then pacmoon can recompile only the necessary packages.<br />
<br />
*Website: http://chilon.net/pacmoon<br />
*Package: https://aur.archlinux.org/packages.php?ID=41911<br />
<br />
=== paktahn ===<br />
<br />
Paktahn is a yaourt replacement. It is under active development and already includes improvements such as a local cache for fast searches and interactive installation.<br />
<br />
* Website: http://github.com/skypher/paktahn<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=77674&p=1<br />
* Package: https://aur.archlinux.org/packages.php?ID=30242<br />
<br />
=== pbfetch ===<br />
<br />
Pbfetch is a script which can be used as a pacman-independent AUR helper or a pacman wrapper with additional AUR functionality. Pbfetch aims to be a simple and fast versus the well established yaourt.<br />
Pbfetch can be used as a shortcut to simply download PKGBUILDs from AUR or automatically build with dependency resolution among other things. The user can select which AUR packages to upgrade using a simple menu as well as update all AUR packages.<br />
<br />
*Website/Source: https://github.com/dalingrin/pbfetch<br />
*Forum: https://bbs.archlinux.org/viewtopic.php?id=87789<br />
*Package: https://aur.archlinux.org/packages.php?ID=33256<br />
<br />
=== pbget ===<br />
<br />
Pbget is a simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server.<br />
<br />
*Website: http://xyne.archlinux.ca/info/pbget<br />
*Package: https://aur.archlinux.org/packages.php?ID=23848<br />
<br />
=== pkgman ===<br />
<br />
pkgman is a script which helps to manage a local repository. It retrieves the PKGBUILD and related files for given name from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments.<br />
<br />
* Website: http://sourceforge.net/apps/mediawiki/pkgman/index.php<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=49023<br />
* Package: https://aur.archlinux.org/packages.php?ID=17100<br />
<br />
=== powaur ===<br />
<br />
powaur is a minimalistic AUR helper with a pacman-like interface.<br />
<br />
* Website: https://github.com/yanhan/powaur<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?pid=938688<br />
* Package: https://aur.archlinux.org/packages.php?ID=49296<br />
<br />
=== slurpy ===<br />
<br />
{{Note|''Slurpy'' development has been [https://github.com/rson/slurpy/blob/master/README.mkd officially discontinued].}}<br />
<br />
slurpy is an AUR helper for searching AUR, downloading packages, showing information about packages, checking for updates and uploading a package to AUR. <br />
<br />
* Website: https://github.com/rson/slurpy/<br />
* Forum: https://bbs.archlinux.org/viewtopic.php?id=75984<br />
* Package: https://aur.archlinux.org/packages.php?ID=28285<br />
<br />
=== spinach ===<br />
<br />
Spinach is a tiny Bash AUR helper with few dependencies.<br />
<br />
*Website: http://floft.net/wiki/Scripts/Spinach<br />
*Package: https://aur.archlinux.org/packages.php?ID=46993<br />
<br />
=== srcman ===<br />
<br />
srcman is a pacman/makepkg wrapper written in Bash, which transparently handles pacman operations on 'source packages'. This means, for example, that packages can be specified for installation either explicitly (pacman's -U operation) or can be installed from a (source) repository (-S operation). The address of an AUR pacman database can be found in the corresponding forum thread, by the way.<br />
The primary goal of this project is to provide a complete pacman wrapper and therefore, srcman supports all current pacman operations for binary ''and'' source packages.<br />
<br />
*Website: http://bbs.archlinux.org/viewtopic.php?id=65501<br />
*Package: https://aur.archlinux.org/packages.php?ID=23945<br />
<br />
=== tupac ===<br />
<br />
{{Note|As of 2011-04-05 the project has been discontinued.}}<br />
<br />
tupac is a pacman/yaourt wrapper. The main difference between tupac and the rest of pacman wrappers is that it caches the local package database, so it gives you really fast operatibility even in environments with low resources (low RAM, slow disks). It also gives you two advanced features: checking for missing installed files and checking for files that are not owned by any package.<br />
<br />
*Package: https://aur.archlinux.org/packages.php?ID=13322<br />
<br />
=== yaourt ===<br />
<br />
[[Yaourt]] (Yet Another User Repository Tool) is a community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the thousands of PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more.<br />
<br />
*Website: http://archlinux.fr/yaourt-en<br />
*Package: https://aur.archlinux.org/packages.php?ID=5863<br />
<br />
== Comparison Table ==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
! Program !! Written in !! Dependency Support !! Core/extra/community support !! Actively Developed !! Usage <br />
|-<br />
! [[#aurget|Aurget]]<br />
| Bash || Yes || No || Yes || see <tt>aurget --help</tt><br />
|-<br />
! [[#aursh|AurShell]]<br />
| Python || No || No || No || aursh (runs Aurshell program, wherein a number of different commands can be used)<br />
|-<br />
! [[#aurora|Aurora]]<br />
| Python3 || Basic (with makepkg) || No || Yes || see aurora --help<br />
|-<br />
! [[#clyde|Clyde]]<br />
| Lua|| Yes || Yes || No || Identical to pacman (e.g., clyde -S <pkgname>)<br />
|-<br />
! [[#cower|Cower]]<br />
| C|| Yes || No || Yes || see <tt>cower -h</tt><br />
|-<br />
! [[#makeaur|Makeaur]]<br />
| Bash || No || No || Has been forked || makeaur <pkgname> <br />
|-<br />
! [[#pacaur|Pacaur]]<br />
| Bash, backend in C (cower)|| Yes || Yes || Yes || Identical to pacman, and/or AUR specifc arguments . See also <tt>pacaur -h</tt>.<br />
|-<br />
! [[#packer|Packer]]<br />
| Bash || Yes || Yes || Yes || Identical to pacman (e.g., packer -S <pkgname>)<br />
|-<br />
! [[#pacmoon|pacmoon]]<br />
| Zsh|| Yes || Yes || Yes || Similar to emerge from portage e.g. pacmoon -av <pkgname><br />
|-<br />
! [[#paktahn|Paktahn]]<br />
| Lisp|| Yes || Yes || Yes || Identical to pacman (e.g., pak -S <pkgname>)<br />
|-<br />
! [[#pbfetch|pbfetch]]<br />
| Bash || Yes || Yes || Yes || Identical to pacman, and/or AUR specifc arguments (additional arguments for PKGBUILD editing, etc)<br />
|-<br />
! [[#powaur|powaur]]<br />
| C || No || Limited || Yes || Identical to pacman (eg. powaur -S <pkgname>)<br />
|-<br />
! [[#tupac|tupac]]<br />
| PHP || Yes || Yes || Updated under request || Identical to pacman (e.g., tupac -S <pkgname>)<br />
|-<br />
! [[#yaourt|Yaourt]]<br />
| Bash, back-end in C || Yes || Yes || Yes || Identical to pacman (e.g., yaourt -S <pkgname>)<br />
|}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=AUR_helpers&diff=150097AUR helpers2011-07-28T02:52:26Z<p>Anonymous user: /* List of Helpers */</p>
<hr />
<div>[[Category:Utilities (English)]]<br />
[[Category:AUR (English)]]<br />
[[Category:Package management (English)]]<br />
This is a list of helper utilities that search and/or build packages from the [[Arch User Repository]].<br />
<br />
{{Warning|None of these tools are officially supported by Arch devs. See [https://bbs.archlinux.org/viewtopic.php?pid&#61;828254#p828254].}}<br />
<br />
A list of graphical pacman front-ends, some of which also work with the AUR, may be found at [[pacman GUI Frontends]].<br />
<br />
== List of Helpers ==<br />
=== aurbuild ===<br />
<br />
aurbuild is a tool to download and build packages from the AUR.<br />
<br />
*Website: http://aurbuild.berlios.de/<br />
*Package: https://aur.archlinux.org/packages.php?ID=1775<br />
<br />
=== aurget ===<br />
<br />
Aurget aims to be a simple, pacman-like interface to the AUR. It tries to make the AUR convenient; whether the user wishes to find, download, build, install, or update AUR packages quickly. Aurget does not wrap any pure pacman commands, this is by design.<br />
<br />
*Website: http://pbrisbin.com/posts/aurget/<br />
*Package: https://aur.archlinux.org/packages.php?ID=31933<br />
<br />
=== aurora ===<br />
<br />
Aurora is a very simple frontend for the AUR. It allows the user to install AUR packages, download the AUR packages (for manual installation) and also offers an AUR upgrade feature. By design, aurora does not wrap pacman.<br />
<br />
*Website: http://bitbucket.org/bbenne10/aurora<br />
*Package: https://aur.archlinux.org/packages.php?ID=41732<br />
<br />
=== aurpac ===<br />
<br />
Light'n'fast AUR and pacman frontend.<br />
<br />
*Website: http://3ed.jogger.pl/2009/02/15/aurpac/<br />
*Package: https://aur.archlinux.org/packages.php?ID=23919<br />
<br />
=== aurploader ===<br />
<br />
Aurploader prompts the user for an AUR username and password and will then upload PKGBUILD tarballs to the AUR. Before uploading each package, the user is prompted to select a category. When the uploads have completed, the user is asked if the cookie file should be kept so that the script can be run again without needing the AUR username and password to be re-entered.<br />
<br />
*Website: http://xyne.archlinux.ca/info/aurploader<br />
*Package: https://aur.archlinux.org/packages.php?ID=23393<br />
<br />
=== aursh ===<br />
<br />
AurShell is a shell-like application. With plugins included, it's possible to build and install packages from AUR, ABS, and even wrap pacman.<br />
{{Note|As of 2010-09-30 it is not actively developed anymore.}}<br />
<br />
*Website: http://github.com/husio/aursh/<br />
*Package: https://aur.archlinux.org/packages.php?ID=33423<br />
<br />
=== autoaur ===<br />
<br />
autoaur is a script for automatic mass downloading, updating, building, and installing groups of AUR packages.<br />
<br />
*Website: http://wiki.archlinux.org/index.php/autoaur<br />
*Package: https://aur.archlinux.org/packages.php?ID=6390<br />
<br />
=== burp ===<br />
<br />
burp is a fast and simple AUR uploader written in C. Supports persistent cookies for seamless logins.<br />
<br />
*Website: http://github.com/falconindy/burp<br />
*Package: https://aur.archlinux.org/packages.php?ID=37216<br />
<br />
=== clyde ===<br />
<br />
[[Clyde]] is a next-generation libalpm/makepkg wrapper with AUR support, multithreaded downloading, and colorized output.<br />
{{Note|As of 2011-07-18 it is not [https://bbs.archlinux.org/viewtopic.php?pid&#61;962154#p962154 actively developed anymore].}}<br />
<br />
* Website: https://github.com/Kiwi/clyde<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=91860<br />
* Package: https://aur.archlinux.org/packages.php?ID=34686<br />
<br />
=== cower ===<br />
<br />
Cower is a fast and simple AUR search and download agent, which will also check for updates and download dependencies.<br />
<br />
*Website: http://github.com/falconindy/cower<br />
*Forum: https://bbs.archlinux.org/viewtopic.php?id=97137<br />
*Package: https://aur.archlinux.org/packages.php?ID=4492<br />
<br />
=== haskell-archlinux ===<br />
<br />
haskell-archlinux is a library to programmatically access the AUR and package metadata from the Haskell programming language.<br />
<br />
*Website: http://hackage.haskell.org/package/archlinux<br />
*Package: https://aur.archlinux.org/packages.php?ID=29267<br />
<br />
=== makeaur ===<br />
<br />
Makeaur is a wrapper for pacman and makepkg that allows users to easily install packages from the Arch User Repository.<br />
<br />
*Website: http://github.com/ghost1227/makeaur/<br />
*Package: https://aur.archlinux.org/packages.php?ID=23678<br />
<br />
<br />
=== Meat ( Alpha / Under development ) ===<br />
<br />
Meat is a front-end for cower ( see above ) and it is fully written in bash.<br />
<br />
*Website: http://github.com/e36freak/meat<br />
*Package: https://aur.archlinux.org/packages.php?ID=50075<br />
<br />
=== pacaur ===<br />
Pacaur is a fast workflow AUR wrapper, using [[AUR_Helpers#cower|cower]] as backend. It aims on speed and simplicity, with an uncluttered interface. It is inspired by [[AUR_Helpers#pbfetch|pbfetch]].<br />
<br />
* Website: https://github.com/Spyhawk/pacaur<br />
* Forum: https://bbs.archlinux.org/viewtopic.php?pid=937423<br />
* Package: https://aur.archlinux.org/packages.php?ID=49145<br />
<br />
=== packer ===<br />
<br />
Packer is a wrapper for pacman and the AUR. It was designed to be a simple and very fast replacement for the basic functionality of Yaourt. It has commands to install, update, search, and show information for any package in the main repositories and in the AUR. Use pacman for other commands, such as removing a package.<br />
<br />
* Website: http://github.com/bruenig/packer<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=88115<br />
* Package: https://aur.archlinux.org/packages.php?ID=33378<br />
* Wiki: https://github.com/bruenig/packer/wiki<br />
<br />
=== pacmoon ===<br />
<br />
pacmoon is a script for compiling arch linux packages from the AUR and repositories. It can automatically install make dependencies as binaries when necessary and update the entire system or just packages listed. It keeps track of which files have been compiled so that in the event of compiled packages getting replaced with a binary (like during an upgrade process) then pacmoon can recompile only the necessary packages.<br />
<br />
*Website: http://chilon.net/pacmoon<br />
*Package: https://aur.archlinux.org/packages.php?ID=41911<br />
<br />
=== paktahn ===<br />
<br />
Paktahn is a yaourt replacement. It is under active development and already includes improvements such as a local cache for fast searches and interactive installation.<br />
<br />
* Website: http://github.com/skypher/paktahn<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=77674&p=1<br />
* Package: https://aur.archlinux.org/packages.php?ID=30242<br />
<br />
=== pbfetch ===<br />
<br />
Pbfetch is a script which can be used as a pacman-independent AUR helper or a pacman wrapper with additional AUR functionality. Pbfetch aims to be a simple and fast versus the well established yaourt.<br />
Pbfetch can be used as a shortcut to simply download PKGBUILDs from AUR or automatically build with dependency resolution among other things. The user can select which AUR packages to upgrade using a simple menu as well as update all AUR packages.<br />
<br />
*Website/Source: https://github.com/dalingrin/pbfetch<br />
*Forum: https://bbs.archlinux.org/viewtopic.php?id=87789<br />
*Package: https://aur.archlinux.org/packages.php?ID=33256<br />
<br />
=== pbget ===<br />
<br />
Pbget is a simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR and the ABS rsync server.<br />
<br />
*Website: http://xyne.archlinux.ca/info/pbget<br />
*Package: https://aur.archlinux.org/packages.php?ID=23848<br />
<br />
=== pkgman ===<br />
<br />
pkgman is a script which helps to manage a local repository. It retrieves the PKGBUILD and related files for given name from ABS or AUR and lets you edit them, automatically generates checksums, backs up the source tarball, builds and adds the package to your local repository. Then you can install it as usual with pacman. It also has AUR support for submitting tarballs and leaving comments.<br />
<br />
* Website: http://sourceforge.net/apps/mediawiki/pkgman/index.php<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?id=49023<br />
* Package: https://aur.archlinux.org/packages.php?ID=17100<br />
<br />
=== powaur ===<br />
<br />
powaur is a minimalistic AUR helper with a pacman-like interface.<br />
<br />
* Website: https://github.com/yanhan/powaur<br />
* Forum: http://bbs.archlinux.org/viewtopic.php?pid=938688<br />
* Package: https://aur.archlinux.org/packages.php?ID=49296<br />
<br />
=== slurpy ===<br />
<br />
{{Note|''Slurpy'' development has been [https://github.com/rson/slurpy/blob/master/README.mkd officially discontinued].}}<br />
<br />
slurpy is an AUR helper for searching AUR, downloading packages, showing information about packages, checking for updates and uploading a package to AUR. <br />
<br />
* Website: https://github.com/rson/slurpy/<br />
* Forum: https://bbs.archlinux.org/viewtopic.php?id=75984<br />
* Package: https://aur.archlinux.org/packages.php?ID=28285<br />
<br />
=== spinach ===<br />
<br />
Spinach is a tiny Bash AUR helper with few dependencies.<br />
<br />
*Website: http://floft.net/wiki/Scripts/Spinach<br />
*Package: https://aur.archlinux.org/packages.php?ID=46993<br />
<br />
=== srcman ===<br />
<br />
srcman is a pacman/makepkg wrapper written in Bash, which transparently handles pacman operations on 'source packages'. This means, for example, that packages can be specified for installation either explicitly (pacman's -U operation) or can be installed from a (source) repository (-S operation). The address of an AUR pacman database can be found in the corresponding forum thread, by the way.<br />
The primary goal of this project is to provide a complete pacman wrapper and therefore, srcman supports all current pacman operations for binary ''and'' source packages.<br />
<br />
*Website: http://bbs.archlinux.org/viewtopic.php?id=65501<br />
*Package: https://aur.archlinux.org/packages.php?ID=23945<br />
<br />
=== tupac ===<br />
<br />
{{Note|As of 2011-04-05 the project has been discontinued.}}<br />
<br />
tupac is a pacman/yaourt wrapper. The main difference between tupac and the rest of pacman wrappers is that it caches the local package database, so it gives you really fast operatibility even in environments with low resources (low RAM, slow disks). It also gives you two advanced features: checking for missing installed files and checking for files that are not owned by any package.<br />
<br />
*Package: https://aur.archlinux.org/packages.php?ID=13322<br />
<br />
=== yaourt ===<br />
<br />
[[Yaourt]] (Yet Another User Repository Tool) is a community-contributed wrapper for pacman which adds seamless access to the AUR, allowing and automating package compilation and installation from your choice of the thousands of PKGBUILDs in the AUR, in addition to the many thousands of available Arch binary packages. Yaourt uses the same exact syntax as pacman, which saves you from relearning an entirely new method of system maintenance, but also adds new options. Yaourt expands the power and simplicity of pacman by adding even more useful features and provides pleasing, colorized output, interactive search mode, and much more.<br />
<br />
*Website: http://archlinux.fr/yaourt-en<br />
*Package: https://aur.archlinux.org/packages.php?ID=5863<br />
<br />
== Comparison Table ==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
! Program !! Written in !! Dependency Support !! Core/extra/community support !! Actively Developed !! Usage <br />
|-<br />
! [[#aurget|Aurget]]<br />
| Bash || Yes || No || Yes || see <tt>aurget --help</tt><br />
|-<br />
! [[#aursh|AurShell]]<br />
| Python || No || No || No || aursh (runs Aurshell program, wherein a number of different commands can be used)<br />
|-<br />
! [[#aurora|Aurora]]<br />
| Python3 || Basic (with makepkg) || No || Yes || see aurora --help<br />
|-<br />
! [[#clyde|Clyde]]<br />
| Lua|| Yes || Yes || No || Identical to pacman (e.g., clyde -S <pkgname>)<br />
|-<br />
! [[#cower|Cower]]<br />
| C|| Yes || No || Yes || see <tt>cower -h</tt><br />
|-<br />
! [[#makeaur|Makeaur]]<br />
| Bash || No || No || Has been forked || makeaur <pkgname> <br />
|-<br />
! [[#pacaur|Pacaur]]<br />
| Bash, backend in C (cower)|| Yes || Yes || Yes || Identical to pacman, and/or AUR specifc arguments . See also <tt>pacaur -h</tt>.<br />
|-<br />
! [[#packer|Packer]]<br />
| Bash || Yes || Yes || Yes || Identical to pacman (e.g., packer -S <pkgname>)<br />
|-<br />
! [[#pacmoon|pacmoon]]<br />
| Zsh|| Yes || Yes || Yes || Similar to emerge from portage e.g. pacmoon -av <pkgname><br />
|-<br />
! [[#paktahn|Paktahn]]<br />
| Lisp|| Yes || Yes || Yes || Identical to pacman (e.g., pak -S <pkgname>)<br />
|-<br />
! [[#pbfetch|pbfetch]]<br />
| Bash || Yes || Yes || Yes || Identical to pacman, and/or AUR specifc arguments (additional arguments for PKGBUILD editing, etc)<br />
|-<br />
! [[#powaur|powaur]]<br />
| C || No || Limited || Yes || Identical to pacman (eg. powaur -S <pkgname>)<br />
|-<br />
! [[#tupac|tupac]]<br />
| PHP || Yes || Yes || Updated under request || Identical to pacman (e.g., tupac -S <pkgname>)<br />
|-<br />
! [[#yaourt|Yaourt]]<br />
| Bash, back-end in C || Yes || Yes || Yes || Identical to pacman (e.g., yaourt -S <pkgname>)<br />
|}</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Kernel&diff=150096Kernel2011-07-28T02:46:02Z<p>Anonymous user: /* Found in the AUR */</p>
<hr />
<div>[[Category:Kernel (English)]]<br />
{{poor writing}}{{out of date}}<br />
==Official Kernel Packages==<br />
===kernel26===<br />
The Linux Kernel and modules. From ''core'' repository. Vanilla kernel with one patch applied (as of 2.6.39.3-1) - a hardware detection fix for Intel 915 chipsets.<br />
<br />
===kernel26-lts===<br />
<br />
Long term support Linux Kernel and modules. From ''core'' repository.<br />
<br />
==Found in the [[AUR]]==<br />
===[https://aur.archlinux.org/packages.php?ID=36384 kernel26-bfs]===<br />
Linux kernel and modules with [http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler Brain Fuck Scheduler] - created by Con Kolivas for desktop computers with fewer than 4096 cores, with BFQ I/O scheduler as optional.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=32877 kernel26-ck]===<br />
Linux Kernel built with Con Kolivas' ck1 patchset.<br />
<br />
Additional options which can be toggled on/off in the PKGBUILD include: BFQ scheduler, nconfig, localmodconfig and use running kernel's config.<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The ck patches include BFS.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=15603 kernel26-fbcondecor]===<br />
The Linux Kernel and modules with fbcondecor support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=15224 kernel26-ice]===<br />
The Linux Kernel and modules with gentoo-sources patchset and tuxonice support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=39882 kernel26-lqx]===<br />
[http://liquorix.net Liquorix] is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads, often used as a Debian Linux performance replacement kernel. damentz, the maintainer of the Liquorix patchset, is a developer for the Zen patchset as well, so many of the improvements there are found in this patchset.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=40191 kernel26-pf]===<br />
Linux kernel and modules with the [http://pf.natalenko.name/ pf-kernel] patchset [-ck patchset (BFS included), TuxOnIce, BFQ], aufs2 and squashfs-lzma.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=24450 kernel26-vanilla]===<br />
The Linux Vanilla Kernel and modules without archlinux patches.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=16087 kernel26-xen]===<br />
The Linux Kernel and modules with [[Xen]] support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=30330 kernel26-zen]===<br />
The [http://zen-kernel.org Zen Kernel] is a the result of a collaborative effort of kernel hackers to provide the best Linux kernel possible for every day systems.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=34625 kernel-netbook]===<br />
Static kernel for netbooks with Intel Atom N270/N280/N450/N550 such as eeepc with the add-on of external firmware (broadcom-wl) and patchset (BFS + TOI + BFQ optional) - Only Intel GPU<br />
<br />
==Patches and Patchsets==<br />
<br />
The number of posts on the forums about kernel patches and patchsets has been steadily increasing, prompting the drafting of this document which aims to be a definitive guide. It seems it would also be useful to reduce the need for every wiki to include a kernel patch howto!<br />
<br />
There are lots of reasons to patch your kernel, the major ones are for performance or support for non-mainline features such as reiser4 file system support. Other reasons might include fun and to see how it is done and what the improvements are.<br />
<br />
However, it is important to note that the best way to increase the speed of your system is to first tailor your kernel to your system, especially the architecture and processor type. For this reason using pre-packaged versions of custom kernels with generic architecture settings is not recommended or really worth it. A further benefit is that you can reduce the size of your kernel (and therefore build time) by not including support for things you don't have or use. For example, I always start with the stock kernel config when a new kernel version is released and I remove support for things like bluetooth, video4linux, 1000Mbit ethernet, etc. Stuff '''I''' know I won't use '''before''' I build my next kernel! However, this page is not about customizing your kernel config but I would recommend that as a first step to be combined with a patchset later.<br />
<br />
'''PLEASE NOTE - most patchsets have a disclaimer attached to them - this is for good reason!'''<br />
<br />
This document attempts to cover:<br />
* How to install the patched kernels<br />
* What the patchsets do and where to get them<br />
<br />
===How to install===<br />
<br />
The installation process of custom kernel packages relies on the Arch Build System (AUR). If you haven't built any custom packages yet you may consult the following articles: [[Arch Build System]] and [[Creating Packages]].<br />
<br />
If you haven't actually patched or customized a kernel before it is not that hard and there are many PKGBUILDS on the forum for individual patchsets. However, I would advise you to start from scratch with a bit of research on the benefits of each patchset rather than jumping on the nearest bandwagon! This way you'll learn much more about what you are doing rather than just choosing a kernel at startup and wondering what it actually does.<br />
<br />
See [[Kernel Compilation]].<br />
<br />
===Major patchsets===<br />
<br />
First of all it is important to note that patchsets are developed by a variety of people. Some of these people are actually involved in the production of the linux kernel and others are hobbyists, which may reflect its level of reliability and stability.<br />
<br />
It is also worth noting that some patchsets are built on the back of other patchsets (which may or may not be reflected in the title of the patch). Patchsets (and kernel updates) can be released '''very''' frequently and often it is not worth keeping up with ALL of them so don't go crazy, unless you make it your hobby!<br />
<br />
You can search google for more sets - remember to use quotes <code>"-nitro"</code> for example otherwise google will deliberately '''NOT''' show the results you want!<br />
<br />
Could people please add their experiences and comments about different patchsets below esp. re: stability (crashes), reliability (fixes) and performance.<br />
<br />
NOTE - this section is for '''information only''' - clearly no guarantees of stability or reliability are implied by inclusion on this page.<br />
<br />
====-ck ====<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The patches are created and maintained by Con Kolivas, his site is at http://users.on.net/~ckolivas/kernel/. Con maintains a full set but also provides the patches broken down so you can add only those you prefer.<br />
<br />
The -ck patches can be found at http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/<br />
<br />
====-rt====<br />
<br />
This patchset is maintained by a small group of core developers, led by Ingo Molnar. This patch allows nearly all of the kernel to be preempted, with the exception of a few very small regions of code ("raw_spinlock critical regions"). This is done by replacing most kernel spinlocks with mutexes that support priority inheritance, as well as moving all interrupt and software interrupts to kernel threads. <br />
<br />
It further incorporates high resolution timers - a patch set, which is independently maintained.<br />
<br />
[as said from the [http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch Real-Time Linux Wiki]]<br />
<br />
patch at http://www.kernel.org/pub/linux/kernel/projects/rt/<br />
<br />
====-grsecurity====<br />
<br />
Grsecurity is a security focused patchset. It adds numerous security related features such as Role-Based Access Control and utilizes features of the PaX project. It can be used on a desktop but a public server would receive the greatest benefit. Some applications are incompatible with the additional security measures implemented by this patchset. If this occurs, consider using a lower security level.<br />
<br />
The -grsecurity patches can be found at http://grsecurity.net<br />
<br />
====Tiny-Patches====<br />
The goal of [http://elinux.org/Linux_Tiny Linux Tiny] is to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s.<br />
<br />
and maybe also ricers ;-)<br />
<br />
Patch releases against the mainstream Linux kernel have been discontinued. The developers chose to focus on a few patches and spend their time trying to get them merged into the mainline kernel.<br />
<br />
===Individual patches===<br />
<br />
These are patches which can be simply included in any build of a vanilla kernel or incorporated (probably with some major tweaking) into another patchset. I have included some common ones for starters.<br />
<br />
====Reiser4====<br />
<br />
[[Reiser4FShowto]] - http://www.namesys.com<br />
<br />
====Gensplash/fbsplash====<br />
[[Gensplash]] - http://dev.gentoo.org/~spock/projects/<br />
<br />
==See also==<br />
[[Kernel Compilation]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Kernel&diff=150095Kernel2011-07-28T02:45:20Z<p>Anonymous user: /* Found in the AUR */</p>
<hr />
<div>[[Category:Kernel (English)]]<br />
{{poor writing}}{{out of date}}<br />
==Official Kernel Packages==<br />
===kernel26===<br />
The Linux Kernel and modules. From ''core'' repository. Vanilla kernel with one patch applied (as of 2.6.39.3-1) - a hardware detection fix for Intel 915 chipsets.<br />
<br />
===kernel26-lts===<br />
<br />
Long term support Linux Kernel and modules. From ''core'' repository.<br />
<br />
==Found in the [[AUR]]==<br />
===[https://aur.archlinux.org/packages.php?ID=36384 kernel26-bfs]===<br />
Linux kernel and modules with [http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler Brain Fuck Scheduler] - created by Con Kolivas for desktop computers with fewer than 4096 cores, with BFQ I/O scheduler as optional.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=32877 kernel26-ck]===<br />
[[Kernel26-ck]] is the Linux Kernel built with Con Kolivas' ck1 patchset.<br />
<br />
Additional options which can be toggled on/off in the PKGBUILD include: BFQ scheduler, nconfig, localmodconfig and use running kernel's config.<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The ck patches include BFS.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=15603 kernel26-fbcondecor]===<br />
The Linux Kernel and modules with fbcondecor support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=15224 kernel26-ice]===<br />
The Linux Kernel and modules with gentoo-sources patchset and tuxonice support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=39882 kernel26-lqx]===<br />
[http://liquorix.net Liquorix] is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads, often used as a Debian Linux performance replacement kernel. damentz, the maintainer of the Liquorix patchset, is a developer for the Zen patchset as well, so many of the improvements there are found in this patchset.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=40191 kernel26-pf]===<br />
Linux kernel and modules with the [http://pf.natalenko.name/ pf-kernel] patchset [-ck patchset (BFS included), TuxOnIce, BFQ], aufs2 and squashfs-lzma.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=24450 kernel26-vanilla]===<br />
The Linux Vanilla Kernel and modules without archlinux patches.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=16087 kernel26-xen]===<br />
The Linux Kernel and modules with [[Xen]] support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=30330 kernel26-zen]===<br />
The [http://zen-kernel.org Zen Kernel] is a the result of a collaborative effort of kernel hackers to provide the best Linux kernel possible for every day systems.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=34625 kernel-netbook]===<br />
Static kernel for netbooks with Intel Atom N270/N280/N450/N550 such as eeepc with the add-on of external firmware (broadcom-wl) and patchset (BFS + TOI + BFQ optional) - Only Intel GPU<br />
<br />
==Patches and Patchsets==<br />
<br />
The number of posts on the forums about kernel patches and patchsets has been steadily increasing, prompting the drafting of this document which aims to be a definitive guide. It seems it would also be useful to reduce the need for every wiki to include a kernel patch howto!<br />
<br />
There are lots of reasons to patch your kernel, the major ones are for performance or support for non-mainline features such as reiser4 file system support. Other reasons might include fun and to see how it is done and what the improvements are.<br />
<br />
However, it is important to note that the best way to increase the speed of your system is to first tailor your kernel to your system, especially the architecture and processor type. For this reason using pre-packaged versions of custom kernels with generic architecture settings is not recommended or really worth it. A further benefit is that you can reduce the size of your kernel (and therefore build time) by not including support for things you don't have or use. For example, I always start with the stock kernel config when a new kernel version is released and I remove support for things like bluetooth, video4linux, 1000Mbit ethernet, etc. Stuff '''I''' know I won't use '''before''' I build my next kernel! However, this page is not about customizing your kernel config but I would recommend that as a first step to be combined with a patchset later.<br />
<br />
'''PLEASE NOTE - most patchsets have a disclaimer attached to them - this is for good reason!'''<br />
<br />
This document attempts to cover:<br />
* How to install the patched kernels<br />
* What the patchsets do and where to get them<br />
<br />
===How to install===<br />
<br />
The installation process of custom kernel packages relies on the Arch Build System (AUR). If you haven't built any custom packages yet you may consult the following articles: [[Arch Build System]] and [[Creating Packages]].<br />
<br />
If you haven't actually patched or customized a kernel before it is not that hard and there are many PKGBUILDS on the forum for individual patchsets. However, I would advise you to start from scratch with a bit of research on the benefits of each patchset rather than jumping on the nearest bandwagon! This way you'll learn much more about what you are doing rather than just choosing a kernel at startup and wondering what it actually does.<br />
<br />
See [[Kernel Compilation]].<br />
<br />
===Major patchsets===<br />
<br />
First of all it is important to note that patchsets are developed by a variety of people. Some of these people are actually involved in the production of the linux kernel and others are hobbyists, which may reflect its level of reliability and stability.<br />
<br />
It is also worth noting that some patchsets are built on the back of other patchsets (which may or may not be reflected in the title of the patch). Patchsets (and kernel updates) can be released '''very''' frequently and often it is not worth keeping up with ALL of them so don't go crazy, unless you make it your hobby!<br />
<br />
You can search google for more sets - remember to use quotes <code>"-nitro"</code> for example otherwise google will deliberately '''NOT''' show the results you want!<br />
<br />
Could people please add their experiences and comments about different patchsets below esp. re: stability (crashes), reliability (fixes) and performance.<br />
<br />
NOTE - this section is for '''information only''' - clearly no guarantees of stability or reliability are implied by inclusion on this page.<br />
<br />
====-ck ====<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The patches are created and maintained by Con Kolivas, his site is at http://users.on.net/~ckolivas/kernel/. Con maintains a full set but also provides the patches broken down so you can add only those you prefer.<br />
<br />
The -ck patches can be found at http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/<br />
<br />
====-rt====<br />
<br />
This patchset is maintained by a small group of core developers, led by Ingo Molnar. This patch allows nearly all of the kernel to be preempted, with the exception of a few very small regions of code ("raw_spinlock critical regions"). This is done by replacing most kernel spinlocks with mutexes that support priority inheritance, as well as moving all interrupt and software interrupts to kernel threads. <br />
<br />
It further incorporates high resolution timers - a patch set, which is independently maintained.<br />
<br />
[as said from the [http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch Real-Time Linux Wiki]]<br />
<br />
patch at http://www.kernel.org/pub/linux/kernel/projects/rt/<br />
<br />
====-grsecurity====<br />
<br />
Grsecurity is a security focused patchset. It adds numerous security related features such as Role-Based Access Control and utilizes features of the PaX project. It can be used on a desktop but a public server would receive the greatest benefit. Some applications are incompatible with the additional security measures implemented by this patchset. If this occurs, consider using a lower security level.<br />
<br />
The -grsecurity patches can be found at http://grsecurity.net<br />
<br />
====Tiny-Patches====<br />
The goal of [http://elinux.org/Linux_Tiny Linux Tiny] is to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s.<br />
<br />
and maybe also ricers ;-)<br />
<br />
Patch releases against the mainstream Linux kernel have been discontinued. The developers chose to focus on a few patches and spend their time trying to get them merged into the mainline kernel.<br />
<br />
===Individual patches===<br />
<br />
These are patches which can be simply included in any build of a vanilla kernel or incorporated (probably with some major tweaking) into another patchset. I have included some common ones for starters.<br />
<br />
====Reiser4====<br />
<br />
[[Reiser4FShowto]] - http://www.namesys.com<br />
<br />
====Gensplash/fbsplash====<br />
[[Gensplash]] - http://dev.gentoo.org/~spock/projects/<br />
<br />
==See also==<br />
[[Kernel Compilation]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Kernel&diff=150094Kernel2011-07-28T02:44:33Z<p>Anonymous user: /* Found in the AUR */</p>
<hr />
<div>[[Category:Kernel (English)]]<br />
{{poor writing}}{{out of date}}<br />
==Official Kernel Packages==<br />
===kernel26===<br />
The Linux Kernel and modules. From ''core'' repository. Vanilla kernel with one patch applied (as of 2.6.39.3-1) - a hardware detection fix for Intel 915 chipsets.<br />
<br />
===kernel26-lts===<br />
<br />
Long term support Linux Kernel and modules. From ''core'' repository.<br />
<br />
==Found in the [[AUR]]==<br />
===kernel26-bfs===<br />
Linux kernel and modules with [http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler Brain Fuck Scheduler] - created by Con Kolivas for desktop computers with fewer than 4096 cores, with BFQ I/O scheduler as optional.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=32877 kernel26-ck]===<br />
[[Kernel26-ck]] is the Linux Kernel built with Con Kolivas' ck1 patchset.<br />
<br />
Additional options which can be toggled on/off in the PKGBUILD include: BFQ scheduler, nconfig, localmodconfig and use running kernel's config.<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The ck patches include BFS.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=15603 kernel26-fbcondecor]===<br />
The Linux Kernel and modules with fbcondecor support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=15224 kernel26-ice]===<br />
The Linux Kernel and modules with gentoo-sources patchset and tuxonice support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=39882 kernel26-lqx]===<br />
[http://liquorix.net Liquorix] is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads, often used as a Debian Linux performance replacement kernel. damentz, the maintainer of the Liquorix patchset, is a developer for the Zen patchset as well, so many of the improvements there are found in this patchset.<br />
<br />
===[http://aur.archlinux.org/packages.php?ID=40191 kernel26-pf]===<br />
Linux kernel and modules with the [http://pf.natalenko.name/ pf-kernel] patchset [-ck patchset (BFS included), TuxOnIce, BFQ], aufs2 and squashfs-lzma.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=24450 kernel26-vanilla]===<br />
The Linux Vanilla Kernel and modules without archlinux patches.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=16087 kernel26-xen]===<br />
The Linux Kernel and modules with [[Xen]] support.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=30330 kernel26-zen]===<br />
The [http://zen-kernel.org Zen Kernel] is a the result of a collaborative effort of kernel hackers to provide the best Linux kernel possible for every day systems.<br />
<br />
===[https://aur.archlinux.org/packages.php?ID=34625 kernel-netbook]===<br />
Static kernel for netbooks with Intel Atom N270/N280/N450/N550 such as eeepc with the add-on of external firmware (broadcom-wl) and patchset (BFS + TOI + BFQ optional) - Only Intel GPU<br />
<br />
==Patches and Patchsets==<br />
<br />
The number of posts on the forums about kernel patches and patchsets has been steadily increasing, prompting the drafting of this document which aims to be a definitive guide. It seems it would also be useful to reduce the need for every wiki to include a kernel patch howto!<br />
<br />
There are lots of reasons to patch your kernel, the major ones are for performance or support for non-mainline features such as reiser4 file system support. Other reasons might include fun and to see how it is done and what the improvements are.<br />
<br />
However, it is important to note that the best way to increase the speed of your system is to first tailor your kernel to your system, especially the architecture and processor type. For this reason using pre-packaged versions of custom kernels with generic architecture settings is not recommended or really worth it. A further benefit is that you can reduce the size of your kernel (and therefore build time) by not including support for things you don't have or use. For example, I always start with the stock kernel config when a new kernel version is released and I remove support for things like bluetooth, video4linux, 1000Mbit ethernet, etc. Stuff '''I''' know I won't use '''before''' I build my next kernel! However, this page is not about customizing your kernel config but I would recommend that as a first step to be combined with a patchset later.<br />
<br />
'''PLEASE NOTE - most patchsets have a disclaimer attached to them - this is for good reason!'''<br />
<br />
This document attempts to cover:<br />
* How to install the patched kernels<br />
* What the patchsets do and where to get them<br />
<br />
===How to install===<br />
<br />
The installation process of custom kernel packages relies on the Arch Build System (AUR). If you haven't built any custom packages yet you may consult the following articles: [[Arch Build System]] and [[Creating Packages]].<br />
<br />
If you haven't actually patched or customized a kernel before it is not that hard and there are many PKGBUILDS on the forum for individual patchsets. However, I would advise you to start from scratch with a bit of research on the benefits of each patchset rather than jumping on the nearest bandwagon! This way you'll learn much more about what you are doing rather than just choosing a kernel at startup and wondering what it actually does.<br />
<br />
See [[Kernel Compilation]].<br />
<br />
===Major patchsets===<br />
<br />
First of all it is important to note that patchsets are developed by a variety of people. Some of these people are actually involved in the production of the linux kernel and others are hobbyists, which may reflect its level of reliability and stability.<br />
<br />
It is also worth noting that some patchsets are built on the back of other patchsets (which may or may not be reflected in the title of the patch). Patchsets (and kernel updates) can be released '''very''' frequently and often it is not worth keeping up with ALL of them so don't go crazy, unless you make it your hobby!<br />
<br />
You can search google for more sets - remember to use quotes <code>"-nitro"</code> for example otherwise google will deliberately '''NOT''' show the results you want!<br />
<br />
Could people please add their experiences and comments about different patchsets below esp. re: stability (crashes), reliability (fixes) and performance.<br />
<br />
NOTE - this section is for '''information only''' - clearly no guarantees of stability or reliability are implied by inclusion on this page.<br />
<br />
====-ck ====<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The patches are created and maintained by Con Kolivas, his site is at http://users.on.net/~ckolivas/kernel/. Con maintains a full set but also provides the patches broken down so you can add only those you prefer.<br />
<br />
The -ck patches can be found at http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/<br />
<br />
====-rt====<br />
<br />
This patchset is maintained by a small group of core developers, led by Ingo Molnar. This patch allows nearly all of the kernel to be preempted, with the exception of a few very small regions of code ("raw_spinlock critical regions"). This is done by replacing most kernel spinlocks with mutexes that support priority inheritance, as well as moving all interrupt and software interrupts to kernel threads. <br />
<br />
It further incorporates high resolution timers - a patch set, which is independently maintained.<br />
<br />
[as said from the [http://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch Real-Time Linux Wiki]]<br />
<br />
patch at http://www.kernel.org/pub/linux/kernel/projects/rt/<br />
<br />
====-grsecurity====<br />
<br />
Grsecurity is a security focused patchset. It adds numerous security related features such as Role-Based Access Control and utilizes features of the PaX project. It can be used on a desktop but a public server would receive the greatest benefit. Some applications are incompatible with the additional security measures implemented by this patchset. If this occurs, consider using a lower security level.<br />
<br />
The -grsecurity patches can be found at http://grsecurity.net<br />
<br />
====Tiny-Patches====<br />
The goal of [http://elinux.org/Linux_Tiny Linux Tiny] is to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s.<br />
<br />
and maybe also ricers ;-)<br />
<br />
Patch releases against the mainstream Linux kernel have been discontinued. The developers chose to focus on a few patches and spend their time trying to get them merged into the mainline kernel.<br />
<br />
===Individual patches===<br />
<br />
These are patches which can be simply included in any build of a vanilla kernel or incorporated (probably with some major tweaking) into another patchset. I have included some common ones for starters.<br />
<br />
====Reiser4====<br />
<br />
[[Reiser4FShowto]] - http://www.namesys.com<br />
<br />
====Gensplash/fbsplash====<br />
[[Gensplash]] - http://dev.gentoo.org/~spock/projects/<br />
<br />
==See also==<br />
[[Kernel Compilation]]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Display_manager&diff=147087Display manager2011-06-23T14:20:05Z<p>Anonymous user: /* Installation */</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Display managers (English)]]<br />
{{i18n|Display Manager}}<br />
[[de:Login-Manager]]<br />
[[fr:Gestionnaire de connexions]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|A display manager presents the user with a login screen which prompts for a user name and password. A session starts when the user successfully enters a valid combination of user name and password. This article covers installation, configuration, and troubleshooting of common display managers.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Start X at Boot}}<br />
{{Article summary end}}<br />
<br />
A [[Wikipedia:X display manager (program type)|display manager]], or login manager, is a graphical interface screen that is displayed at the end of the boot process in place of the default shell. There are various types of display managers, just as there are various types of window and desktop managers. There is usually a certain amount of customization and themeability available with these managers.<br />
<br />
==Installation==<br />
Choose and install a preferred display manager:<br />
<br />
{{Note|It is best practice, but not required, to choose the display manager that corresponds to your desktop environment. Typically [[SLiM]] is preferred if there is not a corresponding desktop environment.}}<br />
<br />
'''[[XDM]]:''' X Display Manager<br />
# pacman -S xorg-xdm<br />
<br />
'''[[GDM]]:''' [[GNOME]] Display Manager<br />
# pacman -S gdm<br />
<br />
'''[[KDM]]:''' [[KDE]] Display Manager<br />
# pacman -S kdebase-workspace<br />
<br />
'''[[SLiM]]:''' Simple Login Manager<br />
# pacman -S slim<br />
<br />
'''[[Qingy]]:''' DirectFB [[getty]] replacement. The Arch theme package is optional.<br />
# pacman -S qingy qingy-theme-arch<br />
<br />
'''[[wdm]]:''' WINGs Display Manager<br />
# pacman -S wdm<br />
<br />
'''[[CDM]]:''' Console Display Manager (package available in the AUR: {{Package AUR|cdm}})<br />
<br />
<br />
[[LightDM]]<br />
<br />
==Loading the display manager==<br />
You have two easy methods to make the system load the display manager:<br />
<br />
; {{Filename|inittab}} method : The display manager will load automatically after start-up and will respawn in the event of a crash.<br />
; [[Daemon]] method : The display manager will load automatically during the start-up as a daemon.<br />
<br />
The {{Filename|inittab}} method will allow you to boot directly into framebuffer mode from [[GRUB]]. This is an advantage should the graphics driver crash in X, for example, you would not be forced to fix your system from a live CD or through other needlessly complex means.<br />
<br />
With the {{Filename|inittab}} method all you would have to do is to press 'e' for edit at the GRUB prompt and just add the number of the run-level you prefer, such as run-level '''3''', to the end of the 'kernel' line to boot directly into framebuffer mode in order to fix your system/X (this described in detail below.)<br />
<br />
When using the daemon method you can simply boot into runlevel '''1/S''' which will prevent any daemons, including the login manager, from being started. Then you can fix your system/X and switch into the runlevel '''3'''. Both methods are equally easy.<br />
<br />
==={{Filename|inittab}} method===<br />
See [[inittab]] for additional information.<br />
<br />
{{Warning| You may get problems if you use [[KMS]] with your video driver. It can freeze your display output.}}<br />
<br />
The run-levels are:<br />
0 Halt<br />
1(S) Single-user<br />
2 Not used<br />
3 Multi-user (default)<br />
4 Not used<br />
5 X11<br />
6 Reboot<br />
<br />
====Modify default run-level====<br />
Edit {{Filename|/etc/inittab}} and find the line that looks like this:<br />
id:3:initdefault:<br />
<br />
Modify the '3' to '5' for X11:<br />
id:5:initdefault:<br />
<br />
The next time you reboot, the 'X display manager' should run. For other display managers see below:<br />
<br />
====Modify default display manager====<br />
Edit {{Filename|/etc/inittab}} and find the line that looks like similar to this one (near the end):<br />
x:5:respawn:/usr/bin/xdm -nodaemon<br />
<br />
Modify it so it points to the display manager of your choice:<br />
<br />
'''GDM:'''<br />
x:5:respawn:/usr/sbin/gdm -nodaemon<br />
<br />
'''KDM:'''<br />
x:5:respawn:/usr/bin/kdm -nodaemon<br />
<br />
'''SLiM:'''<br />
x:5:respawn:/usr/bin/slim >& /dev/null<br />
<br />
The next time you reboot, the display manager of your choice should run.<br />
<br />
===Daemon method===<br />
You simply need to add the daemon name to your daemons array in {{Filename|/etc/rc.conf}}<br />
<br />
Near the end of the file you will see a line that looks similar to the following:<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond) # this is the daemons array<br />
<br />
Append the daemon name for the display manager of your choice ({{Codeline|gdm}}, {{Codeline|kdm}}, or {{Codeline|slim}}):<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond '''slim''')<br />
<br />
Ensure you start the display manager '''last''' in the DAEMONS array, otherwise X will later allocate a tty device which was previously claimed by [[Getty]] (see {{Filename|/etc/inittab}}). Not placing the display manager at the end can cause X crashes, and is therefore unsupported.<br />
<br />
The next time you reboot, the display manager should run. In the event that it does not, be certain that you typed in the name correctly, and that the manager you selected is installed. It also helps to ensure that {{Codeline|startx}} is not stopping with errors.<br />
<br />
{{Note|If you use this method and your display manager hangs while loading, or X does not recognize any input device, you will need to boot into single user mode (run-level 1) using the examples above and remove the display manager daemon from {{Filename|rc.conf}}.}}<br />
<br />
==Troubleshooting==<br />
<br />
===Switching run-levels===<br />
<br />
====Command prompt====<br />
If you want to test out the display manager without rebooting, or you want to change the X configuration and that pesky display manager keeps respawning, use this command:<br />
/sbin/telinit <run-level><br />
<br />
To switch to run-level 3 (Multi-user):<br />
/sbin/telinit 3<br />
<br />
To switch to run-level 5 (X11):<br />
/sbin/telinit 5<br />
<br />
By switching you can avoid restarting the system during your testing.<br />
<br />
====GRUB====<br />
You can add a menu item in [[GRUB]] to allow you to boot with or without X11,<br />
<br />
In {{Filename|/boot/grub/menu.lst}} find the first kernel entry you have (the default is '# (0) Arch Linux')<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
You can duplicate it and modify both like so:<br />
# (0) Arch Linux Multi-user<br />
title Arch Linux Multi-user<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro '''3'''<br />
initrd /kernel26.img<br />
<br />
# (1) Arch Linux X11<br />
title Arch Linux X11<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro '''5'''<br />
initrd /kernel26.img<br />
<br />
The run-level was appended to the end so the kernel knows what run-level to start with.<br />
<br />
====LILO====<br />
You can start-up with the run-level of your choice by just selecting or typing in the kernel name and then appending the desired run-level in the [[LILO]] boot screen like so:<br />
: Arch 5</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Comparison_of_tiling_window_managers&diff=146166Comparison of tiling window managers2011-06-15T03:38:34Z<p>Anonymous user: /* Tiling WM threads */</p>
<hr />
<div>[[Category:Tiling WMs (English)]]<br />
This article provides an unbiased comparison of the most popular ''tiling'' [[window manager]]s (as opposed to ''floating'' window managers).<br />
<br />
== Comparison table ==<br />
The following table lists the most popular tiling window managers alongside notable features, providing readers with a quick overview. More in-depth descriptions follow this table.<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
|+ Comparison of tiling window managers<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|-<br />
! [[Awesome]]<br />
| C || Lua || Dynamic || Built-in || Yes || Built-in, images and text || Yes, with an external manager such as xcompmgr || || variable borders, optional h-tab titles || dbus (if enabled) || XCB || n-tags (workspaces). Per default 9 are enabled. [https://awesome.naquadah.org/images/6mon.medium.png Example]<br />
|-<br />
! [[catwm]]<br />
| C || C (recompile) || Dynamic || None || No || None || No || v-stack, max || 1-pix borders || || Xlib || <br />
|-<br />
! [[dswm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[dwm]]<br />
| C || C (recompile) || Dynamic || None || [[Dwm#Restart dwm without logging out or closing programs | Optional]] || Built-in, reads from root window name || Yes, with an external manager such as xcompmgr || v-stack, max || || || Xlib || n regions, 9 workspaces fixed to each region<br />
|-<br />
! [[echinus]]<br />
| C || Text || Dynamic || None || Yes || [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico] || Yes, with an external manager such as xcompmgr || v-stack, b-stack, max || Variable borders & optional titles || || Xlib ||<br />
|-<br />
! [[euclid-wm]]<br />
| C || Text || Hybrid || None || Yes || External ([[dzen]]) || || rows, columns || 1-pix borders || || Xlib ||<br />
|-<br />
! [[i3]] <br />
| C || Text || Manual || None || Yes || [http://www.archlinux.org/packages/community/i686/i3status/ i3status] with [[dzen]] or xmobar || Yes, with an external manager such as xcompmgr || rows, columns, v-tab, h-tab, max || 2-pix borders, titles || commands via ipc || XCB || n regions<br />
|-<br />
! [[Ion3]] <br />
| C || Lua || Manual || trayion || Yes || configurable || ? || h-tab, max || || || ||<br />
|-<br />
! [[Musca]]<br />
| C || Text, own command set, C(recompile) || Manual || None || No, but allows running of musca commands on the fly || None || No || h-split, v-split, max || || commands, hooks || Xlib ||<br />
|-<br />
! [[Ratpoison]]<br />
| C || Text || Manual || None || Yes || Yes || Yes, with an external manager such as xcompmgr || max || || || ||<br />
|-<br />
! [[Scrotwm]]<br />
| C || Text || Dynamic || None || Yes || Built-in, reads from user script || No || nv-stack, nh-stack, max || 1-pix borders, no titles || || Xlib || n regions, 10 workspaces visible in any region<br />
|-<br />
! [[Stumpwm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[subtle]]<br />
| C || Ruby || Manual || Built-in || Yes || Built-in (Ruby), external can be used as well || Yes, with an external manager such as xcompmgr || Variable grid || Variable borders, no titles || Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) || Xlib || One workspace (view) per monitor (screen), placement on views via tags and per runtime<br />
|-<br />
! [[WMFS]]<br />
| C || Text || Dynamic || Built-in || Yes || Built-in, set with command, color text, images || May with external manager such as {d,x}compmgr || nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max || variable borders, titles or no titles || commands || Xlib || Up to 36 tags(workspaces) per screen<br />
|-<br />
! [[wmii]]<br />
| C || Anything || Manual || witray || Yes || Built-in || Yes, with an external manager such as xcompmgr || columns, max, v-tab || titles || [http://9p.cat-v.org 9P filesystem] || || one big region<br />
|-<br />
! [[xmonad]]<br />
| Haskell || Haskell || Dynamic || None || Yes || No || Yes, with xmonad-contrib and an external manager || nv-stack, nh-stack, max || variable borders, no titles || || Xlib || n regions, 9 workspaces visible in any region<br />
|-<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|}<br />
<br />
=== Management style ===<br />
Dynamic management emphasizes automatic management of window layouts for speed and simplicity. Manual management emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.<br />
<br />
=== Layouts ===<br />
A number of common layout types appear in several tiling WMs, although the terminology varies somewhat.<br />
* max: one window shown fullscreen (with or without a status bar, title and borders). Aka: monocle (dwm).<br />
* h-stack: master area in top half, other windows stack up horizontally in the bottom half. The master area may be resizable. May be inverted top-bottom (wmfs). Aka: bottom stack (dwm).<br />
* v-stack: master area in left half, other windows stack up vertically in the right half. The master area may be resizable. May be inverted left-right (wmfs). Aka: tile (dwm).<br />
* nh-stack: h-stack allowing >=1 windows in master area. Aka: nbstack (dwm)<br />
* nv-stack: v-stack allowing >=1 windows in master area. Aka: ntile (dwm)<br />
* mirror-h: nh-stack with stacks above and below the master area<br />
* mirror-v: nv-stack with stacks to the left and right of the master area<br />
* h-tab: one window shown fullscreen with all window titles shown horizontally (like browser tabs)<br />
* v-tab: one window shown fullscreen with all window titles shown vertically. Aka: stack (wmii).<br />
* h-split: a keybinding splits the current window horizontally creating space for another<br />
* v-split: a keybinding splits the current window horizontally creating space for another<br />
* columns: manual layout style which treats windows as belonging to vertical columns<br />
* rows: manual layout style which treats windows as belonging to horizontal rows<br />
* grid: window positions and sizes based on a regular NxM grid. May be automatic (like wmfs) or manual (like Subtle).<br />
<br />
=== Key bindings ===<br />
Tiling window managers are usually designed to be used entirely with the keyboard or with keyboard & mouse. This is for speed (reaching for and moving a mouse is slow) and ease of use. Sensible key bindings are crucial to making workflow fast and efficient. Some default sets are better than others, but generally the keys can be rebound as desired by the user.<br />
<br />
== [[Awesome]] ==<br />
[http://awesome.naquadah.org/ awesome] on its own can provide many of the functions of a desktop environment. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.<br />
<br />
== [[catwm]] ==<br />
[[catwm]] is a small window manager, even simpler than dwm, written in C. Configuration is done by modifying the config.h file and recompiling.<br />
<br />
== [[dswm]] ==<br />
[http://sourceforge.net/projects/dswm/ dswm] ([http://aur.archlinux.org/packages.php?ID=47899 AUR]) (Deep Space Window Manager) is an offshoot of [[Stumpwm]].<br />
<br />
== [[dwm]] ==<br />
[http://dwm.suckless.org/ dwm] is by far the simplest of the window managers listed here. It does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed. It is more lightweight than the others listed here, at the expense of certain features. The program size is already at the self-imposed line limit, restricting further development.<br />
<br />
== [[echinus]] ==<br />
[http://plhk.ru/echinus echinus] ([http://aur.archlinux.org/packages.php?O=0&K=echinus&do_Search=Go AUR]) is a<br />
simple and lightweight tiling and floating window manager for X11. It started as a dwm fork with easier configuration, and became a full-featured reparenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar called [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico].<br />
<br />
== [[euclid-wm]] ==<br />
[http://euclid-wm.sourceforge.net/index.php euclid-wm] ([http://aur.archlinux.org/packages.php?ID=38311 AUR]) is a hybrid manual and automatic window manager, with support for minimizing windows. Simplicity is one of its goals. A text configuration file controls key bindings and settings.<br />
<br />
== [[i3]] ==<br />
[http://i3.zekjur.net/ i3] was created because wmii, the authors' favorite window manager at the time, didn’t provide some features they wanted. Notable differences are in the areas of Xinerama and the table metaphor. For speed the Plan 9 interface of wmii is not implemented.<br />
<br />
== [[ion3]] ==<br />
Ion is a tiling window manager with tabbed frames. It uses Lua as an embedded interpreter which handles all of the configuration. It mainly uses the keyboard to access the functions but also supports the mouse for some things.<br />
<br />
== [[Musca]] ==<br />
A simple dynamic window manager for X, with features nicked from ratpoison and dwm:<br />
[http://aerosuidae.net/musca.html Musca] operates as a tiling window manager by default. It uses manual tiling, which means the user determines how the screen is divided into non-overlapping frames, with no restrictions on layout. Application windows always fill their assigned frame, with the exception of transient windows and popup dialog boxes which float above their parent application at the appropriate size. Once visible, applications do not change frames unless so instructed.<br />
<br />
== [[Ratpoison]] ==<br />
[http://www.nongnu.org/ratpoison/ Ratpoison] is configured with a simple text file, as opposed to some of the other tiling window managers which are configured with programming languages. While this reduces flexibility, it can be easier to understand. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray and is quite lightweight.<br />
<br />
== [[Scrotwm]] ==<br />
[http://www.scrotwm.org/ scrotwm] is a small dynamic tiling window manager largely inspired by xmonad and dwm. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration, being configured with a text file. It was written by hackers for hackers and it strives to be small, compact, and fast. It has a built-in status bar fed from a user-defined script.<br />
<br />
== [[Stumpwm]] ==<br />
[http://www.nongnu.org/stumpwm/ Stumpwm] is similar to [[Ratpoison]] but is written and configured completely in Lisp. It can be reconfigured and reloaded while running. As with wmii and Ratpoison, it is a manual window manager. Its information bar can be set to show constantly or only when needed. It does not include a system tray.<br />
<br />
== [[subtle]] ==<br />
[http://subforge.org/projects/subtle subtle] is a tiling window manager with flexible manual layouts based on predefined sizes and positions corresponding by default to 1x2, 2x1, 1x3, 2x2 and 2x3 grid elements. It has workspace tags and automatic client tagging, mouse and keyboard control as well as an extendable statusbar.<br />
<br />
== [[wmfs]] ==<br />
[http://wmfs.info/ WMFS] (Window Manager From Scratch) is a lightweight and highly configurable tiling window manager for X. It can be configured with a configuration file, supports Xft ([http://www.freetype.org/ Freetype]) fonts and is compliant with the Extended Window Manager Hints ([http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html EWMH]) specifications. It's still under heavy development<br />
<br />
== [[wmii]] ==<br />
[http://wmii.suckless.org/ wmii] uses a manual style of management -- the user must manually move windows around. While more work than dynamic management, this also provides more flexibility by default. wmii is configured via a [http://9p.cat-v.org 9P file system], which allows any program that can work with text to configure it. The default configuration is in bash and [http://rc.cat-v.org rc (the Plan 9 shell)], but programs exist written in ruby, for example. It has a status bar and launcher built in, and also an optional system tray (<tt>witray</tt>).<br />
<br />
== [[xmonad]] ==<br />
[http://xmonad.org/ xmonad] is written in Haskell, and it is configured in Haskell. This allows great flexibility, although this can be confusing at times. No text configuration file has been implemented. For all configuration changes xmonad must be recompiled, so the haskell compiler (over 485MB) must be installed. Compilation normally takes ~2 seconds, and can be done without affecting running programs. XMonad, in itself, is quite simple, but there is a large library called xmonad-contrib which provides many other features. XMonad does not include any utility programs, but others, such as [[dzen]] and [[xmobar]], make it easy to display such things as workspace information. xmonad does not come with an application launcher, but there are modules in xmonad-contrib which provide one, as well as programs like [[dmenu]] and gmrun. There is no system tray, but this can be provided by applications such as stalonetray and trayer.<br />
<br />
== More Resources ==<br />
The forum has a wealth of information about many of the tiling window managers compared here. Some notable threads specific to tilers include:<br />
<br />
=== Tiling WM threads ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57549 The dwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=99064 The i3 thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=67104 The Musca thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=64645 The scrotwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=71783 The subtle thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=110714 The WMFS thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=22592 The wmii thread]<br />
<br />
=== Threads featuring configs & hacks ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=92895 dwm hackers, unite! Share or request patches here!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=304851 dzen and xmobar hacking thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88926 Share your Awesome desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=68622 Share your Ratpoison (experience)]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=112486 Share your Subtle desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=937394 Share your WMFS desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=94969 Share your xmonad desktop!]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=74599 Show off your dwm configuration]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=40636 xmonad hacking thread]<br />
<br />
=== Artwork for tilers ===<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57768 dwm wallpapers]</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Vifm&diff=143230Vifm2011-05-30T23:16:24Z<p>Anonymous user: /* For tiling window managers */</p>
<hr />
<div>[[Category: Utilities (English)]]<br />
[[Category: File managers (English)]]<br />
[[Category: File systems (English)]]<br />
{{stub}}<br />
'''Vifm''' is a ncurses based file manager with vi like keybindings. If you use vi, vifm gives you complete keyboard control over your files without having to learn a new set of commands. Source: [http://vifm.sourceforge.net/ Vifm on sourceforge].<br />
<br />
==Installation==<br />
Vifm is in Community:<br />
<br />
# pacman -S vifm<br />
<br />
==Customizing Vifm==<br />
Copy the default config file to your home folder<br />
$ cp /usr/share/vifm/vifmrc ~/.vifm/vifmrc<br />
You can then make any changes that suit your working style.<br />
<br />
To get started, read the information avaliable in:<br />
* /usr/share/vifm/vifm.txt<br />
* /usr/share/vifm/vifm-help.txt<br />
<br />
===Colorschemes===<br />
The ~/.vifm/colorschemes file contains the color schemes. The format is outlined in the file but it is basically:<br />
COLOR=Window_name_or_filetype=foreground_color_number=background_color_number<br />
<br />
An example colorscheme looks like:<br />
COLORSCHEME=Default<br />
DIRECTORY=/<br />
COLOR=MENU=white=-1<br />
COLOR=BORDER=-1=-1<br />
COLOR=WIN=white=-1<br />
COLOR=STATUS_BAR=white=-1<br />
COLOR=CURR_LINE=8=cyan<br />
COLOR=DIRECTORY=cyan=-1<br />
COLOR=LINK=yellow=-1<br />
COLOR=SOCKET=magenta=-1<br />
COLOR=DEVICE=red=-1<br />
COLOR=EXECUTABLE=green=-1<br />
COLOR=SELECTED=magenta=-1<br />
COLOR=CURRENT=blue=-1<br />
<br />
===Opening filetypes in Vifm===<br />
You can assign applications to filetypes in vifmrc, eg.<br />
FILETYPE=Images=jpg,jpeg,gif,tif,tiff,png,bmp=feh<br />
FILETYPE=Movies=avi,flv,mpg,mpeg,mov,ogg,ogv=vlc<br />
<br />
===User commands===<br />
You can also create custom commands in vifmrc, eg.<br />
COMMAND=feh=feh -Fp. *.*<br />
<br />
====Creating symbolic links====<br />
COMMAND=ln=ln -s %d/%f %D<br />
When you call :ln, a link of the selected file is made in the other directory (if you are in split view). It even works with multiple files selected with visual (v) or tag (t).<br />
<br />
===Torrent Creation===<br />
make a .torrent of the current file in the other tab's dir<br />
COMMAND=mkt=mktorrent -p -a [your announce url here] -o %D/%f.torrent %d/%f<br />
<br />
==Alternative==<br />
Another text based filemanager with vi like keybinds is [[Ranger]].</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Openbox&diff=142990Openbox2011-05-28T22:45:08Z<p>Anonymous user: /* File managers */</p>
<hr />
<div>[[Category:Stacking WMs (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n|Openbox}}<br />
<br />
Openbox is a lightweight and highly configurable window manager with extensive standards support. Its features are documented at the [http://openbox.org/ official website]. This article pertains to installing Openbox under Arch Linux.<br />
<br />
== Installation ==<br />
<br />
Openbox is available from the standard repositories:<br />
# pacman -S openbox<br />
<br />
After installation, you should copy the default configuration files '''{{Filename|rc.xml}}''', '''{{Filename|menu.xml}}''', and '''{{Filename|autostart.sh}}''' to ''{{Filename|~/.config/openbox}}'' :<br />
<br />
$ mkdir -p ~/.config/openbox<br />
$ cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart.sh} ~/.config/openbox<br />
<br />
{{Note | Do this as a regular user, not as root.}}<br />
<br />
File '''{{Filename|rc.xml}}''' is the configuration file. It defines keyboard shortcuts, themes, virtual desktops, and more.<br />
<br />
File '''{{Filename|menu.xml}}''' defines the menu that appears when you click on the desktop. The default menu items are sparse and some are for applications you probably have not even installed. It's easy to modify your menu to suit your needs; see the [[#Menus|menus]] section below or visit the [http://openbox.org Openbox website].<br />
<br />
The default '''{{Filename|autostart.sh}}''' file defines several environment variables. You may wish to append commands to this script to launch a panel, install wallpaper, or something else. Details are in the [http://openbox.org/wiki/Help:Autostart Openbox Wiki].<br />
<br />
== Openbox as a stand-alone WM ==<br />
<br />
Openbox can be used as a stand-alone window manager (WM). This is usually simpler to install and configure than using Openbox with desktop environments. Running openbox alone may reduce your system's CPU and memory load.<br />
<br />
To run Openbox as a stand-alone window manager, append the following to '''{{Filename|~/.xinitrc}}''':<br />
exec openbox-session<br />
<br />
You may also start Openbox from the command shell (aka: text prompt) using '''xinit''':<br />
$ xinit /usr/bin/openbox-session<br />
<br />
If you used another window manager previously (such as Xfwm) and now Openbox won't start after logging out of X, try moving the autostart folder:<br />
mv ~/.config/autostart ~/.config/autostart-bak<br />
<br />
Using D-Bus or similar, use this instead:<br />
exec ck-launch-session openbox-session<br />
<br />
If you also use '''polkit''' and '''D-Bus''' (e.g. for auto-mount drivers in Nautilus/Gnome) use:<br />
exec ck-launch-session dbus-launch openbox-session<br />
<br />
{{Note | [http://www.archlinux.org/packages/extra/any/pyxdg/ pyxdg] is required for Openbox's xdg-autostart}}<br />
{{Note | "dbus-launch" must be placed after "ck-launch-session" or you will experience mounting problems}}<br />
<br />
== Openbox as a WM for desktop environments ==<br />
<br />
Openbox can be used as a replacement window manager for full-fledged desktop environments. The method for deploying Openbox depends on the desktop environment.<br />
<br />
=== GNOME 2.24 and 2.26 ===<br />
Create {{Filename|/usr/share/applications/openbox.desktop}} with the following lines:<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=OpenBox<br />
Exec=openbox<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=openbox<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=OpenBox<br />
In gconf, set '''{{Codeline|/desktop/gnome/session/required_components/windowmanager}}''' to '''{{Codeline|openbox}}:'''<br />
$ gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager openbox<br />
Finally, choose '''GNOME''' session from the GDM sessions menu.<br />
<br />
=== GNOME 2.26 Redux ===<br />
'''''If the previous guide for GNOME 2.24 fails:'''''<br />
<br />
If, when attempting to log into a "Gnome/Openbox" session -- and it consistently fails to start, try the following. This is one way of achieving your goal of using Openbox as the WM anytime you open a Gnome session:<br />
<br />
#Log into your Gnome-only session (it should still be using Metacity as its window manager).<br />
#Install Openbox if you have not done so already<br />
#Navigate your menus to ''System &rarr; Preferences &rarr; Startup Applications'' (possibly named 'Session' in older Gnome versions)<br />
#Open Startup Application, select '+ Add' and enter the text shown below. Omit the text after #.<br />
#Click the 'Add' button for the data entry window. Make sure the checkbox beside your new entry is selected.<br />
#Log out from your Gnome session and log back in<br />
#You should now be running openbox as your window manager.<br />
<br />
Name: Openbox Windox Manager # Can be changed<br />
Command: openbox --replace # Text should not be removed from this line, but possibly added to it<br />
Comment: Replaces metacity with openbox # Can be changed<br />
<br />
This creates a startup list entry which is executed by Gnome each time the user's session is started.<br />
<br />
=== GNOME 2.22 and prior ===<br />
# If you use GDM, select the "GNOME/Openbox" login option<br />
# If you use {{Codeline|startx}}, add {{Codeline|exec openbox-gnome-session}} to {{Filename|~/.xinitrc}}<br />
# From the shell:<br />
$ xinit /usr/bin/openbox-gnome-session<br />
<br />
=== KDE ===<br />
# If you use KDM, select the "KDE/Openbox" login option<br />
# If you use startx, add {{Codeline|exec openbox-kde-session}} to {{Filename|~/.xinitrc}}<br />
# From the shell:<br />
$ xinit /usr/bin/openbox-kde-session<br />
<br />
=== Xfce4 ===<br />
Log into a normal Xfce4 session. From your terminal, type:<br />
$ killall xfwm4 ; openbox & exit<br />
<br />
This kills xfwm4, runs Openbox, and closes the terminal. Log out, being sure to check the ''"Save session for future logins"'' box. On your next login, Xfce4 should use '''Openbox''' as its WM.<br />
<br />
To enable exiting from a session using ''xfce4-session,'' edit '''{{Filename|~/.config/openbox/menu.xml}}'''. If the file isn't there, copy it from {{Filename|/etc/xdg/openbox/}}. Look for the following entry:<br />
<item label="Exit Openbox"><br />
<action name="Exit"><br />
<prompt>yes</prompt><br />
</action><br />
</item><br />
<br />
Change it to:<br />
<item label="Exit Openbox"><br />
<action name="Execute"><br />
<prompt>yes</prompt><br />
<command>xfce4-session-logout</command><br />
</action><br />
</item><br />
<br />
Otherwise, choosing "Exit" from the root-menu causes Openbox to terminate its execution, leaving you with no window manager.<br />
<br />
If you have a problem changing virtual desktops with the mouse wheel skipping over desktops, edit '''{{Filename|~/.config/openbox/rc.xml}}'''. Move the ''mouse binds with...'' actions "DesktopPrevious" and "DesktopNext" from context ''Desktop'' to the context ''Root''. (You may need to create a definition for the ''Root'' context as well.)<br />
<br />
When using the Openbox root-menu instead of Xfce's menu, you may exit the Xfdesktop with this terminal command:<br />
$ xfdesktop --quit<br />
Xfdesktop manages the wallpaper and desktop icons, requiring you to use other utilities such as ROX for these functions.<br />
<br />
(When terminating Xfdesktop, the above issue with the virtual desktops is no longer a problem.)<br />
<br />
== Preferences ==<br />
<br />
There are two options for configuring Openbox preferences:<br />
<br />
=== Manual configuration ===<br />
To configure Openbox manually, edit '''{{Filename|~/.config/openbox/rc.xml}}''' with a text editor. The config file has comments throughout. More documentation is found in the [http://openbox.org/wiki/Help:Configuration Help:Configuration] article at the Openbox website.<br />
<br />
=== ObConf ===<br />
[http://openbox.org/wiki/ObConf:About ObConf] is an Openbox configuration tool. It is used to set most preferences such as themes, virtual desktops, window properties, and desktop margins.<br />
<br />
# pacman -S obconf<br />
<br />
ObConf cannot configure keyboard shortcuts and certain other features. For these features edit '''{{Filename|rc.xml}}''' manually.<br />
<br />
An alternative is [http://code.google.com/p/obkey/ ObKey], available in the [[AUR]].<br />
<br />
=== Application customization ===<br />
<br />
Openbox allows per-application customizations. This lets you define rules for a given program. For example:<br />
* Start your web browser on a specific virtual desktop.<br />
* Open your terminal program with no window decorations (window chrome).<br />
* Make your bit-torrent client open at a given screen position.<br />
<br />
Per-application settings are defined in '''{{Filename|~/.config/openbox/rc.xml}}.''' Instructions are in the file's comments. Details are found in the [http://openbox.org/wiki/Help:Applications Help:Applications] article at the official Openbox web site.<br />
<br />
== Menus ==<br />
<br />
The default Openbox menu includes a variety of menu items to get you started. Many of these items launch applications you don't want, haven't installed yet, or never intend to install. You'll surely want to customize '''{{Filename|menu.xml}}''' at some point. There are a number of ways to do so.<br />
<br />
=== Manual configuration of menus ===<br />
<br />
You can edit {{Filename|~/.config/openbox/menu.xml}} with a text editor. Many of the settings are self-explanatory. The article [http://openbox.org/wiki/Help:Menus Help:Menus] has extensive details.<br />
<br />
=== MenuMaker ===<br />
<br />
[http://menumaker.sourceforge.net/ MenuMaker] creates XML menus for several window managers including Openbox. MenuMaker searchs your computer for executable programs and creates a menu file from the result. It can be configured to exclude certain application types (GNOME, KDE, etc) if you desire.<br />
# pacman -S menumaker # Install MenuMaker from the repository<br />
<br />
Once installed, generate a menu file (named {{Filename|menu.xml}}) by running the program.<br />
$ mmaker -v OpenBox3 # Will not overwrite an existing menu file.<br />
$ mmaker -vf OpenBox3 # Force option permits overwriting the menu file.<br />
$ mmaker --help # See the full set of options for MenuMaker.<br />
<br />
MenuMaker creates a comprehensive {{Filename|menu.xml}}. You may edit this file by hand or regenerate it after installing software.<br />
<br />
=== Obmenu ===<br />
<br />
Obmenu is a menu editor for Openbox. This GUI application is the best choice for those who dislike editing XML code. Obmenu is available in the community repository:<br />
# pacman -S obmenu<br />
<br />
Once installed, run {{Codeline|obmenu}} then add and remove applications as desired.<br />
<br />
==== Obm-xdg ====<br />
<br />
<tt>obm-xdg</tt> is a command-line tool that comes with Obmenu. It generates a categorized sub-menu of installed GTK/GNOME applications.<br />
<br />
To use obm-xdg with other menus, add the following line to '''{{Filename|~/.config/openbox/menu.xml}}''':<br />
<menu execute="obm-xdg" id="xdg-menu" label="xdg"/><br />
<br />
Then add the following line under your 'root-menu' entry where you want to have the menu appear:<br />
<menu id="xdg-menu"/><br />
<br />
To use obm-xdg by itself create '''{{Filename|~/.config/openbox/menu.xml}}''' and add these lines:<br />
<openbox_menu><br />
<menu execute="obm-xdg" id="root-menu" label="apps"/><br />
</openbox_menu><br />
<br />
<br />
Then run {{Codeline|openbox --reconfigure}} to refresh the Openbox menu. You should now see a sub-menu labeled '''xdg''' in your menu.<br />
<br />
{{Note|If you do not have GNOME installed, you need to install package '''gnome-menus''' for obm-xdg.}}<br />
<br />
=== Python-based xdg menu script ===<br />
<br />
This script is found in Fedora's Openbox package. You have only to put the script somewhere and create a menu entry.<br />
<br />
Here is the head: [http://pkgs.fedoraproject.org/gitweb/?p=openbox.git;f=xdg-menu;hb=HEAD latest script]<br />
<br />
Download from above repository. Place the file into the directory you want.<br />
<br />
Open '''{{Filename|menu.xml}}''' with your text editor and add the following entry. Of course, you can modify the label as you see fit.<br />
<menu id="apps-menu" label="xdg-menu" execute="python2 <path>/xdg-menu"/><br />
<br />
Save the file and run '''{{Codeline|openbox --reconfigure}}'''.<br />
<br />
=== Openbox menu generator ===<br />
<br />
Residing in the AUR as [http://aur.archlinux.org/packages.php?ID=27300 obmenugen-bin,] Openbox menu generator creates the menu file from *.desktop files. Obmenugen provides a text file which filters (hides) menu items using basic regex.<br />
$ obmenugen # Create a menu file<br />
$ openbox --reconfigure # To see the menu you generated<br />
<br />
=== Pipe menus ===<br />
<br />
Like other window managers, Openbox allows for scripts to dynamically build menus (menus on-the-fly). Examples are system monitors, media player controls, or weather monitors. Pipe menu script examples are found in the [http://openbox.org/wiki/Openbox:Pipemenus Openbox:Pipemenus] page at Openbox's site.<br />
<br />
User ''Xyne'' created a pipe menu file browser and user ''brisbin33'' created a pipe menu for scanning and connecting to wireless hot spots (using netcfg). Forum posts for these utilities are here: [http://bbs.archlinux.org/viewtopic.php?id=77197&p=1 file browser] and here: [http://bbs.archlinux.org/viewtopic.php?id=78290 wifi].<br />
<br />
User ''jnguyen'' created a pipe menu for managing removable devices using Udisks. The forum post is here: [https://bbs.archlinux.org/viewtopic.php?id=114702 obdevicemenu].<br />
<br />
== Startup programs ==<br />
<br />
Openbox supports running programs at startup. This is provided by command '''openbox-session'''.<br />
<br />
=== Enabling autostart ===<br />
<br />
There are two ways to enable autostart:<br />
# When using startx or xinit to begin a session, edit {{Filename|~/.xinitrc}}. Change the line that executes '''''openbox''''' to '''openbox-session'''.<br />
# When using GDM or KDM, selecting an ''Openbox'' session automatically runs the autostart script.<br />
<br />
=== Autostart script ===<br />
<br />
Openbox executes a user startup script located at {{Filename|~/.config/openbox/autostart.sh}}. This script is ''not'' created by default. In the absence of a user startup script, openbox executes the system startup script {{Filename|/etc/xdg/openbox/autostart.sh}}. The system script does not run when the user script is present.<br />
<br />
To create a personal startup script, copy the system script to your settings directory {{Filename|~/.config/openbox/}} and append your commands. This ensures your environment is properly configured.<br />
<br />
Full instructions are available from the [http://openbox.org/wiki/Help:Autostart Help:Autostart] article at the Openbox site.<br />
<br />
== Themes and appearance ==<br />
<br />
:{{Box YELLOW||The supplemental article '''[[Openbox_Themes_and_Apps|Openbox Themes and Apps]]''' has detailed information about changing Openbox's GUI.}}<br />
<br />
You probably installed a selection of Linux programs that were developed using different toolkits. Configuration settings for a given program may reside in an unexpected location.<br />
<br />
For example, the double-click setting used by [http://www.geany.org/ Geany] (an editor/IDE) is set within the file '''{{Filename|~/.gtkrc-2.0,}}''' not where you might expect in '''{{Filename|~/.config/openbox/rc.xml}}'''. Some visual aspects of Geany are set by .gtkrc-2.0 as well.<br />
<br />
Refer to the supplemental [[Openbox_Themes_and_Apps#Themes_and_appearance|Openbox Themes and Apps]] for visual theming information.<br />
<br />
=== Openbox themes ===<br />
<br />
Themes control the appearance of windows, titlebars, and buttons. They also control menu appearance and on-screen display (OSD). Additional themes are available from the standard repositories.<br />
# pacman -S openbox-themes<br />
<br />
=== Cursors, icons, wallpaper ===<br />
<br />
Please see [[Openbox_Themes_and_Apps#X11_Mouse_cursors|Openbox Themes and Apps]] for information on these GUI customizations.<br />
<br />
== Recommended programs ==<br />
:{{Box YELLOW||The supplemental wiki article '''[[Openbox_Themes_and_Apps#Recommended_programs|Openbox Themes and Apps]]''' has information on applications you may use with Openbox.<br>The article gives details about panels, trays, mixer controls, and other widgets used on a desktop interface.}}<br />
<br />
There is a list of [[Lightweight_Applications|Lightweight Applications]] in the wiki. Most of these work nicely with Openbox.<br />
<br />
=== Login managers ===<br />
<br />
[http://slim.berlios.de/ SLiM] is a graphical login manager. It works for standalone Openbox configurations. Refer to the [[SLiM]] wiki article for instructions.<br />
<br />
[http://qingy.sourceforge.net/ Qingy] is a light, highly-configurable graphical login manager. It supports login to either text console or X session. Qingy uses [http://www.directfb.org DirectFB]. Qingy does not start an X session unless you choose a session that uses X Windows. Read the Arch wiki article about [[Qingy|Qingy.]]<br />
<br />
=== Compositing the desktop view ===<br />
<br />
[[Xcompmgr]] is a compositing window manager capable of rendering drop shadows, fading, and window transparency for Openbox and other window managers.<br />
Note that xcompmgr is no longer being developed. Any problems are unlikely to be fixed. (For example, Xcompmgr has shown a problem with ''tint2 0.9'': systray icons have a tendency to become corrupted.)<br />
<br />
[[Cairo Compmgr]] is a versatile compositing window manager that uses [http://en.wikipedia.org/wiki/Cairo_(software) Cairo] for rendering. It is usually the better choice.<br />
<br />
=== Panels, trays, pagers ===<br />
<br />
Refer to the supplemental [[Openbox_Themes_and_Apps#Panels.2C_trays.2C_and_pagers|Openbox Themes and Apps]] to learn about these GUI embellishments for Openbox.<br />
<br />
=== File managers ===<br />
<br />
Three popular lightweight file managers are:<br />
* [[Thunar]]. Thunar supports auto-mount features and other plugins. <br />
# pacman -S thunar<br />
* [http://rox.sourceforge.net ROX] (ROX provides desktop icons)<br />
# pacman -S rox<br />
* [http://pcmanfm.sourceforge.net PCManFM]<br />
# pacman -S pcmanfm # PcManFM package also provides desktop icons.<br />
# pacman -S ntfs-3g # Allows PCManFM to access NTFS drives.<br />
<br />
More information is found at [[Openbox_Themes_and_Apps#File_managers|Openbox Themes and Apps]]. The supplemental article has further information about application launchers such as [http://sourceforge.net/projects/gmrun gmrun], clipboard managers, volume mixers, and more.<br />
<br />
== Tips and tricks ==<br />
<br />
=== File associations ===<br />
Because Openbox and the applications you use with it are not well-integrated you might run into the issues with your browser. Your browser may not know which program it is supposed to use for certain types of files.<br />
<br />
A package in the AUR called [http://aur.archlinux.org/packages.php?ID=23170 gnome-defaults-list] contains a list of file-types and programs specific to the Gnome desktop. The list is installed to {{Filename|/etc/gnome/defaults.list.}}<br />
<br />
Open this file with your text-editor. Now you can replace a given application with the name of the program of your choosing. For example, totem <=> vlc or eog <=> mirage. Save the file to {{Filename|~/.local/share/applications/defaults.list}}.<br />
<br />
Another way of setting file associations is to install package ''perl-file-mimeinfo'' from the repository and invoke '''mimeopen''' like this:<br />
mimeopen -d /path/to/file<br />
You are asked which application to use when opening /path/to/file:<br />
Please choose a default application for files of type text/plain<br />
1) notepad (wine-extension-txt)<br />
2) Leafpad (leafpad)<br />
3) OpenOffice.org Writer (writer)<br />
4) gVim (gvim)<br />
5) Other...<br />
Your answer becomes the default handler for that type of file. Mimeopen is installed as {{Filename|/usr/bin/perlbin/vendor/mimetype}}.<br />
<br />
=== Copy and paste ===<br />
<br />
From a terminal '''Ctrl+Insert''' for copy and '''Shift+Insert''' for paste.<br />
<br />
Also '''Ctrl+Shift+C''' for copy and '''mouse middle-click''' for paste (in terminals).<br />
<br />
Other applications most likely use the conventional keyboard shortcuts for copy and paste.<br />
<br />
=== Window transparency ===<br />
<br />
The program transset-df (virtually the same as ''transset'') is installed with pacman -S transset-df. With transset-df you can enable window-transparency on-the-fly.<br />
<br />
For instance by placing the following in {{Filename|~/.config/openbox/rc.xml}} you can have your mouse adjust window transparency by scrolling while hovering over the title bar (it is in the <mouse> section):<br />
<br />
<context name="Titlebar"><br />
. . .<br />
<mousebind button="Up" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --inc </execute><br />
</action><br />
</mousebind><br />
<mousebind button="Down" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --dec </execute><br />
</action><br />
</mousebind><br />
. . .<br />
</context><br />
It appears to work only when no additional actions are defined within the action group.<br />
<br />
=== Xprop values for applications ===<br />
If you use per-application settings frequently, you might find this bash alias handy:<br />
<br />
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'<br />
<br />
To use, run '''{{Codeline|xp}}''' and click on the running program that you'd like to define with per-app settings. The result displays only the info that Openbox requires, namely the WM_WINDOW_ROLE and WM_CLASS (name and class) values:<br />
<br />
[thayer@dublin:~] $ xp<br />
WM_WINDOW_ROLE(STRING) = "roster"<br />
WM_CLASS(STRING) = "gajim.py", "Gajim.py"<br />
WM_CLASS(STRING) = "NAME", "CLASS"<br />
<br />
==== Xprop for Firefox ====<br />
<br />
For whatever reason, Firefox and like-minded equivalents ignore application rules (e.g. <desktop>) unless {{Codeline|class&#61;"Firefox*"}} is used. This applies irrespective of whatever values xprop may report for the program's WM_CLASS.<br />
<br />
=== Linking the menu to a button ===<br />
<br />
Some people want to link the Openbox menu (or any menu) to an object. This is useful for creating a panel button to pop up a menu. Although Openbox does not provide this, a program called '''xdotool''' simulates a keypress. Openbox can be configured to bind that keypress to the ''ShowMenu'' action.<br />
<br />
Package [http://aur.archlinux.org/packages.php?do_Details=1&ID=14789&O=0&L=0&C=0&K=xdotool&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd xdotool] is available in the AUR. After installing ''xdotool'', add the following to the <keyboard> section of your '''{{Filename|rc.xml}}''':<br />
<keybind key="A-C-q"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
Restart/reconfigure Openbox. The following command summons a menu at your cursor position. The command may given as-is, linked to an object, or placed in a script.<br />
$ xdotool key ctrl+alt+q<br />
<br />
Of course, change the key shortcut to your liking. Here's a snippet from a '''tint2''' (a taskbar-like panel) configuration file which pops up a menu when the clock area is clicked. Each key combination is set to open a menu within openbox's '''{{Filename|rc.xml}}''' configuration file. The right‑click menu is different from the left‑click menu:<br />
clock_rclick_command = xdotool key --clearmodifiers "ctrl+XF86PowerOff"<br />
clock_lclick_command = xdotool key --clearmodifiers "alt+XF86PowerOff"<br />
<br />
=== Urxvt in the background ===<br />
<br />
With Openbox, running a terminal as desktop background is easy. You won't need '''devilspie''' here.<br />
<br />
First you must enable transparency, open your {{Filename|.Xdefaults}} file (if it doesn't exist yet, create it in your home folder).<br />
URxvt*transparent:true<br />
URxvt*scrollBar:false<br />
URxvt*geometry:124x24 #I don't use the whole screen, if you want a full screen term don't bother with this and see below.<br />
URxvt*borderLess:true<br />
URxvt*foreground:Black #Font color. My wallpaper is White, you may wish to change this to White.<br />
<br />
Then edit your {{Filename|.config/openbox/rc.xml}} file:<br />
<application name="URxvt"><br />
<decor>no</decor><br />
<focus>yes</focus><br />
<position><br />
<x>center</x><br />
<y>20</y><br />
</position><br />
<layer>below</layer><br />
<desktop>all</desktop><br />
<maximized>true</maximized> #Only if you want a full size terminal.<br />
</application><br />
<br />
The ''magic'' comes from the {{Codeline|<layer>below</layer>}} line, which place the application under all others. Here Urxvt is displayed on all desktops, change it to your convenience.<br />
<br />
Note: Instead of using <application name="URxvt">, you can use another name ("URxvt-bg" for example), and use the -name option when starting uxrvt. That way, only the urxvt terminals which you choose to name URxvt-bg would be captured and modified by the application rule in rc.xml. For example: urxvt -name URxvt-bg (case sensitive)<br />
<br />
====ToggleShowDesktop exception====<br />
<br />
Above method still minimizes Urxvt when using the ToggleShowDesktop command. A method for avoiding this is explained in this [https://bbs.archlinux.org/viewtopic.php?pid=865844#p865844 forum post]. This involves editing Urxvt's source code.<br />
<br />
=== Keyboard volume control ===<br />
<br />
If you use ALSA for sound, you can use the amixer program to adjust the volume of sound. You can use Openbox's keybindings to act like multimedia keys. (Alternatively, you can probably find out the names of your real multimedia keys and map them.) For example, in the <keyboard> section of rc.xml:<br />
<br />
<keybind key="W-Up"><br />
<action name="Execute"><br />
<command>amixer set Master 5%+</command><br />
</action><br />
</keybind><br />
<br />
This binds Windows key + Up arrow to increase your master ALSA volume by 5%. Corresponding binding for volume down:<br />
<br />
<keybind key="W-Down"><br />
<action name="Execute"><br />
<command>amixer set Master 5%-</command><br />
</action><br />
</keybind><br />
<br />
As another example you can also use the XF86Audio keybindings:<br />
<br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>amixer set Master 5%+ unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>amixer set Master 5%- unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>amixer set Master toggle</command><br />
</action><br />
</keybind><br />
<br />
The above example should work for the majority of multimedia keyboards. It should enable to raise, lower and mute the Master control of your audio device by using the respective multimedia keyboard keys. Notice also that in this example:<br />
<br />
* The "Mute" key should unmute the Master control if it is already in mute mode.<br />
* The "Raise" and "Lower" keys should unmute the Master control if it is in mute mode.<br />
<br />
== Resources ==<br />
<br />
* [http://openbox.org/ Openbox Website] &ndash; The official website<br />
* [http://planetob.openmonkey.com/ Planet Openbox] &ndash; Openbox news portal<br />
* [http://www.box-look.org/ Box-Look.org] &ndash; A good resource for themes and related artwork<br />
* [https://bbs.archlinux.org/viewtopic.php?id=93126 Openbox Hacks and Configs Thread] @ Arch Linux Forums<br />
* [https://bbs.archlinux.org/viewtopic.php?id=45692 Openbox Screenshots Thread] @ Arch Linux Forums<br />
<!-- vim: set ft=Wikipedia: --></div>Anonymous userhttps://wiki.archlinux.org/index.php?title=XAMPP&diff=136102XAMPP2011-04-07T03:30:43Z<p>Anonymous user: /* Manual */</p>
<hr />
<div>[[Category:Web Server (English)]]<br />
{{i18n|Xampp}}<br />
<br />
[http://www.apachefriends.org/en/xampp.html XAMPP] is an easy to install Apache distribution containing MySQL, PHP and Perl. It contains: Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client.<br />
<br />
== Installation ==<br />
=== AUR ===<br />
* [http://aur.archlinux.org/packages.php?ID=14141 Xampp package] in the [[AUR]]<br />
<br />
=== Manual ===<br />
# Download the latest version from [http://www.apachefriends.org/en/xampp-linux.html#374 here].<br />
# In the terminal run the following from the folder where the archive was downloaded to: <pre>sudo tar xvfz xampp-linux-*.tar.gz -C /opt</pre><br />
<br />
{{Note|If you are running 64-bit arch, you must install <tt>lib32-glibc</tt> and <tt>gcc-libs-multilib</tt>.<br />
<pre>sudo pacman -S lib32-glibc gcc-libs-multilib</pre><br />
to do this you must have activated the multilib repositorie in /etc/pacman.conf}}<br />
<br />
== Configuration ==<br />
<br />
Setting the individual parts of XAMPP can by made by editing following files:<br />
<br />
'''/opt/lampp/etc/httpd.conf''' - Apache configuration. For example you can change folder with web page's source files.<br />
<br />
'''/opt/lampp/etc/php.ini''' - PHP configuration.<br />
<br />
'''/opt/lampp/phpmyadmin/config.inc.php''' - phpMyAdmin configuration.<br />
<br />
'''/opt/lampp/etc/proftpd.conf''' - proFTP configuration.<br />
<br />
'''/opt/lampp/etc/my.cnf''' - MySQL configuration.<br />
<br />
If you would like to set up security of server, you can do it simply by this command:<br />
<pre>sudo /opt/lampp/lampp security</pre><br />
You will be asked step by step to choose passwords for web page's access, user "pma" for phpMyAdmin, user "root" for MySQL and user "nobody" for proFTP.<br />
<br />
== Usage ==<br />
<br />
Use the following commands to control XAMPP: <pre>sudo /opt/lampp/lampp {start,stop,restart}</pre><br />
<br />
== Removal ==<br />
<br />
All the files needed by Xampp to be installed are located in the previous /opt/lampp folder. So, to uninstall Xampp, consider this command.<br />
<br />
<pre># rm -rf /opt/lampp</pre><br />
<br />
'''NOTE:'''If you had create symlinks, you need to destroy them too!<br />
<br />
== Hosting files outside the htdocs directory ==<br />
The document root (web root) directory is located at '''/opt/lampp/htdocs/'''. All files placed in this directory will be processed by the web server.<br />
<br />
To host other files on your system with XAMPP, you can configure an alias with apache.<br />
<br />
#Edit apache's httpd.conf with your favorite editor. <pre>nano /opt/lampp/etc/httpd.conf</pre><br />
#In the Alias section, add an alias:<br />
<pre><br />
<IfModule alias_module><br />
Alias /test /home/web<br />
<directory /home/web><br />
AllowOverride FileInfo Limit Options Indexes<br />
Order allow,deny<br />
Allow from all<br />
</directory><br />
<br />
... <br />
...<br />
<br />
</IfModule></pre><br />
<br />
You also have to change the permissions. You can use your own username, and leave the group setting alone. In that case, any folder where you have access will work. Another way is to leave the user setting, and change the group to something else which your user is part of (for when you want to restrict a folder to be group-writable only). Yet another way is to just change both user and group to 'http', which should already exist. In this case, all folders you want to allow for processing must belong to at least the 'http' group.<br />
<br />
<pre><IfModule !mpm_netware_module><br />
User http<br />
Group http<br />
</IfModule></pre><br />
<br />
Now don't forget to restart apache: <pre>/opt/lampp/lampp restart</pre><br />
<br />
This will allow you to host files from your home directory (or any other directory) with XAMPP.<br />
<br />
In the above example, you can access the files by pointing your web browser to '''localhost/test'''.</div>Anonymous userhttps://wiki.archlinux.org/index.php?title=Comparison_of_tiling_window_managers&diff=131749Comparison of tiling window managers2011-02-22T02:23:21Z<p>Anonymous user: /* Tiling WM threads */</p>
<hr />
<div>[[Category:Tiling WMs (English)]]<br />
This article provides an unbiased comparison of the most popular ''tiling'' [[window manager]]s (as opposed to ''floating'' window managers).<br />
<br />
== Comparison table ==<br />
The following table lists the most popular tiling window managers alongside notable features, providing readers with a quick overview. More in-depth descriptions follow this table.<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
|+ Comparison of tiling window managers<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|-<br />
! [[Awesome]]<br />
| C || Lua || Dynamic || Built-in || Yes || Built-in, images and text || Yes, with an external manager such as xcompmgr || || variable borders, optional h-tab titles || dbus (if enabled) || XCB || n-tags (workspaces). Per default 9 are enabled. [https://awesome.naquadah.org/images/6mon.medium.png Example]<br />
|-<br />
! [[catwm]]<br />
| C || C (recompile) || Dynamic || None || No || None || No || v-stack, max || 1-pix borders || || Xlib || <br />
|-<br />
! [[dwm]]<br />
| C || C (recompile) || Dynamic || None || [[Dwm#Restart dwm without logging out or closing programs | Optional]] || Built-in, reads from root window name || Yes, with an external manager such as xcompmgr || v-stack, max || || || Xlib || n regions, 9 workspaces fixed to each region<br />
|-<br />
! [[echinus]]<br />
| C || Text || Dynamic || None || Yes || [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico] || Yes, with an external manager such as xcompmgr || v-stack, b-stack, max || Variable borders & optional titles || || Xlib ||<br />
|-<br />
! [[euclid-wm]]<br />
| C || Text || Hybrid || None || Yes || External ([[dzen]]) || || rows, columns || 1-pix borders || || Xlib ||<br />
|-<br />
! [[i3]] <br />
| C || Text || Manual || None || Yes || [http://www.archlinux.org/packages/community/i686/i3status/ i3status] with [[dzen]] or xmobar || Yes, with an external manager such as xcompmgr || rows, columns, v-tab, h-tab, max || 2-pix borders, titles || commands via ipc || XCB || n regions<br />
|-<br />
! [[Ion3]] <br />
| C || Lua || Manual || trayion || Yes || configurable || ? || h-tab, max || || || ||<br />
|-<br />
! [[Musca]]<br />
| C || Text, own command set, C(recompile) || Manual || None || No, but allows running of musca commands on the fly || None || No || h-split, v-split, max || || commands, hooks || Xlib ||<br />
|-<br />
! [[Ratpoison]]<br />
| C || Text || Manual || None || Yes || Yes || No || max || || || ||<br />
|-<br />
! [[Scrotwm]]<br />
| C || Text || Dynamic || None || Yes || Built-in, reads from user script || No || nv-stack, nh-stack, max || 1-pix borders, no titles || || Xlib || n regions, 10 workspaces visible in any region<br />
|-<br />
! [[Stumpwm]]<br />
| Lisp || Lisp || Manual || None || Yes || Yes || No || || || || ||<br />
|-<br />
! [[subtle]]<br />
| C || Ruby || Manual || Built-in || Yes || Built-in (Ruby), external can be used as well || Yes, with an external manager such as xcompmgr || Variable grid || Variable borders, no titles || Hooks (Ruby), subtler (CLI), subtlext (Ruby extension) || Xlib || One workspace (view) per monitor (screen), placement on views via tags and per runtime<br />
|-<br />
! [[WMFS]]<br />
| C || Text || Dynamic || Yes || Yes || Built-in, set with command, color text, images || May with external manager such as {d,x}compmgr || nh-stack (and invert), nv-stack (and invert), mirror-v, mirror-h, grid, free, max || variable borders, titles or no titles || commands || Xlib || Up to 36 tags(workspaces) per screen<br />
|-<br />
! [[wmii]]<br />
| C || Anything || Manual || None || Yes || Built-in || Yes, with an external manager such as xcompmgr || columns, max, v-tab || titles || [http://9p.cat-v.org 9P filesystem] || || one big region<br />
|-<br />
! [[xmonad]]<br />
| Haskell || Haskell || Dynamic || None || Yes || No || Yes, with xmonad-contrib and an external manager || nv-stack, nh-stack, max || variable borders, no titles || || Xlib || n regions, 9 workspaces visible in any region<br />
|-<br />
! Window Manager !! Written in !! Configured with !! Management style !! System tray support !! On-the-fly reload !! Information bars !! Compositing !! Default layouts !! Pixel usage || External control !! Library !! Multiple (n) monitor behavior<br />
|}<br />
<br />
=== Management style ===<br />
Dynamic management emphasizes automatic management of window layouts for speed and simplicity. Manual management emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.<br />
<br />
=== Layouts ===<br />
A number of common layout types appear in several tiling WMs, although the terminology varies somewhat.<br />
* max: one window shown fullscreen (with or without a status bar, title and borders). Aka: monocle (dwm).<br />
* h-stack: master area in top half, other windows stack up horizontally in the bottom half. The master area may be resizable. May be inverted top-bottom (wmfs). Aka: bottom stack (dwm).<br />
* v-stack: master area in left half, other windows stack up vertically in the right half. The master area may be resizable. May be inverted left-right (wmfs). Aka: tile (dwm).<br />
* nh-stack: h-stack allowing >=1 windows in master area. Aka: nbstack (dwm)<br />
* nv-stack: v-stack allowing >=1 windows in master area. Aka: ntile (dwm)<br />
* mirror-h: nh-stack with stacks above and below the master area<br />
* mirror-v: nv-stack with stacks to the left and right of the master area<br />
* h-tab: one window shown fullscreen with all window titles shown horizontally (like browser tabs)<br />
* v-tab: one window shown fullscreen with all window titles shown vertically. Aka: stack (wmii).<br />
* h-split: a keybinding splits the current window horizontally creating space for another<br />
* v-split: a keybinding splits the current window horizontally creating space for another<br />
* columns: manual layout style which treats windows as belonging to vertical columns<br />
* rows: manual layout style which treats windows as belonging to horizontal rows<br />
* grid: window positions and sizes based on a regular NxM grid. May be automatic (like wmfs) or manual (like Subtle).<br />
<br />
=== Key bindings ===<br />
Tiling window managers are usually designed to be used entirely with the keyboard or with keyboard & mouse. This is for speed (reaching for and moving a mouse is slow) and ease of use. Sensible key bindings are crucial to making workflow fast and efficient. Some default sets are better than others, but generally the keys can be rebound as desired by the user.<br />
<br />
== [[Awesome]] ==<br />
[http://awesome.naquadah.org/ awesome] on its own can provide many of the functions of a desktop environment. Configured in Lua, it has a system tray, information bar, and launcher built in. There are extensions available to it written in Lua. Awesome uses XCB as opposed to Xlib, which may result in a speed increase. Awesome has other features as well, such as an early replacement for notification-daemon, a right-click menu similar to that of the *box window managers, and many other things.<br />
<br />
== [[catwm]] ==<br />
[[catwm]] is a small window manager, even simpler than dwm, written in C. Configuration is done by modifying the config.h file and recompiling.<br />
<br />
== [[dwm]] ==<br />
[http://dwm.suckless.org/ dwm] is by far the simplest of the window managers listed here. It does not include a tray app or automatic launcher, although dmenu integrates well with it, as they are from the same author. It has no text configuration file. Configuration is done entirely by modifying the C source code, and it must be recompiled and restarted each time it is changed. It is more lightweight than the others listed here, at the expense of certain features. The program size is already at the self-imposed line limit, restricting further development.<br />
<br />
== [[echinus]] ==<br />
[http://plhk.ru/echinus echinus] ([http://aur.archlinux.org/packages.php?O=0&K=echinus&do_Search=Go AUR]) is a<br />
simple and lightweight tiling and floating window manager for X11. It started as a dwm fork with easier configuration, and became a full-featured reparenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar called [http://aur.archlinux.org/packages.php?O=0&K=ourico&do_Search=Go ourico].<br />
<br />
== [[euclid-wm]] ==<br />
[http://euclid-wm.sourceforge.net/index.php euclid-wm] ([http://aur.archlinux.org/packages.php?ID=38311 AUR]) is a hybrid manual and automatic window manager, with support for minimizing windows. Simplicity is one of its goals. A text configuration file controls key bindings and settings.<br />
<br />
== [[i3]] ==<br />
[http://i3.zekjur.net/ i3] was created because wmii, the authors' favorite window manager at the time, didn’t provide some features they wanted. Notable differences are in the areas of Xinerama and the table metaphor. For speed the Plan 9 interface of wmii is not implemented.<br />
<br />
== [[ion3]] ==<br />
Ion is a tiling window manager with tabbed frames. It uses Lua as an embedded interpreter which handles all of the configuration. It mainly uses the keyboard to access the functions but also supports the mouse for some things.<br />
<br />
== [[Musca]] ==<br />
A simple dynamic window manager for X, with features nicked from ratpoison and dwm:<br />
[http://aerosuidae.net/musca.html Musca] operates as a tiling window manager by default. It uses manual tiling, which means the user determines how the screen is divided into non-overlapping frames, with no restrictions on layout. Application windows always fill their assigned frame, with the exception of transient windows and popup dialog boxes which float above their parent application at the appropriate size. Once visible, applications do not change frames unless so instructed.<br />
<br />
== [[Ratpoison]] ==<br />
[http://www.nongnu.org/ratpoison/ Ratpoison] is configured with a simple text file, as opposed to some of the other tiling window managers which are configured with programming languages. While this reduces flexibility, it can be easier to understand. The information bar in Ratpoison is somewhat different, as it shows only when needed. It serves as both an application launcher as well as a notification bar. Ratpoison does not include a system tray and is quite lightweight.<br />
<br />
== [[Scrotwm]] ==<br />
[http://www.scrotwm.org/ scrotwm] is a small dynamic tiling window manager largely inspired by xmonad and dwm. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration, being configured with a text file. It was written by hackers for hackers and it strives to be small, compact, and fast. It has a built-in status bar fed from a user-defined script.<br />
<br />
== [[Stumpwm]] ==<br />
[http://www.nongnu.org/stumpwm/ Stumpwm] is similar to [[Ratpoison]] but is written and configured completely in Lisp. It can be reconfigured and reloaded while running. As with wmii and Ratpoison, it is a manual window manager. Its information bar can be set to show constantly or only when needed. It does not include a system tray.<br />
<br />
== [[subtle]] ==<br />
[http://subforge.org/projects/subtle subtle] is a tiling window manager with flexible manual layouts based on predefined sizes and positions corresponding by default to 1x2, 2x1, 1x3, 2x2 and 2x3 grid elements. It has workspace tags and automatic client tagging, mouse and keyboard control as well as an extendable statusbar.<br />
<br />
== [[wmfs]] ==<br />
[http://wmfs.info/ WMFS] (Window Manager From Scratch) is a lightweight and highly configurable tiling window manager for X. It can be configured with a configuration file, supports Xft ([http://www.freetype.org/ Freetype]) fonts and is compliant with the Extended Window Manager Hints ([http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html EWMH]) specifications. It's still under heavy development<br />
<br />
== [[wmii]] ==<br />
[http://wmii.suckless.org/ wmii] uses a manual style of management -- the user must manually move windows around. While more work than dynamic management, this also provides more flexibility by default. wmii is configured via a [http://9p.cat-v.org 9P file system], which allows any program that can work with text to configure it. The default configuration is in bash and [http://rc.cat-v.org rc (the Plan 9 shell)], but programs exist written in ruby, for example. It has a status bar and launcher built in, but no system tray.<br />
<br />
== [[xmonad]] ==<br />
[http://xmonad.org/ xmonad] is written in Haskell, and it is configured in Haskell. This allows great flexibility, although this can be confusing at times. No text configuration file has been implemented. For all configuration changes xmonad must be recompiled, so the haskell compiler (over 485MB) must be installed. Compilation normally takes ~2 seconds, and can be done without affecting running programs. XMonad, in itself, is quite simple, but there is a large library called xmonad-contrib which provides many other features. XMonad does not include any utility programs, but others, such as [[dzen]] and [[xmobar]], make it easy to display such things as workspace information. xmonad does not come with an application launcher, but there are modules in xmonad-contrib which provide one, as well as programs like [[dmenu]] and gmrun. There is no system tray, but this can be provided by applications such as stalonetray and trayer.<br />
<br />
== More Resources ==<br />
The forum has a wealth of information about many of the tiling window managers compared here. Some notable threads specific to tilers include:<br />
<br />
=== Tiling WM threads ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=67104 Musca (Tiling Window Manager)]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=64645 Scrotwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57549 The dwm thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=99064 The i3 thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=110714 The WMFS Thread (Window Manager From Scratch)]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=22592 The wmii thread]<br />
<br />
=== Threads featuring configs & hacks ===<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=92895 dwm hackers, unite! Share or request patches here!]<br />
*[https://bbs.archlinux.org/viewtopic.php?pid=304851 dzen and xmobar hacking thread]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=88926 Share your Awesome desktop]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=68622 Share your ratpoison experience]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=112486 Share your Subtle desktop !]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=94969 Share your xmonad desktop]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=74599 Show off your dwm configuration]<br />
*[https://bbs.archlinux.org/viewtopic.php?id=40636 xmonad hacking thread]<br />
<br />
=== Artwork for tilers ===<br />
*[https://bbs.archlinux.org/viewtopic.php?id=57768 dwm wallpapers]</div>Anonymous user