https://wiki.archlinux.org/api.php?action=feedcontributions&user=Ryon.sherman&feedformat=atomArchWiki - User contributions [en]2024-03-29T11:34:35ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Talk:Installation_guide&diff=379567Talk:Installation guide2015-06-20T22:43:33Z<p>Ryon.sherman: /* Modification of the "Set the hostname" line */</p>
<hr />
<div>== Read this first before adding new suggestions ==<br />
<br />
* The point of this page is to ''not'' become another Beginners' guide. It is meant to be a ''concise'' checklist of things to be done. So, detailed installation instructions should go to [[Beginners' guide]]. <br />
* If there is something to discuss which should also affect the Beginners' guide, then do it on [[Talk:Beginners' guide]]. An advanced user will find this page less bloated and easier to read, so let's KISS.<br />
<br />
__TOC__<br />
<br />
== Suggestions to update this guide as part of ISO ==<br />
<br />
Since this guide is now being included as 'install.txt' in the ISO, it might be beneficial to incorporate the following changes:<br />
<br />
* Entirely remove the '''1. Download''' section and move it to the Download area of the archlinux.org page. This document here is about installing, not downloading, checking, burning discs or dd'ing. The majority of users reading this have likely already booted up the install medium.<br />
* Begin or end the document by mentioning the new archlinux(7) man page which explains the location of important system configuration files<br />
# man archlinux<br />
* Slightly expand the '''6. Connect to the internet''' section to include the most basic examples of setting up a private network using a dynamic and static IP address. (Right now it's only a single paragraph/line.) It's a vital installation step and should actually be moved to the top as one of the first actions during system setup. This fact should be emphasized.<br />
<br />
Obtain dynamic IP <br />
# dhcpcd<br />
<br />
Set static IP<br />
# ip link set dev eth0 up<br />
# ip addr add 192.168.1.2/24 dev eth0<br />
# ip route add default via 192.168.1.1<br />
# echo "nameserver 8.8.8.8" >> /etc/resolv.conf<br />
<br />
--[[User:MajorTom|MajorTom]]<br />
<br />
:I can agree to all your suggestions, I wonder why no one is modifying the wiki. Internet connection setup is the most important part and should be covered more extensively. In addition to your changes, mention the manpages and configuration templates for netcfg and pppoe-setup/connect. The boot medium must at least contain easy accesible information in order to read all pages referenced in the installation guide. There should also be mentioned that elinks is installed and can be used to access the wiki. --[[User:Progandy|Progandy]] ([[User talk:Progandy|talk]]) 21:50, 24 August 2012 (UTC)<br />
<br />
::The {{ic|dhcpcd}} network daemon is started automatically: [https://www.archlinux.org/news/install-media-20120804-available/], [https://wiki.archlinux.org/index.php/Beginners%27_Guide#Network_setup], so there's no reason to start it manually. --[[User:DSpider|DSpider]] ([[User talk:DSpider|talk]]) 08:17, 25 August 2012 (UTC)<br />
<br />
:::Yes and no. "Configure the network again for the newly installed environment: see Network configuration and Wireless network configuration." implies that if it worked on the install iso, it should also work after install. A sentence that says explicitly that even if it needed no config earlier, now it does need a config (and this config is usually bringing up the ethernet interface, i.e., one "ip link set eth0 up" followed by a "dhcpcd eth0") would save a lot of people time. [[User:Iaw4|Iaw4]] ([[User talk:Iaw4|talk]]) 13:07, 20 December 2014 (UTC) iaw4<br />
<br />
::::Moving the "Download" section to http://www.archlinux.org/download/ should be discussed in a bug report. Anyway I disagree, as downloading is part of the whole installation procedure, from scratch to the login screen in the new system. If by "installing" we meant only extracting the packages, we should also move all the configuration part to another article.<br />
::::I've mentioned archlinux(7) in the intro.<br />
::::Network configuration instructions will not be expanded because they would duplicate too much of the linked articles. Those who find consusing the fact that configuring the network in the chroot is different from configuring it in the live system should follow the [[Beginners' guide]] instead.<br />
::::If you want elinks to be mentioned in the install.txt in the installation system, please submit a patch for https://projects.archlinux.org/archiso.git/tree/configs/releng/airootfs/root/install.txt . Mentioning it in this article would be nonsensical, since whoever visits it is already using a browser.<br />
::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:29, 21 December 2014 (UTC)<br />
<br />
::::There would actually be at least one reason to mention elinks in this article, i.e. authenticating in RADIUS-protected networks: do we want to add it, or is patching install.txt still a better solution? I added it in the BG with [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=365139&oldid=365015]. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:31, 12 March 2015 (UTC)<br />
<br />
== add a step: setting the clock ==<br />
<br />
Lots of things care about the clock being more-or-less correct, e.g. pacman-key will not work at all if the clock is too far out. Lots of brand new computers come with the clock set to something in the distant past, which causes weird problems during the install. [[User:Thetrivialstuff|Thetrivialstuff]] ([[User talk:Thetrivialstuff|talk]]) 23:14, 31 July 2012 (UTC)<br />
<br />
I agree, the instructions in "Installation Guide" leaves you without a /etc/adjtime file.<br />
The following should be added (taken from beginners guide, but shortened):<br />
Set the hardware clock and generate a {{ic|/etc/adjtime}} file with {{ic|# hwclock --systohc --utc}} or {{ic|# hwclock --systohc --localtime}}<br />
[[User:Bwid|Bwid]] ([[User talk:Bwid|talk]]) 08:03, 3 March 2013 (UTC)<br />
:There's no need for an adjtime file, but it does make sense to have people use {{ic|timedatectl}} from the live media to set the clock correctly. -- [[User:Thestinger|thestinger]] ([[User talk:Thestinger|talk]]) 03:30, 15 March 2013 (UTC)<br />
<br />
==Proposed changes to Beginners' Guide and link to Post-Installation==<br />
Some major changes are under discussion in [[Talk:Beginners'_Guide#Guide_restructuring]]: some of them would require adjustments to this very guide, see for example [https://wiki.archlinux.org/index.php?title=Talk%3ABeginners%27_Guide&diff=224578&oldid=224567 this post].<br />
<br />
Please reply in the linked discussion, '''not''' here.<br />
<br />
-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 12:15, 22 September 2012 (UTC)<br />
<br />
:I've added the steps in [[Beginners' Guide/Post-Installation]] to this guide, which now directly sends users to [[Beginners' Guide/Extra]].<br />
:If however [[Talk:Beginners' Guide#Guide restructuring]] will be implemented as planned, the [[Beginners' Guide]] will have a slightly different installation procedure than this guide, unless this one is updated too.<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:08, 24 September 2012 (UTC)<br />
<br />
::Shouldn't the information be added ''before'' "Unmount leftovers and reboot" ? By the way, the title should mention rebooting, because most likely a kernel update was involved. --[[User:DSpider|DSpider]] ([[User talk:DSpider|talk]]) 14:41, 24 September 2012 (UTC)<br />
<br />
:::The link to Post-Installation was the last step of the guide, so that's the line I've replaced with the instructions from Post-Installation.<br />
:::About rebooting in case of a kernel upgrade, I don't think it's necessary to state that since this guide is aimed at experienced users.<br />
:::In any case, any reordering or modification of the various steps should better be approved by a Developer, and probably the forum or the mailing lists are better places than this talk page to involve them in such discussions.<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:59, 24 September 2012 (UTC)<br />
<br />
::::Yeah, but at this point, you were instructed to reboot. In order to edit {{ic|pacman.conf}}, you need to mount the root partition. And to update your system, you need to chroot into it. It would be better if "Unmount leftovers" was renamed "Unmount leftovers and reboot", and added at the end (before the suggestion to read the instructions from '''Extra'''). --[[User:DSpider|DSpider]] ([[User talk:DSpider|talk]]) 15:07, 24 September 2012 (UTC)<br />
<br />
:::::You are still instructed to reboot, aren't you? The "Unmount leftovers" section currently tells you to ''"reboot and then login into the new system with the root account"''. In the "new system", the correct partition is already mounted at /.<br />
:::::Whether or not configuring pacman, updating the system and adding a user would be better done in the chroot before rebooting, it's something that should be discussed with a Developer. I too think that it would make more sense, requiring one less reboot in case of a kernel upgrade.<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:18, 24 September 2012 (UTC)<br />
:::::Renaming "Unmount leftovers" to "Unmount leftovers and reboot" is safe anyway, so I've done that. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:37, 24 September 2012 (UTC)<br />
:::::@DSpider: you're quite active on the forum, why don't you propose your idea there? I think it would be interesting to discuss it. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:11, 25 September 2012 (UTC)<br />
:::::Ok, after reading [https://wiki.archlinux.org/index.php?title=Talk%3AInstallation_Guide&diff=226203&oldid=225070 this] I realize that maybe I haven't been clear enough, so I'll try to explain everything more thoroughly.<br />
:::::#The current procedure makes you [[Installation_Guide#Configure_the_system|configure the system]] in the '''chroot''' environment from the '''live''' system.<br />
:::::#Then, still in the '''live''' system, it [[Installation_Guide#Unmount and reboot|asks]] you to '''exit''' the chroot, unmount the partitions for the '''new''' system, '''reboot''' and login into the '''new''' system. Now, I refuse to write more explicitly in the guide that you should boot into the '''new''' system, and not again in the '''live''' system, in order to login into the new system.<br />
:::::#Since you are now into the '''new''' system ('''not''' the live system), the root partition is mounted at {{ic|/}}, not at {{ic|/mnt/}}, so you should be able to configure pacman, update the system and add a user wihtout chrooting. Now, if you've tested the procedure and really noticed that for some obscure-to-me reason you still need to chroot to /mnt in order to do those operations, please ask for clarifications in the forum because I wouldn't be able to answer any more.<br />
:::::Last thing, and I think this is the 3rd or 4th time I write it, I '''agree''' with you that configuring pacman etc. could easily be done in the chroot environment at step 1, but you should '''propose''' that change '''in the forum''' first, since it would be a change in the official installation procedure and I won't take responsibility for that.<br />
:::::I think this is the best I can do here, the next step to explain all this could be making a movie or a five-act play, but I hope it's not necessary :)<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:56, 30 September 2012 (UTC)<br />
<br />
== Modification to the "Generate an fstab" line ==<br />
<br />
Add a link to the genfstab source in the "Generate an fstab" line. Why? Because if there were ever a time when you'd want to look at what the script is doing, this would be it. And yes, advanced users can find it themselves, but why force them to?<br />
<br />
* Generate an [[fstab]] with the [https://projects.archlinux.org/arch-install-scripts.git/tree/genfstab.in genfstab] script (if you prefer to use UUIDs or labels, add the {{ic|-U}} or {{ic|-L}} option, respectively):<br />
<br />
--[[User:Tigrmesh|Tigrmesh]]<br />
<br />
:I remember that a link to pacstrap's source was removed from the Beginners' Guide because allegedly people were trying to download and run it directly: [https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Installation&diff=284304&oldid=283834], [https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Installation&diff=284372&oldid=284304]. Linking to genfstab would go against that precedent... Besides, if you want to inspect genfstab's source from the live system, isn't it much easier to do {{ic|cat $(which genfstab)}}? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:50, 28 January 2014 (UTC)</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=Talk:Installation_guide&diff=379566Talk:Installation guide2015-06-20T22:39:05Z<p>Ryon.sherman: /* Modification of the "Set the hostname" line */ new section</p>
<hr />
<div>== Read this first before adding new suggestions ==<br />
<br />
* The point of this page is to ''not'' become another Beginners' guide. It is meant to be a ''concise'' checklist of things to be done. So, detailed installation instructions should go to [[Beginners' guide]]. <br />
* If there is something to discuss which should also affect the Beginners' guide, then do it on [[Talk:Beginners' guide]]. An advanced user will find this page less bloated and easier to read, so let's KISS.<br />
<br />
__TOC__<br />
<br />
== Suggestions to update this guide as part of ISO ==<br />
<br />
Since this guide is now being included as 'install.txt' in the ISO, it might be beneficial to incorporate the following changes:<br />
<br />
* Entirely remove the '''1. Download''' section and move it to the Download area of the archlinux.org page. This document here is about installing, not downloading, checking, burning discs or dd'ing. The majority of users reading this have likely already booted up the install medium.<br />
* Begin or end the document by mentioning the new archlinux(7) man page which explains the location of important system configuration files<br />
# man archlinux<br />
* Slightly expand the '''6. Connect to the internet''' section to include the most basic examples of setting up a private network using a dynamic and static IP address. (Right now it's only a single paragraph/line.) It's a vital installation step and should actually be moved to the top as one of the first actions during system setup. This fact should be emphasized.<br />
<br />
Obtain dynamic IP <br />
# dhcpcd<br />
<br />
Set static IP<br />
# ip link set dev eth0 up<br />
# ip addr add 192.168.1.2/24 dev eth0<br />
# ip route add default via 192.168.1.1<br />
# echo "nameserver 8.8.8.8" >> /etc/resolv.conf<br />
<br />
--[[User:MajorTom|MajorTom]]<br />
<br />
:I can agree to all your suggestions, I wonder why no one is modifying the wiki. Internet connection setup is the most important part and should be covered more extensively. In addition to your changes, mention the manpages and configuration templates for netcfg and pppoe-setup/connect. The boot medium must at least contain easy accesible information in order to read all pages referenced in the installation guide. There should also be mentioned that elinks is installed and can be used to access the wiki. --[[User:Progandy|Progandy]] ([[User talk:Progandy|talk]]) 21:50, 24 August 2012 (UTC)<br />
<br />
::The {{ic|dhcpcd}} network daemon is started automatically: [https://www.archlinux.org/news/install-media-20120804-available/], [https://wiki.archlinux.org/index.php/Beginners%27_Guide#Network_setup], so there's no reason to start it manually. --[[User:DSpider|DSpider]] ([[User talk:DSpider|talk]]) 08:17, 25 August 2012 (UTC)<br />
<br />
:::Yes and no. "Configure the network again for the newly installed environment: see Network configuration and Wireless network configuration." implies that if it worked on the install iso, it should also work after install. A sentence that says explicitly that even if it needed no config earlier, now it does need a config (and this config is usually bringing up the ethernet interface, i.e., one "ip link set eth0 up" followed by a "dhcpcd eth0") would save a lot of people time. [[User:Iaw4|Iaw4]] ([[User talk:Iaw4|talk]]) 13:07, 20 December 2014 (UTC) iaw4<br />
<br />
::::Moving the "Download" section to http://www.archlinux.org/download/ should be discussed in a bug report. Anyway I disagree, as downloading is part of the whole installation procedure, from scratch to the login screen in the new system. If by "installing" we meant only extracting the packages, we should also move all the configuration part to another article.<br />
::::I've mentioned archlinux(7) in the intro.<br />
::::Network configuration instructions will not be expanded because they would duplicate too much of the linked articles. Those who find consusing the fact that configuring the network in the chroot is different from configuring it in the live system should follow the [[Beginners' guide]] instead.<br />
::::If you want elinks to be mentioned in the install.txt in the installation system, please submit a patch for https://projects.archlinux.org/archiso.git/tree/configs/releng/airootfs/root/install.txt . Mentioning it in this article would be nonsensical, since whoever visits it is already using a browser.<br />
::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:29, 21 December 2014 (UTC)<br />
<br />
::::There would actually be at least one reason to mention elinks in this article, i.e. authenticating in RADIUS-protected networks: do we want to add it, or is patching install.txt still a better solution? I added it in the BG with [https://wiki.archlinux.org/index.php?title=Beginners%27_guide&diff=365139&oldid=365015]. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:31, 12 March 2015 (UTC)<br />
<br />
== add a step: setting the clock ==<br />
<br />
Lots of things care about the clock being more-or-less correct, e.g. pacman-key will not work at all if the clock is too far out. Lots of brand new computers come with the clock set to something in the distant past, which causes weird problems during the install. [[User:Thetrivialstuff|Thetrivialstuff]] ([[User talk:Thetrivialstuff|talk]]) 23:14, 31 July 2012 (UTC)<br />
<br />
I agree, the instructions in "Installation Guide" leaves you without a /etc/adjtime file.<br />
The following should be added (taken from beginners guide, but shortened):<br />
Set the hardware clock and generate a {{ic|/etc/adjtime}} file with {{ic|# hwclock --systohc --utc}} or {{ic|# hwclock --systohc --localtime}}<br />
[[User:Bwid|Bwid]] ([[User talk:Bwid|talk]]) 08:03, 3 March 2013 (UTC)<br />
:There's no need for an adjtime file, but it does make sense to have people use {{ic|timedatectl}} from the live media to set the clock correctly. -- [[User:Thestinger|thestinger]] ([[User talk:Thestinger|talk]]) 03:30, 15 March 2013 (UTC)<br />
<br />
==Proposed changes to Beginners' Guide and link to Post-Installation==<br />
Some major changes are under discussion in [[Talk:Beginners'_Guide#Guide_restructuring]]: some of them would require adjustments to this very guide, see for example [https://wiki.archlinux.org/index.php?title=Talk%3ABeginners%27_Guide&diff=224578&oldid=224567 this post].<br />
<br />
Please reply in the linked discussion, '''not''' here.<br />
<br />
-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 12:15, 22 September 2012 (UTC)<br />
<br />
:I've added the steps in [[Beginners' Guide/Post-Installation]] to this guide, which now directly sends users to [[Beginners' Guide/Extra]].<br />
:If however [[Talk:Beginners' Guide#Guide restructuring]] will be implemented as planned, the [[Beginners' Guide]] will have a slightly different installation procedure than this guide, unless this one is updated too.<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:08, 24 September 2012 (UTC)<br />
<br />
::Shouldn't the information be added ''before'' "Unmount leftovers and reboot" ? By the way, the title should mention rebooting, because most likely a kernel update was involved. --[[User:DSpider|DSpider]] ([[User talk:DSpider|talk]]) 14:41, 24 September 2012 (UTC)<br />
<br />
:::The link to Post-Installation was the last step of the guide, so that's the line I've replaced with the instructions from Post-Installation.<br />
:::About rebooting in case of a kernel upgrade, I don't think it's necessary to state that since this guide is aimed at experienced users.<br />
:::In any case, any reordering or modification of the various steps should better be approved by a Developer, and probably the forum or the mailing lists are better places than this talk page to involve them in such discussions.<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:59, 24 September 2012 (UTC)<br />
<br />
::::Yeah, but at this point, you were instructed to reboot. In order to edit {{ic|pacman.conf}}, you need to mount the root partition. And to update your system, you need to chroot into it. It would be better if "Unmount leftovers" was renamed "Unmount leftovers and reboot", and added at the end (before the suggestion to read the instructions from '''Extra'''). --[[User:DSpider|DSpider]] ([[User talk:DSpider|talk]]) 15:07, 24 September 2012 (UTC)<br />
<br />
:::::You are still instructed to reboot, aren't you? The "Unmount leftovers" section currently tells you to ''"reboot and then login into the new system with the root account"''. In the "new system", the correct partition is already mounted at /.<br />
:::::Whether or not configuring pacman, updating the system and adding a user would be better done in the chroot before rebooting, it's something that should be discussed with a Developer. I too think that it would make more sense, requiring one less reboot in case of a kernel upgrade.<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:18, 24 September 2012 (UTC)<br />
:::::Renaming "Unmount leftovers" to "Unmount leftovers and reboot" is safe anyway, so I've done that. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:37, 24 September 2012 (UTC)<br />
:::::@DSpider: you're quite active on the forum, why don't you propose your idea there? I think it would be interesting to discuss it. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:11, 25 September 2012 (UTC)<br />
:::::Ok, after reading [https://wiki.archlinux.org/index.php?title=Talk%3AInstallation_Guide&diff=226203&oldid=225070 this] I realize that maybe I haven't been clear enough, so I'll try to explain everything more thoroughly.<br />
:::::#The current procedure makes you [[Installation_Guide#Configure_the_system|configure the system]] in the '''chroot''' environment from the '''live''' system.<br />
:::::#Then, still in the '''live''' system, it [[Installation_Guide#Unmount and reboot|asks]] you to '''exit''' the chroot, unmount the partitions for the '''new''' system, '''reboot''' and login into the '''new''' system. Now, I refuse to write more explicitly in the guide that you should boot into the '''new''' system, and not again in the '''live''' system, in order to login into the new system.<br />
:::::#Since you are now into the '''new''' system ('''not''' the live system), the root partition is mounted at {{ic|/}}, not at {{ic|/mnt/}}, so you should be able to configure pacman, update the system and add a user wihtout chrooting. Now, if you've tested the procedure and really noticed that for some obscure-to-me reason you still need to chroot to /mnt in order to do those operations, please ask for clarifications in the forum because I wouldn't be able to answer any more.<br />
:::::Last thing, and I think this is the 3rd or 4th time I write it, I '''agree''' with you that configuring pacman etc. could easily be done in the chroot environment at step 1, but you should '''propose''' that change '''in the forum''' first, since it would be a change in the official installation procedure and I won't take responsibility for that.<br />
:::::I think this is the best I can do here, the next step to explain all this could be making a movie or a five-act play, but I hope it's not necessary :)<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:56, 30 September 2012 (UTC)<br />
<br />
== Modification to the "Generate an fstab" line ==<br />
<br />
Add a link to the genfstab source in the "Generate an fstab" line. Why? Because if there were ever a time when you'd want to look at what the script is doing, this would be it. And yes, advanced users can find it themselves, but why force them to?<br />
<br />
* Generate an [[fstab]] with the [https://projects.archlinux.org/arch-install-scripts.git/tree/genfstab.in genfstab] script (if you prefer to use UUIDs or labels, add the {{ic|-U}} or {{ic|-L}} option, respectively):<br />
<br />
--[[User:Tigrmesh|Tigrmesh]]<br />
<br />
:I remember that a link to pacstrap's source was removed from the Beginners' Guide because allegedly people were trying to download and run it directly: [https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Installation&diff=284304&oldid=283834], [https://wiki.archlinux.org/index.php?title=Beginners%27_Guide/Installation&diff=284372&oldid=284304]. Linking to genfstab would go against that precedent... Besides, if you want to inspect genfstab's source from the live system, isn't it much easier to do {{ic|cat $(which genfstab)}}? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 13:50, 28 January 2014 (UTC)<br />
<br />
== Modification of the "Set the hostname" line ==<br />
<br />
There's an inconsistency between the provided 'hostname' link and the excerpted text:<br />
<br />
:Set the [[hostname]]<br />
:{{ic|# echo ''computer_name'' > /etc/hostname}}<br />
The excerpt should read:<br />
:{{ic|# hostnamectl set-hostname ''myhostname''}}<br />
<br />
-- [[User:Ryon.sherman|Ryon Sherman]] ([[User talk:Ryon.sherman|talk]]) 22:39, 20 June 2015 (UTC)</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=256982User:Ryon.sherman2013-05-13T19:01:05Z<p>Ryon.sherman: Blanked the page</p>
<hr />
<div></div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=LightDM&diff=222707LightDM2012-09-12T05:32:11Z<p>Ryon.sherman: /* Changing the Icon */ Typo</p>
<hr />
<div>[[Category:Display managers]]<br />
[[es:LightDM]]<br />
{{Article summary start}}<br />
{{Article summary text|Provides an overview and setup of the Light Display Manager.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Display Manager}}<br />
{{Article summary end}}<br />
<br />
[http://www.freedesktop.org/wiki/Software/LightDM Lightdm] LightDM is a cross-desktop display manager that aims to be the standard display manager for the X.org X server.<br />
<br />
== Installation ==<br />
<br />
Currently, {{AUR|lightdm}} resides in the [[AUR]]. Install it like any other AUR package.<br />
<br />
=== Greeter===<br />
You will also need {{AUR|lightdm-gtk-greeter}} from the [[AUR]].<br />
<br />
Other greeters can be installed: <br />
* {{AUR|lightdm-webkit-greeter}}<br />
* {{AUR|lightdm-crowd-greeter}}<br />
* {{AUR|lightdm-kde-greeter}}<br />
* {{AUR|lightdm-unity-greeter}}<br />
<br />
To change the default greeter ({{AUR|lightdm-gtk-greeter}}) edit the lightdm PKGBUILD and change the line<br />
--with-greeter-session=lightdm-gtk-greeter<br />
to<br />
--with-greeter-session=lightdm-yourgreeter-greeter<br />
<br />
== Enabling Lightdm ==<br />
Lightdm can be loaded on startup by entering it in the daemons array in {{ic|rc.conf}}, or by modifying {{ic|inittab}} so it points to lightdm:<br />
x:5:respawn:/usr/sbin/lightdm &> /dev/null<br />
{{Note|The 'inittab' method is the preferred method to use a graphical greeter. See [[Display_Manager#inittab_method]].}}<br />
<br />
{{Note|Lightdm needs [[dbus]] to be running. If you get an error about "respawing too fast" you may have forgotten this. Ensure that dbus is in your [[DAEMONS]] array in {{ic|rc.conf}}.}}<br />
<br />
For systems using systemd, Lightdm also has a systemd service file, start it with {{ic|systemctl start lightdm.service}} or enable it for boot with {{ic|systemctl enable lightdm.service}}.<br />
<br />
See [[Display Manager]] for detailed instructions.<br />
<br />
== Optional Configuration and Tweaks ==<br />
=== Changing Background Images/Colors ===<br />
Users wishing to customize the wallpaper on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''background''' variable.<br />
<br />
Example:<br />
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg<br />
<br />
{{Note|It is recommended to place png or jpg files in /usr/share/pixmaps since the lightdm user needs read access to the wallpaper file.}}<br />
<br />
Users wishing to have a flat color (no image) may simply set the '''background''' variable to a hex color.<br />
<br />
Example:<br />
background=#000000<br />
<br />
=== Changing the Icon ===<br />
Users wishing to customize the icon on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''logo''' variable.<br />
<br />
Example:<br />
logo=/usr/share/icons/hicolor/64x64/devices/archlinux-icon-crystal-64.svg<br />
<br />
==== Sources of Arch-centric 64x64 Icons ====<br />
The archlinux-artwork package in [extra] contains some nice examples that install to {{ic|/usr/share/archlinux/icons}} and that can be copied to {{ic|/usr/share/icons/hicolor/64x64/devices}} as follows:<br />
<br />
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \;<br />
<br />
After copying, the archlinux-artwork package can be removed.<br />
<br />
=== Enabling Autologin ===<br />
Edit {{ic|/etc/lightdm/lightdm.conf}} and change these lines to:<br />
<br />
[SeatDefaults]<br />
autologin-user=your_user<br />
autologin-user-timeout=0<br />
pam-service=lightdm-autologin<br />
<br />
==== PAM settings ====<br />
<br />
Lightdm goes through PAM even when autologin is enabled. You must make sure that<br />
PAM allows the login without prompting for a password.<br />
<br />
Create a new group called, say, {{ic|autologin}} and add yourself to the group:<br />
groupadd autologin<br />
gpasswd -a ''username'' autologin<br />
<br />
Edit {{ic|/etc/pam.d/lightdm-autologin}} and locate the line "auth required pam_unix.so". Add new lines before and after it so that the section now reads:<br />
auth [success=1 default=ignore] pam_succeed_if.so user ingroup autologin<br />
auth required pam_unix.so<br />
auth optional pam_permit.so<br />
<br />
This ensures that the user will not be asked for a password when logging in through Lightdm autologin.<br />
<br />
=== NumLock ON ===<br />
Install the {{ic|numlockx}} package and the edit {{ic| /etc/lightdm/lightdm.conf}} adding the following line:<br />
greeter-setup-script=/usr/bin/numlockx on<br />
<br />
=== User switching under xfce4 ===<br />
With the release of xfce4 v4.10, user switching is supported natively. To use it with lightdm, users need only to create a symlink:<br />
<br />
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/bin/gdmflexiserver<br />
<br />
Alternatively, see the [[https://wiki.archlinux.org/index.php/Xscreensaver#LXDM Xscreensaver#Lightdm]] article.</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=LightDM&diff=222706LightDM2012-09-12T05:31:46Z<p>Ryon.sherman: /* Changing the Icon */ Updated to reflect latest /etc/lightdm/lightdm-gtk-greeter.conf</p>
<hr />
<div>[[Category:Display managers]]<br />
[[es:LightDM]]<br />
{{Article summary start}}<br />
{{Article summary text|Provides an overview and setup of the Light Display Manager.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Display Manager}}<br />
{{Article summary end}}<br />
<br />
[http://www.freedesktop.org/wiki/Software/LightDM Lightdm] LightDM is a cross-desktop display manager that aims to be the standard display manager for the X.org X server.<br />
<br />
== Installation ==<br />
<br />
Currently, {{AUR|lightdm}} resides in the [[AUR]]. Install it like any other AUR package.<br />
<br />
=== Greeter===<br />
You will also need {{AUR|lightdm-gtk-greeter}} from the [[AUR]].<br />
<br />
Other greeters can be installed: <br />
* {{AUR|lightdm-webkit-greeter}}<br />
* {{AUR|lightdm-crowd-greeter}}<br />
* {{AUR|lightdm-kde-greeter}}<br />
* {{AUR|lightdm-unity-greeter}}<br />
<br />
To change the default greeter ({{AUR|lightdm-gtk-greeter}}) edit the lightdm PKGBUILD and change the line<br />
--with-greeter-session=lightdm-gtk-greeter<br />
to<br />
--with-greeter-session=lightdm-yourgreeter-greeter<br />
<br />
== Enabling Lightdm ==<br />
Lightdm can be loaded on startup by entering it in the daemons array in {{ic|rc.conf}}, or by modifying {{ic|inittab}} so it points to lightdm:<br />
x:5:respawn:/usr/sbin/lightdm &> /dev/null<br />
{{Note|The 'inittab' method is the preferred method to use a graphical greeter. See [[Display_Manager#inittab_method]].}}<br />
<br />
{{Note|Lightdm needs [[dbus]] to be running. If you get an error about "respawing too fast" you may have forgotten this. Ensure that dbus is in your [[DAEMONS]] array in {{ic|rc.conf}}.}}<br />
<br />
For systems using systemd, Lightdm also has a systemd service file, start it with {{ic|systemctl start lightdm.service}} or enable it for boot with {{ic|systemctl enable lightdm.service}}.<br />
<br />
See [[Display Manager]] for detailed instructions.<br />
<br />
== Optional Configuration and Tweaks ==<br />
=== Changing Background Images/Colors ===<br />
Users wishing to customize the wallpaper on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''background''' variable.<br />
<br />
Example:<br />
background=/usr/share/pixmaps/black_and_white_photography-wallpaper-1920x1080.jpg<br />
<br />
{{Note|It is recommended to place png or jpg files in /usr/share/pixmaps since the lightdm user needs read access to the wallpaper file.}}<br />
<br />
Users wishing to have a flat color (no image) may simply set the '''background''' variable to a hex color.<br />
<br />
Example:<br />
background=#000000<br />
<br />
=== Changing the Icon ===<br />
Users wishing to customize the wallpaper on the greeter screen need to edit {{ic|/etc/lightdm/lightdm-gtk-greeter.conf}} defining the '''logo''' variable.<br />
<br />
Example:<br />
logo=/usr/share/icons/hicolor/64x64/devices/archlinux-icon-crystal-64.svg<br />
<br />
==== Sources of Arch-centric 64x64 Icons ====<br />
The archlinux-artwork package in [extra] contains some nice examples that install to {{ic|/usr/share/archlinux/icons}} and that can be copied to {{ic|/usr/share/icons/hicolor/64x64/devices}} as follows:<br />
<br />
# find /usr/share/archlinux/icons -name "*64*" -exec cp {} /usr/share/icons/hicolor/64x64/devices \;<br />
<br />
After copying, the archlinux-artwork package can be removed.<br />
<br />
=== Enabling Autologin ===<br />
Edit {{ic|/etc/lightdm/lightdm.conf}} and change these lines to:<br />
<br />
[SeatDefaults]<br />
autologin-user=your_user<br />
autologin-user-timeout=0<br />
pam-service=lightdm-autologin<br />
<br />
==== PAM settings ====<br />
<br />
Lightdm goes through PAM even when autologin is enabled. You must make sure that<br />
PAM allows the login without prompting for a password.<br />
<br />
Create a new group called, say, {{ic|autologin}} and add yourself to the group:<br />
groupadd autologin<br />
gpasswd -a ''username'' autologin<br />
<br />
Edit {{ic|/etc/pam.d/lightdm-autologin}} and locate the line "auth required pam_unix.so". Add new lines before and after it so that the section now reads:<br />
auth [success=1 default=ignore] pam_succeed_if.so user ingroup autologin<br />
auth required pam_unix.so<br />
auth optional pam_permit.so<br />
<br />
This ensures that the user will not be asked for a password when logging in through Lightdm autologin.<br />
<br />
=== NumLock ON ===<br />
Install the {{ic|numlockx}} package and the edit {{ic| /etc/lightdm/lightdm.conf}} adding the following line:<br />
greeter-setup-script=/usr/bin/numlockx on<br />
<br />
=== User switching under xfce4 ===<br />
With the release of xfce4 v4.10, user switching is supported natively. To use it with lightdm, users need only to create a symlink:<br />
<br />
# ln -s /usr/lib/lightdm/lightdm/gdmflexiserver /usr/bin/gdmflexiserver<br />
<br />
Alternatively, see the [[https://wiki.archlinux.org/index.php/Xscreensaver#LXDM Xscreensaver#Lightdm]] article.</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=ECryptfs&diff=218514ECryptfs2012-08-18T17:18:43Z<p>Ryon.sherman: /* PAM mount by eCryptfs module */</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Security]]<br />
[[Category:File systems]]<br />
[[fr:Encryption avec eCryptfs]]<br />
[[it:System Encryption with eCryptfs]]<br />
[[ru:System Encryption with eCryptfs]]<br />
{{Article summary start}}<br />
{{Article summary text|Setup and usage of eCryptfs}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Disk Encryption}}<br />
{{Article summary end}}<br />
<br />
This article describes basic usage of [https://launchpad.net/ecryptfs eCryptfs]. It guides you through the process of creating a private and secure encrypted directory within your ''$HOME'' directory, where you can store all your sensitive files and private data.<br />
<br />
In implementation eCryptfs differs from dm-crypt, which provides a ''block device encryption layer'', while eCryptfs is an actual file-system &ndash; a [http://en.wikipedia.org/wiki/Cryptographic_filesystems stacked cryptographic file system] to be exact. For comparison of the two you can refer to [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#compare this table ]. <br />
<br />
The summary is that it doesn't require special on-disk storage allocation effort, such as separate partitions, you can mount eCryptfs on top of any single directory to protect it. That includes e.g. your entire $HOME and network file systems (i.e. having encrypted NFS shares). All cryptographic metadata is stored in the headers of files, so encrypted data can be easily moved, stored for backup and recovered. There are other advantages, but there are also drawbacks, for instance eCryptfs is not suitable for encrypting complete partitions which also means you can't protect your swap space with it (instead you can combine it with dm-crypt).<br />
<br />
For more details on how eCryptfs compares to other disk encryption solutions, see [[Disk Encryption#Comparison table]]. <br />
<br />
== Deficiencies ==<br />
<br />
Before you make any big decisions like encrypting your $HOME you should know that eCyptfs does not handle sparse files well. For most intents and purposes that shouldn't concern us, however one very popular use case are torrents. Right now eCryptfs tries to encrypt the whole sparse file allocated space right away, which can lead to starving the system of resources in case of big files (remember torrents can easily be 10GB or bigger). You can track progress of this bug in this Launchpad report: https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/431975<br />
<br />
Simple workaround, for now, is to create a '''.Public''' folder (as '''.Private''' folder is used for encrypted data later in the article) and use that for torrents, unencrypted and symlinked to a directory like ''~/Downloads/torrents''. For some people this of course defeats the whole purpose of encryption, for others who are protecting their data from theft it doesn't.<br />
<br />
=== Login password ===<br />
<br />
{{note|1= With {{pkg|shadow}} 4.1.4.3-3 ''sha512'' is the default for new passwords (see [https://bugs.archlinux.org/task/13591#comment85993 bug 13591] and corresponding [http://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/shadow&id=98001501a8306ef5a0df55d1cffc048851894940 commit]).}}<br />
<br />
If you are encrypting your whole home, with auto-mounting you should use a strong password and consider changing the hash algorithm for ''/etc/shadow''. From '''md5''' to stronger ones like '''sha512/bcrypt''', that helps to protect your password against rainbow-table attacks. See https://wiki.archlinux.org/index.php/SHA_password_hashes for more information.<br />
<br />
== Basics ==<br />
eCryptfs is a part of Linux since version 2.6.19. But to work with it you will need the userspace tools provided by the package {{pkg|ecryptfs-utils}} available in the [[Official Repositories]].<br />
<br />
Once you have installed that package you can load the ecryptfs module and continue with the setup:<br />
# modprobe ecryptfs<br />
<br />
The ecryptfs-utils package is distributed with a few helper scripts which will help you with key management and similar tasks. Some were written to automate this whole process of setting up encrypted directories (''ecryptfs-setup-private'') or help you combine eCryptfs with dm-crypt to protect swap space (''ecryptfs-setup-swap''). Despite those scripts we will go trough the process manually so you get a better understanding of what is really being done.<br />
<br />
Before we say anything else it's advised that you check the eCryptfs documentation. It is distributed with a very good and complete set of manual pages.<br />
<br />
=== Setup (simple) ===<br />
<br />
As a user run<br />
ecryptfs-setup-private<br />
and follow the instructions.<br />
<br />
=== Setup (in detail) ===<br />
<br />
First create your private directories, in this example we will call them exactly that: Private<br />
$ su -<br />
# mkdir -m 700 /home/username/.Private<br />
# mkdir -m 500 /home/username/Private<br />
# chown username:username /home/username/{.Private,Private}<br />
<br />
Let's summarize<br />
* Actual encrypted data will be stored in ~/.Private directory (so-called ''lower'' directory)<br />
* While mounted, decrypted data will be available in ~/Private directory (so-called ''upper'' directory)<br />
** While not mounted nothing can be written to this directory<br />
** While mounted it has the same permissions as the lower directory<br />
<br />
eCryptfs can now be mounted on top of ~/Private.<br />
# mount -t ecryptfs /home/username/.Private /home/username/Private<br />
<br />
You will need to answer a few questions and provide a passphrase which should be used to mount this directory in the future. However you can also have different keys encrypting different data (more about this below). For convenience we will limit this guide to only one key and passphrase. Let's see an example:<br />
Key type: passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
Cipher: aes<br />
Key byte: 16<br />
Plaintext passtrough: no<br />
Filename encryption: no<br />
Add signature to cache: yes <br />
<br />
Let's summarize<br />
* The passphrase is your '''mount passphrase''' which will be salted, hashed and loaded into the kernel keyring.<br />
** In eCryptfs terms, this salted, hashed passphrase is your "file encryption key, encryption key", or '''fekek'''.<br />
* eCryptfs supports a few different ciphers (AES, blowfish, twofish...). You can read about them on Wikipedia.<br />
* Plaintext passtrough enables you to store and work with '''un-encrypted''' files stored in the lower directory.<br />
* Filename encryption is available since Linux 2.6.29<br />
** In eCryptfs terms the key used to protect filenames is known as "filename encryption key", or '''fnek'''.<br />
* The signature of the key(s) will be stored in {{ic|/root/.ecryptfs/sig-cache.txt}}.<br />
<br />
Since our later goal is to be able to mount without root priviledges, we will now move the eCryptfs configuration directory to your own home and transfer the ownership to you:<br />
# mv /root/.ecryptfs /home/username<br />
# chown username:username /home/username/.ecryptfs<br />
<br />
Your setup is now complete and directory is mounted. You can place any file in the '''~/Private''' directory and it will get encrypted in '''~/.Private'''.<br />
<br />
Now copy a few files to your new private directory, and then un-mount it. If you inspect the files you will see that they are unreadable &ndash; encrypted. That was cool you say, but how do I get them back... and that brings us to:<br />
<br />
==== Extra Notes ====<br />
<br />
Above is detailed the simplest way to setup the mount point, but '''ecryptfs-setup-private''' runs through some extra steps.<br />
<br />
* The above '''mount passphrase''' is derived from the passphrase you type in. This is not considered very [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#pubkey-about secure], so the setup script grabs some characters from {{ic|/dev/random}} for safety:<br />
<br />
od -x -N $bytes --width=$bytes /dev/urandom | head -n 1 | sed "s/^0000000//" | sed "s/\s*//g"<br />
<br />
* '''ecryptfs-setup-private''' also takes the resulting mount passphrase and wraps it with your login passphrase (pasword) and stores this in '''~/.ecryptfs/wrapped-passphrase'''. You can replicate this with: <br />
<br />
$ ecryptfs-wrap-passphrase ~/.ecryptfs/wrapped-passphrase <br />
Passphrase to wrap: <br />
Wrapping passphrase:<br />
<br />
=== Mounting (the hard way) ===<br />
When ever you need your files available you can repeat the above mount procedure, using the same passphrase and options if you want to access your previously encrypted files or using a different passphrase (and possibly options) if for some reason you want to have different keys protecting different data (imagine having a publicly shared directory where different data is encrypted by different users, and their keys).<br />
<br />
In any case going trough those questions every time could be a bit tedious.<br />
<br />
One solution would be to create an entry in the '''{{ic|/etc/fstab}}''' file for this mount point:<br />
<br />
/home/user/.Private /home/user/Private ecryptfs [... user ... ecryptfs_sig=XY,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecrypfs_unlink_sigs 0 0<br />
<br />
* You will notice that we defined the '''user''' option, it enables you to mount the directory as a user (if it does not works as a normal user, you may need to setuid mount.ecryptfs by running as root: ''chmod +s /sbin/mount.ecryptfs'')<br />
* Notice the '''ecryptfs_sig''' option, replace ''XY'' with your own key signature (as seen in the '''mtab''' line earlier and in {{ic|sig-cache.txt}})<br />
* If you enabled filename encryption then pass an additional mount option: '''ecryptfs_fnek_sig'''=''XY'', where ''XY'' is the same signature you provide with the '''ecryptfs_sig''' option.<br />
* Last option '''ecrypfs_unlink_sigs''' ensures that your keyring is cleared every time the directory is un-mounted<br />
<br />
Since your key was deleted from the kernel keyring when you un-mounted, in order to mount you need to insert it into the keyring again. You can use the '''ecryptfs-add-passphrase''' utility or the '''ecryptfs-manager''' to do it:<br />
<br />
When the key is inserted you can mount the directory: <br />
$ ecryptfs-add-passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
<br />
$ mount -i /home/username/Private<br />
<br />
You will notice that we used the '''{{Ic|-i}}''' option this time. It disables invoking the mount helper. Speaking of which, using {{Ic|-i}} by default mounts with: '''nosuid, noexec''' and '''nodev'''. If you want to have at least executable files in your private directory you can add the '''exec''' option to the fstab line.<br />
<br />
This would be a good place to mention the '''keyctl''' utility from the (earlier installed) ''keyutils'' package. It can be used for any advanced key management tasks. Following examples show how to list your keyring contents and how to clear them:<br />
$ keyctl list @u<br />
$ keyctl clear @u<br />
<br />
{{Note|However, one should remember that /etc/fstab is for system-wide partitions only and should not be used for user-specific mounts}}<br />
<br />
=== Auto-mounting (the easy way) ===<br />
A better way is to use PAM directly, see:<br />
/usr/share/doc/ecryptfs-utils/README<br />
<br />
1. Open '''/etc/pam.d/login''' and add<br />
auth required pam_ecryptfs.so unwrap<br />
after the line containing '''auth ... pam_unix.so''', and<br />
session optional pam_ecryptfs.so unwrap<br />
after the line '''session ... pam_unix.so'''.<br />
<br />
2. Check if '''~/.ecryptfs/auto-mount''' and '''~/.ecryptfs/wrapped-passphrase''' (these are automatically created by '''ecryptfs-setup-private''') exist.<br />
<br />
3. Relogin and check output of '''mount''' which should now contain a mountpoint<br />
/home/user/.Private...<br />
<br />
=== Usage ===<br />
Besides using your private directory as storage for sensitive files, and private data, you can also use it to protect application data. Take ''Firefox'' for an example, not only does it have an internal password manager but the browsing history and cache can also be sensitive. Protecting it is easy:<br />
$ mv ~/.mozilla ~/Private/mozilla<br />
$ ln -s ~/Private/mozilla ~/.mozilla<br />
<br />
=== Removal ===<br />
If you want to move a file out of the private directory just move it to it's new destination while ~/Private is mounted. Also note that there are no special steps involved if you want to remove your private directory. Make sure it is un-mounted and delete ~/.Private, along with all the files.<br />
<br />
=== Backup ===<br />
Setup explained here separates the directory with encrypted data from the mount point, so the encrypted data is available for backup at any time. With an overlay mount (i.e. ''~/Secret'' mounted over ''~/Secret'') the lower, encrypted, data is harder to get to. Today when cronjobs and other automation software do automatic backups the risk of leaking your sensitive data is higher.<br />
<br />
We explained earlier that all cryptographic metadata is stored in the headers of files. You can easily do backups, or incremental backups, of your '''~/.Private''' directory, treating it like any other directory.<br />
<br />
== Advanced ==<br />
This wiki article covers only the basic setup of a private encrypted directory. There is however another article about eCryptfs on Arch Linux, which covers encryption of your entire $HOME and encrypting swap space without breaking hibernation (suspend to disk).<br />
<br />
That article includes many more steps (i.e. using PAM modules and automatic mounting) and the author was opposed to replicating it here, because there is just no single "right" way to do it. The author proposes some solutions and discusses the security implications, but they are his solutions and as such might not be the best nor are they endorsed by the eCryptfs project in any way.<br />
<br />
Article: [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html eCryptfs and $HOME] by Adrian C. (anrxc).<br />
<br />
Consider that ''Chromium OS'', as released by Google, is using eCryptfs to protect devices that are, and will be, powered by it. Some implementation details are available and they make excellent reading. You can read them [http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data here], they could help a lot as you're coming up with your own strategy.<br />
<br />
=== PAM Mount ===<br />
<br />
The above "''eCryptfs and $HOME''" article uses a shell init file to mount the home directory. The same can be done using [[pam_mount]] with the added benefit that home is un-mounted when all sessions are logged out. Add the following lines to {{ic|/etc/security/pam_mount.conf.xml}}:<br />
<br />
<luserconf name=".pam_mount.conf.xml" /><br />
<mntoptions require="" /> <!-- Default required mount options are ; this clears them --><br />
<lclmount>mount -i %(VOLUME) "%(before=\"-o\" OPTIONS)"</lclmount> <!-- --><br />
<br />
Please prefer writing manually these lines instead of simply copy/pasting them (especially the lclmount line), otherwise you might get some corrupted characters.<br />
Explanation:<br />
* the first line indicates where the user-based configuration file is located (here {{ic|~/.pam_mount.conf.xml}}) ;<br />
* the second line overwrites the default required mount options which are unnecessary ("nosuid,nodev") ;<br />
* the last line indicates which mount command to run (eCryptfs needs the {{Ic|-i}} switch).<br />
<br />
Then set the volume definition, preferably to {{ic|~/.pam_mount.conf.xml}}:<br />
<pam_mount><br />
<volume noroot="1" fstype="ecryptfs" path="/home/.ecryptfs/user/.Private/" mountpoint="/home/user/"/><br />
</pam_mount><br />
<br />
"noroot" is needed because the encryption key will be added to the user's keyring<br />
<br />
Finally, edit {{ic|/etc/pam.d/login}} as described in [[pam_mount]]'s article.<br />
<br />
==== Optional step ====<br />
<br />
To avoid wasting time needlessly unwrapping the passphrase you can create a script that will check ''pmvarrun'' to see the number of open sessions:<br />
#!/bin/sh<br />
#<br />
# /usr/local/bin/doecryptfs<br />
<br />
exit $(/usr/sbin/pmvarrun -u$PAM_USER -o0)<br />
<br />
With the following line added before the eCryptfs unwrap module in your PAM stack:<br />
auth [success=ignore default=1] pam_exec.so quiet /usr/local/bin/doecryptfs<br />
auth required pam_ecryptfs.so unwrap<br />
The article suggests adding these to {{ic|/etc/pam.d/login}}, but the changes will need to be added to all other places you login, such as {{ic|/etc/pam.d/kde}}.<br />
<br />
=== PAM mount by eCryptfs module ===<br />
To use the eCryptfs PAM module it self for mounting you should know it depends on some hard-coded Ubuntu defaults. Like using AES cipher with a 16 byte key. As described in this BBS post [https://bbs.archlinux.org/viewtopic.php?pid=727422#p727422] you have to do the following steps:<br />
<br />
1) For your understanding and preparation, read the guide mentioned above. [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html]<br />
<br />
2) Install [http://www.archlinux.org/packages/core/x86_64/keyutils/ keyutils] and [http://www.archlinux.org/packages/community/x86_64/ecryptfs-utils/ ecryptfs-utils] from the official Repos.<br />
<br />
'''[Do the following steps as root!]'''<br />
<br />
3) Make a "ecryptfs" Group:<br />
groupadd ecryptfs<br />
4) Add the user to it:<br />
usermod -aG ecryptfs user<br />
5) Load the ecryptfs module<br />
modprobe ecryptfs<br />
6) Change your /etc/pam.d/system-auth to look something like this (lines to add are bold):<br />
#%PAM-1.0<br />
<br />
auth required pam_env.so<br />
auth required pam_unix.so try_first_pass nullok<br />
'''auth required pam_ecryptfs.so unwrap'''<br />
auth optional pam_permit.so<br />
<br />
account required pam_unix.so<br />
account optional pam_permit.so<br />
account required pam_time.so<br />
<br />
'''password required pam_ecryptfs.so'''<br />
password required pam_unix.so try_first_pass nullok sha512 shadow<br />
password optional pam_permit.so<br />
<br />
'''session required pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
session required pam_env.so<br />
session required pam_unix.so<br />
session optional pam_permit.so<br />
<br />
<br />
6a) When using [[GDM]] < 3.2 to log in, edit /etc/pam.d/gdm like this:<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6b) For [[GDM]] >= 3.2, make the following changes to /etc/pam.d/gdm-password (thanks to grawity for [https://bbs.archlinux.org/viewtopic.php?pid=998061#p998061 this]):<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth requisite pam_unix.so nullok<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
account required pam_unix.so<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
session required pam_loginuid.so<br />
-session optional pam_systemd.so<br />
session optional pam_keyinit.so '''force''' revoke<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
6c) For [[KDM]], make the following changes to /etc/pam.d/kde:<br />
<br />
#%PAM-1.0<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_nologin.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
<br />
6d) For [[LXDM]], make the following changes to /etc/pam.d/lxdm:<br />
<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6e) For [[LightDM]], make the following changes to /etc/pam.d/lightdm<br />
<br />
#%PAM-1.0<br />
auth required pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
<br />
7) To be able to automatically mount your encrypted home directory on login using SSH, edit /etc/pam.d/sshd:<br />
#%PAM-1.0<br />
#auth required pam_securetty.so #Disable remote root<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_env.so<br />
account required pam_nologin.so<br />
account required pam_unix.so<br />
account required pam_time.so<br />
password required pam_unix.so<br />
password optional pam_ecryptfs.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_unix_session.so<br />
session required pam_limits.so<br />
session optional pam_ck_connector.so nox11<br />
<br />
8) Using Ubuntu defaults<br />
<br />
There's a method to automatically setup your HOME with AES and a 16 byte key. You could execute (it can take some while, it automatically encrypts your home files)<br />
ecryptfs-migrate-home -u user<br />
<br />
...and follow the on screen instructions (Delete backup afterwards (/home/user.XXXXX) / Record the passphrase generated by ecryptfs -> ecryptfs-unwrap-passphrase / ...)<br />
<br />
9) Log in and check if everything worked correctly.<br />
<br />
This is a working solution and ecryptfs is exactly used as in Ubuntu (10.04/10.10) - and is easy to set up. <br />
Besides this, it has the advantage of auto-unmount at log-out, which shell profile files (ie. ~/.bash_logout) could have trouble doing, because there could still be open file-descriptors by the shell at the time of umount. To encrypt swap see: [[System_Encryption_with_LUKS#Encrypting_the_Swap_partition]] (some of the tools provided by ecryptfs, such as ecryptfs-setup-swap, only work in ubuntu).<br />
<br />
== Simple ==<br />
Use [http://xyne.archlinux.ca/projects/ecryptfs-simple/ ecryptfs-simple] if you just want to use eCryptfs to mount arbitrary directories the way you can with EncFS. ecryptfs-simple does not require root privileges or entries in fstab, nor is it limited to hard-coded directories such as ~/.Private. The package is available in the [https://aur.archlinux.org/packages.php?ID=59612 AUR] and in [http://xyne.archlinux.ca/repos/ Xyne's repos].<br />
<br />
As the name implies, usage is simple:<br />
# simple mounting<br />
ecryptfs-simple /path/to/foo /path/to/bar<br />
<br />
# automatic mounting: prompts for options on the first mount of a directory then reloads them next time<br />
ecryptfs-simple -a /path/to/foo /path/to/bar<br />
<br />
# unmounting by source directory<br />
ecryptfs-simple -u /path/to/foo<br />
<br />
# unmounting by mountpoint<br />
ecryptfs-simple -u /path/to/bar</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=ECryptfs&diff=218513ECryptfs2012-08-18T17:17:55Z<p>Ryon.sherman: Corrected lightdm auth order</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Security]]<br />
[[Category:File systems]]<br />
[[fr:Encryption avec eCryptfs]]<br />
[[it:System Encryption with eCryptfs]]<br />
[[ru:System Encryption with eCryptfs]]<br />
{{Article summary start}}<br />
{{Article summary text|Setup and usage of eCryptfs}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Disk Encryption}}<br />
{{Article summary end}}<br />
<br />
This article describes basic usage of [https://launchpad.net/ecryptfs eCryptfs]. It guides you through the process of creating a private and secure encrypted directory within your ''$HOME'' directory, where you can store all your sensitive files and private data.<br />
<br />
In implementation eCryptfs differs from dm-crypt, which provides a ''block device encryption layer'', while eCryptfs is an actual file-system &ndash; a [http://en.wikipedia.org/wiki/Cryptographic_filesystems stacked cryptographic file system] to be exact. For comparison of the two you can refer to [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#compare this table ]. <br />
<br />
The summary is that it doesn't require special on-disk storage allocation effort, such as separate partitions, you can mount eCryptfs on top of any single directory to protect it. That includes e.g. your entire $HOME and network file systems (i.e. having encrypted NFS shares). All cryptographic metadata is stored in the headers of files, so encrypted data can be easily moved, stored for backup and recovered. There are other advantages, but there are also drawbacks, for instance eCryptfs is not suitable for encrypting complete partitions which also means you can't protect your swap space with it (instead you can combine it with dm-crypt).<br />
<br />
For more details on how eCryptfs compares to other disk encryption solutions, see [[Disk Encryption#Comparison table]]. <br />
<br />
== Deficiencies ==<br />
<br />
Before you make any big decisions like encrypting your $HOME you should know that eCyptfs does not handle sparse files well. For most intents and purposes that shouldn't concern us, however one very popular use case are torrents. Right now eCryptfs tries to encrypt the whole sparse file allocated space right away, which can lead to starving the system of resources in case of big files (remember torrents can easily be 10GB or bigger). You can track progress of this bug in this Launchpad report: https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/431975<br />
<br />
Simple workaround, for now, is to create a '''.Public''' folder (as '''.Private''' folder is used for encrypted data later in the article) and use that for torrents, unencrypted and symlinked to a directory like ''~/Downloads/torrents''. For some people this of course defeats the whole purpose of encryption, for others who are protecting their data from theft it doesn't.<br />
<br />
=== Login password ===<br />
<br />
{{note|1= With {{pkg|shadow}} 4.1.4.3-3 ''sha512'' is the default for new passwords (see [https://bugs.archlinux.org/task/13591#comment85993 bug 13591] and corresponding [http://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/shadow&id=98001501a8306ef5a0df55d1cffc048851894940 commit]).}}<br />
<br />
If you are encrypting your whole home, with auto-mounting you should use a strong password and consider changing the hash algorithm for ''/etc/shadow''. From '''md5''' to stronger ones like '''sha512/bcrypt''', that helps to protect your password against rainbow-table attacks. See https://wiki.archlinux.org/index.php/SHA_password_hashes for more information.<br />
<br />
== Basics ==<br />
eCryptfs is a part of Linux since version 2.6.19. But to work with it you will need the userspace tools provided by the package {{pkg|ecryptfs-utils}} available in the [[Official Repositories]].<br />
<br />
Once you have installed that package you can load the ecryptfs module and continue with the setup:<br />
# modprobe ecryptfs<br />
<br />
The ecryptfs-utils package is distributed with a few helper scripts which will help you with key management and similar tasks. Some were written to automate this whole process of setting up encrypted directories (''ecryptfs-setup-private'') or help you combine eCryptfs with dm-crypt to protect swap space (''ecryptfs-setup-swap''). Despite those scripts we will go trough the process manually so you get a better understanding of what is really being done.<br />
<br />
Before we say anything else it's advised that you check the eCryptfs documentation. It is distributed with a very good and complete set of manual pages.<br />
<br />
=== Setup (simple) ===<br />
<br />
As a user run<br />
ecryptfs-setup-private<br />
and follow the instructions.<br />
<br />
=== Setup (in detail) ===<br />
<br />
First create your private directories, in this example we will call them exactly that: Private<br />
$ su -<br />
# mkdir -m 700 /home/username/.Private<br />
# mkdir -m 500 /home/username/Private<br />
# chown username:username /home/username/{.Private,Private}<br />
<br />
Let's summarize<br />
* Actual encrypted data will be stored in ~/.Private directory (so-called ''lower'' directory)<br />
* While mounted, decrypted data will be available in ~/Private directory (so-called ''upper'' directory)<br />
** While not mounted nothing can be written to this directory<br />
** While mounted it has the same permissions as the lower directory<br />
<br />
eCryptfs can now be mounted on top of ~/Private.<br />
# mount -t ecryptfs /home/username/.Private /home/username/Private<br />
<br />
You will need to answer a few questions and provide a passphrase which should be used to mount this directory in the future. However you can also have different keys encrypting different data (more about this below). For convenience we will limit this guide to only one key and passphrase. Let's see an example:<br />
Key type: passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
Cipher: aes<br />
Key byte: 16<br />
Plaintext passtrough: no<br />
Filename encryption: no<br />
Add signature to cache: yes <br />
<br />
Let's summarize<br />
* The passphrase is your '''mount passphrase''' which will be salted, hashed and loaded into the kernel keyring.<br />
** In eCryptfs terms, this salted, hashed passphrase is your "file encryption key, encryption key", or '''fekek'''.<br />
* eCryptfs supports a few different ciphers (AES, blowfish, twofish...). You can read about them on Wikipedia.<br />
* Plaintext passtrough enables you to store and work with '''un-encrypted''' files stored in the lower directory.<br />
* Filename encryption is available since Linux 2.6.29<br />
** In eCryptfs terms the key used to protect filenames is known as "filename encryption key", or '''fnek'''.<br />
* The signature of the key(s) will be stored in {{ic|/root/.ecryptfs/sig-cache.txt}}.<br />
<br />
Since our later goal is to be able to mount without root priviledges, we will now move the eCryptfs configuration directory to your own home and transfer the ownership to you:<br />
# mv /root/.ecryptfs /home/username<br />
# chown username:username /home/username/.ecryptfs<br />
<br />
Your setup is now complete and directory is mounted. You can place any file in the '''~/Private''' directory and it will get encrypted in '''~/.Private'''.<br />
<br />
Now copy a few files to your new private directory, and then un-mount it. If you inspect the files you will see that they are unreadable &ndash; encrypted. That was cool you say, but how do I get them back... and that brings us to:<br />
<br />
==== Extra Notes ====<br />
<br />
Above is detailed the simplest way to setup the mount point, but '''ecryptfs-setup-private''' runs through some extra steps.<br />
<br />
* The above '''mount passphrase''' is derived from the passphrase you type in. This is not considered very [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#pubkey-about secure], so the setup script grabs some characters from {{ic|/dev/random}} for safety:<br />
<br />
od -x -N $bytes --width=$bytes /dev/urandom | head -n 1 | sed "s/^0000000//" | sed "s/\s*//g"<br />
<br />
* '''ecryptfs-setup-private''' also takes the resulting mount passphrase and wraps it with your login passphrase (pasword) and stores this in '''~/.ecryptfs/wrapped-passphrase'''. You can replicate this with: <br />
<br />
$ ecryptfs-wrap-passphrase ~/.ecryptfs/wrapped-passphrase <br />
Passphrase to wrap: <br />
Wrapping passphrase:<br />
<br />
=== Mounting (the hard way) ===<br />
When ever you need your files available you can repeat the above mount procedure, using the same passphrase and options if you want to access your previously encrypted files or using a different passphrase (and possibly options) if for some reason you want to have different keys protecting different data (imagine having a publicly shared directory where different data is encrypted by different users, and their keys).<br />
<br />
In any case going trough those questions every time could be a bit tedious.<br />
<br />
One solution would be to create an entry in the '''{{ic|/etc/fstab}}''' file for this mount point:<br />
<br />
/home/user/.Private /home/user/Private ecryptfs [... user ... ecryptfs_sig=XY,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecrypfs_unlink_sigs 0 0<br />
<br />
* You will notice that we defined the '''user''' option, it enables you to mount the directory as a user (if it does not works as a normal user, you may need to setuid mount.ecryptfs by running as root: ''chmod +s /sbin/mount.ecryptfs'')<br />
* Notice the '''ecryptfs_sig''' option, replace ''XY'' with your own key signature (as seen in the '''mtab''' line earlier and in {{ic|sig-cache.txt}})<br />
* If you enabled filename encryption then pass an additional mount option: '''ecryptfs_fnek_sig'''=''XY'', where ''XY'' is the same signature you provide with the '''ecryptfs_sig''' option.<br />
* Last option '''ecrypfs_unlink_sigs''' ensures that your keyring is cleared every time the directory is un-mounted<br />
<br />
Since your key was deleted from the kernel keyring when you un-mounted, in order to mount you need to insert it into the keyring again. You can use the '''ecryptfs-add-passphrase''' utility or the '''ecryptfs-manager''' to do it:<br />
<br />
When the key is inserted you can mount the directory: <br />
$ ecryptfs-add-passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
<br />
$ mount -i /home/username/Private<br />
<br />
You will notice that we used the '''{{Ic|-i}}''' option this time. It disables invoking the mount helper. Speaking of which, using {{Ic|-i}} by default mounts with: '''nosuid, noexec''' and '''nodev'''. If you want to have at least executable files in your private directory you can add the '''exec''' option to the fstab line.<br />
<br />
This would be a good place to mention the '''keyctl''' utility from the (earlier installed) ''keyutils'' package. It can be used for any advanced key management tasks. Following examples show how to list your keyring contents and how to clear them:<br />
$ keyctl list @u<br />
$ keyctl clear @u<br />
<br />
{{Note|However, one should remember that /etc/fstab is for system-wide partitions only and should not be used for user-specific mounts}}<br />
<br />
=== Auto-mounting (the easy way) ===<br />
A better way is to use PAM directly, see:<br />
/usr/share/doc/ecryptfs-utils/README<br />
<br />
1. Open '''/etc/pam.d/login''' and add<br />
auth required pam_ecryptfs.so unwrap<br />
after the line containing '''auth ... pam_unix.so''', and<br />
session optional pam_ecryptfs.so unwrap<br />
after the line '''session ... pam_unix.so'''.<br />
<br />
2. Check if '''~/.ecryptfs/auto-mount''' and '''~/.ecryptfs/wrapped-passphrase''' (these are automatically created by '''ecryptfs-setup-private''') exist.<br />
<br />
3. Relogin and check output of '''mount''' which should now contain a mountpoint<br />
/home/user/.Private...<br />
<br />
=== Usage ===<br />
Besides using your private directory as storage for sensitive files, and private data, you can also use it to protect application data. Take ''Firefox'' for an example, not only does it have an internal password manager but the browsing history and cache can also be sensitive. Protecting it is easy:<br />
$ mv ~/.mozilla ~/Private/mozilla<br />
$ ln -s ~/Private/mozilla ~/.mozilla<br />
<br />
=== Removal ===<br />
If you want to move a file out of the private directory just move it to it's new destination while ~/Private is mounted. Also note that there are no special steps involved if you want to remove your private directory. Make sure it is un-mounted and delete ~/.Private, along with all the files.<br />
<br />
=== Backup ===<br />
Setup explained here separates the directory with encrypted data from the mount point, so the encrypted data is available for backup at any time. With an overlay mount (i.e. ''~/Secret'' mounted over ''~/Secret'') the lower, encrypted, data is harder to get to. Today when cronjobs and other automation software do automatic backups the risk of leaking your sensitive data is higher.<br />
<br />
We explained earlier that all cryptographic metadata is stored in the headers of files. You can easily do backups, or incremental backups, of your '''~/.Private''' directory, treating it like any other directory.<br />
<br />
== Advanced ==<br />
This wiki article covers only the basic setup of a private encrypted directory. There is however another article about eCryptfs on Arch Linux, which covers encryption of your entire $HOME and encrypting swap space without breaking hibernation (suspend to disk).<br />
<br />
That article includes many more steps (i.e. using PAM modules and automatic mounting) and the author was opposed to replicating it here, because there is just no single "right" way to do it. The author proposes some solutions and discusses the security implications, but they are his solutions and as such might not be the best nor are they endorsed by the eCryptfs project in any way.<br />
<br />
Article: [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html eCryptfs and $HOME] by Adrian C. (anrxc).<br />
<br />
Consider that ''Chromium OS'', as released by Google, is using eCryptfs to protect devices that are, and will be, powered by it. Some implementation details are available and they make excellent reading. You can read them [http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data here], they could help a lot as you're coming up with your own strategy.<br />
<br />
=== PAM Mount ===<br />
<br />
The above "''eCryptfs and $HOME''" article uses a shell init file to mount the home directory. The same can be done using [[pam_mount]] with the added benefit that home is un-mounted when all sessions are logged out. Add the following lines to {{ic|/etc/security/pam_mount.conf.xml}}:<br />
<br />
<luserconf name=".pam_mount.conf.xml" /><br />
<mntoptions require="" /> <!-- Default required mount options are ; this clears them --><br />
<lclmount>mount -i %(VOLUME) "%(before=\"-o\" OPTIONS)"</lclmount> <!-- --><br />
<br />
Please prefer writing manually these lines instead of simply copy/pasting them (especially the lclmount line), otherwise you might get some corrupted characters.<br />
Explanation:<br />
* the first line indicates where the user-based configuration file is located (here {{ic|~/.pam_mount.conf.xml}}) ;<br />
* the second line overwrites the default required mount options which are unnecessary ("nosuid,nodev") ;<br />
* the last line indicates which mount command to run (eCryptfs needs the {{Ic|-i}} switch).<br />
<br />
Then set the volume definition, preferably to {{ic|~/.pam_mount.conf.xml}}:<br />
<pam_mount><br />
<volume noroot="1" fstype="ecryptfs" path="/home/.ecryptfs/user/.Private/" mountpoint="/home/user/"/><br />
</pam_mount><br />
<br />
"noroot" is needed because the encryption key will be added to the user's keyring<br />
<br />
Finally, edit {{ic|/etc/pam.d/login}} as described in [[pam_mount]]'s article.<br />
<br />
==== Optional step ====<br />
<br />
To avoid wasting time needlessly unwrapping the passphrase you can create a script that will check ''pmvarrun'' to see the number of open sessions:<br />
#!/bin/sh<br />
#<br />
# /usr/local/bin/doecryptfs<br />
<br />
exit $(/usr/sbin/pmvarrun -u$PAM_USER -o0)<br />
<br />
With the following line added before the eCryptfs unwrap module in your PAM stack:<br />
auth [success=ignore default=1] pam_exec.so quiet /usr/local/bin/doecryptfs<br />
auth required pam_ecryptfs.so unwrap<br />
The article suggests adding these to {{ic|/etc/pam.d/login}}, but the changes will need to be added to all other places you login, such as {{ic|/etc/pam.d/kde}}.<br />
<br />
=== PAM mount by eCryptfs module ===<br />
To use the eCryptfs PAM module it self for mounting you should know it depends on some hard-coded Ubuntu defaults. Like using AES cipher with a 16 byte key. As described in this BBS post [https://bbs.archlinux.org/viewtopic.php?pid=727422#p727422] you have to do the following steps:<br />
<br />
1) For your understanding and preparation, read the guide mentioned above. [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html]<br />
<br />
2) Install [http://www.archlinux.org/packages/core/x86_64/keyutils/ keyutils] and [http://www.archlinux.org/packages/community/x86_64/ecryptfs-utils/ ecryptfs-utils] from the official Repos.<br />
<br />
'''[Do the following steps as root!]'''<br />
<br />
3) Make a "ecryptfs" Group:<br />
groupadd ecryptfs<br />
4) Add the user to it:<br />
usermod -aG ecryptfs user<br />
5) Load the ecryptfs module<br />
modprobe ecryptfs<br />
6) Change your /etc/pam.d/system-auth to look something like this (lines to add are bold):<br />
#%PAM-1.0<br />
<br />
auth required pam_env.so<br />
auth required pam_unix.so try_first_pass nullok<br />
'''auth required pam_ecryptfs.so unwrap'''<br />
auth optional pam_permit.so<br />
<br />
account required pam_unix.so<br />
account optional pam_permit.so<br />
account required pam_time.so<br />
<br />
'''password required pam_ecryptfs.so'''<br />
password required pam_unix.so try_first_pass nullok sha512 shadow<br />
password optional pam_permit.so<br />
<br />
'''session required pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
session required pam_env.so<br />
session required pam_unix.so<br />
session optional pam_permit.so<br />
<br />
<br />
6a) When using [[GDM]] < 3.2 to log in, edit /etc/pam.d/gdm like this:<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6b) For [[GDM]] >= 3.2, make the following changes to /etc/pam.d/gdm-password (thanks to grawity for [https://bbs.archlinux.org/viewtopic.php?pid=998061#p998061 this]):<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth requisite pam_unix.so nullok<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
account required pam_unix.so<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
session required pam_loginuid.so<br />
-session optional pam_systemd.so<br />
session optional pam_keyinit.so '''force''' revoke<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
6c) For [[KDM]], make the following changes to /etc/pam.d/kde:<br />
<br />
#%PAM-1.0<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_nologin.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
<br />
6d) For [[LXDM]], make the following changes to /etc/pam.d/lxdm:<br />
<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6e) For [[LightDM]], make the following changes to /etc/pam.d/lightdm<br />
<br />
#%PAM-1.0<br />
auth required pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
<br />
7) To be able to automatically mount your encrypted home directory on login using SSH, edit /etc/pam.d/sshd:<br />
#%PAM-1.0<br />
#auth required pam_securetty.so #Disable remote root<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_env.so<br />
account required pam_nologin.so<br />
account required pam_unix.so<br />
account required pam_time.so<br />
password required pam_unix.so<br />
password optional pam_ecryptfs.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_unix_session.so<br />
session required pam_limits.so<br />
session optional pam_ck_connector.so nox11<br />
<br />
8) Using Ubuntu defaults<br />
<br />
There's a method to automatically setup your HOME with AES and a 16 byte key. You could execute (it can take some while, it automatically encrypts your home files)<br />
ecryptfs-migrate-home -u user<br />
<br />
...and follow the on screen instructions (Delete backup afterwards (/home/user.XXXXX) / Record the passphrase generated by ecryptfs -> ecryptfs-unwrap-passphrase / ...)<br />
<br />
9) Log in and check if everything worked correctly.<br />
<br />
This is a working solution and ecryptfs is exactly used as in Ubuntu (10.04/10.10) - and is easy to set up. <br />
Besides this, it has the advantage of auto-unmount at log-out, which shell profile files (ie. ~/.bash_logout) could have trouble doing, because there could still be open file-descriptors by the shell at the time of umount. To encrypt swap see: [[System_Encryption_with_LUKS#Encrypting_the_Swap_partition]] (some of the tools provided by ecryptfs, such as ecryptfs-setup-swap, only work in ubuntu).<br />
<br />
== Simple ==<br />
Use [http://xyne.archlinux.ca/projects/ecryptfs-simple/ ecryptfs-simple] if you just want to use eCryptfs to mount arbitrary directories the way you can with EncFS. ecryptfs-simple does not require root privileges or entries in fstab, nor is it limited to hard-coded directories such as ~/.Private. The package is available in the [https://aur.archlinux.org/packages.php?ID=59612 AUR] and in [http://xyne.archlinux.ca/repos/ Xyne's repos].<br />
<br />
As the name implies, usage is simple:<br />
# simple mounting<br />
ecryptfs-simple /path/to/foo /path/to/bar<br />
<br />
# automatic mounting: prompts for options on the first mount of a directory then reloads them next time<br />
ecryptfs-simple -a /path/to/foo /path/to/bar<br />
<br />
# unmounting by source directory<br />
ecryptfs-simple -u /path/to/foo<br />
<br />
# unmounting by mountpoint<br />
ecryptfs-simple -u /path/to/bar</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=ECryptfs&diff=217498ECryptfs2012-08-11T17:55:46Z<p>Ryon.sherman: Corrected numbering.</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Security]]<br />
[[Category:File systems]]<br />
[[fr:Encryption avec eCryptfs]]<br />
[[it:System Encryption with eCryptfs]]<br />
[[ru:System Encryption with eCryptfs]]<br />
{{Article summary start}}<br />
{{Article summary text|Setup and usage of eCryptfs}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Disk Encryption}}<br />
{{Article summary end}}<br />
<br />
This article describes basic usage of [https://launchpad.net/ecryptfs eCryptfs]. It guides you through the process of creating a private and secure encrypted directory within your ''$HOME'' directory, where you can store all your sensitive files and private data.<br />
<br />
In implementation eCryptfs differs from dm-crypt, which provides a ''block device encryption layer'', while eCryptfs is an actual file-system &ndash; a [http://en.wikipedia.org/wiki/Cryptographic_filesystems stacked cryptographic file system] to be exact. For comparison of the two you can refer to [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#compare this table ]. <br />
<br />
The summary is that it doesn't require special on-disk storage allocation effort, such as separate partitions, you can mount eCryptfs on top of any single directory to protect it. That includes e.g. your entire $HOME and network file systems (i.e. having encrypted NFS shares). All cryptographic metadata is stored in the headers of files, so encrypted data can be easily moved, stored for backup and recovered. There are other advantages, but there are also drawbacks, for instance eCryptfs is not suitable for encrypting complete partitions which also means you can't protect your swap space with it (instead you can combine it with dm-crypt).<br />
<br />
For more details on how eCryptfs compares to other disk encryption solutions, see [[Disk Encryption#Comparison table]]. <br />
<br />
== Deficiencies ==<br />
<br />
Before you make any big decisions like encrypting your $HOME you should know that eCyptfs does not handle sparse files well. For most intents and purposes that shouldn't concern us, however one very popular use case are torrents. Right now eCryptfs tries to encrypt the whole sparse file allocated space right away, which can lead to starving the system of resources in case of big files (remember torrents can easily be 10GB or bigger). You can track progress of this bug in this Launchpad report: https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/431975<br />
<br />
Simple workaround, for now, is to create a '''.Public''' folder (as '''.Private''' folder is used for encrypted data later in the article) and use that for torrents, unencrypted and symlinked to a directory like ''~/Downloads/torrents''. For some people this of course defeats the whole purpose of encryption, for others who are protecting their data from theft it doesn't.<br />
<br />
=== Login password ===<br />
<br />
{{note|1= With {{pkg|shadow}} 4.1.4.3-3 ''sha512'' is the default for new passwords (see [https://bugs.archlinux.org/task/13591#comment85993 bug 13591] and corresponding [http://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/shadow&id=98001501a8306ef5a0df55d1cffc048851894940 commit]).}}<br />
<br />
If you are encrypting your whole home, with auto-mounting you should use a strong password and consider changing the hash algorithm for ''/etc/shadow''. From '''md5''' to stronger ones like '''sha512/bcrypt''', that helps to protect your password against rainbow-table attacks. See https://wiki.archlinux.org/index.php/SHA_password_hashes for more information.<br />
<br />
== Basics ==<br />
eCryptfs is a part of Linux since version 2.6.19. But to work with it you will need the userspace tools provided by the package {{pkg|ecryptfs-utils}} available in the [[Official Repositories]].<br />
<br />
Once you have installed that package you can load the ecryptfs module and continue with the setup:<br />
# modprobe ecryptfs<br />
<br />
The ecryptfs-utils package is distributed with a few helper scripts which will help you with key management and similar tasks. Some were written to automate this whole process of setting up encrypted directories (''ecryptfs-setup-private'') or help you combine eCryptfs with dm-crypt to protect swap space (''ecryptfs-setup-swap''). Despite those scripts we will go trough the process manually so you get a better understanding of what is really being done.<br />
<br />
Before we say anything else it's advised that you check the eCryptfs documentation. It is distributed with a very good and complete set of manual pages.<br />
<br />
=== Setup (simple) ===<br />
<br />
As a user run<br />
ecryptfs-setup-private<br />
and follow the instructions.<br />
<br />
=== Setup (in detail) ===<br />
<br />
First create your private directories, in this example we will call them exactly that: Private<br />
$ su -<br />
# mkdir -m 700 /home/username/.Private<br />
# mkdir -m 500 /home/username/Private<br />
# chown username:username /home/username/{.Private,Private}<br />
<br />
Let's summarize<br />
* Actual encrypted data will be stored in ~/.Private directory (so-called ''lower'' directory)<br />
* While mounted, decrypted data will be available in ~/Private directory (so-called ''upper'' directory)<br />
** While not mounted nothing can be written to this directory<br />
** While mounted it has the same permissions as the lower directory<br />
<br />
eCryptfs can now be mounted on top of ~/Private.<br />
# mount -t ecryptfs /home/username/.Private /home/username/Private<br />
<br />
You will need to answer a few questions and provide a passphrase which should be used to mount this directory in the future. However you can also have different keys encrypting different data (more about this below). For convenience we will limit this guide to only one key and passphrase. Let's see an example:<br />
Key type: passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
Cipher: aes<br />
Key byte: 16<br />
Plaintext passtrough: no<br />
Filename encryption: no<br />
Add signature to cache: yes <br />
<br />
Let's summarize<br />
* The passphrase is your '''mount passphrase''' which will be salted, hashed and loaded into the kernel keyring.<br />
** In eCryptfs terms, this salted, hashed passphrase is your "file encryption key, encryption key", or '''fekek'''.<br />
* eCryptfs supports a few different ciphers (AES, blowfish, twofish...). You can read about them on Wikipedia.<br />
* Plaintext passtrough enables you to store and work with '''un-encrypted''' files stored in the lower directory.<br />
* Filename encryption is available since Linux 2.6.29<br />
** In eCryptfs terms the key used to protect filenames is known as "filename encryption key", or '''fnek'''.<br />
* The signature of the key(s) will be stored in {{ic|/root/.ecryptfs/sig-cache.txt}}.<br />
<br />
Since our later goal is to be able to mount without root priviledges, we will now move the eCryptfs configuration directory to your own home and transfer the ownership to you:<br />
# mv /root/.ecryptfs /home/username<br />
# chown username:username /home/username/.ecryptfs<br />
<br />
Your setup is now complete and directory is mounted. You can place any file in the '''~/Private''' directory and it will get encrypted in '''~/.Private'''.<br />
<br />
Now copy a few files to your new private directory, and then un-mount it. If you inspect the files you will see that they are unreadable &ndash; encrypted. That was cool you say, but how do I get them back... and that brings us to:<br />
<br />
==== Extra Notes ====<br />
<br />
Above is detailed the simplest way to setup the mount point, but '''ecryptfs-setup-private''' runs through some extra steps.<br />
<br />
* The above '''mount passphrase''' is derived from the passphrase you type in. This is not considered very [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#pubkey-about secure], so the setup script grabs some characters from {{ic|/dev/random}} for safety:<br />
<br />
od -x -N $bytes --width=$bytes /dev/urandom | head -n 1 | sed "s/^0000000//" | sed "s/\s*//g"<br />
<br />
* '''ecryptfs-setup-private''' also takes the resulting mount passphrase and wraps it with your login passphrase (pasword) and stores this in '''~/.ecryptfs/wrapped-passphrase'''. You can replicate this with: <br />
<br />
$ ecryptfs-wrap-passphrase ~/.ecryptfs/wrapped-passphrase <br />
Passphrase to wrap: <br />
Wrapping passphrase:<br />
<br />
=== Mounting (the hard way) ===<br />
When ever you need your files available you can repeat the above mount procedure, using the same passphrase and options if you want to access your previously encrypted files or using a different passphrase (and possibly options) if for some reason you want to have different keys protecting different data (imagine having a publicly shared directory where different data is encrypted by different users, and their keys).<br />
<br />
In any case going trough those questions every time could be a bit tedious.<br />
<br />
One solution would be to create an entry in the '''{{ic|/etc/fstab}}''' file for this mount point:<br />
<br />
/home/user/.Private /home/user/Private ecryptfs [... user ... ecryptfs_sig=XY,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecrypfs_unlink_sigs 0 0<br />
<br />
* You will notice that we defined the '''user''' option, it enables you to mount the directory as a user (if it does not works as a normal user, you may need to setuid mount.ecryptfs by running as root: ''chmod +s /sbin/mount.ecryptfs'')<br />
* Notice the '''ecryptfs_sig''' option, replace ''XY'' with your own key signature (as seen in the '''mtab''' line earlier and in {{ic|sig-cache.txt}})<br />
* If you enabled filename encryption then pass an additional mount option: '''ecryptfs_fnek_sig'''=''XY'', where ''XY'' is the same signature you provide with the '''ecryptfs_sig''' option.<br />
* Last option '''ecrypfs_unlink_sigs''' ensures that your keyring is cleared every time the directory is un-mounted<br />
<br />
Since your key was deleted from the kernel keyring when you un-mounted, in order to mount you need to insert it into the keyring again. You can use the '''ecryptfs-add-passphrase''' utility or the '''ecryptfs-manager''' to do it:<br />
<br />
When the key is inserted you can mount the directory: <br />
$ ecryptfs-add-passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
<br />
$ mount -i /home/username/Private<br />
<br />
You will notice that we used the '''{{Ic|-i}}''' option this time. It disables invoking the mount helper. Speaking of which, using {{Ic|-i}} by default mounts with: '''nosuid, noexec''' and '''nodev'''. If you want to have at least executable files in your private directory you can add the '''exec''' option to the fstab line.<br />
<br />
This would be a good place to mention the '''keyctl''' utility from the (earlier installed) ''keyutils'' package. It can be used for any advanced key management tasks. Following examples show how to list your keyring contents and how to clear them:<br />
$ keyctl list @u<br />
$ keyctl clear @u<br />
<br />
{{Note|However, one should remember that /etc/fstab is for system-wide partitions only and should not be used for user-specific mounts}}<br />
<br />
=== Auto-mounting (the easy way) ===<br />
A better way is to use PAM directly, see:<br />
/usr/share/doc/ecryptfs-utils/README<br />
<br />
1. Open '''/etc/pam.d/login''' and add<br />
auth required pam_ecryptfs.so unwrap<br />
after the line containing '''auth ... pam_unix.so''', and<br />
session optional pam_ecryptfs.so unwrap<br />
after the line '''session ... pam_unix.so'''.<br />
<br />
2. Check if '''~/.ecryptfs/auto-mount''' and '''~/.ecryptfs/wrapped-passphrase''' (these are automatically created by '''ecryptfs-setup-private''') exist.<br />
<br />
3. Relogin and check output of '''mount''' which should now contain a mountpoint<br />
/home/user/.Private...<br />
<br />
=== Usage ===<br />
Besides using your private directory as storage for sensitive files, and private data, you can also use it to protect application data. Take ''Firefox'' for an example, not only does it have an internal password manager but the browsing history and cache can also be sensitive. Protecting it is easy:<br />
$ mv ~/.mozilla ~/Private/mozilla<br />
$ ln -s ~/Private/mozilla ~/.mozilla<br />
<br />
=== Removal ===<br />
If you want to move a file out of the private directory just move it to it's new destination while ~/Private is mounted. Also note that there are no special steps involved if you want to remove your private directory. Make sure it is un-mounted and delete ~/.Private, along with all the files.<br />
<br />
=== Backup ===<br />
Setup explained here separates the directory with encrypted data from the mount point, so the encrypted data is available for backup at any time. With an overlay mount (i.e. ''~/Secret'' mounted over ''~/Secret'') the lower, encrypted, data is harder to get to. Today when cronjobs and other automation software do automatic backups the risk of leaking your sensitive data is higher.<br />
<br />
We explained earlier that all cryptographic metadata is stored in the headers of files. You can easily do backups, or incremental backups, of your '''~/.Private''' directory, treating it like any other directory.<br />
<br />
== Advanced ==<br />
This wiki article covers only the basic setup of a private encrypted directory. There is however another article about eCryptfs on Arch Linux, which covers encryption of your entire $HOME and encrypting swap space without breaking hibernation (suspend to disk).<br />
<br />
That article includes many more steps (i.e. using PAM modules and automatic mounting) and the author was opposed to replicating it here, because there is just no single "right" way to do it. The author proposes some solutions and discusses the security implications, but they are his solutions and as such might not be the best nor are they endorsed by the eCryptfs project in any way.<br />
<br />
Article: [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html eCryptfs and $HOME] by Adrian C. (anrxc).<br />
<br />
Consider that ''Chromium OS'', as released by Google, is using eCryptfs to protect devices that are, and will be, powered by it. Some implementation details are available and they make excellent reading. You can read them [http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data here], they could help a lot as you're coming up with your own strategy.<br />
<br />
=== PAM Mount ===<br />
<br />
The above "''eCryptfs and $HOME''" article uses a shell init file to mount the home directory. The same can be done using [[pam_mount]] with the added benefit that home is un-mounted when all sessions are logged out. Add the following lines to {{ic|/etc/security/pam_mount.conf.xml}}:<br />
<br />
<luserconf name=".pam_mount.conf.xml" /><br />
<mntoptions require="" /> <!-- Default required mount options are ; this clears them --><br />
<lclmount>mount -i %(VOLUME) "%(before=\"-o\" OPTIONS)"</lclmount> <!-- --><br />
<br />
Please prefer writing manually these lines instead of simply copy/pasting them (especially the lclmount line), otherwise you might get some corrupted characters.<br />
Explanation:<br />
* the first line indicates where the user-based configuration file is located (here {{ic|~/.pam_mount.conf.xml}}) ;<br />
* the second line overwrites the default required mount options which are unnecessary ("nosuid,nodev") ;<br />
* the last line indicates which mount command to run (eCryptfs needs the {{Ic|-i}} switch).<br />
<br />
Then set the volume definition, preferably to {{ic|~/.pam_mount.conf.xml}}:<br />
<pam_mount><br />
<volume noroot="1" fstype="ecryptfs" path="/home/.ecryptfs/user/.Private/" mountpoint="/home/user/"/><br />
</pam_mount><br />
<br />
"noroot" is needed because the encryption key will be added to the user's keyring<br />
<br />
Finally, edit {{ic|/etc/pam.d/login}} as described in [[pam_mount]]'s article.<br />
<br />
==== Optional step ====<br />
<br />
To avoid wasting time needlessly unwrapping the passphrase you can create a script that will check ''pmvarrun'' to see the number of open sessions:<br />
#!/bin/sh<br />
#<br />
# /usr/local/bin/doecryptfs<br />
<br />
exit $(/usr/sbin/pmvarrun -u$PAM_USER -o0)<br />
<br />
With the following line added before the eCryptfs unwrap module in your PAM stack:<br />
auth [success=ignore default=1] pam_exec.so quiet /usr/local/bin/doecryptfs<br />
auth required pam_ecryptfs.so unwrap<br />
The article suggests adding these to {{ic|/etc/pam.d/login}}, but the changes will need to be added to all other places you login, such as {{ic|/etc/pam.d/kde}}.<br />
<br />
=== PAM mount by eCryptfs module ===<br />
To use the eCryptfs PAM module it self for mounting you should know it depends on some hard-coded Ubuntu defaults. Like using AES cipher with a 16 byte key. As described in this BBS post [https://bbs.archlinux.org/viewtopic.php?pid=727422#p727422] you have to do the following steps:<br />
<br />
1) For your understanding and preparation, read the guide mentioned above. [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html]<br />
<br />
2) Install [http://www.archlinux.org/packages/core/x86_64/keyutils/ keyutils] and [http://www.archlinux.org/packages/community/x86_64/ecryptfs-utils/ ecryptfs-utils] from the official Repos.<br />
<br />
'''[Do the following steps as root!]'''<br />
<br />
3) Make a "ecryptfs" Group:<br />
groupadd ecryptfs<br />
4) Add the user to it:<br />
usermod -aG ecryptfs user<br />
5) Load the ecryptfs module<br />
modprobe ecryptfs<br />
6) Change your /etc/pam.d/system-auth to look something like this (lines to add are bold):<br />
#%PAM-1.0<br />
<br />
auth required pam_env.so<br />
auth required pam_unix.so try_first_pass nullok<br />
'''auth required pam_ecryptfs.so unwrap'''<br />
auth optional pam_permit.so<br />
<br />
account required pam_unix.so<br />
account optional pam_permit.so<br />
account required pam_time.so<br />
<br />
'''password required pam_ecryptfs.so'''<br />
password required pam_unix.so try_first_pass nullok sha512 shadow<br />
password optional pam_permit.so<br />
<br />
'''session required pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
session required pam_env.so<br />
session required pam_unix.so<br />
session optional pam_permit.so<br />
<br />
<br />
6a) When using [[GDM]] < 3.2 to log in, edit /etc/pam.d/gdm like this:<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6b) For [[GDM]] >= 3.2, make the following changes to /etc/pam.d/gdm-password (thanks to grawity for [https://bbs.archlinux.org/viewtopic.php?pid=998061#p998061 this]):<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth requisite pam_unix.so nullok<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
account required pam_unix.so<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
session required pam_loginuid.so<br />
-session optional pam_systemd.so<br />
session optional pam_keyinit.so '''force''' revoke<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
6c) For [[KDM]], make the following changes to /etc/pam.d/kde:<br />
<br />
#%PAM-1.0<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_nologin.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
<br />
6d) For [[LXDM]], make the following changes to /etc/pam.d/lxdm:<br />
<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6e) For [[LightDM]], make the following changes to /etc/pam.d/lightdm<br />
<br />
#%PAM-1.0<br />
auth required pam_nologin.so<br />
auth required pam_env.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_unix.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
<br />
7) To be able to automatically mount your encrypted home directory on login using SSH, edit /etc/pam.d/sshd:<br />
#%PAM-1.0<br />
#auth required pam_securetty.so #Disable remote root<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_env.so<br />
account required pam_nologin.so<br />
account required pam_unix.so<br />
account required pam_time.so<br />
password required pam_unix.so<br />
password optional pam_ecryptfs.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_unix_session.so<br />
session required pam_limits.so<br />
session optional pam_ck_connector.so nox11<br />
<br />
8) Using Ubuntu defaults<br />
<br />
There's a method to automatically setup your HOME with AES and a 16 byte key. You could execute (it can take some while, it automatically encrypts your home files)<br />
ecryptfs-migrate-home -u user<br />
<br />
...and follow the on screen instructions (Delete backup afterwards (/home/user.XXXXX) / Record the passphrase generated by ecryptfs -> ecryptfs-unwrap-passphrase / ...)<br />
<br />
9) Log in and check if everything worked correctly.<br />
<br />
This is a working solution and ecryptfs is exactly used as in Ubuntu (10.04/10.10) - and is easy to set up. <br />
Besides this, it has the advantage of auto-unmount at log-out, which shell profile files (ie. ~/.bash_logout) could have trouble doing, because there could still be open file-descriptors by the shell at the time of umount. To encrypt swap see: [[System_Encryption_with_LUKS#Encrypting_the_Swap_partition]] (some of the tools provided by ecryptfs, such as ecryptfs-setup-swap, only work in ubuntu).<br />
<br />
== Simple ==<br />
Use [http://xyne.archlinux.ca/projects/ecryptfs-simple/ ecryptfs-simple] if you just want to use eCryptfs to mount arbitrary directories the way you can with EncFS. ecryptfs-simple does not require root privileges or entries in fstab, nor is it limited to hard-coded directories such as ~/.Private. The package is available in the [https://aur.archlinux.org/packages.php?ID=59612 AUR] and in [http://xyne.archlinux.ca/repos/ Xyne's repos].<br />
<br />
As the name implies, usage is simple:<br />
# simple mounting<br />
ecryptfs-simple /path/to/foo /path/to/bar<br />
<br />
# automatic mounting: prompts for options on the first mount of a directory then reloads them next time<br />
ecryptfs-simple -a /path/to/foo /path/to/bar<br />
<br />
# unmounting by source directory<br />
ecryptfs-simple -u /path/to/foo<br />
<br />
# unmounting by mountpoint<br />
ecryptfs-simple -u /path/to/bar</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=ECryptfs&diff=217497ECryptfs2012-08-11T17:55:12Z<p>Ryon.sherman: Included LightDM pam.d configuration.</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Security]]<br />
[[Category:File systems]]<br />
[[fr:Encryption avec eCryptfs]]<br />
[[it:System Encryption with eCryptfs]]<br />
[[ru:System Encryption with eCryptfs]]<br />
{{Article summary start}}<br />
{{Article summary text|Setup and usage of eCryptfs}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Disk Encryption}}<br />
{{Article summary end}}<br />
<br />
This article describes basic usage of [https://launchpad.net/ecryptfs eCryptfs]. It guides you through the process of creating a private and secure encrypted directory within your ''$HOME'' directory, where you can store all your sensitive files and private data.<br />
<br />
In implementation eCryptfs differs from dm-crypt, which provides a ''block device encryption layer'', while eCryptfs is an actual file-system &ndash; a [http://en.wikipedia.org/wiki/Cryptographic_filesystems stacked cryptographic file system] to be exact. For comparison of the two you can refer to [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#compare this table ]. <br />
<br />
The summary is that it doesn't require special on-disk storage allocation effort, such as separate partitions, you can mount eCryptfs on top of any single directory to protect it. That includes e.g. your entire $HOME and network file systems (i.e. having encrypted NFS shares). All cryptographic metadata is stored in the headers of files, so encrypted data can be easily moved, stored for backup and recovered. There are other advantages, but there are also drawbacks, for instance eCryptfs is not suitable for encrypting complete partitions which also means you can't protect your swap space with it (instead you can combine it with dm-crypt).<br />
<br />
For more details on how eCryptfs compares to other disk encryption solutions, see [[Disk Encryption#Comparison table]]. <br />
<br />
== Deficiencies ==<br />
<br />
Before you make any big decisions like encrypting your $HOME you should know that eCyptfs does not handle sparse files well. For most intents and purposes that shouldn't concern us, however one very popular use case are torrents. Right now eCryptfs tries to encrypt the whole sparse file allocated space right away, which can lead to starving the system of resources in case of big files (remember torrents can easily be 10GB or bigger). You can track progress of this bug in this Launchpad report: https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/431975<br />
<br />
Simple workaround, for now, is to create a '''.Public''' folder (as '''.Private''' folder is used for encrypted data later in the article) and use that for torrents, unencrypted and symlinked to a directory like ''~/Downloads/torrents''. For some people this of course defeats the whole purpose of encryption, for others who are protecting their data from theft it doesn't.<br />
<br />
=== Login password ===<br />
<br />
{{note|1= With {{pkg|shadow}} 4.1.4.3-3 ''sha512'' is the default for new passwords (see [https://bugs.archlinux.org/task/13591#comment85993 bug 13591] and corresponding [http://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/shadow&id=98001501a8306ef5a0df55d1cffc048851894940 commit]).}}<br />
<br />
If you are encrypting your whole home, with auto-mounting you should use a strong password and consider changing the hash algorithm for ''/etc/shadow''. From '''md5''' to stronger ones like '''sha512/bcrypt''', that helps to protect your password against rainbow-table attacks. See https://wiki.archlinux.org/index.php/SHA_password_hashes for more information.<br />
<br />
== Basics ==<br />
eCryptfs is a part of Linux since version 2.6.19. But to work with it you will need the userspace tools provided by the package {{pkg|ecryptfs-utils}} available in the [[Official Repositories]].<br />
<br />
Once you have installed that package you can load the ecryptfs module and continue with the setup:<br />
# modprobe ecryptfs<br />
<br />
The ecryptfs-utils package is distributed with a few helper scripts which will help you with key management and similar tasks. Some were written to automate this whole process of setting up encrypted directories (''ecryptfs-setup-private'') or help you combine eCryptfs with dm-crypt to protect swap space (''ecryptfs-setup-swap''). Despite those scripts we will go trough the process manually so you get a better understanding of what is really being done.<br />
<br />
Before we say anything else it's advised that you check the eCryptfs documentation. It is distributed with a very good and complete set of manual pages.<br />
<br />
=== Setup (simple) ===<br />
<br />
As a user run<br />
ecryptfs-setup-private<br />
and follow the instructions.<br />
<br />
=== Setup (in detail) ===<br />
<br />
First create your private directories, in this example we will call them exactly that: Private<br />
$ su -<br />
# mkdir -m 700 /home/username/.Private<br />
# mkdir -m 500 /home/username/Private<br />
# chown username:username /home/username/{.Private,Private}<br />
<br />
Let's summarize<br />
* Actual encrypted data will be stored in ~/.Private directory (so-called ''lower'' directory)<br />
* While mounted, decrypted data will be available in ~/Private directory (so-called ''upper'' directory)<br />
** While not mounted nothing can be written to this directory<br />
** While mounted it has the same permissions as the lower directory<br />
<br />
eCryptfs can now be mounted on top of ~/Private.<br />
# mount -t ecryptfs /home/username/.Private /home/username/Private<br />
<br />
You will need to answer a few questions and provide a passphrase which should be used to mount this directory in the future. However you can also have different keys encrypting different data (more about this below). For convenience we will limit this guide to only one key and passphrase. Let's see an example:<br />
Key type: passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
Cipher: aes<br />
Key byte: 16<br />
Plaintext passtrough: no<br />
Filename encryption: no<br />
Add signature to cache: yes <br />
<br />
Let's summarize<br />
* The passphrase is your '''mount passphrase''' which will be salted, hashed and loaded into the kernel keyring.<br />
** In eCryptfs terms, this salted, hashed passphrase is your "file encryption key, encryption key", or '''fekek'''.<br />
* eCryptfs supports a few different ciphers (AES, blowfish, twofish...). You can read about them on Wikipedia.<br />
* Plaintext passtrough enables you to store and work with '''un-encrypted''' files stored in the lower directory.<br />
* Filename encryption is available since Linux 2.6.29<br />
** In eCryptfs terms the key used to protect filenames is known as "filename encryption key", or '''fnek'''.<br />
* The signature of the key(s) will be stored in {{ic|/root/.ecryptfs/sig-cache.txt}}.<br />
<br />
Since our later goal is to be able to mount without root priviledges, we will now move the eCryptfs configuration directory to your own home and transfer the ownership to you:<br />
# mv /root/.ecryptfs /home/username<br />
# chown username:username /home/username/.ecryptfs<br />
<br />
Your setup is now complete and directory is mounted. You can place any file in the '''~/Private''' directory and it will get encrypted in '''~/.Private'''.<br />
<br />
Now copy a few files to your new private directory, and then un-mount it. If you inspect the files you will see that they are unreadable &ndash; encrypted. That was cool you say, but how do I get them back... and that brings us to:<br />
<br />
==== Extra Notes ====<br />
<br />
Above is detailed the simplest way to setup the mount point, but '''ecryptfs-setup-private''' runs through some extra steps.<br />
<br />
* The above '''mount passphrase''' is derived from the passphrase you type in. This is not considered very [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#pubkey-about secure], so the setup script grabs some characters from {{ic|/dev/random}} for safety:<br />
<br />
od -x -N $bytes --width=$bytes /dev/urandom | head -n 1 | sed "s/^0000000//" | sed "s/\s*//g"<br />
<br />
* '''ecryptfs-setup-private''' also takes the resulting mount passphrase and wraps it with your login passphrase (pasword) and stores this in '''~/.ecryptfs/wrapped-passphrase'''. You can replicate this with: <br />
<br />
$ ecryptfs-wrap-passphrase ~/.ecryptfs/wrapped-passphrase <br />
Passphrase to wrap: <br />
Wrapping passphrase:<br />
<br />
=== Mounting (the hard way) ===<br />
When ever you need your files available you can repeat the above mount procedure, using the same passphrase and options if you want to access your previously encrypted files or using a different passphrase (and possibly options) if for some reason you want to have different keys protecting different data (imagine having a publicly shared directory where different data is encrypted by different users, and their keys).<br />
<br />
In any case going trough those questions every time could be a bit tedious.<br />
<br />
One solution would be to create an entry in the '''{{ic|/etc/fstab}}''' file for this mount point:<br />
<br />
/home/user/.Private /home/user/Private ecryptfs [... user ... ecryptfs_sig=XY,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecrypfs_unlink_sigs 0 0<br />
<br />
* You will notice that we defined the '''user''' option, it enables you to mount the directory as a user (if it does not works as a normal user, you may need to setuid mount.ecryptfs by running as root: ''chmod +s /sbin/mount.ecryptfs'')<br />
* Notice the '''ecryptfs_sig''' option, replace ''XY'' with your own key signature (as seen in the '''mtab''' line earlier and in {{ic|sig-cache.txt}})<br />
* If you enabled filename encryption then pass an additional mount option: '''ecryptfs_fnek_sig'''=''XY'', where ''XY'' is the same signature you provide with the '''ecryptfs_sig''' option.<br />
* Last option '''ecrypfs_unlink_sigs''' ensures that your keyring is cleared every time the directory is un-mounted<br />
<br />
Since your key was deleted from the kernel keyring when you un-mounted, in order to mount you need to insert it into the keyring again. You can use the '''ecryptfs-add-passphrase''' utility or the '''ecryptfs-manager''' to do it:<br />
<br />
When the key is inserted you can mount the directory: <br />
$ ecryptfs-add-passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
<br />
$ mount -i /home/username/Private<br />
<br />
You will notice that we used the '''{{Ic|-i}}''' option this time. It disables invoking the mount helper. Speaking of which, using {{Ic|-i}} by default mounts with: '''nosuid, noexec''' and '''nodev'''. If you want to have at least executable files in your private directory you can add the '''exec''' option to the fstab line.<br />
<br />
This would be a good place to mention the '''keyctl''' utility from the (earlier installed) ''keyutils'' package. It can be used for any advanced key management tasks. Following examples show how to list your keyring contents and how to clear them:<br />
$ keyctl list @u<br />
$ keyctl clear @u<br />
<br />
{{Note|However, one should remember that /etc/fstab is for system-wide partitions only and should not be used for user-specific mounts}}<br />
<br />
=== Auto-mounting (the easy way) ===<br />
A better way is to use PAM directly, see:<br />
/usr/share/doc/ecryptfs-utils/README<br />
<br />
1. Open '''/etc/pam.d/login''' and add<br />
auth required pam_ecryptfs.so unwrap<br />
after the line containing '''auth ... pam_unix.so''', and<br />
session optional pam_ecryptfs.so unwrap<br />
after the line '''session ... pam_unix.so'''.<br />
<br />
2. Check if '''~/.ecryptfs/auto-mount''' and '''~/.ecryptfs/wrapped-passphrase''' (these are automatically created by '''ecryptfs-setup-private''') exist.<br />
<br />
3. Relogin and check output of '''mount''' which should now contain a mountpoint<br />
/home/user/.Private...<br />
<br />
=== Usage ===<br />
Besides using your private directory as storage for sensitive files, and private data, you can also use it to protect application data. Take ''Firefox'' for an example, not only does it have an internal password manager but the browsing history and cache can also be sensitive. Protecting it is easy:<br />
$ mv ~/.mozilla ~/Private/mozilla<br />
$ ln -s ~/Private/mozilla ~/.mozilla<br />
<br />
=== Removal ===<br />
If you want to move a file out of the private directory just move it to it's new destination while ~/Private is mounted. Also note that there are no special steps involved if you want to remove your private directory. Make sure it is un-mounted and delete ~/.Private, along with all the files.<br />
<br />
=== Backup ===<br />
Setup explained here separates the directory with encrypted data from the mount point, so the encrypted data is available for backup at any time. With an overlay mount (i.e. ''~/Secret'' mounted over ''~/Secret'') the lower, encrypted, data is harder to get to. Today when cronjobs and other automation software do automatic backups the risk of leaking your sensitive data is higher.<br />
<br />
We explained earlier that all cryptographic metadata is stored in the headers of files. You can easily do backups, or incremental backups, of your '''~/.Private''' directory, treating it like any other directory.<br />
<br />
== Advanced ==<br />
This wiki article covers only the basic setup of a private encrypted directory. There is however another article about eCryptfs on Arch Linux, which covers encryption of your entire $HOME and encrypting swap space without breaking hibernation (suspend to disk).<br />
<br />
That article includes many more steps (i.e. using PAM modules and automatic mounting) and the author was opposed to replicating it here, because there is just no single "right" way to do it. The author proposes some solutions and discusses the security implications, but they are his solutions and as such might not be the best nor are they endorsed by the eCryptfs project in any way.<br />
<br />
Article: [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html eCryptfs and $HOME] by Adrian C. (anrxc).<br />
<br />
Consider that ''Chromium OS'', as released by Google, is using eCryptfs to protect devices that are, and will be, powered by it. Some implementation details are available and they make excellent reading. You can read them [http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data here], they could help a lot as you're coming up with your own strategy.<br />
<br />
=== PAM Mount ===<br />
<br />
The above "''eCryptfs and $HOME''" article uses a shell init file to mount the home directory. The same can be done using [[pam_mount]] with the added benefit that home is un-mounted when all sessions are logged out. Add the following lines to {{ic|/etc/security/pam_mount.conf.xml}}:<br />
<br />
<luserconf name=".pam_mount.conf.xml" /><br />
<mntoptions require="" /> <!-- Default required mount options are ; this clears them --><br />
<lclmount>mount -i %(VOLUME) "%(before=\"-o\" OPTIONS)"</lclmount> <!-- --><br />
<br />
Please prefer writing manually these lines instead of simply copy/pasting them (especially the lclmount line), otherwise you might get some corrupted characters.<br />
Explanation:<br />
* the first line indicates where the user-based configuration file is located (here {{ic|~/.pam_mount.conf.xml}}) ;<br />
* the second line overwrites the default required mount options which are unnecessary ("nosuid,nodev") ;<br />
* the last line indicates which mount command to run (eCryptfs needs the {{Ic|-i}} switch).<br />
<br />
Then set the volume definition, preferably to {{ic|~/.pam_mount.conf.xml}}:<br />
<pam_mount><br />
<volume noroot="1" fstype="ecryptfs" path="/home/.ecryptfs/user/.Private/" mountpoint="/home/user/"/><br />
</pam_mount><br />
<br />
"noroot" is needed because the encryption key will be added to the user's keyring<br />
<br />
Finally, edit {{ic|/etc/pam.d/login}} as described in [[pam_mount]]'s article.<br />
<br />
==== Optional step ====<br />
<br />
To avoid wasting time needlessly unwrapping the passphrase you can create a script that will check ''pmvarrun'' to see the number of open sessions:<br />
#!/bin/sh<br />
#<br />
# /usr/local/bin/doecryptfs<br />
<br />
exit $(/usr/sbin/pmvarrun -u$PAM_USER -o0)<br />
<br />
With the following line added before the eCryptfs unwrap module in your PAM stack:<br />
auth [success=ignore default=1] pam_exec.so quiet /usr/local/bin/doecryptfs<br />
auth required pam_ecryptfs.so unwrap<br />
The article suggests adding these to {{ic|/etc/pam.d/login}}, but the changes will need to be added to all other places you login, such as {{ic|/etc/pam.d/kde}}.<br />
<br />
=== PAM mount by eCryptfs module ===<br />
To use the eCryptfs PAM module it self for mounting you should know it depends on some hard-coded Ubuntu defaults. Like using AES cipher with a 16 byte key. As described in this BBS post [https://bbs.archlinux.org/viewtopic.php?pid=727422#p727422] you have to do the following steps:<br />
<br />
1) For your understanding and preparation, read the guide mentioned above. [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html]<br />
<br />
2) Install [http://www.archlinux.org/packages/core/x86_64/keyutils/ keyutils] and [http://www.archlinux.org/packages/community/x86_64/ecryptfs-utils/ ecryptfs-utils] from the official Repos.<br />
<br />
'''[Do the following steps as root!]'''<br />
<br />
3) Make a "ecryptfs" Group:<br />
groupadd ecryptfs<br />
4) Add the user to it:<br />
usermod -aG ecryptfs user<br />
5) Load the ecryptfs module<br />
modprobe ecryptfs<br />
6) Change your /etc/pam.d/system-auth to look something like this (lines to add are bold):<br />
#%PAM-1.0<br />
<br />
auth required pam_env.so<br />
auth required pam_unix.so try_first_pass nullok<br />
'''auth required pam_ecryptfs.so unwrap'''<br />
auth optional pam_permit.so<br />
<br />
account required pam_unix.so<br />
account optional pam_permit.so<br />
account required pam_time.so<br />
<br />
'''password required pam_ecryptfs.so'''<br />
password required pam_unix.so try_first_pass nullok sha512 shadow<br />
password optional pam_permit.so<br />
<br />
'''session required pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
session required pam_env.so<br />
session required pam_unix.so<br />
session optional pam_permit.so<br />
<br />
<br />
6a) When using [[GDM]] < 3.2 to log in, edit /etc/pam.d/gdm like this:<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6b) For [[GDM]] >= 3.2, make the following changes to /etc/pam.d/gdm-password (thanks to grawity for [https://bbs.archlinux.org/viewtopic.php?pid=998061#p998061 this]):<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth requisite pam_unix.so nullok<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
account required pam_unix.so<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
session required pam_loginuid.so<br />
-session optional pam_systemd.so<br />
session optional pam_keyinit.so '''force''' revoke<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
6c) For [[KDM]], make the following changes to /etc/pam.d/kde:<br />
<br />
#%PAM-1.0<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_nologin.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
<br />
6d) For [[LXDM]], make the following changes to /etc/pam.d/lxdm:<br />
<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
ge) For [[LightDM]], make the following changes to /etc/pam.d/lightdm<br />
<br />
#%PAM-1.0<br />
auth required pam_nologin.so<br />
auth required pam_env.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_unix.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
<br />
7) To be able to automatically mount your encrypted home directory on login using SSH, edit /etc/pam.d/sshd:<br />
#%PAM-1.0<br />
#auth required pam_securetty.so #Disable remote root<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_env.so<br />
account required pam_nologin.so<br />
account required pam_unix.so<br />
account required pam_time.so<br />
password required pam_unix.so<br />
password optional pam_ecryptfs.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_unix_session.so<br />
session required pam_limits.so<br />
session optional pam_ck_connector.so nox11<br />
<br />
8) Using Ubuntu defaults<br />
<br />
There's a method to automatically setup your HOME with AES and a 16 byte key. You could execute (it can take some while, it automatically encrypts your home files)<br />
ecryptfs-migrate-home -u user<br />
<br />
...and follow the on screen instructions (Delete backup afterwards (/home/user.XXXXX) / Record the passphrase generated by ecryptfs -> ecryptfs-unwrap-passphrase / ...)<br />
<br />
9) Log in and check if everything worked correctly.<br />
<br />
This is a working solution and ecryptfs is exactly used as in Ubuntu (10.04/10.10) - and is easy to set up. <br />
Besides this, it has the advantage of auto-unmount at log-out, which shell profile files (ie. ~/.bash_logout) could have trouble doing, because there could still be open file-descriptors by the shell at the time of umount. To encrypt swap see: [[System_Encryption_with_LUKS#Encrypting_the_Swap_partition]] (some of the tools provided by ecryptfs, such as ecryptfs-setup-swap, only work in ubuntu).<br />
<br />
== Simple ==<br />
Use [http://xyne.archlinux.ca/projects/ecryptfs-simple/ ecryptfs-simple] if you just want to use eCryptfs to mount arbitrary directories the way you can with EncFS. ecryptfs-simple does not require root privileges or entries in fstab, nor is it limited to hard-coded directories such as ~/.Private. The package is available in the [https://aur.archlinux.org/packages.php?ID=59612 AUR] and in [http://xyne.archlinux.ca/repos/ Xyne's repos].<br />
<br />
As the name implies, usage is simple:<br />
# simple mounting<br />
ecryptfs-simple /path/to/foo /path/to/bar<br />
<br />
# automatic mounting: prompts for options on the first mount of a directory then reloads them next time<br />
ecryptfs-simple -a /path/to/foo /path/to/bar<br />
<br />
# unmounting by source directory<br />
ecryptfs-simple -u /path/to/foo<br />
<br />
# unmounting by mountpoint<br />
ecryptfs-simple -u /path/to/bar</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=ECryptfs&diff=217495ECryptfs2012-08-11T17:41:21Z<p>Ryon.sherman: Corrected ~/.ecryptfs/* filenames as of ecryptfs-utils 100-1</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Security]]<br />
[[Category:File systems]]<br />
[[fr:Encryption avec eCryptfs]]<br />
[[it:System Encryption with eCryptfs]]<br />
[[ru:System Encryption with eCryptfs]]<br />
{{Article summary start}}<br />
{{Article summary text|Setup and usage of eCryptfs}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Disk Encryption}}<br />
{{Article summary end}}<br />
<br />
This article describes basic usage of [https://launchpad.net/ecryptfs eCryptfs]. It guides you through the process of creating a private and secure encrypted directory within your ''$HOME'' directory, where you can store all your sensitive files and private data.<br />
<br />
In implementation eCryptfs differs from dm-crypt, which provides a ''block device encryption layer'', while eCryptfs is an actual file-system &ndash; a [http://en.wikipedia.org/wiki/Cryptographic_filesystems stacked cryptographic file system] to be exact. For comparison of the two you can refer to [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#compare this table ]. <br />
<br />
The summary is that it doesn't require special on-disk storage allocation effort, such as separate partitions, you can mount eCryptfs on top of any single directory to protect it. That includes e.g. your entire $HOME and network file systems (i.e. having encrypted NFS shares). All cryptographic metadata is stored in the headers of files, so encrypted data can be easily moved, stored for backup and recovered. There are other advantages, but there are also drawbacks, for instance eCryptfs is not suitable for encrypting complete partitions which also means you can't protect your swap space with it (instead you can combine it with dm-crypt).<br />
<br />
For more details on how eCryptfs compares to other disk encryption solutions, see [[Disk Encryption#Comparison table]]. <br />
<br />
== Deficiencies ==<br />
<br />
Before you make any big decisions like encrypting your $HOME you should know that eCyptfs does not handle sparse files well. For most intents and purposes that shouldn't concern us, however one very popular use case are torrents. Right now eCryptfs tries to encrypt the whole sparse file allocated space right away, which can lead to starving the system of resources in case of big files (remember torrents can easily be 10GB or bigger). You can track progress of this bug in this Launchpad report: https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/431975<br />
<br />
Simple workaround, for now, is to create a '''.Public''' folder (as '''.Private''' folder is used for encrypted data later in the article) and use that for torrents, unencrypted and symlinked to a directory like ''~/Downloads/torrents''. For some people this of course defeats the whole purpose of encryption, for others who are protecting their data from theft it doesn't.<br />
<br />
=== Login password ===<br />
<br />
{{note|1= With {{pkg|shadow}} 4.1.4.3-3 ''sha512'' is the default for new passwords (see [https://bugs.archlinux.org/task/13591#comment85993 bug 13591] and corresponding [http://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/shadow&id=98001501a8306ef5a0df55d1cffc048851894940 commit]).}}<br />
<br />
If you are encrypting your whole home, with auto-mounting you should use a strong password and consider changing the hash algorithm for ''/etc/shadow''. From '''md5''' to stronger ones like '''sha512/bcrypt''', that helps to protect your password against rainbow-table attacks. See https://wiki.archlinux.org/index.php/SHA_password_hashes for more information.<br />
<br />
== Basics ==<br />
eCryptfs is a part of Linux since version 2.6.19. But to work with it you will need the userspace tools provided by the package {{pkg|ecryptfs-utils}} available in the [[Official Repositories]].<br />
<br />
Once you have installed that package you can load the ecryptfs module and continue with the setup:<br />
# modprobe ecryptfs<br />
<br />
The ecryptfs-utils package is distributed with a few helper scripts which will help you with key management and similar tasks. Some were written to automate this whole process of setting up encrypted directories (''ecryptfs-setup-private'') or help you combine eCryptfs with dm-crypt to protect swap space (''ecryptfs-setup-swap''). Despite those scripts we will go trough the process manually so you get a better understanding of what is really being done.<br />
<br />
Before we say anything else it's advised that you check the eCryptfs documentation. It is distributed with a very good and complete set of manual pages.<br />
<br />
=== Setup (simple) ===<br />
<br />
As a user run<br />
ecryptfs-setup-private<br />
and follow the instructions.<br />
<br />
=== Setup (in detail) ===<br />
<br />
First create your private directories, in this example we will call them exactly that: Private<br />
$ su -<br />
# mkdir -m 700 /home/username/.Private<br />
# mkdir -m 500 /home/username/Private<br />
# chown username:username /home/username/{.Private,Private}<br />
<br />
Let's summarize<br />
* Actual encrypted data will be stored in ~/.Private directory (so-called ''lower'' directory)<br />
* While mounted, decrypted data will be available in ~/Private directory (so-called ''upper'' directory)<br />
** While not mounted nothing can be written to this directory<br />
** While mounted it has the same permissions as the lower directory<br />
<br />
eCryptfs can now be mounted on top of ~/Private.<br />
# mount -t ecryptfs /home/username/.Private /home/username/Private<br />
<br />
You will need to answer a few questions and provide a passphrase which should be used to mount this directory in the future. However you can also have different keys encrypting different data (more about this below). For convenience we will limit this guide to only one key and passphrase. Let's see an example:<br />
Key type: passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
Cipher: aes<br />
Key byte: 16<br />
Plaintext passtrough: no<br />
Filename encryption: no<br />
Add signature to cache: yes <br />
<br />
Let's summarize<br />
* The passphrase is your '''mount passphrase''' which will be salted, hashed and loaded into the kernel keyring.<br />
** In eCryptfs terms, this salted, hashed passphrase is your "file encryption key, encryption key", or '''fekek'''.<br />
* eCryptfs supports a few different ciphers (AES, blowfish, twofish...). You can read about them on Wikipedia.<br />
* Plaintext passtrough enables you to store and work with '''un-encrypted''' files stored in the lower directory.<br />
* Filename encryption is available since Linux 2.6.29<br />
** In eCryptfs terms the key used to protect filenames is known as "filename encryption key", or '''fnek'''.<br />
* The signature of the key(s) will be stored in {{ic|/root/.ecryptfs/sig-cache.txt}}.<br />
<br />
Since our later goal is to be able to mount without root priviledges, we will now move the eCryptfs configuration directory to your own home and transfer the ownership to you:<br />
# mv /root/.ecryptfs /home/username<br />
# chown username:username /home/username/.ecryptfs<br />
<br />
Your setup is now complete and directory is mounted. You can place any file in the '''~/Private''' directory and it will get encrypted in '''~/.Private'''.<br />
<br />
Now copy a few files to your new private directory, and then un-mount it. If you inspect the files you will see that they are unreadable &ndash; encrypted. That was cool you say, but how do I get them back... and that brings us to:<br />
<br />
==== Extra Notes ====<br />
<br />
Above is detailed the simplest way to setup the mount point, but '''ecryptfs-setup-private''' runs through some extra steps.<br />
<br />
* The above '''mount passphrase''' is derived from the passphrase you type in. This is not considered very [http://ecryptfs.sourceforge.net/ecryptfs-faq.html#pubkey-about secure], so the setup script grabs some characters from {{ic|/dev/random}} for safety:<br />
<br />
od -x -N $bytes --width=$bytes /dev/urandom | head -n 1 | sed "s/^0000000//" | sed "s/\s*//g"<br />
<br />
* '''ecryptfs-setup-private''' also takes the resulting mount passphrase and wraps it with your login passphrase (pasword) and stores this in '''~/.ecryptfs/wrapped-passphrase'''. You can replicate this with: <br />
<br />
$ ecryptfs-wrap-passphrase ~/.ecryptfs/wrapped-passphrase <br />
Passphrase to wrap: <br />
Wrapping passphrase:<br />
<br />
=== Mounting (the hard way) ===<br />
When ever you need your files available you can repeat the above mount procedure, using the same passphrase and options if you want to access your previously encrypted files or using a different passphrase (and possibly options) if for some reason you want to have different keys protecting different data (imagine having a publicly shared directory where different data is encrypted by different users, and their keys).<br />
<br />
In any case going trough those questions every time could be a bit tedious.<br />
<br />
One solution would be to create an entry in the '''{{ic|/etc/fstab}}''' file for this mount point:<br />
<br />
/home/user/.Private /home/user/Private ecryptfs [... user ... ecryptfs_sig=XY,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecrypfs_unlink_sigs 0 0<br />
<br />
* You will notice that we defined the '''user''' option, it enables you to mount the directory as a user (if it does not works as a normal user, you may need to setuid mount.ecryptfs by running as root: ''chmod +s /sbin/mount.ecryptfs'')<br />
* Notice the '''ecryptfs_sig''' option, replace ''XY'' with your own key signature (as seen in the '''mtab''' line earlier and in {{ic|sig-cache.txt}})<br />
* If you enabled filename encryption then pass an additional mount option: '''ecryptfs_fnek_sig'''=''XY'', where ''XY'' is the same signature you provide with the '''ecryptfs_sig''' option.<br />
* Last option '''ecrypfs_unlink_sigs''' ensures that your keyring is cleared every time the directory is un-mounted<br />
<br />
Since your key was deleted from the kernel keyring when you un-mounted, in order to mount you need to insert it into the keyring again. You can use the '''ecryptfs-add-passphrase''' utility or the '''ecryptfs-manager''' to do it:<br />
<br />
When the key is inserted you can mount the directory: <br />
$ ecryptfs-add-passphrase<br />
Passphrase: ThisIsAVeryWeakPassphrase<br />
<br />
$ mount -i /home/username/Private<br />
<br />
You will notice that we used the '''{{Ic|-i}}''' option this time. It disables invoking the mount helper. Speaking of which, using {{Ic|-i}} by default mounts with: '''nosuid, noexec''' and '''nodev'''. If you want to have at least executable files in your private directory you can add the '''exec''' option to the fstab line.<br />
<br />
This would be a good place to mention the '''keyctl''' utility from the (earlier installed) ''keyutils'' package. It can be used for any advanced key management tasks. Following examples show how to list your keyring contents and how to clear them:<br />
$ keyctl list @u<br />
$ keyctl clear @u<br />
<br />
{{Note|However, one should remember that /etc/fstab is for system-wide partitions only and should not be used for user-specific mounts}}<br />
<br />
=== Auto-mounting (the easy way) ===<br />
A better way is to use PAM directly, see:<br />
/usr/share/doc/ecryptfs-utils/README<br />
<br />
1. Open '''/etc/pam.d/login''' and add<br />
auth required pam_ecryptfs.so unwrap<br />
after the line containing '''auth ... pam_unix.so''', and<br />
session optional pam_ecryptfs.so unwrap<br />
after the line '''session ... pam_unix.so'''.<br />
<br />
2. Check if '''~/.ecryptfs/auto-mount''' and '''~/.ecryptfs/wrapped-passphrase''' (these are automatically created by '''ecryptfs-setup-private''') exist.<br />
<br />
3. Relogin and check output of '''mount''' which should now contain a mountpoint<br />
/home/user/.Private...<br />
<br />
=== Usage ===<br />
Besides using your private directory as storage for sensitive files, and private data, you can also use it to protect application data. Take ''Firefox'' for an example, not only does it have an internal password manager but the browsing history and cache can also be sensitive. Protecting it is easy:<br />
$ mv ~/.mozilla ~/Private/mozilla<br />
$ ln -s ~/Private/mozilla ~/.mozilla<br />
<br />
=== Removal ===<br />
If you want to move a file out of the private directory just move it to it's new destination while ~/Private is mounted. Also note that there are no special steps involved if you want to remove your private directory. Make sure it is un-mounted and delete ~/.Private, along with all the files.<br />
<br />
=== Backup ===<br />
Setup explained here separates the directory with encrypted data from the mount point, so the encrypted data is available for backup at any time. With an overlay mount (i.e. ''~/Secret'' mounted over ''~/Secret'') the lower, encrypted, data is harder to get to. Today when cronjobs and other automation software do automatic backups the risk of leaking your sensitive data is higher.<br />
<br />
We explained earlier that all cryptographic metadata is stored in the headers of files. You can easily do backups, or incremental backups, of your '''~/.Private''' directory, treating it like any other directory.<br />
<br />
== Advanced ==<br />
This wiki article covers only the basic setup of a private encrypted directory. There is however another article about eCryptfs on Arch Linux, which covers encryption of your entire $HOME and encrypting swap space without breaking hibernation (suspend to disk).<br />
<br />
That article includes many more steps (i.e. using PAM modules and automatic mounting) and the author was opposed to replicating it here, because there is just no single "right" way to do it. The author proposes some solutions and discusses the security implications, but they are his solutions and as such might not be the best nor are they endorsed by the eCryptfs project in any way.<br />
<br />
Article: [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html eCryptfs and $HOME] by Adrian C. (anrxc).<br />
<br />
Consider that ''Chromium OS'', as released by Google, is using eCryptfs to protect devices that are, and will be, powered by it. Some implementation details are available and they make excellent reading. You can read them [http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data here], they could help a lot as you're coming up with your own strategy.<br />
<br />
=== PAM Mount ===<br />
<br />
The above "''eCryptfs and $HOME''" article uses a shell init file to mount the home directory. The same can be done using [[pam_mount]] with the added benefit that home is un-mounted when all sessions are logged out. Add the following lines to {{ic|/etc/security/pam_mount.conf.xml}}:<br />
<br />
<luserconf name=".pam_mount.conf.xml" /><br />
<mntoptions require="" /> <!-- Default required mount options are ; this clears them --><br />
<lclmount>mount -i %(VOLUME) "%(before=\"-o\" OPTIONS)"</lclmount> <!-- --><br />
<br />
Please prefer writing manually these lines instead of simply copy/pasting them (especially the lclmount line), otherwise you might get some corrupted characters.<br />
Explanation:<br />
* the first line indicates where the user-based configuration file is located (here {{ic|~/.pam_mount.conf.xml}}) ;<br />
* the second line overwrites the default required mount options which are unnecessary ("nosuid,nodev") ;<br />
* the last line indicates which mount command to run (eCryptfs needs the {{Ic|-i}} switch).<br />
<br />
Then set the volume definition, preferably to {{ic|~/.pam_mount.conf.xml}}:<br />
<pam_mount><br />
<volume noroot="1" fstype="ecryptfs" path="/home/.ecryptfs/user/.Private/" mountpoint="/home/user/"/><br />
</pam_mount><br />
<br />
"noroot" is needed because the encryption key will be added to the user's keyring<br />
<br />
Finally, edit {{ic|/etc/pam.d/login}} as described in [[pam_mount]]'s article.<br />
<br />
==== Optional step ====<br />
<br />
To avoid wasting time needlessly unwrapping the passphrase you can create a script that will check ''pmvarrun'' to see the number of open sessions:<br />
#!/bin/sh<br />
#<br />
# /usr/local/bin/doecryptfs<br />
<br />
exit $(/usr/sbin/pmvarrun -u$PAM_USER -o0)<br />
<br />
With the following line added before the eCryptfs unwrap module in your PAM stack:<br />
auth [success=ignore default=1] pam_exec.so quiet /usr/local/bin/doecryptfs<br />
auth required pam_ecryptfs.so unwrap<br />
The article suggests adding these to {{ic|/etc/pam.d/login}}, but the changes will need to be added to all other places you login, such as {{ic|/etc/pam.d/kde}}.<br />
<br />
=== PAM mount by eCryptfs module ===<br />
To use the eCryptfs PAM module it self for mounting you should know it depends on some hard-coded Ubuntu defaults. Like using AES cipher with a 16 byte key. As described in this BBS post [https://bbs.archlinux.org/viewtopic.php?pid=727422#p727422] you have to do the following steps:<br />
<br />
1) For your understanding and preparation, read the guide mentioned above. [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html]<br />
<br />
2) Install [http://www.archlinux.org/packages/core/x86_64/keyutils/ keyutils] and [http://www.archlinux.org/packages/community/x86_64/ecryptfs-utils/ ecryptfs-utils] from the official Repos.<br />
<br />
'''[Do the following steps as root!]'''<br />
<br />
3) Make a "ecryptfs" Group:<br />
groupadd ecryptfs<br />
4) Add the user to it:<br />
usermod -aG ecryptfs user<br />
5) Load the ecryptfs module<br />
modprobe ecryptfs<br />
5) Change your /etc/pam.d/system-auth to look something like this (lines to add are bold):<br />
#%PAM-1.0<br />
<br />
auth required pam_env.so<br />
auth required pam_unix.so try_first_pass nullok<br />
'''auth required pam_ecryptfs.so unwrap'''<br />
auth optional pam_permit.so<br />
<br />
account required pam_unix.so<br />
account optional pam_permit.so<br />
account required pam_time.so<br />
<br />
'''password required pam_ecryptfs.so'''<br />
password required pam_unix.so try_first_pass nullok sha512 shadow<br />
password optional pam_permit.so<br />
<br />
'''session required pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
session required pam_env.so<br />
session required pam_unix.so<br />
session optional pam_permit.so<br />
<br />
<br />
6a) When using [[GDM]] < 3.2 to log in, edit /etc/pam.d/gdm like this:<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
6b) For [[GDM]] >= 3.2, make the following changes to /etc/pam.d/gdm-password (thanks to grawity for [https://bbs.archlinux.org/viewtopic.php?pid=998061#p998061 this]):<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth requisite pam_unix.so nullok<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth optional pam_gnome_keyring.so<br />
auth sufficient pam_succeed_if.so uid >= 1000 quiet<br />
auth required pam_deny.so<br />
account required pam_unix.so<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
session required pam_loginuid.so<br />
-session optional pam_systemd.so<br />
session optional pam_keyinit.so '''force''' revoke<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
6c) For [[KDM]], make the following changes to /etc/pam.d/kde:<br />
<br />
#%PAM-1.0<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_nologin.so<br />
account required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
password required pam_unix.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_limits.so<br />
<br />
6d) For [[LXDM]], make the following changes to /etc/pam.d/lxdm:<br />
<br />
#%PAM-1.0<br />
auth requisite pam_nologin.so<br />
auth required pam_env.so<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
account required pam_unix.so<br />
session required pam_limits.so<br />
session required pam_unix.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
password required pam_unix.so<br />
'''password optional pam_ecryptfs.so'''<br />
<br />
7) To be able to automatically mount your encrypted home directory on login using SSH, edit /etc/pam.d/sshd:<br />
#%PAM-1.0<br />
#auth required pam_securetty.so #Disable remote root<br />
auth required pam_unix.so<br />
'''auth optional pam_ecryptfs.so unwrap'''<br />
auth required pam_env.so<br />
account required pam_nologin.so<br />
account required pam_unix.so<br />
account required pam_time.so<br />
password required pam_unix.so<br />
password optional pam_ecryptfs.so<br />
'''session optional pam_ecryptfs.so unwrap'''<br />
session required pam_unix_session.so<br />
session required pam_limits.so<br />
session optional pam_ck_connector.so nox11<br />
<br />
8) Using Ubuntu defaults<br />
<br />
There's a method to automatically setup your HOME with AES and a 16 byte key. You could execute (it can take some while, it automatically encrypts your home files)<br />
ecryptfs-migrate-home -u user<br />
<br />
...and follow the on screen instructions (Delete backup afterwards (/home/user.XXXXX) / Record the passphrase generated by ecryptfs -> ecryptfs-unwrap-passphrase / ...)<br />
<br />
9) Log in and check if everything worked correctly.<br />
<br />
This is a working solution and ecryptfs is exactly used as in Ubuntu (10.04/10.10) - and is easy to set up. <br />
Besides this, it has the advantage of auto-unmount at log-out, which shell profile files (ie. ~/.bash_logout) could have trouble doing, because there could still be open file-descriptors by the shell at the time of umount. To encrypt swap see: [[System_Encryption_with_LUKS#Encrypting_the_Swap_partition]] (some of the tools provided by ecryptfs, such as ecryptfs-setup-swap, only work in ubuntu).<br />
<br />
== Simple ==<br />
Use [http://xyne.archlinux.ca/projects/ecryptfs-simple/ ecryptfs-simple] if you just want to use eCryptfs to mount arbitrary directories the way you can with EncFS. ecryptfs-simple does not require root privileges or entries in fstab, nor is it limited to hard-coded directories such as ~/.Private. The package is available in the [https://aur.archlinux.org/packages.php?ID=59612 AUR] and in [http://xyne.archlinux.ca/repos/ Xyne's repos].<br />
<br />
As the name implies, usage is simple:<br />
# simple mounting<br />
ecryptfs-simple /path/to/foo /path/to/bar<br />
<br />
# automatic mounting: prompts for options on the first mount of a directory then reloads them next time<br />
ecryptfs-simple -a /path/to/foo /path/to/bar<br />
<br />
# unmounting by source directory<br />
ecryptfs-simple -u /path/to/foo<br />
<br />
# unmounting by mountpoint<br />
ecryptfs-simple -u /path/to/bar</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=Postfix&diff=216363Postfix2012-08-03T18:11:28Z<p>Ryon.sherman: Changed '/var/run' to 'run' in authmysqlrc</p>
<hr />
<div>[[Category:Web Server]]<br />
From [http://www.postfix.org/ Postfix's site]:<br />
:"''Postfix attempts to be fast, easy to administer, and secure, while at the same time being sendmail compatible enough to not upset existing users. Thus, the outside has a sendmail-ish flavor, but the inside is completely different.''"<br />
<br />
The goal of this article is to setup postfix for virtual mailbox delivery only. There will be no delivery to user accounts on the system ({{ic|/etc/passwd}}). Further, access will only be available via a web mail frontend (squirrelmail), no direct pop3 or imap access will be granted. It should be fairly easy to allow those additional features given the information below, but it is not within the scope of this document.<br />
<br />
For a local mail delivery guide, see: [[Local Mail Delivery with Postfix]].<br />
<br />
==Required packages==<br />
*postfix (compiled for mysql support)<br />
*courier-imap<br />
*squirrelmail<br />
*mysql<br />
*apache<br />
*ssl<br />
<br />
If you have trouble finding a package specific to this How-To, try the resources link at the bottom.<br />
<br />
==Postfix Installation==<br />
===Step 1: Install Postfix===<br />
Postfix with MySQL enabled is required for this HOW-TO.<br />
So we will [[pacman|install]] the package called {{Pkg|postfix}} which can be found in the [[Official Repositories|official repositories]].<br />
<br />
===Step 2: Check /etc/passwd, /etc/group===<br />
Make sure that the following shows up in {{ic|/etc/passwd}}:<br />
postfix:x:73:73::/var/spool/postfix:/bin/false<br />
<br />
Make sure that the following shows up in {{ic|/etc/group}}:<br />
postdrop:x:75:<br />
postfix:x:73:<br />
<br />
{{Note|Postfix can be made to run in a chroot. This document does not currently cover this and might be added later.}}<br />
<br />
==Postfix Configuration==<br />
===Step 1: Ensure DNS setup===<br />
For mail delivery on the internet, your dns must be correct. An MX record should point to the mail host.<br />
It should be noted that some mail servers will not deliver mail to you if your MX record points to a CNAME. For best results, always point an MX record to an A record definition. For more information, see e.g. [https://secure.wikimedia.org/wikipedia/en/wiki/List_of_DNS_record_types Wikipedia's List of DNS Record Types].<br />
<br />
===Step 2: /etc/postfix/master.cf===<br />
This is the Pipeline configuration file, in which you can put your new pipes e.g. to check for Spam!<br />
<br />
===Step 3: /etc/postfix/main.cf===<br />
====Step 3.1 myhostname====<br />
set myhostname if your mail server has multiple domains, and you do not want the primary domain to be the mail host. The default is to use the result of a gethostname() call if nothing is specified.<br />
For our purposes we will just set it as follows:<br />
<pre><br />
myhostname = mail.nospam.net<br />
</pre><br />
This is assuming that a DNS A record, and an MX record both point to mail.nospam.net<br />
<br />
====Step 3.2 mydomain====<br />
this is usually the value of myhostname, minus the first part. If your domain is wonky, then just set it manually.<br />
<pre><br />
mydomain = nospam.net<br />
</pre><br />
<br />
====Step 3.3 myorigin====<br />
this is where the email will be seen as being sent from. I usually set this to the value of mydomain. For simple servers, this works fine. This is for mail originating from a local account. Since we are not doing local delivery (except sending), then this is not really as important as it normally would be.<br />
<pre><br />
myorigin = $mydomain<br />
</pre><br />
<br />
====Step 3.4 mydestination====<br />
This is the lookup for local users. Since we are not going to deliver internet mail for any local users, set this to localhost only.<br />
<pre><br />
mydestination = localhost<br />
</pre><br />
<br />
====Step 3.5 mynetworks and mynetwork_style====<br />
Both of these control relaying, and whom is allowed to. We do not want any relaying.<br />
For our sakes, we will simply set mynetwork_style to host, as we are trying to make a standalone postfix host, that people with use webmail on. No relaying, no other MTA's. Just webmail.<br />
<pre><br />
mynetworks_style = host<br />
</pre><br />
<br />
====Step 3.6 relaydomains====<br />
This controls the destinations that postfix will relay TO. The default value is $mydestination. This should be fine for now.<br />
<pre><br />
relay_domains = $mydestination<br />
</pre><br />
<br />
====Step 3.7 home_mailbox====<br />
This setting controls how mail is stored for the users.<br />
Set this to "Maildir/", as courier IMAP requires Maildir style mail storage. This is a good thing. Maildir format mailboxes remove the possible race conditions that can occur with old style mbox formats. No more need to deal with file locking. The '/' at the end is REQUIRED.<br />
<pre><br />
home_mailbox = Maildir/<br />
</pre><br />
<br />
====Step 3.8 virtual_mail====<br />
Virtual mail is mail that does not map to a user account (/etc/passwd). This is where all the email for the system will be kept. We are not doing local delivery, remember, so if you want a user that has the same name as a local user, just make a virtual account with the same name.<br />
First thing we need to do is add the following:<br />
<pre><br />
virtual_mailbox_domains = virtualdomain.tld<br />
virtual_alias_maps = hash:/etc/postfix/virtual_alias, mysql:/etc/postfix/mysql_virtual_forwards.cf<br />
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains.cf<br />
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailboxes.cf<br />
virtual_mailbox_base = /home/vmailer<br />
virtual_uid_maps = static:5003<br />
virtual_gid_maps = static:5003<br />
virtual_minimum_uid = 5003<br />
virtual_mailbox_limit = 51200000<br />
</pre><br />
<br />
virtual_mailbox_domains is a list of the domains that you want to receive mail for. This CANNOT be the same thing that is listed in mydestination. That is why we left mydestination to be localhost only.<br />
virtual_mailbox_maps will contain the info about the virtual users and their mailbox locations. We are using a hash file to store the more permanent maps, and these will override the forwards in the mysql database.<br />
<br />
virtual_mailbox_base is the base dir where the virtual mailboxes will be stored.<br />
The gid and uid maps are the real system user account that the virtual mail will be owned by. This is for storage purposes. Since we will be using a web interface, and do not want people accessing this by any other means, we will be creating this account later with no login access.<br />
Virtual_mailbox_limit controls the size of the mailbox. I do not know how well this works yet. I have set the size above to about 50MB.<br />
====Step 3.9 Default message &amp; mailbox size limits====<br />
Postfix imposes both message and mailbox size limits by default. The message_size_limit controls the maximum size in bytes of a message, including envelope information. (default 10240000) The mailbox_size_limit controls the maximum size of any local individual mailbox or maildir file. This limits the size of '''any''' file that is written to upon local delivery, '''including files written by external commands''' (i.e. procmail) that are executed by the local delivery agent. (default is 51200000, set to 0 for no limit) If bounced message notifications are generated, check the size of the local mailbox under /var/spool/mail and use postconf to check these size limits:<br />
<br />
<pre><br />
supersff:~> postconf -d mailbox_size_limit<br />
mailbox_size_limit = 51200000<br />
supersff:~> postconf -d message_size_limit<br />
message_size_limit = 10240000<br />
</pre><br />
<br />
===Step 4. /etc/postfix/aliases===<br />
We need to map some aliases to real accounts. The default setup by arch looks pretty good here. =D<br />
Uncomment the following line, and change it to a real account. I put the user account on the box that I use. Best not to just send mail to root, because you do not want to be logging in as root or checking email as root. Not good. Sudo is your friend, and so is forwarding root mail. Since this is for local delivery only (syslogs and stuff), it is still within the realm of mydestination.<br />
<pre><br />
root: cactus<br />
</pre><br />
Once you have finished editing /etc/postfix/aliases you must run the postalias command.<br />
<pre><br />
postalias /etc/postfix/aliases<br />
</pre><br />
<br />
===Step 5. /etc/postfix/virtual_alias===<br />
Create /etc/postfix/virtual_alias with the following contents<br />
<pre><br />
MAILER-DAEMON: postmaster<br />
postmaster: root<br />
<br />
# General redirections for pseudo accounts<br />
bin: root<br />
daemon: root<br />
named: root<br />
nobody: root<br />
uucp: root<br />
www: root<br />
ftp-bugs: root<br />
postfix: root<br />
<br />
# Put your local aliases here.<br />
<br />
# Well-known aliases<br />
manager: root<br />
dumper: root<br />
operator: root<br />
abuse: postmaster<br />
<br />
# trap decode to catch security attacks<br />
decode: root<br />
<br />
# Person who should get root's mail. Don't receive mail as root!<br />
root: cactus@virtualdomain.tld<br />
</pre><br />
<br />
Then run the postalias command on it.<br />
<pre><br />
postalias /etc/postfix/virtual_alias<br />
</pre><br />
<br />
===Step 6. mysql_virtual_domains.cf===<br />
Create the /etc/postfix/mysql_virtual_domains.cf file with the following (or similar) contents:<br />
<pre><br />
user = postfixuser<br />
password = XXXXXXXXXX<br />
hosts = localhost<br />
dbname = postfix<br />
table = domains<br />
select_field = 'virtual'<br />
where_field = domain<br />
</pre><br />
<br />
===Step 7. mysql_virtual_mailboxes.cf===<br />
Create the /etc/postfix/mysql_virtual_mailboxes.cf file with the following (or similar) contents:<br />
<pre><br />
user = postfixuser<br />
password = XXXXXXXXXX<br />
hosts = localhost<br />
dbname = postfix<br />
table = users<br />
select_field = concat(domain,'/',email,'/')<br />
where_field = email<br />
</pre><br />
<br />
===Step 8. mysql_virtual_forwards.cf===<br />
Create the /etc/postfix/mysql_virtual_forwards.cf file with the following (or similar) contents:<br />
<pre><br />
user = postfixuser<br />
password = XXXXXXXXXX<br />
hosts = localhost<br />
dbname = postfix<br />
table = forwardings<br />
select_field = destination<br />
where_field = source<br />
</pre><br />
<br />
===Step 9. postfix check===<br />
Run the postfix check command. It should output anything that you might have done wrong in a config file. To see all of your configs, type <kbd>postconf</kbd>. To see how you differ from the defaults, try <kbd>postconf -n</kbd><br />
<br />
===Step 10. /etc/rc.conf===<br />
Add postfix to the list of daemons. Put it near the right side, after iptables and network.<br />
Put it after mysqld, as we are going to be using mysql for some of the virtual domain information storage. It is also best to put it before httpd, as it might be possible, however unlikely, for a webmail user to try something before postfix has fully started.<br />
<pre><br />
DAEMONS=(syslog-ng hotplug !pcmcia iptables network netfs crond sshd mysqld postfix httpd)<br />
</pre><br />
<br />
===Step 11. newuser===<br />
We need to create the user for storing the virtual mail. Create a vmailuser as follows:<br />
<pre><br />
groupadd -g 5003 vmail<br />
useradd -g vmail -u 5003 -d /home/vmailer -s /bin/false vmailer<br />
mkdir /home/vmailer<br />
chown vmailer.vmail /home/vmailer<br />
chmod -R 750 /home/vmailer<br />
passwd vmailer<br />
</pre><br />
note that 5003 is the gid specified in the postfix main.cf file.<br />
note that 5003 is the uid specified in the postfix main.cf file.<br />
<br />
==Mysql configuration==<br />
===Step 1. Create a mysql Database===<br />
Create mysql database called 'postfix', or something similar.<br />
<br />
CREATE DATABASE postfix;<br />
USE postfix;<br />
<br />
===Step 2. Setup table structure.===<br />
Import the following table structure.<br />
<pre><br />
CREATE TABLE `domains` (<br />
`domain` varchar(50) NOT NULL default '',<br />
PRIMARY KEY (`domain`),<br />
UNIQUE KEY `domain` (`domain`)<br />
);<br />
<br />
<br />
CREATE TABLE `forwardings` (<br />
`source` varchar(80) NOT NULL default '',<br />
`destination` text NOT NULL,<br />
PRIMARY KEY (`source`)<br />
);<br />
<br />
CREATE TABLE `users` (<br />
`email` varchar(80) NOT NULL default '',<br />
`password` varchar(20) NOT NULL default '',<br />
`quota` varchar(20) NOT NULL default '20971520',<br />
`domain` varchar(255) NOT NULL default '',<br />
UNIQUE KEY `email` (`email`)<br />
);<br />
</pre><br />
<br />
===Step 3. Create a mysql user===<br />
Add a user for postfix to use. Something like \"postfixuser\".<br />
Give permissions for postfix user to the table. This user should be listed in the /etc/postfix/mysql''virtual''domains.cf file.<br />
<br />
The [http://dev.mysql.com/doc/refman/5.5/en/server-administration.html official reference manual] has a detailed guide on user management and server administration in general.<br />
<br />
The following is just an example for creation of 'postfixuser' with password 'XXXXXXXXXX'.<br />
Note that the GRANT statements need to be executed after creating the tables in the next step.<br />
<br />
CREATE USER 'postfixuser' IDENTIFIED BY 'XXXXXXXXXX';<br />
GRANT SELECT, INSERT, UPDATE, DELETE ON domains TO postfixuser;<br />
GRANT SELECT, INSERT, UPDATE, DELETE ON forwardings TO postfixuser;<br />
GRANT SELECT, INSERT, UPDATE, DELETE ON users TO postfixuser;<br />
<br />
===Step 4. Add a domain.===<br />
<pre><br />
INSERT INTO `domains` VALUES ('virtualdomain.tld');<br />
</pre><br />
<br />
===Step 5. Add a user.===<br />
<pre><br />
INSERT INTO `users` VALUES ('cactus@virtualdomain.tld', 'secret', <br />
'20971520', 'virtualdomain.tld');<br />
</pre><br />
<br />
The above creates the user and sets a password as secret. <br />
<br />
This will allow you to use encrypted passwords<br />
<br />
<pre><br />
INSERT INTO `users` VALUES ('cactus@virtualdomain.tld', ENCRYPT('secret'), <br />
'20971520', 'virtualdomain.tld');<br />
</pre><br />
<br />
==Test Postfix==<br />
===Step 1: Start postfix===<br />
<pre><br />
/etc/rc.d/postfix start<br />
</pre><br />
<br />
===Step 1: Test postfix===<br />
Lets see if postfix is going to deliver mail for our test user.<br />
<pre><br />
telnet servername 25<br />
ehlo testmail.org<br />
mail from:<test@testmail.org><br />
rcpt to:<cactus@virtualdomain.tld><br />
data<br />
This is a test email.<br />
<br />
.<br />
quit<br />
</pre><br />
==== Error response ====<br />
451 4.3.0 <lisi@test.com>:Temporary lookup failure<br />
maybe you have entered the wrong user/pass for mysql or the mysql socket is not in the right place.<br />
<br />
<br />
==== See that you have received a email ====<br />
now type the following:<br />
<pre><br />
find /home/vmailer<br />
</pre><br />
<br />
you should see something like the following:<br />
<pre><br />
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld<br />
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/tmp<br />
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/cur<br />
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new<br />
/home/vmailer/virtualdomain.tld/cactus@virtualdomain.tld/new/1102974226.2704_0.bonk.testmail.org<br />
</pre><br />
The key is the last entry. This is an actual email. If you see that, it is working.<br />
<br />
==Courier IMAP Installation==<br />
===Step 1: Install Courier IMAP===<br />
<pre><br />
pacman -S courier-imap courier-imap-mysql<br />
</pre><br />
<br />
==Configure Courier IMAP==<br />
===Step 1: /etc/courier-imap/imapd===<br />
<pre><br />
ADDRESS=127.0.0.1<br />
</pre><br />
<br />
We set the listen address to LOCAL ONLY. No outside connections.<br />
<br />
===Step 2: /etc/authlib/authdaemonrc===<br />
<pre><br />
authmodulelist="authmysql"<br />
</pre><br />
<br />
===Step 3: /etc/authlib/authmysqlrc===<br />
<pre><br />
MYSQL_SERVER localhost<br />
MYSQL_USERNAME postfixuser<br />
MYSQL_PASSWORD secret<br />
MYSQL_SOCKET /run/mysqld/mysqld.sock<br />
MYSQL_DATABASE postfix<br />
# MYSQL_NAME_FIELD name<br />
MYSQL_USER_TABLE users<br />
MYSQL_CLEAR_PWFIELD password<br />
MYSQL_UID_FIELD '5003'<br />
##note, this is the uid that we set in /etc/postfix/main.cf<br />
MYSQL_GID_FIELD '5003'<br />
##note, this is the gid that we set in /etc/postfix/main.cf<br />
MYSQL_LOGIN_FIELD email<br />
MYSQL_HOME_FIELD "/home/vmailer"<br />
MYSQL_MAILDIR_FIELD concat(domain,'/',email,'/')<br />
MYSQL_QUOTA_FIELD quota<br />
</pre><br />
<br />
If you are using encrypted passwords by using MySQL's encrypt function. Use "MYSQL_CRYPT_PWFIELD columnname" instead of "MYSQL_CLEAR_PWFIELD columnname".<br />
<br />
===Step 6: /etc/conf.d/courier-imap===<br />
First start the courier-imap daemon then stop it right away. I do not know exactly what this does (if anything.lol), but I have attempted the following step without having fulfilled that precondition and it borked on me. '''shrug''' <br />
A quick<br />
<pre><br />
/etc/rc.d/authdaemond start<br />
/etc/rc.d/courier-imap start<br />
/etc/rc.d/courier-imap stop<br />
/etc/rc.d/authdaemond stop<br />
</pre><br />
should be enough. <br />
Now, remove the pop3d listings from courier-imap. We are only using the imap facility. Since the daemon is local only (localhost), we do not need the ssl imapd server either. <br />
/etc/conf.d/courier-imap<br />
<pre><br />
CI_DAEMONS="imapd"<br />
#CI_DAEMONS="imapd pop3d imapd-ssl pop3d-ssl"<br />
</pre><br />
<br />
===Step 7: Add courier-imap to rc.conf===<br />
<pre><br />
DAEMONS=(syslog-ng hotplug !pcmcia iptables network netfs crond sshd mysqld postfix authdaemond courier-imap httpd)<br />
</pre><br />
<br />
Again, make sure to add courier after postfix, after mysqld and after postfix, yet before httpd.<br />
<br />
===Step 8: Fam and rpcbind===<br />
{{Accuracy|FAM should not be required anymore.|section=FAM is obsolete}}<br />
Courier-imap for arch comes compiled with FAM. This means portmap is also required. What used to be portmap is nowadays called rpcbind.<br />
If rpcbind is not already installed:<br />
<pre><br />
pacman -S rpcbind<br />
</pre><br />
<br />
Now edit /etc/fam/fam.conf<br />
<pre><br />
local_only = true<br />
idle_timeout = 0<br />
</pre><br />
Make sure the two above values are set.<br />
<br />
Now add rpcbind and fam to the daemons list in /etc/rc.conf<br />
<pre><br />
DAEMONS=(syslog-ng hotplug !pcmcia iptables network netfs crond sshd mysqld postfix rpcbind fam<br />
courier-imap httpd)<br />
</pre><br />
Make sure that rpcbind starts after network, but before fam, and fam starts before courier.<br />
Now start them.<br />
<pre><br />
/etc/rc.d/rpcbind start<br />
/etc/rc.d/fam start<br />
</pre><br />
<br />
===Step 9: Start courier imap===<br />
<pre><br />
/etc/rc.d/courier-imap start<br />
</pre><br />
<br />
check /var/log/mail.log for any errors.<br />
<br />
===Step 10: Test courier..===<br />
Lets see if courier is working:<br />
<pre><br />
telnet localhost imap<br />
Trying 127.0.0.1...<br />
Connected to localhost.localdomain.<br />
Escape character is '^]'.<br />
* OK [[CAPABILITY IMAP4rev1 ... ]] Courier-IMAP ready.<br />
<br />
A LOGIN "cactus@virtualdomain.tld" "password"<br />
A OK LOGIN Ok.<br />
<br />
B SELECT "Inbox"<br />
* FLAGS (\Draft \Answered ... \Recent)<br />
* OK [[PERMANENTFLAGS (\Draft \Answered ... \Seen)]] Limited<br />
* 8 EXISTS<br />
* 5 RECENT<br />
* OK [[UIDVALIDITY 1026858715]] Ok<br />
B OK [[READ-WRITE]] Ok<br />
<br />
Z LOGOUT<br />
* BYE Courier-IMAP server shutting down<br />
Z OK LOGOUT completed<br />
Connection closed by foreign host.<br />
</pre><br />
<br />
==Squirrelmail Installation==<br />
===Step 1: Install Squirrelmail===<br />
[[pacman|Install]] the {{Pkg|squirrelmail}} package which is found in the [[Official Repositories|official repositories]].<br />
<br />
==Configure Squirrelmail==<br />
===Step 1: Create secure http site (https)===<br />
We are going to create a secure http site. This is so that people can login with plain text passwords, and not have to worry about the passwords getting sniffed (or worry less).<br />
<br />
====Step 1.1: Edit /etc/httpd/conf/extra/httpd-ssl.conf====<br />
Add appropriate information. Here is an example section:<br />
<pre><br />
<VirtualHost _default_:443><br />
# General setup for the virtual host<br />
DocumentRoot "/home/httpd/site.virtual/virtualdomain.tld/html"<br />
ServerName virtualdomain.tld:443<br />
ServerAdmin noemailonthisbox@localhost<br />
<Directory "/home/httpd/site.virtual/virtualdomain.tld/html"><br />
Options -Indexes +FollowSymLinks<br />
AllowOverride Options Indexes AuthConfig<br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
</pre><br />
<br />
====Step 1.15 Include httpd-ssl.conf in httpd.conf====<br />
Simply uncomment this line in your httpd.conf:<br />
<pre><br />
#Include conf/extra/httpd-ssl.conf<br />
</pre><br />
<br />
====Step 1.2: Create the directory structure====<br />
Now, create the directory you specified in the ssl.conf file.<br />
<pre><br />
mkdir -p /home/httpd/site.virtual/virtualdomain.tld/html<br />
</pre><br />
<br />
====Step 1.3: Generate a certificate====<br />
Follow the instructions here: [[LAMP#SSL]]<br />
<br />
====Step 1.4: Restart apache and test====<br />
Make sure that https is now working, and that you can get to the secure site.<br />
<br />
===Step 2: Put squirrelmail in the directory you created===<br />
Either extract squirrelmail, or move it from where the arch package puts it, into the directory you created for the secure http site.<br />
<br />
===Step 3: Run squirrelmail config utility===<br />
cd 'squirrelmaildir'/config<br />
<pre><br />
perl conf.pl<br />
</pre><br />
<br />
Make sure you select 'D', then type in courier and hit enter. Make sure your other options are correct as well.<br />
Note: If you use php with safe mode on, make sure that the data dir is owned by the same owner as all the files in the squirrelmail directory. With safe mode off, simply follow the squirrelmail setup directions.<br />
<br />
===Step 4: Test the squirrelmail setup===<br />
Point your browser to squirrelmail/src/configtest.php. Should you get an error on directory location, make sure php.ini has been set to allow access to them (open_basedir directive).<br />
<br />
===Step 5: Test squirrelmail===<br />
Log in with the test account. You will need to login with the form of: <br />
username: cactus@virtualdomain.tld <br />
password: secret<br />
<br />
Try sending email to non-existent local accounts. You should get an immediate bounce back. <br />
Try sending email to external good email accounts, as well as non-existent ones. <br />
Just general testing stuff.<br />
If everything works fine, then you can add other accounts to the mysql database, and away you go!<br />
<br />
====Troubleshooting====<br />
If you received an error similar to <br />
{{bc|1=Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/var/lib/squirrelmail/data) is not within the allowed path(s): \<br />
(/srv/http/:/home/:/tmp/:/usr/share/pear/) in /home/httpd/site.virtual/virtualdomain.tld/html/squirrelmail/src/configtest.php on line 303<br />
}}<br />
then edit {{ic|/etc/httpd/httpd.conf}}, and in the section {{ic|1=<Directory "/home/httpd/site.virtual/virtualdomain.tld/html">}}, add {{ic|php_admin_value open_basedir /home/httpd/site.virtual/virtualdomain.tld/html:/var/lib/squirrelmail/}}<br />
<br />
==See also==<br />
*[[Simple Virtual User Mail System]]<br />
*[[Courier MTA]]<br />
*[[SOHO Postfix]]<br />
<br />
==External links==<br />
*[http://linox.be/index.php/2005/07/13/44/ Out of Office] for squirrelmail<br />
*[https://help.ubuntu.com/community/Postfix Postfix Ubuntu documentation]<br />
*[http://www.gelens.org/archlinux-mailserver/ A Simple Mailserver on Arch Linux]<br />
*[http://sherlock.heroku.com/blog/2012/02/03/setting-up-postfix-to-use-gmail-as-an-smtp-relay-host-in-archlinux/ Use Gmail as an SMTP Relay]</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213642User:Ryon.sherman2012-07-19T19:45:25Z<p>Ryon.sherman: </p>
<hr />
<div>== Articles ==<br />
* [[Fbsplash]]<br />
* [[LUKS|dm-crypt with LUKS]]<br />
<br />
== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
community/{{Pkg|pkgtools}}<br />
A collection of scripts for Arch Linux packages<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} ({{Pkg|xfce4-goodies}})<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Configuration Files ==<br />
=== /etc/pkgtools/pkgfile.conf ===<br />
CMD_SEARCH_ENABLED=1<br />
<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
==== DAEMONS ====<br />
====== Common ======<br />
DAEMONS=(hwclock syslog-ng crond dbus hal sshd samba rpcbind nfs-common @netfs @distccd<br />
@sensors @hddtemp)<br />
====== Desktop ======<br />
DAEMONS=(networkmanager @g15daemon @psd)<br />
====== Laptop ======<br />
DAEMONS=(networkmanager @psd)<br />
====== Server ======<br />
DAEMONS=(@stunnel)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"<br />
<br />
== [[Zsh|Z Shell (zsh)]] ==<br />
=== Prompt ===<br />
[https://gist.github.com/3141215 {{ic|~/.zshrc.local.prompt}}]<br />
<br />
=== Articles ===<br />
* [[Pkgtools#.22Command_not_found.22_hook|"Command not found" hook]]</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213640User:Ryon.sherman2012-07-19T19:40:54Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
community/{{Pkg|pkgtools}}<br />
A collection of scripts for Arch Linux packages<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} ({{Pkg|xfce4-goodies}})<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Configuration Files ==<br />
=== /etc/pkgtools/pkgfile.conf ===<br />
CMD_SEARCH_ENABLED=1<br />
<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
==== DAEMONS ====<br />
====== Common ======<br />
DAEMONS=(hwclock syslog-ng crond dbus hal sshd samba rpcbind nfs-common @netfs @distccd<br />
@sensors @hddtemp)<br />
====== Desktop ======<br />
DAEMONS=(networkmanager @g15daemon @psd)<br />
====== Laptop ======<br />
DAEMONS=(networkmanager @psd)<br />
====== Server ======<br />
DAEMONS=(@stunnel)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"<br />
<br />
== [[Zsh|Z Shell (zsh)]] ==<br />
=== Prompt ===<br />
[https://gist.github.com/3141215 {{ic|~/.zshrc.local.prompt}}]<br />
<br />
=== Articles ===<br />
* [[Pkgtools#.22Command_not_found.22_hook|"Command not found" hook]]</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213639User:Ryon.sherman2012-07-19T19:40:29Z<p>Ryon.sherman: </p>
<hr />
<div>== [[Zsh|Z Shell (zsh)]] ==<br />
=== Prompt ===<br />
[https://gist.github.com/3141215 {{ic|~/.zshrc.local.prompt}}]<br />
<br />
=== Articles ===<br />
* [[Pkgtools#.22Command_not_found.22_hook|"Command not found" hook]]<br />
<br />
== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
community/{{Pkg|pkgtools}}<br />
A collection of scripts for Arch Linux packages<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} ({{Pkg|xfce4-goodies}})<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Configuration Files ==<br />
=== /etc/pkgtools/pkgfile.conf ===<br />
CMD_SEARCH_ENABLED=1<br />
<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
==== DAEMONS ====<br />
====== Common ======<br />
DAEMONS=(hwclock syslog-ng crond dbus hal sshd samba rpcbind nfs-common @netfs @distccd<br />
@sensors @hddtemp)<br />
====== Desktop ======<br />
DAEMONS=(networkmanager @g15daemon @psd)<br />
====== Laptop ======<br />
DAEMONS=(networkmanager @psd)<br />
====== Server ======<br />
DAEMONS=(@stunnel)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213582User:Ryon.sherman2012-07-19T07:00:38Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} ([[Xfce#Installation|xfce4-goodies]])<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Prompt ==<br />
=== [https://gist.github.com/3141215 ~/.zshrc.local.prompt] ===<br />
<br />
== Configuration Files ==<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
==== DAEMONS ====<br />
===== Common =====<br />
DAEMONS=(hwclock syslog-ng crond dbus hal sshd samba rpcbind nfs-common @netfs @distccd<br />
@sensors @hddtemp)<br />
===== Desktop =====<br />
DAEMONS=(networkmanager @g15daemon @psd)<br />
===== Laptop =====<br />
DAEMONS=(networkmanager @psd)<br />
===== Server =====<br />
DAEMONS=(@stunnel)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213581User:Ryon.sherman2012-07-19T06:49:21Z<p>Ryon.sherman: /* /etc/rc.conf */</p>
<hr />
<div>== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} ([[Xfce#Installation|xfce4-goodies]])<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Configuration Files ==<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
==== DAEMONS ====<br />
===== Common =====<br />
DAEMONS=(hwclock syslog-ng crond dbus hal sshd samba rpcbind nfs-common @netfs @distccd<br />
@sensors @hddtemp)<br />
===== Desktop =====<br />
DAEMONS=(networkmanager @g15daemon @psd)<br />
===== Laptop =====<br />
DAEMONS=(networkmanager @psd)<br />
===== Server =====<br />
DAEMONS=(@stunnel)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213580User:Ryon.sherman2012-07-19T06:44:04Z<p>Ryon.sherman: /* Desktop */</p>
<hr />
<div>== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} ([[Xfce#Installation|xfce4-goodies]])<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Configuration Files ==<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
DAEMONS=(hwclock syslog-ng crond dbus hal networkmanager sshd samba rpcbind nfs-common @netfs @distccd @stunnel <br />
@sensors @hddtemp @g15daemon @psd)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213579User:Ryon.sherman2012-07-19T06:42:23Z<p>Ryon.sherman: /* Packages */</p>
<hr />
<div>== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} (xfce4-goodies)<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
== Configuration Files ==<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
DAEMONS=(hwclock syslog-ng crond dbus hal networkmanager sshd samba rpcbind nfs-common @netfs @distccd @stunnel <br />
@sensors @hddtemp @g15daemon @psd)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213577User:Ryon.sherman2012-07-19T06:03:03Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
=== Common ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
=== Desktop ===<br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} (xfce4-goodies)<br />
Menu editor for Xfce (with debian patchset)<br />
<br />
=== Laptop ===<br />
community/{{Pkg|laptop-mode-tools}}<br />
A kernel mode that allows you to extend the battery life of your laptop<br />
<br />
=== Server ===<br />
extra/{{Pkg|apache}}<br />
A high performance Unix-based HTTP server<br />
local/{{Pkg|mod_scgi}}<br />
Apache module that implements SCGI protocol<br />
<br />
<br />
== Configuration Files ==<br />
=== /etc/rc.conf ===<br />
LOCALE="en_US.UTF-8"<br />
DAEMON_LOCALE="yes"<br />
TIMEZONE="America/Chicago"<br />
KEYMAP="us"<br />
USECOLOR="yes"<br />
<br />
# Include fuse and VirtualBox modules<br />
MODULES=(fuse vboxdrv)<br />
<br />
DAEMONS=(hwclock syslog-ng crond dbus hal networkmanager sshd samba rpcbind nfs-common @netfs @distccd @stunnel <br />
@sensors @hddtemp @g15daemon @psd)<br />
<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213576User:Ryon.sherman2012-07-19T05:51:44Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
=== pacman -Qs (partial) ===<br />
aur/{{Aur|aurvote}}<br />
Tool to vote for favorite AUR packages<br />
community/{{Pkg|colordiff}}<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
extra/{{Pkg|xorg-server}} ([[xorg]])<br />
Xorg X server <br />
extra/{{Pkg|xorg-server-xephyr}}<br />
A nested X server that runs as an X application<br />
local/{{Pkg|alacarte-xfce}} (xfce4-goodies)<br />
Menu editor for Xfce (with debian patchset)<br />
local/{{Pkg|pacman-color}}<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
== Configuration Files ==<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213575User:Ryon.sherman2012-07-19T05:35:30Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
aur/aurvote<br />
Tool to vote for favorite AUR packages<br />
community/colordiff<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
local/pacman-color<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
== Configuration Files ==<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213574User:Ryon.sherman2012-07-19T05:33:20Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
aur/aurvote<br />
Tool to vote for favorite AUR packages<br />
<br />
community/colordiff<br />
A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' <br />
highlighting<br />
<br />
local/pacman-color<br />
A color patched command-line frontend for libalpm (Pacman)<br />
<br />
== Configuration Files ==<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=213573User:Ryon.sherman2012-07-19T05:31:41Z<p>Ryon.sherman: </p>
<hr />
<div>== Packages ==<br />
aur/aurvote<br />
Tool to vote for favorite AUR packages<br />
<br />
== Configuration Files ==<br />
=== /etc/yaourtrc ===<br />
# Disable 'continue building' prompt<br />
BUILD_NOCONFIRM=1<br />
<br />
# Disable 'Edit PKGBUILD' prompt<br />
EDITFILES=0<br />
<br />
# Use colorized pacman<br />
PACMAN="pacman-color"<br />
<br />
# Use colorized diff<br />
DIFFEDITCMD="colordiff"</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User_talk:Ryon.sherman&diff=185837User talk:Ryon.sherman2012-02-23T03:54:54Z<p>Ryon.sherman: Created page with "talk talk talk"</p>
<hr />
<div>talk talk talk</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=User:Ryon.sherman&diff=185835User:Ryon.sherman2012-02-23T03:53:54Z<p>Ryon.sherman: Created page with "Blue name > Red Name, huzzah!"</p>
<hr />
<div>Blue name > Red Name, huzzah!</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Utilities&diff=185483List of applications/Utilities2012-02-21T02:51:07Z<p>Ryon.sherman: /* Graphical */</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
{{i18n|Common Applications/Utilities}}<br />
{{Common Applications navigation}}<br />
</noinclude><br />
<br />
== Utilities ==<br />
=== AUR Helpers ===<br />
{{Moveto|AUR Helpers}}<br />
<br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|http://adesklets.sourceforge.net/desklets.html|{{AUR|aurnotify}}}}<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|{{AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{AUR|yaourt}}}}<br />
<br />
=== Pacman GUI frontends ===<br />
{{Stub}}<br />
{{Moveto|Pacman GUI Frontends}}<br />
<br />
=== Other ===<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].}}* [[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|Pkgtools|A collection of scripts for Arch Linux packages. Includes '''pkgfile''' &ndash; to find what package owns a file|https://github.com/Daenyth/pkgtools|{{Pkg|pkgtools}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Pkg|pacman-contrib}}}}<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{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|{{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|{{Pkg|Filelight}}}}<br />
* {{App|[[gdmap]]|Gdmap draws a map of rectangles sized according to file or dir sizes.|http://gdmap.sourceforge.net/|{{Pkg|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools ===<br />
{{Moveto|CD Burning}}<br />
<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
<br />
* {{App|Xfburn|A simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Pkg|xfburn}}}}<br />
* {{App|cdw|An Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso|http://cdw.sourceforge.net/|{{AUR|cdw}}}}<br />
* {{App|recorder|A simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Pkg|recorder}}}}<br />
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|A disc burning application for Gnome<br />
|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}<br />
* {{App|[[Wikipedia:K3b|K3b]]|Feature-rich and easy to handle CD burning application|http://www.k3b.org/|{{Pkg|k3b}}}}<br />
* {{App|[[Wikipedia:X-CD-Roast|X-CD-Roast]]|Lightweight cdrtools front-end for CD and DVD writing|http://www.xcdroast.org/|{{AUR|xcdroast}}}}<br />
* {{App|[[Wikipedia:GnomeBaker|GnomeBaker]]|A full featured CD/DVD burning application for Gnome|http://gnomebaker.sourceforge.net/|{{AUR|gnomebaker}}}}<br />
<br />
{{Poor writing}}<br />
<br />
* [[growisofs]]<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
<br />
=== Clipboard Managers ===<br />
* {{App|[[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/|{{AUR|anamnesis}}}}<br />
* {{App|[[ClipIt]]|fork of Parcellite with additional features and bugfixes|http://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}}<br />
* {{App|[[Glipper]]|clipboardmanager for GNOME with more features and plugin support|http://glipper.sourceforge.net/|{{AUR|glipper}}}}<br />
* {{App|[[klipper]]|full featured clipboardmanager for KDE|http://userbase.kde.org/Klipper|{{Pkg|kdebase-workspace}}}}<br />
* {{App|[[Parcellite]]|lightweight yet feature-rich clipboard manager|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}}<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
<br />
==== Console ====<br />
* {{App|[[atool]]|A script for managing file archives of various types|http://www.nongnu.org/atool/|{{Pkg|atool}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux.|http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Ark]]|Archiving Tool for KDE4.|http://kde.org/applications/utilities/ark/|{{Pkg|kdeutils-ark}}}}<br />
* {{App|[[File Roller]]|The default archive manager for GNOME.|http://fileroller.sourceforge.net/|{{Pkg|file-roller}}}}<br />
* {{App|[[Peazip]]|Open source file and archive manager|http://www.peazip.org/peazip-linux.html|{{AUR|peazip}}}}<br />
* {{App|[[Squeeze]]|A featherweight front-end for command line archiving tools.|http://squeeze.xfce.org/|{{AUR|squeeze}}}}<br />
* {{App|[[Xarchive]]|A GTK+ 2 front-end for various command line archiving tools.|http://xarchive.sourceforge.net/|{{AUR|xarchive}}}}<br />
* {{App|[[Wikipedia:Xarchiver|Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2.|http://xarchiver.sourceforge.net/|{{Pkg|xarchiver}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux. Includes 7zFM as GUI. |http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
=== eMoney ===<br />
{{Stub}}<br />
<br />
==== Bitcoin ====<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{AUR|bitcoin}}}}<br />
* [[Bitcoin#Mining|List of mining applications]]<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Pkg|mc}}}}<br />
* {{App|pilot|FM which comes with [[Alpine]]|http://www.washington.edu/alpine|{{Pkg|alpine}}}}<br />
* {{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Pkg|ranger}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Pkg|vifm}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Pkg|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Pkg|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Pkg|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Pkg|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Pkg|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Pkg|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/|{{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|{{Pkg|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|{{Pkg|tuxcmd}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Pkg|xfe}}}}<br />
* {{App|[[worker]]|A fast, lightweight and feature-rich file manager for the X Window System|http://www.boomerangsworld.de/worker/|{{AUR|worker}}}}<br />
<br />
=== Merge tools ===<br />
{{Poor writing}}<br />
<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/|{{Pkg|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Pkg|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Pkg|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Pkg|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Pkg|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Pkg|trayer}}}}<br />
* {{App|[[wbar]]|A quick launch bar developed with speed in mind|http://freecode.com/projects/wbar/|{{Pkg|wbar}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Pkg|xfce4-panel}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Utilities&diff=185482List of applications/Utilities2012-02-21T02:45:46Z<p>Ryon.sherman: /* CD/DVD Burning Tools */ Added links and description for GnomeBaker</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
{{i18n|Common Applications/Utilities}}<br />
{{Common Applications navigation}}<br />
</noinclude><br />
<br />
== Utilities ==<br />
=== AUR Helpers ===<br />
{{Moveto|AUR Helpers}}<br />
<br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|http://adesklets.sourceforge.net/desklets.html|{{AUR|aurnotify}}}}<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|{{AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{AUR|yaourt}}}}<br />
<br />
=== Pacman GUI frontends ===<br />
{{Stub}}<br />
{{Moveto|Pacman GUI Frontends}}<br />
<br />
=== Other ===<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].}}* [[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|Pkgtools|A collection of scripts for Arch Linux packages. Includes '''pkgfile''' &ndash; to find what package owns a file|https://github.com/Daenyth/pkgtools|{{Pkg|pkgtools}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Pkg|pacman-contrib}}}}<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{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|{{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|{{Pkg|Filelight}}}}<br />
* {{App|[[gdmap]]|Gdmap draws a map of rectangles sized according to file or dir sizes.|http://gdmap.sourceforge.net/|{{Pkg|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools ===<br />
{{Moveto|CD Burning}}<br />
<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
<br />
* {{App|Xfburn|A simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Pkg|xfburn}}}}<br />
* {{App|cdw|An Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso|http://cdw.sourceforge.net/|{{AUR|cdw}}}}<br />
* {{App|recorder|A simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Pkg|recorder}}}}<br />
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|A disc burning application for Gnome<br />
|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}<br />
* {{App|[[Wikipedia:K3b|K3b]]|Feature-rich and easy to handle CD burning application|http://www.k3b.org/|{{Pkg|k3b}}}}<br />
* {{App|[[Wikipedia:X-CD-Roast|X-CD-Roast]]|Lightweight cdrtools front-end for CD and DVD writing|http://www.xcdroast.org/|{{AUR|xcdroast}}}}<br />
* {{App|[[Wikipedia:GnomeBaker|GnomeBaker]]|A full featured CD/DVD burning application for Gnome|http://gnomebaker.sourceforge.net/|{{AUR|gnomebaker}}}}<br />
<br />
{{Poor writing}}<br />
<br />
* [[growisofs]]<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
<br />
=== Clipboard Managers ===<br />
* {{App|[[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/|{{AUR|anamnesis}}}}<br />
* {{App|[[ClipIt]]|fork of Parcellite with additional features and bugfixes|http://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}}<br />
* {{App|[[Glipper]]|clipboardmanager for GNOME with more features and plugin support|http://glipper.sourceforge.net/|{{AUR|glipper}}}}<br />
* {{App|[[klipper]]|full featured clipboardmanager for KDE|http://userbase.kde.org/Klipper|{{Pkg|kdebase-workspace}}}}<br />
* {{App|[[Parcellite]]|lightweight yet feature-rich clipboard manager|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}}<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
<br />
==== Console ====<br />
* {{App|[[atool]]|A script for managing file archives of various types|http://www.nongnu.org/atool/|{{Pkg|atool}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux.|http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Ark]]|Archiving Tool for KDE4.|http://kde.org/applications/utilities/ark/|{{Pkg|kdeutils-ark}}}}<br />
* {{App|[[File Roller]]|The default archive manager for GNOME.|http://fileroller.sourceforge.net/|{{Pkg|file-roller}}}}<br />
* {{App|[[Peazip]]|Open source file and archive manager|http://www.peazip.org/peazip-linux.html|{{AUR|peazip}}}}<br />
* {{App|[[Squeeze]]|A featherweight front-end for command line archiving tools.|http://squeeze.xfce.org/|{{AUR|squeeze}}}}<br />
* {{App|[[Xarchive]]|A GTK+ 2 front-end for various command line archiving tools.|http://xarchive.sourceforge.net/|{{AUR|xarchive}}}}<br />
* {{App|[[Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2.|http://xarchiver.sourceforge.net/|{{Pkg|xarchiver}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux. Includes 7zFM as GUI. |http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
=== eMoney ===<br />
{{Stub}}<br />
<br />
==== Bitcoin ====<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{AUR|bitcoin}}}}<br />
* [[Bitcoin#Mining|List of mining applications]]<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Pkg|mc}}}}<br />
* {{App|pilot|FM which comes with [[Alpine]]|http://www.washington.edu/alpine|{{Pkg|alpine}}}}<br />
* {{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Pkg|ranger}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Pkg|vifm}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Pkg|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Pkg|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Pkg|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Pkg|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Pkg|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Pkg|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/|{{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|{{Pkg|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|{{Pkg|tuxcmd}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Pkg|xfe}}}}<br />
* {{App|[[worker]]|A fast, lightweight and feature-rich file manager for the X Window System|http://www.boomerangsworld.de/worker/|{{AUR|worker}}}}<br />
<br />
=== Merge tools ===<br />
{{Poor writing}}<br />
<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/|{{Pkg|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Pkg|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Pkg|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Pkg|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Pkg|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Pkg|trayer}}}}<br />
* {{App|[[wbar]]|A quick launch bar developed with speed in mind|http://freecode.com/projects/wbar/|{{Pkg|wbar}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Pkg|xfce4-panel}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Utilities&diff=185481List of applications/Utilities2012-02-21T02:41:14Z<p>Ryon.sherman: /* CD/DVD Burning Tools */ Added links and description for X-CD-Roast</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
{{i18n|Common Applications/Utilities}}<br />
{{Common Applications navigation}}<br />
</noinclude><br />
<br />
== Utilities ==<br />
=== AUR Helpers ===<br />
{{Moveto|AUR Helpers}}<br />
<br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|http://adesklets.sourceforge.net/desklets.html|{{AUR|aurnotify}}}}<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|{{AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{AUR|yaourt}}}}<br />
<br />
=== Pacman GUI frontends ===<br />
{{Stub}}<br />
{{Moveto|Pacman GUI Frontends}}<br />
<br />
=== Other ===<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].}}* [[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|Pkgtools|A collection of scripts for Arch Linux packages. Includes '''pkgfile''' &ndash; to find what package owns a file|https://github.com/Daenyth/pkgtools|{{Pkg|pkgtools}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Pkg|pacman-contrib}}}}<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{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|{{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|{{Pkg|Filelight}}}}<br />
* {{App|[[gdmap]]|Gdmap draws a map of rectangles sized according to file or dir sizes.|http://gdmap.sourceforge.net/|{{Pkg|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools ===<br />
{{Moveto|CD Burning}}<br />
<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
<br />
* {{App|Xfburn|A simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Pkg|xfburn}}}}<br />
* {{App|cdw|An Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso|http://cdw.sourceforge.net/|{{AUR|cdw}}}}<br />
* {{App|recorder|A simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Pkg|recorder}}}}<br />
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|A disc burning application for Gnome<br />
|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}<br />
* {{App|[[Wikipedia:K3b|K3b]]|Feature-rich and easy to handle CD burning application|http://www.k3b.org/|{{Pkg|k3b}}}}<br />
* {{App|[[Wikipedia:X-CD-Roast|X-CD-Roast]]|Lightweight cdrtools front-end for CD and DVD writing|http://www.xcdroast.org/|{{AUR|xcdroast}}}}<br />
<br />
{{Poor writing}}<br />
<br />
* [[growisofs]]<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
<br />
=== Clipboard Managers ===<br />
* {{App|[[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/|{{AUR|anamnesis}}}}<br />
* {{App|[[ClipIt]]|fork of Parcellite with additional features and bugfixes|http://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}}<br />
* {{App|[[Glipper]]|clipboardmanager for GNOME with more features and plugin support|http://glipper.sourceforge.net/|{{AUR|glipper}}}}<br />
* {{App|[[klipper]]|full featured clipboardmanager for KDE|http://userbase.kde.org/Klipper|{{Pkg|kdebase-workspace}}}}<br />
* {{App|[[Parcellite]]|lightweight yet feature-rich clipboard manager|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}}<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
<br />
==== Console ====<br />
* {{App|[[atool]]|A script for managing file archives of various types|http://www.nongnu.org/atool/|{{Pkg|atool}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux.|http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Ark]]|Archiving Tool for KDE4.|http://kde.org/applications/utilities/ark/|{{Pkg|kdeutils-ark}}}}<br />
* {{App|[[File Roller]]|The default archive manager for GNOME.|http://fileroller.sourceforge.net/|{{Pkg|file-roller}}}}<br />
* {{App|[[Peazip]]|Open source file and archive manager|http://www.peazip.org/peazip-linux.html|{{AUR|peazip}}}}<br />
* {{App|[[Squeeze]]|A featherweight front-end for command line archiving tools.|http://squeeze.xfce.org/|{{AUR|squeeze}}}}<br />
* {{App|[[Xarchive]]|A GTK+ 2 front-end for various command line archiving tools.|http://xarchive.sourceforge.net/|{{AUR|xarchive}}}}<br />
* {{App|[[Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2.|http://xarchiver.sourceforge.net/|{{Pkg|xarchiver}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux. Includes 7zFM as GUI. |http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
=== eMoney ===<br />
{{Stub}}<br />
<br />
==== Bitcoin ====<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{AUR|bitcoin}}}}<br />
* [[Bitcoin#Mining|List of mining applications]]<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Pkg|mc}}}}<br />
* {{App|pilot|FM which comes with [[Alpine]]|http://www.washington.edu/alpine|{{Pkg|alpine}}}}<br />
* {{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Pkg|ranger}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Pkg|vifm}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Pkg|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Pkg|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Pkg|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Pkg|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Pkg|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Pkg|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/|{{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|{{Pkg|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|{{Pkg|tuxcmd}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Pkg|xfe}}}}<br />
* {{App|[[worker]]|A fast, lightweight and feature-rich file manager for the X Window System|http://www.boomerangsworld.de/worker/|{{AUR|worker}}}}<br />
<br />
=== Merge tools ===<br />
{{Poor writing}}<br />
<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/|{{Pkg|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Pkg|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Pkg|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Pkg|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Pkg|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Pkg|trayer}}}}<br />
* {{App|[[wbar]]|A quick launch bar developed with speed in mind|http://freecode.com/projects/wbar/|{{Pkg|wbar}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Pkg|xfce4-panel}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Utilities&diff=185480List of applications/Utilities2012-02-21T02:37:54Z<p>Ryon.sherman: /* CD/DVD Burning Tools */ Added links and description for K3b</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
{{i18n|Common Applications/Utilities}}<br />
{{Common Applications navigation}}<br />
</noinclude><br />
<br />
== Utilities ==<br />
=== AUR Helpers ===<br />
{{Moveto|AUR Helpers}}<br />
<br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|http://adesklets.sourceforge.net/desklets.html|{{AUR|aurnotify}}}}<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|{{AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{AUR|yaourt}}}}<br />
<br />
=== Pacman GUI frontends ===<br />
{{Stub}}<br />
{{Moveto|Pacman GUI Frontends}}<br />
<br />
=== Other ===<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].}}* [[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|Pkgtools|A collection of scripts for Arch Linux packages. Includes '''pkgfile''' &ndash; to find what package owns a file|https://github.com/Daenyth/pkgtools|{{Pkg|pkgtools}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Pkg|pacman-contrib}}}}<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{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|{{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|{{Pkg|Filelight}}}}<br />
* {{App|[[gdmap]]|Gdmap draws a map of rectangles sized according to file or dir sizes.|http://gdmap.sourceforge.net/|{{Pkg|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools ===<br />
{{Moveto|CD Burning}}<br />
<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
<br />
* {{App|Xfburn|A simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Pkg|xfburn}}}}<br />
* {{App|cdw|An Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso.|http://cdw.sourceforge.net/|{{AUR|cdw}}}}<br />
* {{App|recorder|A simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Pkg|recorder}}}}<br />
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|A disc burning application for Gnome<br />
|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}<br />
* {{App|[[Wikipedia:K3b|K3b]]|Feature-rich and easy to handle CD burning application|http://www.k3b.org/|{{Pkg|k3b}}}}<br />
<br />
{{Poor writing}}<br />
<br />
* [[growisofs]]<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<br />
* [[gnomebaker]] - A GTK based CD/DVD burning application.<br />
* [[graveman]] - A GTK based CD/DVD burning application.<br />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
<br />
=== Clipboard Managers ===<br />
* {{App|[[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/|{{AUR|anamnesis}}}}<br />
* {{App|[[ClipIt]]|fork of Parcellite with additional features and bugfixes|http://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}}<br />
* {{App|[[Glipper]]|clipboardmanager for GNOME with more features and plugin support|http://glipper.sourceforge.net/|{{AUR|glipper}}}}<br />
* {{App|[[klipper]]|full featured clipboardmanager for KDE|http://userbase.kde.org/Klipper|{{Pkg|kdebase-workspace}}}}<br />
* {{App|[[Parcellite]]|lightweight yet feature-rich clipboard manager|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}}<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
<br />
==== Console ====<br />
* {{App|[[atool]]|A script for managing file archives of various types|http://www.nongnu.org/atool/|{{Pkg|atool}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux.|http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Ark]]|Archiving Tool for KDE4.|http://kde.org/applications/utilities/ark/|{{Pkg|kdeutils-ark}}}}<br />
* {{App|[[File Roller]]|The default archive manager for GNOME.|http://fileroller.sourceforge.net/|{{Pkg|file-roller}}}}<br />
* {{App|[[Peazip]]|Open source file and archive manager|http://www.peazip.org/peazip-linux.html|{{AUR|peazip}}}}<br />
* {{App|[[Squeeze]]|A featherweight front-end for command line archiving tools.|http://squeeze.xfce.org/|{{AUR|squeeze}}}}<br />
* {{App|[[Xarchive]]|A GTK+ 2 front-end for various command line archiving tools.|http://xarchive.sourceforge.net/|{{AUR|xarchive}}}}<br />
* {{App|[[Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2.|http://xarchiver.sourceforge.net/|{{Pkg|xarchiver}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux. Includes 7zFM as GUI. |http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
=== eMoney ===<br />
{{Stub}}<br />
<br />
==== Bitcoin ====<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{AUR|bitcoin}}}}<br />
* [[Bitcoin#Mining|List of mining applications]]<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Pkg|mc}}}}<br />
* {{App|pilot|FM which comes with [[Alpine]]|http://www.washington.edu/alpine|{{Pkg|alpine}}}}<br />
* {{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Pkg|ranger}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Pkg|vifm}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Pkg|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Pkg|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Pkg|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Pkg|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Pkg|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Pkg|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/|{{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|{{Pkg|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|{{Pkg|tuxcmd}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Pkg|xfe}}}}<br />
* {{App|[[worker]]|A fast, lightweight and feature-rich file manager for the X Window System|http://www.boomerangsworld.de/worker/|{{AUR|worker}}}}<br />
<br />
=== Merge tools ===<br />
{{Poor writing}}<br />
<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/|{{Pkg|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Pkg|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Pkg|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Pkg|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Pkg|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Pkg|trayer}}}}<br />
* {{App|[[wbar]]|A quick launch bar developed with speed in mind|http://freecode.com/projects/wbar/|{{Pkg|wbar}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Pkg|xfce4-panel}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Utilities&diff=185479List of applications/Utilities2012-02-21T02:34:00Z<p>Ryon.sherman: /* CD/DVD Burning Tools */ Added links and description for Brasero</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
{{i18n|Common Applications/Utilities}}<br />
{{Common Applications navigation}}<br />
</noinclude><br />
<br />
== Utilities ==<br />
=== AUR Helpers ===<br />
{{Moveto|AUR Helpers}}<br />
<br />
* {{App|Aurnotify|A tool set to notify the status of your favorite packages from AUR.|http://adesklets.sourceforge.net/desklets.html|{{AUR|aurnotify}}}}<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|{{AUR|tupac}}}}<br />
* {{App|[[Yaourt]]|A Pacman frontend with more features and AUR support.|http://www.archlinux.fr/yaourt-en/|{{AUR|yaourt}}}}<br />
<br />
=== Pacman GUI frontends ===<br />
{{Stub}}<br />
{{Moveto|Pacman GUI Frontends}}<br />
<br />
=== Other ===<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].}}* [[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|Pkgtools|A collection of scripts for Arch Linux packages. Includes '''pkgfile''' &ndash; to find what package owns a file|https://github.com/Daenyth/pkgtools|{{Pkg|pkgtools}}}}<br />
* {{App|pacman-color|Command-line frontend for libalpm aka pacman with color patch.|http://www.archlinux.org/pacman/|{{AUR|pacman-color}}}}<br />
* {{App|Pacman-contrib|Utilities for use with the pacman package manager.|http://www.archlinux.org/pacman/|{{Pkg|pacman-contrib}}}}<br />
<br />
=== Disk Usage Display Programs===<br />
* {{App|[[ncdu]]|A simple ncurses disk usage analyzer.|http://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}}<br />
* {{App|[[gt5]]|A diff-capable 'du-browser'.|http://gt5.sourceforge.net|{{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|{{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|{{Pkg|Filelight}}}}<br />
* {{App|[[gdmap]]|Gdmap draws a map of rectangles sized according to file or dir sizes.|http://gdmap.sourceforge.net/|{{Pkg|gdmap}}}}<br />
<br />
=== CD/DVD Burning Tools ===<br />
{{Moveto|CD Burning}}<br />
<br />
{{Wikipedia|Comparison of disc authoring software}}<br />
<br />
* {{App|Xfburn|A simple frontend to the libburnia libraries with support for CD/DVD(-RW), ISO images and BurnFree|http://www.xfce.org/projects/xfburn/|{{Pkg|xfburn}}}}<br />
* {{App|cdw|An Ncurses frontend to cdrecord, mkisofs, growisofs, dvd+rw-mediainfo, dvd+rw-format, xorriso.|http://cdw.sourceforge.net/|{{AUR|cdw}}}}<br />
* {{App|recorder|A simple frontend to cdrkit/cdrtools, cdrdao, mkisofs and growisofs with limited options and preferences|http://code.google.com/p/recorder/|{{Pkg|recorder}}}}<br />
* {{App|[[Wikipedia:Brasero (software)|Brasero]]|A disc burning application for Gnome<br />
|http://projects.gnome.org/brasero/|{{Pkg|brasero}}}}<br />
<br />
{{Poor writing}}<br />
<br />
* [[growisofs]]<br />
* [[bashburn]] - A lightweight terminal based menu frontend for CD/DVD burning tools.<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 />
* [[xcdroast]] - A lightweight CD/DVD burning tool.<br />
<br />
=== Clipboard Managers ===<br />
* {{App|[[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/|{{AUR|anamnesis}}}}<br />
* {{App|[[ClipIt]]|fork of Parcellite with additional features and bugfixes|http://sourceforge.net/projects/gtkclipit/|{{AUR|clipit}}}}<br />
* {{App|[[Glipper]]|clipboardmanager for GNOME with more features and plugin support|http://glipper.sourceforge.net/|{{AUR|glipper}}}}<br />
* {{App|[[klipper]]|full featured clipboardmanager for KDE|http://userbase.kde.org/Klipper|{{Pkg|kdebase-workspace}}}}<br />
* {{App|[[Parcellite]]|lightweight yet feature-rich clipboard manager|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}}<br />
<br />
=== Compression Tools ===<br />
{{Wikipedia|Comparison of file archivers}}<br />
<br />
==== Console ====<br />
* {{App|[[atool]]|A script for managing file archives of various types|http://www.nongnu.org/atool/|{{Pkg|atool}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux.|http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Ark]]|Archiving Tool for KDE4.|http://kde.org/applications/utilities/ark/|{{Pkg|kdeutils-ark}}}}<br />
* {{App|[[File Roller]]|The default archive manager for GNOME.|http://fileroller.sourceforge.net/|{{Pkg|file-roller}}}}<br />
* {{App|[[Peazip]]|Open source file and archive manager|http://www.peazip.org/peazip-linux.html|{{AUR|peazip}}}}<br />
* {{App|[[Squeeze]]|A featherweight front-end for command line archiving tools.|http://squeeze.xfce.org/|{{AUR|squeeze}}}}<br />
* {{App|[[Xarchive]]|A GTK+ 2 front-end for various command line archiving tools.|http://xarchive.sourceforge.net/|{{AUR|xarchive}}}}<br />
* {{App|[[Xarchiver]]|A lightweight desktop independent archive manager built with GTK+ 2.|http://xarchiver.sourceforge.net/|{{Pkg|xarchiver}}}}<br />
* {{App|[[p7zip]]|A command line port of 7-Zip for POSIX systems, including Linux. Includes 7zFM as GUI. |http://p7zip.sourceforge.net/|{{Pkg|p7zip}}}}<br />
<br />
=== eMoney ===<br />
{{Stub}}<br />
<br />
==== Bitcoin ====<br />
* {{App|[[Bitcoin]]|A tool to manage bitcoins, a p2p currency.|Official website : http://bitcoin.org/|{{AUR|bitcoin}}}}<br />
* [[Bitcoin#Mining|List of mining applications]]<br />
<br />
=== File Managers ===<br />
{{Wikipedia|Comparison of file managers}}<br />
<br />
==== Console ====<br />
* {{App|[[Wikipedia:Midnight commander|Midnight Commander]]|A console-based, dual-paned, file manager|http://www.midnight-commander.org|{{Pkg|mc}}}}<br />
* {{App|pilot|FM which comes with [[Alpine]]|http://www.washington.edu/alpine|{{Pkg|alpine}}}}<br />
* {{App|[[Ranger]]|A console based file manager with vi bindings, customizability, and lots of features|http://nongnu.org/ranger|{{Pkg|ranger}}}}<br />
* {{App|[[Vifm]]|A ncurses based two-pane file manager with vi like keybindings|http://vifm.sourceforge.net/|{{Pkg|vifm}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Dolphin]]|Default file manager for KDE 4.|http://dolphin.kde.org/|{{Pkg|kdebase-dolphin}}}}<br />
* {{App|[[emelFM2]]|A file manager that implements the popular two-panel design|http://emelfm2.net/|{{Pkg|emelfm2}}}}<br />
* {{App|[[Konqueror]]|File manager for KDE.|http://www.konqueror.org/|{{Pkg|kdebase-konqueror}}}}<br />
* {{App|[[Krusader]]|Advanced twin panel (commander style) file manager for KDE|http://www.krusader.org/|{{Pkg|krusader}}}}<br />
* {{App|[[Nautilus]]|Extensible, heavyweight file manager used by default in GNOME with support for custom scripts|http://projects.gnome.org/nautilus/|{{Pkg|nautilus}}}}<br />
* {{App|[[PCManFM]]|A lightweight file manager which features tabbed browsing and can optionally manage the desktop background|http://pcmanfm.sourceforge.net/|{{AUR|pcmanfm}}}}<br />
* {{App|[[qtfm]]|A small, lightweight filemanager for Linux desktops based on pure Qt.|http://www.qtfm.org/|{{Pkg|qtfm}}}}<br />
* {{App|[[ROX-Filer]]|A small and fast file manager which can optionally manage the desktop background and panels|http://rox.sourceforge.net|{{Pkg|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/|{{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|{{Pkg|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|{{Pkg|tuxcmd}}}}<br />
* {{App|[[Xfe]]|A MS-Explorer or Commander like file manager for X|http://roland65.free.fr/xfe/index.php/|{{Pkg|xfe}}}}<br />
* {{App|[[worker]]|A fast, lightweight and feature-rich file manager for the X Window System|http://www.boomerangsworld.de/worker/|{{AUR|worker}}}}<br />
<br />
=== Merge tools ===<br />
{{Poor writing}}<br />
<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/|{{Pkg|avant-window-navigator}}}}<br />
* {{App|[[Bmpanel]]|A lightweight, NETWM compliant panel for the X11 system|http://nsf.110mb.com/bmpanel/|{{Pkg|bmpanel}}}}<br />
* {{App|[[Cairo-Dock]]|A highly customizable dock/laucher.|http://www.glx-dock.org/|{{AUR|cairo-dock}}}}<br />
* {{App|[[Docker]]|A docking application which acts as a system tray.|http://icculus.org/openbox/2/docker/|{{Pkg|docker}}}}<br />
* {{App|[[fbpanel]]|Lightweight, NETWM compliant desktop panel.|http://fbpanel.sourceforge.net/|{{AUR|fbpanel}}}}<br />
* {{App|[[LXPanel]]|Lightweight X11 desktop panel and part of the LXDE DE.|http://lxde.org/|{{AUR|lxpanel}}}}<br />
* {{App|pancake|A highly configurable, modular panel for X|http://www.failedprojects.de/pancake/|{{AUR|pancake}}}}<br />
* {{App|[[PyPanel]]|Lightweight panel/taskbar written in Python and C.|http://pypanel.sourceforge.net/|{{AUR|pypanel}}}}<br />
* {{App|qtpanel|A project to create useful and beautiful panel in Qt|https://bbs.archlinux.org/viewtopic.php?id&#61;117528|{{AUR|qtpanel-git}}}}<br />
* {{App|[[Stalonetray]]|A stand-alone system tray.|http://stalonetray.sourceforge.net/|{{Pkg|stalonetray}}}}<br />
* {{App|[[Tint2]]|Simple panel/taskbar developed specifically for Openbox.|http://code.google.com/p/tint2/|{{Pkg|tint2}}}}<br />
* {{App|[[Trayer]]|Swallows GTK 1.2/2.x application docklets, and KDE docklets.|https://gna.org/projects/fvwm-crystal/|{{Pkg|trayer}}}}<br />
* {{App|[[wbar]]|A quick launch bar developed with speed in mind|http://freecode.com/projects/wbar/|{{Pkg|wbar}}}}<br />
* {{App|[[Xfce4panel]]|Default [[Xfce]] panel|http://www.xfce.org/projects/xfce4-panel/|{{Pkg|xfce4-panel}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Multimedia&diff=185477List of applications/Multimedia2012-02-21T01:54:55Z<p>Ryon.sherman: /* GUI players */</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
[[Category:Audio/Video (English)]]<br />
{{i18n|Common Applications/Multimedia}}<br />
{{Common Applications navigation}}<br />
<br />
</noinclude><br />
== Multimedia ==<br />
=== Image Viewers ===<br />
{{Wikipedia|Comparison of image viewers}}<br />
<br />
==== Console ====<br />
* {{App|fbv|framebuffer image viewer|http://s-tech.elsat.net.pl/fbv/|{{Pkg|fbv}}}}<br />
* {{App|fim|highly customizable and scriptable framebuffer image viewer based on fbi|http://www.autistici.org/dezperado/|{{AUR|fim-svn}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Pkg|feh}}}}<br />
* {{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{AUR|galapix}}}}<br />
* {{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Pkg|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/|{{Pkg|gqview}}}}<br />
* {{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Pkg|geeqie}}}}<br />
* {{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Pkg|mirage}}}}<br />
* {{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Pkg|qiv}}}}<br />
* {{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Pkg|ristretto}}}}<br />
* {{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|https://github.com/muennich/sxiv|{{AUR|sxiv}}}}<br />
* {{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|https://xsisqox.github.com/Viewnior/about.html|{{Pkg|viewnior}}}}<br />
* {{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Pkg|xloadimage}}}}<br />
* {{App|XnView|An efficient image viewer, browser and converter|http://www.xnview.com/|{{AUR|xnview}}}}<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 />
=== Graphics and Image Manipulation ===<br />
==== Raster editors ====<br />
{{Wikipedia|Comparison of raster graphics editors}}<br />
<br />
* {{App|[[Wikipedia:GIMP|GIMP]]|GIMP stands for [[GNU Project| GNU]] Image Manipulation Program. Started in the mid 1990s, it is a image editing suite in a similar vein to proprietary editors like Adobe Photoshop. Arch Linux has a large number of plugins and additional tools for GIMP in its repositories. To search for them you can type<br />
:{{Bc|pacman -Ss gimp}}<br />
:There are also a large number of packages in the [[Arch User Repository]]. You may also be interested in reading [[CMYK support in The GIMP]]|http://www.gimp.org/|{{Pkg|gimp}}}}<br />
* {{App|[[Wikipedia:KolourPaint|KolourPaint]]|free, raster graphics editor for the KDE, similar to Microsoft's Paint application before Windows 7, but has some additional features such as support for transparency|http://kolourpaint.org|{{Pkg|kdegraphics-kolourpaint}}}}<br />
* {{App|mtPaint|graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Pkg|mtpaint}}}}<br />
* {{App|darktable|A photography workflow and RAW development application|http://www.darktable.org//|{{Pkg|darktable}}}}<br />
* {{App|[[Wikipedia:MyPaint|MyPaint]]|free software graphics application for digital painters|http://mypaint.intilinux.com|{{Pkg|mypaint}}}}<br />
* {{App|[[Wikipedia:Krita|Krita]]|digital painting and illustration software included based on the KDE platform and KOffice libraries|http://krita.org/|{{Pkg|koffice-krita}}}}<br />
* {{App|Nathive| "the usable image editor", a Gnome based image editing application with a focus on usability and a smooth learning curve.|http://www.nathive.org/|{{AUR|nathive}}}}<br />
* {{App|[[Wikipedia:ImageMagick|ImageMagick]]|command line image manipulation program. It is known for its accurate format conversions with support for over 100 formats. Its API enables it to be scripted and it is used as a back end processor - for example to create MediaWiki thumbnail images|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}}<br />
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|2002 fork of ImageMagick designed to have API and command line stability. It also supports multi-CPU for enhanced performance and thus is used by some large commercial sites (Flickr, etsy) for its performance|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}}<br />
* {{App|[[Wikipedia:Shotwell_(software)|Shotwell]]|image organizer with a small set of image manipulation features, for example rotate, crop, color adjust, and red eye removal. It can import photos directly from digital cameras and export them to social media sites|http://yorba.org/shotwell/|{{Pkg|shotwell}}}}<br />
* {{App|[[Wikipedia:digiKam|digiKam]]|KDE based image/photo organizer with built in editing features via a plugin architecture. digiKam asserts it is more full featured than similar applications with a larger set of image manipulation features including RAW image import and manipulation|http://www.digikam.org/|{{Pkg|digikam}}}}<br />
* {{App|[[Wikipedia:Pinta (software)|Pinta]]|A drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users|http://pinta-project.com/|{{AUR|pinta}}}}<br />
<br />
==== Vector Graphics - Illustration ====<br />
{{Wikipedia|Comparison of vector graphics editors}}<br />
<br />
* {{App|[[Wikipedia:Inkscape|Inkscape]]|vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format. Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. It's developers also aim to maintain a thriving user and developer community by using open, community-oriented development.|http://inkscape.org/|{{Pkg|inkscape}}}}<br />
* {{App|[[Wikipedia:Xara LX|Xara Linux Xtreme aka XaraLX aka Xarino]]|advanced vector graphics program|http://www.xaraxtreme.org/|{{AUR|xaralx}}}}<br />
* {{App|[[Wikipedia:Dia_(software)|Dia]]|GTK+ based diagram creation program|http://live.gnome.org/Dia|{{Pkg|dia}}}}<br />
<br />
==== 3D Modeling/Rendering ====<br />
{{Stub}}<br />
<br />
{{Wikipedia|Comparison of 3D computer graphics software}}<br />
<br />
* {{App|[[Wikipedia:Blender_(software)|Blender]]|A fully integrated 3D graphics creation suite capable of 3D modeling, texturing, and animation, among other things. There are a number of additional patches and tools for blender the the [[AUR]].<br />
:See also:<br />
:*[http://www.blender.org/ Blender homepage]<br />
:*[http://wiki.blender.org/index.php/Main_Page Blender Wiki]<br />
:*[http://en.wikibooks.org/wiki/Blender_3D Blender walkthrough on wikibooks]|http://www.blender.org/|{{Pkg|blender}}}}<br />
<br />
==== Vector graphics - CAD ====<br />
{{Stub}}<br />
<br />
* {{App|[[Wikipedia:QCad|QCaD]]|powerful 2D CAD application that began in 1999. QCaD includes DFX standard file format and supports HPGL format|http://www.qcad.org/|{{Pkg|qcad}}}}<br />
<br />
=== Graphics utilities (helper apps) ===<br />
==== Screen Capture ====<br />
* {{App|KSnapshot|[[KDE]] application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. The images can then be saved in a variety of formats.|http://kde.org/applications/graphics/ksnapshot/|{{Pkg|kdegraphics-ksnapshot}}}}<br />
<br />
==== Screencast ====<br />
{{Wikipedia|Comparison of screencasting software}}<br />
<br />
Screencast utilities allow you to create a video of your desktop or individual windows.<br />
<br />
* {{App|[[Wikipedia:RecordMyDesktop|RecordMyDesktop]]|easy to use utility that records your desktop to ogg/theora. GTK and Qt frontends are avaiable|http://recordmydesktop.sourceforge.net/|{{Pkg|recordmydesktop}}}}<br />
* {{App|glc|can capture the sound and video of OpenGL applications, such as games, where regular X11 screencast tools produce choppy results|https://github.com/nullkey/glc|{{AUR|glc}}}}<br />
<br />
=== Audio systems ===<br />
{{Wikipedia|Sound server}}<br />
<br />
{{Box||See the main article: [[Sound system]]|#E5E5FF|#FCFCFC}}<br />
<br />
=== Audio players ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
<br />
==== Music player daemon and clients ====<br />
* {{App|[[Music Player Daemon]]|Lightweight and scalable choice for music management|http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki|{{Pkg|mpd}}}}<br />
* [[Music_Player_Daemon#Clients|List of MPD clients]]<br />
<br />
==== Command line players ====<br />
* {{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{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.org/|{{Pkg|mpg123}}}}<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Pkg|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{AUR|cplay}}}}<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Pkg|moc}}}}<br />
* {{App|PyTone|An advanced music jukebox with a console interface|http://www.luga.de/pytone/|{{AUR|pytone}}}}<br />
<br />
==== GUI players ====<br />
* {{App|[[Amarok]]|mature Qt-based player known for its plethora of features|http://amarok.kde.org/|{{Pkg|amarok}}}}<br />
* {{App|[[Wikipedia:aTunes|aTunes]]|audio-player written in Java|http://www.atunes.org/|{{AUR|atunes}}}}<br />
* {{App|[[Audacious]]|[[Wikipedia:Winamp|Winamp]] clone like Beep and old XMMS versions|http://audacious-media-player.org/|{{Pkg|audacious}}}}<br />
* {{App|[[Wikipedia:Banshee (media player)|Banshee]]|[[Wikipedia:iTunes|iTunes]] clone, built with GTK2 and [[Mono]], feature-rich and more actively developed|http://banshee.fm/|{{Pkg|banshee}}}}<br />
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Amarok 1.4 ported to QT4|http://www.clementine-player.org/|{{Pkg|clementine}}}}<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/|{{Pkg|deadbeef}}}}<br />
* {{App|[[Exaile]]|GTK2 clone of Amarok|http://www.exaile.org/|{{AUR|exaile}}}}<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. Uses the [[Wikipedia:Fox toolkit|Fox Toolkit]].|http://code.google.com/p/gogglesmm/|{{Pkg|gogglesmm}}}}<br />
* {{App|[[Rhythmbox]]|GTK2 clone of iTunes, used by default in GNOME|http://projects.gnome.org/rhythmbox/|{{Pkg|rhythmbox}}}}<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Pkg|pragha}}}}<br />
* {{App|[[wikipedia:XMMS|XMMS]]|A skinnable GTK+1 standalone media player similar to winamp|http://legacy.xmms2.org/|{{Pkg|xmms}}}}<br />
* {{App|Qmmp| Qt-based Multimedia Player. The user interface is similar to winamp or xmms|http://qmmp.ylsoftware.com/|{{Pkg|qmmp}}}}<br />
* {{App|Guayadeque|full featured media player that can easily manage large collections and uses the Gstreamer media framework|http://guayadeque.org/|{{AUR|guayadeque}}}}<br />
* {{App|Quod Libet|audio player written with pygtk and gstreamer|http://code.google.com/p/quodlibet/|{{Pkg|quodlibet}}}}<br />
* {{App|Nightingale ([[Wikipedia:Songbird|Songbird]] for Linux)|open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP|http://getnightingale.com/|{{AUR|nightingale-git}}}}<br />
* {{App|Spotify|A proprietary music streaming service. Supports local playback and streaming from Spotify's vast library (requires a free account)|http://www.spotify.com/|{{AUR|spotify}}}}<br />
* {{App|gmusicbrowser|An open-source jukebox for large collections of mp3/ogg/flac files, written in perl|http://gmusicbrowser.org/|{{AUR|gmusicbrowser-git}}}}<br />
<br />
=== Ripping from CD ===<br />
* {{App|abcde|Comprehensive command line tool for ripping audio CDs|http://lly.org/~rcw/abcde/page/|{{Pkg|abcde}}}}<br />
<br />
=== Visualization ===<br />
* {{App|ProjectM|A music visualizer which uses 3D accelerated iterative image based rendering.|http://projectm.sourceforge.net/|{{Pkg|projectm}}}}<br />
<br />
=== Sound editing ===<br />
* {{App|Audacity|A program that lets you manipulate digital audio waveforms.|http://audacity.sourceforge.net/|{{Pkg|audacity}}}}<br />
* {{App|KWave|A sound editor for KDE.|http://kwave.sourceforge.net/|{{AUR|kwave}}}}<br />
<br />
=== E-book applications ===<br />
* {{App|[[Wikipedia:FBReader|FBReader]]|E-book viewer. Supported formats include EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, non-DRM'ed mobipocket (mobi), and plain-text.|http://fbreader.org/|{{Pkg|fbreader}}}}<br />
* {{App|CoolReader|E-book viewer. Supported formats include epub (non-DRM), fb2, txt, rtf, html, chm and tcr.|http://www.coolreader.org/e-index.htm|{{AUR|coolreader}}}}<br />
* {{App|[[Wikipedia:Calibre_(software)|Calibre]]|E-book library management application. Supported formats include CBZ, CBR, CBC, CHM, DJVU, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ.|http://calibre-ebook.com/|{{Pkg|calibre}}}}<br />
<br />
=== Phone ===<br />
{{Stub}}<br />
<br />
* {{App|moto4lin| is a file manager and seem editor for Motorola P2K phones (like C380/C650)|http://freecode.com/projects/moto4lin|{{AUR|moto4lin}}}}<br />
<br />
=== Video Players ===<br />
{{Wikipedia|Comparison of video player software}}<br />
<br />
==== Console ====<br />
* {{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Pkg|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/|{{Pkg|kdemultimedia-dragonplayer}}}}<br />
* {{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Pkg|gnome-mplayer}}}}<br />
* {{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{AUR|parole}}}}<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Pkg|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/|{{Pkg|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/|{{AUR|whaawmp}}}}<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/|{{AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
{{Wikipedia|Comparison of video editing software}}<br />
<br />
==== Console ====<br />
* {{App|avidemux|graphical tool to edit video (filter/re-encode/split)|http://fixounet.free.fr/avidemux/|{{Pkg|avidemux-cli}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Kino_(software)|Kino]]|non-linear digital video editor|http://www.kinodv.org/|{{Pkg|kino}}}}<br />
* {{App|[[Wikipedia:OpenShot_Video_Editor|Open Shot]]|non-linear video editor based on MLT framework|http://www.openshotvideo.com/|{{Pkg|openshot}}}}<br />
* {{App|[[Wikipedia:Kdenlive|Kdenlive]]|non-linear video editor "designed for basic to semi-professional work"|http://kdenlive.org/|{{Pkg|kdenlive}}}}<br />
* {{App|[[Wikipedia:Cinelerra|CinelerraCV]]|professional video editing and compositing environment|http://cinelerra.org/|{{Pkg|cinelerra-cv}}}}<br />
* {{App|[[Wikipedia:Pitivi|PiTiVi]]|Video editor with design goal of ease of use. |http://www.pitivi.org/ |{{AUR|pitivi}}}}<br />
* {{App|[[Wikipedia:LiVES|LiVES]]|Video editor and VJ (live performance) platform | http://lives.sourceforge.net/ |{{AUR|lives}}}}<br />
* {{App|Open Movie Editor| "designed for basic movie making capabilities" | http://www.openmovieeditor.org/ | {{AUR|openmovieeditor}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Multimedia&diff=185476List of applications/Multimedia2012-02-21T01:53:30Z<p>Ryon.sherman: /* Raster editors */</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
[[Category:Audio/Video (English)]]<br />
{{i18n|Common Applications/Multimedia}}<br />
{{Common Applications navigation}}<br />
<br />
</noinclude><br />
== Multimedia ==<br />
=== Image Viewers ===<br />
{{Wikipedia|Comparison of image viewers}}<br />
<br />
==== Console ====<br />
* {{App|fbv|framebuffer image viewer|http://s-tech.elsat.net.pl/fbv/|{{Pkg|fbv}}}}<br />
* {{App|fim|highly customizable and scriptable framebuffer image viewer based on fbi|http://www.autistici.org/dezperado/|{{AUR|fim-svn}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Pkg|feh}}}}<br />
* {{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{AUR|galapix}}}}<br />
* {{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Pkg|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/|{{Pkg|gqview}}}}<br />
* {{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Pkg|geeqie}}}}<br />
* {{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Pkg|mirage}}}}<br />
* {{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Pkg|qiv}}}}<br />
* {{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Pkg|ristretto}}}}<br />
* {{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|https://github.com/muennich/sxiv|{{AUR|sxiv}}}}<br />
* {{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|https://xsisqox.github.com/Viewnior/about.html|{{Pkg|viewnior}}}}<br />
* {{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Pkg|xloadimage}}}}<br />
* {{App|XnView|An efficient image viewer, browser and converter|http://www.xnview.com/|{{AUR|xnview}}}}<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 />
=== Graphics and Image Manipulation ===<br />
==== Raster editors ====<br />
{{Wikipedia|Comparison of raster graphics editors}}<br />
<br />
* {{App|[[Wikipedia:GIMP|GIMP]]|GIMP stands for [[GNU Project| GNU]] Image Manipulation Program. Started in the mid 1990s, it is a image editing suite in a similar vein to proprietary editors like Adobe Photoshop. Arch Linux has a large number of plugins and additional tools for GIMP in its repositories. To search for them you can type<br />
:{{Bc|pacman -Ss gimp}}<br />
:There are also a large number of packages in the [[Arch User Repository]]. You may also be interested in reading [[CMYK support in The GIMP]]|http://www.gimp.org/|{{Pkg|gimp}}}}<br />
* {{App|[[Wikipedia:KolourPaint|KolourPaint]]|free, raster graphics editor for the KDE, similar to Microsoft's Paint application before Windows 7, but has some additional features such as support for transparency|http://kolourpaint.org|{{Pkg|kdegraphics-kolourpaint}}}}<br />
* {{App|mtPaint|graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Pkg|mtpaint}}}}<br />
* {{App|darktable|A photography workflow and RAW development application|http://www.darktable.org//|{{Pkg|darktable}}}}<br />
* {{App|[[Wikipedia:MyPaint|MyPaint]]|free software graphics application for digital painters|http://mypaint.intilinux.com|{{Pkg|mypaint}}}}<br />
* {{App|[[Wikipedia:Krita|Krita]]|digital painting and illustration software included based on the KDE platform and KOffice libraries|http://krita.org/|{{Pkg|koffice-krita}}}}<br />
* {{App|Nathive| "the usable image editor", a Gnome based image editing application with a focus on usability and a smooth learning curve.|http://www.nathive.org/|{{AUR|nathive}}}}<br />
* {{App|[[Wikipedia:ImageMagick|ImageMagick]]|command line image manipulation program. It is known for its accurate format conversions with support for over 100 formats. Its API enables it to be scripted and it is used as a back end processor - for example to create MediaWiki thumbnail images|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}}<br />
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|2002 fork of ImageMagick designed to have API and command line stability. It also supports multi-CPU for enhanced performance and thus is used by some large commercial sites (Flickr, etsy) for its performance|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}}<br />
* {{App|[[Wikipedia:Shotwell_(software)|Shotwell]]|image organizer with a small set of image manipulation features, for example rotate, crop, color adjust, and red eye removal. It can import photos directly from digital cameras and export them to social media sites|http://yorba.org/shotwell/|{{Pkg|shotwell}}}}<br />
* {{App|[[Wikipedia:digiKam|digiKam]]|KDE based image/photo organizer with built in editing features via a plugin architecture. digiKam asserts it is more full featured than similar applications with a larger set of image manipulation features including RAW image import and manipulation|http://www.digikam.org/|{{Pkg|digikam}}}}<br />
* {{App|[[Wikipedia:Pinta (software)|Pinta]]|A drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users|http://pinta-project.com/|{{AUR|pinta}}}}<br />
<br />
==== Vector Graphics - Illustration ====<br />
{{Wikipedia|Comparison of vector graphics editors}}<br />
<br />
* {{App|[[Wikipedia:Inkscape|Inkscape]]|vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format. Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. It's developers also aim to maintain a thriving user and developer community by using open, community-oriented development.|http://inkscape.org/|{{Pkg|inkscape}}}}<br />
* {{App|[[Wikipedia:Xara LX|Xara Linux Xtreme aka XaraLX aka Xarino]]|advanced vector graphics program|http://www.xaraxtreme.org/|{{AUR|xaralx}}}}<br />
* {{App|[[Wikipedia:Dia_(software)|Dia]]|GTK+ based diagram creation program|http://live.gnome.org/Dia|{{Pkg|dia}}}}<br />
<br />
==== 3D Modeling/Rendering ====<br />
{{Stub}}<br />
<br />
{{Wikipedia|Comparison of 3D computer graphics software}}<br />
<br />
* {{App|[[Wikipedia:Blender_(software)|Blender]]|A fully integrated 3D graphics creation suite capable of 3D modeling, texturing, and animation, among other things. There are a number of additional patches and tools for blender the the [[AUR]].<br />
:See also:<br />
:*[http://www.blender.org/ Blender homepage]<br />
:*[http://wiki.blender.org/index.php/Main_Page Blender Wiki]<br />
:*[http://en.wikibooks.org/wiki/Blender_3D Blender walkthrough on wikibooks]|http://www.blender.org/|{{Pkg|blender}}}}<br />
<br />
==== Vector graphics - CAD ====<br />
{{Stub}}<br />
<br />
* {{App|[[Wikipedia:QCad|QCaD]]|powerful 2D CAD application that began in 1999. QCaD includes DFX standard file format and supports HPGL format|http://www.qcad.org/|{{Pkg|qcad}}}}<br />
<br />
=== Graphics utilities (helper apps) ===<br />
==== Screen Capture ====<br />
* {{App|KSnapshot|[[KDE]] application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. The images can then be saved in a variety of formats.|http://kde.org/applications/graphics/ksnapshot/|{{Pkg|kdegraphics-ksnapshot}}}}<br />
<br />
==== Screencast ====<br />
{{Wikipedia|Comparison of screencasting software}}<br />
<br />
Screencast utilities allow you to create a video of your desktop or individual windows.<br />
<br />
* {{App|[[Wikipedia:RecordMyDesktop|RecordMyDesktop]]|easy to use utility that records your desktop to ogg/theora. GTK and Qt frontends are avaiable|http://recordmydesktop.sourceforge.net/|{{Pkg|recordmydesktop}}}}<br />
* {{App|glc|can capture the sound and video of OpenGL applications, such as games, where regular X11 screencast tools produce choppy results|https://github.com/nullkey/glc|{{AUR|glc}}}}<br />
<br />
=== Audio systems ===<br />
{{Wikipedia|Sound server}}<br />
<br />
{{Box||See the main article: [[Sound system]]|#E5E5FF|#FCFCFC}}<br />
<br />
=== Audio players ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
<br />
==== Music player daemon and clients ====<br />
* {{App|[[Music Player Daemon]]|Lightweight and scalable choice for music management|http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki|{{Pkg|mpd}}}}<br />
* [[Music_Player_Daemon#Clients|List of MPD clients]]<br />
<br />
==== Command line players ====<br />
* {{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{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.org/|{{Pkg|mpg123}}}}<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Pkg|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{AUR|cplay}}}}<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Pkg|moc}}}}<br />
* {{App|PyTone|An advanced music jukebox with a console interface|http://www.luga.de/pytone/|{{AUR|pytone}}}}<br />
<br />
==== GUI players ====<br />
* {{App|[[Amarok]]|mature Qt-based player known for its plethora of features|http://amarok.kde.org/|{{Pkg|amarok}}}}<br />
* {{App|[[Wikipedia:aTunes|aTunes]]|audio-player written in Java|http://www.atunes.org/|{{AUR|atunes}}}}<br />
* {{App|[[Audacious]]|[[Wikipedia:Winamp|Winamp]] clone like Beep and old XMMS versions|http://audacious-media-player.org/|{{Pkg|audacious}}}}<br />
* {{App|[[Wikipedia:Banshee (media player)|Banshee]]|[[Wikipedia:iTunes|iTunes]] clone, built with GTK2 and [[Mono]], feature-rich and more actively developed|http://banshee.fm/|{{Pkg|banshee}}}}<br />
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Amarok 1.4 ported to QT4|http://www.clementine-player.org/|{{Pkg|clementine}}}}<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/|{{Pkg|deadbeef}}}}<br />
* {{App|[[Exaile]]|GTK2 clone of Amarok|http://www.exaile.org/|{{AUR|exaile}}}}<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. Uses the [[Wikipedia:Fox toolkit|Fox Toolkit]].|http://code.google.com/p/gogglesmm/|{{Pkg|gogglesmm}}}}<br />
* {{App|[[Rhythmbox]]|GTK2 clone of iTunes, used by default in GNOME|http://projects.gnome.org/rhythmbox/|{{Pkg|rhythmbox}}}}<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Pkg|pragha}}}}<br />
* {{App|[[wikipedia:XMMS|XMMS]]|A skinnable GTK+1 standalone media player similar to winamp|http://legacy.xmms2.org/|{{Pkg|xmms}}}}<br />
* {{App|Qmmp| Qt-based Multimedia Player. The user interface is similar to winamp or xmms|http://qmmp.ylsoftware.com/|{{Pkg|qmmp}}}}<br />
* {{App|Guayadeque|full featured media player that can easily manage large collections and uses the Gstreamer media framework|http://guayadeque.org/|{{AUR|guayadeque}}}}<br />
* {{App|Quod Libet|audio player written with pygtk and gstreamer|http://code.google.com/p/quodlibet/|{{Pkg|quodlibet}}}}<br />
* {{App|Nightingale ([[Wikipedia:Songbird|Songbird]] for Linux)|open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP|http://getnightingale.com/|{{AUR|nightingale-git}}}}<br />
* {{App|Spotify|A proprietary music streaming service. Supports local playback and streaming from Spotify's vast library (requires a free account)|http://www.spotify.com/|{{AUR|spotify}}}}<br />
* {{App|gmusicbrowser|An open-source jukebox for large collections of mp3/ogg/flac files, written in perl|http://gmusicbrowser.org/|{{AUR|gmusicbrowser}}}}<br />
<br />
=== Ripping from CD ===<br />
* {{App|abcde|Comprehensive command line tool for ripping audio CDs|http://lly.org/~rcw/abcde/page/|{{Pkg|abcde}}}}<br />
<br />
=== Visualization ===<br />
* {{App|ProjectM|A music visualizer which uses 3D accelerated iterative image based rendering.|http://projectm.sourceforge.net/|{{Pkg|projectm}}}}<br />
<br />
=== Sound editing ===<br />
* {{App|Audacity|A program that lets you manipulate digital audio waveforms.|http://audacity.sourceforge.net/|{{Pkg|audacity}}}}<br />
* {{App|KWave|A sound editor for KDE.|http://kwave.sourceforge.net/|{{AUR|kwave}}}}<br />
<br />
=== E-book applications ===<br />
* {{App|[[Wikipedia:FBReader|FBReader]]|E-book viewer. Supported formats include EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, non-DRM'ed mobipocket (mobi), and plain-text.|http://fbreader.org/|{{Pkg|fbreader}}}}<br />
* {{App|CoolReader|E-book viewer. Supported formats include epub (non-DRM), fb2, txt, rtf, html, chm and tcr.|http://www.coolreader.org/e-index.htm|{{AUR|coolreader}}}}<br />
* {{App|[[Wikipedia:Calibre_(software)|Calibre]]|E-book library management application. Supported formats include CBZ, CBR, CBC, CHM, DJVU, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ.|http://calibre-ebook.com/|{{Pkg|calibre}}}}<br />
<br />
=== Phone ===<br />
{{Stub}}<br />
<br />
* {{App|moto4lin| is a file manager and seem editor for Motorola P2K phones (like C380/C650)|http://freecode.com/projects/moto4lin|{{AUR|moto4lin}}}}<br />
<br />
=== Video Players ===<br />
{{Wikipedia|Comparison of video player software}}<br />
<br />
==== Console ====<br />
* {{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Pkg|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/|{{Pkg|kdemultimedia-dragonplayer}}}}<br />
* {{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Pkg|gnome-mplayer}}}}<br />
* {{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{AUR|parole}}}}<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Pkg|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/|{{Pkg|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/|{{AUR|whaawmp}}}}<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/|{{AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
{{Wikipedia|Comparison of video editing software}}<br />
<br />
==== Console ====<br />
* {{App|avidemux|graphical tool to edit video (filter/re-encode/split)|http://fixounet.free.fr/avidemux/|{{Pkg|avidemux-cli}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Kino_(software)|Kino]]|non-linear digital video editor|http://www.kinodv.org/|{{Pkg|kino}}}}<br />
* {{App|[[Wikipedia:OpenShot_Video_Editor|Open Shot]]|non-linear video editor based on MLT framework|http://www.openshotvideo.com/|{{Pkg|openshot}}}}<br />
* {{App|[[Wikipedia:Kdenlive|Kdenlive]]|non-linear video editor "designed for basic to semi-professional work"|http://kdenlive.org/|{{Pkg|kdenlive}}}}<br />
* {{App|[[Wikipedia:Cinelerra|CinelerraCV]]|professional video editing and compositing environment|http://cinelerra.org/|{{Pkg|cinelerra-cv}}}}<br />
* {{App|[[Wikipedia:Pitivi|PiTiVi]]|Video editor with design goal of ease of use. |http://www.pitivi.org/ |{{AUR|pitivi}}}}<br />
* {{App|[[Wikipedia:LiVES|LiVES]]|Video editor and VJ (live performance) platform | http://lives.sourceforge.net/ |{{AUR|lives}}}}<br />
* {{App|Open Movie Editor| "designed for basic movie making capabilities" | http://www.openmovieeditor.org/ | {{AUR|openmovieeditor}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Multimedia&diff=185475List of applications/Multimedia2012-02-21T01:52:02Z<p>Ryon.sherman: /* GUI players */ Added gmusicbrowser</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
[[Category:Audio/Video (English)]]<br />
{{i18n|Common Applications/Multimedia}}<br />
{{Common Applications navigation}}<br />
<br />
</noinclude><br />
== Multimedia ==<br />
=== Image Viewers ===<br />
{{Wikipedia|Comparison of image viewers}}<br />
<br />
==== Console ====<br />
* {{App|fbv|framebuffer image viewer|http://s-tech.elsat.net.pl/fbv/|{{Pkg|fbv}}}}<br />
* {{App|fim|highly customizable and scriptable framebuffer image viewer based on fbi|http://www.autistici.org/dezperado/|{{AUR|fim-svn}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Pkg|feh}}}}<br />
* {{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{AUR|galapix}}}}<br />
* {{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Pkg|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/|{{Pkg|gqview}}}}<br />
* {{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Pkg|geeqie}}}}<br />
* {{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Pkg|mirage}}}}<br />
* {{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Pkg|qiv}}}}<br />
* {{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Pkg|ristretto}}}}<br />
* {{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|https://github.com/muennich/sxiv|{{AUR|sxiv}}}}<br />
* {{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|https://xsisqox.github.com/Viewnior/about.html|{{Pkg|viewnior}}}}<br />
* {{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Pkg|xloadimage}}}}<br />
* {{App|XnView|An efficient image viewer, browser and converter|http://www.xnview.com/|{{AUR|xnview}}}}<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 />
=== Graphics and Image Manipulation ===<br />
==== Raster editors ====<br />
{{Wikipedia|Comparison of raster graphics editors}}<br />
<br />
* {{App|[[Wikipedia:GIMP|GIMP]]|GIMP stands for [[GNU Project| GNU]] Image Manipulation Program. Started in the mid 1990s, it is a image editing suite in a similar vein to proprietary editors like Adobe Photoshop. Arch Linux has a large number of plugins and additional tools for GIMP in its repositories. To search for them you can type<br />
:{{Bc|pacman -Ss gimp}}<br />
:There are also a large number of packages in the [[Arch User Repository]]. You may also be interested in reading [[CMYK support in The GIMP]]|http://www.gimp.org/|{{Pkg|gimp}}}}<br />
* {{App|[[Wikipedia:KolourPaint|KolourPaint]]|free, raster graphics editor for the KDE, similar to Microsoft's Paint application before Windows 7, but has some additional features such as support for transparency|http://kolourpaint.org|{{Pkg|kdegraphics-kolourpaint}}}}<br />
* {{App|mtPaint|graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Pkg|mtpaint}}}}<br />
* {{App|darktable|A photography workflow and RAW development application|http://www.darktable.org//|{{Pkg|darktable}}}}<br />
* {{App|[[Wikipedia:MyPaint|MyPaint]]|free software graphics application for digital painters|http://mypaint.intilinux.com|{{Pkg|mypaint}}}}<br />
* {{App|[[Wikipedia:Krita|Krita]]|digital painting and illustration software included based on the KDE platform and KOffice libraries|http://krita.org/|{{Pkg|koffice-krita}}}}<br />
* {{App|Nathive| "the usable image editor", a Gnome based image editing application with a focus on usability and a smooth learning curve.|http://www.nathive.org/|{{AUR|nathive}}}}<br />
* {{App|[[Wikipedia:ImageMagick|ImageMagick]]|command line image manipulation program. It is known for its accurate format conversions with support for over 100 formats. Its API enables it to be scripted and it is used as a back end processor - for example to create MediaWiki thumbnail images|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}}<br />
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|2002 fork of ImageMagick designed to have API and command line stability. It also supports multi-CPU for enhanced performance and thus is used by some large commercial sites (Flickr, etsy) for its performance|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}}<br />
* {{App|[[Wikipedia:Shotwell_(software)|Shotwell]]|image organizer with a small set of image manipulation features, for example rotate, crop, color adjust, and red eye removal. It can import photos directly from digital cameras and export them to social media sites|http://yorba.org/shotwell/|{{Pkg|shotwell}}}}<br />
* {{App|[[Wikipedia:digiKam|digiKam]]|KDE based image/photo organizer with built in editing features via a plugin architecture. digiKam asserts it is more full featured than similar applications with a larger set of image manipulation features including RAW image import and manipulation|http://www.digikam.org/|{{Pkg|digikam}}}}<br />
* {{App|[[Wikipedia:Pinta (software)|Pinta]]|A drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users|http://pinta-project.com/|{{Pkg|pinta}}}}<br />
<br />
==== Vector Graphics - Illustration ====<br />
{{Wikipedia|Comparison of vector graphics editors}}<br />
<br />
* {{App|[[Wikipedia:Inkscape|Inkscape]]|vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format. Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. It's developers also aim to maintain a thriving user and developer community by using open, community-oriented development.|http://inkscape.org/|{{Pkg|inkscape}}}}<br />
* {{App|[[Wikipedia:Xara LX|Xara Linux Xtreme aka XaraLX aka Xarino]]|advanced vector graphics program|http://www.xaraxtreme.org/|{{AUR|xaralx}}}}<br />
* {{App|[[Wikipedia:Dia_(software)|Dia]]|GTK+ based diagram creation program|http://live.gnome.org/Dia|{{Pkg|dia}}}}<br />
<br />
==== 3D Modeling/Rendering ====<br />
{{Stub}}<br />
<br />
{{Wikipedia|Comparison of 3D computer graphics software}}<br />
<br />
* {{App|[[Wikipedia:Blender_(software)|Blender]]|A fully integrated 3D graphics creation suite capable of 3D modeling, texturing, and animation, among other things. There are a number of additional patches and tools for blender the the [[AUR]].<br />
:See also:<br />
:*[http://www.blender.org/ Blender homepage]<br />
:*[http://wiki.blender.org/index.php/Main_Page Blender Wiki]<br />
:*[http://en.wikibooks.org/wiki/Blender_3D Blender walkthrough on wikibooks]|http://www.blender.org/|{{Pkg|blender}}}}<br />
<br />
==== Vector graphics - CAD ====<br />
{{Stub}}<br />
<br />
* {{App|[[Wikipedia:QCad|QCaD]]|powerful 2D CAD application that began in 1999. QCaD includes DFX standard file format and supports HPGL format|http://www.qcad.org/|{{Pkg|qcad}}}}<br />
<br />
=== Graphics utilities (helper apps) ===<br />
==== Screen Capture ====<br />
* {{App|KSnapshot|[[KDE]] application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. The images can then be saved in a variety of formats.|http://kde.org/applications/graphics/ksnapshot/|{{Pkg|kdegraphics-ksnapshot}}}}<br />
<br />
==== Screencast ====<br />
{{Wikipedia|Comparison of screencasting software}}<br />
<br />
Screencast utilities allow you to create a video of your desktop or individual windows.<br />
<br />
* {{App|[[Wikipedia:RecordMyDesktop|RecordMyDesktop]]|easy to use utility that records your desktop to ogg/theora. GTK and Qt frontends are avaiable|http://recordmydesktop.sourceforge.net/|{{Pkg|recordmydesktop}}}}<br />
* {{App|glc|can capture the sound and video of OpenGL applications, such as games, where regular X11 screencast tools produce choppy results|https://github.com/nullkey/glc|{{AUR|glc}}}}<br />
<br />
=== Audio systems ===<br />
{{Wikipedia|Sound server}}<br />
<br />
{{Box||See the main article: [[Sound system]]|#E5E5FF|#FCFCFC}}<br />
<br />
=== Audio players ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
<br />
==== Music player daemon and clients ====<br />
* {{App|[[Music Player Daemon]]|Lightweight and scalable choice for music management|http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki|{{Pkg|mpd}}}}<br />
* [[Music_Player_Daemon#Clients|List of MPD clients]]<br />
<br />
==== Command line players ====<br />
* {{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{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.org/|{{Pkg|mpg123}}}}<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Pkg|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{AUR|cplay}}}}<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Pkg|moc}}}}<br />
* {{App|PyTone|An advanced music jukebox with a console interface|http://www.luga.de/pytone/|{{AUR|pytone}}}}<br />
<br />
==== GUI players ====<br />
* {{App|[[Amarok]]|mature Qt-based player known for its plethora of features|http://amarok.kde.org/|{{Pkg|amarok}}}}<br />
* {{App|[[Wikipedia:aTunes|aTunes]]|audio-player written in Java|http://www.atunes.org/|{{AUR|atunes}}}}<br />
* {{App|[[Audacious]]|[[Wikipedia:Winamp|Winamp]] clone like Beep and old XMMS versions|http://audacious-media-player.org/|{{Pkg|audacious}}}}<br />
* {{App|[[Wikipedia:Banshee (media player)|Banshee]]|[[Wikipedia:iTunes|iTunes]] clone, built with GTK2 and [[Mono]], feature-rich and more actively developed|http://banshee.fm/|{{Pkg|banshee}}}}<br />
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Amarok 1.4 ported to QT4|http://www.clementine-player.org/|{{Pkg|clementine}}}}<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/|{{Pkg|deadbeef}}}}<br />
* {{App|[[Exaile]]|GTK2 clone of Amarok|http://www.exaile.org/|{{AUR|exaile}}}}<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. Uses the [[Wikipedia:Fox toolkit|Fox Toolkit]].|http://code.google.com/p/gogglesmm/|{{Pkg|gogglesmm}}}}<br />
* {{App|[[Rhythmbox]]|GTK2 clone of iTunes, used by default in GNOME|http://projects.gnome.org/rhythmbox/|{{Pkg|rhythmbox}}}}<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Pkg|pragha}}}}<br />
* {{App|[[wikipedia:XMMS|XMMS]]|A skinnable GTK+1 standalone media player similar to winamp|http://legacy.xmms2.org/|{{Pkg|xmms}}}}<br />
* {{App|Qmmp| Qt-based Multimedia Player. The user interface is similar to winamp or xmms|http://qmmp.ylsoftware.com/|{{Pkg|qmmp}}}}<br />
* {{App|Guayadeque|full featured media player that can easily manage large collections and uses the Gstreamer media framework|http://guayadeque.org/|{{AUR|guayadeque}}}}<br />
* {{App|Quod Libet|audio player written with pygtk and gstreamer|http://code.google.com/p/quodlibet/|{{Pkg|quodlibet}}}}<br />
* {{App|Nightingale ([[Wikipedia:Songbird|Songbird]] for Linux)|open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP|http://getnightingale.com/|{{AUR|nightingale-git}}}}<br />
* {{App|Spotify|A proprietary music streaming service. Supports local playback and streaming from Spotify's vast library (requires a free account)|http://www.spotify.com/|{{AUR|spotify}}}}<br />
* {{App|gmusicbrowser|An open-source jukebox for large collections of mp3/ogg/flac files, written in perl|http://gmusicbrowser.org/|{{AUR|gmusicbrowser}}}}<br />
<br />
=== Ripping from CD ===<br />
* {{App|abcde|Comprehensive command line tool for ripping audio CDs|http://lly.org/~rcw/abcde/page/|{{Pkg|abcde}}}}<br />
<br />
=== Visualization ===<br />
* {{App|ProjectM|A music visualizer which uses 3D accelerated iterative image based rendering.|http://projectm.sourceforge.net/|{{Pkg|projectm}}}}<br />
<br />
=== Sound editing ===<br />
* {{App|Audacity|A program that lets you manipulate digital audio waveforms.|http://audacity.sourceforge.net/|{{Pkg|audacity}}}}<br />
* {{App|KWave|A sound editor for KDE.|http://kwave.sourceforge.net/|{{AUR|kwave}}}}<br />
<br />
=== E-book applications ===<br />
* {{App|[[Wikipedia:FBReader|FBReader]]|E-book viewer. Supported formats include EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, non-DRM'ed mobipocket (mobi), and plain-text.|http://fbreader.org/|{{Pkg|fbreader}}}}<br />
* {{App|CoolReader|E-book viewer. Supported formats include epub (non-DRM), fb2, txt, rtf, html, chm and tcr.|http://www.coolreader.org/e-index.htm|{{AUR|coolreader}}}}<br />
* {{App|[[Wikipedia:Calibre_(software)|Calibre]]|E-book library management application. Supported formats include CBZ, CBR, CBC, CHM, DJVU, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ.|http://calibre-ebook.com/|{{Pkg|calibre}}}}<br />
<br />
=== Phone ===<br />
{{Stub}}<br />
<br />
* {{App|moto4lin| is a file manager and seem editor for Motorola P2K phones (like C380/C650)|http://freecode.com/projects/moto4lin|{{AUR|moto4lin}}}}<br />
<br />
=== Video Players ===<br />
{{Wikipedia|Comparison of video player software}}<br />
<br />
==== Console ====<br />
* {{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Pkg|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/|{{Pkg|kdemultimedia-dragonplayer}}}}<br />
* {{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Pkg|gnome-mplayer}}}}<br />
* {{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{AUR|parole}}}}<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Pkg|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/|{{Pkg|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/|{{AUR|whaawmp}}}}<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/|{{AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
{{Wikipedia|Comparison of video editing software}}<br />
<br />
==== Console ====<br />
* {{App|avidemux|graphical tool to edit video (filter/re-encode/split)|http://fixounet.free.fr/avidemux/|{{Pkg|avidemux-cli}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Kino_(software)|Kino]]|non-linear digital video editor|http://www.kinodv.org/|{{Pkg|kino}}}}<br />
* {{App|[[Wikipedia:OpenShot_Video_Editor|Open Shot]]|non-linear video editor based on MLT framework|http://www.openshotvideo.com/|{{Pkg|openshot}}}}<br />
* {{App|[[Wikipedia:Kdenlive|Kdenlive]]|non-linear video editor "designed for basic to semi-professional work"|http://kdenlive.org/|{{Pkg|kdenlive}}}}<br />
* {{App|[[Wikipedia:Cinelerra|CinelerraCV]]|professional video editing and compositing environment|http://cinelerra.org/|{{Pkg|cinelerra-cv}}}}<br />
* {{App|[[Wikipedia:Pitivi|PiTiVi]]|Video editor with design goal of ease of use. |http://www.pitivi.org/ |{{AUR|pitivi}}}}<br />
* {{App|[[Wikipedia:LiVES|LiVES]]|Video editor and VJ (live performance) platform | http://lives.sourceforge.net/ |{{AUR|lives}}}}<br />
* {{App|Open Movie Editor| "designed for basic movie making capabilities" | http://www.openmovieeditor.org/ | {{AUR|openmovieeditor}}}}</div>Ryon.shermanhttps://wiki.archlinux.org/index.php?title=List_of_applications/Multimedia&diff=185472List of applications/Multimedia2012-02-21T01:37:18Z<p>Ryon.sherman: /* Raster editors */ Added links and description for Pinta</p>
<hr />
<div><noinclude><br />
[[Category:Software (English)]]<br />
[[Category:Audio/Video (English)]]<br />
{{i18n|Common Applications/Multimedia}}<br />
{{Common Applications navigation}}<br />
<br />
</noinclude><br />
== Multimedia ==<br />
=== Image Viewers ===<br />
{{Wikipedia|Comparison of image viewers}}<br />
<br />
==== Console ====<br />
* {{App|fbv|framebuffer image viewer|http://s-tech.elsat.net.pl/fbv/|{{Pkg|fbv}}}}<br />
* {{App|fim|highly customizable and scriptable framebuffer image viewer based on fbi|http://www.autistici.org/dezperado/|{{AUR|fim-svn}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Feh]]|A fast, lightweight image viewer that uses imlib2|http://linuxbrit.co.uk/feh/|{{Pkg|feh}}}}<br />
* {{App|GalaPix|OpenGL-based image viewer for simultaneously viewing and zooming large collection of image files|http://code.google.com/p/galapix/|{{AUR|galapix}}}}<br />
* {{App|GpicView|A simple and fast image viewer for X. Made by the developers of [[LXDE]]|http://lxde.sourceforge.net/gpicview/|{{Pkg|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/|{{Pkg|gqview}}}}<br />
* {{App|Geeqie|An image browser/viewer fork of GQview. Adds additional functionality such as support for RAW files|http://geeqie.sourceforge.net/|{{Pkg|geeqie}}}}<br />
* {{App|Mirage|PyGTK image viewer featuring support for crop and resize, custom actions and a thumbnail panel|http://mirageiv.berlios.de|{{Pkg|mirage}}}}<br />
* {{App|QIV|A very small and fast gdk/Imlib image viewer|http://spiegl.de/qiv/|{{Pkg|qiv}}}}<br />
* {{App|Ristretto|A fast and lightweight picture-viewer for the Xfce desktop environment|http://goodies.xfce.org/projects/applications/ristretto|{{Pkg|ristretto}}}}<br />
* {{App|SXIV|Simple X Image Viewer; works well with tiling window managers, uses imlib2|https://github.com/muennich/sxiv|{{AUR|sxiv}}}}<br />
* {{App|Viewnior|Minimalistic GTK2 viewer featuring support for flip, rotate, animations and configurable mouse actions|https://xsisqox.github.com/Viewnior/about.html|{{Pkg|viewnior}}}}<br />
* {{App|Xloadimage|The classic X image viewer|http://web.archive.org/web/19981207030422/http://world.std.com/~jimf/xloadimage.html|{{Pkg|xloadimage}}}}<br />
* {{App|XnView|An efficient image viewer, browser and converter|http://www.xnview.com/|{{AUR|xnview}}}}<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 />
=== Graphics and Image Manipulation ===<br />
==== Raster editors ====<br />
{{Wikipedia|Comparison of raster graphics editors}}<br />
<br />
* {{App|[[Wikipedia:GIMP|GIMP]]|GIMP stands for [[GNU Project| GNU]] Image Manipulation Program. Started in the mid 1990s, it is a image editing suite in a similar vein to proprietary editors like Adobe Photoshop. Arch Linux has a large number of plugins and additional tools for GIMP in its repositories. To search for them you can type<br />
:{{Bc|pacman -Ss gimp}}<br />
:There are also a large number of packages in the [[Arch User Repository]]. You may also be interested in reading [[CMYK support in The GIMP]]|http://www.gimp.org/|{{Pkg|gimp}}}}<br />
* {{App|[[Wikipedia:KolourPaint|KolourPaint]]|free, raster graphics editor for the KDE, similar to Microsoft's Paint application before Windows 7, but has some additional features such as support for transparency|http://kolourpaint.org|{{Pkg|kdegraphics-kolourpaint}}}}<br />
* {{App|mtPaint|graphic editing program geared towards creating indexed palette images and pixel art|http://mtpaint.sourceforge.net/|{{Pkg|mtpaint}}}}<br />
* {{App|darktable|A photography workflow and RAW development application|http://www.darktable.org//|{{Pkg|darktable}}}}<br />
* {{App|[[Wikipedia:MyPaint|MyPaint]]|free software graphics application for digital painters|http://mypaint.intilinux.com|{{Pkg|mypaint}}}}<br />
* {{App|[[Wikipedia:Krita|Krita]]|digital painting and illustration software included based on the KDE platform and KOffice libraries|http://krita.org/|{{Pkg|koffice-krita}}}}<br />
* {{App|Nathive| "the usable image editor", a Gnome based image editing application with a focus on usability and a smooth learning curve.|http://www.nathive.org/|{{AUR|nathive}}}}<br />
* {{App|[[Wikipedia:ImageMagick|ImageMagick]]|command line image manipulation program. It is known for its accurate format conversions with support for over 100 formats. Its API enables it to be scripted and it is used as a back end processor - for example to create MediaWiki thumbnail images|http://www.imagemagick.org/script/index.php|{{Pkg|imagemagick}}}}<br />
* {{App|[[Wikipedia:GraphicsMagick|GraphicsMagick]]|2002 fork of ImageMagick designed to have API and command line stability. It also supports multi-CPU for enhanced performance and thus is used by some large commercial sites (Flickr, etsy) for its performance|http://www.graphicsmagick.org/|{{Pkg|graphicsmagick}}}}<br />
* {{App|[[Wikipedia:Shotwell_(software)|Shotwell]]|image organizer with a small set of image manipulation features, for example rotate, crop, color adjust, and red eye removal. It can import photos directly from digital cameras and export them to social media sites|http://yorba.org/shotwell/|{{Pkg|shotwell}}}}<br />
* {{App|[[Wikipedia:digiKam|digiKam]]|KDE based image/photo organizer with built in editing features via a plugin architecture. digiKam asserts it is more full featured than similar applications with a larger set of image manipulation features including RAW image import and manipulation|http://www.digikam.org/|{{Pkg|digikam}}}}<br />
* {{App|[[Wikipedia:Pinta (software)|Pinta]]|A drawing/editing program modeled after Paint.NET. It's goal is to provide a simplified alternative to GIMP for casual users|http://pinta-project.com/|{{Pkg|pinta}}}}<br />
<br />
==== Vector Graphics - Illustration ====<br />
{{Wikipedia|Comparison of vector graphics editors}}<br />
<br />
* {{App|[[Wikipedia:Inkscape|Inkscape]]|vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format. Inkscape supports many advanced SVG features (markers, clones, alpha blending, etc.) and great care is taken in designing a streamlined interface. It is very easy to edit nodes, perform complex path operations, trace bitmaps and much more. It's developers also aim to maintain a thriving user and developer community by using open, community-oriented development.|http://inkscape.org/|{{Pkg|inkscape}}}}<br />
* {{App|[[Wikipedia:Xara LX|Xara Linux Xtreme aka XaraLX aka Xarino]]|advanced vector graphics program|http://www.xaraxtreme.org/|{{AUR|xaralx}}}}<br />
* {{App|[[Wikipedia:Dia_(software)|Dia]]|GTK+ based diagram creation program|http://live.gnome.org/Dia|{{Pkg|dia}}}}<br />
<br />
==== 3D Modeling/Rendering ====<br />
{{Stub}}<br />
<br />
{{Wikipedia|Comparison of 3D computer graphics software}}<br />
<br />
* {{App|[[Wikipedia:Blender_(software)|Blender]]|A fully integrated 3D graphics creation suite capable of 3D modeling, texturing, and animation, among other things. There are a number of additional patches and tools for blender the the [[AUR]].<br />
:See also:<br />
:*[http://www.blender.org/ Blender homepage]<br />
:*[http://wiki.blender.org/index.php/Main_Page Blender Wiki]<br />
:*[http://en.wikibooks.org/wiki/Blender_3D Blender walkthrough on wikibooks]|http://www.blender.org/|{{Pkg|blender}}}}<br />
<br />
==== Vector graphics - CAD ====<br />
{{Stub}}<br />
<br />
* {{App|[[Wikipedia:QCad|QCaD]]|powerful 2D CAD application that began in 1999. QCaD includes DFX standard file format and supports HPGL format|http://www.qcad.org/|{{Pkg|qcad}}}}<br />
<br />
=== Graphics utilities (helper apps) ===<br />
==== Screen Capture ====<br />
* {{App|KSnapshot|[[KDE]] application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. The images can then be saved in a variety of formats.|http://kde.org/applications/graphics/ksnapshot/|{{Pkg|kdegraphics-ksnapshot}}}}<br />
<br />
==== Screencast ====<br />
{{Wikipedia|Comparison of screencasting software}}<br />
<br />
Screencast utilities allow you to create a video of your desktop or individual windows.<br />
<br />
* {{App|[[Wikipedia:RecordMyDesktop|RecordMyDesktop]]|easy to use utility that records your desktop to ogg/theora. GTK and Qt frontends are avaiable|http://recordmydesktop.sourceforge.net/|{{Pkg|recordmydesktop}}}}<br />
* {{App|glc|can capture the sound and video of OpenGL applications, such as games, where regular X11 screencast tools produce choppy results|https://github.com/nullkey/glc|{{AUR|glc}}}}<br />
<br />
=== Audio systems ===<br />
{{Wikipedia|Sound server}}<br />
<br />
{{Box||See the main article: [[Sound system]]|#E5E5FF|#FCFCFC}}<br />
<br />
=== Audio players ===<br />
{{Wikipedia|Comparison of audio player software}}<br />
<br />
==== Music player daemon and clients ====<br />
* {{App|[[Music Player Daemon]]|Lightweight and scalable choice for music management|http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki|{{Pkg|mpd}}}}<br />
* [[Music_Player_Daemon#Clients|List of MPD clients]]<br />
<br />
==== Command line players ====<br />
* {{App|Herrie|A minimalistic console-based music player with native AudioScrobbler support|http://herrie.info/|{{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.org/|{{Pkg|mpg123}}}}<br />
* {{App|[[Wikipedia:cmus|cmus]]|A very feature-rich ncurses-based music player|http://cmus.sourceforge.net/|{{Pkg|cmus}}}}<br />
* {{App|cplay|A curses front-end for various audio players|http://sourceforge.net/projects/cplay/{{Linkrot|2011|09|04}}|{{AUR|cplay}}}}<br />
* {{App|[[Moc]]|A ncurses console audio player with support for the MP3, Ogg, and WAV formats|http://moc.daper.net/|{{Pkg|moc}}}}<br />
* {{App|PyTone|An advanced music jukebox with a console interface|http://www.luga.de/pytone/|{{AUR|pytone}}}}<br />
<br />
==== GUI players ====<br />
* {{App|[[Amarok]]|mature Qt-based player known for its plethora of features|http://amarok.kde.org/|{{Pkg|amarok}}}}<br />
* {{App|[[Wikipedia:aTunes|aTunes]]|audio-player written in Java|http://www.atunes.org/|{{AUR|atunes}}}}<br />
* {{App|[[Audacious]]|[[Wikipedia:Winamp|Winamp]] clone like Beep and old XMMS versions|http://audacious-media-player.org/|{{Pkg|audacious}}}}<br />
* {{App|[[Wikipedia:Banshee (media player)|Banshee]]|[[Wikipedia:iTunes|iTunes]] clone, built with GTK2 and [[Mono]], feature-rich and more actively developed|http://banshee.fm/|{{Pkg|banshee}}}}<br />
* {{App|[[Wikipedia:Clementine_(software)|Clementine]]|Amarok 1.4 ported to QT4|http://www.clementine-player.org/|{{Pkg|clementine}}}}<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/|{{Pkg|deadbeef}}}}<br />
* {{App|[[Exaile]]|GTK2 clone of Amarok|http://www.exaile.org/|{{AUR|exaile}}}}<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. Uses the [[Wikipedia:Fox toolkit|Fox Toolkit]].|http://code.google.com/p/gogglesmm/|{{Pkg|gogglesmm}}}}<br />
* {{App|[[Rhythmbox]]|GTK2 clone of iTunes, used by default in GNOME|http://projects.gnome.org/rhythmbox/|{{Pkg|rhythmbox}}}}<br />
* {{App|Potamus|A lightweight, intuitive GTK+ audio player with an emphasis on high audio quality|http://offog.org/code/potamus.html|{{AUR|potamus}}}}<br />
* {{App|Pragha|A GTK+ music manager that was a fork of Consonance Music Manager|http://pragha.wikispaces.com/|{{Pkg|pragha}}}}<br />
* {{App|[[wikipedia:XMMS|XMMS]]|A skinnable GTK+1 standalone media player similar to winamp.|http://legacy.xmms2.org/|{{pkg|xmms}}}}<br />
* {{App|Qmmp| Qt-based Multimedia Player. The user interface is similar to winamp or xmms.|http://qmmp.ylsoftware.com/|{{pkg|qmmp}}}}<br />
* {{App|Guayadeque|full featured media player that can easily manage large collections and uses the Gstreamer media framework|http://guayadeque.org/|{{AUR|guayadeque}}}}<br />
* {{App|Quod Libet|audio player written with pygtk and gstreamer|http://code.google.com/p/quodlibet/|{{Pkg|quodlibet}}}}<br />
* {{App|Nightingale ([[Wikipedia:Songbird|Songbird]] for Linux)|open source clone of iTunes that uses Mozilla technologies as well as Gstreamer and is being developed by the team that made WinAMP|http://getnightingale.com/|{{AUR|nightingale-git}}}}<br />
* {{App|Spotify| A proprietary music streaming service. Supports local playback and streaming from Spotify's vast library. (Requires a free account)|http://www.spotify.com/|{{AUR|spotify}}}}<br />
<br />
=== Ripping from CD ===<br />
* {{App|abcde|Comprehensive command line tool for ripping audio CDs|http://lly.org/~rcw/abcde/page/|{{Pkg|abcde}}}}<br />
<br />
=== Visualization ===<br />
* {{App|ProjectM|A music visualizer which uses 3D accelerated iterative image based rendering.|http://projectm.sourceforge.net/|{{Pkg|projectm}}}}<br />
<br />
=== Sound editing ===<br />
* {{App|Audacity|A program that lets you manipulate digital audio waveforms.|http://audacity.sourceforge.net/|{{Pkg|audacity}}}}<br />
* {{App|KWave|A sound editor for KDE.|http://kwave.sourceforge.net/|{{AUR|kwave}}}}<br />
<br />
=== E-book applications ===<br />
* {{App|[[Wikipedia:FBReader|FBReader]]|E-book viewer. Supported formats include EPUB, FictionBook, HTML, plucker, PalmDoc, zTxt, TCR, CHM, RTF, OEB, non-DRM'ed mobipocket (mobi), and plain-text.|http://fbreader.org/|{{Pkg|fbreader}}}}<br />
* {{App|CoolReader|E-book viewer. Supported formats include epub (non-DRM), fb2, txt, rtf, html, chm and tcr.|http://www.coolreader.org/e-index.htm|{{AUR|coolreader}}}}<br />
* {{App|[[Wikipedia:Calibre_(software)|Calibre]]|E-book library management application. Supported formats include CBZ, CBR, CBC, CHM, DJVU, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ.|http://calibre-ebook.com/|{{Pkg|calibre}}}}<br />
<br />
=== Phone ===<br />
{{Stub}}<br />
<br />
* {{App|moto4lin| is a file manager and seem editor for Motorola P2K phones (like C380/C650)|http://freecode.com/projects/moto4lin|{{AUR|moto4lin}}}}<br />
<br />
=== Video Players ===<br />
{{Wikipedia|Comparison of video player software}}<br />
<br />
==== Console ====<br />
* {{App|[[mplayer]]|Support a complete and versatile array of video/audio formats|http://www.mplayerhq.hu/design7/news.html|{{Pkg|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/|{{Pkg|kdemultimedia-dragonplayer}}}}<br />
* {{App|Gnome-Mplayer|A simple GTK-based GUI for [[mplayer]]|http://kdekorte.googlepages.com/gnomemplayer|{{Pkg|gnome-mplayer}}}}<br />
* {{App|[[Parole]]|A modern media player based on the GStreamer framework|http://goodies.xfce.org/projects/applications/parole/|{{AUR|parole}}}}<br />
* {{App|[[Wikipedia:SMPlayer|SMPlayer]]|A middleweight QT frontend for mplayer with additional patches|http://smplayer.sourceforge.net/|{{Pkg|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/|{{Pkg|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/|{{AUR|whaawmp}}}}<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/|{{AUR|xnoise}}}}<br />
<br />
=== Video Editors ===<br />
{{Wikipedia|Comparison of video editing software}}<br />
<br />
==== Console ====<br />
* {{App|avidemux|graphical tool to edit video (filter/re-encode/split)|http://fixounet.free.fr/avidemux/|{{Pkg|avidemux-cli}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Kino_(software)|Kino]]|non-linear digital video editor|http://www.kinodv.org/|{{Pkg|kino}}}}<br />
* {{App|[[Wikipedia:OpenShot_Video_Editor|Open Shot]]|non-linear video editor based on MLT framework|http://www.openshotvideo.com/|{{Pkg|openshot}}}}<br />
* {{App|[[Wikipedia:Kdenlive|Kdenlive]]|non-linear video editor "designed for basic to semi-professional work"|http://kdenlive.org/|{{Pkg|kdenlive}}}}<br />
* {{App|[[Wikipedia:Cinelerra|CinelerraCV]]|professional video editing and compositing environment|http://cinelerra.org/|{{Pkg|cinelerra-cv}}}}<br />
* {{App|[[Wikipedia:Pitivi|PiTiVi]]|Video editor with design goal of ease of use. |http://www.pitivi.org/ |{{AUR|pitivi}}}}<br />
* {{App|[[Wikipedia:LiVES|LiVES]]|Video editor and VJ (live performance) platform | http://lives.sourceforge.net/ |{{AUR|lives}}}}<br />
* {{App|Open Movie Editor| "designed for basic movie making capabilities" | http://www.openmovieeditor.org/ | {{AUR|openmovieeditor}}}}</div>Ryon.sherman