https://wiki.archlinux.org/api.php?action=feedcontributions&user=Thepizzaking&feedformat=atomArchWiki - User contributions [en]2024-03-29T01:21:20ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Tor&diff=151887Tor2011-08-14T04:39:35Z<p>Thepizzaking: </p>
<hr />
<div>[[Category:Internet Applications (English)]]<br />
{{i18n|Tor}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|This article will explain how to install and configure Tor alongside HTTP proxies like Privoxy and Polipo.}}<br />
{{Article summary heading|Required software}}<br />
{{Article summary link|Tor|https://www.torproject.org/download/download.html.en}}<br />
{{Article summary link|Privoxy|http://www.privoxy.org/}}<br />
{{Article summary link|Polipo|http://www.pps.jussieu.fr/~jch/software/polipo/}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Privoxy}}<br />
{{Article summary wiki|Polipo}}<br />
{{Article summary end}}<br />
<br />
'''Tor''' is an open source implementation of 2nd generation [[Wikipedia:Onion routing|onion routing]] that provides free access to an anonymous proxy network. Its primary goal is to enable [[Wikipedia:internet anonymity|online anonymity]] by protecting against [[Wikipedia:Traffic analysis|traffic analysis]] attacks.<br />
<br />
==Introduction==<br />
{{Wikipedia|Tor (anonymity network)}}<br />
Users of the Tor network run an onion proxy on their machine. This software connects out to Tor, periodically negotiating a virtual circuit through the Tor network. Tor employs cryptography in a layered manner (hence the 'onion' analogy), ensuring perfect forward secrecy between routers. At the same time, the onion proxy software presents a SOCKS interface to its clients. SOCKS-aware applications may be pointed at Tor, which then multiplexes the traffic through a Tor virtual circuit.<br />
<br />
{{Warning|Tor by itself is ''not'' all you need to maintain your anonymity. There are several major pitfalls to watch out for (see: [https://www.torproject.org/download/download.html.en#warning Want Tor to really work?]).}}<br />
<br />
Through this process the onion proxy manages networking traffic for end-user anonymity. It keeps a user anonymous by encrypting traffic, sending it through other nodes of the Tor network, and decrypting it at the last node to receive your traffic before forwarding it to the server you specified. Although Tor is considerably safer than the commonly used direct DNS connections (i.e. without a proxy), it can be considerably slower due to the large amount of traffic re-routing. Additionally, although Tor provides protection against traffic analysis it cannot prevent traffic confirmation at the boundaries of the Tor network (i.e. the traffic entering and exiting the network).<br />
<br />
==Installation==<br />
Install the Tor package located in <tt>[community]</tt> using [[Pacman]].<br />
# pacman -S tor<br />
<br />
==Configuration==<br />
To get a better understanding of Tor review the {{filename|/etc/tor/torrc}} configuration file. The configuration options are explained in <tt>man tor</tt> and the [https://www.torproject.org/docs/tor-manual.html.en Tor website]. <br />
<br />
The default configuration should work fine for most Tor users, with the one notable exception being those using Vidalia, a Qt GUI frontend for Tor. There is a [https://aur.archlinux.org/packages.php?ID=9731 Vidalia package] available in the [[AUR]]. In addition to controlling the process Vidalia allows you to view the status of Tor; monitor bandwidth usage; view, filter, and search log messages; and configure some aspects of Tor.<br />
<br />
You can set custom file descriptor ulimits for Tor in {{filename|/etc/conf.d/tor}} using the <tt>TOR_MAX_FD</tt> variable.<br />
<br />
===Logging===<br />
By default Tor logs to "stdout" at log-level notice. If you enable logs in your {{filename|torrc}} file, they default to <tt>/usr/local/var/log/tor/</tt>.<br />
<br />
==Usage==<br />
To start Tor issue the following command as root to start the Tor service:<br />
# /etc/rc.d/tor start<br />
<br />
To start Tor at boot add <tt>tor</tt> to the <tt>DAEMONS</tt> array in {{Filename|/etc/rc.conf}}:<br />
DAEMONS=(... '''tor''' ...)<br />
<br />
To check if TOR is functioning properly visit the [https://check.torproject.org/ Tor], [http://serifos.eecs.harvard.edu/cgi-bin/ipaddr.pl?tor=1 Harvard] or [https://torcheck.xenobite.eu/ Xenobite.eu] websites.<br />
<br />
==Web browsing==<br />
Tor is supported primarily by Firefox, but can also be used with Chromium.<br />
<br />
===Firefox===<br />
If you use Firefox, you can install this plug-in: [https://addons.mozilla.org/en-us/firefox/addon/torbutton/ TorButton].<br />
This will allow you to toggle very easily between tor navigation and normal navigation.<br />
If you're using multiple Proxies (for example if you want to use both TOR and "ssh -D") then there's also an addon called "[https://addons.mozilla.org/de/firefox/addon/foxyproxy-standard/ FoxyProxy]" for Firefox which allows you to specify multiple Proxies for different URLs or for all your browsing. Just point it to port 8118 (where polipo is running) on localhost.<br />
To test it, point your browser to [https://check.torproject.org/ this website] with and without tor enabled.<br />
<br />
Please read [https://www.torproject.org/docs/tor-doc-unix.html.en the official doc] for more infos.<br />
<br />
===Chromium===<br />
You do not need polipo to use TOR with Chromium. Simply start the TOR daemon, and run:<br />
$ chromium --proxy-server="socks://localhost:9050"<br />
<br />
==Irssi with Tor==<br />
Freenode does not recommend that you use Privoxy with [[Irssi]]. Instead they recommend using the <tt>mapaddress</tt> approach and running <tt>torify irssi</tt> to start it up. Therefore, add the following to {{Filename|/etc/tor/torrc}}:<br />
mapaddress 10.40.40.40 p4fsi4ockecnea7l.onion<br />
<br />
Freenode requires charybdis and ircd-seven's SASL mechanism for identifying to nickserv during<br />
connection. Download {{filename|cap_sasl.pl}}, which enables SASL, from the Freenode website (i.e. http://www.freenode.net/sasl/cap_sasl.pl) and save it to <tt>~/.irssi/scripts/cap_sasl.pl</tt><br />
<br />
Then install the following required perl modules with [[pacman]] and then [http://aur.archlinux.org/packages.php?ID=34386 Crypt::DH] from the [[AUR]].<br />
$ pacman -S perl-crypt-openssl-bignum perl-crypt-blowfish<br />
Alternatively, you can install the modules using perl:<br />
$ perl -MCPAN -e 'install Crypt::OpenSSL::Bignum Crypt::DH Crypt::Blowfish'<br />
<br />
Start irssi <br />
$ torify irssi<br />
<br />
Load the script that will employ the SASL mechanism.<br />
/script load cap_sasl.pl<br />
<br />
Set your identification to nickserv, which will be read when connecting. Supported mechanisms are PLAIN and DH-BLOWFISH. <br />
/sasl set <network> <username> <password> <mechanism><br />
<br />
Connect to Freenode:<br />
/connect -network <network> 10.40.40.40<br />
<br />
For more information check [http://freenode.net/irc_servers.shtml#tor Accessing freenode Via Tor] and the [http://freenode.net/sasl/README.txt SASL README] at freenode.net or the [https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/IrcSilc IRC/SILC Wiki article] at torproject.org.<br />
<br />
===Troubleshooting===<br />
If you are having errors check [https://bbs.archlinux.org/viewtopic.php?pid=956467#p956467 this thread].<br />
<br />
==Tor with an HTTP Proxy==<br />
If you need an HTTP proxy.<br />
<br />
{{note|Polipo is now recommended over Privoxy by the Tor dev team. <sup>[Source Needed]</sup>}}<br />
<br />
===Polipo===<br />
Polipo is a small and fast HTTP proxy. Install and configure according to the [[Polipo]] article. The Tor Project has created a custom [https://gitweb.torproject.org/torbrowser.git/blob_plain/HEAD:/build-scripts/config/polipo.conf Polipo configuration file] to prevent potential problems with Polipo as well to provide better anonymity.<br />
<br />
Keep in mind that polipo is not required if you can use a SOCKS 5 proxy, which TOR starts automatically on port 9050. Notably, if you want to use [[Chromium]] to use TOR, you do not need the polipo package. See [[#Chromium and tor|below]] on how to use TOR with [[Chromium]].<br />
<br />
===Privoxy===<br />
Privoxy is an HTTP proxy that speaks SOCKS4a and does html/cookie scrubbing. It can be installed and configured according to the [[Privoxy]] article.<br />
<br />
====Tor and Privoxy in Firefox====<br />
The easiest way to do this is to use the [https://addons.mozilla.org/firefox/2275/ Torbutton] extension.<br />
<br />
Alternatively, you can use [https://addons.mozilla.org/firefox/125/ SwitchProxy Tool]. After restarting Firefox you will have a new toolbar. Click ''Add'', select ''Standard proxy type''. Choose whatever ''Proxy Label'' you want, e.g ''Tor''. Enter into both the ''HTTP Proxy'' and ''SSL Proxy'' fields:<br />
<br />
Hostname: 127.0.0.1 Port: 8118<br />
<br />
This will point Firefox at Privoxy. You can also add exceptions in the ''No Proxy for'' field.<br />
<br />
Now, return to http://whatsmyip.net/ and check so that your IP is diffrent from before.<br />
<br />
====Tor and Privoxy in other applications====<br />
You can also use this setup in other applications like instant messaging, Jabber, IRC, etc.<br />
<br />
Applications that support HTTP proxies you can point at Privoxy (127.0.0.1 port 8118).<br />
<br />
To use SOCKS proxy directly, you can point your application at Tor (127.0.0.1 port 9050). A problem with this method though is that applications doing DNS resolves by themselves may leak information. Consider using Socks4A (e.g. via privoxy) instead.<br />
<br />
==Running a Tor Server==<br />
===Configuration===<br />
You should at least share 20kb/s:<br />
Nickname <tornickname><br />
ORPort 9001<br />
BandwidthRate 20 KB # Throttle traffic to 20KB/s<br />
BandwidthBurst 50 KB # But allow bursts up to 50KB/s<br />
<br />
Allow irc ports 6660-6667 to exit from node:<br />
ExitPolicy accept *:6660-6667,reject *:* # Allow irc ports but no more<br />
<br />
Run Tor as an exit node:<br />
ExitPolicy accept *:119 # Accept nntp as well as default exit policy<br />
<br />
Run Tor as middleman:<br />
ExitPolicy reject *:*<br />
<br />
==TorDNS==<br />
The Tor 0.2.x series provides a built-in DNS forwarder. To enable it add the following lines to the Tor configuration file:<br />
{{file|/etc/tor/torrc|<br />
DNSPort 9053<br />
AutomapHostsOnResolve 1<br />
AutomapHostsSuffixes .exit,.onion<br />
}}<br />
And restart Tor to load the updated configuration file:<br />
/etc/rc.d/tor restart<br />
<br />
This will allow Tor to accept DNS requests (listening on port 9053 in this example) like a regular DNS server, and resolve the domain via the Tor network. A downside is that it's only able to resolve DNS queries for A-records; MX and NS queries are never answered. For more information see this [https://techstdout.boum.org/TorDns/ Debian-based introduction].<br />
<br />
DNS queries can also be performed through a command line interface by using {{Codeline|<nowiki>tor-resolve</nowiki>}}. For example:<br />
<pre><br />
$ tor-resolve archlinux.org<br />
66.211.214.131<br />
</pre><br />
<br />
==Torify==<br />
<br />
{{Codeline|<nowiki>torify</nowiki>}} will allow you use an application via the Tor network without the need to make configuration changes to the application involved. From the man page:<br />
<pre><br />
torify is a simple wrapper that calls tsocks with a tor specific configuration<br />
file.<br />
<br />
tsocks itself is a wrapper between the tsocks library and the application that<br />
you would like to run socksified<br />
</pre><br />
Usage example:<br />
<pre><br />
$ torify elinks checkip.dyndns.org<br />
$ torify wget -qO- https://check.torproject.org/ | grep -i congratulations<br />
</pre><br />
<br />
Torify ''will not'', however, perform DNS lookups through the Tor network. A workaround is to use it in conjunction with {{Codeline|<nowiki>tor-resolve</nowiki>}} (described above). In this case, the procedure for the first of the above examples would look like this:<br />
<pre><br />
$ tor-resolve checkip.dyndns.org<br />
208.78.69.70<br />
$ torify elinks 208.78.69.70<br />
</pre><br />
<br />
==Troubleshooting==<br />
<br />
===Problem with User value===<br />
<br />
If the ''tor'' daemon failed to start, then run the following command as root (or use sudo)<br />
<br />
# tor<br />
<br />
If you get the following error<br />
<br />
May 23 00:27:24.624 [warn] Error setting groups to gid 43: "Operation not permitted".<br />
May 23 00:27:24.624 [warn] If you set the "User" option, you must start Tor as root.<br />
May 23 00:27:24.624 [warn] Failed to parse/validate config: Problem with User value. See logs for details.<br />
May 23 00:27:24.624 [err] Reading config failed--see warnings above.<br />
<br />
Then it means that the problem is with the User value. So proceed with the following steps.<br />
<br />
Check the permissions of the directory {{Filename|/var/lib/tor}} by running<br />
<br />
# ls -l /var/lib/<br />
<br />
If the permission for {{Filename|/var/lib/tor}} is as shown below<br />
<br />
drwx------ 2 tor tor 4096 May 12 21:03 tor<br />
<br />
This means that the directory is owned by the user ''tor'' and the group ''tor''.<br />
Change the owner to the user ''root'', and the group ''root'' with the command:<br />
<br />
# chown -R root:root /var/lib/tor<br />
<br />
If you check the permissions again, it should now show<br />
<br />
drwx------ 2 root root 4096 May 12 21:03 tor<br />
<br />
Now open {{Filename|/etc/tor/torrc}} and find the following lines<br />
<br />
## Uncomment this to start the process in the background... or use<br />
## --runasdaemon 1 on the command line.<br />
RunAsDaemon 1<br />
User tor<br />
Group tor<br />
<br />
Comment out the lines ''User tor'' and ''Group tor'', so that the lines read as <br />
<br />
## Uncomment this to start the process in the background... or use<br />
## --runasdaemon 1 on the command line.<br />
RunAsDaemon 1<br />
#User tor<br />
#Group tor<br />
<br />
Save the changes and restart the ''tor'' daemon, it should now work.<br />
<br />
# /etc/rc.d/tor restart<br />
<br />
== External Links ==<br />
* [https://www.torproject.org/ Official Website]<br />
* [https://trac.torproject.org/projects/tor/wiki#Unixish Unix-based Tor Articles]<br />
* [https://trac.torproject.org/projects/tor/wiki/doc/SupportPrograms Software commonly integrated with Tor]<br />
* [https://www.torproject.org/docs/tor-hidden-service.html.en How to set up a Tor ''Hidden Service'']</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Arch_User_Repository&diff=131686Arch User Repository2011-02-21T11:00:43Z<p>Thepizzaking: Add a section on the git repo http://bbs.archlinux.org/viewtopic.php?id=113099</p>
<hr />
<div>[[Category:AUR (English)]]<br />
[[Category:About Arch (English)]]<br />
[[Category:Package development (English)]]<br />
[[Category:Package management (English)]]<br />
[[Category:Arch development (English)]]<br />
{{i18n|Arch User Repository}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|The Arch User Repository is a collection of user-submitted PKGBUILDs that supplement software available from the official repositories. This article describes how to build ''unsupported'' software packages from the AUR.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Package management overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|AUR Helpers}}<br />
{{Article summary wiki|AUR Trusted User Guidelines}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|AUR Web Interface|http://aur.archlinux.org}}<br />
{{Article summary link|AUR Mailing List|http://www.archlinux.org/mailman/listinfo/aur-general}}<br />
{{Article summary end}}<br />
<br />
The [[Arch User Repository]] (AUR) is a community-driven repository for Arch users. It contains package descriptions ([[PKGBUILD]]s) that allow you to compile a package from source with [[makepkg]] and then install it via [[pacman]]. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the [[#.5Bcommunity.5D|[community]]] repository. This document explains how users can access and utilize the AUR.<br />
<br />
A good number of new packages that enter the official repositories start in the AUR. In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for or against packages in the AUR. If a package becomes popular enough -- provided it has a compatible license and good packaging technique -- it may be entered into the [community] repository (directly accessible by <tt>pacman</tt> or <tt>abs</tt>).<br />
<br />
==Getting started==<br />
<br />
Users can search and download [[PKGBUILD]]s from the [http://aur.archlinux.org AUR Web Interface]. These PKGBUILDs can be built into installable packages using [[makepkg]], then installed using [[pacman]]. <br />
<br />
* Read the remainder of this article for more info and a short tutorial on installing AUR packages.<br />
* Visit the [http://aur.archlinux.org AUR Web Interface] to inform yourself on updates and happenings. There you will also find statistics and an up-to-date list of newest available packages available in AUR.<br />
* Glance over the [[#FAQ]] for answers to the most common questions.<br />
* You may wish to adjust {{Filename|/etc/makepkg.conf}} to better optimize for your processor prior to building packages from the AUR. A significant improvement in compile times can be realized on systems with multi-core processors by adjusting the MAKEFLAGS variable. Users can also enable hardware-specific optimizations in GCC via the CFLAGS variable. See [[makepkg.conf]] for more information.<br />
* Install "base-devel" ({{Codeline|pacman -S base-devel}}), because members of this group are not explicitly required by AUR packages which may not build without them (more info in [http://bbs.archlinux.org/viewtopic.php?pid=632355 this thread]).<br />
<br />
==History==<br />
The following items are listed for historical purposes only. They have since been superseded by the AUR and are no longer available.<br />
<br />
At the beginning, there was <tt><nowiki>ftp://ftp.archlinux.org/incoming</nowiki></tt>, and people contributed by simply uploading the [[PKGBUILD]], the needed supplementary files, and the built package itself to the server. The package and associated files remained there until a [[Package Maintainer]] saw the program and adopted it.<br />
<br />
Then the Trusted User Repositories were born. Certain individuals in the community were allowed to host their own repositories for anyone to use. The AUR expanded on this basis, with the aim of making it both more flexible and more usable. In fact, the AUR maintainers are still referred to as TUs (Trusted Users).<br />
<br />
==Searching==<br />
The AUR web interface can be found [http://aur.archlinux.org/ here], and an interface suitable for accessing the AUR from a script (for example) can be found [http://aur.archlinux.org/rpc.php here]<br />
<br />
Queries search package names and descriptions via a MySQL LIKE comparison. This allows for more flexible search criteria (e.g. try searching for 'tool%like%grep' instead of 'tool like grep'). If you need to search for a description that contains '%', escape it with '\%'.<br />
<br />
==Installing packages==<br />
Installing packages from the AUR (aka the [unsupported] repository) is a relatively simple process. Essentially:<br />
# Acquire the tarball which contains the [[PKGBUILD]] and possibly other required files<br />
# Extract the tarball (preferably in a folder set aside just for builds from the AUR)<br />
# Run [[makepkg]] in the directory where the files are saved ("makepkg -s" will auto-resolve dependencies with [[pacman]])<br />
# Install the resulting package with [[pacman]]<br />
<br />
# pacman -U /path/to/pkg.tar.xz<br />
<br />
[[AUR Helpers]] add seamless access to the AUR. They vary in their features, but can ease in searching, fetching, building, and installing from PKGBUILDs found in the AUR. All of these scripts can be found in UNSUPPORTED. <br />
<br />
{{Note|There is not and will never be an ''official'' mechanism for installing build material from UNSUPPORTED. All users should be familiar with the build process.}}<br />
<br />
What follows is a detailed example of installation of a package called "foo".<br />
<br />
===Prerequisites===<br />
First ensure that the necessary tools are installed. The package group "base-devel" should be sufficient; it includes ''make'' and other tools needed for compiling from source.<br />
<br />
{{Warning|Packages in the AUR assume "base-devel" is installed, and will not list members of this group as dependencies even if the package cannot be built without them. Please ensure this group is installed before complaining about failed builds.}}<br />
<br />
# pacman -S base-devel<br />
<br />
Next choose an appropriate build directory. A build directory is simply a directory where the package will be made or "built" and can be any directory. Examples of commonly used directories are:<br />
<br />
~/builds<br />
<br />
or if using ABS (the [[Arch Build System]]):<br />
<br />
/var/abs/local<br />
<br />
For more information on ABS read the [[Arch Build System]] article. The example will use {{Filename|~/builds}} as the build directory.<br />
<br />
===Acquire build files===<br />
Locate the package in the AUR. This is done using the search feature (text field at the top of the [http://aur.archlinux.org/ AUR home page]). Clicking the application's name in the search list brings up an information page on the package. Read through the description to confirm that this is the desired package, note when the package was last updated, and read any comments.<br />
<br />
Download the necessary build files. From the package's information page download the build files by clicking the "Tarball" link on the left-hand side near the end of the package details. This file should be saved to the build directory or otherwise copied to the directory after downloading. In this example, the file is called "foo.tar.gz" (standard format is <pkgname>.tar.gz, if it has been properly submitted).<br />
<br />
===Build the package===<br />
Extract the tarball. Change directories to the build directory if not already there and extract the build files.<br />
<br />
$ cd ~/builds<br />
$ tar -xvzf foo.tar.gz<br />
<br />
This should create a new directory called "foo" in the build directory.<br />
<br />
{{Warning|'''Carefully check all files.''' Change directories to the newly created directory and carefully check the {{Filename|PKGBUILD}} and any {{Filename|.install}} file for malicious commands. If in doubt, do NOT build the package and seek advice on the forums or mailing list.}}<br />
<br />
$ cd foo<br />
$ nano PKGBUILD<br />
$ nano foo.install<br />
<br />
Make the package. After manually confirming the integrity of the files, run [[makepkg]] as a normal user in the build directory.<br />
<br />
$ makepkg -s<br />
<br />
The {{Codeline|-s}} switch will use [[sudo]] to install any needed dependencies. If the use of sudo is undesirable, manually install required dependencies beforehand and exclude the {{Codeline|-s}} in the above command.<br />
<br />
===Install the package===<br />
Install the package using [[pacman]]. A tarball should have been created named:<br />
<br />
<application name>-<version number>-<architecture>.pkg.tar.xz<br />
<br />
This package can be installed using [[pacman]]'s "upgrade" command:<br />
<br />
# pacman -U foo-0.1-i686.pkg.tar.xz <br />
<br />
{{Note|The above example is only a brief summary of the package building process. A visit to the [[makepkg]] and [[ABS]] pages will provide more detail and is highly recommended (particularly for first-time users).}}<br />
<br />
==Sharing packages==<br />
The user plays an essential role in the AUR, which cannot fulfill its potential without the support, involvement, and contribution of the wider user community. The life-cycle of an AUR package starts and ends with the user and requires the user to contribute in several ways.<br />
<br />
Users can '''share''' [[PKGBUILD]]s using the UNSUPPORTED area in the AUR. UNSUPPORTED does not contain any binary packages but allows users to upload PKGBUILDs that can be downloaded by others. These PKGBUILDs are completely unofficial and have not been thoroughly vetted, so they should be used at your own risk.<br />
<br />
===Feedback===<br />
A comments facility allows users to provide suggestions and feedback on improvements to the PKGBUILD contributor. Avoid pasting patches or PKGBUILDs into the comments section. They quickly become obsolete and just end up needlessly taking up lots of space. Instead email those files to the maintainer, or even use a [[pastebin Clients|pastebin]] like http://aur.pastebin.com.<br />
<br />
One of the easiest activities for '''all''' Arch users is to browse the AUR and '''vote''' for their favorite packages using the online interface. All packages are eligible for adoption by a TU for inclusion in [community], and the vote count is one of the considerations in that process; it is in everyone's interest to vote!<br />
<br />
===Submitting packages===<br />
After logging in to the AUR web interface, a user can [http://aur.archlinux.org/pkgsubmit.php submit] a gzipped tarball ({{Filename|.tar.gz}}) of a directory containing build files for a package. The directory inside the tarball should contain a {{Filename|PKGBUILD}}, any {{Filename|.install}} files, patches, etc. (ABSOLUTELY no binaries). Examples of what such a directory should look like can be seen inside {{Filename|/var/abs}} if [[ABS]] was installed.<br />
<br />
The tarball can be created with the following command:<br />
$ makepkg --source <br />
<br />
Note that this is a gzipped tarball; assuming you are uploading a package called ''libfoo'', when you create the file it should look similar to this:<br />
<br />
# List contents of tarball.<br />
$ tar tf libfoo-0.1-1.src.tar.gz<br />
libfoo/<br />
libfoo/PKGBUILD<br />
libfoo/libfoo.install<br />
<br />
When submitting a package, observe the following rules: <br />
* Check [core], [extra], and [community] for the package. If it is inside any of those repositories in ANY form, DO NOT submit the package (if the current package is broken or is lacking an included feature then please file a bug report in [http://bugs.archlinux.org/ FlySpray]).<br />
* Check AUR for the package. If it is currently maintained, changes can be submitted in a comment for the maintainer's attention. If it is unmaintained, the package can be adopted and updated as required.<br />
* Verify carefully that what you are uploading is correct. All contributors must read and adhere to the [[Arch Packaging Standards]] when writing PKGBUILDs. This is essential to the smooth running and general success of the AUR. Remember you are not going to earn any credit or respect from your peers by wasting their time with a bad PKGBUILD.<br />
* Packages that contain binaries or that are very poorly written may be deleted without warning.<br />
* If you are unsure about the package (or the build/submission process) in any way, submit the PKGBUILD to the [http://mailman.archlinux.org/mailman/listinfo/ AUR Mailing List] or the [https://bbs.archlinux.org/viewforum.php?id=4 AUR boards] on the forum for public review before adding it to the AUR.<br />
* Make sure the package is useful. Will anyone else want to use this package? Is it extremely specialized? If more than a few people would find this package useful, it is appropriate for submission.<br />
* Gain some experience before submitting packages. Build a few packages to learn the process and then submit.<br />
* If you submit a {{Filename|package.tar.gz}} with a file named '{{Filename|package}}' in it you'll get an error: 'Could not change to directory {{Filename|/home/aur/unsupported/package/package}}'. To resolve this, rename the file named '{{Filename|package}}' to something else, for example, '{{Filename|package.rc}}'. When it is installed in the {{Filename|pkg}} directory you may rename it back to '{{Filename|package}}'.<br />
<br />
===Maintaining packages===<br />
* If you maintain a package and want to update the PKGBUILD for your package just resubmit it.<br />
* Check for feedback and comments from other users and try to incorporate any improvements they suggest; consider it a learning process!<br />
* Please DO NOT just submit and forget about packages! While in UNSUPPORTED, it is the user's job to maintain the package by checking for updates and improving the PKGBUILD.<br />
* If you do not want to continue to maintain the package for some reason, <tt>disown</tt> the package using the AUR web interface and/or post a message to the AUR Mailing List.<br />
<br />
==[community]==<br />
The [community] repository, maintained by [[Trusted Users]], contains the most popular packages from AUR. It is enabled by default in {{Filename|pacman.conf}}. If disabled/removed, it can be enabled by uncommenting/adding these two lines: <br />
<br />
{{File<br />
|name=/etc/pacman.conf<br />
|content=<nowiki><br />
...<br />
[community]<br />
Include = /etc/pacman.d/mirrorlist<br />
...<br />
</nowiki>}}<br />
<br />
[community], unlike AUR, contains binary packages that can be installed directly with [[pacman]] and the build files can also be accessed with [[ABS]]. Some of these packages may eventually make the transition to the [core] or [extra] repositories as the developers consider them crucial to the distribution.<br />
<br />
Users can also access the [community] build files by editing {{Filename|/etc/abs.conf}} and enabling the community repository in the {{Codeline|REPOS}} array.<br />
<br />
==Git Repo==<br />
A Git Repo of the AUR is maintained by Thomas Dziedzic providing package history among other things. It is updated at least once a day. To clone the repository (several hundred MB):<br />
<br />
$ git clone git://pkgbuild.com/aur.git<br />
<br />
[http://pkgbuild.com/git/aur.git/ Web interface], [http://pkgbuild.com/~td123/readme Readme], [http://bbs.archlinux.org/viewtopic.php?id=113099 Forum thread]<br />
<br />
==FAQ==<br />
<br />
{{FAQ<br />
|question=What is the AUR?<br />
|answer=The AUR (Arch User Repository) is a place where the Arch Linux community can upload [[PKGBUILD]]s of applications, libraries, etc., and share them with the entire community. Fellow users can then vote for their favorites to be moved into the [community] repository to be shared with Arch Linux users in binary form.}}<br />
<br />
{{FAQ<br />
|question=What is a TU?<br />
|answer=A [[AUR Trusted User Guidelines|TU (Trusted User)]] is a person who is chosen to oversee AUR and the [community] repository. They're the ones who maintain popular PKGBUILDs in [community], and overall keep the AUR running.}}<br />
<br />
{{FAQ<br />
|question=What's the difference between [unsupported] and [community]?<br />
|answer=[unsupported] is where all PKGBUILDs that users submit are stored, and must be built manually with [makepkg]. When PKGBUILDs receive enough votes, they are moved into the [community] repository, where the TUs maintain binary packages that can be installed with [[pacman]].}}<br />
<br />
{{FAQ<br />
|question=How many votes does it take to get a PKGBUILD into [community]?<br />
|answer=Usually, at least 10 votes are required for something to move into [community]. However, if a TU wants to support an package, it will often be found in the repository.}}<br />
<br />
{{FAQ<br />
|question=How do I make a PKGBUILD?<br />
|answer=The best resource is [[Creating Packages]]. Remember to look in AUR before creating the PKGBUILD as to not duplicate efforts.}}<br />
<br />
{{FAQ<br />
|question=I'm trying to do {{Codeline|pacman -S foo}}; it isn't working but I know it's in [community]<br />
|answer=You probably haven't enabled [community] in your {{Filename|/etc/pacman.conf}}. Just uncomment the relevant lines.<br />
If [community] is enabled in your {{Filename|/etc/pacman.conf}} try running {{Codeline|pacman -S -y}} first to synchronize the pkgcache before trying your package again.}}<br />
<br />
{{FAQ<br />
|question=Foo in AUR is outdated; what do I do?<br />
|answer=For starters, you can flag packages out-of-date. If it stays out-of-date for an extended amount of time, the best thing to do is email the maintainer. If there is no response from the maintainer, you could mail to the aur-general mailing list to have a TU orphan the PKGBUILD if you're willing to maintain it yourself.}}<br />
<br />
{{FAQ<br />
|question=I have a PKGBUILD I would like to submit; can someone check it to see if there are any errors?<br />
|answer=If you would like to have your PKGBUILD critiqued, post it on the aur-general mailing list to get feedback from the TUs and fellow AUR members. You could also get help from the [[ArchChannel|IRC channel]], #archlinux on irc.freenode.net. You can also<br />
use [[namcap]] to check your PKGBUILD and the resulting package for errors.}}<br />
<br />
{{FAQ<br />
|question=Foo in AUR doesn't compile when I do {{Codeline|makepkg}}; what should I do?<br />
|answer=You are probably missing something trivial.<br />
<br />
# Run {{Codeline|pacman -Syyu}} before compiling anything with {{Codeline|makepkg}} as the problem may be that your system is not up-to-date.<br />
# Ensure you have both "base" and "base-devel" groups installed.<br />
# Try using the "{{Codeline|-s}}" option with {{Codeline|makepkg}} to check and install all the dependencies needed before starting the build process.<br />
<br />
The reason might not be trivial after all. Custom CFLAGS, LDFLAGS and MAKEFLAGS can cause failures. It's also possible that the PKGBUILD is broken for everyone. If you can't figure it out on your own, just report it to the maintainer.}}<br />
<br />
{{FAQ<br />
|question=How can I speed up repeated build processes?<br />
|answer=If you frequently compile code that uses gcc - say, a git or SVN package - you may find [[ccache]], short for "compiler cache", useful.}}<br />
<br />
{{FAQ<br />
|question=How do I access unsupported packages?<br />
|answer=See [[#Installing packages]]}}<br />
<br />
{{FAQ<br />
|question=How can I upload to AUR without using the web interface?<br />
|answer=You can use [http://aur.archlinux.org/packages.php?ID=23393 aurploader] or [http://aur.archlinux.org/packages.php?ID=37216 burp] -- both with command-line interfaces.}}</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=MythTV_Walkthrough&diff=94460MythTV Walkthrough2010-01-30T11:53:50Z<p>Thepizzaking: /* How do I find it ? */ Add link to mercurial repository of transmitters.</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
[[Category:HOWTOs (English)]]<br />
=About this document=<br />
==What is MythTV ?==<br />
<br />
MythTV is a Linux based Personal Video Recorder. It acts as an intelligent combined television and video recorder. There are many plugins for it which expand its basic functionality.<br />
<br />
MythTV is unusual in that it is split into two. The "back end" and the "front end". The back end receives and records the video, the front end shows it and controls the back end. This allows you to separate the two. <br />
<br />
==Why two entries in the Wiki ?==<br />
<br />
There already exists a wiki entry for installing mythtv. However, it does lack detail for the less experienced user. I wanted to write a "from beginning to end" installation guide for mythtv ; to do that would require editing the original MythTV HOWTO pretty drastically, and would lose its advantage of brevity and simplicity. I would recommend reading both guides.<br />
<br />
The downside to my approach is that the instructions are 'specific' for my hardware and my location. What I do will only work if you live near me and have my hardware, but I hope to give enough pointers to make the document helpful for anyone who wishes to install MythTV anywhere.<br />
<br />
The document is deliberately quite systematic ; do something, check that's worked, then go on to the next step. If you can't figure it out from the instructions it should help you understand where to look for the right answers, and what part of the set up is being problematic.<br />
<br />
==Localisation and Hardware variations==<br />
==Getting the DVB EPG to work with MythTV (todo) ==<br />
<br />
MythTV can cope with a wide variety of hardware. There are two main things that change from system to system which require significant setting up.<br />
<br />
Firstly, the video capture card. There are many of these and they are often subtly different. MythTV does a pretty good job of detecting and configuring hardware.<br />
<br />
Secondly, the location. MythTV has an Electronic Program Guide (EPG) built in, so that programmes can be recorded and viewed easily. There is a common way of setting this up using a program called XMLTV, which extracts data from web sites or other data providers. Some devices (for example DVB-T cards) also require transmitter information. <br />
<br />
Some digital systems can use the EPG which is part of the signal. This now works in ArchLinux, and is described below.<br />
<br />
==My personal information==<br />
<br />
This guide is written 'as I do it'. However, this is for my hardware in my location and yours is almost certainly different. I will offer suggestions for alternatives where appropriate. It is always worth reading installation guides for other machines ; the process of installation does not vary significantly. If you have a common video capture card, you can find help in most cases ..... somewhere. The MythTV website is a good place to start.<br />
<br />
==My Hardware==<br />
<br />
I'm running Arch Linux 0.8 (Voodoo) with an NVIDIA card. The "important" piece of hardware though is my DVB-T capture card. DVB-T is known in the UK as "Freeview" ; it is digital television transmitted down the 'standard' aerial. <br />
<br />
Other alternatives are the old analogue system, DVB-S (satellite) and DVB-C (cable),<br />
<br />
The capture card I am using is a Hauppauge WinTV "NOVA" model, which fits internally in one of the PCI expansion slots. It is highly recommended for DVB-T reception and it is pretty cheap.<br />
<br />
==My Location==<br />
<br />
I live in Norfolk in England and my nearest transmitter is in Tacolneston. Fortunately, this is about 5 miles away which means I can "get away with" an indoor aerial. Normally, DVB=T requires an outdoor aerial. It is rather like FM radio ; you either get a good signal or none at all.<br />
<br />
==Much easier for DVB-T==<br />
<br />
Thanks to what I think is a new release, or me getting more comfy with MythTV, or a bit of both, it is now much easier to install DVB-T MythTV. <br />
<br />
However, I have left much of the document intact as it may be useful for Analogue users, or anyone for whom the short cut doesn't work, or just if you want to know how it all works.<br />
<br />
It then becomes a much simpler setup. You do not have to scan for channels or get transmitter information (MythTV does this for you), or set up mplayer (though this is a good simple test of whether your card is actually working or not). You do not have to install XMLTV, nor do you have to link it to the SQL Database with the Perl scripts. For the DVB-T you now just need to :<br />
<br />
* Set up the hardware<br />
* Install MythTV and MySQL<br />
* Run through the setup of MythTV<br />
<br />
There is a downside. The EPG is only updated for 7 days, wherease the Radio Times XML Grabber does a fortnight. This can be useful if you are away more than 7 days. However, for simplicity I recomment you stick with the DVB-T system.<br />
<br />
=Setting up the hardware=<br />
<br />
Fortunately, my hardware is autodetected by the Arch 0.8 Kernel, or almost completely. It does not install the cx88_dvb module which is required for my system.<br />
<br />
==Checking it exists==<br />
<br />
if you do either<br />
<br />
lspci<br />
<br />
or <br />
<br />
lsusb<br />
<br />
it will list all the devices connected to the PCI bus or the USB bus respectively. You should see something which roughly describes your hardware. In my case, lspci produces<br />
<br />
02:01.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)<br />
02:01.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)<br />
02:01.4 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (rev 05)<br />
<br />
you can also look at the boot log by typing<br />
<br />
dmesg | less<br />
<br />
this shows what the system is doing as it 'boots up' ; somewhere you will hopefully see text which describes your card. In my case, a part of the log is <br />
<br />
Linux video capture interface: v2.00<br />
cx2388x cx88-mpeg Driver Manager version 0.0.6 loaded<br />
CORE cx88[0]: subsystem: 0070:9002, board: Hauppauge Nova-T DVB-T [card=18,autodetected]<br />
TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe<br />
<br />
there is a great deal more descriptive information, but this is very hardware specific.<br />
<br />
==Putting in the module==<br />
<br />
To force the Kernel to load the cx88_dvb module I changed my rc.conf file so the "MODULES" line reads as follows<br />
<br />
MODULES=(r8169 cx88_dvb)<br />
<br />
This will force the kernel to load the module at start up. The r8169 module is my network card and is likely to be different on your system.<br />
<br />
You can reboot it ; if you don't want to, load it yourself just this once, with<br />
<br />
modprobe cx88_dvb<br />
<br />
==Checking it works==<br />
<br />
The simplest way to check it works initially and that the system has recognised it, is to check for the existence of the video device(s) in linux.<br />
<br />
ls /dev/v4l<br />
<br />
checks for analogue devices and<br />
<br />
ls /dev/dvb<br />
<br />
checks for digital devices. In both cases you should see a list of device links (like a directory listing). If these are present then linux has probably recognised the card and it might work.<br />
<br />
The next stage is to try and see if it is picking up any signal.<br />
<br />
=Getting the first digital signal=<br />
''This is no longer required for DVB Setup. However it's very useful if there are problems getting it to work, as it's much simpler than MythTV, and if this part works you know the card is working correctly.''<br />
<br />
This part is very specific to DVB-T. For a standard analogue card, you have to do very little ; for DVB-C and DVB-S I do not know.<br />
<br />
The first thing to do is to install linux-dvb-apps.<br />
<br />
pacman -S linuxtv-dvb-apps<br />
<br />
==What transmitter do I use ?==<br />
<br />
Each transmitter transmits DVB-T signals on a different frequency. You need to find a file which describes your local transmitter frequencies.<br />
<br />
The simplest way in the UK is to use the WolfBane website at http://www.wolfbane.com. If you click on "UK digital TV reception predictor" you can enter your postal code (what we call the "zip code") and it will tell you what transmitters are available.<br />
<br />
The next stage is to find the "ukxxxx" file.<br />
<br />
==What is the ukXXXX file ?==<br />
<br />
The ukxxxx file is the file that describes how your transmitter transmits DVB-T data. For my transmitter, Tacolneston, it looks like this :-<br />
<br />
# UK Tacolneston<br />
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy<br />
T 730166670 8MHz 3/4 NONE QAM16 2k 1/32 NONE<br />
<br />
I have no idea what it means either, if it's any consolation. Not that it matters much, as long as it works. <br />
<br />
==How do I find it ?==<br />
<br />
If you have installed linuxtv-dvb-apps (i.e. you're following the instructions) you should find a listing of these in the /usr/share/dvb-utils/scan/dvb-t directory. If your transmitter is not listed there (or you haven't installed linuxtv-dvb-apps), see if it's listed on their website: http://linuxtv.org/hg/dvb-apps/file/tip/util/scan/dvb-t/<br />
<br />
If you still can't find your transmitter, have a look on the web. I googled for things like "DVB-T Transmitter MythTV Tacolneston" and the like and found a gentleman called Adam Bower had already done the work for me. Thanks, Adam.<br />
<br />
==What is channels.conf ?==<br />
<br />
Having acquired your transmitter information (in my case, in the file uk-Tacolneston) you now query your local transmitter to see what channels it has to offer. These contain things like channel details and the tuning frequencies and go in a file commonly called "channels.conf". Once you have this, it should be easy to get your system watching television using mplayer.<br />
<br />
==Generating the channels.conf==<br />
<br />
You may be able to find a channels.conf for your transmitter already. If you can't, to create our channels.conf we use a program called 'scan' (part of the linux-dvb-apps we installed earlier)<br />
<br />
scan uk-Tacolneston > channels.conf<br />
<br />
This should print out reams of gobbledegook, hopefully without error messages. If there are error messages, check your signal strength (do you need a better aerial ?) and your frequencies, which may be wrong.<br />
<br />
If you open channels.conf in an editor it should look something like this (lines truncated slightly here !)<br />
<br />
Five:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2 (etc)<br />
Five Life:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC (etc)<br />
Five US:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1 (etc)<br />
<br />
except there will be more of it (one line for each channel). The first things on each line should be recognisable as the channels available on your local service. The names are often truncated.<br />
<br />
=Getting the first picture=<br />
''This is no longer required for DVB Setup, but as before, it's useful for solving problems, because if MythTV doesn't work and this does, you know it's the setup of MythTV that's the problem''<br />
<br />
This part is again only applicable to DVB-T transmissions. The next part is to check the card is working by - watching some television. It is no longer required for DVB-T if you are using the DVB-T EPG, but I have left it in, as it is useful if you can't get your card working, or if you want it to run with mplayer or xine.<br />
<br />
==Install and run Mplayer==<br />
<br />
My preferred viewer is mplayer (though you can do this with xine as well - the process is identical, where I say mplayer you put xine !). To view the television in mplayer, firstly install it once and run it.<br />
<br />
pacman -S mplayer<br />
mplayer<br />
<br />
It is run once to create the .mplayer subdirectory in your home directory, which you will copy your channels.conf file into next.<br />
<br />
==Making Mplayer work with DVB-T==<br />
<br />
To make mplayer work with DVB you have to tell it about the channels it can read. The simplest way of doing this is to copy the channels.conf file into your .mplayer directory<br />
<br />
cp /aux/arch/channels.conf /home/paulr/.mplayer/<br />
<br />
(Your command may vary depending on your login name and the directory you put the channels.conf file)<br />
<br />
You should now be able to watch TV. Look at one of the channels in your channels.conf file. I shall choose the TV channel BBC1. The line from channels.conf looks like this.<br />
<br />
BBC ONE:810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4 (etc).<br />
<br />
to watch BBC1, you use the name of the channel - the line as far as the first colon. In this case<br />
<br />
mplayer dvb://"BBC ONE"<br />
<br />
Replace BBC ONE with the channel you wish to watch. With a bit of luck, if everything has worked, that should open a window and start playing the channel in glorious LinuxColour ; in this case , BBC1. <br />
<br />
If not ... search the internet checking error messages :) If the previous stage worked (getting the uk-xxxxx and channels.conf) it's a bit puzzling that it doesn't work.<br />
<br />
If you've got this far you can be pretty sure you will get MythTV to work properly - eventually. There's a bit more setting up to be done yet. It is not that difficult to get MythTV working, recording, display video, and so on. The hard bit - in my experience anyway - is getting the EPG working.<br />
<br />
But it *is* worth it. MythTV watching is a whole new way of looking at television ; it's a whole new way of thinking about television. Without DRM.<br />
<br />
''"I think this is getting needlessly messianic." (Fook, Hitch Hikers Guide to the Galaxy)''<br />
<br />
=Installing XMLTV=<br />
''This is no longer required for DVB Setup as the TV guide data is piggybacked onto the TV signal''<br />
<br />
==Installing XMLTV==<br />
<br />
Read the [[XMLTV_HOWTO|XMLTV HOWTO]] for instructions on how to Install XMLTV. This used to be part of this document, I put it in it's own Wiki page.<br />
<br />
==You can have it all, but you don't want to==<br />
<br />
If you let it run through to the very very end it will take a long time. Normally you don't want to do this ; you want just the channels that there are on your system. On the tv_grab_uk_rt listings there are 271 channels, but DVB-T Freeview only has about 50 odd. <br />
<br />
We will cut this down later and make the tv grabber run faster. <br />
<br />
=Installing MythTV=<br />
==Installing MySQL==<br />
<br />
To start with, we install MySQL, the open source database. This is used to store information for mythtv. These three lines install it, start it running, and set the password to 'root' (change as you wish). You will need to use 'su -' to get into superuser mode first.<br />
<br />
su -<br />
pacman -S mysql<br />
/etc/rc.d/mysqld start<br />
mysqladmin -u root password root<br />
<br />
You should also edit your /etc/rc.conf file to start it up automatically, by adding mysqld to the list of daemons. The daemons line should now look something like (exact contents may vary)<br />
<br />
DAEMONS=(syslog-ng network netfs crond gdm cups hal alsa openntpd mysqld)<br />
<br />
To check it works okay, enter<br />
<br />
mysql -u root -p<br />
<br />
and when it asks you for the password, type in whatever you set the password to above (in this case, root). It should start up the command line interface to MySQL. To exit, type Ctrl+D.<br />
<br />
==Installing MythTV==<br />
<br />
Installing MythTV is easy. This command will install the MythTv program and the themes that go with it.<br />
<br />
pacman -S mythtv myththemes<br />
<br />
==Creating the Database==<br />
<br />
Finally, we need to initialise the SQL Database that MythTV uses. There is a script to do this.<br />
<br />
mysql -u root -p < /usr/share/mythtv/mc.sql<br />
<br />
Again, you will need to enter the root password.<br />
<br />
=Setting up MythTV=<br />
<br />
Press Ctrl+D to leave superuser mode. Type the following command to set up mythtv.<br />
<br />
mythtv-setup<br />
<br />
==Select your preferred language==<br />
<br />
Select the preferred language (in my case, English(British)) and press Return to go to the next screen.<br />
<br />
==Section 1. General==<br />
<br />
*"host specific backend setup" : allows you to use a specified directory to store your recordings.<br />
*"Global Backend setup" : I had to set the TV format to "PAL" and the Channel Frequency Table to "Europe-West" ; these may vary depending upon which country you are in.<br />
<br />
For all the other pages, you can simply leave the defaults as they are. You can always change them later.<br />
<br />
==Section 2. Capture Cards==<br />
<br />
This is where you specify your capture card. Select "New Capture Card" and change the type to whatever your card type is. For my WinTV NOVA, it is "DVB DTV Capture Card (v3.x)". <br />
<br />
Mythtv should hopefully identify what your capture card is. Select Finish to store the new capture card, and then press ESC to return to the setup menu.<br />
<br />
==Section 3. Video Sources==<br />
<br />
Select "New Video Source" and enter a name (like DVB Card, for example). <br />
<br />
Then change the entry "XMLTV Listings Grabber" until it matches the name of the grabber you set up in the XMLTV section, or if you are using DVB-T "Direct" set it to "Transmitted Guide Only (EIT)". This tells MythTV to use the TV data encoded in the DVB-T stream. <br />
<br />
If you are using XMLTV, it will now configure this in the background. Again, we can skip this configuration for the time being. When you click on finish, the bar goes to 50% and stops. You will need to Alt-TAB to find the terminal window again. As before, you can select "all", because we will fix it all properly later. <br />
<br />
Then press ESC to return to the main menu.<br />
<br />
==Section 4. Input Connections==<br />
<br />
Select the Video Source you just created, and bring up the 'Connect Source to Input' Dialog. <br />
<br />
Give it an appropriate name ; in the UK it is known as "Freeview". For the Video Source, select the Capture Card<br />
<br />
For DVB-T cards like mine, run the Scanner (Full) option. If it crashes - mine keels over sometimes, sometimes it works, there appears to be no pattern, then try again two or three times, and eventually it will scan to the end.<br />
<br />
If this doesn't work, try the "taskset" trick and the end of the document.<br />
<br />
If you get really stuck, tab down to and select "Scan for Channels", then TAB to "Scan Type" and switch this to "channels.conf". We are going to use the channels.conf we created earlier to configure mythtv. When you click on "finish" for this, it will display "Adding ....." for all the channels you found before.<br />
<br />
If you don't have a DVB card, but use something like an analogue card, you may need to scan for channels and label them yourself.<br />
<br />
Click on Finish twice, then ESC to return to the main setup menu.<br />
<br />
==Section 5. Channel Editor==<br />
<br />
You can look at this, but we are going to configure it in a minute.<br />
<br />
==First run of MythTV==<br />
<br />
Start up the Myth BackEnd (this is the bit that does all the recording and so on) as follows.<br />
<br />
su -<br />
/etc/rc.d/mythbackend start<br />
(Press Ctrl+D)<br />
<br />
When it's working you can put mythbackend in your DAEMONS line as we did for MySQL above. You may get an authentication error, which I think is something to do with QT, which I believe can be ignored. Now run the front end by typing<br />
<br />
mythfrontend<br />
<br />
If you go to "Watch TV" you can (errmmm....) Watch TV, you can change channel with your up and down keys, and it all works quite nicely.<br />
<br />
You can also simply run<br />
<br />
mythtv<br />
<br />
This is just a "TV Watching" application with no other facilities.<br />
<br />
==It might not be working.==<br />
<br />
If you are using XMLTV, it's only about half there. The TV playing now works fine. What doesn't exist is the EPG - it doesn't tell you what is on the channel, and if you look at the EPG in the Recording section there's no data. What we have to do now is to make the XMLTV Data work with MythTV.<br />
<br />
If you are using the Transmitted Guide (EIT) option then if you watch TV for a little while, it seems to fill up the EPG in the background.<br />
<br />
=Linking XMLTV and MythTV=<br />
''This is no longer required for DVB Setup - in fact it'll completely screw up the system if you are using the transmitted guide''<br />
<br />
==The shotgun wedding==<br />
<br />
There is a problem to fix. We have to get the XMLTV data and the MythTV working together.<br />
<br />
If you look at the channels.conf file, which says what channels are on MythTV, it looks like this :<br />
<br />
Five:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2 (etc)<br />
Five Life:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC (etc)<br />
Five US:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1 (etc)<br />
<br />
If you look at the XMLTV file DVB Card.xmltv it looks like this :<br />
<br />
channel channel5.co.uk<br />
channel life.channel5.co.uk<br />
channel us.channel5.co.uk<br />
<br />
The problem is getting the two to work together. We have to tell MythTV that the channel5.co.uk matches up to the channel called "Five", the life.channel5.co.uk matches up to the channel called "Five Life" and so on.<br />
<br />
This is one of those quite difficult computing problem. To a human brain, it is pretty obvious. To a computer, that sort of pattern matching is really quite difficult.<br />
<br />
==What you are trying to do, technically==<br />
<br />
run the following<br />
<br />
mysql -u root -p <br />
(then enter the password)<br />
(then enter these commands into the MySQL client)<br />
use mythconverg;<br />
select name,xmltvid from channel;<br />
<br />
this will query the MythTV database and show the names of the channels, and the name of the associate xmltv channel. It will now look like :<br />
<br />
+----------------+---------+<br />
| name | xmltvid |<br />
+----------------+---------+<br />
| Five | | <br />
| Five Life | | <br />
| Five US | | <br />
<br />
but with many more channels. We need to get the channel data from the above table in there, so that for the name row the xmltvid value is channel5.co.uk. That way MythTV knows where to look. There are also columns which allow you to set the icons, which at present I am not doing.<br />
<br />
==Using MythTV==<br />
<br />
You can do this using the Channel Editor section of MythTV. This is not difficult, but very slow and boring.<br />
<br />
==Using XMLTVDruid==<br />
<br />
In AUR there is a program called XMLTV Druid which provides a better GUI for doing this. I haven't tried it. I'm not even sure if it does this 'marriage' of XMLTV and MythTV.<br />
<br />
==Doing it by MySQL Script or similar==<br />
<br />
My method of doing it involves using a text file containing the channel name and the xmltv channels together, which when run creates two files ; an SQL file which sets up the data in the MythTV database, thus doing the "shotgun marriage", and also creates a replacement "DVB Card.xmltv" which doesn't require *all* the channels to be checked, only the ones we are actually using.<br />
<br />
That's why I suggested not bothering with selecting the channels in use earlier ; we are going to replace them now.<br />
<br />
This is my control file, the name of the file should be mythtv.config. On the left hand side is the name of the channel from channels.conf ; on the right hand side is the channel source from XMLTV.<br />
<br />
#<br />
# XMLTV Matchup Source File<br />
#<br />
Five:channel5.co.uk<br />
Five Life:life.channel5.co.uk<br />
Five US:us.channel5.co.uk<br />
QVC:qvcuk.com<br />
abc1:abc1.disney.com<br />
bid tv:bid-up.tv<br />
TCM:sky-three.sky.com<br />
UKTV Style:uk-style.flextech.telewest.co.uk<br />
UKTV Gold:uk-style.flextech.telewest.co.uk<br />
price-drop tv:price-drop.tv<br />
Eurosport UK:british.eurosport.com<br />
BBC ONE:east.bbc1.bbc.co.uk<br />
BBC NEWS 24:news-24.bbc.co.uk<br />
CBBC Channel:cbbc.bbc.co.uk<br />
BBC TWO:east.bbc2.bbc.co.uk<br />
ITV1:anglia.tv.co.uk<br />
ITV2:itv2.itv.co.uk<br />
ITV3:itv3.itv.co.uk<br />
CITV:citv.itv.co.uk<br />
Channel 4:channel4.com<br />
E4:e4.channel4.com<br />
More 4:more4.channel4.com<br />
Film4+1:plus-1.filmfour.channel4.com<br />
ITV4:itv4.itv.co.uk<br />
BBC Parliament:parliament.bbc.co.uk<br />
CBeebies:cbeebies.bbc.co.uk<br />
E4+1:plus-1.e4.channel4.com<br />
UKTV History:ukhistory.tv<br />
SKY THREE:sky-three.sky.com<br />
Sky Spts News:news.sports.sky.com<br />
Sky News:sky-news.sky.com<br />
Ideal World:idealworld.tv<br />
f tn:ftn.tv<br />
Film4:filmfour.channel4.com<br />
<br />
The only changes a UK user will need to make are to BBC1, BBC2 and ITV1 ; in this file they are set up for the eastern region (BBC East and Anglia Television) ; in different parts of the country different sources are required.<br />
<br />
This is the perl script that takes that file and generates an SQL file match.sql and also outputs a replacement DVB Card.xmltv file.<br />
<br />
open(my $src,"<mythtv.config") or die($!);<br />
open(my $sql,">match.sql") or die($!);<br />
print $sql "USE mythconverg;\n";<br />
while (readline($src))<br />
{<br />
if (/(.*):(.*)/)<br />
{<br />
my $mch = trim($1);<br />
my $mxm = trim($2);<br />
print "channel $mxm\n";<br />
print $sql "UPDATE channel SET xmltvid='$mxm' WHERE name='$mch';\n";<br />
}<br />
}<br />
close($src);<br />
close($sql);<br />
<br />
# Perl trim function to remove whitespace from the start and end of the string<br />
sub trim($)<br />
{<br />
my $string = shift;<br />
$string =~ s/^\s+//;<br />
$string =~ s/\s+$//;<br />
return $string;<br />
}<br />
<br />
Save this file as match.pl, then run the command :<br />
<br />
perl match.pl >DVB.xmltv<br />
<br />
Then you have to copy the new DVB file into the correct place. The name of the file you copy it to will depend on what you names you used in mythtv-setup, but it will be in /home/(user)/.mythtv and end in ".xmltv".<br />
<br />
cp DVB.xmltv /home/paulr/.mythtv/DVB\ Card.xmltv<br />
<br />
Then you have to run the SQL script to insert the data into the SQL Database.<br />
<br />
mysql -u root -p <match.sql<br />
<br />
==Checking that it's worked==<br />
<br />
The simplest check is to repeat the query on the MythTV database ; if it has worked then many, but probably not all, of your IDs should be matched up.<br />
<br />
mysql -u root -p <br />
(then enter the password)<br />
(then enter these commands into the MySQL client)<br />
use mythconverg;<br />
select name,xmltvid from channel;<br />
<br />
should now look like :<br />
<br />
mysql> select name,xmltvid from channel;<br />
+----------------+----------------------------------+<br />
| name | xmltvid |<br />
+----------------+----------------------------------+<br />
| Five | channel5.co.uk | <br />
| Five Life | life.channel5.co.uk | <br />
| Five US | us.channel5.co.uk | <br />
| QVC | qvcuk.com | <br />
| abc1 | abc1.disney.com | <br />
<br />
there will be some gaps, as a guide is not available for every channel.<br />
<br />
==Running mythfilldatabase==<br />
<br />
All you now have to do is to get mythtv to fill the database. It will run the xmltv command, read in the data, and use it to populate the EPG. Fortunately there is a command to do this for you.<br />
<br />
This can take some time. Some channels may fail because of the 'screenscraping' of the <br />
<br />
mythfilldatabase<br />
<br />
==Now go and play==<br />
<br />
Now, when you run mythfrontend, it should display the program information and the EPG should be completed in the recording section for those channels you put in your mythtv.config files. <br />
<br />
For me it's about a third of the 90 or so, but this is most of the main channels. There are channels which are Teletext, channels which are Radio, and channels which are Pr0n, so they're no great loss.<br />
<br />
=Extras=<br />
==The Font sizes and the Theme==<br />
<br />
On my MythTV, on a 1280x1024 display, the Fonts are large and make the EPG look terrible. By going in through Utilities/Setup > Setup > Appearance you can change the look to something better, and also change the theme.<br />
<br />
I quite like<br />
<br />
* Fonts = small<br />
* Theme = mythcenter<br />
<br />
but this is purely a matter of personal taste.<br />
<br />
==Setting up the Icons==<br />
<br />
I have seen some installations that require you to manually install the icons into the database for each channel. However, the tv_grab_uk_rt grabber seems to download and install them automagically.<br />
<br />
==Segmentation Fault==<br />
<br />
For some as yet unknown reason, mythtvfrontend throws a Segfault when you exit it. This is a known bug and doesn't affect its operation at all at any other time.<br />
<br />
==Using the remote control==<br />
<br />
To be done.<br />
<br />
=MythTV-Setup Crashing=<br />
==How to fix it==<br />
I had a *lot* of problems with mythtv-setup crashing continually. A bit of searching revealed the solution. It appears to be related to real multitasking vs. simulated multitasking ; it's only a problem for people with multiple CPU cores. Running mythtv-setup as a 'one core only' app appears to work.<br />
<br />
You need to download schedutils from the AUR, and build it as a package, then install it. This provides you with the "taskset" program.<br />
<br />
Then you can run it by typing<br />
<br />
taskset -c 0 mythtv-setup<br />
<br />
and it should ... hopefully ... work. I understand this is a known bug connected with QT reentrancy and is being fixed in MythTV 0.21</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Mirrors&diff=90754Mirrors2010-01-03T04:07:42Z<p>Thepizzaking: /* Unofficial mirrors */ Remove mirror.optus.com.au, this is the same as the official mirror.aarnet.edu.au</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:Package management (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start|Summary}}<br />
{{Article summary text|Updating and managing package mirrors}}<br />
{{Article summary heading|Language}}<br />
{{i18n_entry|English|:Mirrors}}<br />
{{i18n_entry|简体中文|:Arch镜像 (简体中文)}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|pacman}}<br />
{{Article summary wiki|reflector}}<br />
{{Article summary end}}<br />
<br />
==Enabling a specific mirror==<br />
The preferred method is to uncomment the mirror in question in {{filename|/etc/pacman.d/mirrorlist}}:<br />
# Any<br />
# Server = <nowiki>ftp://mirrors.kernel.org/archlinux/$repo/os/i686</nowiki><br />
'''Server = <nowiki>http://mirrors.kernel.org/archlinux/$repo/os/i686</nowiki>'''<br />
<br />
See [[#Mirror status]] and [[#List by speed]] for tools that help choosing mirrors.<br />
<br />
{{Tip|Uncomment 5 favorite mirrors and place them at the top of the mirrorlist file. That way it's easy to find them and move them around if the first mirror on the list has problems. It also makes merging mirrorlist updates easier.}}<br />
<br />
It is also possible to specify it in {{Filename|/etc/pacman.conf}}. For the ''[core]'' repository, the default setup is:<br />
[core]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
If wanting to use the ''HostEurope'' mirror as a default mirror, add it before the {{codeline|Include}} line:<br />
[core]<br />
'''Server = <nowiki>ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/core/os/i686</nowiki>'''<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
pacman will now try to connect to this mirror first. Proceed to do the same for ''[testing]'', ''[extra]'', and ''[community]'', if applicable.<br />
<br />
'''Note:''' If specifying mirrors in {{filename|pacman.conf}}, use the same mirror for all repositories. Otherwise packages may get installed that are incompatible to each other, like kernel26 from ''[core]'' and an older kernel module from ''[extra]''.<br />
<br />
==Mirror status==<br />
Check the status of the Arch mirrors and how updated they are by visiting: [http://users.archlinux.de/~gerbra/mirrorcheck.html Mirrorcheck] and/or [http://www.archlinux.de/?page=MirrorStatus Mirror status].<br />
<br />
Optionally install {{package Official|reflector}}, an utility that generates a mirrorlist using Mirrorcheck's list. To do so, use [[yaourt]] or another [[AUR helper]]:<br />
$ yaourt -S reflector<br />
<br />
Or manually check how up-to-date a mirror is by:<br />
#picking a server and browsing to "extra/os/";<br />
#accesing http://www.archlinux.org/ in another browser tab or window; and<br />
#comparing the last-modified date of the {{filename|i686}} directory on the mirror to the ''[extra]'' date on the homepage, in the ''Package Repositories'' box to the right.<br />
<br />
{{Note|Many sites also provide HTTP service, but keep in mind that pacman relies on FTP to determine if a repository is updated. With HTTP it fetches the repository database each time {{codeline|pacman -Sy}} is ran, even if it didn't change since the last run.}}<br />
<br />
==Sorting mirrors==<br />
If not using reflector, which has the ability to sort mirrors by both how updated they are and their speed, follow this demonstration of manual mirror sorting.<br />
<br />
===List by speed===<br />
Don't forget to take full advantage of using the local fastest mirror, which can be determined via the included python script, {{filename|/usr/bin/rankmirrors}}. Taking this in mind, use pacman to install {{package Official|python}} if not already present:<br />
# pacman -S python <br />
<br />
Use {{codeline|cd}} to switch to the {{filename|/etc/pacman.d}} directory:<br />
# cd /etc/pacman.d<br />
<br />
Backup the existing {{Filename|/etc/pacman.d/mirrorlist}}:<br />
# cp mirrorlist mirrorlist.backup<br />
<br />
Edit {{filename|mirrorlist.backup}} and uncomment mirrors for testing with rankmirrors:<br />
# nano mirrorlist.backup<br />
<br />
Optionally run the following {{codeline|sed}} line to uncomment every mirror:<br />
# sed '/^#\S/ s|#||' -i mirrorlist.backup<br />
<br />
Finally, rank the mirrors. Operand {{codeline|-n 6}} means only output the 6 fastest mirrors: <br />
# rankmirrors -n 6 mirrorlist.backup > mirrorlist<br />
<br />
'''Force pacman to refresh the package lists'''<br><br />
After creating/editing {{Filename|/etc/pacman.d/mirrorlist}}, (manually or by using {{codeline|rankmirrors}}) issue the following command:<br />
# pacman -Syy<br />
<br />
{{Tip|Passing two {{codeline|--refresh}} or {{codeline|-y}} flags forces pacman to refresh all package lists even if they are considered to be up to date. Issuing {{codeline|pacman -Syy}} ''whenever changing to a new mirror'' is good practice and will avoid possible issues.}}<br />
<br />
===Combined listing by speed and status===<br />
It is not a good idea to just use the fastest mirrors, since the fastest mirrors might be out of date. The preferred way would be to use [[#List by speed]], then sorting those 6 fastest mirrors by their [[#Mirror status]]. <br />
<br />
Simply visit either one or both [[#Mirror status]] links and sort them by the ones that are more up to date. Move the more up to date mirrors to the top of {{Filename|/etc/pacman.d/mirrorlist}} and if the mirrors are way out of date simply don't use those; repeat the process leaving out the outdated mirrors. So this ends up with a total of 6 mirrors that are sorted by speed and status, leaving out outdated mirrors. <br />
<br />
When having mirror issues the above should be repeated. Or repeat once in a while even if not having mirror problems, to keep {{Filename|/etc/pacman.d/mirrorlist}} up to date.<br />
<br />
==Official mirrors==<br />
'''Attention:''' Do ''not'' add new mirrors to the list below. If you want your mirror to be added to official list, file a feature request and wait for approval before listing it here. In the meantime add it to the [[#Unofficial mirrors]] list at the end of this page.<br />
<br />
===Global===<br />
*ftp://mirrors.kernel.org/archlinux/$repo/os/i686<br />
*http://mirrors.kernel.org/archlinux/$repo/os/i686<br />
<br />
===Australia===<br />
*ftp://mirror.aarnet.edu.au/pub/archlinux/$repo/os/i686<br />
*http://mirror.aarnet.edu.au/pub/archlinux/$repo/os/i686<br />
*ftp://ftp.iinet.net.au/pub/archlinux/$repo/os/i686<br />
*http://ftp.iinet.net.au/pub/archlinux/$repo/os/i686<br />
*ftp://mirror.internode.on.net/pub/archlinux/$repo/os/i686<br />
*http://mirror.internode.on.net/pub/archlinux/$repo/os/i686<br />
*ftp://ftp.netspace.net.au/pub/archlinux/$repo/os/i686<br />
*http://ftp.netspace.net.au/pub/archlinux/$repo/os/i686<br />
*ftp://mirror.optus.net/archlinux/$repo/os/i686<br />
*http://mirror.optus.net/archlinux/$repo/os/i686<br />
*ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/i686<br />
*http://mirror.pacific.net.au/linux/archlinux/$repo/os/i686<br />
<br />
===Austria===<br />
*ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/i686<br />
*http://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/i686<br />
<br />
===Belgium===<br />
*ftp://ftp.belnet.be/packages/archlinux/$repo/os/i686<br />
*http://ftp.belnet.be/mirror/archlinux.org/$repo/os/i686<br />
*ftp://archlinux.mirror.kangaroot.net/pub/archlinux/$repo/os/i686<br />
*http://archlinux.mirror.kangaroot.net/$repo/os/i686<br />
<br />
===Brazil===<br />
*ftp://archlinux.c3sl.ufpr.br/archlinux/$repo/os/i686<br />
*http://archlinux.c3sl.ufpr.br/$repo/os/i686<br />
*ftp://ftp.las.ic.unicamp.br/pub/archlinux/$repo/os/i686<br />
*http://www.las.ic.unicamp.br/pub/archlinux/$repo/os/i686<br />
*http://pet.inf.ufsc.br/mirrors/archlinux/$repo/os/i686<br />
<br />
===Bulgaria===<br />
*http://archlinux.igor.onlinedirect.bg/$repo/os/i686<br />
<br />
===Canada===<br />
*ftp://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/i686<br />
*http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/i686<br />
*ftp://mirrors.portafixe.com/archlinux/$repo/os/i686<br />
*http://mirrors.portafixe.com/archlinux/$repo/os/i686<br />
*http://mirror.twilightlair.net/arch/$repo/os/i686<br />
<br />
===Chile===<br />
*ftp://mirror.archlinux.cl/$repo/os/i686<br />
<br />
===China===<br />
*http://mirrors.163.com/archlinux/$repo/os/i686<br />
*ftp://mirror.lupaworld.com/archlinux/$repo/os/i686<br />
*http://mirror.lupaworld.com/archlinux/$repo/os/i686<br />
<br />
===Czech Republic===<br />
*ftp://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/i686<br />
*http://ftp.sh.cvut.cz/MIRRORS/arch/$repo/os/i686<br />
<br />
===Denmark===<br />
*ftp://ftp.klid.dk/archlinux/$repo/os/i686<br />
<br />
===Estonia===<br />
*ftp://ftp.estpak.ee/pub/archlinux/$repo/os/i686<br />
*http://ftp.estpak.ee/pub/archlinux/$repo/os/i686<br />
<br />
===Finland===<br />
*ftp://mirror.archlinux.fi/archlinux/$repo/os/i686<br />
*http://mirror.archlinux.fi/archlinux/$repo/os/i686<br />
<br />
===France===<br />
*http://mir.archlinux.fr/$repo/os/i686<br />
*ftp://mir1.archlinuxfr.org/archlinux/$repo/os/i686<br />
*ftp://mir2.archlinuxfr.org/archlinux/$repo/os/i686<br />
*http://mir1.archlinuxfr.org/archlinux/$repo/os/i686<br />
*http://mir2.archlinuxfr.org/archlinux/$repo/os/i686<br />
*ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/i686<br />
*http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.free.fr/mirrors/ftp.archlinux.org/$repo/os/i686<br />
*ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/$repo/os/i686<br />
<br />
===Germany===<br />
*http://archlinux.limun.org/$repo/os/i686<br />
*ftp://www.archlinuxppc.org/i686/$repo/os/i686<br />
*ftp://mirror.giantix-server.de/archlinux/$repo/os/i686<br />
*http://mirror.giantix-server.de/archlinux/$repo/os/i686<br />
*ftp://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp5.gwdg.de/pub/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/i686<br />
*http://ftp.hosteurope.de/mirror/ftp.archlinux.org/$repo/os/i686<br />
*ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/i686<br />
*http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/$repo/os/i686<br />
*ftp://mirrors2.portafixe.com/archlinux/$repo/os/i686<br />
*http://mirrors2.portafixe.com/archlinux/$repo/os/i686<br />
*ftp://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/i686<br />
*http://ftp.spline.inf.fu-berlin.de/mirrors/archlinux/$repo/os/i686<br />
*ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp.tu-chemnitz.de/pub/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.uni-bayreuth.de/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp.uni-bayreuth.de/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp.uni-kl.de/pub/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.wh-stuttgart.net/archlinux/$repo/os/i686<br />
<br />
===Great Britain===<br />
*ftp://mirror.lividpenguin.com/pub/archlinux/$repo/os/i686<br />
*http://mirror.lividpenguin.com/pub/archlinux/$repo/os/i686<br />
*http://www.mirrorservice.org/sites/ftp.archlinux.org/$repo/os/i686<br />
*ftp://mirrors.uk2.net/pub/archlinux/$repo/os/i686<br />
*http://archlinux.mirrors.uk2.net/$repo/os/i686<br />
<br />
===Greece===<br />
*ftp://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/i686<br />
*http://ftp.cc.uoc.gr/mirrors/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.ntua.gr/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp.ntua.gr/pub/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.otenet.gr/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp.otenet.gr/linux/archlinux/$repo/os/i686<br />
<br />
===Hungary===<br />
*ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/$repo/os/i686<br />
<br />
===India===<br />
*ftp://mirror.cse.iitk.ac.in/archlinux/$repo/os/i686<br />
*http://mirror.cse.iitk.ac.in/archlinux/$repo/os/i686<br />
<br />
===Indonesia===<br />
*ftp://archlinux.cbn.net.id/pub/archlinux/$repo/os/i686<br />
*http://archlinux.cbn.net.id/$repo/os/i686<br />
*ftp://mirror.unej.ac.id/archlinux/$repo/os/i686<br />
*http://mirror.unej.ac.id/archlinux/$repo/os/i686<br />
<br />
===Ireland===<br />
*ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/i686<br />
*http://ftp.heanet.ie/mirrors/ftp.archlinux.org/$repo/os/i686<br />
<br />
===Israel===<br />
*http://mirror.isoc.org.il/pub/archlinux/$repo/os/i686<br />
<br />
===Italy===<br />
*ftp://mi.mirror.garr.it/mirrors/archlinux/$repo/os/i686<br />
*http://mi.mirror.garr.it/mirrors/archlinux/$repo/os/i686<br />
<br />
===Japan===<br />
*ftp://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/i686<br />
*http://ftp.yz.yamagata-u.ac.jp/pub/linux/archlinux/$repo/os/i686<br />
<br />
===Kazakhstan===<br />
*ftp://archlinux.linuxforum.kz/$repo/os/i686<br />
*http://archlinux.linuxforum.kz/$repo/os/i686<br />
<br />
===Latvia===<br />
*http://archlinux.goodsoft.lv/$repo/os/i686<br />
<br />
===Lithuania===<br />
*ftp://atviras.lt/archmirror/$repo/os/i686<br />
*http://atviras.lt/archmirror/$repo/os/i686<br />
<br />
===Netherlands===<br />
*ftp://mirror.leaseweb.com/archlinux/$repo/os/i686<br />
*http://mirror.leaseweb.com/archlinux/$repo/os/i686<br />
*ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/i686<br />
*http://ftp.nluug.nl/pub/metalab/distributions/archlinux/$repo/os/i686<br />
*ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/i686<br />
*http://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/$repo/os/i686<br />
<br />
===New Caledonia===<br />
*ftp://archlinux.nautile.nc/archlinux/$repo/os/i686<br />
*http://archlinux.nautile.nc/archlinux/$repo/os/i686<br />
<br />
===Norway===<br />
*ftp://mirror.archlinux.no/$repo/os/i686<br />
*http://mirror.archlinux.no/$repo/os/i686<br />
<br />
===Poland===<br />
*ftp://mirror.icis.pcz.pl/archlinux/$repo/os/i686<br />
*ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/i686<br />
*http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/$repo/os/i686<br />
*ftp://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/i686<br />
*http://ftp.pwsz.elblag.pl/pub/linux/distributions/archlinux/$repo/os/i686<br />
*ftp://ftp.tpnet.pl/pub/linux/archlinux/$repo/os/i686<br />
*http://unix.net.pl/archlinux.org/$repo/os/i686<br />
<br />
===Portugal===<br />
*ftp://cesium.di.uminho.pt/pub/archlinux/$repo/os/i686<br />
*http://cesium.di.uminho.pt/pub/archlinux/$repo/os/i686<br />
*http://darkstar.ist.utl.pt/archlinux/$repo/os/i686<br />
*ftp://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/i686<br />
*http://ftp.nux.ipb.pt/pub/dists/archlinux/$repo/os/i686<br />
*ftp://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/i686<br />
*http://ftp.rnl.ist.utl.pt/pub/archlinux/$repo/os/i686<br />
<br />
===Romania===<br />
*http://mirror.archlinux.ro/archlinux/$repo/os/i686<br />
*ftp://ftp.roedu.net/mirrors/archlinux.org/$repo/os/i686<br />
*http://ftp.roedu.net/mirrors/archlinux.org/$repo/os/i686<br />
<br />
===Russia===<br />
*http://archlinux.freeside.ru/$repo/os/i686<br />
*ftp://mirror.svk.su/archlinux/$repo/os/i686<br />
*http://mirror.svk.su/archlinux/$repo/os/i686<br />
*ftp://mirror.yandex.ru/archlinux/$repo/os/i686<br />
*http://mirror.yandex.ru/archlinux/$repo/os/i686<br />
<br />
===Spain===<br />
*ftp://ftp.rediris.es/mirror/archlinux/$repo/os/i686<br />
*http://sunsite.rediris.es/mirror/archlinux/$repo/os/i686<br />
<br />
===Sweden===<br />
*ftp://ftp.df.lth.se/pub/archlinux/$repo/os/i686<br />
*http://ftp.df.lth.se/pub/archlinux/$repo/os/i686<br />
*ftp://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/i686<br />
*http://ftp.ds.hj.se/pub/os/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.gigabit.nu/$repo/os/i686<br />
*http://ftp.gigabit.nu/$repo/os/i686<br />
*ftp://ftp.port80.se/archlinux/$repo/os/i686<br />
*http://ftp.port80.se/archlinux/$repo/os/i686<br />
<br />
===Switzerland===<br />
*ftp://archlinux.puzzle.ch/$repo/os/i686<br />
*http://archlinux.puzzle.ch/$repo/os/i686<br />
<br />
===Taiwan===<br />
*ftp://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/i686<br />
*http://ftp.tku.edu.tw/Linux/ArchLinux/$repo/os/i686<br />
<br />
===Turkey===<br />
*ftp://ftp.linux.org.tr/archlinux/$repo/os/i686<br />
<br />
===Ukraine===<br />
*ftp://archlinux.hell.org.ua/archlinux/$repo/os/i686<br />
*http://archlinux.hell.org.ua/archlinux/$repo/os/i686<br />
*ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/i686<br />
*http://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/i686<br />
<br />
===United States===<br />
*ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686<br />
*http://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686<br />
*ftp://mirrors.easynews.com/linux/archlinux/$repo/os/i686<br />
*http://mirrors.easynews.com/linux/archlinux/$repo/os/i686<br />
*ftp://ftp.archlinux.org/$repo/os/i686<br />
*http://mirrors.gigenet.com/archlinux/$repo/os/i686<br />
*ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686<br />
*http://www.gtlib.gatech.edu/pub/linux/distributions/archlinux/$repo/os/i686<br />
*ftp://mirrors.hosef.org/archlinux/$repo/os/i686<br />
*http://mirrors.hosef.org/archlinux/$repo/os/i686<br />
*ftp://ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686<br />
*http://distro.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686<br />
*http://archlinux.linuxfreedom.com/$repo/os/i686<br />
*ftp://locke.suu.edu/linux/dist/archlinux/$repo/os/i686<br />
*http://lug.mtu.edu/archlinux/ftpfull/$repo/os/i686<br />
*ftp://mirrors.xmission.com/archlinux/$repo/os/i686<br />
*http://mirrors.xmission.com/archlinux/$repo/os/i686<br />
*ftp://mirror.rit.edu/archlinux/$repo/os/i686<br />
*http://mirror.rit.edu/archlinux/$repo/os/i686<br />
*http://schlunix.org/archlinux/$repo/os/i686<br />
*http://archlinux.umflint.edu/$repo/os/i686<br />
*http://mirror.umoss.org/archlinux/$repo/os/i686<br />
<br />
===Vietnam===<br />
*ftp://202.78.230.5/archlinux/$repo/os/i686<br />
*ftp://ftp.indochinalinux.com/archlinux/$repo/os/i686<br />
*ftp://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/i686<br />
*http://mirror-fpt-telecom.fpt.net/archlinux/$repo/os/i686<br />
<br />
==Unofficial mirrors==<br />
These mirrors are ''not'' listed in {{Filename|/etc/pacman.d/mirrorlist}}.<br />
<br />
===Global===<br />
*http://prdownloads.sourceforge.net/archlinux/ - ''Doesn't have recent ISO releases. Use it only if for getting older ISOs.''<br />
<br />
===Bulgaria===<br />
*http://archlinux.igor.onlinedirect.bg/ - <sub>[http://archlinux.igor.onlinedirect.bg http]</sub><br />
*ftp://archlinux.igor.onlinedirect.bg/linux/archlinux/ - <sub>[http://archlinux.igor.onlinedirect.bg http]</sub><br />
<br />
===China===<br />
*http://mirrors.lcuc.org.cn/archlinux/<br />
*http://mirror.lupaworld.com/archlinux/<br />
*http://public.gooth.cn/archlinux/ - ''Only includes i686''<br />
*http://mirrors.163.com/archlinux/<br />
*http://mirror.bjtu.edu.cn/archlinux/<br />
*http://mirrors.sohu.com/archlinux/<br />
<br />
===Germany===<br />
*ftp://ftp.uni-erlangen.de/mirrors/archlinux/ - <sub>[http://ftp.uni-erlangen.de/mirrors/archlinux/ http]</sub><br />
<br />
===Great Britain===<br />
*ftp://mirror.lividpenguin.com/pub/archlinux/ - <sub>[http://mirror.lividpenguin.com/pub/archlinux/ http]</sub><br />
<br />
===Malaysia===<br />
*http://oss.mmu.edu.my/pub/distro/arch - ''ISOs only''<br />
*http://mirror.oscc.org.my/archlinux/<br />
<br />
===New Zealand===<br />
*http://mirror.ihug.co.nz/archlinux/<br />
<br />
===Norway===<br />
*http://power.klette.us/mirror/<br />
<br />
===Poland===<br />
*ftp://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ - <sub>[http://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ http]</sub> - ''Up-to-date, but no [core] repository''<br />
<br />
===South Africa===<br />
*http://archlinux.mirror.ac.za/ - ''TENET Mirror''<br />
*ftp://archlinux.mirror.ac.za/<br />
*http://ftp.sun.ac.za/ftp/pub/mirrors/archlinux/ - ''Stellenbosch University''<br />
*ftp://ftp.sun.ac.za/pub/mirrors/archlinux/<br />
*http://ftp.leg.uct.ac.za/pub/linux/arch/ - ''University of Cape Town''<br />
*ftp://ftp.leg.uct.ac.za/pub/linux/arch/<br />
<br />
===Spain===<br />
*ftp://ftp.udc.es/mirror/archlinux/ - <sub>[http://ftp.udc.es/mirror/archlinux/ http]</sub> <sub>rsync://ftp.udc.es/mirror/archlinux/</sub><br />
<br />
===United States===<br />
*http://archlinux.linuxfreedom.com - ''Contains all of the ISO images''<br />
*ftp://mirrors.acm.jhu.edu/arch/ - <sub>[http://mirrors.acm.jhu.edu/arch http]</sub> <sub>rsync://mirrors.acm.jhu.edu/arch/</sub><br />
*ftp://ftp.osuosl.org/pub/archlinux/ - <sub>[http://ftp.osuosl.org/pub/archlinux/ http]</sub> - ''i686 only; [core] and [extra] are outdated''<br />
<br />
==IPv6-ready mirrors==<br />
*http://power.klette.us/mirror/ (Norway)<br />
*http://arch.iskrembilen.com/ (Norway, rsync available)<br />
*niue.belnet.be (Belgium)<br />
*ftp.estpak.ee (Estonia)<br />
*patroklos.noc.ntua.gr (Greece)<br />
*ftp.heanet.ie (Ireland)<br />
*ftp.nluug.nl (Netherlands)<br />
*ftp.surfnet.nl (Netherlands)<br />
*ftp.sixnix.net/ftp6.sixnix.net (Finland) - dead<br />
*http://mirror6.bjtu.edu.cn/archlinux (China)</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=LIRC&diff=72842LIRC2009-07-28T03:14:45Z<p>Thepizzaking: /* compile xine with lirc support */ pacman -A is deprecated</p>
<hr />
<div>[[Category:Other hardware (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
'''This howto is for using lirc with a serial infrared device'''<br />
=Name=<br />
LIRC stands for "Linux Infrared Remote Control", a program to use infrared devices (like your remote control from your TV) with linux.<br />
==Installation==<br />
First install lirc with pacman:<br />
<br />
pacman -S lirc<br />
<br />
Now there might be a problem: the module lirc_serial is build to use ttyS0 (COM1), if your device isn't connected to ttyS0, you'll have to either change the module-options or [[lirc#Building_the_lirc_serial_module_for_another_ttySx|rebuild the lirc module]]. If your device is connected to ttyS0, you can [[lirc#loading|skip this step]]<br />
<br />
To change the options for the lirc_serial module, you edit /etc/modprobe.conf and add this line:<br />
<br />
options lirc_serial io=0x2f8 irq=3<br />
<br />
You should change the values after io and irq to reflect you serial port settings, the values above may work for you if you are using ttyS1 (COM2) to connect your IR-device. But you will find the correct values by checking your dmesg:<br />
<br />
dmesg|grep ttyS<br />
<br />
==Building the lirc_serial module for another ttySx==<br />
Update abs<br />
<br />
(as root) abs<br />
<br />
copy the lirc files to a directory you choose yourself:<br />
<br />
cp /var/abs/extra/system/lirc /some/dir<br />
<br />
goto /some/dir<br />
<br />
edit the PKGBUILD in that directory<br />
replace the line:<br />
<br />
./configure --enable-sandboxed --prefix=/usr \<br />
--with-driver=all \\<br />
return 1[/code]<br />
<br />
with:<br />
<br />
./configure --enable-sandboxed --prefix=/usr \<br />
--with-driver=com2 \<br />
|| return 1[/code]<br />
<br />
where you replace com2 with the com-port you need.<br />
<br />
build and install the package:<br />
<br />
makepkg<br />
(as root) pacman -U lirc-version.pkg.tar.gz<br />
<br />
==loading==<br />
<br />
now try to load the serial module:<br />
<br />
modprobe lirc_serial<br />
<br />
If this produces an error which says your serial port is not ready, you have the problem that your serial port support is build into the kernel and not as a module (in the default arch kernel it is build into the kernel)<br />
<br />
If it's build into the kernel you'll have to do the following (remember that it is build into the kernel, you will need to make some changes later too)<br />
<br />
You'll have to release the serial port:<br />
<br />
setserial /dev/ttySx uart none<br />
<br />
(Replace x with your port number)<br />
<br />
Load the module again:<br />
<br />
modprobe lirc_serial<br />
<br />
Now it shouldn't show any errors, and the modules lirc_serial should be listed in lsmod<br />
==USB Receivers==<br />
<br />
modprobe lirc_mceusb2<br />
<br />
=== Howto setup the X10 - a radio remote ===<br />
[[X10]]<br />
<br />
=Making configuration file=<br />
<br />
You'll need a configuration file for your remote control. The easiest way is to look on the lirc site and hope your device has already a config file: [http://lirc.sourceforge.net/remotes/ list of remotes on the lirc site]<br />
<br />
If so, download your file and save it as /etc/lircd.conf<br />
<br />
If your device doesn't have already a config file, you'll have to create the file yourself with the command:<br />
<br />
irrecord -d /dev/lirc0 /tmp/my_remote<br />
<br />
Just follow the instructions. The resulting file, /tmp/my_remote, should then be copied to /etc/lircd.conf. If you want to use several remotes, you repeat the irrecord step with each remote and different filenames, and then concatenate all the resulting files into /etc/lircd.conf:<br />
<br />
cat /tmp/my_remote /tmp/my_remote2 /tmp/my_remote3 >/etc/lircd.conf<br />
<br />
<br />
==Testing==<br />
First start the lircd daemon:<br />
<br />
as root<br />
<br />
/etc/rc.d/lircd start<br />
<br />
A good way to see if lirc is running is to run irw.<br />
<br />
irw<br />
<br />
When you press a button, you should get something like this:<br />
<br />
0000000000000001 00 play sony2<br />
0000000000000001 01 play sony2<br />
0000000000000001 02 play sony2<br />
0000000000000001 03 play sony2<br />
<br />
In this case my remote is called sony2, the button is called play, and lirc has seen it 4 times.<br />
<br />
=Run lirc at bootup=<br />
Remember if you had to execute the setserial command while [[lirc#loading|loading]] the module?<br />
<br />
If so, [[lirc#Your serial port support is compiled into the kernel|Your serial port support is compiled into the kernel]]<br />
==Your serial port support is compiled as a module in the kernel==<br />
This is rather easy: you'll just have to add lirc_serial to the modules list and lircd to the daemons list in /etc/rc.conf<br />
==Your serial port support is compiled into the kernel==<br />
This is more complicated, you can't just add the lirc_serial to the modules list in /etc/rc.conf, as the serial port should be released first.<br />
<br />
So I created a custom startup script to fix this problem<br />
<br />
/etc/rc.d/start_lirc<br />
<br />
#!/bin/bash<br />
#/etc/rc.d/start_lirc<br />
#releases ttySx and loads lirc_serial module<br />
<br />
. /etc/rc.conf<br />
. /etc/rc.d/functions<br />
<br />
case "$1" in<br />
start)<br />
stat_busy "release ttySx"<br />
setserial /dev/ttySx uart none<br />
#load lirc module<br />
modprobe lirc_serial<br />
stat_done<br />
;;<br />
stop)<br />
stat_busy "unload lirc module"<br />
rmmod lirc_serial<br />
stat_done<br />
;;<br />
restart)<br />
$0 stop<br />
$0 start<br />
;;<br />
*)<br />
echo "usage: $0 {start|stop|restart}"<br />
esac<br />
exit 0<br />
<br />
Now load the daemons: add "start_lirc" and "lircd" to the daemons list in /etc/rc.conf<br />
<br />
=Enable lirc support in xine=<br />
<br />
Now lirc works, but you have no program that can communicate with lirc. This section will explain how to make xine work, but you can use xmms and mplayer (and probably a lot of other programs too) to work with lirc.<br />
<br />
==compile xine with lirc support==<br />
download the xine-ui [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/multimedia/xine-ui/PKGBUILD?rev=HEAD&cvsroot=Current&only_with_tag=CURRENT&content-type=text/plain pkgbuild] from the cvs tree<br />
<br />
Add " --enable-lirc" to the "./configure" line<br />
<br />
compile:<br />
<br />
makepkg<br />
<br />
uninstall old xine-ui and install the new one<br />
<br />
pacman -R xine-ui<br />
pacman -U xine-filename.pkg.tar.gz<br />
<br />
==configure xine to use lirc==<br />
let xine produce a default .lircrc file. In your home directory, type:<br />
<br />
xine --keymap=lirc>.lircrc<br />
<br />
now, in order to have a functioning xine+lirc, edit the .lircrc file to your preferences.<br />
<br />
Have fun! :-)<br />
<br />
However, you may choose to configure lirc to control more than just xine. If this is the case, you will need to manually edit the .lircrc file, and add elements. <br />
<br />
Xine-ui<br />
Mplayer<br />
Totem<br />
Vlc<br />
Rhythmbox <br />
<br />
all work with lirc, but you must enable lirc support in the program in some cases, such as VLC. Simply copy the vlc packagebuild and edit it so that "--enable-lirc" is one of the compile options for VLC not FFMPEG!<br />
<br />
In any event, should you require more information, you may consult http://gentoo-wiki.com/HOWTO_LIRC, which is an incredibly in-depth detailed howto regarding all aspects of Lirc and its configuration.<br />
<br />
(I would have cut relevant parts from that wiki, but I am not sure if I am allowed to do that) <br />
--[[User:Pyrrhicvictory|Pyrrhicvictory]] 16:53, 18 July 2008 (EDT)<br />
<br />
==Configure Amarok2 to use Lirc==<br />
Depending on your controller model, the following configuration works with Amarok2-svn. This configuration file will work with the MCEUSB controller.<br />
<br />
{{File|name=~/.lircrc|content=##amarok2<br />
<br />
begin<br />
button = Play<br />
prog = irexec<br />
repeat = 0<br />
config = qdbus org.mpris.amarok /Player Play<br />
end<br />
<br />
begin<br />
button = Pause<br />
prog = irexec<br />
repeat = 0<br />
config = qdbus org.mpris.amarok /Player Pause<br />
end<br />
<br />
begin<br />
button = Stop<br />
prog = irexec<br />
repeat = 0<br />
config = qdbus org.mpris.amarok /Player Stop<br />
end<br />
<br />
begin<br />
button = Skip<br />
prog = irexec<br />
repeat = 0<br />
config = qdbus org.mpris.amarok /Player Next<br />
end<br />
<br />
begin<br />
button = Replay<br />
prog = irexec<br />
repeat = 0<br />
config = qdbus org.mpris.amarok /Player Prev<br />
end}}<br />
--[[User:Pyrrhicvictory|Pyrrhicvictory]] 16:53, 16 August 2008 (EDT)<br />
<br />
==Configure Audacious(2) to use Lirc==<br />
Depending on your controller model, the following configuration works with all versions of Audacious, including the mercurial builds. This configuration file will work with the MCEUSB controller.<br />
<br />
{{File|name=~/.lircrc|content=##audacious<br />
<br />
begin<br />
prog = audacious<br />
button = Play<br />
config = PLAY<br />
repeat = 0<br />
end<br />
<br />
begin<br />
prog = audacious<br />
button = Pause<br />
config = PAUSE<br />
repeat = 0<br />
end<br />
<br />
begin<br />
prog = audacious<br />
button = Stop<br />
config = STOP<br />
repeat = 0<br />
end<br />
<br />
begin<br />
prog = audacious<br />
button = Skip<br />
config = NEXT<br />
repeat = 0<br />
end<br />
<br />
begin<br />
prog = audacious<br />
button = Replay<br />
config = PREV<br />
repeat = 0<br />
end<br />
<br />
begin<br />
prog = audacious<br />
button = VolUp<br />
config = VOL_UP<br />
repeat = 1<br />
end<br />
<br />
begin<br />
prog = audacious<br />
button = VolDown<br />
config = VOL_DOWN<br />
repeat = 1<br />
end}}<br />
<br />
additionally there are other values that may be set according to the model set forth above. This was taken from the lirc.c file from audacious-plugins source code:<br />
<br />
{{File|name=lirc.c|content=PLAY<br />
STOP<br />
PAUSE<br />
PLAYPAUSE<br />
NEXT<br />
PREV<br />
SHUFFLE<br />
REPEAT<br />
FWD<br />
BWD<br />
VOL_UP<br />
VOL_DOWN<br />
QUIT<br />
MUTE<br />
BAL_LEFT<br />
BAL_RIGHT<br />
BAL_CENTER<br />
LIST<br />
PLAYLIST_CLEAR<br />
PLAYLIST_ADD}}<br />
<br />
--[[User:Pyrrhicvictory|Pyrrhicvictory]] 15:27, 3 January 2009 (EST)</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=MythWeb&diff=72525MythWeb2009-07-22T03:13:13Z<p>Thepizzaking: Add a securing MythWeb section</p>
<hr />
<div>{{translateme}}<br />
= MythWeb =<br />
<br />
== Introduction ==<br />
MythWeb is a web interface for [[MythTV]]<br />
<br />
== Installation ==<br />
Install MythWeb<br />
# pacman -S mythweb<br />
<br />
=== Change Owner and Group ===<br />
The files of the ''mythweb'' package will be owned by the ''nobody'' user and group. Apache now uses the ''http'' user and group. You can change the owner of ''mythweb'' with:<br />
# chown -R http:http /srv/http/mythweb<br />
<br />
=== Link to the MythWeb Directory ===<br />
The ''mythweb'' package will install to ''/srv/www/mythweb'' however the ''apache'' package now uses the ''/srv/httpd'' directory. You can create a link with:<br />
# ln -s /srv/www/mythweb /srv/http/mythweb<br />
<br />
=== Link to the Video Directory ===<br />
MythWeb looks in the ''video_dir'' directory for ''[[MythTV]]'' recordings. You will need to create a link to the folder where your MythTV recordings are stored.<br />
# ln -s <recording_dir> /srv/http/mythweb/video_dir<br />
<br />
== Configuration ==<br />
=== MythWeb ===<br />
Copy the MythWeb configuration file ''mythweb.conf'' to the [[Apache]] configuration directory.<br />
# cp /srv/www/mythweb/mythweb.conf.apache /etc/httpd/conf/extra/mythweb.conf<br />
<br />
Edit ''mythweb.conf'' to point it to the correct installation directory (near the beginning of the file).<br />
<Directory "/srv/http/mythweb" ><br />
<br />
Then check that the configuration matches your [[MythTV]] setup. If you have changed the database login or password you will need to change the following section.<br />
setenv db_server "localhost"<br />
setenv db_name "mythconverg"<br />
setenv db_login "mythtv"<br />
setenv db_password "mythtv"<br />
<br />
=== Apache ===<br />
Edit the ''[[Apache]]'' configuration file ''/etc/httpd/conf/httpd.conf''<br />
<br />
Uncomment (or add) the line<br />
LoadModule php5_module modules/libphp5.so<br />
<br />
Insert the following two lines in the ''Supplemental Configuration'' section of ''httpd.conf'', it's found towards the end of the file.<br />
Include conf/extra/php5_module.conf<br />
Include conf/extra/mythweb.conf<br />
<br />
=== PHP ===<br />
Edit the [[PHP]] configuration file ''/etc/php/php.ini''<br />
<br />
Uncomment the following lines in the ''available extensions'' section, found near the end of the configuration file.<br />
extension=mysql.so<br />
extension=posix.so<br />
<br />
Add ''/srv/www/'' to the ''open_basedir'' option to allow file operation in the MythWeb directory.<br />
open_basedir = /srv/http/:/srv/www/:/home/:/tmp/:/usr/share/pear/<br />
<br />
Enable the ''allow_url_fopen'' option for MythWeb's status page to work.<br />
allow_url_fopen = On<br />
<br />
== Using MythWeb ==<br />
You can now start the Apache daemon, ''mythbackend'' must already be running.<br />
/etc/rc.d/httpd start<br />
<br />
Open MythWeb in your browser.<br />
http://localhost/mythweb<br />
<br />
== Securing MythWeb ==<br />
It is also probably a good idea to set up password protection for MythWeb if you intend to allow connections from the Internet.<br />
To enable authentication open the ''/etc/httpd/conf/extra/mythweb.conf'' file and uncomment the authentication section (near the beginning):<br />
AuthType Digest<br />
AuthName "MythTV"<br />
AuthUserFile /var/www/htdigest<br />
Require valid-user<br />
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On<br />
Order allow,deny<br />
Satisfy any<br />
Now we need to fix the configuration to match how we have MythWeb set up, change the ''AuthUserFile'' so it reads<br />
AuthUserFile /etc/httpd/conf/extra/httpd-passwords<br />
If you don't want to access MythWeb from IE you can delete the BrowserMatch line.<br />
<br />
You also probably don't want to have to enter your password when you're connecting from your local computer, so add the following line between the last two lines:<br />
Allow from 127. 192.168.1.<br />
This will cause passwordless access from both your local machine <b>AND</b> your local network (provided you're using the 192.168.1.0 255.255.255.0 subnet)<br />
<br />
Your config should now look something like:<br />
AuthType Digest<br />
AuthName "MythTV"<br />
AuthUserFile /etc/httpd/conf/extra/httpd-passwords<br />
Require valid-user<br />
Order allow,deny<br />
Allow from 127. 192.168.1.<br />
Satisfy any<br />
Save the file.<br />
Now we'll create the httpd-passwords file, <br />
# htdigest -c /etc/httpd/conf/httpd-passwords MythTV MYUSER<br />
Where MYUSER is the username you want to use to access MythWeb. Enter the login password when prompted.<br />
<br />
If you need more users:<br />
# htdigest /etc/httpd/conf/httpd-passwords MythTV MYUSER<br />
NOTE: No -c after initial user, otherwise you will overwrite the current file.<br />
<br />
Now all we need to do now is restart the apache server for the changes to take effect.<br />
# /etc/rc.d/httpd restart<br />
<br />
= External Links =<br />
* [http://www.mythtv.org/wiki/MythWeb MythTV Wiki page on MythWeb]</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=MythWeb&diff=72480MythWeb2009-07-21T08:16:52Z<p>Thepizzaking: /* MythWeb */ Add in a configuration section.</p>
<hr />
<div>{{translateme}}<br />
= MythWeb =<br />
<br />
== Introduction ==<br />
MythWeb is a web interface for [[MythTV]]<br />
<br />
== Installation ==<br />
Install MythWeb<br />
pacman -S mythweb<br />
<br />
=== Change Owner and Group ===<br />
The files of the ''mythweb'' package will be owned by the ''nobody'' user and group. Apache now uses the ''http'' user and group. You can change the owner of ''mythweb'' with:<br />
chown -R http:http /srv/http/mythweb<br />
<br />
=== Link to the MythWeb Directory ===<br />
The ''mythweb'' package will install to ''/srv/www/mythweb'' however the ''apache'' package now uses the ''/srv/httpd'' directory. You can create a link with:<br />
ln -s /srv/www/mythweb /srv/http/mythweb<br />
<br />
=== Link to the Video Directory ===<br />
MythWeb looks in the ''video_dir'' directory for ''[[MythTV]]'' recordings. You will need to create a link to the folder where your MythTV recordings are stored.<br />
ln -s <recording_dir> /srv/http/mythweb/video_dir<br />
<br />
== Configuration ==<br />
=== MythWeb ===<br />
Copy the MythWeb configuration file ''mythweb.conf'' to the [[Apache]] configuration directory.<br />
cp /srv/www/mythweb/mythweb.conf.apache /etc/httpd/conf/extra/mythweb.conf<br />
<br />
Edit ''mythweb.conf'' to point it to the correct installation directory (near the beginning of the file).<br />
<Directory "/srv/http/mythweb" ><br />
<br />
Then check that the configuration matches your [[MythTV]] setup. If you have changed the database login or password you will need to change the following section.<br />
setenv db_server "localhost"<br />
setenv db_name "mythconverg"<br />
setenv db_login "mythtv"<br />
setenv db_password "mythtv"<br />
<br />
=== Apache ===<br />
Edit the ''[[Apache]]'' configuration file ''/etc/httpd/conf/httpd.conf''<br />
<br />
Uncomment (or add) the line<br />
LoadModule php5_module modules/libphp5.so<br />
<br />
Insert the following two lines in the ''Supplemental Configuration'' section of ''httpd.conf'', it's found towards the end of the file.<br />
Include conf/extra/php5_module.conf<br />
Include conf/extra/mythweb.conf<br />
<br />
=== PHP ===<br />
Edit the [[PHP]] configuration file ''/etc/php/php.ini''<br />
<br />
Uncomment the following lines in the ''available extensions'' section, found near the end of the configuration file.<br />
extension=mysql.so<br />
extension=posix.so<br />
<br />
Add ''/srv/www/'' to the ''open_basedir'' option to allow file operation in the MythWeb directory.<br />
open_basedir = /srv/http/:/srv/www/:/home/:/tmp/:/usr/share/pear/<br />
<br />
Enable the ''allow_url_fopen'' option for MythWeb's status page to work.<br />
allow_url_fopen = On<br />
<br />
== Using MythWeb ==<br />
You can now start the Apache daemon, ''mythbackend'' must already be running.<br />
/etc/rc.d/httpd start<br />
<br />
Open MythWeb in your browser.<br />
http://localhost/mythweb</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=GRUB&diff=71222GRUB2009-06-26T03:44:56Z<p>Thepizzaking: /* Troubleshooting */</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{Article summary start}}<br />
{{Article summary text|Covers various aspects of the next generation of the GRand Unified Bootloader (GRUB2).}}<br />
<br />
{{Article summary heading|Available in languages}}<br />
{{i18n_entry|English|GRUB2}}<br />
{{i18n_entry|Česky|GRUB2 (Česky)}}<br />
{{i18n_entry|Français|GRUB2 (Français)}}<br />
{{Article summary end}}<br />
<br />
== Introduction ==<br />
{{Warning | The next generation of the GRand Unified Bootloader (GRUB2) is still under development and therefore all usual points apply. GRUB2 may fry your computer, burn your house, make you breakfast or eat your cat. You've been warned! For most people, except those with more exotic configurations, GRUB2 should just work.}}<br />
<br />
Commands &ndash; changes between GRUB and GRUB2. You may want to familiarise yourself with these before proceeding.<br />
E.g.: "find" has been replaced with "search"<br />
<br />
http://grub.enbug.org/CommandList<br />
<br />
== Installing Grub2 package ==<br />
<br />
First install grub2 with pacman:<br />
# pacman -Sy grub2<br />
<br />
Edit the grub2 configuration file with your settings. The 'old' {{Filename|menu.lst}} is replaced by a new file called {{Filename|grub.cfg}}:<br />
# nano /boot/grub/grub.cfg<br />
<br />
{{Note | Use {{Filename|hd[a-z]}} for IDE and {{Filename|sd[a-z]}} for SCSI and SATA.}}<br />
<br />
Here is an example of a simple configuration file:<br />
# Config file for GRUB2 - The GNU GRand Unified Bootloader<br />
# /boot/grub/grub.cfg<br />
<br />
# DEVICE NAME CONVERSIONS<br />
#<br />
# Linux Grub<br />
# -------------------------<br />
# /dev/fd0 (fd0)<br />
# /dev/sda (hd0)<br />
# /dev/sdb2 (hd1,2)<br />
# /dev/sda3 (hd0,3)<br />
#<br />
<br />
# Timeout for menu<br />
set timeout=5<br />
<br />
# Set default boot entry as Entry 0<br />
set default=0<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
set root=(hd0,1)<br />
linux /vmlinuz26 root=/dev/sda1 ro<br />
initrd /kernel26.img<br />
}<br />
<br />
## (1) Windows<br />
#menuentry "Windows" {<br />
#set root=(hd0,3)<br />
#chainloader +1<br />
#}<br />
<br />
If you do not have a seperate boot-partition, {{Codeline|/boot}} must be added to {{Filename|grub.cfg}}. Example:<br />
<br />
# (0) Arch Linux<br />
menuentry "Arch Linux" {<br />
set root=(hd0,1)<br />
linux /boot/vmlinuz26 root=/dev/sda1 ro<br />
initrd /boot/kernel26.img<br />
}<br />
<br />
== Installing or Restoring GRUB to the Master Boot Record ==<br />
GRUB may be installed from a live environment, or directly from a running Arch install.<br />
<br />
In most cases, installing grub2 would be as easy as running the '''grub-install''' command as root:<br />
# grub-install /dev/sda<br />
where {{Filename|/dev/sda}} is the destination of the installation (in this case the MBR of the first SATA disc)<br />
<br />
If this fails with the error:<br />
grub-probe: error: Cannot get the real path of `/dev/fd0'<br />
Auto-detection of a filesystem module failed.<br />
Please specify the module with the option `--modules' explicitly.<br />
Try adding {{Codeline|--recheck}} to the arguments as follows:<br />
# grub-install --recheck /dev/sda<br />
<br />
Alternatively, you should be able to install grub2 by booting the system and running the '''grub''' command as root:<br />
# grub<br />
{this section is still incomplete, some steps should be added!!!}<br />
(grub2 doesn't have an interactive prompt)<br />
<br />
== Boot loader configuration ==<br />
The GRUB configuration is done in this file:<br />
/boot/grub/grub.cfg<br />
<br />
Be warned this section is incomplete, feel free to put all missing configuration options here!<br />
<br />
* {{Codeline|(hdn,m)}} is the partition {{Codeline|m}} on disc {{Codeline|n}}, partition numbers starting with 1, disc numbers starting with 0<br />
* {{Codeline|set default&#61;n}} is the default boot entry, that is choosen after timeout for user action<br />
* {{Codeline|set timeout&#61;m}} &ndash; time {{Codeline|m}} to wait in seconds for a user selection, before default is booted<br />
* {{Codeline|menuentry "str"{entry options&#125;}} &ndash; title string {{Codeline|str}} for a boot entry & basic layout<br />
* {{Codeline|set root&#61;(hdn,m)}} &ndash; base partition, where the kernel is stored to<br />
* {{Codeline|linux /path ro root&#61;/dev/device initrd /initrd.img}} &ndash; use the root option, if the kernel not placed in /<br />
* {{Codeline|chainloader +1}} sets {{Codeline|root}} active and gives booting procedure to its boot-loader (for Windows, e.g.)<br />
<br />
For UUID entries:<br />
# blkid<br />
<br />
=== Dual booting===<br />
These are the two most common ways of configuring the {{Filename|grub.cfg}} file. For more complex uses, feel free to add descriptions here.<br />
<br />
====With other GNU/Linux distributions====<br />
This is done exactly the same way that Arch linux is loaded. Here we assume that the other distro is on partition {{Filename|[s/h]da2}}.<br />
menuentry "Other Linux" {<br />
set root=(hd0,2)<br />
linux /boot/vmlinuz (add other options here as required)<br />
initrd /boot/initrd.img (if the other kernel uses/needs one)<br />
}<br />
<br />
====With Windows====<br />
Add this at the end of your {{Filename|/boot/grub/grub.cfg}}. This assumes that your Windows partition is {{Filename|[s/h]da3}}.<br />
<br />
# (2) Windows XP<br />
menuentry "Windows XP" {<br />
set root=(hd0,3)<br />
chainloader +1<br />
}<br />
<br />
Note, that although commonly believed to be the case, Windows 2000 and later versions do not need to be on the first partition to boot. If the Windows partition changes number (i.e. if you after install add a partition before the windows partition), you will need to edit the Windows boot.ini file to reflect the change (see [http://vlaurie.com/computers2/Articles/bootini.htm this article] for details on how to do that).<br />
<br />
====With Windows Vista, via EasyBCD and NeoGRUB====<br />
Since EasyBCD's NeoGRUB currently can't understand the GRUB v2 menu format, chain-load to it by replacing the contents of your "C:\NST\menu.lst" file with lines similar to the following:<br />
<br />
default 0<br />
timeout 1<br />
<br />
title Chainload into GRUB v2<br />
root (hd0,7)<br />
kernel /boot/grub/core.img<br />
<br />
==Tips and tricks==<br />
<br />
===Background Image & Bitmap Fonts===<br />
GRUB2 comes with support for background images and bitmap fonts in pf2 format. The unifont font is included in the grub2 package under the filename {{Filename|unicode.pf2}}, or, as only ascii characters under the name {{Filename|ascii.pf2}}. Image formats supported include tga, png and jpeg, providing the correct modules are loaded. The maximum supported resolution depends on your hardware. A configuration sample setting a tga file as background is shown below.<br />
<br />
if loadfont /usr/share/grub/unicode.pf2 ; then<br />
set gfxmode="1024x768x32"<br />
insmod gfxterm<br />
insmod vbe<br />
terminal_output gfxterm<br />
if terminal_output gfxterm; then true ; else<br />
terminal gfxterm<br />
fi<br />
fi<br />
insmod tga<br />
background_image /boot/grub/archlinux.tga<br />
<br />
===Menu Colors===<br />
<br />
To change the colors in GRUB2 you would specify one option in {{Filename|/boot/grub/grub.cfg}}:<br />
<br />
color light-blue/black light-cyan/blue<br />
<br />
These are the default colors for Arch's release of GRUB-legacy. The available colors for GRUB2 are at http://www.gnu.org/software/grub/manual/html_node/color.html.<br />
<br />
== Troubleshooting ==<br />
Any troubleshooting should be added here.<br />
<br />
I couldn't figure out how to uninstall grub1, and install grub2 to the MBR, as it isn't being booted by default. It is still booting grub1. So, an easy work-around, is rename {{Filename|menu.lst.pacsave}} or whatever, to {{Filename|menu.lst}} (in /boot/grub/) and for each menu entry that you would like to use grub2, at the end type {{Codeline|"chainloader +1"}}. This will tell grub1 to forward control to grub2. This is an ugly hack though, so I advise setting the {{Filename|menu.lst}}'s timout as 0, otherwise the total timeout would be grub1's time out + grub2's which, for me would equal more than 18 seconds, which is quite a bit.<br />
<br />
P.S. hopefully someone figures out how to pry grub1's dead fingers off of my MBR, and place grub2 on it :) .<br />
<br />
In my case it had to do with my boot partition. Say boot-partition is {{Codeline|(hd0,1)}} and your root is {{Codeline|(hd0,3)}} (grub2 naming). grub-setup searches for {{Filename|(hd0,3)/boot/grub/core.img}}. Just because it's on {{Filename|(hd0,1)/grub/core.img}}, it is unable to find it. So I copied the grub-folder to my root partition and everything worked fine:<br />
<br />
E.g. (as root:)<br />
# mount /boot<br />
# cp -a /boot/grub /<br />
# umount /boot<br />
# mv /grub /boot/<br />
# grub-install /dev/sda<br />
<br />
== More Resources ==<br />
* [http://www.gnu.org/software/grub/ GRUB Homepage]<br />
* [http://grub.enbug.org/ GRUB wiki]</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=MythTV_Walkthrough&diff=70477MythTV Walkthrough2009-06-14T02:39:14Z<p>Thepizzaking: /* Installing MySQL */</p>
<hr />
<div>[[Category:Audio/Video (English)]]<br />
[[Category:HOWTOs (English)]]<br />
=About this document=<br />
==What is MythTV ?==<br />
<br />
MythTV is a Linux based Personal Video Recorder. It acts as an intelligent combined television and video recorder. There are many plugins for it which expand its basic functionality.<br />
<br />
MythTV is unusual in that it is split into two. The "back end" and the "front end". The back end receives and records the video, the front end shows it and controls the back end. This allows you to separate the two. <br />
<br />
==Why two entries in the Wiki ?==<br />
<br />
There already exists a wiki entry for installing mythtv. However, it does lack detail for the less experienced user. I wanted to write a "from beginning to end" installation guide for mythtv ; to do that would require editing the original MythTV HOWTO pretty drastically, and would lose its advantage of brevity and simplicity. I would recommend reading both guides.<br />
<br />
The downside to my approach is that the instructions are 'specific' for my hardware and my location. What I do will only work if you live near me and have my hardware, but I hope to give enough pointers to make the document helpful for anyone who wishes to install MythTV anywhere.<br />
<br />
The document is deliberately quite systematic ; do something, check that's worked, then go on to the next step. If you can't figure it out from the instructions it should help you understand where to look for the right answers, and what part of the set up is being problematic.<br />
<br />
==Localisation and Hardware variations==<br />
==Getting the DVB EPG to work with MythTV (todo) ==<br />
<br />
MythTV can cope with a wide variety of hardware. There are two main things that change from system to system which require significant setting up.<br />
<br />
Firstly, the video capture card. There are many of these and they are often subtly different. MythTV does a pretty good job of detecting and configuring hardware.<br />
<br />
Secondly, the location. MythTV has an Electronic Program Guide (EPG) built in, so that programmes can be recorded and viewed easily. There is a common way of setting this up using a program called XMLTV, which extracts data from web sites or other data providers. Some devices (for example DVB-T cards) also require transmitter information. <br />
<br />
Some digital systems can use the EPG which is part of the signal. This now works in ArchLinux, and is described below.<br />
<br />
==My personal information==<br />
<br />
This guide is written 'as I do it'. However, this is for my hardware in my location and yours is almost certainly different. I will offer suggestions for alternatives where appropriate. It is always worth reading installation guides for other machines ; the process of installation does not vary significantly. If you have a common video capture card, you can find help in most cases ..... somewhere. The MythTV website is a good place to start.<br />
<br />
==My Hardware==<br />
<br />
I'm running Arch Linux 0.8 (Voodoo) with an NVIDIA card. The "important" piece of hardware though is my DVB-T capture card. DVB-T is known in the UK as "Freeview" ; it is digital television transmitted down the 'standard' aerial. <br />
<br />
Other alternatives are the old analogue system, DVB-S (satellite) and DVB-C (cable),<br />
<br />
The capture card I am using is a Hauppauge WinTV "NOVA" model, which fits internally in one of the PCI expansion slots. It is highly recommended for DVB-T reception and it is pretty cheap.<br />
<br />
==My Location==<br />
<br />
I live in Norfolk in England and my nearest transmitter is in Tacolneston. Fortunately, this is about 5 miles away which means I can "get away with" an indoor aerial. Normally, DVB=T requires an outdoor aerial. It is rather like FM radio ; you either get a good signal or none at all.<br />
<br />
==Much easier for DVB-T==<br />
<br />
Thanks to what I think is a new release, or me getting more comfy with MythTV, or a bit of both, it is now much easier to install DVB-T MythTV. <br />
<br />
However, I have left much of the document intact as it may be useful for Analogue users, or anyone for whom the short cut doesn't work, or just if you want to know how it all works.<br />
<br />
It then becomes a much simpler setup. You do not have to scan for channels or get transmitter information (MythTV does this for you), or set up mplayer (though this is a good simple test of whether your card is actually working or not). You do not have to install XMLTV, nor do you have to link it to the SQL Database with the Perl scripts. For the DVB-T you now just need to :<br />
<br />
* Set up the hardware<br />
* Install MythTV and MySQL<br />
* Run through the setup of MythTV<br />
<br />
There is a downside. The EPG is only updated for 7 days, wherease the Radio Times XML Grabber does a fortnight. This can be useful if you are away more than 7 days. However, for simplicity I recomment you stick with the DVB-T system.<br />
<br />
=Setting up the hardware=<br />
<br />
Fortunately, my hardware is autodetected by the Arch 0.8 Kernel, or almost completely. It does not install the cx88_dvb module which is required for my system.<br />
<br />
==Checking it exists==<br />
<br />
if you do either<br />
<br />
lspci<br />
<br />
or <br />
<br />
lsusb<br />
<br />
it will list all the devices connected to the PCI bus or the USB bus respectively. You should see something which roughly describes your hardware. In my case, lspci produces<br />
<br />
02:01.0 Multimedia video controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder (rev 05)<br />
02:01.2 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] (rev 05)<br />
02:01.4 Multimedia controller: Conexant CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] (rev 05)<br />
<br />
you can also look at the boot log by typing<br />
<br />
dmesg | less<br />
<br />
this shows what the system is doing as it 'boots up' ; somewhere you will hopefully see text which describes your card. In my case, a part of the log is <br />
<br />
Linux video capture interface: v2.00<br />
cx2388x cx88-mpeg Driver Manager version 0.0.6 loaded<br />
CORE cx88[0]: subsystem: 0070:9002, board: Hauppauge Nova-T DVB-T [card=18,autodetected]<br />
TV tuner 4 at 0x1fe, Radio tuner -1 at 0x1fe<br />
<br />
there is a great deal more descriptive information, but this is very hardware specific.<br />
<br />
==Putting in the module==<br />
<br />
To force the Kernel to load the cx88_dvb module I changed my rc.conf file so the "MODULES" line reads as follows<br />
<br />
MODULES=(r8169 cx88_dvb)<br />
<br />
This will force the kernel to load the module at start up. The r8169 module is my network card and is likely to be different on your system.<br />
<br />
You can reboot it ; if you don't want to, load it yourself just this once, with<br />
<br />
modprobe cx88_dvb<br />
<br />
==Checking it works==<br />
<br />
The simplest way to check it works initially and that the system has recognised it, is to check for the existence of the video device(s) in linux.<br />
<br />
ls /dev/v4l<br />
<br />
checks for analogue devices and<br />
<br />
ls /dev/dvb<br />
<br />
checks for digital devices. In both cases you should see a list of device links (like a directory listing). If these are present then linux has probably recognised the card and it might work.<br />
<br />
The next stage is to try and see if it is picking up any signal.<br />
<br />
=Getting the first digital signal=<br />
''This is no longer required for DVB Setup. However it's very useful if there are problems getting it to work, as it's much simpler than MythTV, and if this part works you know the card is working correctly.''<br />
<br />
This part is very specific to DVB-T. For a standard analogue card, you have to do very little ; for DVB-C and DVB-S I do not know.<br />
<br />
The first thing to do is to install linux-dvb-apps.<br />
<br />
pacman -S linuxtv-dvb-apps<br />
<br />
==What transmitter do I use ?==<br />
<br />
Each transmitter transmits DVB-T signals on a different frequency. You need to find a file which describes your local transmitter frequencies.<br />
<br />
The simplest way in the UK is to use the WolfBane website at http://www.wolfbane.com. If you click on "UK digital TV reception predictor" you can enter your postal code (what we call the "zip code") and it will tell you what transmitters are available.<br />
<br />
The next stage is to find the "ukxxxx" file.<br />
<br />
==What is the ukXXXX file ?==<br />
<br />
The ukxxxx file is the file that describes how your transmitter transmits DVB-T data. For my transmitter, Tacolneston, it looks like this :-<br />
<br />
# UK Tacolneston<br />
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy<br />
T 730166670 8MHz 3/4 NONE QAM16 2k 1/32 NONE<br />
<br />
I have no idea what it means either, if it's any consolation. Not that it matters much, as long as it works. <br />
<br />
==How do I find it ?==<br />
<br />
Unfortunately there is no central repository of these - as far as I know anyway (!). If you have installed linuxtv-dvb-apps (i.e. you're following the instructions) you should find a listing of these in the /usr/share/dvb-utils/scan/dvb-t directory.<br />
<br />
There's about 30 listed here from various countries (including Australia, the UK and the Netherlands). If your transmitter is not listed here, as uk-Tacolneston wasn't, then you have to hunt on the web. I googled for things like "DVB-T Transmitter MythTV Tacolneston" and the like and found a gentleman called Adam Bower had already done the work for me. Thanks, Adam.<br />
<br />
==What is channels.conf ?==<br />
<br />
Having acquired your transmitter information (in my case, in the file uk-Tacolneston) you now query your local transmitter to see what channels it has to offer. These contain things like channel details and the tuning frequencies and go in a file commonly called "channels.conf". Once you have this, it should be easy to get your system watching television using mplayer.<br />
<br />
==Generating the channels.conf==<br />
<br />
You may be able to find a channels.conf for your transmitter already. If you can't, to create our channels.conf we use a program called 'scan' (part of the linux-dvb-apps we installed earlier)<br />
<br />
scan uk-Tacolneston > channels.conf<br />
<br />
This should print out reams of gobbledegook, hopefully without error messages. If there are error messages, check your signal strength (do you need a better aerial ?) and your frequencies, which may be wrong.<br />
<br />
If you open channels.conf in an editor it should look something like this (lines truncated slightly here !)<br />
<br />
Five:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2 (etc)<br />
Five Life:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC (etc)<br />
Five US:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1 (etc)<br />
<br />
except there will be more of it (one line for each channel). The first things on each line should be recognisable as the channels available on your local service. The names are often truncated.<br />
<br />
=Getting the first picture=<br />
''This is no longer required for DVB Setup, but as before, it's useful for solving problems, because if MythTV doesn't work and this does, you know it's the setup of MythTV that's the problem''<br />
<br />
This part is again only applicable to DVB-T transmissions. The next part is to check the card is working by - watching some television. It is no longer required for DVB-T if you are using the DVB-T EPG, but I have left it in, as it is useful if you can't get your card working, or if you want it to run with mplayer or xine.<br />
<br />
==Install and run Mplayer==<br />
<br />
My preferred viewer is mplayer (though you can do this with xine as well - the process is identical, where I say mplayer you put xine !). To view the television in mplayer, firstly install it once and run it.<br />
<br />
pacman -S mplayer<br />
mplayer<br />
<br />
It is run once to create the .mplayer subdirectory in your home directory, which you will copy your channels.conf file into next.<br />
<br />
==Making Mplayer work with DVB-T==<br />
<br />
To make mplayer work with DVB you have to tell it about the channels it can read. The simplest way of doing this is to copy the channels.conf file into your .mplayer directory<br />
<br />
cp /aux/arch/channels.conf /home/paulr/.mplayer/<br />
<br />
(Your command may vary depending on your login name and the directory you put the channels.conf file)<br />
<br />
You should now be able to watch TV. Look at one of the channels in your channels.conf file. I shall choose the TV channel BBC1. The line from channels.conf looks like this.<br />
<br />
BBC ONE:810000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4 (etc).<br />
<br />
to watch BBC1, you use the name of the channel - the line as far as the first colon. In this case<br />
<br />
mplayer dvb://"BBC ONE"<br />
<br />
Replace BBC ONE with the channel you wish to watch. With a bit of luck, if everything has worked, that should open a window and start playing the channel in glorious LinuxColour ; in this case , BBC1. <br />
<br />
If not ... search the internet checking error messages :) If the previous stage worked (getting the uk-xxxxx and channels.conf) it's a bit puzzling that it doesn't work.<br />
<br />
If you've got this far you can be pretty sure you will get MythTV to work properly - eventually. There's a bit more setting up to be done yet. It is not that difficult to get MythTV working, recording, display video, and so on. The hard bit - in my experience anyway - is getting the EPG working.<br />
<br />
But it *is* worth it. MythTV watching is a whole new way of looking at television ; it's a whole new way of thinking about television. Without DRM.<br />
<br />
''"I think this is getting needlessly messianic." (Fook, Hitch Hikers Guide to the Galaxy)''<br />
<br />
=Installing XMLTV=<br />
''This is no longer required for DVB Setup as the TV guide data is piggybacked onto the TV signal''<br />
<br />
==Installing XMLTV==<br />
<br />
Read the [[XMLTV_HOWTO|XMLTV HOWTO]] for instructions on how to Install XMLTV. This used to be part of this document, I put it in it's own Wiki page.<br />
<br />
==You can have it all, but you don't want to==<br />
<br />
If you let it run through to the very very end it will take a long time. Normally you don't want to do this ; you want just the channels that there are on your system. On the tv_grab_uk_rt listings there are 271 channels, but DVB-T Freeview only has about 50 odd. <br />
<br />
We will cut this down later and make the tv grabber run faster. <br />
<br />
=Installing MythTV=<br />
==Installing MySQL==<br />
<br />
To start with, we install MySQL, the open source database. This is used to store information for mythtv. These three lines install it, start it running, and set the password to 'root' (change as you wish). You will need to use 'su -' to get into superuser mode first.<br />
<br />
su -<br />
pacman -S mysql<br />
/etc/rc.d/mysqld start<br />
mysqladmin -u root password root<br />
<br />
You should also edit your /etc/rc.conf file to start it up automatically, by adding mysqld to the list of daemons. The daemons line should now look something like (exact contents may vary)<br />
<br />
DAEMONS=(syslog-ng network netfs crond gdm cups hal alsa openntpd mysqld)<br />
<br />
To check it works okay, enter<br />
<br />
mysql -u root -p<br />
<br />
and when it asks you for the password, type in whatever you set the password to above (in this case, root). It should start up the command line interface to MySQL. To exit, type Ctrl+D.<br />
<br />
==Installing MythTV==<br />
<br />
Installing MythTV is easy. This command will install the MythTv program and the themes that go with it.<br />
<br />
pacman -S mythtv myththemes<br />
<br />
==Creating the Database==<br />
<br />
Finally, we need to initialise the SQL Database that MythTV uses. There is a script to do this.<br />
<br />
mysql -u root -p < /usr/share/mythtv/mc.sql<br />
<br />
Again, you will need to enter the root password.<br />
<br />
=Setting up MythTV=<br />
<br />
Press Ctrl+D to leave superuser mode. Type the following command to set up mythtv.<br />
<br />
mythtv-setup<br />
<br />
==Select your preferred language==<br />
<br />
Select the preferred language (in my case, English(British)) and press Return to go to the next screen.<br />
<br />
==Section 1. General==<br />
<br />
*"host specific backend setup" : allows you to use a specified directory to store your recordings.<br />
*"Global Backend setup" : I had to set the TV format to "PAL" and the Channel Frequency Table to "Europe-West" ; these may vary depending upon which country you are in.<br />
<br />
For all the other pages, you can simply leave the defaults as they are. You can always change them later.<br />
<br />
==Section 2. Capture Cards==<br />
<br />
This is where you specify your capture card. Select "New Capture Card" and change the type to whatever your card type is. For my WinTV NOVA, it is "DVB DTV Capture Card (v3.x)". <br />
<br />
Mythtv should hopefully identify what your capture card is. Select Finish to store the new capture card, and then press ESC to return to the setup menu.<br />
<br />
==Section 3. Video Sources==<br />
<br />
Select "New Video Source" and enter a name (like DVB Card, for example). <br />
<br />
Then change the entry "XMLTV Listings Grabber" until it matches the name of the grabber you set up in the XMLTV section, or if you are using DVB-T "Direct" set it to "Transmitted Guide Only (EIT)". This tells MythTV to use the TV data encoded in the DVB-T stream. <br />
<br />
If you are using XMLTV, it will now configure this in the background. Again, we can skip this configuration for the time being. When you click on finish, the bar goes to 50% and stops. You will need to Alt-TAB to find the terminal window again. As before, you can select "all", because we will fix it all properly later. <br />
<br />
Then press ESC to return to the main menu.<br />
<br />
==Section 4. Input Connections==<br />
<br />
Select the Video Source you just created, and bring up the 'Connect Source to Input' Dialog. <br />
<br />
Give it an appropriate name ; in the UK it is known as "Freeview". For the Video Source, select the Capture Card<br />
<br />
For DVB-T cards like mine, run the Scanner (Full) option. If it crashes - mine keels over sometimes, sometimes it works, there appears to be no pattern, then try again two or three times, and eventually it will scan to the end.<br />
<br />
If this doesn't work, try the "taskset" trick and the end of the document.<br />
<br />
If you get really stuck, tab down to and select "Scan for Channels", then TAB to "Scan Type" and switch this to "channels.conf". We are going to use the channels.conf we created earlier to configure mythtv. When you click on "finish" for this, it will display "Adding ....." for all the channels you found before.<br />
<br />
If you don't have a DVB card, but use something like an analogue card, you may need to scan for channels and label them yourself.<br />
<br />
Click on Finish twice, then ESC to return to the main setup menu.<br />
<br />
==Section 5. Channel Editor==<br />
<br />
You can look at this, but we are going to configure it in a minute.<br />
<br />
==First run of MythTV==<br />
<br />
Start up the Myth BackEnd (this is the bit that does all the recording and so on) as follows.<br />
<br />
su -<br />
/etc/rc.d/mythbackend start<br />
(Press Ctrl+D)<br />
<br />
When it's working you can put mythbackend in your DAEMONS line as we did for MySQL above. You may get an authentication error, which I think is something to do with QT, which I believe can be ignored. Now run the front end by typing<br />
<br />
mythfrontend<br />
<br />
If you go to "Watch TV" you can (errmmm....) Watch TV, you can change channel with your up and down keys, and it all works quite nicely.<br />
<br />
You can also simply run<br />
<br />
mythtv<br />
<br />
This is just a "TV Watching" application with no other facilities.<br />
<br />
==It might not be working.==<br />
<br />
If you are using XMLTV, it's only about half there. The TV playing now works fine. What doesn't exist is the EPG - it doesn't tell you what is on the channel, and if you look at the EPG in the Recording section there's no data. What we have to do now is to make the XMLTV Data work with MythTV.<br />
<br />
If you are using the Transmitted Guide (EIT) option then if you watch TV for a little while, it seems to fill up the EPG in the background.<br />
<br />
=Linking XMLTV and MythTV=<br />
''This is no longer required for DVB Setup - in fact it'll completely screw up the system if you are using the transmitted guide''<br />
<br />
==The shotgun wedding==<br />
<br />
There is a problem to fix. We have to get the XMLTV data and the MythTV working together.<br />
<br />
If you look at the channels.conf file, which says what channels are on MythTV, it looks like this :<br />
<br />
Five:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1_2 (etc)<br />
Five Life:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC (etc)<br />
Five US:730166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_1 (etc)<br />
<br />
If you look at the XMLTV file DVB Card.xmltv it looks like this :<br />
<br />
channel channel5.co.uk<br />
channel life.channel5.co.uk<br />
channel us.channel5.co.uk<br />
<br />
The problem is getting the two to work together. We have to tell MythTV that the channel5.co.uk matches up to the channel called "Five", the life.channel5.co.uk matches up to the channel called "Five Life" and so on.<br />
<br />
This is one of those quite difficult computing problem. To a human brain, it is pretty obvious. To a computer, that sort of pattern matching is really quite difficult.<br />
<br />
==What you are trying to do, technically==<br />
<br />
run the following<br />
<br />
mysql -u root -p <br />
(then enter the password)<br />
(then enter these commands into the MySQL client)<br />
use mythconverg;<br />
select name,xmltvid from channel;<br />
<br />
this will query the MythTV database and show the names of the channels, and the name of the associate xmltv channel. It will now look like :<br />
<br />
+----------------+---------+<br />
| name | xmltvid |<br />
+----------------+---------+<br />
| Five | | <br />
| Five Life | | <br />
| Five US | | <br />
<br />
but with many more channels. We need to get the channel data from the above table in there, so that for the name row the xmltvid value is channel5.co.uk. That way MythTV knows where to look. There are also columns which allow you to set the icons, which at present I am not doing.<br />
<br />
==Using MythTV==<br />
<br />
You can do this using the Channel Editor section of MythTV. This is not difficult, but very slow and boring.<br />
<br />
==Using XMLTVDruid==<br />
<br />
In AUR there is a program called XMLTV Druid which provides a better GUI for doing this. I haven't tried it. I'm not even sure if it does this 'marriage' of XMLTV and MythTV.<br />
<br />
==Doing it by MySQL Script or similar==<br />
<br />
My method of doing it involves using a text file containing the channel name and the xmltv channels together, which when run creates two files ; an SQL file which sets up the data in the MythTV database, thus doing the "shotgun marriage", and also creates a replacement "DVB Card.xmltv" which doesn't require *all* the channels to be checked, only the ones we are actually using.<br />
<br />
That's why I suggested not bothering with selecting the channels in use earlier ; we are going to replace them now.<br />
<br />
This is my control file, the name of the file should be mythtv.config. On the left hand side is the name of the channel from channels.conf ; on the right hand side is the channel source from XMLTV.<br />
<br />
#<br />
# XMLTV Matchup Source File<br />
#<br />
Five:channel5.co.uk<br />
Five Life:life.channel5.co.uk<br />
Five US:us.channel5.co.uk<br />
QVC:qvcuk.com<br />
abc1:abc1.disney.com<br />
bid tv:bid-up.tv<br />
TCM:sky-three.sky.com<br />
UKTV Style:uk-style.flextech.telewest.co.uk<br />
UKTV Gold:uk-style.flextech.telewest.co.uk<br />
price-drop tv:price-drop.tv<br />
Eurosport UK:british.eurosport.com<br />
BBC ONE:east.bbc1.bbc.co.uk<br />
BBC NEWS 24:news-24.bbc.co.uk<br />
CBBC Channel:cbbc.bbc.co.uk<br />
BBC TWO:east.bbc2.bbc.co.uk<br />
ITV1:anglia.tv.co.uk<br />
ITV2:itv2.itv.co.uk<br />
ITV3:itv3.itv.co.uk<br />
CITV:citv.itv.co.uk<br />
Channel 4:channel4.com<br />
E4:e4.channel4.com<br />
More 4:more4.channel4.com<br />
Film4+1:plus-1.filmfour.channel4.com<br />
ITV4:itv4.itv.co.uk<br />
BBC Parliament:parliament.bbc.co.uk<br />
CBeebies:cbeebies.bbc.co.uk<br />
E4+1:plus-1.e4.channel4.com<br />
UKTV History:ukhistory.tv<br />
SKY THREE:sky-three.sky.com<br />
Sky Spts News:news.sports.sky.com<br />
Sky News:sky-news.sky.com<br />
Ideal World:idealworld.tv<br />
f tn:ftn.tv<br />
Film4:filmfour.channel4.com<br />
<br />
The only changes a UK user will need to make are to BBC1, BBC2 and ITV1 ; in this file they are set up for the eastern region (BBC East and Anglia Television) ; in different parts of the country different sources are required.<br />
<br />
This is the perl script that takes that file and generates an SQL file match.sql and also outputs a replacement DVB Card.xmltv file.<br />
<br />
open(my $src,"<mythtv.config") or die($!);<br />
open(my $sql,">match.sql") or die($!);<br />
print $sql "USE mythconverg;\n";<br />
while (readline($src))<br />
{<br />
if (/(.*):(.*)/)<br />
{<br />
my $mch = trim($1);<br />
my $mxm = trim($2);<br />
print "channel $mxm\n";<br />
print $sql "UPDATE channel SET xmltvid='$mxm' WHERE name='$mch';\n";<br />
}<br />
}<br />
close($src);<br />
close($sql);<br />
<br />
# Perl trim function to remove whitespace from the start and end of the string<br />
sub trim($)<br />
{<br />
my $string = shift;<br />
$string =~ s/^\s+//;<br />
$string =~ s/\s+$//;<br />
return $string;<br />
}<br />
<br />
Save this file as match.pl, then run the command :<br />
<br />
perl match.pl >DVB.xmltv<br />
<br />
Then you have to copy the new DVB file into the correct place. The name of the file you copy it to will depend on what you names you used in mythtv-setup, but it will be in /home/(user)/.mythtv and end in ".xmltv".<br />
<br />
cp DVB.xmltv /home/paulr/.mythtv/DVB\ Card.xmltv<br />
<br />
Then you have to run the SQL script to insert the data into the SQL Database.<br />
<br />
mysql -u root -p <match.sql<br />
<br />
==Checking that it's worked==<br />
<br />
The simplest check is to repeat the query on the MythTV database ; if it has worked then many, but probably not all, of your IDs should be matched up.<br />
<br />
mysql -u root -p <br />
(then enter the password)<br />
(then enter these commands into the MySQL client)<br />
use mythconverg;<br />
select name,xmltvid from channel;<br />
<br />
should now look like :<br />
<br />
mysql> select name,xmltvid from channel;<br />
+----------------+----------------------------------+<br />
| name | xmltvid |<br />
+----------------+----------------------------------+<br />
| Five | channel5.co.uk | <br />
| Five Life | life.channel5.co.uk | <br />
| Five US | us.channel5.co.uk | <br />
| QVC | qvcuk.com | <br />
| abc1 | abc1.disney.com | <br />
<br />
there will be some gaps, as a guide is not available for every channel.<br />
<br />
==Running mythfilldatabase==<br />
<br />
All you now have to do is to get mythtv to fill the database. It will run the xmltv command, read in the data, and use it to populate the EPG. Fortunately there is a command to do this for you.<br />
<br />
This can take some time. Some channels may fail because of the 'screenscraping' of the <br />
<br />
mythfilldatabase<br />
<br />
==Now go and play==<br />
<br />
Now, when you run mythfrontend, it should display the program information and the EPG should be completed in the recording section for those channels you put in your mythtv.config files. <br />
<br />
For me it's about a third of the 90 or so, but this is most of the main channels. There are channels which are Teletext, channels which are Radio, and channels which are Pr0n, so they're no great loss.<br />
<br />
=Extras=<br />
==The Font sizes and the Theme==<br />
<br />
On my MythTV, on a 1280x1024 display, the Fonts are large and make the EPG look terrible. By going in through Utilities/Setup > Setup > Appearance you can change the look to something better, and also change the theme.<br />
<br />
I quite like<br />
<br />
* Fonts = small<br />
* Theme = mythcenter<br />
<br />
but this is purely a matter of personal taste.<br />
<br />
==Setting up the Icons==<br />
<br />
I have seen some installations that require you to manually install the icons into the database for each channel. However, the tv_grab_uk_rt grabber seems to download and install them automagically.<br />
<br />
==Segmentation Fault==<br />
<br />
For some as yet unknown reason, mythtvfrontend throws a Segfault when you exit it. This is a known bug and doesn't affect its operation at all at any other time.<br />
<br />
==Using the remote control==<br />
<br />
To be done.<br />
<br />
=MythTV-Setup Crashing=<br />
==How to fix it==<br />
I had a *lot* of problems with mythtv-setup crashing continually. A bit of searching revealed the solution. It appears to be related to real multitasking vs. simulated multitasking ; it's only a problem for people with multiple CPU cores. Running mythtv-setup as a 'one core only' app appears to work.<br />
<br />
You need to download schedutils from the AUR, and build it as a package, then install it. This provides you with the "taskset" program.<br />
<br />
Then you can run it by typing<br />
<br />
taskset -c 0 mythtv-setup<br />
<br />
and it should ... hopefully ... work. I understand this is a known bug connected with QT reentrancy and is being fixed in MythTV 0.21</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Apache_OpenOffice&diff=68178Apache OpenOffice2009-05-04T13:08:05Z<p>Thepizzaking: /* Installation */</p>
<hr />
<div>[[Category:Office (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|OpenOffice}}<br />
{{i18n_entry|Italiano|OpenOffice_(Italiano)}}<br />
{{i18n_entry|Ελληνικά|OpenOffice (Ελληνικά)}}<br />
{{i18n_entry|简体中文|OpenOffice_(简体中文)}}<br />
{{i18n_entry|Português|OpenOffice_(Português)}}<br />
{{i18n_entry|Türkçe|OpenOffice_(Türkçe)}}<br />
{{i18n_links_end}}<br />
==Introduction==<br />
[http://www.openoffice.org/ OpenOffice.org] is a leading open-source office software suite for word processing, spreadsheets, presentations, graphics, databases and more. <br />
<br />
Arch offers 3 trees of binary packages for OpenOffice with different package names:<br />
<br />
'''openoffice-base'''<br />
<br />
This will always be the last released stable version of OpenOffice. <br><br />
Current version: 3.0.1 <br><br />
start it with "soffice" or from Desktop menu <br><br />
<br />
'''openoffice-base-beta'''<br />
<br />
This package will be only present when a new release is not far away. It will be the alpha, beta, and release candidates packages for the next stable release. <br><br />
Current version: 3.1.0_ooo310_m01 (way to =3.1.0rc1) (versions branched from DEV300_m40 that will lead to next stable 3.1.x release) <br><br />
start it with "soffice-beta" or from Desktop menu <br><br />
It's safe to install it together with the stable and devel version.<br><br />
Please test it carefully and report upstream bugs to OpenOffice and packaging bugs in our flyspray <br><br />
see http://wiki.services.openoffice.org/wiki/OOoRelease31 for roadmap<br />
<br />
'''openoffice-base-devel'''<br />
<br />
This packages will be updated from time to time and is a playground for the packager and for testing latest features. Please test and file upstream issues at http://www.openoffice.org/issues/query.cgi<br><br />
Current version: 3.1_dev300_m41 / snapshot DEV300_m41 (snapshots past branching the 3.1 stable tree that will lead to 3.2 release and beyond) <br><br />
start it with "soffice-dev" or from Desktop menu <br><br />
It's safe to install it together with the stable and beta version<br />
{{Note|If you play with more than one openoffice-base version it's highly recommended to always backup your<br />
configuration directory ~/.openoffice{2,3} !}}<br />
<br />
'''go-oo'''<br />
<br />
In addition, there is a package for go-oo in the extra repository, which includes enhancements and features found in versions of openoffice.org available in Ubuntu, OpenSuSE and other distributions. For users of Arch switching from other distributions go-oo may be more familiar to them.<br />
<br />
==Installation==<br />
* First, install a Java Runtime Environment (optional, highly recommended):<br />
# pacman -S openjdk6 or<br />
# pacman -S jre<br />
* Also, make sure that fonts are installed (otherwise you will see only rectangles):<br />
# pacman -S artwiz-fonts ttf-ms-fonts<br />
* Download the base for stable and/or beta and/or devel and/or go-oo:<br />
# pacman -S openoffice-base openoffice-base-beta openoffice-base-devel go-openoffice<br />
<br />
<br />
===Extension management and spell checking for OpenOffice 3.x===<br />
* see [http://extensions.services.openoffice.org/getmore?cid=920794 OpenOffice Extension site]<br />
* Old openoffice-spell packages are obsolete. <br />
* Spell checking is done via new [http://extensions.services.openoffice.org/dictionary extensions]. There are three ways to install such a extension:<br />
* 1) Use the Extension manager from OOo menu for download and installation - installs only for the user into his ~/.openoffice.org/3/user/uno_packages/cache<br />
* 2) Download the extension and install it using "unopkg add extension" for the user or<br />
* 3) Download the extension and install it using "unopkg add --shared extension" for every user on the system (requires root permission)<br />
* 4) The Arch package is now shipped with some dictionaries and these get deployed automatically. Check Extension manager if your language is already there.<br />
<br />
If spellcheck does not work for you immediately after install, check the directory<br />
/opt/openoffice/share/extension/install<br />
Inside there should be several files called <br />
/opt/openoffice/share/extension/install/dict-<LANG>.oxt<br />
Use the Extension Manager to add your language dictionary; this often enables spellcheck.<br />
<br />
====French dictionary====<br />
As of openoffice 3.0.0-2 the french dictionary is buggy due to a character encoding problem. To solve this problem, first execute the following commands (you'll need '''zip''' and '''unzip''' packages):<br />
$ cp /opt/openoffice/share/extension/install/dict-fr.oxt dict-fr.oxt<br />
$ unzip dict-fr.oxt -d dict-fr<br />
$ cd dict-fr<br />
$ iconv -f ISO-8859-15 -t UTF-8 dictionaries.xcu > dictionaries.xcu.utf<br />
$ mv dictionaries.xcu.utf dictionaries.xcu<br />
$ zip ../dict-fr.oxt *<br />
$ cd ../<br />
$ rm -r dict-fr<br />
then go in the openoffice extension manager (Tools menu) and install the dictionary from the new dict-fr.oxt file.<br />
<br />
===Set OOo environment variable===<br />
OpenOffice2 introduced the ability to use several toolkits for drawing and integrates into different desktop environments in a clean way. To choose by hand, you need to set the OOO_FORCE_DESKTOP environment variable.<br />
<br />
To run OpenOffice.org in GTK2 mode, you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=gnome soffice<br />
To run OpenOffice.org in QT/KDE3 mode, you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=kde soffice<br />
<br />
{{Box Note | As KDE look will be removed in Openoffice3 it is highly recommended to use the GTK mode for all users. }}<br />
<br />
====Configure globally====<br />
To configure the look for anytime OpenOffice gets started, you can export the variable in one of the startup scripts, either system wide or for a specific user. <br />
<br />
Put<br />
export OOO_FORCE_DESKTOP=gnome<br />
in ~/.bashrc, ~/.config/openbox/autostart.sh, or similar to configure for one user. <br />
<br />
For all users, create the file "/etc/profile.d/openoffice.sh", put the export in there, and make the file executable.<br />
# chmod +x /etc/profile.d/openoffice.sh<br />
You could also put the export in /etc/profile directly, or in rc.local, but this is less clean.<br />
<br />
This export is obsolete for all OOo versions >= 3.0.0-2. Since that version the official package ships its own /etc/profile.d/openoffice.sh!<br />
<br />
====Environment variable scripts====<br />
If for whatever reason you don't want to configure the look globaly, as a non-gnome/kde user you may run into problems when trying to add the environment variable to the command in a *box menu, as such menus don't seem to like environment variables.<br />
<br />
This script will run openoffice using the GTK look while still accepting command line options like -writer.<br />
#!/bin/sh<br />
<br />
#### openoffice-gtk - A script to start openoffice with the GNOME/GTK environment<br />
<br />
OOO_FORCE_DESKTOP=gnome /opt/openoffice/program/soffice "$@"<br />
<br />
Just use this script as a command (e.g, /usr/bin/openoffice-gtk) for your menu or whatever other sort of launcher you use.<br />
<br />
{{Box Note | If you open a file in a filemanager, for example Thunar, the default look will be used, as the file association will not use your personal script. }}<br />
<br />
=== KDE4 look & feel for OpenOffice ===<br />
OOO_FORCE_DESKTOP=gnome never did the trick for me. A good workaround is to set (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
into /etc/profile. In KDE4 systemsettings, make sure "use my KDE style in GTK applications" is selected in Appearance > GTK styles and fonts (you must install gtk-qt-engine first).<br />
<br />
=== Adding media support to OpenOffice.org 2 ===<br />
<br />
If you want to be able to use sound and video in OpenOffice.org Impress presentations, you need to install the [[Java Media Framework]] and [[Java_Media_Framework#Adding_media_support_to_OpenOffice.org|configure OpenOffice.org to use it]]<br />
<br />
==Running OpenOffice==<br />
<br />
If you want to run a specific module of OpenOffice.org (instead of the soffice default), for example the word processor (Write), spreadsheet application (Calc) or presentation program (Impress), check for the following script front-ends:<br />
<br />
Writer<br />
/opt/openoffice/program/swriter<br />
<br />
Calc<br />
/opt/openoffice/program/scalc<br />
<br />
Impress<br />
/opt/openoffice/program/simpress<br />
<br />
Math (Formula Editor)<br />
/opt/openoffice/program/smath<br />
<br />
Base (Database frontend)<br />
/opt/openoffice/program/sbase<br />
<br />
Printer Administration (Recommended to run as root)<br />
/opt/openoffice/program/spadmin<br />
<br />
==Known Problems==<br />
* extension handling in versions >=3.0<br />
* qt look'n feel since kde4 release<br />
* Rendering problems with some dark GTK themes and gtk-qt-engine. For a dirty fix, see [http://aur.archlinux.org/packages.php?ID=22383 openoffice-dark-gtk-fix] on the AUR. This also sets OOO_FORCE_DESKTOP=gnome.</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Apache_OpenOffice&diff=68177Apache OpenOffice2009-05-04T13:07:14Z<p>Thepizzaking: /* Introduction */ go-oo is now in extra.</p>
<hr />
<div>[[Category:Office (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|OpenOffice}}<br />
{{i18n_entry|Italiano|OpenOffice_(Italiano)}}<br />
{{i18n_entry|Ελληνικά|OpenOffice (Ελληνικά)}}<br />
{{i18n_entry|简体中文|OpenOffice_(简体中文)}}<br />
{{i18n_entry|Português|OpenOffice_(Português)}}<br />
{{i18n_entry|Türkçe|OpenOffice_(Türkçe)}}<br />
{{i18n_links_end}}<br />
==Introduction==<br />
[http://www.openoffice.org/ OpenOffice.org] is a leading open-source office software suite for word processing, spreadsheets, presentations, graphics, databases and more. <br />
<br />
Arch offers 3 trees of binary packages for OpenOffice with different package names:<br />
<br />
'''openoffice-base'''<br />
<br />
This will always be the last released stable version of OpenOffice. <br><br />
Current version: 3.0.1 <br><br />
start it with "soffice" or from Desktop menu <br><br />
<br />
'''openoffice-base-beta'''<br />
<br />
This package will be only present when a new release is not far away. It will be the alpha, beta, and release candidates packages for the next stable release. <br><br />
Current version: 3.1.0_ooo310_m01 (way to =3.1.0rc1) (versions branched from DEV300_m40 that will lead to next stable 3.1.x release) <br><br />
start it with "soffice-beta" or from Desktop menu <br><br />
It's safe to install it together with the stable and devel version.<br><br />
Please test it carefully and report upstream bugs to OpenOffice and packaging bugs in our flyspray <br><br />
see http://wiki.services.openoffice.org/wiki/OOoRelease31 for roadmap<br />
<br />
'''openoffice-base-devel'''<br />
<br />
This packages will be updated from time to time and is a playground for the packager and for testing latest features. Please test and file upstream issues at http://www.openoffice.org/issues/query.cgi<br><br />
Current version: 3.1_dev300_m41 / snapshot DEV300_m41 (snapshots past branching the 3.1 stable tree that will lead to 3.2 release and beyond) <br><br />
start it with "soffice-dev" or from Desktop menu <br><br />
It's safe to install it together with the stable and beta version<br />
{{Note|If you play with more than one openoffice-base version it's highly recommended to always backup your<br />
configuration directory ~/.openoffice{2,3} !}}<br />
<br />
'''go-oo'''<br />
<br />
In addition, there is a package for go-oo in the extra repository, which includes enhancements and features found in versions of openoffice.org available in Ubuntu, OpenSuSE and other distributions. For users of Arch switching from other distributions go-oo may be more familiar to them.<br />
<br />
==Installation==<br />
* First, install a Java Runtime Environment (optional, highly recommended):<br />
# pacman -S openjdk6 or<br />
# pacman -S jre<br />
* Also, make sure that fonts are installed (otherwise you will see only rectangles):<br />
# pacman -S artwiz-fonts ttf-ms-fonts<br />
* Download the base for stable and/or beta and/or devel:<br />
# pacman -S openoffice-base openoffice-base-beta openoffice-base-devel<br />
<br />
<br />
===Extension management and spell checking for OpenOffice 3.x===<br />
* see [http://extensions.services.openoffice.org/getmore?cid=920794 OpenOffice Extension site]<br />
* Old openoffice-spell packages are obsolete. <br />
* Spell checking is done via new [http://extensions.services.openoffice.org/dictionary extensions]. There are three ways to install such a extension:<br />
* 1) Use the Extension manager from OOo menu for download and installation - installs only for the user into his ~/.openoffice.org/3/user/uno_packages/cache<br />
* 2) Download the extension and install it using "unopkg add extension" for the user or<br />
* 3) Download the extension and install it using "unopkg add --shared extension" for every user on the system (requires root permission)<br />
* 4) The Arch package is now shipped with some dictionaries and these get deployed automatically. Check Extension manager if your language is already there.<br />
<br />
If spellcheck does not work for you immediately after install, check the directory<br />
/opt/openoffice/share/extension/install<br />
Inside there should be several files called <br />
/opt/openoffice/share/extension/install/dict-<LANG>.oxt<br />
Use the Extension Manager to add your language dictionary; this often enables spellcheck.<br />
<br />
====French dictionary====<br />
As of openoffice 3.0.0-2 the french dictionary is buggy due to a character encoding problem. To solve this problem, first execute the following commands (you'll need '''zip''' and '''unzip''' packages):<br />
$ cp /opt/openoffice/share/extension/install/dict-fr.oxt dict-fr.oxt<br />
$ unzip dict-fr.oxt -d dict-fr<br />
$ cd dict-fr<br />
$ iconv -f ISO-8859-15 -t UTF-8 dictionaries.xcu > dictionaries.xcu.utf<br />
$ mv dictionaries.xcu.utf dictionaries.xcu<br />
$ zip ../dict-fr.oxt *<br />
$ cd ../<br />
$ rm -r dict-fr<br />
then go in the openoffice extension manager (Tools menu) and install the dictionary from the new dict-fr.oxt file.<br />
<br />
===Set OOo environment variable===<br />
OpenOffice2 introduced the ability to use several toolkits for drawing and integrates into different desktop environments in a clean way. To choose by hand, you need to set the OOO_FORCE_DESKTOP environment variable.<br />
<br />
To run OpenOffice.org in GTK2 mode, you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=gnome soffice<br />
To run OpenOffice.org in QT/KDE3 mode, you can issue (using bash):<br />
# OOO_FORCE_DESKTOP=kde soffice<br />
<br />
{{Box Note | As KDE look will be removed in Openoffice3 it is highly recommended to use the GTK mode for all users. }}<br />
<br />
====Configure globally====<br />
To configure the look for anytime OpenOffice gets started, you can export the variable in one of the startup scripts, either system wide or for a specific user. <br />
<br />
Put<br />
export OOO_FORCE_DESKTOP=gnome<br />
in ~/.bashrc, ~/.config/openbox/autostart.sh, or similar to configure for one user. <br />
<br />
For all users, create the file "/etc/profile.d/openoffice.sh", put the export in there, and make the file executable.<br />
# chmod +x /etc/profile.d/openoffice.sh<br />
You could also put the export in /etc/profile directly, or in rc.local, but this is less clean.<br />
<br />
This export is obsolete for all OOo versions >= 3.0.0-2. Since that version the official package ships its own /etc/profile.d/openoffice.sh!<br />
<br />
====Environment variable scripts====<br />
If for whatever reason you don't want to configure the look globaly, as a non-gnome/kde user you may run into problems when trying to add the environment variable to the command in a *box menu, as such menus don't seem to like environment variables.<br />
<br />
This script will run openoffice using the GTK look while still accepting command line options like -writer.<br />
#!/bin/sh<br />
<br />
#### openoffice-gtk - A script to start openoffice with the GNOME/GTK environment<br />
<br />
OOO_FORCE_DESKTOP=gnome /opt/openoffice/program/soffice "$@"<br />
<br />
Just use this script as a command (e.g, /usr/bin/openoffice-gtk) for your menu or whatever other sort of launcher you use.<br />
<br />
{{Box Note | If you open a file in a filemanager, for example Thunar, the default look will be used, as the file association will not use your personal script. }}<br />
<br />
=== KDE4 look & feel for OpenOffice ===<br />
OOO_FORCE_DESKTOP=gnome never did the trick for me. A good workaround is to set (as root):<br />
export SAL_GTK_USE_PIXMAPPAINT=1<br />
into /etc/profile. In KDE4 systemsettings, make sure "use my KDE style in GTK applications" is selected in Appearance > GTK styles and fonts (you must install gtk-qt-engine first).<br />
<br />
=== Adding media support to OpenOffice.org 2 ===<br />
<br />
If you want to be able to use sound and video in OpenOffice.org Impress presentations, you need to install the [[Java Media Framework]] and [[Java_Media_Framework#Adding_media_support_to_OpenOffice.org|configure OpenOffice.org to use it]]<br />
<br />
==Running OpenOffice==<br />
<br />
If you want to run a specific module of OpenOffice.org (instead of the soffice default), for example the word processor (Write), spreadsheet application (Calc) or presentation program (Impress), check for the following script front-ends:<br />
<br />
Writer<br />
/opt/openoffice/program/swriter<br />
<br />
Calc<br />
/opt/openoffice/program/scalc<br />
<br />
Impress<br />
/opt/openoffice/program/simpress<br />
<br />
Math (Formula Editor)<br />
/opt/openoffice/program/smath<br />
<br />
Base (Database frontend)<br />
/opt/openoffice/program/sbase<br />
<br />
Printer Administration (Recommended to run as root)<br />
/opt/openoffice/program/spadmin<br />
<br />
==Known Problems==<br />
* extension handling in versions >=3.0<br />
* qt look'n feel since kde4 release<br />
* Rendering problems with some dark GTK themes and gtk-qt-engine. For a dirty fix, see [http://aur.archlinux.org/packages.php?ID=22383 openoffice-dark-gtk-fix] on the AUR. This also sets OOO_FORCE_DESKTOP=gnome.</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=55384Create an Ext4 Partition2008-12-14T02:51:33Z<p>Thepizzaking: /* Within Arch Linux */ Oops, only needed if migrating from ext3, sorry</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
==From Arch Linux Live CD==<br />
# Boot from the Arch Linux Live CD or USB stick<br />
# Setup your networking<br />
# Install e2fsprogs: <pre># pacman -Sy e2fsprogs</pre><br />
# Copy /etc/mke2fs.conf.pacnew to /etc/mke2fs.conf<br />
# Partition your hard drive, make sure to include room for a boot partition. Grub-legacy which arch uses by default, does not have support to boot from an ext4 partition. For i686 users, you may be able to use [http://aur.archlinux.org/packages.php?ID=15058 grub2 from AUR], to boot with ext4. <br />
# Make an ext3 boot partition <pre># mkfs.ext3 -m 0 /dev/sdx1</pre> <code>-m</code> specifics the percentage to reserve for root<br />
# Make ext4 partitions <pre># mkfs.ext4dev /dev/sdxY</pre> add the <code>-m</code> option to specify how much space you would like reserved for root; default is 5% of the partition's size!<br />
# Mount the drives <pre># mount /dev/sdxY /mnt/NewlyFormatedDrive</pre><br />
# Copy all files to new drive<br />
# Install Grub to the MBR (See Below)<br />
# Edit fstab and change filesystem type to ext4dev (if you're running a 2.6.28 kernel, you can change the filesystem type to ext4)<br />
# Reboot + Enjoy<br />
<br />
===Installing Grub===<br />
# Make a folder where we can mount our partitions: <pre># mkdir /mnt/arch</pre><br />
# Mount the root partition ''first'': <pre># mount /dev/sda2 /mnt/arch</pre><br />
# Mount the boot partition: <pre># mount /dev/sda1 /mnt/arch/boot</pre><br />
# Mount all other drives<br />
# Mount the proc file system (so we can chroot and install GRUB): <pre># mount -t proc none /mnt/arch/proc</pre><br />
# Mount the dev file system (so we can chroot and install GRUB): <pre># mount -o bind /dev /mnt/arch/dev</pre><br />
# <code>chroot</code> into our Arch install: <pre># chroot /mnt/arch /bin/bash</pre><br />
# Install GRUB: <pre># grub-install /dev/sda</pre><br />
<br />
==Within Arch Linux==<br />
# Make sure you have the latest version of e2fsprogs<br />
# Format the drive <pre># mkfs.ext4dev /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4dev</code></div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Create_an_Ext4_Partition&diff=55383Create an Ext4 Partition2008-12-14T02:48:39Z<p>Thepizzaking: /* Within Arch Linux */ Add another step, the ext4 filesystem must have the test flag set to mount</p>
<hr />
<div>[[Category:HOWTOs (English)]]<br />
<br />
==From Arch Linux Live CD==<br />
# Boot from the Arch Linux Live CD or USB stick<br />
# Setup your networking<br />
# Install e2fsprogs: <pre># pacman -Sy e2fsprogs</pre><br />
# Copy /etc/mke2fs.conf.pacnew to /etc/mke2fs.conf<br />
# Partition your hard drive, make sure to include room for a boot partition. Grub-legacy which arch uses by default, does not have support to boot from an ext4 partition. For i686 users, you may be able to use [http://aur.archlinux.org/packages.php?ID=15058 grub2 from AUR], to boot with ext4. <br />
# Make an ext3 boot partition <pre># mkfs.ext3 -m 0 /dev/sdx1</pre> <code>-m</code> specifics the percentage to reserve for root<br />
# Make ext4 partitions <pre># mkfs.ext4dev /dev/sdxY</pre> add the <code>-m</code> option to specify how much space you would like reserved for root; default is 5% of the partition's size!<br />
# Mount the drives <pre># mount /dev/sdxY /mnt/NewlyFormatedDrive</pre><br />
# Copy all files to new drive<br />
# Install Grub to the MBR (See Below)<br />
# Edit fstab and change filesystem type to ext4dev (if you're running a 2.6.28 kernel, you can change the filesystem type to ext4)<br />
# Reboot + Enjoy<br />
<br />
===Installing Grub===<br />
# Make a folder where we can mount our partitions: <pre># mkdir /mnt/arch</pre><br />
# Mount the root partition ''first'': <pre># mount /dev/sda2 /mnt/arch</pre><br />
# Mount the boot partition: <pre># mount /dev/sda1 /mnt/arch/boot</pre><br />
# Mount all other drives<br />
# Mount the proc file system (so we can chroot and install GRUB): <pre># mount -t proc none /mnt/arch/proc</pre><br />
# Mount the dev file system (so we can chroot and install GRUB): <pre># mount -o bind /dev /mnt/arch/dev</pre><br />
# <code>chroot</code> into our Arch install: <pre># chroot /mnt/arch /bin/bash</pre><br />
# Install GRUB: <pre># grub-install /dev/sda</pre><br />
<br />
==Within Arch Linux==<br />
# Make sure you have the latest version of e2fsprogs<br />
# Format the drive <pre># mkfs.ext4dev /dev/sdxY</pre> pass <code>-m X</code> to declare how much space you want reserved for root (the default is 5%)<br />
# Set the test filesystem flag <pre># tune2fs -E test_fs /dev/sdxY</pre><br />
# Mount the drive<br />
# Add entry to fstab, using the filesystem type <code>ext4dev</code></div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Mirrors&diff=53944Mirrors2008-11-22T03:51:10Z<p>Thepizzaking: /* Unofficial mirrors */ internode net is in the official mirrors list.</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|:Mirrors}}<br />
{{i18n_entry|简体中文|:Mirrors (简体中文)}}<br />
{{i18n_links_end}}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Enabling your favorite mirror ==<br />
<br />
The default pacman configuration for ''core'' looks like this:<br />
<br />
[core]<br />
Include = /etc/pacman.d/mirrorlist<br />
<br />
If you want to use the HostEurope mirror as your default mirror, just add it before the <tt>Include</tt> line:<br />
<br />
[core]<br />
Server = <nowiki>ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/core/os/i686</nowiki><br />
Include = /etc/pacman.d/mirrorlist<br />
<br><br />
'''edit:''' The release of pacman 3.1 introduced the /etc/pacman.d/mirrorlist with the variable $repo, no need to maintain separate list for each repository.<br />
<br />
Pacman will now try to connect to this mirror first. You can do the same for ''testing'', ''extra'', ''community'' and ''unstable''.<br />
<br />
'''Use the same mirror for all repositories. Otherwise packages may get installed that are incompatible to each other (like kernel26 from ''core'' and another (older) kernel module from ''extra'').'''<br />
<br />
== Mirror List ==<br />
<br />
This is a list of all known Arch Linux mirrors, that's more up to date than the [http://www.archlinux.org/download/ official download page] or the [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/base/pacman/ files in <tt>/etc/pacman.d/</tt>]. If you know of a mirror that is not listed, please add it. Mirrors which are no longer updated or have been unavailable for a long time can be deleted.<br />
<br />
Here is a hint to check just how up-to-date your chosen mirror is:<br />
# pick a server and browse to "extra/os/"<br />
# load http://www.archlinux.org/ in another tab or window<br />
# compare the last-modified date of the "i686" directory on the mirror to the "Extra" date on the homepage, in the "Package Repositories" box to the right.<br />
<br><br />
Many sites also provide http service, but keep in mind that pacman relies on ftp to determine if a repository got updated. With http it fetches the repository database each time you run <tt>pacman -Sy</tt>, even if it didn't change since the last run.<br />
<br />
[http://users.archlinux.de/~gerbra/mirrorcheck.html This website] provides updates on the current status of the Arch mirrors and how up to date they are.<br />
<br />
'''Attention: Do not add new mirrors to the list below. If you want your mirror to be added to official list - file a feature request. In the meantime add it to the "Unofficial mirrors" list at the end of this page.'''<br />
<br />
=== Australia ===<br />
*http://mirror.aarnet.edu.au/pub/archlinux/ <sub>[http://mirror.aarnet.edu.au/pub/archlinux/ http]</sub> <sub>[rsync://mirror.aarnet.au/pub/archlinux/]</sub><br />
*http://mirror.optus.com.au/pub/archlinux/ <sub>[http://mirror.optus.com.au/pub/archlinux/ http]</sub> <sub>[rsync://mirror.optus.com.au/pub/archlinux/]</sub><br />
*http://ftp.iinet.net.au/pub/archlinux/ <sub>[http://ftp.iinet.net.au/pub/archlinux/ http]</sub> <sub>[rsync://ftp.iinet.net.au/archlinux/]</sub><br />
*http://mirror.pacific.net.au/linux/archlinux/ <sub>[http://mirror.pacific.net.au/linux/archlinux/ http]</sub> <sub>[rsync://mirror.pacific.net.au/linux/archlinux/]</sub><br />
*http://mirror.internode.on.net/pub/archlinux/ <sub>[http://mirror.internode.on.net/pub/archlinux/ http]</sub> <sub>[rsync://mirror.internode.on.net/pub/archlinux/]</sub><br />
<br />
=== Austria ===<br />
*ftp://gd.tuwien.ac.at/opsys/linux/archlinux/ <sub>[http://gd.tuwien.ac.at/opsys/linux/archlinux/ http]</sub><br />
<br />
=== Belgium ===<br />
*ftp://ftp.belnet.be/mirror/archlinux.org/ <sub>[http://ftp.belnet.be/mirror/archlinux.org/ http]</sub><br />
<br />
=== Brazil ===<br />
*ftp://archlinux.c3sl.ufpr.br/archlinux/ <sub>[http://archlinux.c3sl.ufpr.br/ http]</sub><br />
*ftp://ftp.las.ic.unicamp.br/pub/archlinux <sub>[http://www.las.ic.unicamp.br/pub/archlinux http]</sub> <sub>[rsync://rsync.las.ic.unicamp.br/archlinux rsync]</sub><br />
<br />
=== Canada ===<br />
*ftp://mirror.csclub.uwaterloo.ca/archlinux/ <sub>[http://mirror.csclub.uwaterloo.ca/archlinux/ http]</sub> <sub>[rsync://mirror.csclub.uwaterloo.ca/archlinux/ rsync]</sub><br />
*ftp://mirrors.portafixe.com/archlinux/ <sub>[http://mirrors.portafixe.com/archlinux/ http]</sub><br />
<br />
=== Czech Republic ===<br />
*ftp://ftp.sh.cvut.cz/MIRRORS/arch/ <sub>[http://ftp.sh.cvut.cz/MIRRORS/arch/ http]</sub><br />
<br />
=== Estonia ===<br />
*ftp://ftp.estpak.ee/pub/archlinux/ <sub>[http://ftp.estpak.ee/pub/archlinux/ http]</sub><br />
<br />
=== France ===<br />
*ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/ <sub>[http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/ http]</sub> <sub>[rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/ rsync]</sub><br />
*ftp://mir1.archlinuxfr.org/archlinux <sub>[http://mir1.archlinuxfr.org/archlinux http]</sub> <sub>[rsync://mir1.archlinuxfr.org/archlinux rsync]</sub><br />
*ftp://mir2.archlinuxfr.org/archlinux <sub>[http://mir2.archlinuxfr.org/archlinux http]</sub> <sub>[rsync://mir2.archlinuxfr.org/archlinux rsync]</sub><br />
*http://mir.archlinux.fr/<br />
*ftp://ftp.free.fr/mirrors/ftp.archlinux.org/<br />
*ftp://ftp.rez-gif.supelec.fr/Linux/archlinux/<br />
=== Germany ===<br />
*ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/ <sub>[http://ftp-stud.hs-esslingen.de/pub/Mirrors/archlinux/ http]</sub> <sub>[rsync://ftp-stud.hs-esslingen.de/archlinux/ rsync]</sub><br />
*ftp://ftp5.gwdg.de/pub/linux/archlinux/ <sub>[http://ftp5.gwdg.de/pub/linux/archlinux/ http]</sub> <sub>[rsync://ftp5.gwdg.de/pub/linux/archlinux/ rsync]</sub><br />
*ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/ <sub>[http://ftp.hosteurope.de/mirror/ftp.archlinux.org/ http]</sub><br />
*ftp://ftp.tu-chemnitz.de/pub/linux/archlinux/ <sub>[http://ftp.tu-chemnitz.de/pub/linux/archlinux/ http]</sub><br />
*ftp://ftp.archlinuxppc.org/i686/<br />
*ftp://ftp.uni-kl.de/pub/linux/archlinux/ <sub>[http://ftp.uni-kl.de/pub/linux/archlinux/ http]</sub> <sub>[rsync: ftp.uni-kl.de::pub/linux/archlinux/ rsync]</sub><br />
*ftp://ftp.uni-bayreuth.de/pub/linux/archlinux <sub>[http://ftp.uni-bayreuth.de/linux/archlinux http]</sub> <sub>[rsync://rsync.uni-bayreuth.de/archlinux/ rsync]</sub><br />
*http://mirrors.igprolin-online.org/pub/archlinux<br />
<br />
=== Great Britain ===<br />
*http://www.mirrorservice.org/sites/ftp.archlinux.org/<br />
*ftp://mirrors.uk2.net/pub/archlinux/ <sub>[http://archlinux.mirrors.uk2.net/ http]</sub><br />
<br />
=== Greece ===<br />
*ftp://ftp.ntua.gr/pub/linux/archlinux/ <sub>[http://ftp.ntua.gr/pub/linux/archlinux/ http]</sub><br />
<br />
=== Hungary ===<br />
*ftp://ftp.mfa.kfki.hu/pub/mirrors/ftp.archlinux.org/<br />
<br />
=== Ireland ===<br />
*ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/ <sub>[http://ftp.heanet.ie/mirrors/ftp.archlinux.org/ http]</sub><br />
<br />
=== Indonesia ===<br />
*ftp://archlinux.cbn.net.id/pub/archlinux/ <sub>[http://archlinux.cbn.net.id/ http]</sub><br />
<br />
=== Israel ===<br />
*http://mirror.isoc.org.il/pub/archlinux/<br />
<br />
=== Italy ===<br />
*ftp://mi.mirror.garr.it/mirrors/archlinux/ <sub>[http://mi.mirror.garr.it/mirrors/archlinux/ http]</sub><br />
<br />
=== Netherlands ===<br />
*ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/ <sub>[http://ftp.nluug.nl/pub/metalab/distributions/archlinux/ http]</sub><br />
*ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/ <sub>[http://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/ http]</sub><br />
<br />
=== Norway ===<br />
* http://mirror.archlinux.no/ <sub>[ftp://mirror.archlinux.no/ ftp]</sub>(rsync available)<br />
<br />
=== Poland ===<br />
*ftp://mirror.icis.pcz.pl/archlinux/<br />
*ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.archlinux.org/ [http://piotrkosoft.net/pub/mirrors/ftp.archlinux.org/ http]<br />
*http://unix.net.pl/archlinux.org/<br />
<br />
=== Portugal ===<br />
*ftp://cesium.di.uminho.pt/pub/archlinux/ <sub>[http://cesium.di.uminho.pt/pub/archlinux/ http]</sub><br />
<br />
=== Romania ===<br />
*ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/ <sub>[http://ftp.iasi.roedu.net/mirrors/archlinux.org/ http]</sub><br />
<br />
=== Russia ===<br />
*ftp://mirror.yandex.ru/archlinux/ <sub>[http://mirror.yandex.ru/archlinux/ http]</sub> (rsync available)<br />
*http://archlinux.freeside.ru/<br />
<br />
=== Sweden ===<br />
*ftp://ftp.ds.hj.se/pub/os/linux/archlinux/ <sub>[http://ftp.ds.hj.se/pub/os/linux/archlinux/ http]</sub><br />
*ftp://ftp.gigabit.nu/ <sub>[http://ftp.gigabit.nu/ http]</sub><br />
<br />
=== Switzerland ===<br />
*ftp://archlinux.puzzle.ch/ <sub>[http://archlinux.puzzle.ch/ http]</sub><br />
<br />
=== Turkey ===<br />
*http://server.elsistech.com/archlinux/<br />
*ftp://ftp.linux.org.tr/<br />
<br />
=== Ukraine ===<br />
*ftp://archlinux.hell.org.ua/archlinux/ <sub>[http://archlinux.hell.org.ua/archlinux http]</sub>(rsync available)<br />
*ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/ <sub>[http://ftp.linux.kiev.ua/pub/Linux/ArchLinux/ http]</sub><br />
<br />
=== United States ===<br />
*ftp://ftp.archlinux.org/<br />
*ftp://locke.suu.edu/linux/dist/archlinux/<br />
*http://archlinux.unixheads.org/<br />
*ftp://mirrors.easynews.com/linux/archlinux/ <sub>[http://mirrors.easynews.com/linux/archlinux/ http]</sub><br />
*ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/ [http://www.gtlib.gatech.edu/pub/linux/distributions/archlinux/ http]<br />
*ftp://mirror.cs.vt.edu/pub/ArchLinux/ <sub>[http://mirror.cs.vt.edu/pub/ArchLinux/ http]</sub> (rsync available)<br />
*ftp://ibiblio.org/pub/linux/distributions/archlinux/ <sub>[http://distro.ibiblio.org/pub/linux/distributions/archlinux/ http]</sub><br />
*http://archlinux.umflint.edu/<br />
*http://mirror.neotuli.net/<br />
*ftp://mirror.rit.edu/archlinux/ <sub>[http://mirror.rit.edu/archlinux/ http]</sub> <sub>[rsync://mirror.rit.edu/archlinux/ rsync]</sub><br />
* http://schlunix.org/archlinux/<br />
* http://mirror.umoss.org/archlinux/ <sub>[rsync://mirror.umoss.org/archlinux/ rsync]</sub><br />
<br />
=== Vietnam ===<br />
*ftp://ftp.indochinalinux.com/archlinux/ (frequent DNS problems, IP is 202.78.230.5)<br />
<br />
== Unofficial mirrors ==<br />
'''These mirrors are not listed in <code>/etc/pacman.d/mirrorlist</code>.'''<br />
<br />
=== Global ===<br />
* http://prdownloads.sourceforge.net/archlinux/ ( Doesn't have recent ISO releases. Use it only if for some reason you want to use an older ISO. )<br />
* http://mirrors.igprolin-online.org/pub/archlinux/<br />
<br />
=== Canada ===<br />
* http://mirrors.portafixe.com/archlinux/<br />
* ftp://mirrors.portafixe.com/archlinux/<br />
<br />
=== China ===<br />
* http://mirrors.lcuc.org.cn/archlinux/<br />
* http://mirror.lupaworld.com/archlinux/<br />
* http://public.gooth.cn/archlinux/ (only include i686)<br />
<br />
=== Germany ===<br />
* http://arch.uplinkzero.com/<br />
<br />
=== Malaysia ===<br />
* http://oss.mmu.edu.my/distro/arch (ISOs only)<br />
* http://mirror.oscc.org.my/archlinux/<br />
<br />
=== Norway ===<br />
* ftp://jane.tihlde.org/pub/archlinux/ <sub>[http://jane.tihlde.org/pub/archlinux/ http] </sub> <sub> [rsync://jane.tihlde.org/pub/archlinux/ rsync] </sub><br />
* http://power.klette.us/mirror/<br />
<br />
=== Poland ===<br />
* ftp://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ [http://ftp.icm.edu.pl/pub/Linux/sunsite/distributions/archlinux/ http] - up-to-date, but no Core repository<br />
<br />
=== Taiwan ===<br />
* ftp://cle.linux.org.tw/pub/ArchLinux/ (no ''testing'', no new isos)<br />
<br />
=== United States ===<br />
* ftp://ftp.osuosl.org/pub/archlinux/ <sub>[http://ftp.osuosl.org/pub/archlinux/ http]</sub> (i686 only - ''current'' and ''extra'') - outdated<br />
<br />
== IPv6-ready mirrors ==<br />
*http://power.klette.us/mirror/ (Norway)<br />
*http://arch.iskrembilen.com/ (Norway, rsync available)<br />
*niue.belnet.be (Belgium)<br />
*ftp.estpak.ee (Estonia)<br />
*patroklos.noc.ntua.gr (Greece)<br />
*ftp.heanet.ie (Ireland)<br />
*ftp.nluug.nl (Netherlands)<br />
*ftp.surfnet.nl (Netherlands)<br />
*ftp.sixnix.net/ftp6.sixnix.net (Finland) - dead</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Mirrors&diff=27711Mirrors2007-08-11T09:26:55Z<p>Thepizzaking: /* Australia */ - Add a mirror (aarnet)</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:HOWTOs (English)]]<br />
== Enabling your favorite mirror ==<br />
<br />
The default pacman configuration for ''current'' looks like this:<br />
<br />
[current]<br />
Include = /etc/pacman.d/current<br />
<br />
If you want to use the HostEurope mirror as your default mirror, just add it before the <tt>Include</tt> line:<br />
<br />
[current]<br />
Server = <nowiki>ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/current/os/i686</nowiki><br />
Include = /etc/pacman.d/current<br />
<br />
Pacman will now try to connect to this mirror first. You can do the same for ''testing'', ''extra'', ''community'' and ''unstable''.<br />
<br />
'''Use the same mirror for all repositories. Otherwise packages may get installed that are incompatible to each other (like kernel26 from ''current'' and another (older) kernel module from ''extra'').'''<br />
<br />
== Mirror List ==<br />
<br />
This is a list of all known ArchLinux mirrors, that's more up to date than the [http://www.archlinux.org/download/ official download page] or the [http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/base/pacman/ files in <tt>/etc/pacman.d/</tt>]. If you know of a mirror that is not listed, please add it. Mirrors which are no longer updated or have been unavailable for a long time can be deleted.<br />
<br />
Here is a hint to check just how up-to-date your chosen mirror is:<br />
# pick a server and browse to "extra/os/"<br />
# load [http://www.archlinux.org/ ArchLinux.org] in another tab or window<br />
# compare the last-modified date of the "i686" directory on the mirror to the "Extra" date on the homepage, in the "Package Repositories" box to the right.<br />
<br><br />
Many sites also provide http service, but keep in mind that pacman relies on ftp to determine if a repository got updated. With http it fetches the repository database each time you run <tt>pacman -Sy</tt>, even if it didn't change since the last run.<br />
<br />
=== Global ===<br />
*http://prdownloads.sourceforge.net/archlinux/ (ISO only, no 0.7.2 yet)<br />
<br />
=== Australia ===<br />
*ftp://mirror.pacific.net.au/linux/archlinux/ <sub>[http://mirror.pacific.net.au/pub1/linux/archlinux/ http]</sub><br />
*ftp://mirror.aarnet.edu.au/pub/archlinux/ <sub>[http://mirror.aarnet.edu.au/pub/archlinux/ http]</sub><br />
<br />
=== Austria ===<br />
*ftp://gd.tuwien.ac.at/opsys/linux/archlinux/ <sub>[http://gd.tuwien.ac.at/opsys/linux/archlinux/ http]</sub><br />
<br />
=== Belgium ===<br />
*ftp://ftp.belnet.be/packages/archlinux/ <sub>[http://ftp.belnet.be/packages/archlinux/ http]</sub><br />
<br />
=== Brazil ===<br />
*ftp://archlinux.c3sl.ufpr.br/archlinux/ <sub>[ftp://archlinux.c3sl.ufpr.br/archlinux/ ftp]</sub><br />
*http://archlinux.c3sl.ufpr.br/ <sub>[http://archlinux.c3sl.ufpr.br/ http]</sub><br />
<br />
=== Bulgaria ===<br />
*ftp://ftp.logos-bg.net/archlinux/ <sub>[http://ftp.logos-bg.net/archlinux/ http]</sub> (without ISO, ''community'', ''testing'', ''unstable'')<br />
<br />
=== China ===<br />
*http://mirror.vmmatrix.net/ArchLinux/<br />
*http://dxmirror.vmmatrix.net/ArchLinux/<br />
*http://cncmirror.vmmatrix.net/ArchLinux/<br />
<br />
=== Czech Republic ===<br />
*ftp://ftp.sh.cvut.cz/MIRRORS/arch/ <sub>[http://ftp.sh.cvut.cz/MIRRORS/arch/ http]</sub><br />
<br />
=== Estonia ===<br />
*ftp://ftp.estpak.ee/pub/archlinux/ <sub>[http://ftp.estpak.ee/pub/archlinux/ http]</sub><br />
<br />
=== Finland ===<br />
*ftp://ftp.sixnix.net/pub/archlinux/<br />
<br />
=== France ===<br />
* ftp://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/ <sub>[http://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/ http]</sub> <sub>[rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/archlinux/ rsync]</sub><br />
* ftp://mir1.archlinuxfr.org/archlinux <sub>[http://mir1.archlinuxfr.org/archlinux http]</sub> <sub>[rsync://mir1.archlinuxfr.org/archlinux rsync]</sub><br />
* ftp://mir2.archlinuxfr.org/archlinux <sub>[http://mir2.archlinuxfr.org/archlinux http]</sub> <sub>[rsync://mir2.archlinuxfr.org/archlinux rsync]</sub><br />
* http://mirrors.jakimowicz.com/archlinux<br />
<br />
=== Germany ===<br />
*ftp://ftp.hosteurope.de/mirror/ftp.archlinux.org/ <sub>[http://ftp.hosteurope.de/mirror/ftp.archlinux.org/ http]</sub><br />
*ftp://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/ <sub>[http://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/ http]</sub><br />
*http://mirror.archlinux.de/<br />
<br />
=== Great Britain ===<br />
*http://ftp.parrswood.manchester.sch.uk/Mirrors/ftp.archlinux.org/<br />
<br />
=== Greece ===<br />
*ftp://ftp.ntua.gr/pub/linux/archlinux/ <sub>[http://ftp.ntua.gr/pub/linux/archlinux/ http]</sub><br />
<br />
=== Ireland ===<br />
*ftp://ftp.heanet.ie/mirrors/ftp.archlinux.org/ <sub>[http://ftp.heanet.ie/mirrors/ftp.archlinux.org/ http]</sub><br />
<br />
=== Israel ===<br />
*http://mirror.isoc.org.il/pub/archlinux/<br />
<br />
=== Italy ===<br />
*ftp://mi.mirror.garr.it/mirrors/archlinux/ <sub>[http://mi.mirror.garr.it/mirrors/archlinux/ http]</sub><br />
<br />
=== Malaysia ===<br />
*http://mymirror.asiaosc.org/archlinux-distro/ (without ISO, ''community'', ''testing'', ''unstable'')<br />
<br />
=== Netherlands ===<br />
*ftp://ftp.nluug.nl/pub/metalab/distributions/archlinux/ <sub>[http://ftp.nluug.nl/pub/metalab/distributions/archlinux/ http]</sub><br />
*ftp://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/ <sub>[http://ftp.surfnet.nl/pub/os/Linux/distr/archlinux/ http]</sub><br />
<br />
=== Norway ===<br />
*ftp://mirror.groovemovement.net/archlinux <br />
*ftp://jane.tihlde.org/pub/archlinux <sub>[http://jane.tihlde.org/pub/archlinux/ http]</sub><br />
<br />
=== Poland ===<br />
*ftp://sunsite.icm.edu.pl/site/linux-sunsite/distributions/archlinux/ (no ''testing'')<br />
*ftp://mirror.icis.pcz.pl/archlinux/<br />
<br />
=== Portugal ===<br />
*ftp://gul.est.ips.pt/repos/archlinux/ <sub>[http://gul.est.ips.pt/ftp/repos/archlinux/ http]</sub><br />
*ftp://cesium.di.uminho.pt/pub/archlinux/ <sub>[http://cesium.di.uminho.pt/pub/archlinux/ http]</sub><br />
*ftp://darkstar.ist.utl.pt/pub/archlinux/ <sub>[http://darkstar.ist.utl.pt/archlinux/ http]</sub><br />
<br />
=== Romania ===<br />
*ftp://ftp.iasi.roedu.net/mirrors/archlinux.org/ <sub>[http://ftp.iasi.roedu.net/mirrors/archlinux.org/ http]</sub><br />
<br />
=== Russia ===<br />
*http://archlinux.freeside.ru/ (''current'',''community'', ''extra'' only)<br />
<br />
=== Sweden ===<br />
*ftp://ftp.ds.hj.se/pub/os/linux/archlinux/ <sub>[http://ftp.ds.hj.se/pub/os/linux/archlinux/ http]</sub><br />
*ftp://ftp.gigabit.nu/ <sub>[http://ftp.gigabit.nu/ http]</sub><br />
<br />
=== Switzerland ===<br />
*ftp://archlinux.puzzle.ch/ <sub>[http://archlinux.puzzle.ch/ http]</sub><br />
<br />
=== Taiwan ===<br />
*ftp://cle.linux.org.tw/pub/ArchLinux/ (no ''community'', ''testing'', ''unstable'')<br />
<br />
=== Turkey ===<br />
*ftp://ftp.linux.org.tr/pub/archlinux/<br />
<br />
=== Ukraine ===<br />
*ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/<br />
<br />
=== United States ===<br />
*ftp://mirrors.unixheads.org/archlinux <sub>[http://mirrors.unixheads.org/archlinux http]</sub> (rsync available)<br />
*http://mirrors.easynews.com/linux/archlinux/<br />
*ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/ <sub>[http://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/ http]</sub><br />
*ftp://mirror.cs.vt.edu/pub/ArchLinux/ <sub>[http://mirror.cs.vt.edu/pub/ArchLinux/ http]</sub><br />
*ftp://ibiblio.org/pub/linux/distributions/archlinux/ <sub>[http://distro.ibiblio.org/pub/linux/distributions/archlinux/ http]</sub><br />
*ftp://locke.suu.edu/linux/dist/archlinux/<br />
*ftp://ftp.osuosl.org/pub/archlinux/ <sub>[http://ftp.osuosl.org/pub/archlinux/ http]</sub> (i686 only -- current and extra)<br />
<br />
== IPv6-ready mirrors ==<br />
Some shell scripting resulted in the following list:<br />
*niue.belnet.be has IPv6 address 2001:6a8:3c80:0:203:baff:fe39:f931<br />
*ftp.estpak.ee has IPv6 address 2001:7d0:0:1:216:35ff:fe9f:946<br />
*patroklos.noc.ntua.gr has IPv6 address 2001:648:2000:de::211 &mdash; this one doesn't ping for me.<br />
*ftp.heanet.ie has IPv6 address 2001:770:18:aa40::c101:c140<br />
*ftp.nluug.nl has IPv6 address 2001:610:1:80aa:192:87:102:36<br />
*ftp.surfnet.nl has IPv6 address 2001:610:1:80aa:192:87:102:34</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Kernel_Patches_and_Patchsets&diff=24922Kernel Patches and Patchsets2007-05-27T10:35:07Z<p>Thepizzaking: /* -beyond */ - note about discontinued</p>
<hr />
<div>[[Category:Arch kernels (English)]]<br />
[[Category:Development (English)]]<br />
[[Category:Tutorials (English)]]<br />
<br />
=== Using popular patches and patchsets - contributions '''greatly''' appreciated!===<br />
<br />
The number of posts on the forums about kernel patches and patchsets has been steadily increasing, prompting the drafting of this document which aims to be a definitive guide. It seems it would also be useful to reduce the need for every wiki to include a kernel patch howto!<br />
<br />
There are lots of reasons to patch you kernel, the major ones are for performance or support for non-mainline features such as reiser4 file system support. Other reasons might include fun and to see how it is done and what the improvements are.<br />
<br />
However, it is important to note that the best way to increase the speed of your system is to first tailor your kernel to your system, especially the architecture and processor type. For this reason using pre-packaged versions of custom kernels with generic architecture settings is not recommended or really worth it. A further benefit is that you can reduce the size of your kernel (and therefore build time) by not including support for things you don't have or use. For example, I always start with the stock kernel config when a new kernel version is released and I remove support for things like bluetooth, video4linux, 1000Mbit ethernet, etc. Stuff '''I''' know I won't use '''before''' i build my next kernel! However, this page is not about customizing your kernel config but I would recommend that as a first step to be combined with a patchset later.<br />
<br />
'''PLEASE NOTE - most patchsets have a disclaimer attached to them - this is for good reason!'''<br />
<br />
This document attempts to cover:<br />
* How to install the patched kernels<br />
* What the patchsets do and where to get them<br />
<br />
==== How to install them====<br />
<br />
This is very easy ''if'' you have used abs and <code>makepkg</code> before, and easiest with the latest kernels. If you haven't built any custom packages yet you may like to leave this till after you have some experience. See also: [[ABS - The Arch Build System]] and [[The Arch package making HOW-TO - with guidelines]]<br />
<br />
If you haven't actually patched or customized a kernel before it is not that hard and there are many PKGBUILDS on the forum for individual patchsets. However, I would advise you to start from scratch with a bit of research on the benefits of each patchset rather than jumping on the nearest bandwagon! This way you'll learn much more about what you are doing rather than just choosing a kernel at startup and wondering what it actually does.<br />
<br />
The following wiki pages have also been written to aid the process of building a kernel with ABS:<br />
<br />
* [[Custom Kernel Compilation with ABS]] - this has been written especially to account for the variables used when patching the latest kernel versions, using the standard kernel versioning variables - a special patch version is also available<br />
<br />
See also:<br />
* [[Kernel Compilation]]<br />
* [[Kernel_Compilation_With_ABS_(2.6.8_or_Earlier)]]<br />
<br />
==== NOTE on compile times - please add to this!====<br />
<br />
You might be wondering how long it takes to build a kernel. As I already said that depends on the size (i.e. what drivers are included) but also on your hardware (CPU, RAM) and (ironically) which kernel you are already running!<br />
<br />
;DibbleTheWrecker<br />
:approx 1h - P3M 1Ghz<br />
;Mith<br />
:approx 20min - AMD AthlonXP2200+<br />
;RedShift<br />
:approx <10 min - AMD Athlon64 3500+/ 1 GB RAM<br />
:approx 50 min - Pentium III 1 Ghz / 512 MB RAM<br />
:approx 30 min - Dual Pentium III 866 Mhz / 1 GB RAM<br />
;Me (iphitus?)<br />
:approx 15 min - AMD AthlonXP2000+ / 512 MB RAM<br />
;hellwoofa<br />
:approx 15 min (1st run) / 6 min (2nd) - AMD AthlonXP3000+ / 512 MB RAM and [[Faster compiling and makepkg with ccache HOWTO|ccache]]<br />
<br />
=== Major patchsets===<br />
<br />
First of all it is important to note that patchsets are developed by a variety of people. Some of these people are actually involved in the production of the linux kernel and others are hobbyists - this ''should'' be considered to reflect a level of reliability and stability!<br />
<br />
It is also worth noting that some patchsets are built on the back of other patchsets (which may or may not be reflected in the title of the patch). Patchsets (and kernel updates) can be released '''very''' frequently and often it is not worth keeping up with ALL of them so don't go crazy, unless you make it your hobby!<br />
<br />
You can search google for more sets - remember to use quotes <code>"-nitro"</code> for example otherwise google will deliberately '''NOT''' show the results you want!<br />
<br />
Could people please add their experiences and comments about different patchsets below esp. re: stability (crashes), reliability (fixes) and performance.<br />
<br />
NOTE - this section is for '''information only''' - clearly no guarantees of stability or reliability are implied by inclusion on this page.<br />
<br />
<br />
==== -beyond====<br />
Beyond is a patchset based on the CK patchset. Beyond aims to include a variety of popular features and updates that have not yet made it to the vanilla kernel, while remaining relatively stable. Con Kolivas' CK patchset is the most important part of Beyond, as it provides the great interactivity and responsiveness improvements. <br />
<br />
website: http://iphitus.loudas.com/beyond.html<br />
<br />
Note: The beyond patchset development has been discontinued and is therefore not available in any Arch repositories.<br />
<br />
==== -ck====<br />
<br />
These are patches designed to improve system responsiveness with specific emphasis on the desktop, but suitable to any workload. The patches are created and maintained by Con Kolivas, his site is at http://members.optusnet.com.au/ckolivas/kernel/. Con maintains a full set but also provides the patches broken down so you can add only those you prefer.<br />
<br />
The -ck patches can be found at http://ck.kolivas.org/patches/2.6/<br />
<br />
==== -grsecurity====<br />
<br />
Grsecurity is a security focused patchset. It adds numerous security related features such as Role-Based Access Control and utilizes features of the PaX project. It can be used on a desktop but a public server would receive the greatest benefit. Some applications are incompatible with the additional security measures implemented by this patchset. If this occurs, consider using a lower security level.<br />
<br />
The -grsecurity patches can be found at http://grsecurity.net<br />
<br />
==== -mm====<br />
<br />
A patchset so popular that it even has prebuilt Arch pkgs in the extra repo but that shouldn't stop you from playing with it yourself! This patchset is maintained by [http://www.zip.com.au/~akpm/ Andrew Morton] and aims to increase the stability and performance of the Linux kernel. He aims to introduce bug fixes more quickly than mainline kernel and offers increased speed through a new disk I/O scheduler and realtime computing modifications, plus more.<br />
<br />
The -mm patches can be found at ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/<br />
<br />
==== -nitro====<br />
<br />
Another very popular patchset and one of the most discussed on the Arch forums, but it is not the most reliable or stable. Very popular with some gentoo users but disregarded as amateur by others. This patchset is predominately built on other patchsets. -nitro is maintained by a gentoo user and most frequently discussed on the gentoo forums http://forums.gentoo.org/. Seppe keeps a webpage that reports on -nitro updates http://sepi.be/nitro.php<br />
<br />
==== - Tiny-Patches====<br />
"The -tiny tree is a series of patches against the 2.6 mainline Linux kernel to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s"<br />
<br />
and maybe also for ricers ;-)<br />
<br />
http://www.selenic.com/<br />
<br />
=== Individual patches===<br />
<br />
These are patches which can be simply included in any build of a vanilla kernel or incorporated (probably with some major tweaking) into another patchset. I have included some common ones for starters.<br />
<br />
==== Reiser4====<br />
<br />
[[Reiser4FShowto]] - http://www.namesys.com<br />
<br />
==== Gensplash/fbsplash====<br />
[[Gensplash]] - http://dev.gentoo.org/~spock/projects/<br />
<br />
----<br />
WikiMigration--[[User:Dlanor|dlanor]] 15:00, 23 Jul 2005 (EDT)</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Exaile&diff=24395Exaile2007-05-18T23:44:18Z<p>Thepizzaking: /* Installation */ The [community] line should be uncommented as well</p>
<hr />
<div>[[Category:Some Audio/Video]]<br />
=Description=<br />
Exaile is a music player utilizing the GTK+ toolkit. Features include:<br />
*Retrieval of album art, lyrics, artist/album information (via Wikipedia), and guitar tabs (via fretplay.com)<br />
*Tabbed playlists<br />
*iPod Support <br />
*Last.fm support<br />
*SHOUTcast directory browser <br />
*Track blacklisting<br />
<br />
=Installation=<br />
<br />
Exaile is available in [[Official Repositories| Arch's community repository]]. To enable the community repository, it must be uncommented in /etc/pacman.conf<br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include = /etc/pacman.d/community<br />
<br />
Exaile can then be installed using [[Pacman]]<br />
<br />
Pacman -Sy exaile<br />
<br />
=Enabling cover art, lyrics, and guitar tablature=<br />
While installing Exaile via Pacman will also install any needed runtime dependencies, two additional packages ([http://www.archlinux.org/packages/search/?q=gnome-python-extras| gnome-python-extras] & [http://www.archlinux.org/packages/search/?q=libgtkhtml| libgtkhtml]) will be needed to enable the cover art, lyrics, guitar tablature, and wiki features of Exaile.<br />
<br />
Pacman -Sy gnome-python-extras libgtkhtml<br />
<br />
=Problems=<br />
==Exaile 0.2.9 Album Art==<br />
On May 18th, 2007 [http://www.amazon.com| Amazon] has updated their ECS API to 4.0. Exaile fetches album art from [http://www.amazon.com| Amazon] and this update has cause the inability of Exaile <=0.2.9 to retrieve album art. A patch which restores the ability to fetch album art from Amazon has been provided on [http://www.exaile.org/| Exaile's website] with instructions on how to apply the patch. This issue has already been addressed in Exaile's SVN.</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Exaile&diff=24370Exaile2007-05-18T08:42:17Z<p>Thepizzaking: /* Exaile 0.29 Album Art */ Version is actually 0.2.9</p>
<hr />
<div>[[Category:Some Audio/Video]]<br />
=Description=<br />
Exaile is a music player utilizing the GTK+ toolkit. Features include:<br />
*Retrieval of album art, lyrics, artist/album information (via Wikipedia), and guitar tabs (via fretplay.com)<br />
*Tabbed playlists<br />
*iPod Support <br />
*Last.fm support<br />
*SHOUTcast directory browser <br />
*Track blacklisting<br />
<br />
=Installation=<br />
<br />
Exaile is available in [[ArchLinux_User-community_Repository_%28AUR%29| Arch's community repository]]. To enable the community repository, it must be uncommented in /etc/pacman.conf<br />
]<br />
#[community]<br />
# Add your preferred servers here, they will be used first<br />
#Include = /etc/pacman.d/community<br />
<br />
Exaile can then be installed using [[Pacman]]<br />
<br />
Pacman -Sy exaile<br />
<br />
=Enabling cover art, lyrics, and guitar tablature=<br />
While installing Exaile via Pacman will also install any needed runtime dependencies, two additional packages ([http://www.archlinux.org/packages/search/?q=gnome-python-extras| gnome-python-extras] & [http://www.archlinux.org/packages/search/?q=libgtkhtml| libgtkhtml]) will be needed to enable the cover art, lyrics, guitar tablature, and wiki features of Exaile.<br />
<br />
Pacman -Sy gnome-python-extras libgtkhtml<br />
<br />
=Problems=<br />
==Exaile 0.2.9 Album Art==<br />
On May 18th, 2007 [http://www.amazon.com| Amazon] has updated their ECS API to 4.0. Exaile fetches album art from [http://www.amazon.com| Amazon] and this update has cause the inability of Exaile <=0.2.9 to retrieve album art. A patch which restores the ability to fetch album art from Amazon has been provided on [http://www.exaile.org/| Exaile's website] with instructions on how to apply the patch. This issue has already been addressed in Exaile's SVN.</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=NetworkManager&diff=23426NetworkManager2007-04-24T05:10:59Z<p>Thepizzaking: /* Configuring your system for networkmanager */ Add 'network' group (probably needs rewording)</p>
<hr />
<div>[[Category:Networking (English)]]<br />
[[Category:Internet and Email (English)]]<br />
[[Category:HOWTOs (English)]]<br />
Archlinux now supports networkmanager thanks to Tor Krill and William Rea. It is all based off their packages.<br />
<br />
==Installation== <br />
==安装==<br />
Check that '''wireless_tools''' is installed first, otherwise Networkmanager won't work.<br />
<br />
(先确定wireless_tools已经安装,否则networkmanager将不能工作。)<br />
<br />
===Gnome===<br />
pacman -S gnome-network-manager<br />
<br />
===KDE===<br />
pacman -S knetworkmanager (from [community])<br />
<br />
==Configuring your system for networkmanager==<br />
(==为networkmanager配置系统==)<br />
<br />
networkmanager parses your /etc/rc.conf to see if you want to have a static or dynamic IP on your interfaces. If you want to use networkmanager on an interface you will have to '''disable''' it in /etc/rc.conf. You can do this by placing a '!' in front of the interface of your choice.<br />
<br />
(Networkmanager先调用/etc/rc.conf来判断你的interfaces是想使用固定IP(static IP)或者是动态IP(dynamic IP)。如果你想让networkmanager来管理一个interface,你必须先在/etc/rc.conf禁用它。这个你可以简单地通过在选择的interface前添加“!”而实现。)<br />
<br />
My interfaces line looks like this:<br />
INTERFACES=(lo !eth0 !ath0)<br />
<br />
(我的interface命令行如下:<br />
INTERFACES=(lo !eth0 !ath0))<br />
<br />
You will also have to "disable" the network daemon and follow a determined order with the daemons. Also, don't forget to enable the dhcdbd daemon, if not, you may not be able to get a default route. My ( Damnshock) DAEMONS line looks like this:<br />
<br />
DAEMONS=(!syslog-ng !hotplug !pcmcia !network dbus hal netfs !crond acpid alsa fnfxd cpufreqd '''dhcdbd networkmanager''' )<br />
<br />
(另外,你还要禁用("disable")网络进程(network daemon),并且在进程中遵循一定的顺序。 还有,不要忘了激活dhcdbd 进程,否则,你不能得到一个默认的路由。我(Damnshock)的进程命令行如下:<br />
DAEMONS=(!syslog-ng !hotplug !pcmcia !network dbus hal netfs !crond acpid alsa fnfxd cpufreqd dhcdbd networkmanager ))<br />
<br />
So just put in your prefered config into it.<br />
<br />
(将你想要的设置添加进去.)<br />
<br />
example for static IP:<br />
eth0="eth0 172.19.3.18 netmask 255.255.255.0 broadcast 172.19.3.255"<br />
<br />
(固定IP的例子:<br />
eth0="eth0 172.19.3.18 netmask 255.255.255.0 broadcast 172.19.3.255")<br />
<br />
example for dynamic IP:<br />
eth0="dhcp"<br />
<br />
(动态IP的例子:<br />
eth0="dhcp")<br />
<br />
After that you need to add dhcdbd and networkmanager to the daemons array in /etc/rc.conf and restart your system.<br />
Another option is to manually kill any dhcpcd process and start dhcdbd and networkmanager by hand.<br />
<br />
(设置完后你需要在/etc/rc.conf进程栏里添加dhcdbd和networkmanager模块,并且重启系统.另外一个办法是:手工去除任何dhcpcd进程然后启动dhcdbd和networkmanager.)<br />
<br />
Make sure you have both dbus and hal started, and you will also need to be a member of the "users" or "hal" and "network" groups to have the nm-applet run.<br />
<br />
(确认你已经启动了dbus和hal,并且你需要是"users"或"hal"群组的成员来运行nm-applet.)</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Display_manager&diff=23405Display manager2007-04-23T07:19:14Z<p>Thepizzaking: /* GDM */ now located in /usr</p>
<hr />
<div>[[Category:Boot process (English)]]<br />
[[Category:Display managers (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Adding a login manager (KDM, GDM, or XDM) to automatically boot on startup}}<br />
{{i18n_entry|Deutsch|Einen Anmeldungsmanager hinzufügen (KDM, GDM, oder XDM), der sich automatisch beim Systemstart öffnet (Deutsch)}}<br />
{{i18n_entry|עברית|הוסף מנהל התחברות גרפי (KDM, GDM או XDM) להפעלה אוטומטית לאחר האתחול}}<br />
{{i18n_entry|Русский|Добавление экранного менеджера входа в систему (KDM, GDM или XDM) в автозагрузку}}<br />
{{i18n_links_end}}<br />
<br />
=Introduction=<br />
<br />
<br />
This is very easy to add a Display Manager also known as a Login Manager, You have two easy methods to accomplish this:<br />
<br />
<br />
1. Daemon Method<br />
<br />
The Display Manager will load automatically during the start-up as a daemon.<br />
<br />
( Currently only works with GDM, KDM and SLiM )<br />
<br />
<br />
2. Inittab Method<br />
<br />
The Display Manager will load automatically after start-up and will respawn in the event of a crash.<br />
<br />
My personal favourite --[[User:Thewonka|thewonka]] 21:40, 26 February 2007 (EST)<br />
<br />
<br />
==Daemon Method==<br />
<br />
<br />
You simply need to add the daemon name to your daemons array in '/etc/rc.conf'.<br />
<br />
<br />
1. Change to Super User Mode.<br />
<br />
<br />
$ su<br />
<br />
<br />
2. Open the file <i>/etc/rc.conf</i> in your editor of choice.<br />
<br />
<br />
# emacs /etc/rc.conf<br />
# nano /etc/rc.conf<br />
# vi /etc/rc.conf<br />
<br />
<br />
3. Near the end of the file you will see a line that looks similar to the following:<br />
<br />
<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond) # this is the daemons array<br />
<br />
<br />
4. Append the daemon name for the Display Manager of your choice ( gdm, kdm or slim )<br />
<br />
<br />
===GDM===<br />
<br />
<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond gdm)<br />
<br />
<br />
===KDM===<br />
<br />
<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond kdm)<br />
<br />
<br />
===SLiM===<br />
<br />
<br />
DAEMONS=(syslogd klogd !pcmcia network netfs crond slim)<br />
<br />
<br />
5. Save the file and exit the editor. The next time you reboot, the Display Manager should run. In the event that it doesn't, make sure that you typed in the name correctly also that the manager you selected is installed. It also helps to make sure that '''startx''' is not stopping with errors.<br />
<br />
==Inittab Method==<br />
<br />
<br />
While the above method will work you will be underusing the great run-level system GNU has.<br />
<br />
<br />
The run-levels are:<br />
<br />
0 Halt<br />
1(S) Single-user<br />
2 Not used<br />
3 Multi-user<br />
4 Not used<br />
5 X11<br />
6 Reboot<br />
<br />
Arch's default run-level is 3 and XDM as its Display Manager.<br />
<br />
<br />
===Modify default run-level===<br />
<br />
<br />
1. Change to Super User Mode.<br />
<br />
<br />
$ su<br />
<br />
<br />
2. Open <i>/etc/inittab</i> using an editor of your choice.<br />
<br />
<br />
# emacs /etc/inittab<br />
# nano /etc/inittab<br />
# vi /etc/inittab<br />
<br />
<br />
3. Find the line that looks like this:<br />
<br />
<br />
id:3:initdefault:<br />
<br />
<br />
4. Modify the '3' to '5' for X11:<br />
<br />
<br />
id:5:initdefault:<br />
<br />
<br />
5. Save the file and exit the editor. The next time you reboot, the Display Manager should run.<br />
<br />
===Modify default Display Manager===<br />
<br />
<br />
1. Change to Super User Mode.<br />
<br />
<br />
$ su<br />
<br />
<br />
2. Open <i>/etc/inittab</i> using an editor of your choice.<br />
<br />
<br />
# emacs /etc/inittab<br />
# nano /etc/inittab<br />
# vi /etc/inittab<br />
<br />
<br />
3. Find the line that looks like similar to this one ( near the end ):<br />
<br />
<br />
x:5:respawn:/usr/bin/xdm -nodaemon<br />
<br />
<br />
4. Modify it so it points to the Display Manager of your choice:<br />
<br />
<br />
====GDM====<br />
<br />
<br />
x:5:respawn:/usr/sbin/gdm -nodaemon<br />
<br />
====KDM====<br />
<br />
<br />
x:5:respawn:/opt/kde/bin/kdm -nodaemon<br />
<br />
<br />
====SLiM====<br />
<br />
<br />
x:5:respawn:/usr/bin/slim >& /dev/null<br />
<br />
<br />
5. Save the file and exit the editor. The next time you reboot, the Display Manager of your choice should run.<br />
<br />
<br />
===Switching run-levels===<br />
<br />
<br />
If you want to test out the display manager with out rebooting, or you want to change the X configuration and that pesky Display Manager keeps respawning.<br />
<br />
Use this command:<br />
<br />
<br />
/sbin/telinit <run-level><br />
<br />
<br />
To switch to run-level 3 ( Multi-User ):<br />
<br />
<br />
/sbin/telinit 3<br />
<br />
<br />
To switch to run-level 5 ( X11 ):<br />
<br />
<br />
/sbin/telinit 5<br />
<br />
<br />
By switching you can avoid restarting the system during your testing.<br />
<br />
<br />
====GRUB====<br />
<br />
<br />
You can add a menu item in GRUB to allow you to boot with or without X11,<br />
<br />
<br />
1. Change to Super User Mode.<br />
<br />
<br />
$ su<br />
<br />
<br />
2. Open <i>/boot/grub/menu.lst</i> using an editor of your choice.<br />
<br />
<br />
# emacs /boot/grub/menu.lst<br />
# nano /boot/grub/menu.lst<br />
# vi /boot/grub/menu.lst<br />
<br />
<br />
3. Find the first kernel entry you have, the default is '# (0) Arch Linux'<br />
<br />
<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro<br />
initrd /kernel26.img<br />
<br />
<br />
You can duplicate it and modify both like so:<br />
<br />
<br />
# (0) Arch Linux Multi-user<br />
title Arch Linux Multi-user<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro <b>3</b><br />
initrd /kernel26.img<br />
<br />
# (0) Arch Linux X11<br />
title Arch Linux X11<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro <b>5</b><br />
initrd /kernel26.img<br />
<br />
<br />
The run-level was appended to the end so the kernel knows what run-level to start with.<br />
<br />
<br />
====LILO====<br />
<br />
You can start-up with the run-level of your choice by just selecting or typing in the kernel name and then appending the desired run-level in the lilo boot screen.<br />
<br />
Like so:<br />
<br />
: Arch 5<br />
<br />
=Packages=<br />
<br />
XDM<br />
<br />
<br />
pacman -Sy xorg-xdm<br />
<br />
<br />
GDM<br />
<br />
<br />
pacman -Sy gdm<br />
<br />
<br />
KDM<br />
<br />
<br />
pacman -Sy kde-base<br />
<br />
<br />
SLiM<br />
<br />
pacman -Sy slim</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Shutdown_Pressing_Power_Button&diff=23063Shutdown Pressing Power Button2007-04-14T12:21:58Z<p>Thepizzaking: Fix the xfsm-shutdown location (move to /usr)</p>
<hr />
<div>[[Category:Customizing (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Shutting system down by pressing the power button}}<br />
{{i18n_entry|Русский|Выключение компьютера нажатием кнопки Power}}<br />
{{i18n_links_end}}<br />
<br />
If you want to shutdown your system by simply pressing the power button, do the following:<br />
<br />
Install acpid package, add acpid to the DAEMONS array in rc.conf (and/or execute ''/etc/rc.d/acpid start'') and create a file in /etc/acpi/events/ with following content:<br />
<br />
<pre><br />
# /etc/acpi/events/power<br />
# This is called when the user presses the power button<br />
<br />
event=button/power (PWR.||PBTN)<br />
action=/sbin/poweroff<br />
</pre><br />
<br />
From now on pressing the power button (lightly, not for few seconds) should properly shutdown the system.<br />
Note that if you have '''hibernate''' configured and working you may want to change the last line with:<br />
<pre><br />
action=/usr/sbin/hibernate<br />
</pre><br />
<br />
However, if you're using more sophisticated WM, you should use its own shutdown call, so it'd save its session etc. <br />
<br />
To accomplish it in '''KDE''', simply change the action to: <br />
''/opt/kde/bin/dcop --all-users --all-sessions ksmserver ksmserver logout 0 2 0''<br />
<br />
Likewise for '''XFCE4.4''' change the action line to: <br />
''echo POWEROFF | /usr/libexec/xfsm-shutdown-helper''<br />
<br />
<br />
Note: For a more robust solution [If you are facing frequent WM crashes or working on a sacrificial PC for developing or testing your software...], you should take a look at "/usr/src/linux/Documentation/sysrq.txt", which is a kernel facility for yielding you [the user...] the CPU so that it could be used for any *rescue* work.</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=Groups&diff=22054Groups2007-03-19T11:09:54Z<p>Thepizzaking: add power group</p>
<hr />
<div>[[Category:System administration (English)]]<br />
Adding a user to a permission group enables that user to perform certain actions or access certain files pertaining to that group. The available groups and the users being member of them can be found in /etc/group.<br />
<br />
Below is a list of common groups and their function in Arch.<br />
<br />
*abs = rights to Arch's auto build system<br />
*audio = sound<br />
*camera = camera devices<br />
*floppy = floppy drive<br />
*log = access to log files in /var/log<br />
*optical = dvd/cd drives<br />
*power = right to suspend etc<br />
*scanner = scanners<br />
*slocate = access to command updatedb<br />
*storage = access to external drives<br />
*thinkpad = for thinkpad users accessing /dev/misc/nvram through e.g. tpb<br />
*video = DRI/3D acceleration <br />
*vmware = right to execute vmware<br />
*wheel = right to do su (though PAM also affects this)</div>Thepizzakinghttps://wiki.archlinux.org/index.php?title=CUPS&diff=21236CUPS2007-02-21T10:27:42Z<p>Thepizzaking: /* Linux to Windows */ - smb syntax</p>
<hr />
<div>[[Category:Printers (English)]]<br />
[[Category:Tutorials (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|CUPS Setup}}<br />
{{i18n_links_end}}<br />
=Introduction=<br />
<br />
==What is CUPS?==<br />
<br />
Straight from the CUPS website: "The Common UNIX Printing System ("CUPS") is a cross-platform printing solution for all UNIX environments. It is based on the "Internet Printing Protocol" and provides complete printing services to most Postscript and raster printers. CUPS is provided under the GNU GPL..." Although there are other printing packages such as LPRNG, CUPS is quite popular and relatively easily to use. It is the default printing system on Arch Linux as well as many other Linux distributions.<br />
<br />
==Troubleshooting CUPS & compononents==<br />
<br />
The best way to get printing working is to set 'LogLevel' in '/etc/cups/cupsd.conf' to:<br />
<pre><br />
LogLevel debug2<br />
</pre><br />
And then viewing the output from '/var/log/cups/error_log' like this:<br />
<pre><br />
tail -n 100 -f /var/log/cups/error_log<br />
</pre><br />
The charachters at the left of the output stands for:<br />
<pre><br />
D = Debug<br />
E = Error<br />
I = Information<br />
etc...<br />
</pre><br />
These files may also prove useful.<br />
<pre><br />
/var/log/cups/page_log 'spits out a new entry each time a print is succesful.'<br />
/var/log/cups/access_log 'lists all cupsd http1.1 server activity'<br />
</pre><br />
<br />
Ofcourse it's important to know how CUPS work if you want to solve your problems, this is somewhat correct:<br />
<br />
# An application sends a .ps file(PostScript, a scriptlanguage that details how the page will look) to CUPS when you select 'print'(99% of apps do).<br />
# CUPS then looks at your printers PPD file(printer description file) and figures out what filters it needs to use to convert the .ps file to a language that the printer understands(like PJL,PCL). Usually it needs ghostscript.<br />
# GhostScript takes the input and figures out which filters it should use,then applies them and converts the .ps file to a format understood by the printer.<br />
# Then it is sent to the backend. For example, if you have your printer connected to a USB port, it uses the USB backend.<br />
<br />
Print a document and watch 'error_log' to get a more detailed and correct image of the printing process.<br />
<br />
=Installing CUPS=<br />
<br />
==Packages==<br />
<br />
You will need CUPS and Ghostscript for sure:<br />
# pacman -S cups ghostscript<br />
<br />
* <b>cups</b> - The actual CUPS software<br />
* <b>ghostscript</b> - An interpreter for the Postscript language<br />
<br />
<br />
Some of the following driver packages, it depends on the printer you own. If unsure, install gutenprint.<br />
<br />
* <b>gutenprint</b> - A collection of high quality drivers for Canon, Epson, Lexmark, Sony, Olympus, and PCL printers for use with Ghostscript, CUPS, Foomatic, and the Gimp.<br />
* <b>foomatic</b>, <b>foomatic-db</b>, <b>foomatic-db-engine</b>, <b>foomatic-db-ppd</b> and <b>foomatic-filters</b> - Foomatic is a database-driven system for integrating free software printer drivers with common spoolers under Unix<br />
* Installing <b>foomatic-filters</b> should solve your problems if the cups error.log is reporting "stopped with status 22!"<br />
* <b>hplip</b> - HP Linux inkjet driver. Provides support for DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet printer models.<br />
* <b>cups-pdf</b> - A nice package that allows one to setup a virtual PDF Printer that generates a PDF out of anything sent to it.<br />
<br />
<br />
If your system is connected to a networked printer using the samba protocol or if the system is to be a print server for Windows clients:<br />
# pacman -S samba<br />
<br />
==Download Printer PPD==<br />
<br />
Depending on your printer, this step is optional and may not be needed as the standard CUPS installation already comes with quite a few PPD (Postscript Printer Description) files. Moreover, the <i>foomatic-filters</i>, <i>gimp-print</i> and <i>hplip</i> packages already include quite a few PPD files which will automatically be detected by CUPS.<br />
<br />
<br />
Here's an explanation of what a PPD file is from the Linux Printing website: "For every PostScript printer the manufacturers provide a PPD file which contains all printer-specific information about the particular printer model: Basic printer capabilities as whether the printer is a color printer, fonts, PostScript level, etc., and especially the user-adjustable options, as paper size, resolution, etc."<br />
<br />
<br />
*To get the PPD file for your printer, go to http://www.linuxprinting.org/printer_list.cgi and select the manufacturer and model of your printer.<br />
<br />
<br />
*Now, you will need to copy the file to the cups folder so it can detect the file. If you are in the folder where you downloaded the PPD file, you can use the following command:<br />
<br />
<pre><br />
# cp your_printer.ppd /usr/share/cups/model/<br />
</pre><br />
<br />
<br />
If you cannot find your printer on the website, you may want to try similar models or using generic printer drivers. Just do some googling or ask your manufacturer (good luck with that...).<br />
<br />
=Configuring Cups=<br />
<br />
==Options==<br />
<br />
Now that you have cups installed, you have a variety of options on how to setup CUPS. You can always use the tried and true command line. Likewise, various desktop environments such as Gnome and KDE have useful programs that can help you manage your printers. However, in order to make this process easy for the largest amount of users, we will use the web interface provided by CUPS.<br />
<br />
Please note that if you are planning on connecting to a network printer, rather than one that is directly connected to your computer, you may wish to jump to the Printer Sharing section first. Linux to Linux printer sharing is quite easy and involves very little configuration. Windows to Linux and vice-versa requires a little bit more effort, but is relatively easy as well.<br />
<br />
==Kernel Modules==<br />
<br />
Before we can use the CUPS web interface, we must install the appropriate kernel modules. The following are steps that I got from the Gentoo Printing Guide. <br />
===USB printers===<br />
If you want to use a USB printer with a 2.6.x kernel, use the following command:<br />
<br />
<pre><br />
# modprobe usblp<br />
</pre><br />
<br />
If you are using a USB printer and a 2.4.x kernel, use the following command:<br />
<br />
<pre><br />
# modprobe printer<br />
</pre><br />
<br />
Note, this assumes that you are using the stock kernels from Arch Linux. If you custom-rolled your own, you may need to run this first:<br />
<br />
<pre><br />
# modprobe usbcore<br />
</pre><br />
<br />
Once you have the modules installed, you should plug in your printer and check if the kernel detected it by running the following:<br />
<br />
<pre><br />
# tail /var/log/messages<br />
</pre><br />
<br />
or<br />
<br />
<pre><br />
# dmesg<br />
</pre><br />
<br />
<br />
You should see something like this:<br />
<br />
<pre><br />
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional<br />
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E<br />
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920<br />
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver<br />
</pre><br />
<br />
===Parallel port printers===<br />
If you plan on using a parallel port printer, the configuration is pretty much the same. Kernel 2.6.x users have to first type in:<br />
<br />
<pre><br />
# modprobe lp<br />
</pre><br />
<br />
And then both 2.4.x and 2.6.x kernel users can enter in:<br />
<br />
<pre><br />
# modprobe parport<br />
# modprobe parport_pc<br />
</pre><br />
<br />
Once again, you can check your setup by running:<br />
# tail /var/log/messages<br />
You should see something like this:<br />
<br />
<pre><br />
# lp0: using parport0 (polling).<br />
</pre><br />
<br />
<br />
Note: Installing my Brother HL 1250 i found that permissions for the device don't let cups to write on the device, so pratically it doesn't print. To fix it:<br />
<br />
<pre><br />
[root@mihal usb]# cd /dev/usb/<br />
[root@mihal usb]# ls<br />
lp0<br />
[root@mihal usb]# chgrp lp lp0<br />
<br />
</pre><br />
<br />
===Auto-loading===<br />
You may also want to have the system automatically load the kernel module every time the computer starts up. To do this use your favorite text editor to open up <code>/etc/rc.conf</code> and add the appropriate module to the <i>MODULES=()</i> line. Here's a portion of the text from my <code>rc.conf</code> file:<br />
<br />
<pre><br />
MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss lp parport parport_pc ide-scsi)<br />
</pre><br />
<br />
==CUPS Daemon==<br />
<br />
With the kernel modules installed, you are now ready to start the actual CUPS daemon. To do this, simply run this command:<br />
<br />
<pre><br />
# /etc/rc.d/cups start<br />
</pre><br />
<br />
If you want to have cups start up automatically every time you start your computer, than you need to add it to your DAEMONS=() line in the <i>/etc/rc.conf</i> file. For example:<br />
<br />
<pre><br />
# DAEMONS=(pcmcia syslogd klogd !fam esd mono network autofs cups crond gdm)<br />
</pre><br />
<br />
==Web Interface and tool kit.==<br />
<br />
Once the daemon is running, if a web interface is available. Open up your browser and go to:<br />
<br />
<i>http://localhost:631</i><br />
<br />
or install "Gnome Cups Manager" GUI frontend (see Appendix: A.1 [http://wiki.archlinux.org/index.php/CUPS_Setup#Alternative_CUPS_Interfaces Alternative CUPS Interfaces])<br />
<br />
From here, all you have to do is follow the various wizards to add your printer. To setup my Samsung ML-1250 printer, I started out by click on <i>Manage Printers</i>, and then <i>Add Printer</i>. I was then prompted for a username and password. I just logged in as root. I entered in ml1250 for my printer name, My Room for location and then Peter's Samsung ML-1250 Laster Printer for description. Next you will select the device. Since my printer is a USB device, I just selected <i>USB Printer #1</i>. The name of my printer also showed up next to the label <i>USB Printer #1</i>, so look for that. Next, I simply chose the appropriate drivers and the installation was complete.<br />
<br />
Once the installation is complete, you can test your configuration by pressing the Print Test Page button.<br />
<br />
=Printer Sharing=<br />
<br />
==Linux to Linux==<br />
<br />
Once you have CUPS setup on your Linux print server, sharing the printer with another Linux box is relatively easy. There are several ways to configure such a scenario, here we will describe the manual setup. On the server computer (the one managing and connecting to the printer) simply open up the <i>/etc/cups/cupsd.conf</i> file and allow access to the server by modifying the location lines. For instance:<br />
<br />
<pre><br />
<Location /><br />
Order Deny,Allow<br />
Deny From All<br />
Allow From 127.0.0.1<br />
Allow From 10.0.0.*<br />
</Location><br />
</pre><br />
<br />
You will also need to make sure the server is listening on the IP address your client will be addressing. Add the following line after "Listen localhost:631":<br />
<br />
<pre><br />
Listen 10.0.0.1:631<br />
</pre><br />
<br />
using your server's IP address instead of 10.0.0.1.<br />
<br />
Add the IP address of the client computer by doing Allow From client_ip_address. After you make your modifications, you will want to restart CUPS by doing:<br />
<br />
<pre><br />
# /etc/rc.d/cups restart<br />
</pre><br />
<br />
On the client side, open up <i>/etc/cups/client.conf</i> and edit the ServerName option to match the ip address or the name of your server. For instance I named my server beast and have entry in my hosts file to point to it. So in my <i>client.conf</i> file, I just editted this line:<br />
<br />
<pre><br />
ServerName beast<br />
</pre><br />
<br />
Next, run the following command to update the client computer:<br />
<br />
<pre><br />
# lpq<br />
</pre><br />
<br />
You should see something like this:<br />
<br />
<pre><br />
ml1250 is ready<br />
no entries<br />
</pre><br />
<br />
There are more configuartion possibilities including an automatic configuration which are described in detail on http://localhost:631/sam.html#CLIENT_SETUP (this link works on your printer server).<br />
<br />
when prompted for username and password use root to access<br />
then follow the instructions from here<br />
http://www.digitalhermit.com/linux/printing/<br />
if its a TCP/IP printer use Jetdirect<br />
<br />
That's it for Linux to Linux printer sharing.<br />
<br />
==Linux to Windows==<br />
<br />
If you are connected to a Windows print server (or any other Samba capable print server), you can skip the section about kernel modules and such. All you have to do is start the CUPS daemon and complete the web interface as specified in section 3.3 and 3.4. Before this, you need to activate the Samba CUPS backend. You can do this by entering the following command:<br />
<br />
<pre><br />
# ln -s `which smbspool` /usr/lib/cups/backend/smb<br />
</pre><br />
<br />
Note that the symbol before is ` (underneath the ~ on a standard US keyboard) and not '. After this, you will have to restart CUPS using the command specified in the previous section. Next, simply login into the CUPS web interface and choose to add a new printer. For device, there should be an option that says something to the effect Windows Printer Via Samba near the button of the device list. For the device location enter:<br />
<br />
<pre><br />
smb://username:password@hostname/printer_name<br />
</pre><br />
<br />
Or without a password:<br />
<br />
<pre><br />
smb://username@hostname/printer_name<br />
</pre><br />
<br />
Make sure that the user actually has access to the printer on Windows computer. Select the appropriate drivers and that's about it. If the computer is located on a domain, make sure the username includes the domain: <br />
smb://username:password@domain/hostname/printer_name<br />
<br />
Note: if your network contains many printers use "lpoptions -d your_desired_default_printer_name" to set your preferred printer<br />
<br />
Note: I, thepizzaking, was having 'NT_STATUS_ACCESS_DENIED' errors and to fix them I needed to use a slightly different syntax:<br />
<pre><br />
smb://workgroup/username:password@hostname/printer_name<br />
</pre><br />
<br />
==Windows to Linux==<br />
<br />
Sometimes, you might want to allow a Windows computer to connect to your computer. There are a few ways to do this, and the one I am most familiar with is using Samba. In order to do this, you will have to edit your <i>/etc/samba/smb.conf</i> file to allow access to your printers. Your smb.conf can look something like this:<br />
<br />
<pre><br />
[global]<br />
workgroup = Heroes<br />
server string = Arch Linux Print Server<br />
security = user<br />
<br />
[printers]<br />
comment = All Printers<br />
path = /var/spool/samba<br />
browseable = yes<br />
# to allow user 'guest account' to print.<br />
guest ok = no<br />
writable = no<br />
printable = yes<br />
create mode = 0700<br />
write list = @adm root neocephas<br />
</pre><br />
<br />
That should be enough to share your printer, but you just might want to add an individual printer entry:<br />
<br />
<pre><br />
[ML1250]<br />
comment = Samsung ML-1250 Laser Printer<br />
printer=ml1250<br />
path = /var/spool/samba<br />
printing = cups<br />
printable = yes<br />
printer admin = @admin root neocephas<br />
user client driver = yes<br />
# to allow user 'guest account' to print.<br />
guest ok = no<br />
writable = no<br />
write list = @adm root neocephas<br />
valid users = @adm root neocephas<br />
</pre><br />
<br />
Please note that in my configuration I made it so that users must have a valid account to access the printer. To have a public printer, set guest ok to yes, and remove the valid users line. To add accounts, you must setup a regular Linux account and then setup a Samba password on the server. For instance:<br />
<br />
<pre><br />
# useradd neocephas<br />
# smbpasswd -a neocephas<br />
</pre><br />
<br />
After setting up any user accounts that you need, you will also need to set up the samba spool folder:<br />
<br />
<pre><br />
# mkdir /var/spool/samba<br />
# chmod 777 /var/spool/samba<br />
</pre><br />
<br />
The next items that need changing are /etc/cups/mime.convs and /etc/cups/mime.types:<br />
<br />
mime.convs:<br />
<pre><br />
# The following line is found at near the end of the file. Uncomment it.<br />
application/octet-stream application/vnd.cups-raw 0 -<br />
</pre><br />
<br />
mime.types:<br />
<pre><br />
# Again near the end of the file.<br />
application/octet-stream<br />
</pre><br />
<br />
The changes to mime.convs and mime.types are needed to make CUPS print Microsoft Office document files. Many people seem to need that.<br />
<br />
After this restart your Samba daemon:<br />
<br />
<pre><br />
# /etc/rc.d/samba restart<br />
</pre><br />
<br />
Obvious, there are a lot of tweaks and customization that can be done with setting up a Samba print server, so I advise you to look at the Samba and CUPS documentation for more help. The <i>smb.conf.example</i> file also has some good samples to that you might want to look at.<br />
<br />
==Windows 2000 and Windows XP to Linux==<br />
<br />
For the most modern flavours of Windows an alternative way of connecting to your Linux printer server is to use the CUPS protocol directly. The Windows client will need to be using Windows 2000 or Windows XP. Make sure you allows the clients to access the print server by editing the location settings as specified in section 4.1.<br />
<br />
On the Windows computer, go to the printer control panel and choose to Add a New Printer. Next, choose to give an url. For the url type in the location of your printer:<br />
<br />
<i>http://host_ip_address:631/printers/printer_name</i><br />
<br />
where host_ip_address is the Linux server's IP address and printer_name is the name of the printer you are connecting to. After this, install the printer drivers for the Windows computer. If you setup the CUPS server to use its own printer drivers, then you can just select a generic postscript printer for the Windows client. You can then test your print setup by printing a test page.<br />
<br />
==Others to Linux, Linux to others==<br />
<br />
More information on interfacing CUPS with other printing systems can be found in the CUPS manual, e.g. on http://localhost:631/sam.html#PRINTING_OTHER<br />
<br />
=Appendix=<br />
<br />
==Alternative CUPS Interfaces==<br />
<br />
If you are a GNOME user, you can manage and configure your printer by using the gnome-cups-manager.<br />
<br />
Update: this package is now available through pacman if you have the "community" repository uncommented in /etc/pacman.conf<br />
<br />
pacman -S gnome-cups-manager<br />
<br />
The package is also still available from the [http://aur.archlinux.org/packages.php?do_Details=1&ID=66&O=0&L=0&C=0&K=cups&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd AUR].<br />
<br />
KDE users can modify their printers from the Control Center. Both should refer the those desktop environments' documentation for more information on how to use the interfaces.<br />
<br />
There is also gtklp. It is in the "extra" repository.<br />
<br />
pacman -S gtklp<br />
<br />
==PDF Virtual Printer==<br />
<br />
A nice little package that I submitted to the incoming folder (ftp://ftp.archlinux.org/incoming) is CUPS-PDF. This package allows one to setup a virtual printer that will generate a PDF from anything sent to it. For example, I wrote this document in AbiWord and then printed it to the Virtual Printer which generated a pdf in my <i>/var/spool/cups-pdf/neocephas</i> folder. Obviously, this package is not necessary, but it can be quite useful. After downloading the package from the ftp server and installing it, you can set it up as you would for any other printer in the web interface. Select Virtual PDF Printer as the device and choose Postscript -> Postscript Color Printer for the drivers.<br />
<br />
==Online Resources==<br />
<br />
Here is a listing of websites that may be of use to you:<br />
<br />
* <b>Official CUPS documentation on your computer</b> http://localhost:631/documentation.html<br />
* <b>Official CUPS Website</b> - http://www.cups.org/<br />
* <b>Linux Printing</b> - http://www.linuxprinting.org/<br />
* <b>Tips and Suggestions on common CUPS problems</b> - http://home.nyc.rr.com/computertaijutsu/cups.html<br />
* <b>Gentoo's Printing Guide</b> - http://www.gentoo.org/doc/en/printing-howto.xml<br />
* <b>Arch Linux User Forums</b> - http://bbs.archlinux.org/<br />
<br />
==Specialized Cases==<br />
<br />
This section is dedicated to specific problems and their solutions. If you managed to get some <i>unusual</i> printer working, please put the solution here.<br />
<br />
===Printing does not work/aborts with the HP Deskjet 700 Series Printers.===<br />
<br />
*The solution is to install <b>pnm2ppa</b> printer filter for the HP Deskjet 700 series. Without this the print jobs will be aborted by the system. A [[ABS - The Arch Build System | PKGBUILD]] for pnm2ppa can be found in [http://aur.archlinux.org/packages.php?do_Details=1&ID=696&O=0&L=0&C=0&K=pnm&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0 AUR].<br />
<br />
===Getting HP LaserJet 1010 to work===<br />
I had to compile ghostscript myself because ESP gs in rep was 7.07 and had not fixed some bugs like ESP 8.15.1 had. I never downloaded 'foomatic' in rep. I think that is an old package. <br />
<br />
kris|~/temp$ P -Qs cups a2ps psutils foo ghost<br />
local/cups 1.1.23-3<br />
The CUPS Printing System<br />
local/a2ps 4.13b-3<br />
a2ps is an Any to PostScript filter<br />
local/psutils p17-3<br />
A set of postscript utilities.<br />
local/foomatic-db 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-engine 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-ppd 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-filters 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/espgs 8.15.1-1<br />
ESP Ghostscript<br />
<br />
I also had to set LogLevel in /etc/cups/cupsd.conf to debug2 before i saw that I missed some "Nimbus" fonts. Then I had to rename & put them where the log told me to. Some fancy google searching had to be applied, example: http://www.google.com/search?q=n019003l+filetype%3Apfb since the fonts turned out to be propriatory(i'm sure windows comes with these default). Nevertheless after downloading them(about 7 fonts) and putting them in the correct folder printing started working.<br />
<br />
Before that i were getting all the errors said here: http://linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1010 'Unsupport PCL' etc...<br />
<br />
I'm sure it could have worked with ESP gs 7.07 too(in rep) if i was smart enough to turn on DebugLevel2 sooner :/ UPDATE: yeah it did... maybe this info is useful for someone else though.. sorry for the inconvienice<br />
<br />
==Another Source for Printer Drivers==<br />
<br />
On <i>http://www.turboprint.de/english.html</i> is a really good printer driver for many printers not yet supported by Linux (especially Canon i*). The only problem is that high-quality-prints are either marked with a turboprint-logo or you have to pay for it... It's not Open-Source.<br />
<br />
{{Wikipedia|Common_Unix_Printing_System}}<br />
<br />
=Troubleshooting=<br />
==As a result of upgrade==<br />
<br />
After updating, if you get something like :<br />
/usr/sbin/cupsd: error while loading shared libraries: libgnutls.so.13: cannot open shared object file: No such file or directory<br />
<br />
You need to update gnutls:<br />
<br />
Pacman -Sy gnutls<br />
<br />
In addition, in /etc/cups, there will be a file named cupsd.conf.pacnew. Rename it cupsd.conf.</div>Thepizzaking