<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://test.amule.szerverem.hu/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AnimAlf</id>
		<title>AMule Project FAQ - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://test.amule.szerverem.hu/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AnimAlf"/>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Special:Contributions/AnimAlf"/>
		<updated>2026-04-05T03:18:35Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Test_port_sp</id>
		<title>Test port sp</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Test_port_sp"/>
				<updated>2023-05-18T01:06:26Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Test_port|English]] | '''Español''' | [[Test_port-de|Alemán]] | [[Test_port-cn|简体中文]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un problema frecuente en la red [[FAQ_eD2k-Kademlia|ed2k]] &lt;br /&gt;
es tener una &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_i s_LowID_and_HighID?|credencial baja (Low ID)]] .   &lt;br /&gt;
&lt;br /&gt;
La página &lt;br /&gt;
[[AMule_problems#aMule_connects_to_server,_but_it_is_always_given_Low-ID._Why?_and,_can_I_do_something_about_it? |aMule se conecta al servidor pero con una credencial baja. ¿Por qué y cómo puedo hacer algo al respecto?(en inglés)]] &lt;br /&gt;
puede ayudarle a obtener una &lt;br /&gt;
[[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|credencial alte (High ID)]].&lt;br /&gt;
&lt;br /&gt;
Encontrará más información en las páginas [[Main_Page|wiki principal]] y [[Firewall|firewall]].&lt;br /&gt;
&lt;br /&gt;
Casi siempre se obtiene una [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|credencial baja (Low ID)]] &lt;br /&gt;
por no tener disponibles públicamente los [[port|puertos]] [[FAQ_eD2k-Kademlia|eD2k-Kademlia]]. &lt;br /&gt;
&amp;lt;strike&amp;gt;La página [http://www.amule.org/testport.php http://www.amule.org/testport.php] de [[aMule]] &lt;br /&gt;
permite probar los puertos para ver si ese es el problema&amp;lt;/strike&amp;gt;.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Test_port</id>
		<title>Test port</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Test_port"/>
				<updated>2023-05-18T01:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[Test_port-de|Deutsch]] | [[Test_port_sp|Spanish]] | [[Test_port-cn|简体中文]] &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Having a [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|Low ID]] is a common problem in the [[FAQ_eD2k-Kademlia|ed2k]] network. In [[Main_Page|this wiki]] you can find [[Firewall|several]] [[AMule_problems#aMule_connects_to_server,_but_it_is_always_given_Low-ID._Why?_and,_can_I_do_something_about_it?|articles]] which might help you to get a [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|High ID]].&lt;br /&gt;
&lt;br /&gt;
Since having a [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|Low ID]] is almost always due to having the [[FAQ_eD2k-Kademlia]] [[port]]s publicly unavailable, [[aMule]] has set up a web page so you can test your ports to see if that is your problem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;Please visit http://www.amule.org/testport.php and test!&amp;lt;/strike&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/WxWidgets-es</id>
		<title>WxWidgets-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/WxWidgets-es"/>
				<updated>2011-07-05T13:38:11Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Qué son las wxWidgets ? */ TODO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[wxWidgets|English]] | [[wxWidgets-de|Deutsch]] | [[wxWidgets-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qué son las [http://www.wxwidgets.org wxWidgets] ? ==&lt;br /&gt;
[http://www.wxwidgets.org wxWidgets] (conocido antaño como [http://www.wxwidgets.org wxWindows]) no ofrece una amigable API/FRAMEWORK, para escribir aplicaciones ( nos brinda soporte GUI para interfaces) sobre múltiples lenguajes y plataformas (más abajo encontrarás una lista de los lenguajes y las plataformas soportadas).&lt;br /&gt;
&lt;br /&gt;
Cosa que te permite utilizar tu codigo fuente sobre muchos sistemas operativos y plataformas con muy pocos (si hay alguno) cambios, consiguiendo fácilmente la potabilidad de las aplicaciones y códigos, tan fácil cómo puede ofrecernos el kit.&lt;br /&gt;
&lt;br /&gt;
Describiéndolo, esto aporta características especiales como el portapapeles, arrastrar y pegar, impresión, red, edicion y visor de gráficos, multi hilos, señales y eventos manuales, llamadas al sistema, acceso a los archivos, etc.&lt;br /&gt;
&lt;br /&gt;
Incluso más, [http://www.wxwidgets.org wxWidgets] concede el ''look'n'feel'' y el comportamiento de su uso permanecerá exactamente igual independemente de la plataforma a la que lo portemos.&lt;br /&gt;
&lt;br /&gt;
Despendiendo de la plataforma en que corren la [http://www.wxwidgets.org wxWidgets], va a ser enlazada la librerias y el programa o el lenguaje script en que esté escrito, a cuntinuación veremos para los que las [http://www.wxwidgets.org wxWidgets] están disponibles:&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/WxWidgets-es</id>
		<title>WxWidgets-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/WxWidgets-es"/>
				<updated>2011-07-04T13:19:39Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Qué son las [http://www.wxwidgets.org wxWidgets] ? */ TODO&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[wxWidgets|English]] | [[wxWidgets-de|Deutsch]] | [[wxWidgets-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Qué son las [http://www.wxwidgets.org wxWidgets] ? ==&lt;br /&gt;
[http://www.wxwidgets.org wxWidgets] (conocido antaño como [http://www.wxwidgets.org wxWindows) no ofrece una amigable API/FRAMEWORK, para escribir aplicaciones ( nos brinda soporte GUI para interfaces) sobre múltiples lenguajes y plataformas (más abajo encontrarás una lista de los lenguajes y las plataformas soportadas).&lt;br /&gt;
&lt;br /&gt;
Cosa que te permite utilizar tu codigo fuente sobre muchos sistemas operativos y plataformas con muy pocos (si hay alguno) cambios, consiguiendo fácilmente la potabilidad de las aplicaciones y códigos, tan fácil cómo puede ofrecernos el kit.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/MediaWiki_talk:Sidebar</id>
		<title>MediaWiki talk:Sidebar</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/MediaWiki_talk:Sidebar"/>
				<updated>2011-07-03T21:35:43Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: A suggestion 4 portal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A suggestion 4 portal ==&lt;br /&gt;
&lt;br /&gt;
 ** &amp;lt;nowiki&amp;gt;http://forum.amule.org|portal&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Fake_servers</id>
		<title>Fake servers</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Fake_servers"/>
				<updated>2008-08-08T17:18:19Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: added language&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Fake_servers|English]] | [[Fake_servers-de|Deutsch]] | [[Fake_servers-it|Italiano]] | [[Fake_servers-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fake Servers ==&lt;br /&gt;
Some [[server]]s manipulate search results to spread viruses or DRM infected windows media files and make the search function unusable.&lt;br /&gt;
The user usually notices a lot of small files with a very high number of sources, with file names containing the search keyword and a &amp;quot;catch phrase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Examples: &lt;br /&gt;
* Secured Downloading of [keyword] with New Secured eMule0.47c.zip&lt;br /&gt;
* [keyword] Web hottest videos personal player.exe&lt;br /&gt;
&lt;br /&gt;
Other fake servers are supposedly collecting information about users and will not deliver sources or search results.&lt;br /&gt;
&lt;br /&gt;
Many of these server mimic known good servers and take over their names and description, therefore it is very important to connect only to good servers.&lt;br /&gt;
&lt;br /&gt;
To verify if a server is potentialy faked, you can get some server information on [http://edk.peerates.net/peerates/servers.php http://edk.peerates.net] website, wich provide a verified servers list daily updated and some network statistics.&lt;br /&gt;
&lt;br /&gt;
== Solutions ==&lt;br /&gt;
In order to avoid these problems, one should delete all unknown server from the server list. aMule versions prior to 2.2.0 will update the server list by default when connecting to a server or client and add fake servers to the list.&lt;br /&gt;
&lt;br /&gt;
This can be disabled in the server section of the preferences.&lt;br /&gt;
&lt;br /&gt;
=== Good Servers ===&lt;br /&gt;
Known good servers:&lt;br /&gt;
*[http://www.gruk.org/server.met http://www.gruk.org/server.met] Contains a list of good servers.&lt;br /&gt;
*[http://edk.peerates.net/peerates/metlist.php http://edk.peerates.net] provide also a verified servers list and some network statistics.&lt;br /&gt;
&lt;br /&gt;
=== Kademlia ===&lt;br /&gt;
Another solution is to disable the usage of [[ED2k|ed2k]] and servers altogether and use only [[Kademlia]]. This should not result in fewer sources or a lower download, but searches and source finding will take longer.&lt;br /&gt;
&lt;br /&gt;
The usage of the ed2k network can be disabled in the connection section of the preferences.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Fake_servers-de</id>
		<title>Fake servers-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Fake_servers-de"/>
				<updated>2008-08-08T17:17:34Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: added language&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Fake_servers|English]] | [[Fake_servers-de|Deutsch]] | [[Fake_servers-it|Italiano]] | [[Fake_servers-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Fake Server =&lt;br /&gt;
Manche [[server-de|Server]] manipulieren die Suchergebnisse um Viren oder DRM infizierte Windows Media Dateien zu verbreiten und machen so die Suchfunktion praktisch unbenutzbar.&lt;br /&gt;
Als Nutzer bemerkt man normalerweise sehr viele, sehr kleine Dateien mit sehr vielen Quellen. Diese haben Dateinamen die das Suchwort und einen &amp;quot;Lock-Text&amp;quot; enthalten.&lt;br /&gt;
&lt;br /&gt;
Beispiele: &lt;br /&gt;
* Secured Downloading of [Suchwort] with New Secured eMule0.47c.zip&lt;br /&gt;
* [Suchwort] Web hottest videos personal player.exe&lt;br /&gt;
&lt;br /&gt;
Ander Server sammeln mutma&amp;amp;szlig;lich Nutzerdaten, ohne irgendwelche Quellen oder Suchergebnisse zu liefern..&lt;br /&gt;
&lt;br /&gt;
Viele dieser Server immitieren bekannte &amp;quot;gute&amp;quot; Server und benutzen deren Namen und Beschreibungen, deshalb ist es wichtig nur zu bekannten &amp;quot;guten&amp;quot; Servern zu verbinden.&lt;br /&gt;
&lt;br /&gt;
= L&amp;amp;ouml;sungen =&lt;br /&gt;
Um diese Probleme zu vermeiden sollte man alle unbekannten Server aus der Servliste l&amp;amp;ouml;schen. aMule Versionen vor 2.2.0 aktualisieren standardm&amp;amp;auml;&amp;amp;szlig;ig beim Verbinden zu einem Server oder Client und f&amp;amp;uuml;gen so die Fakeserver der Serverliste hinzu.&lt;br /&gt;
&lt;br /&gt;
Dies kann in den Servereinstellungen der Optionen deaktiviert werden.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Gute&amp;quot; Server ==&lt;br /&gt;
Bekannte &amp;quot;gute&amp;quot; Server:&lt;br /&gt;
* zur Zeit keine&lt;br /&gt;
&lt;br /&gt;
== Kademlia ==&lt;br /&gt;
Eine andere M&amp;amp;ouml;glichkeit ist es [[ED2k]] und Server nicht mehr zu nutzen und nur [[Kademlia-de|Kademlia]] zu verwenden. Dies sollte nicht in weniger Quellen oder langsameren Downloads resultieren, aber das Suchen und die Quellensuche dauern ein bisschen l&amp;amp;auml;nger.&lt;br /&gt;
&lt;br /&gt;
Das ed2k-Netzwerk kann im Verbindungsbereich der Optionen deaktiviert werden.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Fake_servers-it</id>
		<title>Fake servers-it</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Fake_servers-it"/>
				<updated>2008-08-08T17:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: added language&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Fake_servers|English]] | [[Fake_servers-de|Deutsch]] | [[Fake_servers-it|Italiano]] | [[Fake_servers-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fake Server ==&lt;br /&gt;
Alcuni [[server]] manipolano i risultati delle ricerche per diffondere virus o file infetti di tipo &amp;quot;windows media&amp;quot; e inoltre rendono la funzione di ricerca inutilizzabile.&lt;br /&gt;
L'utente nota normalmente molti piccoli file con un numero di fonti molto grande e con un nome di file che contiene la parola di ricerca e una frase fissa.&lt;br /&gt;
&lt;br /&gt;
Ad esempio: &lt;br /&gt;
&lt;br /&gt;
* Secured Downloading of [keyword] with New Secured eMule0.47c.zip&lt;br /&gt;
* [keyword] Web hottest videos personal player.exe&lt;br /&gt;
&lt;br /&gt;
Altri fake server presumibilimente raccolgono informazioni sugli utenti e non restituiscono fonti o risultati di ricerca.&lt;br /&gt;
&lt;br /&gt;
Molti di questi 'fake server' imitano famosi server validi e usano i loro nomi e descrizioni, perciò è molto importante connettersi solo a server validi.&lt;br /&gt;
&lt;br /&gt;
== Soluzioni ==&lt;br /&gt;
Per evitare questi problemi, si devono cancellare tutti i server sconosciuti della lista dei server. &lt;br /&gt;
&lt;br /&gt;
Le versioni di aMule anteriori alla 2.2.0 aggiornano la lista di server automaticamente quando si connettono a un server o a un client, aggiungendo così 'fake server' alla lista.&lt;br /&gt;
Questo comportamento si può disabilitare nelle preferenze, sezione server.&lt;br /&gt;
&lt;br /&gt;
=== Server validi ===&lt;br /&gt;
Server validi conosciuti:&lt;br /&gt;
*[http://www.gruk.org/server.met http://www.gruk.org/server.met] contene una lista di server validi.&lt;br /&gt;
&lt;br /&gt;
=== Kademlia ===&lt;br /&gt;
Un'altra soluzione è quella di disabilitare completamente l'utilizzo della rete [[ED2k|ed2k]] e dei server, e di usare invece solo [[Kademlia]]. Questo non comporta meno fonti o un download più lento, ma le ricerche e  il collezionamento delle fonti durerà più tempo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'utilizzo della rete ed2k si può eliminare nelle preferenze, sezione connessione.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Fake_servers-es</id>
		<title>Fake servers-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Fake_servers-es"/>
				<updated>2008-08-08T17:13:46Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Fake servers translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Fake_servers|English]] | [[Fake_servers-de|Deutsch]] | [[Fake_servers-it|Italiano]] | [[Fake_servers-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Servidores Falsos ==&lt;br /&gt;
Algunos [[server-es|servidores]] manipulan los resultados de la búsqueda para propagar virus o archivos multimedia DRM infectados y hace inutilizable la función de búsqueda.&lt;br /&gt;
Normalmente el usuario notará muchos archivos pequeños con un número muy alto de fuentes, con nombres del archivo que contienen la palabra clave de la busqueda y una &amp;quot;frase de la captura&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Ejemplos: &lt;br /&gt;
* Descarga segura de [PalabraClave] con el nuevo seguro eMule0.47c.zip&lt;br /&gt;
* [PalabraClave] Web hottest videos personal player.exe&lt;br /&gt;
&lt;br /&gt;
Otros servidores falsos estan supuestamente recogiendo información sobre los usuarios y no entregarán fuentes o resultados de la búsqueda.&lt;br /&gt;
&lt;br /&gt;
Muchos de éstos servidores toman el nombre y la descripción de sevidores buenos conocidos, por consiguiente es muy importante sólo conectar a los servidores buenos.&lt;br /&gt;
&lt;br /&gt;
Para verificar si un servidor es potencialmente falso, puede conseguir un poco de información del servidor en este site: [http://edk.peerates.net/peerates/servers.php http://edk.peerates.net], que proveen de una lista actualizada y verificada dirariamente y algunas estadísticas de la red.&lt;br /&gt;
&lt;br /&gt;
== Soluciones ==&lt;br /&gt;
Para evitar estos problemas, debe anular todo servidor desconocido de la lista del servidores. en versiones de aMule anteriores a 2.2.0 evitar que ponga al día la lista de servidores (por defecto está activado) al conectar a un servidor o cliente, para que no agregue los servidores falsos a la lista.&lt;br /&gt;
&lt;br /&gt;
Esto puede ser desactivado en la sección servidor de las preferencias.&lt;br /&gt;
&lt;br /&gt;
=== Servidores buenos ===&lt;br /&gt;
Servidores buenos conocidos:&lt;br /&gt;
*[http://www.gruk.org/server.met http://www.gruk.org/server.met] Contiene una lista de buenos servidores.&lt;br /&gt;
*[http://edk.peerates.net/peerates/metlist.php http://edk.peerates.net] provee también de una lista de servidores verificados y alguna estadística de red.&lt;br /&gt;
&lt;br /&gt;
=== Kademlia ===&lt;br /&gt;
Otra solución es desactivar el uso de [[ED2k|ed2k]] y por tanto los servidores y utilizar sólo [[Kademlia]]. Esto no debe producir menos fuentes o un volumen más bajo de descarga, pero llevará más tiempo encontrar fuentes y las busquedas.&lt;br /&gt;
ding will take longer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El uso de la red del ed2k puede desactivarse en las preferencias en la sección de conexión.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Backtraces-es</id>
		<title>Backtraces-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Backtraces-es"/>
				<updated>2008-02-27T03:28:05Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: langs added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Backtraces|English]] | [[Backtraces-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
Bien, no es duro imaginar, que esto va sobre las backtraces.&lt;br /&gt;
&lt;br /&gt;
Generalmente, no suele ser necesario para un usuario normal realizarlo. Sin embargo, a veces podemos tener un mal día y la revisión [http://www.gnu.org/software/cvs CVS] que estés manejando puede ser inestable. Aquí es donde entran las backtraces: Si tu [[aMule-es|aMule]] peta y muestra un  &amp;quot;OOPS - aMule crashed&amp;quot;, eso es lo que nos gustaría saber. Los backtrace que provee [[aMule-es|aMule]] no son muy útiles ya que proveen poca información por lo general, por lo que hay una forma mejor: un backtrace *real*.&lt;br /&gt;
&lt;br /&gt;
== El depurador GNU ==&lt;br /&gt;
Primero que nada, necesitar tener el [http://www.gnu.org/software/gdb/gdb.html Depurador GNU] instalado. Se llama ''gdb'' puedes averiguar si lo tienes tecleando ''which gdb'' en una ventana de consola. Obtendrás un resultado como éste:&lt;br /&gt;
&lt;br /&gt;
 $ which gdb&lt;br /&gt;
 /usr/bin/gdb&lt;br /&gt;
&lt;br /&gt;
Si no tienes el [http://www.gnu.org/software/gdb/gdb.html GDB], Verás un mesaje similar a esta:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ which gdb&lt;br /&gt;
 which: no gdb in (/bin:/usr/bin:[etc])&lt;br /&gt;
&lt;br /&gt;
Si es ese el caso, el [http://www.gnu.org/software/gdb/gdb.html Depurador GNU] es muy probable que no esté instalado en tu sistema por lo que deberás instalarlo antes de continuar.&lt;br /&gt;
&lt;br /&gt;
Si tu SO es [http://www.gentoo.org Gentoo Linux] sólo tienes que teclear esto:&lt;br /&gt;
 # emerge -av gdb&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Compilando [[aMule-es|aMule]]&amp;lt;/u&amp;gt; ==&lt;br /&gt;
Luego compilas [[aMule-es|aMule]] con los simbolos de depuración:&lt;br /&gt;
&lt;br /&gt;
 $ ./configure --enable-debug --disable-optimize --prefix=/donde/está/instalado/aMule&lt;br /&gt;
 $ make&lt;br /&gt;
 $ make install&lt;br /&gt;
&lt;br /&gt;
Si no quieres sobreescribir tu anterior copia del [[aMule-es|aMule]] cambie ésto simplemente:&lt;br /&gt;
 $ ./configure --enable-debug --disable-optimize&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
[[aMule-es|aMule]] puede funcionar entonces entrando el directorio ''src'' y tecleando ''./amule''&lt;br /&gt;
&lt;br /&gt;
Si eres incapaz o no estás dispuesto a recompilar, o funcionas con la versión RPM, procede igualmente, pero se consciente que los backtraces con los símbolos de depurado son para nosotros mucho más útiles.&lt;br /&gt;
&lt;br /&gt;
== Crea un backtrace ==&lt;br /&gt;
Crea ahora en tu directorio home el archivo ''.gdbinit'' y pon las siguiente líneas en el (o puedes teclearlas en el prompt de ''(gdb)'' luego:&lt;br /&gt;
&lt;br /&gt;
 ha SIGPIPE nostop noprint pass&lt;br /&gt;
 ha SIG32 nostop noprint pass&lt;br /&gt;
 ha SIG33 nostop noprint pass&lt;br /&gt;
 ha SIG34 nostop noprint pass&lt;br /&gt;
&lt;br /&gt;
Para aquellos que quieran saber el significado de las líneas anteriores:&lt;br /&gt;
la primera evita que [http://www.gnu.org/software/gdb/gdb.html GDB] se detenga ante tuberias rotas;&lt;br /&gt;
la segunda evita que [http://www.gnu.org/software/gdb/gdb.html GDB] se detenga ante un nuevo hilo;&lt;br /&gt;
&lt;br /&gt;
Para crear un backtrace, abra una consola y haga lo siguiente:&lt;br /&gt;
&lt;br /&gt;
 $ gdb $(which amule)&lt;br /&gt;
 (gdb) run&lt;br /&gt;
&lt;br /&gt;
Ahora utilice el [[aMule-es|aMule]] con normalidad hasta que pete. Si ocurre haga lo siguiente:&lt;br /&gt;
&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
 (gdb) bt full&lt;br /&gt;
 (gdb) thread apply all bt&lt;br /&gt;
&lt;br /&gt;
Envia la salidad de estos últimos tres comando al [http://forum.amule.org/index.php?board=33.0 backtraces forum] con algún comentario adicional sobre las circunstancias en que ocurrió el segfault y la verión del [[aMule-es|aMule]] que estás utilizando ()&lt;br /&gt;
Post the output of the last three commands in the [http://forum.amule.org/index.php?board=33.0 backtraces forum] with some additional comment about the circumstances the segfault happened and what [[aMule]] version you used (o la fecha del paquete [http://www.gnu.org/software/cvs CVS]).&lt;br /&gt;
&lt;br /&gt;
== El archivo core ==&lt;br /&gt;
Si el ejecutable [[aMule-es|aMule]] ha sido compilado con los símbolos de depuración (''--enable-debug'' configure flag), pero no lo estás haciendo funcionar con el [http://www.gnu.org/software/gdb/gdb.html GDB] y peta, también hay un modo de generar elbacktrace, si tu sistema ha sido configurado para generar '''archivos core'''.&lt;br /&gt;
&lt;br /&gt;
Los archivos core son imagenes de memoria del proceso que a petado. Tu sesión debe ser correctamente configurada para que el sistema genere el archivo core. Añade el siguiente comando al ''~/.bashrc'':&lt;br /&gt;
&lt;br /&gt;
''ulimit -c unlimited''&lt;br /&gt;
&lt;br /&gt;
Ahora, cuando un programa pete, se generará el archivo ''core.1234'' (este nombre puede ser diferente, pero normalmente empezará con 'core') puedes introducirlo en el [http://www.gnu.org/software/gdb/gdb.html GDB] así:&lt;br /&gt;
&lt;br /&gt;
''$ gdb --core=/path/to/amule /path/to/core/file/core.1234''&lt;br /&gt;
&lt;br /&gt;
y luego procede como en el problema de la sesión anterior 'bt' y 'bt full'.&lt;br /&gt;
&lt;br /&gt;
Así que ya está, diviertete con el [[aMule-es|aMule]]&lt;br /&gt;
&lt;br /&gt;
Saludos, [[User:Citroklar|Citroklar]] &amp;amp; [[User:Phoenix|Phoenix]]&lt;br /&gt;
&lt;br /&gt;
(La mayoría de lo anterior fué cogido de un mensaje de texto en el foro backtraces. Gracias!)&lt;br /&gt;
&lt;br /&gt;
Leete por favor [[Using_gdb_and_valgrind|esto]] para aprender más sobre [http://www.gnu.org/software/gdb/gdb.html GDB] y [http://valgrind.kde.org Valgrind].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.gentoo.org/proj/en/qa/backtraces.xml How to get meaningful backtraces in Gentoo]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Backtraces-es</id>
		<title>Backtraces-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Backtraces-es"/>
				<updated>2008-02-27T03:27:07Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: new translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introducción ==&lt;br /&gt;
Bien, no es duro imaginar, que esto va sobre las backtraces.&lt;br /&gt;
&lt;br /&gt;
Generalmente, no suele ser necesario para un usuario normal realizarlo. Sin embargo, a veces podemos tener un mal día y la revisión [http://www.gnu.org/software/cvs CVS] que estés manejando puede ser inestable. Aquí es donde entran las backtraces: Si tu [[aMule-es|aMule]] peta y muestra un  &amp;quot;OOPS - aMule crashed&amp;quot;, eso es lo que nos gustaría saber. Los backtrace que provee [[aMule-es|aMule]] no son muy útiles ya que proveen poca información por lo general, por lo que hay una forma mejor: un backtrace *real*.&lt;br /&gt;
&lt;br /&gt;
== El depurador GNU ==&lt;br /&gt;
Primero que nada, necesitar tener el [http://www.gnu.org/software/gdb/gdb.html Depurador GNU] instalado. Se llama ''gdb'' puedes averiguar si lo tienes tecleando ''which gdb'' en una ventana de consola. Obtendrás un resultado como éste:&lt;br /&gt;
&lt;br /&gt;
 $ which gdb&lt;br /&gt;
 /usr/bin/gdb&lt;br /&gt;
&lt;br /&gt;
Si no tienes el [http://www.gnu.org/software/gdb/gdb.html GDB], Verás un mesaje similar a esta:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ which gdb&lt;br /&gt;
 which: no gdb in (/bin:/usr/bin:[etc])&lt;br /&gt;
&lt;br /&gt;
Si es ese el caso, el [http://www.gnu.org/software/gdb/gdb.html Depurador GNU] es muy probable que no esté instalado en tu sistema por lo que deberás instalarlo antes de continuar.&lt;br /&gt;
&lt;br /&gt;
Si tu SO es [http://www.gentoo.org Gentoo Linux] sólo tienes que teclear esto:&lt;br /&gt;
 # emerge -av gdb&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;u&amp;gt;Compilando [[aMule-es|aMule]]&amp;lt;/u&amp;gt; ==&lt;br /&gt;
Luego compilas [[aMule-es|aMule]] con los simbolos de depuración:&lt;br /&gt;
&lt;br /&gt;
 $ ./configure --enable-debug --disable-optimize --prefix=/donde/está/instalado/aMule&lt;br /&gt;
 $ make&lt;br /&gt;
 $ make install&lt;br /&gt;
&lt;br /&gt;
Si no quieres sobreescribir tu anterior copia del [[aMule-es|aMule]] cambie ésto simplemente:&lt;br /&gt;
 $ ./configure --enable-debug --disable-optimize&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
[[aMule-es|aMule]] puede funcionar entonces entrando el directorio ''src'' y tecleando ''./amule''&lt;br /&gt;
&lt;br /&gt;
Si eres incapaz o no estás dispuesto a recompilar, o funcionas con la versión RPM, procede igualmente, pero se consciente que los backtraces con los símbolos de depurado son para nosotros mucho más útiles.&lt;br /&gt;
&lt;br /&gt;
== Crea un backtrace ==&lt;br /&gt;
Crea ahora en tu directorio home el archivo ''.gdbinit'' y pon las siguiente líneas en el (o puedes teclearlas en el prompt de ''(gdb)'' luego:&lt;br /&gt;
&lt;br /&gt;
 ha SIGPIPE nostop noprint pass&lt;br /&gt;
 ha SIG32 nostop noprint pass&lt;br /&gt;
 ha SIG33 nostop noprint pass&lt;br /&gt;
 ha SIG34 nostop noprint pass&lt;br /&gt;
&lt;br /&gt;
Para aquellos que quieran saber el significado de las líneas anteriores:&lt;br /&gt;
la primera evita que [http://www.gnu.org/software/gdb/gdb.html GDB] se detenga ante tuberias rotas;&lt;br /&gt;
la segunda evita que [http://www.gnu.org/software/gdb/gdb.html GDB] se detenga ante un nuevo hilo;&lt;br /&gt;
&lt;br /&gt;
Para crear un backtrace, abra una consola y haga lo siguiente:&lt;br /&gt;
&lt;br /&gt;
 $ gdb $(which amule)&lt;br /&gt;
 (gdb) run&lt;br /&gt;
&lt;br /&gt;
Ahora utilice el [[aMule-es|aMule]] con normalidad hasta que pete. Si ocurre haga lo siguiente:&lt;br /&gt;
&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
 (gdb) bt full&lt;br /&gt;
 (gdb) thread apply all bt&lt;br /&gt;
&lt;br /&gt;
Envia la salidad de estos últimos tres comando al [http://forum.amule.org/index.php?board=33.0 backtraces forum] con algún comentario adicional sobre las circunstancias en que ocurrió el segfault y la verión del [[aMule-es|aMule]] que estás utilizando ()&lt;br /&gt;
Post the output of the last three commands in the [http://forum.amule.org/index.php?board=33.0 backtraces forum] with some additional comment about the circumstances the segfault happened and what [[aMule]] version you used (o la fecha del paquete [http://www.gnu.org/software/cvs CVS]).&lt;br /&gt;
&lt;br /&gt;
== El archivo core ==&lt;br /&gt;
Si el ejecutable [[aMule-es|aMule]] ha sido compilado con los símbolos de depuración (''--enable-debug'' configure flag), pero no lo estás haciendo funcionar con el [http://www.gnu.org/software/gdb/gdb.html GDB] y peta, también hay un modo de generar elbacktrace, si tu sistema ha sido configurado para generar '''archivos core'''.&lt;br /&gt;
&lt;br /&gt;
Los archivos core son imagenes de memoria del proceso que a petado. Tu sesión debe ser correctamente configurada para que el sistema genere el archivo core. Añade el siguiente comando al ''~/.bashrc'':&lt;br /&gt;
&lt;br /&gt;
''ulimit -c unlimited''&lt;br /&gt;
&lt;br /&gt;
Ahora, cuando un programa pete, se generará el archivo ''core.1234'' (este nombre puede ser diferente, pero normalmente empezará con 'core') puedes introducirlo en el [http://www.gnu.org/software/gdb/gdb.html GDB] así:&lt;br /&gt;
&lt;br /&gt;
''$ gdb --core=/path/to/amule /path/to/core/file/core.1234''&lt;br /&gt;
&lt;br /&gt;
y luego procede como en el problema de la sesión anterior 'bt' y 'bt full'.&lt;br /&gt;
&lt;br /&gt;
Así que ya está, diviertete con el [[aMule-es|aMule]]&lt;br /&gt;
&lt;br /&gt;
Saludos, [[User:Citroklar|Citroklar]] &amp;amp; [[User:Phoenix|Phoenix]]&lt;br /&gt;
&lt;br /&gt;
(La mayoría de lo anterior fué cogido de un mensaje de texto en el foro backtraces. Gracias!)&lt;br /&gt;
&lt;br /&gt;
Leete por favor [[Using_gdb_and_valgrind|esto]] para aprender más sobre [http://www.gnu.org/software/gdb/gdb.html GDB] y [http://valgrind.kde.org Valgrind].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.gentoo.org/proj/en/qa/backtraces.xml How to get meaningful backtraces in Gentoo]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Backtraces</id>
		<title>Backtraces</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Backtraces"/>
				<updated>2008-02-27T03:26:57Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: langs added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Backtraces|English]] | [[Backtraces-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Well, not hard to guess, this is about backtraces.&lt;br /&gt;
&lt;br /&gt;
Usually, it should not be necessary for the normal user to do this. However, we might have a bad day and release a somewhat buggy version or you are running [http://www.gnu.org/software/cvs CVS] which can also be unstable sometimes.&lt;br /&gt;
This is where the backtraces come in: if [[aMule]] crashes, and you get an &amp;quot;OOPS - aMule crashed&amp;quot; and so on, we'd like to know. The backtrace [[aMule]] provides is not always very usefull as it contains little information, but, as usual, there's a better way: A *real* backtrace.&lt;br /&gt;
&lt;br /&gt;
== The GNU Debugger ==&lt;br /&gt;
First of all, you need the [http://www.gnu.org/software/gdb/gdb.html GNU Debugger] installed. It's called ''gdb'' and you could check for that by typing ''which gdb'' in a console window. You should see something like this:&lt;br /&gt;
&lt;br /&gt;
 $ which gdb&lt;br /&gt;
 /usr/bin/gdb&lt;br /&gt;
&lt;br /&gt;
If you don't have [http://www.gnu.org/software/gdb/gdb.html GDB] installed, you will get a message like this:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 $ which gdb&lt;br /&gt;
 which: no gdb in (/bin:/usr/bin:[etc])&lt;br /&gt;
&lt;br /&gt;
If that is the case, the [http://www.gnu.org/software/gdb/gdb.html GNU Debugger] is most likely not installed on your system and you should install it before you proceed.&lt;br /&gt;
&lt;br /&gt;
If your OS is [http://www.gentoo.org Gentoo Linux] you have just to type this:&lt;br /&gt;
 # emerge -av gdb&lt;br /&gt;
&lt;br /&gt;
== Compiling [[aMule]] ==&lt;br /&gt;
Then, compile [[aMule]] with debugging information:&lt;br /&gt;
&lt;br /&gt;
 $ ./configure --enable-debug --disable-optimize --prefix=/where/to/install/aMule&lt;br /&gt;
 $ make&lt;br /&gt;
 $ make install&lt;br /&gt;
&lt;br /&gt;
If you do not want to overwrite you old copy of [[aMule]], simply do this instead:&lt;br /&gt;
&lt;br /&gt;
 $ ./configure --enable-debug --disable-optimize&lt;br /&gt;
 $ make&lt;br /&gt;
&lt;br /&gt;
[[aMule]] can then be run by going into the dir ''src'' and typing ''./amule''&lt;br /&gt;
&lt;br /&gt;
If you are unable or unwilling to recompile, or are running a RPM version, proceed anyway, but be aware that backtraces from debugging enabled builds are much more useful to us.&lt;br /&gt;
&lt;br /&gt;
== Create a backtrace ==&lt;br /&gt;
Now create in your home directory the file ''.gdbinit'' and put these lines into it (or you can type them in at the ''(gdb)'' prompt later):&lt;br /&gt;
&lt;br /&gt;
 ha SIGPIPE nostop noprint pass&lt;br /&gt;
 ha SIG32 nostop noprint pass&lt;br /&gt;
 ha SIG33 nostop noprint pass&lt;br /&gt;
 ha SIG34 nostop noprint pass&lt;br /&gt;
&lt;br /&gt;
For those who want to know the meaning of the previous lines:&lt;br /&gt;
the first one avoid [http://www.gnu.org/software/gdb/gdb.html GDB] stopping at broken pipes;&lt;br /&gt;
the second one avoid [http://www.gnu.org/software/gdb/gdb.html GDB] stopping at new thread.&lt;br /&gt;
&lt;br /&gt;
To create a backtrace, open a console and do the following:&lt;br /&gt;
&lt;br /&gt;
 $ gdb /where/to/install/aMule/bin/amule&lt;br /&gt;
 (gdb) run&lt;br /&gt;
&lt;br /&gt;
Now use [[aMule]] normally until it crashes. If it crashes do the following:&lt;br /&gt;
&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
 (gdb) bt full&lt;br /&gt;
 (gdb) thread apply all bt&lt;br /&gt;
&lt;br /&gt;
Post the output of the last three commands in the [http://forum.amule.org/index.php?board=33.0 backtraces forum] with some additional comment about the circumstances the segfault happened and what [[aMule]] version you used (or checkout time for [http://www.gnu.org/software/cvs CVS]).&lt;br /&gt;
&lt;br /&gt;
== The core file ==&lt;br /&gt;
If your [[aMule]] executable has been compiled with debug information (''--enable-debug'' configure flag), but you were not running it from within [http://www.gnu.org/software/gdb/gdb.html GDB], there is still a way to generate a backtrace, if your system was configured to generate '''core files'''.&lt;br /&gt;
&lt;br /&gt;
Core files are the full memory image of a process that crashed. Your session must be properly configured, so that the system generates core files. Add the following command to ''~/.bashrc'':&lt;br /&gt;
&lt;br /&gt;
''ulimit -c unlimited''&lt;br /&gt;
&lt;br /&gt;
Now, when a program crashes, suppose it generate the file ''core.1234'' (this name can be different, but usually will start with 'core') you can enter [http://www.gnu.org/software/gdb/gdb.html GDB] like that:&lt;br /&gt;
&lt;br /&gt;
''$ gdb --core=/path/to/amule /path/to/core/file/core.1234''&lt;br /&gt;
&lt;br /&gt;
and then proceed as in the last session and issue 'bt' and 'bt full'.&lt;br /&gt;
&lt;br /&gt;
So, that's it, have fun with [[aMule]]&lt;br /&gt;
&lt;br /&gt;
Greetings, [[User:Citroklar|Citroklar]] &amp;amp; [[User:Phoenix|Phoenix]]&lt;br /&gt;
&lt;br /&gt;
(Most of the above shamelessly stolen from pure_ascii's post in backtraces forum, thanks, pure!)&lt;br /&gt;
&lt;br /&gt;
Please read [[Using_gdb_and_valgrind|this]] to learn more about [http://www.gnu.org/software/gdb/gdb.html GDB] and [http://valgrind.kde.org Valgrind].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.gentoo.org/proj/en/qa/backtraces.xml How to get meaningful backtraces in Gentoo]&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by &amp;quot;Unknown User&amp;quot; on 28.04.04 at 23:21&amp;lt;br&amp;gt;&lt;br /&gt;
Updated by Vollstrecker on 22.01.08 at 12:06&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_eD2k-Kademlia</id>
		<title>FAQ eD2k-Kademlia</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_eD2k-Kademlia"/>
				<updated>2008-02-21T22:34:06Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&amp;lt;u&amp;gt;&amp;lt;h4&amp;gt;F.A.Q. on eD2k-Kademlia&amp;lt;/h4&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''English''' | [[FAQ_eD2k-Kademlia-es|Espa&amp;amp;ntilde;ol]] | [[FAQ_eD2k-Kademlia-it|Italiano]] | [[FAQ_eD2k-Kademlia-de|Deutsch]] | [[FAQ_ed2k-fr|Fran&amp;amp;ccedil;ais]] | [[FAQ_eD2k-Kademlia-nl|Nederlands]] | [[FAQ_eD2k-Kademlia-pl|Polish]] | [[FAQ_eD2k-Kademlia-ru|Russian]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What is ED2K? ==&lt;br /&gt;
ED2K is a protocol originally used by the P2P (Peer-to-Peer) client [[eDonkey2000]], which is where the name comes from. It is a server-client based protocol, with the ability to exchange sources between clients. &lt;br /&gt;
&lt;br /&gt;
The ED2K network is server based like many other P2P networks such as [[Kazaa]] (Kazaa is server based, but hides the server connection from the user), which means that the first thing you do when you run [[aMule]] is to connect to a server (either manually or automatically). &lt;br /&gt;
&lt;br /&gt;
Once successfully connected to a server, the client can search, either locally (the connected server) or globally (all servers), for any file and the servers asked will provide the client with a list of all the files which match search parameters. &lt;br /&gt;
&lt;br /&gt;
If the user starts a download, the client will then ask the server for sources, which the server will return in the form of IP addresses for the clients that have told the server that they have the specific file.&lt;br /&gt;
&lt;br /&gt;
Then the remote client will begin to upload a whole chunk to your client as soon as you are the [[FAQ_eD2k-Kademlia#What_is_all_this_talk_about_credits,_ratings_and_scoring_about?|first in the queue]], and when the chunk has been completly sent, you will be taken back to its upload queue. This way different chunks get spread around the ED2K network, so that, although no-one may have at a same given moment the complete file, it may be completed by downloading the different chunks from different people (it is well known that users tend to stop sharing a file once it has been completed).&lt;br /&gt;
&lt;br /&gt;
Note that clients upload only '''one''' chunk at a time to another client. Even if a client is in the upload queue of two different files of a same user and gets to the top of both, that user will only upload one of the files to that client (the other upload, depending on the ED2K application the client uses, will probably remain as a maximum priority upload, but will not begin until the other chunk has been successfully uploaded).&lt;br /&gt;
&lt;br /&gt;
If both users have HighID (see [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|What is LowID and HighID?]]) the transfer will be done directly from client to client (Peer-to-Peer), but if one of the clients have LowID, the connection will be established through the server, since LowID cannot accept incoming connections. As a result, two LowID clients '''cannot''' connect to each other.&lt;br /&gt;
&lt;br /&gt;
== What is Kademlia? ==&lt;br /&gt;
Kademlia is a natural evolution of the ED2K network. Kademlia is the future. See [[FAQ_eD2k-Kademlia#Are_there_any_limitations_on_the_ED2K_network?|Are there any limitations on the ED2K network?]] for more information on why Kademlia is necessary.&lt;br /&gt;
&lt;br /&gt;
Since Kademlia is a decentralized network, it removes the bottleneck that was previously caused by the need for servers (though [[Lugdunum]] has done great work in reducing this bottleneck). Now, instead of connecting to a server, you just connect to a client (with a known IP-address and port), which supports the network [[Kademlia]]. This is called the Boot Strapping.&lt;br /&gt;
&lt;br /&gt;
Once connected, depending on your ability to accept incoming connections, you are given either &amp;quot;open&amp;quot; or &amp;quot;firewalled&amp;quot; status, which is similar to the HighID and LowID of the ED2K network. Then you are given an ID. &lt;br /&gt;
&lt;br /&gt;
When searching, each client acts as a small server and is given responsibility for certain keywords or sources. This adds to the complexity of finding sources, as you no longer have a central server to ask, but instead will have to propagate the query through the network.&lt;br /&gt;
&lt;br /&gt;
Kademlia is supported in aMule since the 2.1.0 version.&lt;br /&gt;
&lt;br /&gt;
== Is Kademlia the same as Overnet? ==&lt;br /&gt;
Short and clear: No. Overnet is the natural serverless evolution of the eDonkey software, while Kademlia is the natural serverless evolution of *Mule clients. Both are based on the original [[Kademlia]] algorithm but have been applied in different ways and therefore are incompatible. So, it's the same philosophy, but different rules. To learn about how Overnet works, refer to http://www.edonkey2000.com/documentation/how_on.html but, keep in mind, Overnet's development is closed until it reaches version 1.0, while Kademlia's development is completly open from the very beginning.&lt;br /&gt;
&lt;br /&gt;
== What is a chunk? ==&lt;br /&gt;
In the ED2K protocol, to avoid sharing corrupt files, each file is divided into various parts, which are known as ''chunks'', and then each chunk is hashed (read below to know what a [[FAQ_eD2k-Kademlia#What_is_a_hash?|hash]] is). Each chunk is 9.28MB in size, so a 15MB file will be divided into two chunks (9.28MB + 5.72MB), a 315KB file will be a single chunk and a 100MB file will be divided into 11 chunks (10x9.28MB + 7.2MB).&lt;br /&gt;
&lt;br /&gt;
== What is a hash? ==&lt;br /&gt;
Dividing each file into chunks (see [[FAQ_eD2k-Kademlia#What_is_a_chunk?|What is a chunk?]]) will avoid the problem of downloading a whole corrupted file since only the corrupted chunk will have to be downloaded again, but a method to identify corrupted chunks is needed. This is done by using MD4 hashes.&lt;br /&gt;
&lt;br /&gt;
A [[MD4 hash]] is a unique value each chunk is given and is the result of a mathematical operation on every single bit on the chunk. This means that modifying a single bit in a chunk would result in a completely different hash. That means that the [[client]] needs to verify the integrity of each part of a file as it is downloaded. &lt;br /&gt;
&lt;br /&gt;
Not only are the chunks hashed but also, in order to get a file-hash, all chunks's hashes are concatenated one after the other in their file order (that is: chunk1's_hash+chunk2's_hash+chunk3's_hash+...) and the resulting string is hashed. This way, each file on the ED2K network has a unique identifier. The file hash isn't taken from hashing the whole file, but from hashing the value of the chunk's hashes.&lt;br /&gt;
&lt;br /&gt;
In reality, you need both the hash of a file and its size. These pieces of information is embedded in the [[Ed2k_link|ED2k URLs]] found in many places.&lt;br /&gt;
&lt;br /&gt;
Take this for example:&lt;br /&gt;
&lt;br /&gt;
ed2k://|file|eMule0.42f-Sources.zip|2407949|CC8C3B104AD58678F69858F1F9B736E9|/ &lt;br /&gt;
&lt;br /&gt;
The interesting parts are the fifth part, &amp;quot;2407949&amp;quot;, which is the size of the file in bytes and the last part, &amp;quot;CC8C3B104AD58678F69858F1F9B736E9&amp;quot;, which is the hash itself, stored as hex-decimals, 32 letters long.&lt;br /&gt;
&lt;br /&gt;
The filename itself is irrelevant in the process of identifying the file.&lt;br /&gt;
&lt;br /&gt;
== Why after searching, some files which are the same appear as a different file in the results, although they even have the same name? ==&lt;br /&gt;
&lt;br /&gt;
If you understood &amp;quot;What is a hash&amp;quot; you will understand this quickly. When a search is started, the server tells the ED2K client the filename of the found file and the hash of the complete file for each file which matches the search. If two files, although being the same, have some difference in their content, no matter if it's big or small, the hash is different, so they are considered as a different file. That's also the reason why two file with different file name appear as the same file: on the ED2K network, the filename isn't important, the hash is.&lt;br /&gt;
&lt;br /&gt;
== What is LowID and HighID? ==&lt;br /&gt;
Each client is assigned an ID (Identification) number which is unique and will distinguish the client from all other clients on the server. If this ID is below 16777216 (16 million) then you have a LowID and anything over is a HighID. Whether your client receives a high or low ID will depend on your client and whether or not the Client TCP port is open. Client TCP Port is an customisable option located in Preferences -&amp;gt; Connection. The default port is 4662 which is fine. If you understand [[FAQ_eD2k-Kademlia#What_is_ED2K?|what ED2K is]], odds are you'll understand the chances that clients with LowIDs may be unable to connect to other clients with LowIDs which reduces transfer rates significantly. This is the reason why having port 4662 TCP (or the one set in Preferences) is so important. Some of the larger servers refuse clients with LowIDs and disallow connections since LowID clients have data transfered through the server, rather than directly from the other client, which in turn adds more overhead for the server.&lt;br /&gt;
&lt;br /&gt;
For clients with a HighID, their ID is the result of a mathematical operation with their IP which corresponds to A + 256*B + 256*256*C + 256*256*256*D, where the IP is A.B.C.D. Keep in mind that this ID has identification purposes as well. Apart from having an ID over or under 16777216, it does not matter if the ID is bigger or smaller. This means a client with an ID of 50000000 isn't any better than a client with an ID of 49999999. The only exception is at times servers are either incorrectly configured or are very busy and issue LowIDs to clients even though port 4662 TCP is open. These are rare exceptions but it can happen sometimes.&lt;br /&gt;
&lt;br /&gt;
If you're unsure about having proper port settings, you can test your ports [http://www.amule.org/testport.php here].&lt;br /&gt;
&lt;br /&gt;
== Which ports do I have to configure in a firewall or router to run aMule? ==&lt;br /&gt;
One has to distinguish between incoming and outgoing connections. Normally, all ports of a router are open for sending data (outgoing connection).&lt;br /&gt;
&lt;br /&gt;
So, in this normal case, You only have to configure the ports for ''incoming'' connections: aMule works even with no specific ports opened, but you won't get a HighID in this case. As mentioned above, to be given a HighID, port 4662 TCP (or the one set in the Preferences) must be listening (i.e. opened in your firewall and forwarded in your router).&lt;br /&gt;
http://www.amule.org/wiki/index.php/FAQ_eD2k-Kademlia&lt;br /&gt;
Apart from that port, to have an optimal ED2K experience, two more port should be enabled for listening as well: UDP ports 4672 and 4665 (that is, TCP_PORT+3) (both can be changed to any other number in the Preferences).&lt;br /&gt;
&lt;br /&gt;
== Why does Kademlia still say it is &amp;quot;firewalled?&amp;quot; ==&lt;br /&gt;
If you are using Kad and your router is doing NAT (Network Address Translation),   you should prevent your router from remapping the port of outgoing UDP port 4672 packets. This might help if you have a high ID but Kad status is 'firewalled'.&lt;br /&gt;
&lt;br /&gt;
== What does each port do? ==&lt;br /&gt;
Well, since most ports can be configured to be set to any other number, the defaults will be listed. The traffic direction is from client perspective (you):&lt;br /&gt;
*4661 TCP (outgoing): Port, on which a server listens for connection (defined by server).&lt;br /&gt;
*4662 TCP (outgoing and incoming): Client to client transfers.&lt;br /&gt;
*4665 UDP (outgoing and incoming): Used for global server searches and global source queries. This is always Client TCP port + 3&lt;br /&gt;
*4672 UDP (outgoing and incoming): Extended eMule protocol, Queue Rating, File Reask Ping, Kad.  Kad will be 'firewalled' if NAT (Network Address Translation) remaps this port number.&lt;br /&gt;
*4711 TCP: WebServer listening port.&lt;br /&gt;
*4712 TCP: External Connection port. Used to communicate aMule with other applications such as aMule WebServer or aMuleCMD.&lt;br /&gt;
&lt;br /&gt;
== Are there any limitations on the ED2K network? ==&lt;br /&gt;
&lt;br /&gt;
Not much, but yes, there are: two natural limits and a &amp;quot;forced&amp;quot; limitation. The two natural limits have already been mentioned before. First, the issues on LowID users (their transfers involve data through the server and two LowID clients can't share between them). The second, although ED2K is a p2p protocol, it needs servers to establish the p2p connection. This has lots of problems relating to bottlenecks, privacy and scalability (if one single server is disconnected, a big part of the network is disconnected with it). This latter one is solved in the Kademlia protocol.&lt;br /&gt;
&lt;br /&gt;
About the &amp;quot;forced&amp;quot; limitation, it's only a limit to make sure that clients share, so that the ED2K network will not disappear: clients which have an upload limit of X KBps, where X is between 0 and 3.99 (both included) can download at a maximum of X*3 KBps. Clients which have an upload limit of Y KBps, where Y is between 4 and 9.99 (both included) can download at a maximum of Y*4 KBps. Clients with an upload limit of 10KBps or more have no downloading limitations. This restriction is set in the client application so it could be by-passed by hacking the code, but that would probably result in being banned from the servers you connect to.&lt;br /&gt;
&lt;br /&gt;
Also, any client is forced to allow at least three upload slots, so it's not possible to allow more than upload_limit/3 KBps per slot.&lt;br /&gt;
&lt;br /&gt;
There is one last limit: Maximum file size is exactly 256GB (274877906944 bytes). Older limit (up to eMule 0.46 and aMule 2.1.*) was slightly under 4GB aproximately (exactly 4294967295 bytes, although aMule would only support files up to 4290048000 bytes).&lt;br /&gt;
&lt;br /&gt;
Additionally, this is not an eD2k limitation but a server limitation, servers will only send 300 results for your searches, so don't expect any more results.&lt;br /&gt;
&lt;br /&gt;
And on the clients side, filenames are usually limited to 161 [[character]]s.&lt;br /&gt;
&lt;br /&gt;
== Are there any limitations on the Kademlia network? ==&lt;br /&gt;
*As it is a network derived from the ed2k network and, therefore, has to maintain compatibility when it comes to identify files uniquely, the 256GB maximum file size limit exisits in the Kademlia network too.&lt;br /&gt;
*Same happens with the 161 characters limit.&lt;br /&gt;
&lt;br /&gt;
== In search window, what filter stands for which filetype? ==&lt;br /&gt;
Keep in mind that the filters in the search window don't depend on the file type, but on the extensions of the filenames, in the following way:&lt;br /&gt;
*'''Archive:''' ''.ace .arj .rar .tar.bz2 .tar.gz .zip .Z''&lt;br /&gt;
*'''Audio:''' ''.aac .ape .au .mp2 .mp3 .mp4 .mpc .ogg .wav .wma''&lt;br /&gt;
*'''CDImage:''' ''.bin .ccd .cue .img .iso .nrg .sub''&lt;br /&gt;
*'''Picture:''' ''.bmp .gif .jpeg .jpg .png .tif''&lt;br /&gt;
*'''Program:''' ''.com .exe''&lt;br /&gt;
*'''Video:''' ''.avi .divx .mov .mpeg .mpg .ogg .ram .rm .vivo .vob''&lt;br /&gt;
&lt;br /&gt;
So, a movie file that has the name &amp;quot;Birthday.zip&amp;quot; will appear in the Archive filter, but not in the Video filter.&lt;br /&gt;
&lt;br /&gt;
== What is a source? ==&lt;br /&gt;
A source is a client which is sharing some chunk in some file you have in your downloading queue which you still have not completed. Obviously, the more sources you can get for a given file, the more possibilities you have to download the file and the quicker you'll download it. Keep in mind that there's a difference between &amp;quot;sources&amp;quot; and &amp;quot;available sources&amp;quot; if you're on LowID, since &amp;quot;sources&amp;quot;s stands for clients sharing a chunk or file you still haven't completed, while &amp;quot;available sources&amp;quot; stands for clients sharing a chunk or file you still haven't completed and from who you can download (that is, a source who is on HighID).&lt;br /&gt;
&lt;br /&gt;
== What is all this talk about credits, ratings and scoring about? ==&lt;br /&gt;
All three concepts have to do with the way in which the ED2K network establishes the uploading queues preferences.&lt;br /&gt;
&lt;br /&gt;
The score is the most important value: the client with the higher score will be the next client which you'll provide a slot to. The way in the score value is set is this: score = rate x time_waiting_in_seconds / 100&lt;br /&gt;
So, to understand this, we must known what rate is.&lt;br /&gt;
&lt;br /&gt;
Rate can be understood as an objective preference. This is, the preference which a client is given without caring how much time it's been waiting. When a client is added to the uploading queue, it gets a rate of 100. This value is modified following according to this:&lt;br /&gt;
&lt;br /&gt;
According to the amount of credits, the rate will be multiplied by 1x to 10x.&lt;br /&gt;
Depending on the file priority, it will be multiplied by 0.2x to 1.8x (Release 1.8x, High 0.9x, Normal 0.7x, Low 0.6x, Very Low: 0.2x).&amp;lt;br&amp;gt;&lt;br /&gt;
Users on specific old clients which load too much the network traffic will get penalized by multiplying their rate by 0.5x.&lt;br /&gt;
&lt;br /&gt;
Banned clients will instantly get no rate (that is, their rate will by multiplied by 0).&lt;br /&gt;
&lt;br /&gt;
This multiplying values are known as &amp;quot;modifiers&amp;quot;. Clients with a modifier value strictly bigger than 1 will be marked as yellow in the icon.&lt;br /&gt;
&lt;br /&gt;
So we only have credits left to known. Credits are a prize you get for uploading files to a specific user. Credits are exchanged between two specific clients, they are not global, so your own credits can't be viewed, although you can know the credits any other user has on you (that is, the credits you owe that client). Since credits are managed by the uploading client, you might be uploading to some client with no credits support, so you will gain no credits on him, although that client will actually get credits on you if it uploads to you, since you do have credits support. This credits are stored in clients.met file.&lt;br /&gt;
&lt;br /&gt;
The credits modifier used by rate is the lower between these two: &amp;lt;br&amp;gt;(upload_total x 2)/download_total or sqrt(upload_total+2) where both upload_total and download_total are measured in MBs.&lt;br /&gt;
&lt;br /&gt;
If the result is lower than 1, then it is set to 1 and if it is bigger than 10, it is set to 10. In addition, if the uploaded total is less than 1MB, the modifier is set to 1 and if the downloaded total is equal to 0, then the modifier is set to 10.&lt;br /&gt;
&lt;br /&gt;
==  What is a slot? ==&lt;br /&gt;
When uploading files, your upload bandwidth (which may vary depending on the upload limit or the natural connection-type upload limit) will be divided into slots. So, each slot is an amount of KBps which will be assigned to each client who tries to download from you.&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by Jacobo221 on 28.05.04 at 20:13&amp;lt;br&amp;gt;&lt;br /&gt;
Updated by Vollstrecker on 23.01.08 at 13:49&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translating_Wiki-es</id>
		<title>Translating Wiki-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translating_Wiki-es"/>
				<updated>2008-02-21T13:25:59Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translating_Wiki|English]] | [[Translating_Wiki-pt_BR|Português]] | '''Español''' | [[Translating_Wiki-de|Deutsch]] | [[Translating_Wiki-fr|Français]] | [[Translating_Wiki-ko_KR|Korean]] | [[Translating_Wiki-da|Dansk]] | [[Translating_Wiki-ru|Russian]] | [[Translating_Wiki-it|Italiano]] | [[Translating_Wiki-nl|Nederlands]]| [[Translating_Wiki-cn|Chinese]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cuando traduzcas [[Main_Page-es|Wikis de aMule]], sigue estas reglas:&lt;br /&gt;
#Asegurate siempre que tu edición cumple con la  [[AMule_Project_FAQ:Policy-es|política]].&lt;br /&gt;
#Usa el [[AMule_Project_FAQ:Help#Page_names|nombre de pagina]] apropiado para cada traducción.&lt;br /&gt;
#Traduce tan parecido como sea posible al documento original. No añadas información propia, resumas, o borres. Si deseas hacer esto, primero pregunta en la pagina “talk” del documento original.&lt;br /&gt;
#Intenta mantener los enlaces del documento original en la medida de lo posible. Si el documento enlazado tiene una traducción disponible en el mismo lenguaje en el que estas traduciendo el documento enlaza a esa traducción en lugar de al enlace original.&lt;br /&gt;
#Usa, siempre que sea posible,  las [[AMule_Project_FAQ:Help|Wiki tags]].&lt;br /&gt;
#Si conoces como funciona, [[link to translation|enlaza correctamente paginas a tu traduccion]]  ('''Solo si sabes como funciona'''. Si no,  deja que otro lo haga!).&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_src</id>
		<title>Amulet pl src</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_src"/>
				<updated>2008-02-20T09:26:16Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* aMulet.pl source */  add lang&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= aMulet.pl source =&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
#&lt;br /&gt;
# file aMulet.pl&lt;br /&gt;
# Copyright by AnimAlf&lt;br /&gt;
#&lt;br /&gt;
# This lines are under the GNU General Public License.&lt;br /&gt;
# http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
my $binaMuled = 'amuled -f';&lt;br /&gt;
my $apppid = &amp;quot;$ENV{HOME}/.tx2z.pid&amp;quot;; # imagination&lt;br /&gt;
my $logMode = &amp;quot;debug&amp;quot;; # debug warning msg&lt;br /&gt;
my $verbose = 1; # true false&lt;br /&gt;
&lt;br /&gt;
use vars qw( %lang_en %lang_es );&lt;br /&gt;
&amp;amp;initLang;&lt;br /&gt;
&lt;br /&gt;
my %lang = %lang_en;&lt;br /&gt;
&lt;br /&gt;
if (!defined($ENV{'DISPLAY'})){&lt;br /&gt;
  print &amp;amp;appRel . &amp;quot;\n\n$lang{not_X11_msg}\n\n&amp;quot;;&lt;br /&gt;
  exit -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
eval &amp;quot;use Gtk2::TrayIcon;&amp;quot;;&lt;br /&gt;
if ($@) {&lt;br /&gt;
  print &amp;amp;appRel;&lt;br /&gt;
  print &amp;quot;\n\n$lang{not_TrayIcon_msg}\n&amp;quot;;&lt;br /&gt;
  exit -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my $modUniCode;&lt;br /&gt;
eval &amp;quot;use Unicode::MapUTF8 qw(from_utf8);&amp;quot;;&lt;br /&gt;
$modUniCode = !$@;&lt;br /&gt;
&lt;br /&gt;
my $config = {};&lt;br /&gt;
my @appList = ( 'aMuleGui', 'wxCas', 'aLinkCreator');&lt;br /&gt;
&lt;br /&gt;
# Los procesos hijo envían esta señal al padre cuando terminan y ésta&lt;br /&gt;
# debe ser atendida, si no se quedan zombies hasta que termine el padre.&lt;br /&gt;
$SIG{CHLD} = \&amp;amp;finalHijo;&lt;br /&gt;
&lt;br /&gt;
# Si se recibe cualquier señal que pueda provocar la interrupción del&lt;br /&gt;
# normal funcionamiento, entonces nos encargamos de finalizar correctamente.&lt;br /&gt;
$SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = \&amp;amp;finalizar;&lt;br /&gt;
&lt;br /&gt;
# Iniciando Gtk2&lt;br /&gt;
Gtk2-&amp;gt;init;&lt;br /&gt;
&lt;br /&gt;
# Comprobaciones iniciales. Cargar configuración.&lt;br /&gt;
if (!&amp;amp;inicializar){&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;amp;appRel . $lang{interrupted_initialization});&lt;br /&gt;
  unlink $apppid or die $lang{bad_blockage_file};&lt;br /&gt;
  exit -1;&lt;br /&gt;
}&lt;br /&gt;
logsys (&amp;quot;msg&amp;quot;, &amp;amp;appRel . $lang{initiated});&lt;br /&gt;
&lt;br /&gt;
# Formas Gtk2&lt;br /&gt;
my $menu =              Gtk2::Menu-&amp;gt;new();&lt;br /&gt;
my $menu_opciones =     Gtk2::MenuItem-&amp;gt;new($lang{options});&lt;br /&gt;
my $menu_aLinkCreator = Gtk2::MenuItem-&amp;gt;new(&amp;quot;aLinkCreator&amp;quot;);&lt;br /&gt;
my $menu_wxCas        = Gtk2::MenuItem-&amp;gt;new(&amp;quot;wxCas&amp;quot;);&lt;br /&gt;
my $menu_aMuleGui     = Gtk2::MenuItem-&amp;gt;new(&amp;quot;aMuleGui&amp;quot;);&lt;br /&gt;
my $menu_verLog       = Gtk2::MenuItem-&amp;gt;new($lang{logfile});&lt;br /&gt;
my $menuSalir         = Gtk2::MenuItem-&amp;gt;new($lang{quit});&lt;br /&gt;
my $pic;&lt;br /&gt;
&lt;br /&gt;
eval {$pic = Gtk2::Gdk::Pixbuf-&amp;gt;new_from_file ($config-&amp;gt;{'iconPath'});};&lt;br /&gt;
if ($@){&lt;br /&gt;
  my @aMulet_xpm = ('18 24 17 1', '       c None', '.      c #312A28', '+      c #524842',&lt;br /&gt;
    '@      c #D42238', '#      c #835128', '$      c #985A20', '%      c #6A6B6A',&lt;br /&gt;
    '&amp;amp;      c #AA7B50', '*      c #EC5867', '=      c #BF7B3F', '-      c #C9792F',&lt;br /&gt;
    ';      c #898989', '&amp;gt;      c #E39854', ',      c #CB9D83', '&amp;quot;      c #A9AAAA',&lt;br /&gt;
    ')      c #CDCBC9', '!      c #F4F5F3', '                  ',&lt;br /&gt;
    '          $       ', '         !&amp;gt;       ', '  #!    )$$       ',&lt;br /&gt;
    '  ##    #-$       ', '  )##$  -,#       ', '   .+##)$,)       ',&lt;br /&gt;
    '    ...$,!&amp;quot;       ', '    &amp;quot;.$=-$&amp;quot;       ', '     ;==-!=       ',&lt;br /&gt;
    '     &amp;quot; &amp;gt;!  &amp;quot;      ', '     ; !&amp;amp;  ;      ', '     &amp;quot; !)))&amp;quot;      ',&lt;br /&gt;
    '     &amp;quot;&amp;quot;&amp;quot;&amp;quot;&amp;quot;&amp;quot;!      ', '    %!.&amp;quot;&amp;quot;&amp;quot;&amp;quot;);     ', '    ;))&amp;quot;;;;&amp;quot;%;;)  ',&lt;br /&gt;
    '  &amp;quot;&amp;gt;-)&amp;quot;;;;;&amp;quot;-&amp;gt;&amp;quot;&amp;quot;  ', '  )-=$,;;%@,-&amp;gt;$)  ', '  ;%--#=&amp;gt;&amp;gt;**+%%;  ',&lt;br /&gt;
    ' +....&amp;amp;=&amp;gt;&amp;gt;&amp;gt;&amp;gt;#!))! ', '%&amp;quot;-=##$&amp;gt;&amp;gt;&amp;gt;&amp;gt;=&amp;amp;$--;;', '+)-=##&amp;amp;=&amp;gt;&amp;gt;&amp;gt;=#=-&amp;gt;)+',&lt;br /&gt;
    '%;;=$+.+&amp;gt;&amp;gt;++$-&amp;gt;,;%', ' &amp;quot;              . ');&lt;br /&gt;
  $pic = Gtk2::Gdk::Pixbuf-&amp;gt;new_from_xpm_data (@aMulet_xpm);&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, $lang{icon_load_Error} . $config-&amp;gt;{'iconPath'});&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{icon_load});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my $img= Gtk2::Image-&amp;gt;new_from_pixbuf($pic-&amp;gt;scale_simple(18, 24, &amp;quot;tiles&amp;quot;));&lt;br /&gt;
my $tray= Gtk2::TrayIcon-&amp;gt;new(&amp;quot;trayicon&amp;quot;);&lt;br /&gt;
my $paraEvent = Gtk2::EventBox-&amp;gt;new;&lt;br /&gt;
my $trayTooltip = Gtk2::Tooltips-&amp;gt;new;&lt;br /&gt;
my $SeparadorMenu1 = Gtk2::SeparatorMenuItem-&amp;gt;new;&lt;br /&gt;
my $SeparadorMenu2 = Gtk2::SeparatorMenuItem-&amp;gt;new;&lt;br /&gt;
my $SeparadorMenu3 = Gtk2::SeparatorMenuItem-&amp;gt;new;&lt;br /&gt;
&lt;br /&gt;
$menu-&amp;gt;append($menu_verLog);&lt;br /&gt;
$menu-&amp;gt;append($SeparadorMenu1);&lt;br /&gt;
$menu-&amp;gt;append($menu_opciones);&lt;br /&gt;
$menu-&amp;gt;append($SeparadorMenu2);&lt;br /&gt;
$menu-&amp;gt;append($menu_aLinkCreator);&lt;br /&gt;
$menu-&amp;gt;append($menu_wxCas);&lt;br /&gt;
$menu-&amp;gt;append($menu_aMuleGui);&lt;br /&gt;
$menu-&amp;gt;append($SeparadorMenu3);&lt;br /&gt;
$menu-&amp;gt;append($menuSalir);&lt;br /&gt;
&lt;br /&gt;
$paraEvent-&amp;gt;add($img);&lt;br /&gt;
$tray-&amp;gt;add($paraEvent);&lt;br /&gt;
&amp;amp;statusText;&lt;br /&gt;
&lt;br /&gt;
# Tratamiento de señales&lt;br /&gt;
logsys (&amp;quot;debug&amp;quot;, $lang{signs_assignment});&lt;br /&gt;
$tray-&amp;gt;signal_connect ('button-press-event' =&amp;gt; \&amp;amp;ClickOnIcon);&lt;br /&gt;
$menu_opciones-&amp;gt;signal_connect('activate' =&amp;gt; \&amp;amp;opcionesGui);&lt;br /&gt;
$menu_verLog-&amp;gt;signal_connect('activate' =&amp;gt; \&amp;amp;visorTexto);&lt;br /&gt;
$menu_aLinkCreator-&amp;gt;signal_connect('activate' =&amp;gt; sub {&amp;amp;extAppStatus('aLinkCreator')});&lt;br /&gt;
$menu_wxCas-&amp;gt;signal_connect('activate' =&amp;gt; sub {&amp;amp;extAppStatus('wxCas')});&lt;br /&gt;
$menu_aMuleGui-&amp;gt;signal_connect('activate' =&amp;gt; sub {&amp;amp;extAppStatus('aMuleGui')});&lt;br /&gt;
$menuSalir-&amp;gt;signal_connect('activate' =&amp;gt; \&amp;amp;finalizar);&lt;br /&gt;
Glib::Timeout-&amp;gt;add($config-&amp;gt;{'signOnTime'}*1000, \&amp;amp;statusText) if $config-&amp;gt;{'signOn'};&lt;br /&gt;
&lt;br /&gt;
# show sobre los witgets para que sean visibles&lt;br /&gt;
logsys (&amp;quot;debug&amp;quot;, $lang{witgets_show});&lt;br /&gt;
$menu-&amp;gt;show_all;&lt;br /&gt;
$tray-&amp;gt;show_all;&lt;br /&gt;
&amp;amp;popUpsAct;&lt;br /&gt;
# iniciando bucle de mensajes&lt;br /&gt;
logsys (&amp;quot;debug&amp;quot;, $lang{init_msg_loop});&lt;br /&gt;
Gtk2-&amp;gt;main;&lt;br /&gt;
# Fin. Aquí termina el flujo.&lt;br /&gt;
&lt;br /&gt;
#############&lt;br /&gt;
# Funciones #&lt;br /&gt;
#############&lt;br /&gt;
# statusText Establece el texto del toolTip&lt;br /&gt;
sub statusText{&lt;br /&gt;
  my $tmpStr = &amp;amp;appRel . $lang{right_click_show};&lt;br /&gt;
  if ($config-&amp;gt;{'signOn'}){&lt;br /&gt;
    &amp;amp;onlineInfo;&lt;br /&gt;
    # my $tmpStr;&lt;br /&gt;
    if ($config-&amp;gt;{'ConectStatus'}){&lt;br /&gt;
      if ($config-&amp;gt;{'typeId'}eq&amp;quot;H&amp;quot;){$tmpStr = $lang{Hid}} &lt;br /&gt;
        elsif ($config-&amp;gt;{'typeId'}eq&amp;quot;L&amp;quot;){$tmpStr = $lang{Lid}}&lt;br /&gt;
        else {$tmpStr = $lang{Conecting}}&lt;br /&gt;
      $tmpStr .= $lang{down} . $config-&amp;gt;{'downSpeed'};&lt;br /&gt;
      $tmpStr .= &amp;quot; kb/s Up:&amp;quot; . $config-&amp;gt;{'upSpeed'} .&amp;quot; Kb/s &amp;quot;;&lt;br /&gt;
      if ($config-&amp;gt;{'kadStatus'}==2) {$tmpStr .= $lang{k_ok};&lt;br /&gt;
        } elsif ($config-&amp;gt;{'kadStatus'}==1) {$tmpStr .= $lang{k_fire};&lt;br /&gt;
        } else {$tmpStr .= $lang{k_down}};&lt;br /&gt;
    } else {$tmpStr = &amp;amp;appRel . $lang{aMd_off}} &lt;br /&gt;
  }&lt;br /&gt;
  $trayTooltip-&amp;gt;set_tip($tray, $tmpStr);&lt;br /&gt;
  $tray-&amp;gt;send_message($config-&amp;gt;{'signOnTime'}*1000, &amp;quot;[AnimAlf dice] No entiendo&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# signatureOn Comprueba OnlineSignature en amule.conf&lt;br /&gt;
sub readSignatureConf {&lt;br /&gt;
  $config-&amp;gt;{'signOn'} = 0;&lt;br /&gt;
  $config-&amp;gt;{'signOnTime'} = 0;&lt;br /&gt;
  if (-f $config-&amp;gt;{'aMuleDir'} . &amp;quot;/amule.conf&amp;quot;){&lt;br /&gt;
    if ( open( CONFIGFILE, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/amule.conf&amp;quot; ) ) {&lt;br /&gt;
      while (&amp;lt;CONFIGFILE&amp;gt;) {&lt;br /&gt;
        if ( $_ =~ /^OnlineSignature=(.+)/ ) { $config-&amp;gt;{'signOn'} = $1 }&lt;br /&gt;
        if ( $_ =~ /^OnlineSignatureUpdate=(.+)/ ) { $config-&amp;gt;{'signOnTime'} = $1 }&lt;br /&gt;
      }&lt;br /&gt;
      close CONFIGFILE;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# onlineInfo Recoge la información de amulesig.dat&lt;br /&gt;
sub onlineInfo {&lt;br /&gt;
  if ( open( SIGNFILE, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/amulesig.dat&amp;quot; ) ) {&lt;br /&gt;
    my @signFile;&lt;br /&gt;
    while (&amp;lt;SIGNFILE&amp;gt;) {&lt;br /&gt;
      $_ =~ /(.+)\n$/; push (@signFile, $1)&lt;br /&gt;
    }&lt;br /&gt;
    close SIGNFILE;&lt;br /&gt;
    $config-&amp;gt;{'ConectStatus'} = $signFile[0];&lt;br /&gt;
    $config-&amp;gt;{'nameServ'}     = $signFile[1];&lt;br /&gt;
    $config-&amp;gt;{'ipServ'}       = $signFile[2];&lt;br /&gt;
    $config-&amp;gt;{'portServ'}     = $signFile[3];&lt;br /&gt;
    $config-&amp;gt;{'typeId'}       = $signFile[4];&lt;br /&gt;
    $config-&amp;gt;{'kadStatus'}    = $signFile[5];&lt;br /&gt;
    $config-&amp;gt;{'downSpeed'}    = $signFile[6];&lt;br /&gt;
    $config-&amp;gt;{'upSpeed'}      = $signFile[7];&lt;br /&gt;
    $config-&amp;gt;{'colaCli'}      = $signFile[8];&lt;br /&gt;
    $config-&amp;gt;{'filesShared'}  = $signFile[9];&lt;br /&gt;
    $config-&amp;gt;{'nickName'}     = $signFile[10];&lt;br /&gt;
    $config-&amp;gt;{'totalDown'}    = $signFile[11];&lt;br /&gt;
    $config-&amp;gt;{'totalUp'}      = $signFile[12];&lt;br /&gt;
    $config-&amp;gt;{'aMuleVer'}     = $signFile[13];&lt;br /&gt;
    $config-&amp;gt;{'SessionDown'}  = $signFile[14];&lt;br /&gt;
    $config-&amp;gt;{'SessionUp'}    = $signFile[15];&lt;br /&gt;
    $config-&amp;gt;{'TimeRun'}      = $signFile[16];&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# finalHijo atender la señal de los hijos (cuando terminan la mandan)&lt;br /&gt;
sub finalHijo {&lt;br /&gt;
  $SIG{CHLD} = \&amp;amp;finalHijo;&lt;br /&gt;
  my $pid = wait;&lt;br /&gt;
  return unless $config-&amp;gt;{$pid}; # El system() realiza un fork() también.&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{just_end} . $config-&amp;gt;{$pid} . &lt;br /&gt;
    &amp;quot; [&amp;quot; . $config-&amp;gt;{$config-&amp;gt;{$pid} . 'Pid'} . &amp;quot;]&amp;quot;);&lt;br /&gt;
  undef $config-&amp;gt;{$config-&amp;gt;{$pid} . 'Pid'};&lt;br /&gt;
  undef $config-&amp;gt;{$pid};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# finalizar correctamente y eliminar bloqueo&lt;br /&gt;
sub finalizar {&lt;br /&gt;
  $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = \&amp;amp;finalizar;&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{ending}); &lt;br /&gt;
  #Finalizar el bucle de mensajes&lt;br /&gt;
  Gtk2-&amp;gt;main_quit;&lt;br /&gt;
  #Comprobar que no quede ninguna aplicación hijo en funcionamiento&lt;br /&gt;
  #y si existe eliminarlas antes de finalizar no vayan a quedar zombies.&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{endChilds});&lt;br /&gt;
  # Ahora la señal de retorno del hijo la trataremos aquí.&lt;br /&gt;
  $SIG{CHLD} = 'DEFAULT';&lt;br /&gt;
  foreach my $app (@appList) {&lt;br /&gt;
    if (defined $config-&amp;gt;{$app . &amp;quot;Pid&amp;quot;}){&lt;br /&gt;
      logsys (&amp;quot;msg&amp;quot;, &amp;quot;[$app] $lang{end_run_chld}&amp;quot;);&lt;br /&gt;
      kill ('SIGTERM', $config-&amp;gt;{$app . &amp;quot;Pid&amp;quot;});&lt;br /&gt;
      waitpid($config-&amp;gt;{$app . &amp;quot;Pid&amp;quot;}, 0);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{hasntChld} . &amp;amp;appRel . $lang{inSys});&lt;br /&gt;
  #TODO Si archivo de bloqueo es usado para log volcar a otro sitio.&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;TODO: $lang{to_do_1}&amp;quot;);&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{appEnd});&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;bye ;-)\n\n&amp;quot;.&amp;amp;appRel.&amp;quot;\n&amp;quot;);&lt;br /&gt;
  # borrar archivo de bloqueo&lt;br /&gt;
  unlink $apppid or die &amp;quot;$lang{bad_blockage_file} $apppid&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# flushChars transforma utf8 a iso-8859-1&lt;br /&gt;
sub flushChars {&lt;br /&gt;
  my ($tmpStr) = @_;&lt;br /&gt;
  $tmpStr =~ s/([\200-\377]+)/from_utf8({ -string =&amp;gt; $1, -charset =&amp;gt; 'ISO-8859-1'})/eg&lt;br /&gt;
    if $modUniCode;&lt;br /&gt;
  return $tmpStr;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#logsys Mini sistema de logs.&lt;br /&gt;
sub logsys {&lt;br /&gt;
  my ($mode, $text) = @_;&lt;br /&gt;
  my $tmpStr;&lt;br /&gt;
  if (open LOG, &amp;quot;&amp;gt;&amp;gt;$apppid&amp;quot;) {&lt;br /&gt;
    if (($logMode eq &amp;quot;debug&amp;quot; &amp;amp;&amp;amp; ($mode eq &amp;quot;debug&amp;quot; or $mode eq &amp;quot;warning&amp;quot;)) ||&lt;br /&gt;
      ($logMode eq &amp;quot;warning&amp;quot; &amp;amp;&amp;amp; ($mode eq &amp;quot;warning&amp;quot; or $mode eq &amp;quot;msg&amp;quot;)) || &lt;br /&gt;
	($logMode eq &amp;quot;msg&amp;quot; &amp;amp;&amp;amp; $mode eq &amp;quot;msg&amp;quot;)){&lt;br /&gt;
          my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime (time);&lt;br /&gt;
          $year += 1900; $mon ++;&lt;br /&gt;
#          $tmpStr=&amp;quot;[&amp;quot; . uc($mode) . &amp;quot;] &amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$mday) . &amp;quot;-&amp;quot; .&lt;br /&gt;
#           sprintf(&amp;quot;%02d&amp;quot;,$mon) . &amp;quot;-$year &amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$hour) . &amp;quot;:&amp;quot; .&lt;br /&gt;
#           sprintf(&amp;quot;%02d&amp;quot;,$min) . &amp;quot;:&amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$sec) . &amp;quot; $text\n&amp;quot;;&lt;br /&gt;
          $tmpStr=&amp;quot;[&amp;quot; . uc($mode) . &amp;quot;] &amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$mday) . &amp;quot;-&amp;quot;;&lt;br /&gt;
          $tmpStr.= sprintf(&amp;quot;%02d&amp;quot;,$mon) . &amp;quot;-$year &amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$hour) . &amp;quot;:&amp;quot; if $logMode ne &amp;quot;debug&amp;quot;;&lt;br /&gt;
          $tmpStr.= sprintf(&amp;quot;%02d&amp;quot;,$min) . &amp;quot;:&amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$sec) . &amp;quot; $text\n&amp;quot;;&lt;br /&gt;
          print LOG $tmpStr; print $tmpStr if $verbose;&lt;br /&gt;
    }&lt;br /&gt;
    close LOG;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# ClickOnIcon se lanzará tras un click en el TrayIcon.&lt;br /&gt;
# Para diferenciar el botón del ratón que se pulsó.&lt;br /&gt;
sub ClickOnIcon {&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;sub: ClickOnIcon start&amp;quot;);&lt;br /&gt;
  my ($widget, $event) = @_;&lt;br /&gt;
  return 1 if $event-&amp;gt;button == 2;&lt;br /&gt;
  $menu-&amp;gt;popup(undef, undef, undef, undef, $event-&amp;gt;button,$event-&amp;gt;time) if $event-&amp;gt;button == 3;&lt;br /&gt;
  &amp;amp;extAppStatus($config-&amp;gt;{'appOnClick'}) if $event-&amp;gt;button == 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# extAppStatus lanzará una instancia de la aplicación si no existe&lt;br /&gt;
sub extAppStatus {&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;sub: extAppStatus start&amp;quot;);&lt;br /&gt;
  my ($refApp) = @_;&lt;br /&gt;
  $config-&amp;gt;{ $refApp . 'Pid'} = fork() &lt;br /&gt;
    unless ($config-&amp;gt;{ $refApp . 'Pid'}); # Crea un proceso hijo&lt;br /&gt;
  die &amp;quot;$lang{fork_error} $!&amp;quot; if !defined($config-&amp;gt;{$refApp . 'Pid'});&lt;br /&gt;
  if ( $config-&amp;gt;{$refApp . 'Pid'} == 0) { # Si se trata del proceso hijo&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;$lang{child_begin} [$refApp]&amp;quot;);&lt;br /&gt;
    if ($config-&amp;gt;{$refApp . 'Ok'}) {&lt;br /&gt;
      $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = 'DEFAULT';&lt;br /&gt;
      logsys (&amp;quot;warning&amp;quot;, &amp;quot;$lang{stdout_redirect} $refApp $lang{a} $apppid&amp;quot;);&lt;br /&gt;
      open STDOUT, &amp;quot;&amp;gt;&amp;gt;$apppid&amp;quot;;&lt;br /&gt;
      exec ($config-&amp;gt;{$refApp . 'App'}) || &lt;br /&gt;
        die &amp;quot;$lang{exec_fail} $refApp&amp;quot;;&lt;br /&gt;
    } else {exit -1}&lt;br /&gt;
  } else { # Circuito del proceso padre&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;$lang{father_loop}$refApp pid:&amp;quot;&lt;br /&gt;
      . $config-&amp;gt;{$refApp . 'Pid'} . &amp;quot;]&amp;quot;);&lt;br /&gt;
    # Asigno una clave en la configuración con el valor de la pid con el padre&lt;br /&gt;
    $config-&amp;gt;{$config-&amp;gt;{$refApp . 'Pid'}} = $refApp &lt;br /&gt;
      unless $config-&amp;gt;{$config-&amp;gt;{$refApp . 'Pid'}};&lt;br /&gt;
    # a ejecutar por el proceso padre&lt;br /&gt;
    logsys (&amp;quot;debug&amp;quot;, &amp;quot;TODO: $lang{to_do_2}&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# appRel nombre y versión del script&lt;br /&gt;
sub appRel {&lt;br /&gt;
  $0=~/.*\/(.*)$/;&lt;br /&gt;
  my $fileRun = $1;&lt;br /&gt;
  $fileRun = $0 unless $fileRun;&lt;br /&gt;
  $fileRun = &amp;quot;aMulet.pl [$1]&amp;quot; if $fileRun ne 'aMulet.pl';&lt;br /&gt;
  return $fileRun . &amp;quot; v.1.3 alpha&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# popUpsAct des/activar apartados del menú&lt;br /&gt;
sub popUpsAct {&lt;br /&gt;
  $menu_aLinkCreator-&amp;gt;set_sensitive($config-&amp;gt;{'aLinkCreatorOk'});&lt;br /&gt;
  $menu_wxCas-&amp;gt;set_sensitive($config-&amp;gt;{'wxCasOk'});&lt;br /&gt;
  $menu_aMuleGui-&amp;gt;set_sensitive($config-&amp;gt;{'aMuleGuiOk'});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# pathsVerify comprobar la ruta de las aplicaciones&lt;br /&gt;
sub pathsVerify{&lt;br /&gt;
  foreach my $app (@appList) {&lt;br /&gt;
    $config-&amp;gt;{$app . 'Ok'} = (-x $config-&amp;gt;{$app . 'App'});&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# inicializar comprobaciones iniciales&lt;br /&gt;
sub inicializar {&lt;br /&gt;
  my $tmpStr;&lt;br /&gt;
  my $runDaemon;&lt;br /&gt;
&lt;br /&gt;
  # Comprobar si ya estamos en marcha&lt;br /&gt;
  if (-f $apppid){&lt;br /&gt;
    my $appVerify=0;&lt;br /&gt;
    # Comprobar si realmente la aplicación está en marcha. &lt;br /&gt;
    if (open(APPPID, $apppid)){&lt;br /&gt;
      my $line;&lt;br /&gt;
      while ($line = &amp;lt;APPPID&amp;gt;) {&lt;br /&gt;
        chop($line); last;&lt;br /&gt;
      }&lt;br /&gt;
      close(APPPID);&lt;br /&gt;
      $appVerify=&amp;amp;isRunProcess($line);&lt;br /&gt;
    }&lt;br /&gt;
    if ($appVerify){&lt;br /&gt;
      $tmpStr = &amp;quot;&amp;lt;b&amp;gt;&amp;quot; . appRel . &amp;quot;&amp;lt;/b&amp;gt; $lang{itsRun}\n\n&amp;quot;;&lt;br /&gt;
      $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = 'DEFAULT';&lt;br /&gt;
      &amp;amp;showMessage( 'error', flushChars($tmpStr), 'ok');&lt;br /&gt;
      exit -1;&lt;br /&gt;
    } else {unlink $apppid}&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Iniciar Bloqueo&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{blockInit});&lt;br /&gt;
  if (open LOG, &amp;quot;&amp;gt;$apppid&amp;quot;){print LOG &amp;quot;$$\n&amp;quot;}&lt;br /&gt;
  # Cargar la configuración&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{loadConf});&lt;br /&gt;
  &amp;amp;loadConfig;&lt;br /&gt;
  readSignatureConf;&lt;br /&gt;
&lt;br /&gt;
  # Comprobar el estado del aMule como servicio&lt;br /&gt;
  if ($config-&amp;gt;{'aMuledOn'}){&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, $lang{isaMuled});&lt;br /&gt;
    if (open(PROCESOS,&amp;quot;ps -A |&amp;quot;)){&lt;br /&gt;
      while (&amp;lt;PROCESOS&amp;gt;){&lt;br /&gt;
        $runDaemon = 1 if ($_ =~ /amuled/);&lt;br /&gt;
      }&lt;br /&gt;
      close PROCESOS;&lt;br /&gt;
    }&lt;br /&gt;
    if (!$runDaemon) { $runDaemon = 1;&lt;br /&gt;
      logsys (&amp;quot;msg&amp;quot;, $lang{noaMuled});&lt;br /&gt;
      if (open(AMULED,&amp;quot;$binaMuled |&amp;quot;)){&lt;br /&gt;
        my $aMuleRun; &lt;br /&gt;
        while (&amp;lt;AMULED&amp;gt;){&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, $_);&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;$lang{lock_chg} [$binaMuled] $lang{yourself}&amp;quot;) if $_ =~ /binary requires/;&lt;br /&gt;
          undef $runDaemon if $_ =~ /binary requires/;&lt;br /&gt;
          $aMuleRun = 1 if $_ =~ /Raising current running instance/;&lt;br /&gt;
        }&lt;br /&gt;
        close AMULED;&lt;br /&gt;
        if ($aMuleRun){ &lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x5 .&amp;quot; $lang{aMrun} &amp;quot; .&amp;quot;*&amp;quot;x6 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, $lang{tiTools} );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;* $lang{alfsay}&amp;quot; );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          undef $runDaemon;&lt;br /&gt;
        };&lt;br /&gt;
        logsys (&amp;quot;msg&amp;quot;, $lang{aMuledInit}) if $runDaemon;&lt;br /&gt;
      } else {&lt;br /&gt;
        undef $runDaemon;&lt;br /&gt;
        logsys (&amp;quot;msg&amp;quot;, $lang{aMuledNoRun});&lt;br /&gt;
        logsys (&amp;quot;msg&amp;quot;, $lang{jump_step});&lt;br /&gt;
        $tmpStr = &amp;quot;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;$lang{aMuledNoRun}&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;.\n\n&amp;quot;;&lt;br /&gt;
        $tmpStr .= &amp;quot;$lang{check_no_run}\n\n&amp;quot;;&lt;br /&gt;
        $tmpStr .= $lang{aMnoHere};&lt;br /&gt;
        $tmpStr .= &amp;quot;\n\n$lang{noaMGui}&amp;quot; unless $config-&amp;gt;{'aMuleGuiOk'};&lt;br /&gt;
        $tmpStr .= &amp;quot;\n$lang{whereaMGUI}&amp;quot; unless $config-&amp;gt;{'aMuleGuiOk'};&lt;br /&gt;
        my $confirmacion= &amp;amp;showMessage( 'question', flushChars($tmpStr), 'yes-no');&lt;br /&gt;
        if ($confirmacion eq 'yes'){&lt;br /&gt;
          $config-&amp;gt;{'aMuledOn'}=0;&lt;br /&gt;
          &amp;amp;saveConfig;&lt;br /&gt;
          $runDaemon = 1;&lt;br /&gt;
        };&lt;br /&gt;
      }&lt;br /&gt;
    } else {logsys (&amp;quot;msg&amp;quot;, $lang{aMuledIs});}&lt;br /&gt;
  } else {&lt;br /&gt;
    $runDaemon = 1;&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, $lang{noRunInit});&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, $lang{noRunInit2});&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Comprobar que la aplicación que arranca tras el click en el icono existe.&lt;br /&gt;
  # Esto no afectará al retorno de esta función.&lt;br /&gt;
  if ($runDaemon){&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, $lang{click_veryfy});&lt;br /&gt;
    if (!$config-&amp;gt;{$config-&amp;gt;{'appOnClick'} . 'Ok'}){&lt;br /&gt;
         $tmpStr = &amp;quot;$lang{writeItInConf}\n&amp;quot;;&lt;br /&gt;
         $tmpStr .= &amp;quot;$lang{of_app} &amp;lt;b&amp;gt;$config-&amp;gt;{'appOnClick'}&amp;lt;/b&amp;gt; $lang{another}\n&amp;quot;;&lt;br /&gt;
         $tmpStr .= $lang{appAnsw};&lt;br /&gt;
      &amp;amp;showMessage( 'warning', flushChars($tmpStr), 'ok');&lt;br /&gt;
      &amp;amp;opcionesGui;&lt;br /&gt;
    }&lt;br /&gt;
    logsys (&amp;quot;debug&amp;quot;, &amp;quot;TODO: $lang{to_do_3}&amp;quot;);&lt;br /&gt;
  } # TODO: Intentar mostrarlo como modal y esperar respuesta.&lt;br /&gt;
  return $runDaemon;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# visorTexto Crea una ventana Gtk en la que muestra el logfile del aMule&lt;br /&gt;
sub visorTexto {&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;sub: visorTexto start&amp;quot;);&lt;br /&gt;
  my ($widget, $event) = @_;&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, $lang{menu_off});&lt;br /&gt;
  $widget-&amp;gt;set_sensitive(0);&lt;br /&gt;
  my $visorTextWin = Gtk2::Window-&amp;gt;new(&amp;quot;toplevel&amp;quot;);&lt;br /&gt;
  my $vbox = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $scrolledwindow = Gtk2::ScrolledWindow-&amp;gt;new;&lt;br /&gt;
  my $textBuffer = Gtk2::TextBuffer-&amp;gt;new;&lt;br /&gt;
  my $ok = Gtk2::Button-&amp;gt;new_from_stock(&amp;quot;gtk-close&amp;quot;);&lt;br /&gt;
  my $textView = Gtk2::TextView-&amp;gt;new_with_buffer($textBuffer);&lt;br /&gt;
  my $LineaLog;&lt;br /&gt;
&lt;br /&gt;
  $visorTextWin-&amp;gt;set_title($lang{texView});&lt;br /&gt;
  $visorTextWin-&amp;gt;set_position('center');&lt;br /&gt;
  $visorTextWin-&amp;gt;set_default_size(640, 300);&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;Leyendo &amp;quot; . $config-&amp;gt;{'aMuleDir'} . &amp;quot;/logfile&amp;quot;);&lt;br /&gt;
  open (LOGFILE, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/logfile&amp;quot;) || logsys (&amp;quot;warning&amp;quot;, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/logfile: $!&amp;quot;);&lt;br /&gt;
  while (&amp;lt;LOGFILE&amp;gt;) {$LineaLog .= $_;}&lt;br /&gt;
  close LOGFILE;&lt;br /&gt;
  $textView-&amp;gt;set_editable(0);&lt;br /&gt;
  $textView-&amp;gt;set_cursor_visible(0);&lt;br /&gt;
  $textBuffer-&amp;gt;set_text($LineaLog);&lt;br /&gt;
  $scrolledwindow-&amp;gt;set_policy('automatic', 'automatic');&lt;br /&gt;
&lt;br /&gt;
  $scrolledwindow-&amp;gt;add($textView);&lt;br /&gt;
  $vbox-&amp;gt;add($scrolledwindow );&lt;br /&gt;
  $vbox-&amp;gt;pack_end($ok, 0, 0, 3);&lt;br /&gt;
  $visorTextWin-&amp;gt;add($vbox);&lt;br /&gt;
&lt;br /&gt;
  $ok-&amp;gt;signal_connect(&amp;quot;clicked&amp;quot;, sub { $visorTextWin-&amp;gt;destroy; } );&lt;br /&gt;
  $visorTextWin-&amp;gt;signal_connect('destroy' =&amp;gt; sub { $widget-&amp;gt;set_sensitive(1); });&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{Shw_log_win});&lt;br /&gt;
  $visorTextWin-&amp;gt;show_all;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# isRunProcess comprobará si un proceso está en ejecución&lt;br /&gt;
sub isRunProcess {&lt;br /&gt;
  my ($proceso) = @_;&lt;br /&gt;
  my $runDaemon = 0;&lt;br /&gt;
  if (open(PROCESOS,&amp;quot;ps -A |&amp;quot;)){&lt;br /&gt;
    while (&amp;lt;PROCESOS&amp;gt;){$runDaemon = 1 if $_ =~ /^$proceso\s/;}&lt;br /&gt;
    close PROCESOS;&lt;br /&gt;
  }&lt;br /&gt;
  return $runDaemon;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub infoOnLine {&lt;br /&gt;
  my $tmpStr = '';&lt;br /&gt;
  &amp;amp;onlineInfo if $config-&amp;gt;{'signOn'};&lt;br /&gt;
  if ($config-&amp;gt;{'signOn'} &amp;amp;&amp;amp; $config-&amp;gt;{'ConectStatus'}==1){&lt;br /&gt;
    $tmpStr = &amp;quot;\n\n&amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'nickName'} . &amp;quot;&amp;lt;/b&amp;gt; $lang{with} &amp;lt;b&amp;gt;aMule&amp;lt;/b&amp;gt; [&amp;lt;i&amp;gt;&amp;quot;;&lt;br /&gt;
    $tmpStr .= $config-&amp;gt;{'aMuleVer'} . &amp;quot;&amp;lt;/i&amp;gt;]\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;$lang{connPort} &amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'portServ'};&lt;br /&gt;
    $tmpStr .= &amp;quot;&amp;lt;/b&amp;gt; $lang{of} &amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'nameServ'} . &amp;quot;&amp;lt;/b&amp;gt;\n$lang{with} &amp;lt;b&amp;gt;ID &amp;quot;;&lt;br /&gt;
    $tmpStr .= $config-&amp;gt;{'typeId'}eq&amp;quot;H&amp;quot;?&amp;quot;$lang{hi}&amp;lt;/b&amp;gt;&amp;quot;:&amp;quot;$lang{low}&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot; $lang{ande} &amp;lt;b&amp;gt;$lang{nk} &amp;quot;;&lt;br /&gt;
    if ($config-&amp;gt;{'kadStatus'}==2) {$tmpStr .= &amp;quot;$lang{okcon}&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
      } elsif ($config-&amp;gt;{'kadStatus'}==1) {$tmpStr .= &amp;quot;$lang{infire}&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
      } else {$tmpStr .= &amp;quot;$lang{disconnec}&amp;lt;/b&amp;gt;\n&amp;quot;};&lt;br /&gt;
    $tmpStr .= $lang{ittake};&lt;br /&gt;
    my $tmpStr2 = $config-&amp;gt;{'TimeRun'} % 60 . $lang{sec};&lt;br /&gt;
    my $tiempo = sprintf(&amp;quot;%d&amp;quot;,$config-&amp;gt;{'TimeRun'} / 60);&lt;br /&gt;
    $tmpStr2 = $tiempo % 60 . &amp;quot; $lang{min} $tmpStr2&amp;quot; if $tiempo;&lt;br /&gt;
    $tiempo = sprintf(&amp;quot;%d&amp;quot;,$tiempo / 60) if $tiempo;&lt;br /&gt;
    $tmpStr2 = $tiempo % 24 . &amp;quot;$lang{hours} $tmpStr2&amp;quot; if $tiempo;&lt;br /&gt;
    $tiempo = sprintf(&amp;quot;%d&amp;quot;,$tiempo / 24) if $tiempo;&lt;br /&gt;
    $tmpStr2 = $tiempo . &amp;quot; $lang{days} $tmpStr2&amp;quot; if $tiempo;&lt;br /&gt;
    $tmpStr .= $tmpStr2 . &amp;quot; $lang{connected}\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;$lang{inthistime}&amp;lt;b&amp;gt;&amp;quot;;&lt;br /&gt;
    $tmpStr .= sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'SessionDown'}/1048576) . &amp;quot; Mb&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= $lang{downTotal};&lt;br /&gt;
    $tmpStr .= sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'totalDown'}/1048576) . &amp;quot; Mb\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;$lang{sharealso} &amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'filesShared'} . &amp;quot;&amp;lt;/b&amp;gt; $lang{sesionFiles}\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;$lang{upload} &amp;lt;b&amp;gt;&amp;quot; .  sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'SessionUp'}/1048576);&lt;br /&gt;
    $tmpStr .= &amp;quot; Mb&amp;lt;/b&amp;gt; $lang{obtaining}\n$lang{atotal} &amp;quot; .  sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'totalUp'}/1048576);&lt;br /&gt;
    $tmpStr .= &amp;quot; Mb $lang{totalup},\n$lang{hasRight} &amp;quot;;&lt;br /&gt;
    $tmpStr .= $config-&amp;gt;{'colaCli'} . $lang{cli};&lt;br /&gt;
  }&lt;br /&gt;
  return flushChars($tmpStr);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# opcionesGui muestra la ventana de opciones&lt;br /&gt;
sub opcionesGui {&lt;br /&gt;
  my ($widget, $event) = @_;&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, $lang{callOff});&lt;br /&gt;
  $widget-&amp;gt;set_sensitive(0) if defined $widget;&lt;br /&gt;
  my $guiOpciones = Gtk2::Window-&amp;gt;new;&lt;br /&gt;
  my $vboxPrincipal = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $notebook = Gtk2::Notebook-&amp;gt;new;&lt;br /&gt;
  my $select_aMuleGui = Gtk2::RadioButton-&amp;gt;new('appOnClick', 'aMuleGui');&lt;br /&gt;
  my @grupo = $select_aMuleGui-&amp;gt;get_group;&lt;br /&gt;
  my $select_alc = Gtk2::RadioButton-&amp;gt;new_with_label(@grupo, 'aLinkCreator');&lt;br /&gt;
  my $select_wxcas = Gtk2::RadioButton-&amp;gt;new_with_label(@grupo, 'wxCas');&lt;br /&gt;
  my $check_aMuled_on = new Gtk2::CheckButton-&amp;gt;new(flushChars($lang{runAsServer}));&lt;br /&gt;
  my $vBoxTabRutas = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $vBoxTabAbout = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $hboxPrincipal = Gtk2::HBox-&amp;gt;new;&lt;br /&gt;
  my $hBoxTabRutas1 = Gtk2::HBox-&amp;gt;new;&lt;br /&gt;
  my $hBoxTabRutas2 = Gtk2::HBox-&amp;gt;new;&lt;br /&gt;
  my $hBoxTabRutas3 = Gtk2::HBox-&amp;gt;new(1);&lt;br /&gt;
  my $hseparator1 = Gtk2::HSeparator-&amp;gt;new;&lt;br /&gt;
  my $hseparator2 = Gtk2::HSeparator-&amp;gt;new;&lt;br /&gt;
  my $hseparator3 = Gtk2::HSeparator-&amp;gt;new;&lt;br /&gt;
  my $labelTabRutas = Gtk2::Label-&amp;gt;new($lang{general});&lt;br /&gt;
  my $labelTabAbout = Gtk2::Label-&amp;gt;new($lang{about});&lt;br /&gt;
  my $labelTabRut1 = Gtk2::Label-&amp;gt;new($lang{aboutAmuled});&lt;br /&gt;
  my $labelTabRut2 = Gtk2::Label-&amp;gt;new($lang{AHD});&lt;br /&gt;
  my $labelTabRut3 = Gtk2::Label-&amp;gt;new($lang{appPaht});&lt;br /&gt;
  my $labelTabRut4 = Gtk2::Label-&amp;gt;new('aMuleGui: ');&lt;br /&gt;
  my $labelTabRut5 = Gtk2::Label-&amp;gt;new('wxCas: ');&lt;br /&gt;
  my $labelTabRut6 = Gtk2::Label-&amp;gt;new('aLinkCreator: ');&lt;br /&gt;
  my $labelTabRut7 = Gtk2::Label-&amp;gt;new(flushChars($lang{iconShow}));&lt;br /&gt;
  my $labelTabRut8 = Gtk2::Label-&amp;gt;new($lang{icon});&lt;br /&gt;
  my $labelTabRut9 = Gtk2::Label-&amp;gt;new(flushChars($lang{whatapp}));&lt;br /&gt;
  my $labelAbout1 = Gtk2::Label-&amp;gt;new('aMulet.pl');&lt;br /&gt;
  my $labelAbout2 = Gtk2::Label-&amp;gt;new($lang{oneHawk});&lt;br /&gt;
  my $labelAbout3 = Gtk2::Label-&amp;gt;new($lang{oneIdea});&lt;br /&gt;
  my $labelAbout4 = Gtk2::Label-&amp;gt;new($lang{licence});&lt;br /&gt;
  my $labelAbout5 = Gtk2::Label-&amp;gt;new('http://www.gnu.org/copyleft/gpl.html');&lt;br /&gt;
  my $labelAbout6 = Gtk2::Label-&amp;gt;new;&lt;br /&gt;
  my $edit_home_aMule = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_aMuleGui_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_wxcas_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_alc_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_icon_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $btnOk = Gtk2::Button-&amp;gt;new_from_stock(&amp;quot;gtk-apply&amp;quot;);&lt;br /&gt;
  my $btnCancel = Gtk2::Button-&amp;gt;new_from_stock(&amp;quot;gtk-cancel&amp;quot;);&lt;br /&gt;
  my $btnRutas1 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas2 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas3 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas4 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas5 = Gtk2::Button-&amp;gt;new($lang{selec});&lt;br /&gt;
  my $tableTabRutas = Gtk2::Table-&amp;gt;new(3, 3, 0 );&lt;br /&gt;
&lt;br /&gt;
  # Posicionando en la ventana principal&lt;br /&gt;
  $guiOpciones-&amp;gt;add($vboxPrincipal);&lt;br /&gt;
  # Posicionando en el notebook (contenedor de pestañas)&lt;br /&gt;
  $vboxPrincipal-&amp;gt;add($notebook);	&lt;br /&gt;
&lt;br /&gt;
  # primera pestaña&lt;br /&gt;
  $notebook-&amp;gt;append_page($vBoxTabRutas, $labelTabRutas);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($labelTabRut1,     0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hBoxTabRutas1,    0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $hBoxTabRutas1-&amp;gt;pack_start($labelTabRut2,    0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas1-&amp;gt;add($edit_home_aMule);&lt;br /&gt;
  $hBoxTabRutas1-&amp;gt;pack_end($btnRutas1,         0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($check_aMuled_on,  0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hseparator2,      0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($labelTabRut3,     0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($tableTabRutas,    0, 0, 3);&lt;br /&gt;
		    &lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($labelTabRut4,        0, 1, 0, 1, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($edit_aMuleGui_path,  1, 2, 0, 1, ['expand', 'fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($btnRutas2,           2, 3, 0, 1, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($labelTabRut5,        0, 1, 1, 2, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($edit_wxcas_path,     1, 2, 1, 2, ['expand', 'fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($btnRutas3,           2, 3, 1, 2, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($labelTabRut6,        0, 1, 2, 3, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($edit_alc_path,       1, 2, 2, 3, ['expand', 'fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($btnRutas4,           2, 3, 2, 3, ['fill'], [], 0, 0 );&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hseparator1,      0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($labelTabRut9,     0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hBoxTabRutas3,    0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas3-&amp;gt;pack_start($select_aMuleGui, 0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas3-&amp;gt;pack_start($select_alc,      0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas3-&amp;gt;pack_start($select_wxcas,    0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_end($hBoxTabRutas2,      0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $hBoxTabRutas2-&amp;gt;pack_start($labelTabRut8,    0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas2-&amp;gt;add($edit_icon_path);&lt;br /&gt;
  $hBoxTabRutas2-&amp;gt;pack_end($btnRutas5,         0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_end($labelTabRut7,       0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_end($hseparator3,        0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  # Segunda pestaña&lt;br /&gt;
  $notebook-&amp;gt;append_page($vBoxTabAbout, $labelTabAbout);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout1,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout2,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout3,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout4,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout5,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout6,      0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  # Posicionando en la parte inferior de la ventana principal&lt;br /&gt;
  $vboxPrincipal-&amp;gt;pack_end($hboxPrincipal,     0, 0, 3);&lt;br /&gt;
  $hboxPrincipal-&amp;gt;pack_start($btnOk,           0, 0, 3);&lt;br /&gt;
  $hboxPrincipal-&amp;gt;pack_end($btnCancel,         0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $labelAbout1-&amp;gt;set_markup('&amp;lt;span foreground=&amp;quot;DarkRed&amp;quot; size=&amp;quot;x-large&amp;quot;&amp;gt;&amp;lt;b&amp;gt;' . appRel . ' &amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;');&lt;br /&gt;
  #TODO: Intentar conseguir una UrlLabel, fácil con gnome-open (pero y si no existe gnome?)&lt;br /&gt;
  #http://forum.amule.org/thread.php?threadid=9751&lt;br /&gt;
  $labelAbout3-&amp;gt;set_markup(&amp;quot;&amp;lt;span&amp;gt;$lang{ideaOf} &amp;lt;b&amp;gt;tx2z&amp;lt;/b&amp;gt; $lang{in} http://forum.amule.org&amp;lt;/span&amp;gt;&amp;quot;);&lt;br /&gt;
  #Añado un mini resumen de la información disponible en amulesig.dat&lt;br /&gt;
  $labelAbout6-&amp;gt;set_markup(infoOnLine);&lt;br /&gt;
  if ($config-&amp;gt;{'signOn'}){&lt;br /&gt;
    Glib::Timeout-&amp;gt;add($config-&amp;gt;{'signOnTime'}*1000, sub {&lt;br /&gt;
      $labelAbout6-&amp;gt;set_markup(infoOnLine);&lt;br /&gt;
      $tray-&amp;gt;send_message($config-&amp;gt;{'signOnTime'}*1000, &amp;quot;[AnimAlf dice] No entiendo&amp;quot;);});&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Propiedades de la ventana principal&lt;br /&gt;
  $guiOpciones-&amp;gt;set_title($lang{options});&lt;br /&gt;
  $guiOpciones-&amp;gt;set_position('center');&lt;br /&gt;
  #TODO: Intentar que actuase como una ventana modal, como el showMessage&lt;br /&gt;
  #      y el punto de la llamada esperase la respuesta ok-cancel&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, $lang{shoOpsWin});&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;*&amp;quot;x36) unless $widget;&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;TODO: $lang{beModal}&amp;quot;) unless $widget;&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;*&amp;quot;x36) unless $widget;&lt;br /&gt;
&lt;br /&gt;
  # Propiedades del notebook&lt;br /&gt;
  $notebook-&amp;gt;set_tab_pos('top');&lt;br /&gt;
  $notebook-&amp;gt;set_show_tabs  (1);&lt;br /&gt;
  $notebook-&amp;gt;set_show_border(1);&lt;br /&gt;
  $notebook-&amp;gt;set_scrollable (0);&lt;br /&gt;
  $notebook-&amp;gt;set_tab_hborder(2);&lt;br /&gt;
  $notebook-&amp;gt;set_tab_vborder(2);&lt;br /&gt;
&lt;br /&gt;
  # alineando de algunas etiquetas&lt;br /&gt;
  $labelTabRut4-&amp;gt;set_alignment(1,0.5);&lt;br /&gt;
  $labelTabRut5-&amp;gt;set_alignment(1,0.5);&lt;br /&gt;
  $labelTabRut6-&amp;gt;set_alignment(1,0.5);&lt;br /&gt;
&lt;br /&gt;
  # Asignando la configuración.&lt;br /&gt;
  $edit_home_aMule-&amp;gt;set_text($config-&amp;gt;{'aMuleDir'});&lt;br /&gt;
  $edit_aMuleGui_path-&amp;gt;set_text($config-&amp;gt;{'aMuleGuiApp'});&lt;br /&gt;
  $edit_wxcas_path-&amp;gt;set_text($config-&amp;gt;{'wxCasApp'});&lt;br /&gt;
  $edit_alc_path-&amp;gt;set_text($config-&amp;gt;{'aLinkCreatorApp'});&lt;br /&gt;
  $edit_icon_path-&amp;gt;set_text($config-&amp;gt;{'iconPath'});&lt;br /&gt;
&lt;br /&gt;
  $check_aMuled_on-&amp;gt;set_active($config-&amp;gt;{'aMuledOn'});&lt;br /&gt;
&lt;br /&gt;
  $select_wxcas-&amp;gt;set_active($config-&amp;gt;{'appOnClick'} eq 'wxCas');&lt;br /&gt;
  $select_alc-&amp;gt;set_active($config-&amp;gt;{'appOnClick'} eq 'aLinkCreator');&lt;br /&gt;
  $select_aMuleGui-&amp;gt;set_active($config-&amp;gt;{'appOnClick'} eq 'aMuleGui');&lt;br /&gt;
&lt;br /&gt;
  $select_wxcas-&amp;gt;set_sensitive($config-&amp;gt;{'wxCasOk'});&lt;br /&gt;
  $select_alc-&amp;gt;set_sensitive($config-&amp;gt;{'aLinkCreatorOk'});&lt;br /&gt;
  $select_aMuleGui-&amp;gt;set_sensitive($config-&amp;gt;{'aMuleGuiOk'});&lt;br /&gt;
&lt;br /&gt;
  # Lo mostramos todo&lt;br /&gt;
  $guiOpciones-&amp;gt;show_all;&lt;br /&gt;
  # La asignación de señales&lt;br /&gt;
  $btnOk-&amp;gt;signal_connect(&amp;quot;clicked&amp;quot;, sub { &lt;br /&gt;
      my ($tmpStr, $tmpStr1);&lt;br /&gt;
&lt;br /&gt;
      $tmpStr1 = 'wxCas' if $select_wxcas-&amp;gt;get_active;&lt;br /&gt;
      $tmpStr1 = 'aLinkCreator' if $select_alc-&amp;gt;get_active;&lt;br /&gt;
      $tmpStr1 = 'aMuleGui' if $select_aMuleGui-&amp;gt;get_active;&lt;br /&gt;
&lt;br /&gt;
      $tmpStr .= $edit_home_aMule-&amp;gt;get_text . &amp;quot;: $lang{isntDir}\n&amp;quot;&lt;br /&gt;
        if !(-d $edit_home_aMule-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_aMuleGui_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;$lang{isntExe}&amp;lt;/b&amp;gt; ($lang{itisnt})\n&amp;quot;&lt;br /&gt;
        if !(-x $edit_aMuleGui_path-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_wxcas_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;$lang{isntExe}&amp;lt;/b&amp;gt; ($lang{itisnt})\n&amp;quot;&lt;br /&gt;
        if !(-x $edit_wxcas_path-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_alc_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;$lang{isntExe}&amp;lt;/b&amp;gt; ($lang{itisnt})\n&amp;quot;&lt;br /&gt;
        if !(-x $edit_alc_path-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_icon_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;$lang{dontExist}&amp;lt;/b&amp;gt;\n&amp;quot;&lt;br /&gt;
        if !(-e $edit_icon_path-&amp;gt;get_text);&lt;br /&gt;
&lt;br /&gt;
      if (defined $tmpStr){&lt;br /&gt;
          $tmpStr = &amp;quot;&amp;lt;b&amp;gt;$lang{detectAny}&amp;lt;/b&amp;gt;\n\n$tmpStr\n\n&amp;quot; . flushChars($lang{wantContinue});&lt;br /&gt;
          my $confirmacion= &amp;amp;showMessage( 'question', $tmpStr, 'yes-no');&lt;br /&gt;
          return if ($confirmacion eq 'no');&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $config-&amp;gt;{'appOnClick'} = 'wxCas' if $select_wxcas-&amp;gt;get_active;&lt;br /&gt;
      $config-&amp;gt;{'appOnClick'} = 'aLinkCreator' if $select_alc-&amp;gt;get_active;&lt;br /&gt;
      $config-&amp;gt;{'appOnClick'} = 'aMuleGui' if $select_aMuleGui-&amp;gt;get_active;&lt;br /&gt;
&lt;br /&gt;
      $config-&amp;gt;{'aMuleDir'} = $edit_home_aMule-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'aMuleGuiApp'} = $edit_aMuleGui_path-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'wxCasApp'} = $edit_wxcas_path-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'aLinkCreatorApp'} = $edit_alc_path-&amp;gt;get_text;&lt;br /&gt;
      &amp;amp;showMessage( 'info', flushChars($lang{iconWhenRestart}), 'ok')&lt;br /&gt;
        if $config-&amp;gt;{'iconPath'} ne $edit_icon_path-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'iconPath'} = $edit_icon_path-&amp;gt;get_text;&lt;br /&gt;
&lt;br /&gt;
      $config-&amp;gt;{'aMuledOn'} = $check_aMuled_on-&amp;gt;get_active;&lt;br /&gt;
&lt;br /&gt;
      &amp;amp;saveConfig; pathsVerify; popUpsAct; readSignatureConf;&lt;br /&gt;
      $guiOpciones-&amp;gt;destroy; &lt;br /&gt;
    } &lt;br /&gt;
  );&lt;br /&gt;
  $btnCancel-&amp;gt;signal_connect(&amp;quot;clicked&amp;quot;, sub { $guiOpciones-&amp;gt;destroy; } );&lt;br /&gt;
  $guiOpciones-&amp;gt;signal_connect('destroy' =&amp;gt; sub {$widget-&amp;gt;set_sensitive(1) if defined $widget;});&lt;br /&gt;
  $btnRutas1-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_home_aMule,&lt;br /&gt;
    $lang{selHomaMu}, 'select-folder'); });&lt;br /&gt;
  $btnRutas2-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_aMuleGui_path,&lt;br /&gt;
    flushChars($lang{selaMguiApp}), 'open'); });&lt;br /&gt;
  $btnRutas3-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_wxcas_path,&lt;br /&gt;
    flushChars($lang{selwxCasApp}), 'open'); });&lt;br /&gt;
  $btnRutas4-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_alc_path,&lt;br /&gt;
    flushChars($lang{selALCapp}), 'open'); });&lt;br /&gt;
  $btnRutas5-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_icon_path,&lt;br /&gt;
    flushChars($lang{selIcon}), 'open'); });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# loadConfig carga la configuración o la crea si no existe&lt;br /&gt;
sub loadConfig {&lt;br /&gt;
  if ( open( CONFIGFILE, &amp;quot;$ENV{HOME}/.aMule/amulet.rc&amp;quot; ) ) {&lt;br /&gt;
    while (&amp;lt;CONFIGFILE&amp;gt;) {&lt;br /&gt;
      if ( $_ =~ /(\w+)\s=\s(.+)/ ) { $config-&amp;gt;{$1} = $2 }&lt;br /&gt;
    }&lt;br /&gt;
    close CONFIGFILE;&lt;br /&gt;
  } else {&lt;br /&gt;
    # es la primera vez.&lt;br /&gt;
    mkdir &amp;quot;$ENV{HOME}/.aMule&amp;quot; unless (-d &amp;quot;$ENV{HOME}/.aMule&amp;quot;);&lt;br /&gt;
    $config = { # Por defecto&lt;br /&gt;
      'aMuleDir'        =&amp;gt; &amp;quot;$ENV{'HOME'}/.aMule&amp;quot;,&lt;br /&gt;
      'aMuleGuiApp'     =&amp;gt; 'amulegui',&lt;br /&gt;
      'wxCasApp'        =&amp;gt; 'wxcas',&lt;br /&gt;
      'aLinkCreatorApp' =&amp;gt; 'alc',&lt;br /&gt;
      'iconPath'        =&amp;gt; '/usr/share/pixmaps/amule.xpm',&lt;br /&gt;
      'appOnClick'      =&amp;gt; 'aMuleGui',&lt;br /&gt;
      'aMuledOn'        =&amp;gt; 1&lt;br /&gt;
    };&lt;br /&gt;
    foreach my $app (@appList) {&lt;br /&gt;
      $config-&amp;gt;{$app . 'App'} = which($config-&amp;gt;{$app . 'App'});&lt;br /&gt;
    }&lt;br /&gt;
    pathsVerify;&lt;br /&gt;
    &amp;amp;saveConfig;&lt;br /&gt;
  }&lt;br /&gt;
  pathsVerify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# saveConfig guarda la configuración en un archivo&lt;br /&gt;
sub saveConfig {&lt;br /&gt;
  my @keyList = ('aMuleDir', 'aMuleGuiApp', 'wxCasApp',&lt;br /&gt;
    'aLinkCreatorApp', 'iconPath', 'appOnClick', 'aMuledOn');&lt;br /&gt;
  if ( open( CONFIGFILE, '&amp;gt;', &amp;quot;$ENV{HOME}/.aMule/amulet.rc&amp;quot; ) ) {&lt;br /&gt;
    foreach my $key (@keyList) {&lt;br /&gt;
      print CONFIGFILE &amp;quot;$key = $config-&amp;gt;{$key}\n&amp;quot; if $config-&amp;gt;{$key} ne '';&lt;br /&gt;
    }&lt;br /&gt;
    close CONFIGFILE;&lt;br /&gt;
  }else {logSys(&amp;quot;warning&amp;quot;, $lang{noConfWrite});}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
# showMessage Muestra una ventana con un mensaje, y espera respuesta.&lt;br /&gt;
sub showMessage {&lt;br /&gt;
  #$icon info warning error question&lt;br /&gt;
  #$type none ok close cancel yes-no ok-cancel&lt;br /&gt;
  my ($icon,$text,$type) = @_;&lt;br /&gt;
  my $dialog = Gtk2::MessageDialog-&amp;gt;new_with_markup (undef,&lt;br /&gt;
     [qw/modal destroy-with-parent/], $icon, $type, sprintf &amp;quot;$text&amp;quot;);&lt;br /&gt;
  my $retval = $dialog-&amp;gt;run;&lt;br /&gt;
  $dialog-&amp;gt;destroy;&lt;br /&gt;
  return $retval;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# which Devuelve el path completo a la aplicación.&lt;br /&gt;
sub which {&lt;br /&gt;
  my $appFile = shift;&lt;br /&gt;
  foreach (split(':', $ENV{PATH})) {&lt;br /&gt;
    my $tmpStr = &amp;quot;$_/$appFile&amp;quot;;&lt;br /&gt;
    if (-x $tmpStr) {&lt;br /&gt;
      $appFile = $tmpStr;&lt;br /&gt;
      last;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return $appFile;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# dialogOpen ventana de selección de archivos o directorios y escribe&lt;br /&gt;
# el resultado en en el entry que debe ser el primer parámetro.&lt;br /&gt;
sub dialogOpen {&lt;br /&gt;
  # $widget debe ser un entry&lt;br /&gt;
  # $type open save select-folder create-folder&lt;br /&gt;
  my($widget,$caption,$type) =@_;&lt;br /&gt;
  my $chooserDialog =  Gtk2::FileChooserDialog-&amp;gt;new ($caption, undef, $type,&lt;br /&gt;
    'gtk-cancel' =&amp;gt; 'cancel', 'gtk-ok' =&amp;gt; 'ok');&lt;br /&gt;
  my $filename = $chooserDialog-&amp;gt;get_filename if 'ok' eq $chooserDialog-&amp;gt;run;&lt;br /&gt;
  $widget-&amp;gt;set_text ($filename) if defined $filename;&lt;br /&gt;
  $chooserDialog-&amp;gt;destroy;&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Translations&lt;br /&gt;
sub initLang {&lt;br /&gt;
  %lang_en = (&lt;br /&gt;
    not_X11_msg =&amp;gt; &amp;quot;ATTENTION: This script needs to be executed under the X Window&amp;quot;,&lt;br /&gt;
    not_TrayIcon_msg =&amp;gt; &amp;quot;ATTENTION: This script needs Gtk2::TrayIcon module\n&amp;quot; .&lt;br /&gt;
  	&amp;quot;\tYou can install it through CPAN in the following way:\n\n&amp;quot; .&lt;br /&gt;
        &amp;quot;\t~ \$ perl -MCPAN -e \'install Gtk2::TrayIcon\'\n\nbye&amp;quot;,&lt;br /&gt;
    interrupted_initialization =&amp;gt; &amp;quot; ha abortado el arranque.&amp;quot;,&lt;br /&gt;
    bad_blockage_file =&amp;gt; &amp;quot;I can't eliminate the blockade file&amp;quot;,&lt;br /&gt;
    initiated =&amp;gt; &amp;quot; Initiate&amp;quot;,&lt;br /&gt;
    icon_load_Error =&amp;gt; &amp;quot;Icon load error: &amp;quot;,&lt;br /&gt;
    options =&amp;gt; &amp;quot;options&amp;quot;,&lt;br /&gt;
    logfile =&amp;gt; &amp;quot;aMule log&amp;quot;,&lt;br /&gt;
    quit =&amp;gt; &amp;quot;Exit&amp;quot;,&lt;br /&gt;
    icon_load =&amp;gt; &amp;quot;Itself proceeds to load the internal icon.&amp;quot;,&lt;br /&gt;
    signs_assignment =&amp;gt; &amp;quot;Signs assignment&amp;quot;,&lt;br /&gt;
    witgets_show =&amp;gt; &amp;quot;Visualizing witgets&amp;quot;,&lt;br /&gt;
    init_msg_loop =&amp;gt; &amp;quot;Initiating messages loop&amp;quot;,&lt;br /&gt;
    just_end =&amp;gt; &amp;quot;It has just concluded: &amp;quot;,&lt;br /&gt;
    right_click_show =&amp;gt; &amp;quot; - Right click to show options&amp;quot;,&lt;br /&gt;
    Hid =&amp;gt; &amp;quot;[Hight ID]&amp;quot;,&lt;br /&gt;
    Lid =&amp;gt; &amp;quot;[Low ID]&amp;quot;,&lt;br /&gt;
    Conecting =&amp;gt; &amp;quot;[Connecting]&amp;quot;,&lt;br /&gt;
    dowSpeed =&amp;gt; &amp;quot;downSpeed&amp;quot;,&lt;br /&gt;
    upSpeed =&amp;gt; &amp;quot;upSpeed&amp;quot;,&lt;br /&gt;
    k_ok =&amp;gt; &amp;quot;[kad ok]&amp;quot;,&lt;br /&gt;
    k_fire =&amp;gt; &amp;quot;[kad firewalled]&amp;quot;,&lt;br /&gt;
    k_down =&amp;gt; &amp;quot;[kad off]&amp;quot;,&lt;br /&gt;
    aMd_off =&amp;gt; &amp;quot; [aMuled Not Conected]&amp;quot;,&lt;br /&gt;
    down =&amp;gt; &amp;quot; Down:&amp;quot;,&lt;br /&gt;
    ending =&amp;gt; &amp;quot;Concluding ...&amp;quot;,&lt;br /&gt;
    endChilds =&amp;gt; &amp;quot;Concluding possible children&amp;quot;,&lt;br /&gt;
    end_run_chld =&amp;gt; &amp;quot;it's in progress. Concluding him... &amp;quot;,&lt;br /&gt;
    hasntChld =&amp;gt; &amp;quot;There aren't child process of &amp;quot;,&lt;br /&gt;
    to_do_1 =&amp;gt; &amp;quot;Overt log files to final log file [if config]&amp;quot;,&lt;br /&gt;
    to_do_2 =&amp;gt; &amp;quot;It send setFocus to the application&amp;quot;,&lt;br /&gt;
    to_do_3 =&amp;gt; &amp;quot;try to show it as modal and wait the answer.&amp;quot;,&lt;br /&gt;
    inSys =&amp;gt; &amp;quot; in the system&amp;quot;,&lt;br /&gt;
    appEnd =&amp;gt; &amp;quot;Execution end&amp;quot;,&lt;br /&gt;
    child_begin =&amp;gt; &amp;quot;child process beginning with&amp;quot;,&lt;br /&gt;
    fork_error =&amp;gt; &amp;quot;error when making fork:&amp;quot;,&lt;br /&gt;
    stdout_redirect =&amp;gt; &amp;quot;STDOUT redirect for&amp;quot;,&lt;br /&gt;
    a =&amp;gt; &amp;quot;to&amp;quot;,&lt;br /&gt;
    exec_fail =&amp;gt; &amp;quot;ATTENTION: It failed the execution of&amp;quot;,&lt;br /&gt;
    father_loop =&amp;gt; &amp;quot;Process father circuit [son =&amp;gt;&amp;quot;,&lt;br /&gt;
    itsRun =&amp;gt; &amp;quot;it\'s already running!&amp;quot;,&lt;br /&gt;
    blockInit =&amp;gt; &amp;quot;block file init&amp;quot;,&lt;br /&gt;
    loadConf =&amp;gt; &amp;quot;Loading the configuration&amp;quot;,&lt;br /&gt;
    isaMuled =&amp;gt; &amp;quot;Beginning the amuled existence verification&amp;quot;,&lt;br /&gt;
    noaMuled =&amp;gt; &amp;quot;It isn\'t detected. Beginning amuled ...&amp;quot;,&lt;br /&gt;
    lock_chg =&amp;gt; &amp;quot;ATTENTION: You changes the order  &amp;quot;,&lt;br /&gt;
    yourself =&amp;gt; &amp;quot;under your responsibility  &amp;quot;,&lt;br /&gt;
    aMrun =&amp;gt; &amp;quot;It has been detected that aMule is running &amp;quot;,&lt;br /&gt;
    tiTools =&amp;gt; &amp;quot;aMulet.pl was designed thinking of the remote tools&amp;quot;,&lt;br /&gt;
    alfsay =&amp;gt; &amp;quot;It would WORK, but I don't see the necessity of it.  STOP!!&amp;quot;,&lt;br /&gt;
    aMuledInit =&amp;gt; &amp;quot;The amuled has been started.&amp;quot;,&lt;br /&gt;
    aMuledNoRun =&amp;gt; &amp;quot;It hasn\'t been possible to execute the amuled! &amp;quot;,&lt;br /&gt;
    check_no_run =&amp;gt; &amp;quot;Do I disable the option of pulling up the amuled in the configuration? &amp;quot;,&lt;br /&gt;
    aMnoHere =&amp;gt; &amp;quot;Disable this option if the aMuled is residing in another machine of your net.&amp;quot;,&lt;br /&gt;
    noaMGui =&amp;gt; &amp;quot;I haven\'t detected the aMuleGui.&amp;quot;,&lt;br /&gt;
    whereaMGUI =&amp;gt; &amp;quot;It will indicate where is this located in the configuration&amp;quot;,&lt;br /&gt;
    aMuledIs =&amp;gt; &amp;quot;aMuled has been detected:)) &amp;quot;,&lt;br /&gt;
    noRunInit =&amp;gt; &amp;quot;ATTENTION won't be detected neither it will pull up the aMuled&amp;quot;,&lt;br /&gt;
    noRunInit2 =&amp;gt; &amp;quot;          It can modify this in the configuration&amp;quot;,&lt;br /&gt;
    click_veryfy =&amp;gt; &amp;quot;Verifying the application that icon click responds.&amp;quot;,&lt;br /&gt;
    writeItInConf =&amp;gt; &amp;quot;You should indicate in the configuration where are the executable one&amp;quot;,&lt;br /&gt;
    of_app =&amp;gt; &amp;quot;of the application&amp;quot;,&lt;br /&gt;
    another =&amp;gt; &amp;quot;or to choose one another&amp;quot;,&lt;br /&gt;
    jump_step =&amp;gt; &amp;quot;You can indicate in the configuration file that jumps this step&amp;quot;,&lt;br /&gt;
    appAnsw =&amp;gt; &amp;quot;application that icon click responds&amp;quot;,&lt;br /&gt;
    menu_off =&amp;gt; &amp;quot;Disabling menu call&amp;quot;,&lt;br /&gt;
    texView =&amp;gt; &amp;quot;Text viewer&amp;quot;,&lt;br /&gt;
    Shw_log_win =&amp;gt; &amp;quot;Showing log win&amp;quot;,&lt;br /&gt;
    with =&amp;gt; &amp;quot;with&amp;quot;,&lt;br /&gt;
    connPort =&amp;gt; &amp;quot;it\'s connected to  port&amp;quot;,&lt;br /&gt;
    hi =&amp;gt; &amp;quot;high&amp;quot;,&lt;br /&gt;
    low =&amp;gt; &amp;quot;low&amp;quot;,&lt;br /&gt;
    ande =&amp;gt; &amp;quot;and the&amp;quot;,&lt;br /&gt;
    nk =&amp;gt; &amp;quot;kad net&amp;quot;,&lt;br /&gt;
    okcon =&amp;gt; &amp;quot;connected OK&amp;quot;,&lt;br /&gt;
    infire =&amp;gt; &amp;quot;in firewalled&amp;quot;,&lt;br /&gt;
    disconnec =&amp;gt; &amp;quot;disconnected&amp;quot;,&lt;br /&gt;
    ittake =&amp;gt; &amp;quot;it takes &amp;quot;,&lt;br /&gt;
    sec =&amp;gt; &amp;quot; seconds&amp;quot;,&lt;br /&gt;
    min =&amp;gt; &amp;quot;minutes and&amp;quot;,&lt;br /&gt;
    hours =&amp;gt; &amp;quot; hours&amp;quot;,&lt;br /&gt;
    days =&amp;gt; &amp;quot;days&amp;quot;,&lt;br /&gt;
    of =&amp;gt; &amp;quot;of&amp;quot;,&lt;br /&gt;
    connected =&amp;gt; &amp;quot;connected&amp;quot;,&lt;br /&gt;
    inthistime =&amp;gt; &amp;quot;and in this time it has discharged: &amp;quot;,&lt;br /&gt;
    downTotal =&amp;gt; &amp;quot;with that has a total discharged of &amp;quot;,&lt;br /&gt;
    sharealso =&amp;gt; &amp;quot;also shares&amp;quot;,&lt;br /&gt;
    sesionFiles =&amp;gt; &amp;quot;files and in this session&amp;quot;,&lt;br /&gt;
    obtaining =&amp;gt; &amp;quot;obtaining a&amp;quot;,&lt;br /&gt;
    upload =&amp;gt; &amp;quot;they has ascended&amp;quot;,&lt;br /&gt;
    atotal =&amp;gt; &amp;quot;total of&amp;quot;,&lt;br /&gt;
    totalup =&amp;gt; &amp;quot;ascended to the Net&amp;quot;,&lt;br /&gt;
    hasRight =&amp;gt; &amp;quot;in line it has right now&amp;quot;,&lt;br /&gt;
    cli =&amp;gt; &amp;quot;clients&amp;quot;,&lt;br /&gt;
    callOff =&amp;gt; &amp;quot;Disabling the call in the menu&amp;quot;,&lt;br /&gt;
    runAsServer =&amp;gt; &amp;quot;Run aMule like service at the beginning (if don't run).&amp;quot;,&lt;br /&gt;
    general =&amp;gt; &amp;quot;General&amp;quot;,&lt;br /&gt;
    about =&amp;gt; &amp;quot;About&amp;quot;,&lt;br /&gt;
    aboutAmuled =&amp;gt; &amp;quot;About aMuled Service&amp;quot;,&lt;br /&gt;
    AHD =&amp;gt; &amp;quot;aMule Home Dir&amp;quot;,&lt;br /&gt;
    appPaht =&amp;gt; &amp;quot;Applications path&amp;quot;,&lt;br /&gt;
    iconShow =&amp;gt; &amp;quot;Icon that will be shown in the task bar&amp;quot;,&lt;br /&gt;
    icon =&amp;gt; &amp;quot;Icon:&amp;quot;,&lt;br /&gt;
    whatapp =&amp;gt; &amp;quot;What application will be launcher when icon click?&amp;quot;,&lt;br /&gt;
    oneHawk =&amp;gt; &amp;quot;by AnimAlf - AnimAlf\@users.sourceforge.net&amp;quot;,&lt;br /&gt;
    oneIdea =&amp;gt; &amp;quot;a tx2z idea in http://forum.amule.org,&amp;quot;,&lt;br /&gt;
    ideaOf =&amp;gt; &amp;quot;An idea of&amp;quot;,&lt;br /&gt;
    in =&amp;gt; &amp;quot;in&amp;quot;,&lt;br /&gt;
    options =&amp;gt; &amp;quot;aMulet.pl options&amp;quot;,&lt;br /&gt;
    shoOpsWin =&amp;gt; &amp;quot;Showing options widget&amp;quot;,&lt;br /&gt;
    beModal =&amp;gt; &amp;quot;Mush be modal as showMessage&amp;quot;,&lt;br /&gt;
    licence =&amp;gt; &amp;quot;Distributed under GPL license&amp;quot;,&lt;br /&gt;
    selec =&amp;gt; &amp;quot;Select&amp;quot;,&lt;br /&gt;
    itisnt =&amp;gt; &amp;quot;or it doesn\'t exist&amp;quot;,&lt;br /&gt;
    isntDir =&amp;gt; &amp;quot;It isn\'t a directory&amp;quot;,&lt;br /&gt;
    isntExe =&amp;gt; &amp;quot;It isn\'t an executable one&amp;quot;,&lt;br /&gt;
    dontExist =&amp;gt; &amp;quot;It doesn\'t seem that it exists&amp;quot;,&lt;br /&gt;
    detectAny =&amp;gt; &amp;quot;The following things has been detected:&amp;quot;,&lt;br /&gt;
    wantContinue =&amp;gt; &amp;quot;Do you want continue anyway?&amp;quot;,&lt;br /&gt;
    iconWhenRestart =&amp;gt; &amp;quot;Icon will change when you restarts the application.&amp;quot;,&lt;br /&gt;
    selHomaMu =&amp;gt; &amp;quot;Select the aMule home directory&amp;quot;,&lt;br /&gt;
    selaMguiApp =&amp;gt; &amp;quot;Select the aMuleGui application&amp;quot;,&lt;br /&gt;
    selwxCasApp =&amp;gt; &amp;quot;Select the wxCas application&amp;quot;,&lt;br /&gt;
    selALCapp =&amp;gt; &amp;quot;Select the aLinCreator application&amp;quot;,&lt;br /&gt;
    selIcon =&amp;gt; &amp;quot;Select the icon that will use aMulet&amp;quot;,&lt;br /&gt;
    noConfWrite =&amp;gt; &amp;quot;One cann\'t write in the configuration file!&amp;quot;&lt;br /&gt;
  );&lt;br /&gt;
&lt;br /&gt;
  %lang_es = (&lt;br /&gt;
    not_X11_msg =&amp;gt; &amp;quot;ATENCIÓN: Este script necesita ser ejecutado bajo las X Window&amp;quot;,&lt;br /&gt;
    not_TrayIcon_msg =&amp;gt; &amp;quot;ATENCIÓN: Este script necesita el módulo Gtk2::TrayIcon\n&amp;quot; .&lt;br /&gt;
  	&amp;quot;\tPuede instalarlo a través de CPAN del siguiente modo:\n\n&amp;quot; .&lt;br /&gt;
        &amp;quot;\t~ \$ perl -MCPAN -e \'install Gtk2::TrayIcon\'\n\nbye&amp;quot;,&lt;br /&gt;
    interrupted_initialization =&amp;gt; &amp;quot; ha abortado el arranque.&amp;quot;,&lt;br /&gt;
    bad_blockage_file =&amp;gt; &amp;quot;No puedo eliminar el archivo de bloqueo&amp;quot;,&lt;br /&gt;
    initiated =&amp;gt; &amp;quot; iniciado&amp;quot;,&lt;br /&gt;
    icon_load_Error =&amp;gt; &amp;quot;Error al cargar el icono: &amp;quot;,&lt;br /&gt;
    options =&amp;gt; &amp;quot;opciones&amp;quot;,&lt;br /&gt;
    logfile =&amp;gt; &amp;quot;log del aMule&amp;quot;,&lt;br /&gt;
    quit =&amp;gt; &amp;quot;Salir&amp;quot;,&lt;br /&gt;
    icon_load =&amp;gt; &amp;quot;Se procede a cargar el icono interno.&amp;quot;,&lt;br /&gt;
    signs_assignment =&amp;gt; &amp;quot;Asignación de señales&amp;quot;,&lt;br /&gt;
    witgets_show =&amp;gt; &amp;quot;Visualizando los witgets&amp;quot;,&lt;br /&gt;
    init_msg_loop =&amp;gt; &amp;quot;Inicio del bucle de mensajes&amp;quot;,&lt;br /&gt;
    just_end =&amp;gt; &amp;quot;Acaba de finalizar: &amp;quot;,&lt;br /&gt;
    right_click_show =&amp;gt; &amp;quot; - Click derecho para opciones&amp;quot;,&lt;br /&gt;
    Hid =&amp;gt; &amp;quot;[ID alta]&amp;quot;,&lt;br /&gt;
    Lid =&amp;gt; &amp;quot;[ID baja]&amp;quot;,&lt;br /&gt;
    Conecting =&amp;gt; &amp;quot;[Conectando]&amp;quot;,&lt;br /&gt;
    dowSpeed =&amp;gt; &amp;quot;downSpeed&amp;quot;,&lt;br /&gt;
    upSpeed =&amp;gt; &amp;quot;upSpeed&amp;quot;,&lt;br /&gt;
    k_ok =&amp;gt; &amp;quot;[kad ok]&amp;quot;,&lt;br /&gt;
    k_fire =&amp;gt; &amp;quot;[kad firewalled]&amp;quot;,&lt;br /&gt;
    k_down =&amp;gt; &amp;quot;[kad off]&amp;quot;,&lt;br /&gt;
    aMd_off =&amp;gt; &amp;quot; [aMuled No Conectado]&amp;quot;,&lt;br /&gt;
    down =&amp;gt; &amp;quot; Bajada:&amp;quot;,&lt;br /&gt;
    ending =&amp;gt; &amp;quot;Finalizando ...&amp;quot;,&lt;br /&gt;
    endChilds =&amp;gt; &amp;quot;Finalizando posibles hijos&amp;quot;,&lt;br /&gt;
    end_run_chld =&amp;gt; &amp;quot;está en marcha. Finalizándolo ...&amp;quot;,&lt;br /&gt;
    hasntChld =&amp;gt; &amp;quot;No quedan procesos hijo de &amp;quot;,&lt;br /&gt;
    to_do_1 =&amp;gt; &amp;quot;volcar archivo log a log final [si se le ordena]&amp;quot;,&lt;br /&gt;
    to_do_2 =&amp;gt; &amp;quot;Enviar setFocus a la aplicación&amp;quot;,&lt;br /&gt;
    to_do_3 =&amp;gt; &amp;quot;Intentar mostrarlo como modal y esperar respuesta.&amp;quot;,&lt;br /&gt;
    inSys =&amp;gt; &amp;quot; en el sistema&amp;quot;,&lt;br /&gt;
    appEnd =&amp;gt; &amp;quot;Terminada la ejecución&amp;quot;,&lt;br /&gt;
    child_begin =&amp;gt; &amp;quot;child process beginning with&amp;quot;,&lt;br /&gt;
    fork_error =&amp;gt; &amp;quot;error al hacer fork:&amp;quot;,&lt;br /&gt;
    stdout_redirect =&amp;gt; &amp;quot;Redirección de STDOUT para&amp;quot;,&lt;br /&gt;
    a =&amp;gt; &amp;quot;a&amp;quot;,&lt;br /&gt;
    exec_fail =&amp;gt; &amp;quot;ATENCIÓN: Falló la ejecución de&amp;quot;,&lt;br /&gt;
    father_loop =&amp;gt; &amp;quot;Circuito del proceso padre [hijo=&amp;gt;&amp;quot;,&lt;br /&gt;
    itsRun =&amp;gt; &amp;quot;ya está funcionando!&amp;quot;,&lt;br /&gt;
    blockInit =&amp;gt; &amp;quot;Iniciando archivo de bloqueo&amp;quot;,&lt;br /&gt;
    loadConf =&amp;gt; &amp;quot;Cargando la configuración&amp;quot;,&lt;br /&gt;
    isaMuled =&amp;gt; &amp;quot;Iniciando la verificación de la existencia de amuled&amp;quot;,&lt;br /&gt;
    noaMuled =&amp;gt; &amp;quot;No se detecta. Iniciando amuled ...&amp;quot;,&lt;br /&gt;
    lock_chg =&amp;gt; &amp;quot;ATENCIÓN: Cambie la orden&amp;quot;,&lt;br /&gt;
    yourself =&amp;gt; &amp;quot;bajo su responsabilidad&amp;quot;,&lt;br /&gt;
    aMrun =&amp;gt; &amp;quot;Se ha detectado que el aMule está en marcha &amp;quot;,&lt;br /&gt;
    tiTools =&amp;gt; &amp;quot;aMulet.pl se diseñó pensando en las herramientas remotas&amp;quot;,&lt;br /&gt;
    alfsay =&amp;gt; &amp;quot;FUNCIONARÍA, pero no veo la necesidad de ello.  STOP!!&amp;quot;,&lt;br /&gt;
    aMuledInit =&amp;gt; &amp;quot;El amuled ha sido puesto en marcha.&amp;quot;,&lt;br /&gt;
    aMuledNoRun =&amp;gt; &amp;quot;No se ha podido ejecutar el amuled!&amp;quot;,&lt;br /&gt;
    check_no_run =&amp;gt; &amp;quot;¿Desactivo la opción de arrancar el amuled en la configuración?&amp;quot;,&lt;br /&gt;
    aMnoHere =&amp;gt; &amp;quot;Desactive esta opción si el aMuled está residente en otra máquina de su red.&amp;quot;,&lt;br /&gt;
    noaMGui =&amp;gt; &amp;quot;No he detectado el aMuleGui.&amp;quot;,&lt;br /&gt;
    whereaMGUI =&amp;gt; &amp;quot;Deberá indicar donde está situado éste en la configuración&amp;quot;,&lt;br /&gt;
    aMuledIs =&amp;gt; &amp;quot;El aMuled ha sido detectado :))&amp;quot;,&lt;br /&gt;
    noRunInit =&amp;gt; &amp;quot;ATENCIÓN No se detectará ni arrancará el aMuled&amp;quot;,&lt;br /&gt;
    noRunInit2 =&amp;gt; &amp;quot;         Se puede modificar esto en la configuración&amp;quot;,&lt;br /&gt;
    click_veryfy =&amp;gt; &amp;quot;Verificando la aplicación que responde al click del icono.&amp;quot;,&lt;br /&gt;
    writeItInConf =&amp;gt; &amp;quot;Debe indicar en la configuración dónde residen el ejecutable&amp;quot;,&lt;br /&gt;
    of_app =&amp;gt; &amp;quot;de la aplicación&amp;quot;,&lt;br /&gt;
    another =&amp;gt; &amp;quot;o escoger otra&amp;quot;,&lt;br /&gt;
    jump_step =&amp;gt; &amp;quot;Se puede indicar en la configuración que se salte este paso&amp;quot;,&lt;br /&gt;
    appAnsw =&amp;gt; &amp;quot;aplicación que responda al click en el icono&amp;quot;,&lt;br /&gt;
    menu_off =&amp;gt; &amp;quot;Deshabilitando la llamada en el menú&amp;quot;,&lt;br /&gt;
    texView =&amp;gt; &amp;quot;Visor de Texto&amp;quot;,&lt;br /&gt;
    Shw_log_win =&amp;gt; &amp;quot;Mostrando la ventana de logs&amp;quot;,&lt;br /&gt;
    with =&amp;gt; &amp;quot;con&amp;quot;,&lt;br /&gt;
    connPort =&amp;gt; &amp;quot;está conectado al puerto&amp;quot;,&lt;br /&gt;
    hi =&amp;gt; &amp;quot;alta&amp;quot;,&lt;br /&gt;
    low =&amp;gt; &amp;quot;baja&amp;quot;,&lt;br /&gt;
    ande =&amp;gt; &amp;quot;y la&amp;quot;,&lt;br /&gt;
    nk =&amp;gt; &amp;quot;red kad&amp;quot;,&lt;br /&gt;
    okcon =&amp;gt; &amp;quot;bien conectada&amp;quot;,&lt;br /&gt;
    infire =&amp;gt; &amp;quot;en firewalled&amp;quot;,&lt;br /&gt;
    disconnec =&amp;gt; &amp;quot;desconectada&amp;quot;,&lt;br /&gt;
    ittake =&amp;gt; &amp;quot;lleva &amp;quot;,&lt;br /&gt;
    sec =&amp;gt; &amp;quot; segundos&amp;quot;,&lt;br /&gt;
    min =&amp;gt; &amp;quot;minutos y&amp;quot;,&lt;br /&gt;
    hours =&amp;gt; &amp;quot; horas&amp;quot;,&lt;br /&gt;
    days =&amp;gt; &amp;quot;dias&amp;quot;,&lt;br /&gt;
    of =&amp;gt; &amp;quot;de&amp;quot;,&lt;br /&gt;
    connected =&amp;gt; &amp;quot;conectado&amp;quot;,&lt;br /&gt;
    inthistime =&amp;gt; &amp;quot;y en este tiempo ha descargado: &amp;quot;,&lt;br /&gt;
    downTotal =&amp;gt; &amp;quot;con lo que tiene un total descagado de &amp;quot;,&lt;br /&gt;
    sharealso =&amp;gt; &amp;quot;Además comparte&amp;quot;,&lt;br /&gt;
    sesionFiles =&amp;gt; &amp;quot;archivos y en esta sesión&amp;quot;,&lt;br /&gt;
    obtaining =&amp;gt; &amp;quot;obteniendo un&amp;quot;,&lt;br /&gt;
    upload =&amp;gt; &amp;quot;se han subido&amp;quot;,&lt;br /&gt;
    atotal =&amp;gt; &amp;quot;total de&amp;quot;,&lt;br /&gt;
    totalup =&amp;gt; &amp;quot;subidos a la Red&amp;quot;,&lt;br /&gt;
    hasRight =&amp;gt; &amp;quot;en cola tiene ahora mismo&amp;quot;,&lt;br /&gt;
    cli =&amp;gt; &amp;quot;clientes&amp;quot;,&lt;br /&gt;
    callOff =&amp;gt; &amp;quot;Deshabilitando la llamada en el menú&amp;quot;,&lt;br /&gt;
    runAsServer =&amp;gt; &amp;quot;Arrancar aMule como servicio al principio (si no lo está)&amp;quot;,&lt;br /&gt;
    general =&amp;gt; &amp;quot;General&amp;quot;,&lt;br /&gt;
    about =&amp;gt; &amp;quot;About&amp;quot;,&lt;br /&gt;
    aboutAmuled =&amp;gt; &amp;quot;Relacionado con el Servicio amuled&amp;quot;,&lt;br /&gt;
    AHD =&amp;gt; &amp;quot;aMule Home Dir&amp;quot;,&lt;br /&gt;
    appPaht =&amp;gt; &amp;quot;Ruta a las aplicaciones&amp;quot;,&lt;br /&gt;
    iconShow =&amp;gt; &amp;quot;Icono que se mostrará en la barra&amp;quot;,&lt;br /&gt;
    icon =&amp;gt; &amp;quot;Icono:&amp;quot;,&lt;br /&gt;
    whatapp =&amp;gt; &amp;quot;¿Qué aplicación arrancará tras hacer click en el icono?&amp;quot;,&lt;br /&gt;
    oneHawk =&amp;gt; &amp;quot;by AnimAlf - AnimAlf\@users.sourceforge.net&amp;quot;,&lt;br /&gt;
    oneIdea =&amp;gt; &amp;quot;una idea de tx2z en http://forum.amule.org&amp;quot;,&lt;br /&gt;
    ideaOf =&amp;gt; &amp;quot;Una idea de&amp;quot;,&lt;br /&gt;
    in =&amp;gt; &amp;quot;en&amp;quot;,&lt;br /&gt;
    options =&amp;gt; &amp;quot;Opciones aMulet.pl&amp;quot;,&lt;br /&gt;
    shoOpsWin =&amp;gt; &amp;quot;Mostrando la ventana de opciones&amp;quot;,&lt;br /&gt;
    beModal =&amp;gt; &amp;quot;Que sea modal tipo showMessage&amp;quot;,&lt;br /&gt;
    licence =&amp;gt; &amp;quot;Distribuido bajo la licencia GPL&amp;quot;,&lt;br /&gt;
    selec =&amp;gt; &amp;quot;Selecciona&amp;quot;,&lt;br /&gt;
    itisnt =&amp;gt; &amp;quot;o no existe&amp;quot;,&lt;br /&gt;
    isntDir =&amp;gt; &amp;quot;No es un directorio&amp;quot;,&lt;br /&gt;
    isntExe =&amp;gt; &amp;quot;No es un ejecutable&amp;quot;,&lt;br /&gt;
    dontExist =&amp;gt; &amp;quot;No parece que exista&amp;quot;,&lt;br /&gt;
    detectAny =&amp;gt; &amp;quot;Se ha detectado lo siguiente:&amp;quot;,&lt;br /&gt;
    wantContinue =&amp;gt; &amp;quot;¿Desea continuar de todos modos?&amp;quot;,&lt;br /&gt;
    iconWhenRestart =&amp;gt; &amp;quot;El icono cambiará cuando reinicie la aplicación.&amp;quot;,&lt;br /&gt;
    selHomaMu =&amp;gt; &amp;quot;Seleccione el directorio home de aMule&amp;quot;,&lt;br /&gt;
    selaMguiApp =&amp;gt; &amp;quot;Seleccione la aplicación aMuleGui&amp;quot;,&lt;br /&gt;
    selwxCasApp =&amp;gt; &amp;quot;Seleccione la aplicación wxCas&amp;quot;,&lt;br /&gt;
    selALCapp =&amp;gt; &amp;quot;Seleccione la aplicación aLinCreator&amp;quot;,&lt;br /&gt;
    selIcon =&amp;gt; &amp;quot;Seleccione el icono que utilizará aMulet&amp;quot;,&lt;br /&gt;
    noConfWrite =&amp;gt; &amp;quot;No se puede escribir en el archivo de configuración!&amp;quot;&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_en</id>
		<title>Amulet pl en</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_en"/>
				<updated>2008-02-17T06:14:05Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Usage TOCleft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl es|español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
{{TOCleft}}&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' for [[AMuled|amuled]] (''&amp;lt;u&amp;gt;aMule daemon&amp;lt;/u&amp;gt;'')&lt;br /&gt;
    &lt;br /&gt;
It is a script written in perl with [http://gtk2-perl.sourceforge.net GTK2] module. Its intention is to be able to show a '''well-known icon''' that identifies the service, to be able to launch those applications that are part of the [[AMule|aMule]] project and they are linked with with the remote service.    &lt;br /&gt;
    &lt;br /&gt;
In these moments, it calls to the [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] and [[WxCAS|wxCas]] (if exists). Alone if they aren't working already. Also show the '''aMule log''' file in a separated window.&lt;br /&gt;
    &lt;br /&gt;
Everything is controlled with the mouse, pressing the left button, the application that we select is shown, with the right button, we are deployed a ''contextual'' menu, with the options list.    &lt;br /&gt;
    &lt;br /&gt;
When starting up it checks that if in the local machine the aMule or aMuled is running, you can configure so that if it isn't, this starts up automatically (amuled).    &lt;br /&gt;
    &lt;br /&gt;
It only works in '''GNU/Linux''', although I was looking at the option of making it also work in Windows. Of the rest of operating systems, me don't know.    &lt;br /&gt;
    &lt;br /&gt;
The requirements of the system, it usually shows them the own script when beginning. It tries to hunt the errors, to show the necessity for the standard exit. It also has a log system that they are overturned in a file, but only for each session, eliminating the previous one after each outburst.    &lt;br /&gt;
    &lt;br /&gt;
== TODO ==&lt;br /&gt;
    &lt;br /&gt;
:*Translations and to work with files of translations.    &lt;br /&gt;
:*Interaction with amulecmd    &lt;br /&gt;
:*That runs in windows.&lt;br /&gt;
:*it modify shared directories list    &lt;br /&gt;
:*Searches and eLinks insert&lt;br /&gt;
&lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
This not, but [[amulet pl src|here you have the perl script]]. You only have to copy it in a file with the name that you want, better aMulet.pl, to give him execution permits and to execute it. First times you execute it from XShell to see if one needs some requirement.    &lt;br /&gt;
    &lt;br /&gt;
== HISTORY ==&lt;br /&gt;
The history of this script can observe it in [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc this thread].&lt;br /&gt;
    &lt;br /&gt;
What will happen with him will be able see  here, of course ; -)&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by AnimAlf on 07.12.06 at 01:36&amp;lt;br /&amp;gt;&lt;br /&gt;
Updated by AnimAlf on 16.02.08 at 16:18 (gtm +1)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_es</id>
		<title>Amulet pl es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_es"/>
				<updated>2008-02-17T06:12:51Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: usage TOCleft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl en|english]]&amp;lt;/center&amp;gt;&lt;br /&gt;
{{TOCleft}}&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' para [[AMuled|amuled]] (''&amp;lt;u&amp;gt;amule como servicio&amp;lt;/u&amp;gt;'')&lt;br /&gt;
&lt;br /&gt;
Se trata de un script escrito en perl que utiliza [http://gtk2-perl.sourceforge.net GTK2]. Su intención es poder mostrar '''un conocido icono''' que identifique el servicio, para poder lançar aquellas aplicaciones que forman parte del proyecto [[AMule-es|aMule]] y están vinculadas con con el servicio remoto.&lt;br /&gt;
&lt;br /&gt;
En estos momentos, llama al [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] i al [[WxCAS|wxCas]]. &amp;lt;u&amp;gt;Sólo si no están ya funcionando&amp;lt;/u&amp;gt;. También muestra el '''archivo de log''' del aMule en una ventana aparte.&lt;br /&gt;
&lt;br /&gt;
Todo él se controla con el ratón, pulsando el botón izquierdo, lanza la aplicación que hallamos elegido para que sea mostrada, con el botón derecho, se nos despliega un menú contextual, con la lista de opciones a elegir.&lt;br /&gt;
&lt;br /&gt;
Al arrancar comprueba que si en la máquina local está corriendo el aMule, se puede configurar para que si no lo está, éste arranque automáticamente.&lt;br /&gt;
&lt;br /&gt;
Sólo funciona en GNU/Linux, aunque estuve mirando la opción de hacerlo funcionar también en Windows. Del resto de sistemas yo no se.&lt;br /&gt;
&lt;br /&gt;
Los requerimientos del sistema, los suele mostrar el propio script al iniciarse. Procuré cazar los errores, para mostrar la necesidad por la salida estandar. También tiene un sistema de log que se vuelcan en un archivo, pero único por cada sesión, eliminando el anterior tras cada arranque.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
:*Traducciones y trabajar con archivos de traducciones.&lt;br /&gt;
:*Interacción con amulecmd&lt;br /&gt;
:*Que corra en windows.&lt;br /&gt;
:*Modificar la lista de directorios compartidos&lt;br /&gt;
:*Busquedas y añadir eLinks&lt;br /&gt;
&lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
Pues eso no, pero [[amulet pl src|aquí tienes el script en perl]]. Sólo tienes que copiarlo en un archivo con el nombre que quieras, mejor aMulet.pl, darle permisos de ejecución y ejecutarlo. Las primeras veces ejecutalo desde XShell para ver si se necesita algún requerimiento.&lt;br /&gt;
&lt;br /&gt;
== HISTORIA ==&lt;br /&gt;
La historia de este script la puedes observar en [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc este thread].&lt;br /&gt;
&lt;br /&gt;
Lo que ocurrirá con él lo podrás seguir por aquí claro ;-)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Template:TOCleft</id>
		<title>Template:TOCleft</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Template:TOCleft"/>
				<updated>2008-02-17T06:10:54Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Template:TOCleft&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;div style=&amp;quot;margin: 0 0.5em 0.5em 0; padding: 0.5em 1.4em 0.8em 0; float: left;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
'''Usage:''' &amp;lt;nowiki&amp;gt;{{TDCizq}}&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The content's table of all your sections will be located to the left allowing the text to its right.&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_problems</id>
		<title>AMule problems</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_problems"/>
				<updated>2008-02-17T05:54:01Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: take out rubbish&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
'''English''' | [[AMule_problems-es|Spanish]] | [[AMule_problems-nl|Nederlands]] | [[AMule_problems-hu|Magyar]] | [[AMule_problems-de|German]] | [[AMule_problems-it|Italiano ]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== I get an &amp;quot;aMule already running: exiting&amp;quot; message on the terminal when starting aMule. Will I be able to start it anyways? ==&lt;br /&gt;
The message is very clear: [[aMule]] is already running. But this doesn't refer to the entire system, rather that '''you''' (your user account) is already running [[aMule]].&lt;br /&gt;
&lt;br /&gt;
It might seem that there is no instance of [[aMule]] running if it crashed on you. However, what sometimes happens is that some processes aren't completely closed keeping them in a state known as ''zombie'' or ''defunct''. To find out if this is your problem, run ''ps u | grep amule'' and if it shows any output (except the grep output itself), then there's some other [[aMule]] process running with your account. To kill it, either close it normally (if you can) or kill it with ''kill -9 &amp;lt;aMule-PID&amp;gt;'' or ''killall -9 amule'' or logoff and log in again (which, in most cases, will kill all [[aMule]] processes, unless you executed [[aMule]] with ''nohup'' or something similar).&lt;br /&gt;
&lt;br /&gt;
If you are certain that there are no [[aMule]] processes,check if a [[MuleLock_file|muleLock]] file exists in your ~/.aMule directory ,and then delete it to restore the normal behaviour of [[aMule]].&lt;br /&gt;
&lt;br /&gt;
It's also possible that aMule can't write in it's config direcotory ~/.aMule. For example because of no free space available.&lt;br /&gt;
&lt;br /&gt;
If none of the above suits you, then you can run another instance of [[aMule]] as another user (if you can log in with another account, of course). Read [[FAQ_aMule#Can_I_run_two_aMule_instances_at_the_same_time?|Can I run two aMule instances at the same time?]].&lt;br /&gt;
&lt;br /&gt;
== aMule starts but is never shown but works fine. What's going on? ==&lt;br /&gt;
This commonly happens when you set the type of systray integration, in Preferences -&amp;gt; General -&amp;gt; Misc Options, to ''Minimize to trayicon'' which starts [[aMule]] minimized.&lt;br /&gt;
&lt;br /&gt;
To be able to recover aMule's GUI, edit ''~/.aMule/amule.conf'' and search for ''StartupMinimized=1'' and once you find it, change that line to ''StartupMinimized=0''. The following script will do that for you:&lt;br /&gt;
&lt;br /&gt;
''sed s/StartupMinimized=1/StartupMinimized=0/ ~/.aMule/amule.conf &amp;gt; ~/.aMule/amule.conf.temp &amp;amp;&amp;amp; mv -f ~/.aMule/amule.conf.temp ~/.aMule/amule.conf''&lt;br /&gt;
&lt;br /&gt;
When you next start [[aMule]] set the correct systray integration in Preferences so that you can enable &amp;quot;Start minimized&amp;quot; without having [[aMule]] hidden.&lt;br /&gt;
&lt;br /&gt;
If, for some reason, the above didn't work, try changing the Systray integration manually to the default by unchecking the &amp;quot;Enable tray icon'' option. To do so, set the ''DesktopMode='' value in ''~/.aMule/amule.conf'' to ''4''. The following script will do that for you:&lt;br /&gt;
&lt;br /&gt;
''sed s/DesktopMode=[0-9]/DesktopMode=4/ ~/.aMule/amule.conf &amp;gt; ~/.aMule/amule.conf.temp &amp;amp;&amp;amp; mv -f ~/.aMule/amule.conf.temp ~/.aMule/amule.conf''&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' On [[aMule]] versions previous to 2.0.0rc4, you should set it to ''1'' instead of ''4'' since the Preferences storage changed a little.&lt;br /&gt;
&lt;br /&gt;
== aMule starts but is never connecting/behaving very weird/crashing almost every few seconds/etc...? ==&lt;br /&gt;
aMule versions up to 2.0.0-rc3 shouldn't be linked against wxWidgets 2.5.x neither GTK2 although some Linux distributions tend to do so. Please make sure your aMule isn't the case. If unsure, paste your backtrace at [http://www.amule.org/amule/board.php?boardid=33 aMule's Backtraces forum] or join aMule's IRC channel #amule at irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
== Where are my downloaded files? ==&lt;br /&gt;
By default, aMule stores completed files in ''~/.aMule/Incoming'' but, since ''~/.aMule'' directory is a hidden directory, your file manager might not show it. Make sure you have enabled your file manager to show hidden files.&lt;br /&gt;
&lt;br /&gt;
By default, files being downloaded are placed in ''~/.aMule/Temp'', so again, this is a hidden directory and the file managed must be configured to show hidden files.&lt;br /&gt;
&lt;br /&gt;
== Why is aMule taking so much CPU resources at start-up? ==&lt;br /&gt;
This happens because aMule is hashing new files found on the Shared Directories.&lt;br /&gt;
&lt;br /&gt;
If aMule is always taking a lot of CPU at startup and no new files have been added or modified in any way in the Shared Directories, then something is wrong.&lt;br /&gt;
&lt;br /&gt;
In aMule versions earlier than 2.0.0-rc3 this used to happen when having the Temp, Incoming or any Shared Directory in a FAT32 partition. Since aMule 2.0.0-rc3 this is not happening any more.&lt;br /&gt;
&lt;br /&gt;
Also, in aMule versions earlier than 2.0.0-rc4 filesystems with UTF-8 encoding (known to happen with SuSE 9.1) could present problems when some file or directory in the Shared Directories path contained a special character. If this is your problem, there's a workaround (thanks '''nachbarnebenan'''): after aMule has hashed all shared files (that is, when it stops taking a lot of your CPU's resources), close aMule and enconde ~/.aMule/known.met into UTF-8 encoding (you can do this with the application ''[http://www.gnu.org/directory/recode.html recode]'' by running the following command: ''recode u8 ~/.aMule/known.met''). This should be done whenever a files is added or modified in any Shared Directory. So, best option is to upgrade to latest aMule version.&lt;br /&gt;
&lt;br /&gt;
If non of the above helps you, then something went really wrong on ''known.met'' file, probably some external program or user broke it. Best option is to delete it, start aMule and let aMule rehash all files again.&lt;br /&gt;
&lt;br /&gt;
== So now aMule starts, but why is it displaying this message: &amp;quot;No valid servers to connect in serverlist found&amp;quot;? ==&lt;br /&gt;
That's because you enabled the option &amp;quot;Auto connect to servers the static list only&amp;quot;. So, disable it or add some server to the static list.&lt;br /&gt;
&lt;br /&gt;
To disable that option, go to Preferences -&amp;gt; Servers -&amp;gt; &amp;quot;Auto connect to servers the static list only&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To add a server to the static list, go to the Servers window and right-click on the server you want to add to the static list. Then select &amp;quot;Add to static&amp;quot; and do this exact process wit all the servers you want to add to the static list.&lt;br /&gt;
&lt;br /&gt;
== Why does it happen that sometimes aMule suddenly has no/few servers in is server list? ==&lt;br /&gt;
You probably have enabled the options Preferences -&amp;gt; Servers -&amp;gt; &amp;quot;Remove dead server after X retries&amp;quot; and Preferences -&amp;gt; Connection -&amp;gt; &amp;quot;Reconnect on loss&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If so, most probably you lost internet (or lan, etc) connection for a period of time so aMule noticed it was not connected to the ed2k server anymore and went trying to connect to other servers until all servers were removed (after trying X times each).&lt;br /&gt;
&lt;br /&gt;
To solve this problem, disable the &amp;quot;Remove dead server after X retries&amp;quot; option. Disabling the option &amp;quot;Remove dead server after X retries&amp;quot; is safe in most cases. You most probably don't want to disable the &amp;quot;Reconnect on loss&amp;quot; option, so keep it enabled.&lt;br /&gt;
&lt;br /&gt;
== aMule connects to server, but it is always given Low-ID. Why? and, can I do something about it? ==&lt;br /&gt;
This can bue due to three reasons:&lt;br /&gt;
*Some necessary port is not opened in your firewall. Read [[FAQ_eD2k-Kademlia#What_is_LowID_and_HighID?|this]] to get to know what to do and check [http://www.amule.org/testport.php here] if the ports are open.&lt;br /&gt;
*The server is very busy or maybe badly configured, so it's giving you a [[Low ID|Low-ID]]. There's nothing that can be done in this case other than reconnect or connect to some other server.&lt;br /&gt;
*Some ISP forbid the use of p2p applications, such as aMule, by not allowing traffic through popular p2p ports. In these cases, configure aMule to use some other port. It would be even better if it was some popular port used for some other issue. It's been known that on some ISPs it worked with port TCP 25600.&lt;br /&gt;
&lt;br /&gt;
== [[aMule]] was interrupted while completing a file and it is now never completing it (although it's 100% downloaded). How can I complete it? ==&lt;br /&gt;
This one is easy: Close [[aMule]]. Now go into the Temp directory (by default, ''~/.aMule/Temp'') and run the following command:&lt;br /&gt;
&lt;br /&gt;
''touch ./*''&lt;br /&gt;
&lt;br /&gt;
Finally, run [[aMule]] and let it complete the files.&lt;br /&gt;
&lt;br /&gt;
== I just lost a download. Is there any way I can recover it? ==&lt;br /&gt;
This is strange to happen, but it might, although in most cases it is the result of some non-aMule-related stuff going weird (or user's fault).&amp;lt;br&amp;gt;&lt;br /&gt;
Two things may have happened. Either *.part.met files were deleted, or *.part files were deleted.&lt;br /&gt;
&lt;br /&gt;
If *.part files have disappeared, the only solution is to restart the downloads from the beginning (if *.part.met files are still there, aMule will restart the downloads on next start). However this should '''never''' happen unless the user directly deleted them.&lt;br /&gt;
&lt;br /&gt;
If *.part.met files have disappeared but *.part files are still in the Temp directory, then search if *.part.met.bak are also in the Temp directory. If they are, then just rename ''*.part.met.bak'' files to ''*.part.met'' just by running:&lt;br /&gt;
&lt;br /&gt;
''for file in *.part.met.bak; do mv -f &amp;quot;$file&amp;quot; &amp;quot;${file%.bak}; done''&lt;br /&gt;
&lt;br /&gt;
Still, it could happen that, although you have the *.part files, neither *.part.met nor *.part.met.bak files exist any longer. In this case, you would have two ways ways to work out of this:&lt;br /&gt;
&lt;br /&gt;
Either, use [http://www.bigwillystyle42.com/mfr/ MetFileRegenerator] (Java needed) to reconstruct the *.part.met files.&lt;br /&gt;
&lt;br /&gt;
Or, search again on aMule for the files you were downloading and rename their part number in the *.part.met files to the ones it used to have. For example, if you were downloading ''aMule_1.2.6.tar.gz'' and that was being downloaded in Temp directory as ''008.part'', then that file used to have it's corresponding ''008.part.met'' file and, probably, it's ''008.part.met.bak'' file. But this two latter files have mysteriously disappeared. Then search again on aMule for ''aMule_1.2.6.tar.gz'' and start downloading it. Close aMule and you'll have this new download as, for example, ''011.part'' file in the Temp directory. Of course, this download will have it's ''011.part.met'' file. Well, rename ''011.part.met'' to ''008.part.met'' and then delete ''011.part'' (and ''011.part.met.bak'' if it existed). Now start aMule and you will have recovered the download from the point it was before the *.part.met files disapeared.&lt;br /&gt;
&lt;br /&gt;
== Why does aMule suddenly become unresponsive to the mouse although it's not hanged? ==&lt;br /&gt;
It sometimes happens that you left a dialog window somewhere hidden in the desktop. aMule is waiting for that window to be closed, so it becomes unresponsive until you click OK, Cancel, or whatever you have to click.&lt;br /&gt;
&lt;br /&gt;
So, make sure there's no aMule dialog left around in '''any workspace'''.&lt;br /&gt;
&lt;br /&gt;
== Why are some files in my shared folders not shown in the Shared Folders window? ==&lt;br /&gt;
This could happen if you added this files after aMule has been started. Press the &amp;quot;Reload&amp;quot; button on Shared Folders window and it should find the new files and hash them (this may take some CPU time).&lt;br /&gt;
&lt;br /&gt;
However, on some releases it has happened that after restarting aMule, some files dissapear from the Shared Folders window although they are in the shared folders. In such cases, the only way to have them back is to delete ''~/.aMule/known.met'' but, of course, on next aMule start, all shared files will have to be rehashed, and that will take some time most probably.&lt;br /&gt;
&lt;br /&gt;
== I always get a message about addresses.met when I start aMule. What's wrong? ==&lt;br /&gt;
This happens when you enable the option Preferences -&amp;gt; Servers -&amp;gt; &amp;quot;Auto-update serverlist at startup&amp;quot; and you have no serverlists' urls in ''addresses.dat''. You can either add some to ''addresses.dat'' by adding them at Preferences -&amp;gt; Servers -&amp;gt; List or just disable Preferences -&amp;gt; Servers -&amp;gt; &amp;quot;Auto-update serverlist at startup&amp;quot; if you don't really need it.&lt;br /&gt;
&lt;br /&gt;
== I sometimes get a message on the log about credits being lost. Should I be worried? ==&lt;br /&gt;
No, you don't need to be worried. Credits for a client are deleted after 150 days (more or less 5 months) without &amp;quot;seeing&amp;quot; that client. Also, bad clients might lose their credits too. So those messages are just for debug information, you shouldn't worry about them.&lt;br /&gt;
&lt;br /&gt;
== What should I do if I lose my ''cryptkey.dat'' file? ==&lt;br /&gt;
Losing this files means you lose all of your credits. Sorry. Since you'll need to start building credits up again, you'll need to delete ''~/.aMule/preferences.dat'' or you'll not be able to collect credits on [[client|clients]] who have previously identified you (prior to losing cryptkey.dat).&lt;br /&gt;
&lt;br /&gt;
== Why is Upload/Download limit always back to 0 after every restart? ==&lt;br /&gt;
This happened on aMule versions previous to 2.0.0-rc4 when you trying to set a Upload or Download limit value higher than the Upload or Download Capacity value. However, since version 2.0.0-rc4 this is fixed (read [[FAQ_aMule#What_is_the_real_point_on_setting_up_Line_Capacities_in_Preferences?_Shouldn't_aMule_only_care_for_the_Bandwidth_Limits?|What is the real point on setting up Line Capacities&lt;br /&gt;
in Preferences? Shouldn't aMule only care for the Bandwidth Limits?]] to understand why) and shouldn't happen anymore.&lt;br /&gt;
&lt;br /&gt;
== Why is aMule ignoring the bandwidth I set per slot? ==&lt;br /&gt;
The bandwidth set to each slot can be set in Preferences, but it will be ignored if the bandwidth set per slot doesn't allow at least three connections at the same time.&lt;br /&gt;
&lt;br /&gt;
So, the maximum speed allowed per slot is '''BandwidthLimit/3'''.&lt;br /&gt;
&lt;br /&gt;
Please do '''NOT''' confuse '''Bandwidth limit''' with '''Bandwidth Capacity'''. Read [[FAQ_aMule#What is the real point on setting up Line Capacities in Preferences? Shouldn't aMule only care for the Bandwidth Limits?|What is the real point on setting up Line Capacities in Preferences? Shouldn't aMule only care for the Bandwidth Limits?]] since the meaning of the Bandwidth Capacity setting is not intuitive.&lt;br /&gt;
&lt;br /&gt;
Also, if [[aMule]] detects that, after having set all the slots for uploading, still some bandwidth is left before getting to the Bandwidth Limit, it will allow another slot and divide all the slot bandwidths to so use the same amount of bandwidth.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
*Bandwidth Limit: 7 KBps&lt;br /&gt;
*Slot allocation: 2 KBps&lt;br /&gt;
&lt;br /&gt;
When [[aMule]] sets the slots to some clients to upload to them, after giving out three slots, it will notice that there are no more 2KBps left, since the limit is 7 KBps, but there is still 1 KBps left in the bandwidth before reaching the Bandwidth Limit. So, it will allow another slot to upload to a client and, instead of giving that last slot a 1 KBps bandwidth connection (and leave the rest with a 2 KBps bandwidth connection), it will give all four slots a 1.8 KBps bandwidth connection.&lt;br /&gt;
&lt;br /&gt;
== Why can't I set aMule's download limit to more than X? ==&lt;br /&gt;
To keep the ED2K network alive, all ED2K clients have an upload/download limits ratio hardcoded which, depending on the upload limit set, is:&lt;br /&gt;
*&amp;lt;u&amp;gt;From 0KBps to 3KBps:&amp;lt;/u&amp;gt;&lt;br /&gt;
*DownloadLimit can't be more than UploadLimit*3&lt;br /&gt;
*&amp;lt;u&amp;gt;From 4KBps to 9KBps:&amp;lt;/u&amp;gt;&lt;br /&gt;
*DownloadLimit can't be more than UploadLimit*4&lt;br /&gt;
*&amp;lt;u&amp;gt;UploadLimit values over 9KBps:&amp;lt;/u&amp;gt;&lt;br /&gt;
*There's &amp;lt;b&amp;gt;no&amp;lt;/b&amp;gt; DownloadLimit limitation.&lt;br /&gt;
&lt;br /&gt;
Be careful when setting 0KBps as Upload Limit. It might not mean what you think it is. Read [[AMule_problems#I_set_Upload_Limit_to_0KBps,_but_aMule_is_still_transferring._What_did_I_do_wrong?|I set Upload Limit to 0KBps, but aMule is still transferring. What did I do wrong?]] to make sure you understand it's meaning.&lt;br /&gt;
&lt;br /&gt;
== I set Upload Limit to 0KBps, but aMule is still transferring. What did I do wrong? ==&lt;br /&gt;
Setting Upload limit to 0KBps will not stop transfers, instead, ''0'' value means '''unlimited''', so, it's right the opposite of you're trying to do. There's no way to stop aMule from uploading files, and that's the same on all ED2K clients (eMule, eDonkey, etc). Allowing people not to upload would bring the ED2K network to its end.&lt;br /&gt;
&lt;br /&gt;
Even if you don't share any directory, the Temp directory will '''always''' be shared, so that files that you are downloading are shared with other clients.&lt;br /&gt;
&lt;br /&gt;
== Why am I getting &amp;quot;Too many connections&amp;quot; messages on the terminal? ==&lt;br /&gt;
This happens when you set a very high value at Preferences -&amp;gt; Connections -&amp;gt; &amp;quot;Connection limits&amp;quot; -&amp;gt; &amp;quot;Max connections&amp;quot;. If this value is as almost as big as the the amount of connections your system allows you to have, then aMule will fail to establish connections and display those messages (have in mind that other applications may also have some connections established).&lt;br /&gt;
&lt;br /&gt;
On Windows 9x/ME platforms there is a limit of 100 TCP connections so, although you might set aMule to establish more than 100 connections, it will be unable to do so. You can change Windows's TCP connections limit by editing the Windows Register ('''Start -&amp;gt; Run -&amp;gt; regedit.exe''') and setting (you'll most surely have to add the value since in most cases it doesn't exist):&lt;br /&gt;
&lt;br /&gt;
''HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP\MaxConnections'' (which is a String type and it's value must be a 32-bit number).&lt;br /&gt;
&lt;br /&gt;
== My progress bars have lost most of their 3D effect and look more ugly now. Can I turn its look back? ==&lt;br /&gt;
In most aMule versions setting the progress bar style to the most right on Preferences -&amp;gt; &amp;quot;GUI tweaks&amp;quot; is the way to have the progress bar have the best 3D effect. But in versions 2.0.0-rc4 to 2.0.0-rc6 the best 3D effect is given when the style bar is set to the middle. Setting it to the most right would give the progress bar a flat look while setting it to the most left will give it a dark look.&lt;br /&gt;
&lt;br /&gt;
== All my downloads suddenly paused and I can't resume them. What's going on? ==&lt;br /&gt;
Check if there's any free space in the filesystem where the Temp directory is placed. If there is any at all, check if there's more free space than the minimum free space set at Preferences -&amp;gt; Files -&amp;gt; &amp;quot;Min disk space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The minimum free space required for [[aMule]] is 9.28MB, since that's what [[aMule]] needs to be able to download a [[FAQ_eD2k-Kademlia#What_is_a_chunk?|part]] of a file.&lt;br /&gt;
&lt;br /&gt;
== Why can't I preview a file? ==&lt;br /&gt;
First of all you must know that [[aMule]] only allows to preview video files.&lt;br /&gt;
&lt;br /&gt;
To be able to preview a file [[aMule]] requires two things:&lt;br /&gt;
*The file must have a known video extension in its filename&lt;br /&gt;
*You must have downloaded the first 256KBs of the file&lt;br /&gt;
&lt;br /&gt;
Anyway, sometimes it happens that the file is previewable though [[aMule]] doesn't allow you. In that case, go to the Temp directory and preview them manually, if you can and wish.&lt;br /&gt;
&lt;br /&gt;
== Why isn't [[aMule]]'s Preview working at all with MPlayer? ==&lt;br /&gt;
Since aMule 2.0.0-rc4 Preview command isn't being run in the same terminal as aMule. As a result, your Preview program may fail to start. This is the case of MPlayer. If you need a terminal to run your Preview player, use some command like ''xterm -e &amp;lt;preview-app&amp;gt;'' i.e.:&lt;br /&gt;
&lt;br /&gt;
''xterm -T &amp;quot;aMule preview&amp;quot; -iconic -e mplayer -idx''&lt;br /&gt;
&lt;br /&gt;
== After exitting MPlayer on Preview, my aMule keeps locked? ==&lt;br /&gt;
Preview used to lock aMule on purpose until aMule reached version 2.0.0-rc4. As a result of this, people using MPlayer suffered from a bug on MPlayer which remains the main process in background when closing the main MPlayer window. The way to walk around this MPlayer bug on aMule versions previous to 2.0.0-rc4 is to exit MPlayer by pressing the '''Q''' key. Any way, it'd be better if you could possibly upgrade aMule to the latest versions.&lt;br /&gt;
&lt;br /&gt;
== Why is ''Transfered'' a smaller number than ''Completed''? ==&lt;br /&gt;
It's a common mistake to think it should be bigger or, at least, equal.&lt;br /&gt;
&lt;br /&gt;
Please read [[FAQ_aMule#What_is_the_difference_between_Transfered_and_Completed_in_the_Transfers_window?|What is the difference between Transfered and Completed in the Transfers window?]] to know more about this.&lt;br /&gt;
&lt;br /&gt;
== aMule always slows down my computer when it completes a download. Is this a normal behaviour? ==&lt;br /&gt;
Yes it is. When aMule completes a download it checks it has not been corrupted. although this is already checked while downloading (by checking the chunk's hash values), once the file is completely downloaded aMule hashes all the chunks to check that the chunks which were previously downloaded weren't somehow corrupted by the user or an external application while the rest of the file was being downloaded.&lt;br /&gt;
&lt;br /&gt;
== Is there any way to recursively select a whole directory and its contents? ==&lt;br /&gt;
Yes, there is. And it's simple:&lt;br /&gt;
*On [[aMule]] 2.0.0-rc4 or later, right-click on the icon of the directory you want to recursively select.&lt;br /&gt;
*On [[aMule]] 1.x and up to 2.0.0-rc3 (included), while clicking on the directory, hold the CTRL key.&lt;br /&gt;
&lt;br /&gt;
And that's it.&lt;br /&gt;
&lt;br /&gt;
== I downloaded a file and it got corrupted somehow by my hard disk or some external application once completed. Can I avoid redownloading the whole of it? ==&lt;br /&gt;
If you still have the [[ed2k_link|ed2k:// link]], start the download again and when a whole chunk (9.28MB) has been downloaded (any chunk), close [[aMule]], rename the corrupted file to the filename the current download has (something like ''002.part''), touch the corrupted file (i.e.: ''touch ~/.aMule/Temp/002.part*'') and restart [[aMule]].&lt;br /&gt;
&lt;br /&gt;
[[aMule]] will detect the completed chunks and the corrupted ones, and will only download the chunks which got corrupted.&lt;br /&gt;
&lt;br /&gt;
== What should I be aware of when using NFS mounts with [[aMule]]? ==&lt;br /&gt;
When using NFS mounts with [[aMule]], make sure you unmount those NFS mounts (the ones from the computer being shut down) from the computer running [[aMule]] because, otherwise, [[aMule]] will simply hang until those mounts are back up again. How to notice this? If you leave [[aMule]] running at night, and on the next day you go to the stats and see straight lines for [[Download]]/[[Upload]]/[[Connect]]ions stats (non-zero) and after mounting those NFS mounts, those straight lines drop to zero resuming normal behaviour, that is a sign. Plus, after unmouting the NFS mounts from any computer being shut down, '''reload''' [[aMule]]'s shared files.&lt;br /&gt;
&lt;br /&gt;
''I noticed all this from my frustrating experience of countless days with no downloads at night ;) ... --[[User:PedroAlgarvio|PedroAlgarvio]] 00:25, 15 Jun 2005 (CEST)''&lt;br /&gt;
&lt;br /&gt;
== Downloaded files don't get the permissions I set in Preferences. Why? ==&lt;br /&gt;
aMule must follow the permissions it is allowed to set by ''umask''. ''umask'' sets the permissions which applications should '''not''' be allowed to assign files.&lt;br /&gt;
&lt;br /&gt;
Therefore, if you set, for example, file permissions to ''664'' in aMule's Preferences, and umask's value (check it by running ''umask'') is ''022'', aMule will create files with permissions ''644'' (that is, ''664'' - ''022'' = ''644'').&lt;br /&gt;
&lt;br /&gt;
== aMule fails to create files/shows file descriptor errors. What's going on? ==&lt;br /&gt;
This should never happen. If it happens chances are you have the resources limits very low, so aMule is denied to create/open new files. Run ''ulimit -a'' to check your resources limits. Read ''man ulimit'' to learn how to set the limits as you want them, and remember that this has to be set on every system restart (probably your distribution provides a configuration file which sets this automatically).&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by Jacobo221 on 07.06.04 at 11:52&amp;lt;br&amp;gt;&lt;br /&gt;
Updated by Vollstrecker on 23.01.08 at 18:33&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Template:Box_Note</id>
		<title>Template:Box Note</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Template:Box_Note"/>
				<updated>2008-02-17T05:38:18Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Template:Box Note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Template:Template}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;div style=&amp;quot;padding: .2em .3em; margin: .2em .2em;color: #235a42; background-color: #d8e3f4; border: solid 1px #f75af6; font-size: 92%;&amp;quot;&amp;gt;'''Note:''' {{{1}}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;'''Usage:''' &amp;lt;nowiki&amp;gt;{{Box Note|Note's content}}&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Result:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Box Note|Note's content}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Template:Template</id>
		<title>Template:Template</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Template:Template"/>
				<updated>2008-02-17T05:36:21Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Template init&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Box Note|''This page is a template. It contains no aMule related information but should be used as part of other articles.'' Please do not experiment with this template, it could mess up [[Special:Whatlinkshere/Template:{{PAGENAME}}|all pages using this template]]. If you want to change the template, copy the text to [[Template:Sandbox]], edit and test it there and copy it back when it works}}&amp;lt;u&amp;gt;Do you want to give us [[Template talk:{{PAGENAME}}|your opinion]]&amp;lt;/u&amp;gt;?&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;== Using this template from within a template ==&lt;br /&gt;
&lt;br /&gt;
This template should be added at the head of all template pages in this form:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;strong&amp;gt;&amp;amp;lt;noinclude&amp;amp;gt;&amp;lt;nowiki&amp;gt;{{Template}}&amp;lt;/nowiki&amp;gt;&amp;amp;lt;/noinclude&amp;amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Try to avoid starting a new line after the &amp;amp;lt;/noinclude&amp;amp;gt; tag as the newline will be treated as part of the template, causing extra blank space to appear above the template every time it is used.&lt;br /&gt;
&lt;br /&gt;
The template code itself should be included between these tags:&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;strong&amp;gt;&amp;amp;lt;includeonly&amp;amp;gt;&amp;amp;lt;/includeonly&amp;amp;gt;&amp;lt;/strong&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
Which will prevent it from appearing on the template page itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''Warning''': Wiki code that isn't between either of these tags will appear both on the template page and when the template is used in other pages.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can try it out in the [[Template:Sandbox|sandbox template]].&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy-de</id>
		<title>AMule Project FAQ:Policy-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy-de"/>
				<updated>2008-02-17T03:11:33Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: add link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMule_Project_FAQ:Policy|English]] | [[AMule_Project_FAQ:Policy-de|Deutsch]] | [[AMule_Project_FAQ:Policy-es|Spanisch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das [[Main_Page-de|aMule wiki]] ist zur &amp;amp;ouml;ffentlichen Nutzung. Jeder kann die ungesch&amp;amp;uuml;tzten Seiten bearbeiten solange:&lt;br /&gt;
*Keine wichtigen Informationen verloren gehen.&lt;br /&gt;
*Der Inhalt passt zur &amp;amp;Uuml;berschrift des Dokumentes und den Links die darauf verweisen.&lt;br /&gt;
*Der Inhalt muss auch zum Typ des Dokumentes passen, das ist abh&amp;amp;auml;ngig von seinem Prefix:&lt;br /&gt;
**''User:'' Personenbeschreibungen (meistens geht es um bekannte Pseudonyme).&lt;br /&gt;
**''Talk:'' Kommentare und Diskussionen &amp;amp;uuml;ber das Dokument mit dem selben Namen, aber ohne das ''Talk:'' Prefix.&lt;br /&gt;
**Alle anderen: Jedes Dokument mit einem bestimmten Zweck.&lt;br /&gt;
*Keine Unn&amp;amp;uuml;tze, verletzende oder illegale Information hinzugef&amp;amp;uuml;gt wird.&lt;br /&gt;
*Kein Urheberrechtlich gesch&amp;amp;uuml;tztes Material ohne die Erlaubnis des Rechteinhabers eingestellt wird.&lt;br /&gt;
*Der Nutzer der die &amp;amp;Auml;nderung vornimmt realisiert, das er f&amp;amp;uuml;r diese &amp;amp;Auml;nderung verantwortlich ist.&lt;br /&gt;
*Jeder der &amp;amp;Auml;nderungen vornimmt wei&amp;amp;szlig; das die Inforamtionen unter [[AMule:Copyrights-de|GNU FDL]] lizensiert werden.&lt;br /&gt;
&lt;br /&gt;
Bitte [[Special:Userlogin|registriere]] dich (falls noch nicht geschehen) und [[Special:Userlogin|melde dich an]] vor dem Editieren.&lt;br /&gt;
&lt;br /&gt;
[[AMule:Help-de#Test_Seiten|Test Seiten]] m&amp;amp;uuml;ssen englische Titel tragen, die sie eindeutig als Test markieren. Du kannst es solange mit verr&amp;amp;uuml;ckten und schwachsinnigen Daten f&amp;amp;uuml;llen, bis er die doppelte Gr&amp;amp;ouml;&amp;amp;szlig;e des gr&amp;amp;ouml;&amp;amp;szlig;ten existenten Artikels [[Main Page-de|dises wikis]] erreicht. Alle Regelen dieses Kodex gelten auch f&amp;amp;uuml;r Testseiten, au&amp;amp;szlig;er sie verletzten diesen Abschnitt.&lt;br /&gt;
&lt;br /&gt;
Beachte auch, das jeder den Inhalt des [[Main_Page-de|aMule wiki]] weiterverbeiten kann solange er die [[AMule:Copyrights-de|GNU FDL]] beachtet.&lt;br /&gt;
&lt;br /&gt;
Vergiss nicht, das die [[Main_Page|aMule wiki Seiten]] mit [[aMule-de|aMule]] als dessen Dokumentation ver&amp;amp;ouml;ffentlicht werden, also halte die Seiten bitte aktuell.&lt;br /&gt;
&lt;br /&gt;
Du darfst Vorschl&amp;amp;auml;ge machen, hinzuf&amp;amp;uuml;gen, entfernen, diskutieren, registrieren, usw. solange du dich an '''alle''' Regeln, die hier aufgestellt wurden, ha&amp;amp;auml;lltst.&lt;br /&gt;
&lt;br /&gt;
Als Nebenbemerkung, solltest du auch darauf achten, das deine &amp;amp;Auml;nderunen auch den Gesetzen deinen Landes entsprechen (und nat&amp;amp;uuml;rlich auch alle anderen unter dessen Einflu&amp;amp;szlig; du stehst) und den Gesetzen des Landes in dem der Server des [[Main_Page-de|aMule wiki]] steht (und alle die diesen beinflussen).&lt;br /&gt;
&lt;br /&gt;
Versuche auch die Regelen in der [[AMule:Help-de|Hilfe]] zu beachten, und Artikel so oft du kannst zu verlinken, um so aussagekr&amp;amp;auml;ftig und informativ zu haltenund recursively informative. Nur das erste Auftreten eines Stichwortes sollte verlinkt werden, au&amp;amp;szlig;er es ist Urheberrechtlich gesch&amp;amp;uuml;tzt (diese m&amp;amp;uuml;ssen bei jedem Auftreten zur Seite des Rechteinhabers verweisen).&lt;br /&gt;
&lt;br /&gt;
Und Denke daran: &amp;quot;[[aMule-de|aMule]]&amp;quot; wird ''&amp;quot;[[aMule-de|aMule]]&amp;quot;'' geschrieben. das ist ein ''kleingeschriebenes &amp;quot;amule&amp;quot;'' mit einem ''GRO&amp;amp;szlig;EN &amp;quot;M&amp;quot;''!&lt;br /&gt;
&lt;br /&gt;
[[aMule-de|aMule]], [http://www.aMule.org aMule.org], das [[AMule_devs-de|aMule team]] oder jede andere Person werden keine Verantwortung f&amp;amp;uuml;r &amp;amp;Auml;derungen &amp;amp;uuml;bernehmen, es sei denn sie haben sie selbst vorgenommen.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy-es</id>
		<title>AMule Project FAQ:Policy-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy-es"/>
				<updated>2008-02-17T03:08:34Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: except the end Policy es translation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMule_Project_FAQ:Policy|English]] | [[AMule_Project_FAQ:Policy-de|Deutsch]] | [[AMule_Project_FAQ:Policy-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La [[Main_Page-es|wiki]] de aMule es de uso público. Cualquiera puede modificar las páginas no protegidas teniendo en cuenta que:&lt;br /&gt;
:*La información no válida no se permite.&lt;br /&gt;
:*Los contenidos que se modifiquen deben estar relacionadas con el título del documento  y  los enlaces también.&lt;br /&gt;
:*Los contenidos del documentos también deben estar relacionado con el tipo de documento que es, dependiendo del prefijo de éste:&lt;br /&gt;
:**''[[Special:Allpages/User:|User:]]'' Descriptión del usuario o persona (a quién hace referencia el popular Nick).&lt;br /&gt;
:**''[[Special:Allpages/Talk:|Talk:]]'' Comentarios y discusiones sobre el documento que lleva el mismo nombre pero sin el  prefijo ''Talk:''.&lt;br /&gt;
:**[[Special:Allpages|Cualquier otro:]] Cualquier documento con un propósito general.&lt;br /&gt;
:*No añadir información inutil, dañina o ilegal.&lt;br /&gt;
:*No publicar trabajos protegidos (copyright) sin el permiso del propieatario.&lt;br /&gt;
:*El usuario que crea un documento es responsable de su mantenimiento.&lt;br /&gt;
:*Cualquiera que modigique esta wiki debe estar conforme con la licencia [[GNU FDL]]&lt;br /&gt;
&lt;br /&gt;
Por favor [[Special:Userlogin|Registrate]] (si aún no lo estás) y luego [[Special:Userlogin|inicia  sesión]] para inciar tus aportaciones.&lt;br /&gt;
&lt;br /&gt;
Las [[AMule:Help#Testing_pages|páginas de prueba]] deben tener títulos ingleses que claramente identifiquen el artículo creado. Puedes llenarlo con datos ficticios e inútiles pero no ha de ser más largo que el doble del tamaño del artículo de la [[Main Page-es|página principal]]. Se aplican todas las reglas definidas en esta política también a esa página de prueba, salvo aquello que se dice en este párrafo.  &lt;br /&gt;
  &lt;br /&gt;
Por favor nota que que cualquiera puede participar en los contenidos de la [[Main Page-es|wiki de aMule]] con tal de que esté siguiendo la [[GNU FDL]] a la que están sujeta todos los articulos de [[Main Page-es|esta wiki]]. &lt;br /&gt;
&lt;br /&gt;
Ten presente actualizar las [[Main_page-es|las páginas del wiki]] igual que evoluciona el [[aMule-es]] y su documentación, seriamente, acuerdate de ello por favor.&lt;br /&gt;
&lt;br /&gt;
Siéntete libre para sugerir, agreguar, anular, hablar, revisar, registrar, etc... con tal de que  sigas '''todas''' las reglas anteriores de esta política.&lt;br /&gt;
&lt;br /&gt;
Como nota aparte, estate seguro que los contenidos que modifiques no vayan contra la ley de tu país  (o a cualquier otra ley de tu entorno a las que estés sujeto) y a la ley del país donde reside el servidor de del wiki de aMule (o otra ley entorno a a ella a la que este sujeto).&lt;br /&gt;
&lt;br /&gt;
Por último, intenta seguir las reglas que hay en el [[AMule:Help|documento de ayuda]] y seguir tantos enlaces como puedas, para que puedas recursivamente obtener todos los recursos informativos. Only the first appearance of a word in an article must be linked, except if it is a copyrighted word (copyrighted words must link to the copyright holder's homepage on every single appearance of the word).&lt;br /&gt;
&lt;br /&gt;
And remember: &amp;quot;[[aMule]]&amp;quot; is spelt ''&amp;quot;[[aMule]]&amp;quot;''. That is a ''lower-case &amp;quot;amule&amp;quot;'' with an ''UPPER-CASE &amp;quot;M&amp;quot;''!&lt;br /&gt;
&lt;br /&gt;
[[aMule]], [http://www.aMule.org aMule.org], the [[AMule_devs|aMule team]] or any other person or entity will take '''no''' responsibility for the edits as long as they haven't been deliberately done by them.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy</id>
		<title>AMule Project FAQ:Policy</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy"/>
				<updated>2008-02-17T03:05:22Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: add link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMule_Project_FAQ:Policy|English]] | [[AMule_Project_FAQ:Policy-de|Deutsch]] | [[AMule_Project_FAQ:Policy-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[Main_Page|aMule wiki]] is of public use. Any one can edit its unprotected pages as long as:&lt;br /&gt;
:*No valid information is lost.&lt;br /&gt;
:*The contents of the edit are related to the topic of the document and the links which refer to it.&lt;br /&gt;
:*The contents of the document must also be related to the type of document it is, depending on the document name's prefix:&lt;br /&gt;
:**''[http://www.amule.org/wiki/index.php?title=Special%3AAllpages&amp;amp;namespace=2 User:]'' Description of a user or person (who might be referred through a popular nickname).&lt;br /&gt;
:**''[http://www.amule.org/wiki/index.php?title=Special%3AAllpages&amp;amp;namespace=1 Talk:]'' Comments and discussions about the document with it's same name but without the ''Talk:'' prefix.&lt;br /&gt;
:**[[Special:Allpages|Any other:]] Any document with a general purpose.&lt;br /&gt;
:*No useless, injuring or illegal information is added.&lt;br /&gt;
:*No copyrighted work is submitted without permission of the owner.&lt;br /&gt;
:*The user editing the document realizes he/she is responsible for the edit.&lt;br /&gt;
:*Anyone editting this wiki must know that the information must be and will be [[GNU FDL]] licensed.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Please [[Special:Userlogin|register]] (if not registered already) and [[Special:Userlogin|log in]] before editing.&lt;br /&gt;
&lt;br /&gt;
[[AMule:Help#Testing_pages|Testing pages]] must have English titles which clearly identify the article as a test. You can fill it with bogus and useless data as long as it's not longer than double the size of the largest article existing in [[Main Page|this wiki]]. All the rules defined in this policy are applied to that testing page too, except for those conflicting with this paragraph.&lt;br /&gt;
&lt;br /&gt;
Please note that anyone can share [[Main_Page|aMule's wiki]]'s contents as long as it is following the [[GNU FDL]] [[Main Page|this wiki's]] articles are subjected to.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the [[Main_Page|aMule wiki pages]] are released with [[aMule]] as its documentation, so please keep it up-to-date and serious.&lt;br /&gt;
&lt;br /&gt;
Feel free to suggest, add, delete, talk, edit, register, etc... as long as you follow '''all''' of the rules mentioned above in this policy.&lt;br /&gt;
&lt;br /&gt;
As a side note, make sure the contents of your edit follow your country's law (and any other environmental law you are subjected to) and the law of the country where [[Main_Page|aMule's wiki]]'s server is placed (and any other environmental law it is subjected to).&lt;br /&gt;
&lt;br /&gt;
Last, please try to follow the rules set in the [[AMule:Help|help document]] and to link articles as much as you can, to keep them verbosely and recursively informative. Only the first appearance of a word in an article must be linked, except if it is a copyrighted word (copyrighted words must link to the copyright holder's homepage on every single appearance of the word).&lt;br /&gt;
&lt;br /&gt;
And remember: &amp;quot;[[aMule]]&amp;quot; is spelt ''&amp;quot;[[aMule]]&amp;quot;''. That is a ''lower-case &amp;quot;amule&amp;quot;'' with an ''UPPER-CASE &amp;quot;M&amp;quot;''!&lt;br /&gt;
&lt;br /&gt;
[[aMule]], [http://www.aMule.org aMule.org], the [[AMule_devs|aMule team]] or any other person or entity will take '''no''' responsibility for the edits as long as they haven't been deliberately done by them.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy</id>
		<title>AMule Project FAQ:Policy</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMule_Project_FAQ:Policy"/>
				<updated>2008-02-17T00:15:00Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: links AMule Project FAQ:Policy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;'''English''' | [[AMule_Project_FAQ:Policy-de|Deutsch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[Main_Page|aMule wiki]] is of public use. Any one can edit its unprotected pages as long as:&lt;br /&gt;
:*No valid information is lost.&lt;br /&gt;
:*The contents of the edit are related to the topic of the document and the links which refer to it.&lt;br /&gt;
:*The contents of the document must also be related to the type of document it is, depending on the document name's prefix:&lt;br /&gt;
:**''[http://www.amule.org/wiki/index.php?title=Special%3AAllpages&amp;amp;namespace=2 User:]'' Description of a user or person (who might be referred through a popular nickname).&lt;br /&gt;
:**''[http://www.amule.org/wiki/index.php?title=Special%3AAllpages&amp;amp;namespace=1 Talk:]'' Comments and discussions about the document with it's same name but without the ''Talk:'' prefix.&lt;br /&gt;
:**[[Special:Allpages|Any other:]] Any document with a general purpose.&lt;br /&gt;
:*No useless, injuring or illegal information is added.&lt;br /&gt;
:*No copyrighted work is submitted without permission of the owner.&lt;br /&gt;
:*The user editing the document realizes he/she is responsible for the edit.&lt;br /&gt;
:*Anyone editting this wiki must know that the information must be and will be [[GNU FDL]] licensed.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Please [[Special:Userlogin|register]] (if not registered already) and [[Special:Userlogin|log in]] before editing.&lt;br /&gt;
&lt;br /&gt;
[[AMule:Help#Testing_pages|Testing pages]] must have English titles which clearly identify the article as a test. You can fill it with bogus and useless data as long as it's not longer than double the size of the largest article existing in [[Main Page|this wiki]]. All the rules defined in this policy are applied to that testing page too, except for those conflicting with this paragraph.&lt;br /&gt;
&lt;br /&gt;
Please note that anyone can share [[Main_Page|aMule's wiki]]'s contents as long as it is following the [[GNU FDL]] [[Main Page|this wiki's]] articles are subjected to.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the [[Main_Page|aMule wiki pages]] are released with [[aMule]] as its documentation, so please keep it up-to-date and serious.&lt;br /&gt;
&lt;br /&gt;
Feel free to suggest, add, delete, talk, edit, register, etc... as long as you follow '''all''' of the rules mentioned above in this policy.&lt;br /&gt;
&lt;br /&gt;
As a side note, make sure the contents of your edit follow your country's law (and any other environmental law you are subjected to) and the law of the country where [[Main_Page|aMule's wiki]]'s server is placed (and any other environmental law it is subjected to).&lt;br /&gt;
&lt;br /&gt;
Last, please try to follow the rules set in the [[AMule:Help|help document]] and to link articles as much as you can, to keep them verbosely and recursively informative. Only the first appearance of a word in an article must be linked, except if it is a copyrighted word (copyrighted words must link to the copyright holder's homepage on every single appearance of the word).&lt;br /&gt;
&lt;br /&gt;
And remember: &amp;quot;[[aMule]]&amp;quot; is spelt ''&amp;quot;[[aMule]]&amp;quot;''. That is a ''lower-case &amp;quot;amule&amp;quot;'' with an ''UPPER-CASE &amp;quot;M&amp;quot;''!&lt;br /&gt;
&lt;br /&gt;
[[aMule]], [http://www.aMule.org aMule.org], the [[AMule_devs|aMule team]] or any other person or entity will take '''no''' responsibility for the edits as long as they haven't been deliberately done by them.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_en</id>
		<title>Amulet pl en</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_en"/>
				<updated>2008-02-16T16:30:00Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl es|español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' for [[AMuled|amuled]] (''&amp;lt;u&amp;gt;aMule daemon&amp;lt;/u&amp;gt;'')&lt;br /&gt;
    &lt;br /&gt;
It is a script written in perl with [http://gtk2-perl.sourceforge.net GTK2] module. Its intention is to be able to show a '''well-known icon''' that identifies the service, to be able to launch those applications that are part of the [[AMule|aMule]] project and they are linked with with the remote service.    &lt;br /&gt;
    &lt;br /&gt;
In these moments, it calls to the [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] and [[WxCAS|wxCas]] (if exists). Alone if they aren't working already. Also show the '''aMule log''' file in a separated window.&lt;br /&gt;
    &lt;br /&gt;
Everything is controlled with the mouse, pressing the left button, the application that we select is shown, with the right button, we are deployed a ''contextual'' menu, with the options list.    &lt;br /&gt;
    &lt;br /&gt;
When starting up it checks that if in the local machine the aMule or aMuled is running, you can configure so that if it isn't, this starts up automatically (amuled).    &lt;br /&gt;
    &lt;br /&gt;
It only works in '''GNU/Linux''', although I was looking at the option of making it also work in Windows. Of the rest of operating systems, me don't know.    &lt;br /&gt;
    &lt;br /&gt;
The requirements of the system, it usually shows them the own script when beginning. It tries to hunt the errors, to show the necessity for the standard exit. It also has a log system that they are overturned in a file, but only for each session, eliminating the previous one after each outburst.    &lt;br /&gt;
    &lt;br /&gt;
== TODO ==&lt;br /&gt;
    &lt;br /&gt;
:*Translations and to work with files of translations.    &lt;br /&gt;
:*Interaction with amulecmd    &lt;br /&gt;
:*That runs in windows.&lt;br /&gt;
:*it modify shared directories list    &lt;br /&gt;
:*Searches and eLinks insert&lt;br /&gt;
&lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
This not, but [[amulet pl src|here you have the perl script]]. You only have to copy it in a file with the name that you want, better aMulet.pl, to give him execution permits and to execute it. First times you execute it from XShell to see if one needs some requirement.    &lt;br /&gt;
    &lt;br /&gt;
== HISTORY ==&lt;br /&gt;
The history of this script can observe it in [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc this thread].&lt;br /&gt;
    &lt;br /&gt;
What will happen with him will be able see  here, of course ; -)&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by AnimAlf on 07.12.06 at 01:36&amp;lt;br /&amp;gt;&lt;br /&gt;
Updated by AnimAlf on 16.02.08 at 16:18 (gtm +1)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_es</id>
		<title>Amulet pl es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_es"/>
				<updated>2008-02-16T16:29:26Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl en|english]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' para [[AMuled|amuled]] (''&amp;lt;u&amp;gt;amule como servicio&amp;lt;/u&amp;gt;'')&lt;br /&gt;
&lt;br /&gt;
Se trata de un script escrito en perl que utiliza [http://gtk2-perl.sourceforge.net GTK2]. Su intención es poder mostrar '''un conocido icono''' que identifique el servicio, para poder lançar aquellas aplicaciones que forman parte del proyecto [[AMule-es|aMule]] y están vinculadas con con el servicio remoto.&lt;br /&gt;
&lt;br /&gt;
En estos momentos, llama al [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] i al [[WxCAS|wxCas]]. &amp;lt;u&amp;gt;Sólo si no están ya funcionando&amp;lt;/u&amp;gt;. También muestra el '''archivo de log''' del aMule en una ventana aparte.&lt;br /&gt;
&lt;br /&gt;
Todo él se controla con el ratón, pulsando el botón izquierdo, lanza la aplicación que hallamos elegido para que sea mostrada, con el botón derecho, se nos despliega un menú contextual, con la lista de opciones a elegir.&lt;br /&gt;
&lt;br /&gt;
Al arrancar comprueba que si en la máquina local está corriendo el aMule, se puede configurar para que si no lo está, éste arranque automáticamente.&lt;br /&gt;
&lt;br /&gt;
Sólo funciona en GNU/Linux, aunque estuve mirando la opción de hacerlo funcionar también en Windows. Del resto de sistemas yo no se.&lt;br /&gt;
&lt;br /&gt;
Los requerimientos del sistema, los suele mostrar el propio script al iniciarse. Procuré cazar los errores, para mostrar la necesidad por la salida estandar. También tiene un sistema de log que se vuelcan en un archivo, pero único por cada sesión, eliminando el anterior tras cada arranque.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
:*Traducciones y trabajar con archivos de traducciones.&lt;br /&gt;
:*Interacción con amulecmd&lt;br /&gt;
:*Que corra en windows.&lt;br /&gt;
:*Modificar la lista de directorios compartidos&lt;br /&gt;
:*Busquedas y añadir eLinks&lt;br /&gt;
&lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
Pues eso no, pero [[amulet pl src|aquí tienes el script en perl]]. Sólo tienes que copiarlo en un archivo con el nombre que quieras, mejor aMulet.pl, darle permisos de ejecución y ejecutarlo. Las primeras veces ejecutalo desde XShell para ver si se necesita algún requerimiento.&lt;br /&gt;
&lt;br /&gt;
== HISTORIA ==&lt;br /&gt;
La historia de este script la puedes observar en [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc este thread].&lt;br /&gt;
&lt;br /&gt;
Lo que ocurrirá con él lo podrás seguir por aquí claro ;-)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_en</id>
		<title>Amulet pl en</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_en"/>
				<updated>2008-02-16T16:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl es|español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' for [[AMuled|amuled]] (''&amp;lt;u&amp;gt;aMule daemon&amp;lt;/u&amp;gt;'')&lt;br /&gt;
    &lt;br /&gt;
It is a script written in perl with [http://gtk2-perl.sourceforge.net GTK2] module. Its intention is to be able to show a '''well-known icon''' that identifies the service, to be able to launch those applications that are part of the [[AMule|aMule]] project and they are linked with with the remote service.    &lt;br /&gt;
    &lt;br /&gt;
In these moments, it calls to the [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] and [[WxCAS|wxCas]] (if exists). Alone if they aren't working already. Also show the '''aMule log''' file in a separated window.&lt;br /&gt;
    &lt;br /&gt;
Everything is controlled with the mouse, pressing the left button, the application that we select is shown, with the right button, we are deployed a ''contextual'' menu, with the options list.    &lt;br /&gt;
    &lt;br /&gt;
When starting up it checks that if in the local machine the aMule or aMuled is running, you can configure so that if it isn't, this starts up automatically (amuled).    &lt;br /&gt;
    &lt;br /&gt;
It only works in '''GNU/Linux''', although I was looking at the option of making it also work in Windows. Of the rest of operating systems, me don't know.    &lt;br /&gt;
    &lt;br /&gt;
The requirements of the system, it usually shows them the own script when beginning. It tries to hunt the errors, to show the necessity for the standard exit. It also has a log system that they are overturned in a file, but only for each session, eliminating the previous one after each outburst.    &lt;br /&gt;
    &lt;br /&gt;
== TODO ==&lt;br /&gt;
    &lt;br /&gt;
:*Translations and to work with files of translations.    &lt;br /&gt;
:*Interaction with amulecmd    &lt;br /&gt;
:*That runs in windows.    &lt;br /&gt;
    &lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
This not, but [[amulet pl src|here you have the perl script]]. You only have to copy it in a file with the name that you want, better aMulet.pl, to give him execution permits and to execute it. First times you execute it from XShell to see if one needs some requirement.    &lt;br /&gt;
    &lt;br /&gt;
== HISTORY ==&lt;br /&gt;
The history of this script can observe it in [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc this thread].&lt;br /&gt;
    &lt;br /&gt;
What will happen with him will be able see  here, of course ; -)&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by AnimAlf on 07.12.06 at 01:36&amp;lt;br /&amp;gt;&lt;br /&gt;
Updated by AnimAlf on 16.02.08 at 16:18 (gtm +1)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_en</id>
		<title>Amulet pl en</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_en"/>
				<updated>2008-02-16T16:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl es|español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' for [[AMuled|amuled]] (''&amp;lt;u&amp;gt;aMule daemon&amp;lt;/u&amp;gt;'')&lt;br /&gt;
    &lt;br /&gt;
It is a script written in perl with [http://gtk2-perl.sourceforge.net GTK2] module. Its intention is to be able to show a '''well-known icon''' that identifies the service, to be able to launch those applications that are part of the [[AMule|aMule]] project and they are linked with with the remote service.    &lt;br /&gt;
    &lt;br /&gt;
In these moments, it calls to the [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] and [[WxCAS|wxCas]] (if exists). Alone if they aren't working already. Also show the '''aMule log''' file in a separated window.&lt;br /&gt;
    &lt;br /&gt;
Everything is controlled with the mouse, pressing the left button, the application that we select is shown, with the right button, we are deployed a ''contextual'' menu, with the options list.    &lt;br /&gt;
    &lt;br /&gt;
When starting up it checks that if in the local machine the aMule or aMuled is running, you can configure so that if it isn't, this starts up automatically (amuled).    &lt;br /&gt;
    &lt;br /&gt;
It only works in '''GNU/Linux''', although I was looking at the option of making it also work in Windows. Of the rest of operating systems, me don't know.    &lt;br /&gt;
    &lt;br /&gt;
The requirements of the system, it usually shows them the own script when beginning. It tries to hunt the errors, to show the necessity for the standard exit. It also has a log system that they are overturned in a file, but only for each session, eliminating the previous one after each outburst.    &lt;br /&gt;
    &lt;br /&gt;
== TODO ==&lt;br /&gt;
    &lt;br /&gt;
:*Translations and to work with files of translations.    &lt;br /&gt;
:*Interaction with amulecmd    &lt;br /&gt;
:*That runs in windows.    &lt;br /&gt;
    &lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
This not, but [[amulet pl src|here you have the perl script]]. You only have to copy it in a file with the name that you want, better aMulet.pl, to give him execution permits and to execute it. First times you execute it from XShell to see if one needs some requirement.    &lt;br /&gt;
    &lt;br /&gt;
== HISTORY ==&lt;br /&gt;
The history of this script can observe it in [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc this thread].&lt;br /&gt;
    &lt;br /&gt;
What will happen with him will be able see  here, of course ; -)&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by AnimAlf on 07.12.06 at 01:36&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Talk:AMule_problems</id>
		<title>Talk:AMule problems</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Talk:AMule_problems"/>
				<updated>2008-02-15T15:01:22Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Not allow the anonymous writing for a time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Is question 4 (&amp;quot;aMule starts but is never shown but works fine. What's going on?&amp;quot;) still relevant?&lt;br /&gt;
&lt;br /&gt;
I'm referring to the first paragraph: &amp;quot;This commonly happens when you set the type of systray integration, in Preferences -&amp;gt; General -&amp;gt; Misc Options, to Minimize to trayicon which starts aMule minimized.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
There's no longer a systray integration in Preferences -&amp;gt; General -&amp;gt; Misc Options. Only two options: &amp;quot;Minimize to tray&amp;quot; and &amp;quot;Start Minimized&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hi everyone,&lt;br /&gt;
how is it possible to edit the server.met which is by default on the amule ED2K servers section field ? by default, i have ocbmaurice, but i would like to put gruk.org in this place by default.&lt;br /&gt;
i think to remember that someone told to compile a more recent version of amule from a cvs. is there somewhere a tutorial on where to get the right xcode project file ? and how to handle it to make it work under leopard ? thx.&lt;br /&gt;
&lt;br /&gt;
== Not allow the anonymous writing for a time ==&lt;br /&gt;
&lt;br /&gt;
It seems that there's a robot that doesn't stop to send garbage to this page. I believe that you could change the writing permission in her.&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User_talk:AnimAlf</id>
		<title>User talk:AnimAlf</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User_talk:AnimAlf"/>
				<updated>2008-02-13T17:51:33Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User_talk:AnimAlf</id>
		<title>User talk:AnimAlf</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User_talk:AnimAlf"/>
				<updated>2008-02-13T16:41:54Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Could you add the Version-Tags to your pages and update the ones on the sites you modified, please? Greets Vollstrecker&lt;br /&gt;
&lt;br /&gt;
====== hey! Vollstrecker ======&lt;br /&gt;
::I don't understand. The wiki modifications?&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Translations-es</id>
		<title>Translations-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Translations-es"/>
				<updated>2008-02-13T16:24:26Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Como comenzar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Translations|Inglés]] | [[Translations-pt|Portugués]] | [[Translations-ko_KR|Coreano]] | [[Translations-ru|Ruso]] |  [[Translations-cn|Chino]] | '''Español''' &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introducción ==&lt;br /&gt;
&lt;br /&gt;
Es muy fácil ser un traductor de [[aMule-es|aMule]] a tu idioma, actualmente soporta [http://www.unicode.org Unicode], por lo que no hay limitación para caracteres Chinos, Coreanos, Árabes ... es posible realizar cualquier traducción.&lt;br /&gt;
&lt;br /&gt;
Pero las traducciones necesitan de traductores, no temas entrar en el mundo de [[aMule-es|aMule]]!&lt;br /&gt;
&lt;br /&gt;
No es necesario programar en lenguaje [http://gcc.gnu.org C++] o [http://en.wikipedia.org/wiki/Klingon_language Klingon] para ser un traductor!&lt;br /&gt;
Solamente necesitas conocer tu propia lengua (!!) y algún conocimiento de inglés!&lt;br /&gt;
&lt;br /&gt;
¿Interesante? Entonces comenzamos&lt;br /&gt;
&lt;br /&gt;
== Como comenzar ==&lt;br /&gt;
&lt;br /&gt;
De vez en cuando (una vez al mes) posteamos un fichero de texto llamado &lt;br /&gt;
''source_strings.po'' en el foro [http://forum.amule.org/index.php?topic=1097 Translation].&lt;br /&gt;
&lt;br /&gt;
Descarga el fichero an ábrelo con [http://i18n.kde.org/tools/kbabel/ KBabel] si utilizas [http://www.kde.org KDE], [http://www.poedit.org PoEdit] o el  [http://gtranslator.sourceforge.net/ gTranslator] si usas [http://www.gnome.org Gnome].&lt;br /&gt;
&lt;br /&gt;
Previamente no debes olvidar el marcar tus preferencias en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel/ KBabel], [http://www.poedit.org PoEdit] o [http://gtranslator.sourceforge.net/ gTranslator] incluyendo el nombre, e-mail, grupo de caracteres y demás.....&lt;br /&gt;
&lt;br /&gt;
Esto es lo que verás con [http://i18n.kde.org/tools/kbabel KBabel]:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb1.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
En la esquina superior izquierda tienes el texto en inglés.&lt;br /&gt;
&lt;br /&gt;
En la esquina superior derecha tienes el fichero del que procede el texto.&lt;br /&gt;
&lt;br /&gt;
Ahora solo tienes que escribir el texto traducido en la esquina inferior izquierda&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;http://www.amule.org/dev-up/kb2.png&amp;lt;/center&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=#ff0000&amp;gt;Debes tener especial cuidado en copiar todos los caracteres especiales como &amp;amp;, %i, \n, etc... en el texto traducido y respetar los espacios al inicio y final del texto.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''', revisa [[format specifiers|este documento]] para saber cuales son los caracteres que no deben ser modificados.&lt;br /&gt;
&lt;br /&gt;
Continua con todos los textos del fichero y una vez finalizado guárdalo.&lt;br /&gt;
&lt;br /&gt;
Has acabado la traducción!, envíala al &lt;br /&gt;
[http://www.amule-project.net/amule/board.php?boardid=40 foro de traducciones del aMULE] y miles de personas te estarán agradecidas :)&lt;br /&gt;
&lt;br /&gt;
== Como continuar una traducción ya empezada ==&lt;br /&gt;
&lt;br /&gt;
Cuando la traducción ya ha sido iniciada, no será necesario que vuelvas a traducir los textos ya traducidos del fichero ''source_strings.po'' !&lt;br /&gt;
&lt;br /&gt;
Hay un proceso automático que se encarga de incluir los textos ya traducidos en el fichero ''source_strings.po''&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, imagínate que deseas continuar la traducción al francés:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Descarga la última ''source_strings.po'' del  [http://forum.amule.org/thread.php?threadid=1097 foro], y la antigua ''fr.po'' que se encontraba en la versión del [[aMule]].&lt;br /&gt;
&lt;br /&gt;
* Integra la antigua y nueva versión escribiendo: &lt;br /&gt;
&lt;br /&gt;
'''msgmerge --no-fuzzy-matching -o new_fr.po fr.po source_strings.po'''&lt;br /&gt;
&lt;br /&gt;
Alternativamente podrías usar las herramientas incluidas en el &lt;br /&gt;
[http://i18n.kde.org/tools/kbabel KBabel] o en el    [http://poedit.sourceforge.net PoEdit] (consulta la ayuda de estas aplicaciones)&lt;br /&gt;
&lt;br /&gt;
A continuación comienza la traducción en el fichero ''new_fr.po'' como lo hiciste anteriormente en el fichero ''source_srings.po'', simplemente tendrás que traducir los textos que no fueron traducidos anteriormente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probando la traducción ==&lt;br /&gt;
&lt;br /&gt;
=== Antes de empezar ===&lt;br /&gt;
&lt;br /&gt;
Una vez guardado el fichero, puedes re-[[compile]|compilar] el [[aMule]], o simplemnte puedes comprobar que el fichero es correcto (este proceso se realiza automáticamente cuando [[compile|compilas el fichero]]).&lt;br /&gt;
&lt;br /&gt;
La segunda opción tiene algunas ventajas, y es que no es necesario crear todos los ejecutables del [[aMule]], solamente necesitas crear el ejecutable de la traducción.&lt;br /&gt;
&lt;br /&gt;
El procedimiento mas indicado es intentarlo [[#Testing only the translation file|solo con el fichero de prueba]] hasta que lo logremos, y una vez finalizado[[#Testing with aMule|compilar el aMule con las traducciones]] para ver como funciona.&lt;br /&gt;
&lt;br /&gt;
=== Probando solamente el fichero de traducción ===&lt;br /&gt;
&lt;br /&gt;
Para hacerlo, primero debes ejecutar ''./configure''.&lt;br /&gt;
&lt;br /&gt;
Ahora, una vez que hayas copiado tu fichero en el directorio ''po/'', ejecuta ''make '''translation_language'''.gmo'', ejemplo ''make en_GB.gmo''&lt;br /&gt;
&lt;br /&gt;
Si la traducción es correcto, te mostrará algo como esto: &lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make en_GB.gmo&lt;br /&gt;
 rm -f en_GB.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o en_GB.gmo en_GB.po&lt;br /&gt;
 1354 translated messages&lt;br /&gt;
&lt;br /&gt;
Este es un ejemplo de una traducción correcta y completa.&lt;br /&gt;
&lt;br /&gt;
Como &amp;quot;correcta&amp;quot; debes entender a una traducción que bien completa o no, puede ser usada ya que no contiene errores de sintaxis.&lt;br /&gt;
&lt;br /&gt;
Una traducción e incompleta sería la siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make ru.gmo&lt;br /&gt;
 rm -f ru.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o ru.gmo ru.po&lt;br /&gt;
 1333 translated messages, 79 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Como puedes ver, 79 lineas todavía estan pendientes de ser traducidas.&lt;br /&gt;
&lt;br /&gt;
También puedes tener traducciones &amp;quot;dudosas&amp;quot; (ingles=fuzzy). Las traducciones dudosas son aquellas que ha detectado el [http://www.gnu.org/software/gettext gettext], y probablemente son erróneas. Estas quedan marcadas mediante la adicción de un texto ''#, fuzzy'' a la derecha de la traducción. Por lo que si ves que tienes  &amp;quot;fuzzy translations&amp;quot;, busca estas líenas y corrígelas (o simplemente borra el texto ''#, fuzzy'' si ves que están bien).&lt;br /&gt;
&lt;br /&gt;
Un ejemplo de traducciones dudosas es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make hr.gmo&lt;br /&gt;
 rm -f hr.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o hr.gmo hr.po&lt;br /&gt;
 544 translated messages, 412 fuzzy translations, 443 untranslated messages.&lt;br /&gt;
&lt;br /&gt;
Por último la traducción puede contener errores, en estos casos aparece un texto que explica cada uno de ellos:&lt;br /&gt;
&lt;br /&gt;
 [~/aMule/amule-dev-cvs/po]$ make de.gmo&lt;br /&gt;
 rm -f de.gmo &amp;amp;&amp;amp; /usr/bin/msgfmt -c --statistics -o de.gmo de.po&lt;br /&gt;
 de.po:88: number of format specifications in 'msgid' and 'msgstr' does not match&lt;br /&gt;
 /usr/bin/msgfmt: found 1 fatal error&lt;br /&gt;
 make: *** [de.gmo] Error 1&lt;br /&gt;
&lt;br /&gt;
En este jemplo aparece un error en la línea 88, por lo que no creará el ejecutable hasta que sea corregido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Probando con el [[aMule]] ===&lt;br /&gt;
&lt;br /&gt;
Puedes probar la traducción [[compile|re-compilando el  aMule]] y viendo como queda.&lt;br /&gt;
&lt;br /&gt;
Si tu lenguaje no estuviera disponible en el [[aMule]], debes añadir el mismo a la base de datos, para que el [[aMule]] sepa que existe y se pueda&lt;br /&gt;
[[compile|compilar]] con ese lenguaje. &lt;br /&gt;
Para hacer esto debes añadir el código del lenguaje al fichero ''po/LINGUAS''  (un lenguaje por línea).&lt;br /&gt;
&lt;br /&gt;
A continuación [[compile]|compila] el [[aMule]] normalmente. Si necesitas ayuda, [[compile|pincha aquí]].&lt;br /&gt;
&lt;br /&gt;
== Traduciones avanzadas ==&lt;br /&gt;
&lt;br /&gt;
Si no eres nuevo en el desarrollo de aplicaciones en Linux o eres lo sufientemente impaciente para tener siempre actualizada la traducción a tu lenguaje.....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Genera el fichero ''source_strings.po'' tu mismo!&lt;br /&gt;
&lt;br /&gt;
Como lo hacemos?&lt;br /&gt;
&lt;br /&gt;
* Desacarga la última versión del [[aMule]] [http://www.gnu.org/software/cvs CVS] desde http://amule.hirnriss.net&lt;br /&gt;
&lt;br /&gt;
* Descomprime el archivo, ves al directorio raiz (root) y genera  [http://www.gnu.org/software/make Makefiles]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''tar -xjf aMule-cvs-20041009.tar.bz2'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''cd amule-cvs'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''./configure'''&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Actualiza el fichero ''POTFILE.in'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''grep -m 1 '_(' `find * -name &amp;quot;*.cpp&amp;quot;` | cut -d: -f1 &amp;gt; po/POTFILES.in'''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Genera el nuevo fichero ''source_strings.po'':&lt;br /&gt;
&lt;br /&gt;
:::&amp;lt;code&amp;gt;&lt;br /&gt;
:::'''cd po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot amule.pot.old'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''make amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot source_strings.po'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::'''mv amule.pot.old amule.pot'''&amp;lt;br&amp;gt;&lt;br /&gt;
:::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[Translations#How_to_proceed|Traduce]] el nuevo ''source_strings.po'' y [http://forum.amule.org/board.php?boardid=40 envíalo]!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Thepolish|Thepolish]] 22:46, 9 Oct 2004 (CEST)&lt;br /&gt;
-- Traducido por --[[User:Crax|Crax]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Compilation_Installation</id>
		<title>Compilation Installation</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Compilation_Installation"/>
				<updated>2008-02-13T15:32:51Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Opps - remove &amp;lt;nowiki&amp;gt;--&amp;gt;&amp;lt;/nowiki&amp;gt; Langs' list Modifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Compilation_Installation-de|Deutsch]] | [[Compilation_Installation|English]]&lt;br /&gt;
| [[Compilation_Installation-fr|Français]] | [[Compilation_Installation-it|Italiano]]&lt;br /&gt;
| [[Compilation_Installation-nl|Nederlands]] | [[Compilation_Installation-br|Português]]&lt;br /&gt;
| [[Compilation_Installation-ru|Russian]] | [[Compilation_Installation-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Manual Installation ==&lt;br /&gt;
To install [[aMule]] you can either install it from scratch, as described in [[Compilation_Installation#Compiling From Sources|Compiling From Sources]], or use [http://www.rpm.org RPM]s, as described in the [[Compilation_Installation#Installing using RPMs|Installing using RPMs]] section. Using [http://www.rpm.org RPM]s will speed things up a lot but is not available by default with all [http://www.kernel.org linux] distributions.&lt;br /&gt;
&lt;br /&gt;
== Compiling from Sources ==&lt;br /&gt;
'''WARNING:''' Make sure you have '''no''' copies of [[wxWidgets]] installed. If you already have [[wxWidgets]] installed, check [[How to uninstall wxWidgets]] before starting a new installation. If you continue have problems, then [[Check_if_wx_is_installed_twice|check if wx is installed twice]], since that's a common compilation and runtime problem.&lt;br /&gt;
&lt;br /&gt;
There are different versions of the wxWidgets for different platforms. wxGTK is used for Linux, Solaris and BSD, wxMSW for Windows and wxMac for Mac OS X. Here we'll explain the compilation using wxGTK, but it differs only slightly for other toolkits.&lt;br /&gt;
&lt;br /&gt;
Please see the specific articles for more detailed instructions.&lt;br /&gt;
*[[HowTo_compile_on_Mac|Compile aMule on Mac]]&lt;br /&gt;
*[[HowTo compile on Win32|Compile aMule on Windows]]&lt;br /&gt;
&lt;br /&gt;
=== Step 1: [[wxWidgets]] ===&lt;br /&gt;
*Download [[wxWidgets|wxGTK]] -&amp;gt;&lt;br /&gt;
**[http://downloads.sourceforge.net/wxwindows/wxGTK-2.8.4.tar.bz2 wxGTK-2.8.4.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
*Compile [[wxWidgets|wxGTK]]&lt;br /&gt;
**''tar -jxvf wxGTK-2.8.4.tar.bz2''&lt;br /&gt;
**''cd wxGTK-2.8.4''&lt;br /&gt;
**''Linked against [http://www.gtk.org GTK]2: ./configure --prefix=/usr --with-gtk --enable-unicode --enable-optimise &amp;amp;&amp;amp; make&lt;br /&gt;
*As '''root''':&lt;br /&gt;
**''make install''&lt;br /&gt;
**''ldconfig''&lt;br /&gt;
&lt;br /&gt;
==== [[wxBase]] ====&lt;br /&gt;
*Since [[WxWidgets|wxGTK]] 2.5.x, you don't need [[wxBase]] anymore unless you want to compile [[aMuled|aMule daemon]] without X.&lt;br /&gt;
*To compile wxWidgets without a graphical User Interface, ''use the option --disable-gui''&lt;br /&gt;
&lt;br /&gt;
=== Step 3: [[aMule]] ===&lt;br /&gt;
*Download the latest [[aMule]] version -&amp;gt;&lt;br /&gt;
**[http://developer.berlios.de/project/showfiles.php?group_id=1296 Latest aMule]&lt;br /&gt;
&lt;br /&gt;
*Compile [[aMule]] (please check the [[configure|configure article]]) -&amp;gt;&lt;br /&gt;
**''tar -zxvf aMule-X.X.X.tar.gz'' (replace X with the right version number..)&lt;br /&gt;
**''cd aMule-X.X.X''&lt;br /&gt;
**''./configure --disable-debug --enable-optimize &amp;amp;&amp;amp; make''&lt;br /&gt;
&lt;br /&gt;
*As '''root''':&lt;br /&gt;
**''make install''&lt;br /&gt;
&lt;br /&gt;
*Run [[aMule]] as a regular user from console by typing -&amp;gt; ''amule''&lt;br /&gt;
&lt;br /&gt;
===='''aMule 2.1.3 and wxWidgets 2.8.4'''====&lt;br /&gt;
*In order to compile aMule 2.1.3 against wxWidgets 2.8.4, you need the [http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/aMule-wx.patch?rev=1.2 aMule-wx.patch]&lt;br /&gt;
*Apply the patch using ''patch -p1 &amp;lt; aMule-wx.patch'' before executing ''make''.&lt;br /&gt;
&lt;br /&gt;
== Installing using RPMs ==&lt;br /&gt;
=== Step 1: [[wxWidgets|wxGTK]] ===&lt;br /&gt;
*Download [[wxWidgets|wxGTK]] for your [http://www.kernel.org Linux] distribution -&amp;gt;&lt;br /&gt;
**[http://www.amule.org/files/files.php?cat=12 wxGTK-2.6.3]&lt;br /&gt;
&lt;br /&gt;
*Install [[wxWidgets|wxGTK]] -&amp;gt;&lt;br /&gt;
**As '''root''':&lt;br /&gt;
***''rpm -Uvh wxGTK-2.6.3-X.rpm'' (replace X with the right name..)&lt;br /&gt;
***''ldconfig''&lt;br /&gt;
&lt;br /&gt;
=== Step 2: [[aMule]] ===&lt;br /&gt;
*Download latest [[aMule]] version -&amp;gt;&lt;br /&gt;
**[http://developer.berlios.de/project/showfiles.php?group_id=1296 Latest aMule]&lt;br /&gt;
&lt;br /&gt;
*Install [[aMule]] -&amp;gt;&lt;br /&gt;
**As '''root''':&lt;br /&gt;
***''rpm -Uvh aMule-X.rpm'' (replace X with the right name and version number..)&lt;br /&gt;
&lt;br /&gt;
* Run [[aMule]] as a regular user from your console by typing -&amp;gt; ''amule''&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by DeltaHF on 28.04.04 at 22:54&amp;lt;br&amp;gt;&lt;br /&gt;
Updated by Vollstrecker on 22.01.08 at 14:12&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Compilation_Installation</id>
		<title>Compilation Installation</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Compilation_Installation"/>
				<updated>2008-02-13T15:30:01Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: --&amp;gt; Langs' list Modifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;&lt;br /&gt;
[[Compilation_Installation-de|Deutsch]] | [[Compilation_Installation|English]]&lt;br /&gt;
| [[Compilation_Installation-fr|Français]] | [[Compilation_Installation-it|Italiano]]&lt;br /&gt;
| [[Compilation_Installation-nl|Nederlands]] | [[Compilation_Installation-br|Português]]&lt;br /&gt;
| [[Compilation_Installation-ru|Russian]] | [[Compilation_Installation-es|Spanish]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[Compilation Installation|--&amp;gt;]] Langs' list Modifications&lt;br /&gt;
&lt;br /&gt;
== Manual Installation ==&lt;br /&gt;
To install [[aMule]] you can either install it from scratch, as described in [[Compilation_Installation#Compiling From Sources|Compiling From Sources]], or use [http://www.rpm.org RPM]s, as described in the [[Compilation_Installation#Installing using RPMs|Installing using RPMs]] section. Using [http://www.rpm.org RPM]s will speed things up a lot but is not available by default with all [http://www.kernel.org linux] distributions.&lt;br /&gt;
&lt;br /&gt;
== Compiling from Sources ==&lt;br /&gt;
'''WARNING:''' Make sure you have '''no''' copies of [[wxWidgets]] installed. If you already have [[wxWidgets]] installed, check [[How to uninstall wxWidgets]] before starting a new installation. If you continue have problems, then [[Check_if_wx_is_installed_twice|check if wx is installed twice]], since that's a common compilation and runtime problem.&lt;br /&gt;
&lt;br /&gt;
There are different versions of the wxWidgets for different platforms. wxGTK is used for Linux, Solaris and BSD, wxMSW for Windows and wxMac for Mac OS X. Here we'll explain the compilation using wxGTK, but it differs only slightly for other toolkits.&lt;br /&gt;
&lt;br /&gt;
Please see the specific articles for more detailed instructions.&lt;br /&gt;
*[[HowTo_compile_on_Mac|Compile aMule on Mac]]&lt;br /&gt;
*[[HowTo compile on Win32|Compile aMule on Windows]]&lt;br /&gt;
&lt;br /&gt;
=== Step 1: [[wxWidgets]] ===&lt;br /&gt;
*Download [[wxWidgets|wxGTK]] -&amp;gt;&lt;br /&gt;
**[http://downloads.sourceforge.net/wxwindows/wxGTK-2.8.4.tar.bz2 wxGTK-2.8.4.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
*Compile [[wxWidgets|wxGTK]]&lt;br /&gt;
**''tar -jxvf wxGTK-2.8.4.tar.bz2''&lt;br /&gt;
**''cd wxGTK-2.8.4''&lt;br /&gt;
**''Linked against [http://www.gtk.org GTK]2: ./configure --prefix=/usr --with-gtk --enable-unicode --enable-optimise &amp;amp;&amp;amp; make&lt;br /&gt;
*As '''root''':&lt;br /&gt;
**''make install''&lt;br /&gt;
**''ldconfig''&lt;br /&gt;
&lt;br /&gt;
==== [[wxBase]] ====&lt;br /&gt;
*Since [[WxWidgets|wxGTK]] 2.5.x, you don't need [[wxBase]] anymore unless you want to compile [[aMuled|aMule daemon]] without X.&lt;br /&gt;
*To compile wxWidgets without a graphical User Interface, ''use the option --disable-gui''&lt;br /&gt;
&lt;br /&gt;
=== Step 3: [[aMule]] ===&lt;br /&gt;
*Download the latest [[aMule]] version -&amp;gt;&lt;br /&gt;
**[http://developer.berlios.de/project/showfiles.php?group_id=1296 Latest aMule]&lt;br /&gt;
&lt;br /&gt;
*Compile [[aMule]] (please check the [[configure|configure article]]) -&amp;gt;&lt;br /&gt;
**''tar -zxvf aMule-X.X.X.tar.gz'' (replace X with the right version number..)&lt;br /&gt;
**''cd aMule-X.X.X''&lt;br /&gt;
**''./configure --disable-debug --enable-optimize &amp;amp;&amp;amp; make''&lt;br /&gt;
&lt;br /&gt;
*As '''root''':&lt;br /&gt;
**''make install''&lt;br /&gt;
&lt;br /&gt;
*Run [[aMule]] as a regular user from console by typing -&amp;gt; ''amule''&lt;br /&gt;
&lt;br /&gt;
===='''aMule 2.1.3 and wxWidgets 2.8.4'''====&lt;br /&gt;
*In order to compile aMule 2.1.3 against wxWidgets 2.8.4, you need the [http://cvs.pld-linux.org/cgi-bin/cvsweb/SOURCES/aMule-wx.patch?rev=1.2 aMule-wx.patch]&lt;br /&gt;
*Apply the patch using ''patch -p1 &amp;lt; aMule-wx.patch'' before executing ''make''.&lt;br /&gt;
&lt;br /&gt;
== Installing using RPMs ==&lt;br /&gt;
=== Step 1: [[wxWidgets|wxGTK]] ===&lt;br /&gt;
*Download [[wxWidgets|wxGTK]] for your [http://www.kernel.org Linux] distribution -&amp;gt;&lt;br /&gt;
**[http://www.amule.org/files/files.php?cat=12 wxGTK-2.6.3]&lt;br /&gt;
&lt;br /&gt;
*Install [[wxWidgets|wxGTK]] -&amp;gt;&lt;br /&gt;
**As '''root''':&lt;br /&gt;
***''rpm -Uvh wxGTK-2.6.3-X.rpm'' (replace X with the right name..)&lt;br /&gt;
***''ldconfig''&lt;br /&gt;
&lt;br /&gt;
=== Step 2: [[aMule]] ===&lt;br /&gt;
*Download latest [[aMule]] version -&amp;gt;&lt;br /&gt;
**[http://developer.berlios.de/project/showfiles.php?group_id=1296 Latest aMule]&lt;br /&gt;
&lt;br /&gt;
*Install [[aMule]] -&amp;gt;&lt;br /&gt;
**As '''root''':&lt;br /&gt;
***''rpm -Uvh aMule-X.rpm'' (replace X with the right name and version number..)&lt;br /&gt;
&lt;br /&gt;
* Run [[aMule]] as a regular user from your console by typing -&amp;gt; ''amule''&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Created by DeltaHF on 28.04.04 at 22:54&amp;lt;br&amp;gt;&lt;br /&gt;
Updated by Vollstrecker on 22.01.08 at 14:12&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_amuled-es</id>
		<title>FAQ amuled-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_amuled-es"/>
				<updated>2008-02-13T15:13:22Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Links Modifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[FAQ_amuled|English]] | [[FAQ_amuled-de|German]] | [[FAQ_amuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
el [[AMuled-es|aMuled]] es un [[AMule-es|aMule]], con todas las características, funcionando sin ninguna interface ([http://es.wikipedia.org/wiki/GUI GUI]). Se controla a través del acceso remoto por medio de [[aMuleWeb]], [[aMuleCMD]], [[aMuleGUI]] u otras [[FAQ utils-es|utilidades]] [[FAQ_eD2k-Kademlia-es#.C2.BFQu.C3.A9_es_ED2K.3F|ed2k]].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Libre de la [http://es.wikipedia.org/wiki/GUI GUI], el [[AMuled-es|aMuled]] reduce el consumo de memoria y los requisitos de la CPU y puede correr sin necesidad de las [http://www.xfree86.org X].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Atención:''' Recuerda que las max-Connections '''no''' deben sobrepasar 1024, para que [[wxBase]] puedea ocuparse de más conexiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si lo que necesitas es ejecutar [[AMule-es|aMule]] en un servidor remoto, prueba [[FAQ_aMule-es#.C3.82.C2.BFHay_alguna_forma_de_arrancar_aMule_sin_interfaz_gr.C3.83.C2.A1fica.3F|try Xvfb]] (mira [[FAQ_aMule-es#.C3.82.C2.BFPuedo_controlar_aMule_de_forma_remota.2C_atraves_de_telnet_igual_que_hago_con_eDonkey.3F|también]]).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script de Arranque ===&lt;br /&gt;
Aquí tienes el ''[[FAQ amuled|amuled]]'' un script de inicio que arrancará y parará el ''[[AMuled-es|amuled]]'' junto con la máquina.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Éste deriva de otro, el [[aMuleWeb]], but follows stricter quoting rules, doesn't require a configuration file in ''/etc/defaults'', and doesn't start a web server.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pero siguiendo estrictamente las reglas, no le hace falta un achivo de configuración  ''''/etc/defaults''''', y no arranca el servidor web (&amp;lt;small&amp;gt;si lo tenemos configurado en ~/.aMule/amule.conf entonces &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;sí arrancará&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arrancalo con su, o antecede el script con ''sudo'', para iniciarlo como root.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifica la línea con ''USER='' para asignar al acutal usuario (nos lo indica ''whoami'').&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crea un achivo como '''''/etc/init.d/amuled''''':&lt;br /&gt;
&lt;br /&gt;
 touch /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Haz que sea ejecutable:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Establece que se inicie en el arranque:&lt;br /&gt;
&lt;br /&gt;
  #en distribuciones debian:&lt;br /&gt;
  update-rc.d amuled defaults&lt;br /&gt;
  #en las distros genéricas&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc0.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc1.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc6.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc4.d/S20amuled&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc5.d/S20amuled&lt;br /&gt;
&lt;br /&gt;
El contenido del script es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 NAME=$(basename &amp;quot;$0&amp;quot;)&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 USER=g2p # El usuario que ya ha iniciado el amule para configurarlo.&lt;br /&gt;
 &lt;br /&gt;
 test -x &amp;quot;$DAEMON&amp;quot; || exit 0&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  restart|force-reload)&lt;br /&gt;
    echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    printf &amp;quot;Usage: %q {start|stop|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuled-es</id>
		<title>AMuled-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuled-es"/>
				<updated>2008-02-13T14:53:55Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Se me han olvidado los enlaces :)))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMuled|English]] | [[AMuled-de|German]] | [[AMuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Échale una mirada al la [[FAQ_amuled-es|FAQ de aMuled]] mientras esta página no tenga contenido.  &lt;br /&gt;
  &lt;br /&gt;
Si lo que prefieres es compilarlo sin las X échale un vistazo al [[HowTo_Compile_aMuled-es|aMuled HowTo]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuled-de</id>
		<title>AMuled-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuled-de"/>
				<updated>2008-02-13T14:52:18Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Add Link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMuled|Englisch]] | [[AMuled-de|Deutsch]] | [[AMuled-es|Spanisch]]&amp;lt;/center&amp;gt;&lt;br /&gt;
Lies bitte die [[FAQ_amuled-de|aMuled FAQ]] solange auf dieser Seite kein Inhalt steht.&lt;br /&gt;
&lt;br /&gt;
F&amp;amp;uuml;r eine Anleitung wie ohne X-Pr&amp;amp;uuml;fung kompiliert wird lies das [[HowTo_Compile_aMuled-de|aMuled HowTo]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuled-es</id>
		<title>AMuled-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuled-es"/>
				<updated>2008-02-13T14:47:14Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: add AMuled-es&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Échale una mirada al la [[FAQ_amuled-es|FAQ de aMuled]] mientras esta página no tenga contenido.  &lt;br /&gt;
  &lt;br /&gt;
Si lo que prefieres es compilarlo sin las X échale un vistazo al [[HowTo_Compile_aMuled-es|aMuled HowTo]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/AMuled</id>
		<title>AMuled</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/AMuled"/>
				<updated>2008-02-13T14:46:49Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* add link es */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[AMuled|English]] | [[AMuled-de|German]] | [[AMuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please take a look at [[FAQ_amuled|aMuled FAQ]] while no contents are in this page.&lt;br /&gt;
&lt;br /&gt;
For a HowTo to compile without X check [[HowTo_Compile_aMuled|aMuled HowTo]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_amuled-es</id>
		<title>FAQ amuled-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_amuled-es"/>
				<updated>2008-02-13T01:57:20Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* Script de Arranque */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[FAQ_amuled|English]] | [[FAQ_amuled-de|German]] | [[FAQ_amuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
el [[aMuled]] es un [[AMule-es|aMule]], con todas las características, funcionando sin ninguna interface ([http://es.wikipedia.org/wiki/GUI GUI]). Se controla a través del acceso remoto por medio de [[aMuleWeb]], [[aMuleCMD]], [[aMuleGUI]] u otras [[FAQ utils-es|utilidades]] [[FAQ_eD2k-Kademlia-es#What_is_ED2K?|ed2k]].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Libre de la [http://es.wikipedia.org/wiki/GUI GUI], el [[aMuled]] reduce el consumo de memoria y los requisitos de la CPU y puede correr sin necesidad de las [http://www.xfree86.org X].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Atención:''' Recuerda que las max-Connections '''no''' deben sobrepasar 1024, para que [[wxBase]] puedea ocuparse de más conexiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si lo que necesitas es ejecutar [[AMule-es|aMule]] en un servidor remoto, prueba [[FAQ_aMule-es#.C3.82.C2.BFHay_alguna_forma_de_arrancar_aMule_sin_interfaz_gr.C3.83.C2.A1fica.3F|try Xvfb]] (mira [[FAQ_aMule-es#.C3.82.C2.BFPuedo_controlar_aMule_de_forma_remota.2C_atraves_de_telnet_igual_que_hago_con_eDonkey.3F|también]]).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script de Arranque ===&lt;br /&gt;
Aquí tienes el ''[[FAQ amuled|amuled]]'' un script de inicio que arrancará y parará el ''[[AMuled-es|amuled]]'' junto con la máquina.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Éste deriva de otro, el [[aMuleWeb]], but follows stricter quoting rules, doesn't require a configuration file in ''/etc/defaults'', and doesn't start a web server.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pero siguiendo estrictamente las reglas, no le hace falta un achivo de configuración  ''''/etc/defaults''''', y no arranca el servidor web (&amp;lt;small&amp;gt;si lo tenemos configurado en ~/.aMule/amule.conf entonces &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;sí arrancará&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arrancalo con su, o antecede el script con ''sudo'', para iniciarlo como root.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifica la línea con ''USER='' para asignar al acutal usuario (nos lo indica ''whoami'').&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crea un achivo como '''''/etc/init.d/amuled''''':&lt;br /&gt;
&lt;br /&gt;
 touch /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Haz que sea ejecutable:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Establece que se inicie en el arranque:&lt;br /&gt;
&lt;br /&gt;
  #en distribuciones debian:&lt;br /&gt;
  update-rc.d amuled defaults&lt;br /&gt;
  #en las distros genéricas&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc0.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc1.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc6.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc4.d/S20amuled&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc5.d/S20amuled&lt;br /&gt;
&lt;br /&gt;
El contenido del script es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 NAME=$(basename &amp;quot;$0&amp;quot;)&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 USER=g2p # El usuario que ya ha iniciado el amule para configurarlo.&lt;br /&gt;
 &lt;br /&gt;
 test -x &amp;quot;$DAEMON&amp;quot; || exit 0&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  restart|force-reload)&lt;br /&gt;
    echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    printf &amp;quot;Usage: %q {start|stop|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_amuled-es</id>
		<title>FAQ amuled-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_amuled-es"/>
				<updated>2008-02-13T01:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: changed GUI external link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[FAQ_amuled|English]] | [[FAQ_amuled-de|German]] | [[FAQ_amuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
el [[aMuled]] es un [[AMule-es|aMule]], con todas las características, funcionando sin ninguna interface ([http://es.wikipedia.org/wiki/GUI GUI]). Se controla a través del acceso remoto por medio de [[aMuleWeb]], [[aMuleCMD]], [[aMuleGUI]] u otras [[FAQ utils-es|utilidades]] [[FAQ_eD2k-Kademlia-es#What_is_ED2K?|ed2k]].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Libre de la [http://es.wikipedia.org/wiki/GUI GUI], el [[aMuled]] reduce el consumo de memoria y los requisitos de la CPU y puede correr sin necesidad de las [http://www.xfree86.org X].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Atención:''' Recuerda que las max-Connections '''no''' deben sobrepasar 1024, para que [[wxBase]] puedea ocuparse de más conexiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si lo que necesitas es ejecutar [[AMule-es|aMule]] en un servidor remoto, prueba [[FAQ_aMule-es#.C3.82.C2.BFHay_alguna_forma_de_arrancar_aMule_sin_interfaz_gr.C3.83.C2.A1fica.3F|try Xvfb]] (mira [[FAQ_aMule-es#.C3.82.C2.BFPuedo_controlar_aMule_de_forma_remota.2C_atraves_de_telnet_igual_que_hago_con_eDonkey.3F|también]]).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script de Arranque ===&lt;br /&gt;
Aquí tienes el ''[[FAQ amuled-es|amuled]]'' un script de inicio que arrancará y parará el ''[[AMuled-es|amuled]]'' junto con la máquina.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Éste deriva de otro, el [[aMuleWeb]], but follows stricter quoting rules, doesn't require a configuration file in ''/etc/defaults'', and doesn't start a web server.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pero siguiendo estrictamente las reglas, no le hace falta un achivo de configuración  ''''/etc/defaults''''', y no arranca el servidor web (&amp;lt;small&amp;gt;si lo tenemos configurado en ~/.aMule/amule.conf entonces &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;sí arrancará&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arrancalo con su, o antecede el script con ''sudo'', para iniciarlo como root.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifica la línea con ''USER='' para asignar al acutal usuario (nos lo indica ''whoami'').&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crea un achivo como '''''/etc/init.d/amuled''''':&lt;br /&gt;
&lt;br /&gt;
 touch /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Haz que sea ejecutable:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Establece que se inicie en el arranque:&lt;br /&gt;
&lt;br /&gt;
  #en distribuciones debian:&lt;br /&gt;
  update-rc.d amuled defaults&lt;br /&gt;
  #en las distros genéricas&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc0.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc1.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc6.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc4.d/S20amuled&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc5.d/S20amuled&lt;br /&gt;
&lt;br /&gt;
El contenido del script es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 NAME=$(basename &amp;quot;$0&amp;quot;)&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 USER=g2p # El usuario que ya ha iniciado el amule para configurarlo.&lt;br /&gt;
 &lt;br /&gt;
 test -x &amp;quot;$DAEMON&amp;quot; || exit 0&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  restart|force-reload)&lt;br /&gt;
    echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    printf &amp;quot;Usage: %q {start|stop|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_amuled-de</id>
		<title>FAQ amuled-de</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_amuled-de"/>
				<updated>2008-02-12T16:37:34Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* add link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[FAQ_amuled|English]] | [[FAQ_amuled-de|Deutsch]] | [[FAQ_amuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[aMuled-de|aMuled]] ist ein vollwertiger [[aMule-de|aMule]], der ohne graphisches Benutzerinterface ([http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html GUI]) l&amp;amp;auml;uft. Er wird &amp;amp;uuml;ber Fernzugriff durch [[aMuleWeb-de|aMuleWeb]], [[aMuleCMD-de|aMuleCMD]], [[aMuleGUI-de|aMuleGUI]] oder andere [[FAQ_eD2k-Kademlia-de#Was_ist_ED2K?|eD2k]]-[[FAQ_utils-de|Dienstprogramme]] kontrolliert.&lt;br /&gt;
&lt;br /&gt;
Von der [http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html GUI] befreit, hat [[aMuled-de|aMuled]] geringere Speicher- und Prozessoranforderungen, und ist sogar ohne [http://www.xfree86.org X] lauff&amp;amp;auml;hig.&lt;br /&gt;
&lt;br /&gt;
'''Bitte beachten:''' Daran denken, die max-Connections '''nicht''' h&amp;amp;ouml;her als 1024 einzustellen, weil [[wxBase-de|wxBase]] nicht mehr Verbindungen verarbeiten kann.&lt;br /&gt;
&lt;br /&gt;
Wer einfach nur [[aMule-de|aMule]] auf einem Remote-Server laufen lassen m&amp;amp;ouml;chte, kann [[FAQ_aMule-de#Bekommt_man_aMule_auch_ohne_grafische_Oberfl%C3%A4che_zum_Laufen?|Xvfb]] versuchen. (man beachte  [[FAQ_aMule-de#Kann_man_aMule_genauso_mittels_telnet_fernsteuern,_wie_das_bei_eDonkey_der_Fall_ist?|dies hier]] ebenfalls).&lt;br /&gt;
&lt;br /&gt;
=== Startup-Skript ===&lt;br /&gt;
Hier ein ''amuled''-Startup-Skript, um ''amuled'' mit dem Computer hoch- und runterzufahren. Es ist von dem von [[aMuleWeb-de|aMuleWeb]] abgeleitet, aber verwendet h&amp;amp;auml;rtere Quotingregeln, braucht keine Konfigurationsdatei in ''/etc/defaults'', und f&amp;amp;auml;hrt keinen Webserver hoch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''su'' ausf&amp;amp;uuml;hren, oder den Befehlen den Pr&amp;amp;auml;fix ''sudo'' voranstellen, um Root zu werden.&lt;br /&gt;
&lt;br /&gt;
Die Zeile ''USER='' editieren, um dort den korrekten Benutzernamen (wie er mit ''whoami'' ausgegeben wird) einzusetzen.&lt;br /&gt;
&lt;br /&gt;
Das Script als ''/etc/init.d/amuled'' kopieren:&lt;br /&gt;
&lt;br /&gt;
 cp amuled /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Und ausf&amp;amp;uuml;hrbar machen:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Einstellen, dass es beim Systemstart ausgef&amp;amp;uuml;hrt wird:&lt;br /&gt;
&lt;br /&gt;
  #auf debian distros:&lt;br /&gt;
  update-rc.d amuled defaults&lt;br /&gt;
  #on a generic distro&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc0.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc1.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc6.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc4.d/S20amuled&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc5.d/S20amuled&lt;br /&gt;
&lt;br /&gt;
Das Skript enth&amp;amp;auml;lt folgende Zeilen:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 NAME=$(basename &amp;quot;$0&amp;quot;)&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 USER=g2p #Ein Benutzer, der schonmal amule laufengelassen hat, um ihn zu konfigurieren.&lt;br /&gt;
 &lt;br /&gt;
 test -x &amp;quot;$DAEMON&amp;quot; || exit 0&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    echo -n &amp;quot;Starte $DESC: &amp;quot;&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    echo -n &amp;quot;Beende $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  restart|force-reload)&lt;br /&gt;
    echo -n &amp;quot;Neustart von $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    printf &amp;quot;Befehle: %q {start|stop|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
== Version ==&lt;br /&gt;
Erstellt von Ihmselbst am 04.02.06 um 14:02&amp;lt;br&amp;gt;&lt;br /&gt;
Aktualisiert von Vollstrecker am 24.01.08 um 09:34&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_amuled</id>
		<title>FAQ amuled</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_amuled"/>
				<updated>2008-02-12T16:35:59Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* add link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[FAQ_amuled|English]] | [[FAQ_amuled-de|German]] | [[FAQ_amuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[aMuled]] is a full featured [[aMule]], running without any user interface ([http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html GUI]). It is controlled by remote access through [[aMuleWeb]], [[aMuleCMD]], [[aMuleGUI]] or other [[FAQ_eD2k-Kademlia#What_is_ED2K?|ed2k]] [[FAQ_utils|utilities]].&lt;br /&gt;
&lt;br /&gt;
Stripped from [http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html GUI], [[aMuled]] has reduced memory and CPU requirements and it can run without [http://www.xfree86.org X] at all.&lt;br /&gt;
&lt;br /&gt;
'''Please note:''' Remember '''not''' to set your max-Connections higher than 1024, since [[wxBase]] cannot handle more connections.&lt;br /&gt;
&lt;br /&gt;
If you just need to run [[aMule]] on a remote server [[FAQ_aMule#Is there any way to start aMule with no graphical interface?|try Xvfb]] (see  [[FAQ_aMule#Can_I_manage_aMule_remotely_through_telnet_in_the_same_way_I_do_with_eDonkey?|this]] too).&lt;br /&gt;
&lt;br /&gt;
=== Startup script ===&lt;br /&gt;
Here is an ''amuled'' startup script to make ''amuled'' start and stop with your computer. It is derived from the one at [[aMuleWeb]], but follows stricter quoting rules, doesn't require a configuration file in ''/etc/defaults'', and doesn't start a web server.&lt;br /&gt;
&lt;br /&gt;
Run ''su'', or prefix commands with ''sudo'', to become root.&lt;br /&gt;
&lt;br /&gt;
Edit the ''USER='' line to set it to your current user (as reported by ''whoami'').&lt;br /&gt;
&lt;br /&gt;
Copy the script as ''/etc/init.d/amuled'':&lt;br /&gt;
&lt;br /&gt;
 cp amuled /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Make it executable:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Set it to run at startup:&lt;br /&gt;
&lt;br /&gt;
  #on debian distros:&lt;br /&gt;
  update-rc.d amuled defaults&lt;br /&gt;
  #on a generic distro&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc0.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc1.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc6.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc4.d/S20amuled&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc5.d/S20amuled&lt;br /&gt;
&lt;br /&gt;
The script contains the following lines:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 NAME=$(basename &amp;quot;$0&amp;quot;)&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 USER=g2p #A user who already ran amule once to configure it.&lt;br /&gt;
 &lt;br /&gt;
 test -x &amp;quot;$DAEMON&amp;quot; || exit 0&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  restart|force-reload)&lt;br /&gt;
    echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    printf &amp;quot;Usage: %q {start|stop|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;br /&gt;
&lt;br /&gt;
=== Startup script for RedHat (Fedora, RHEL, Centos, SME7, ...) ===&lt;br /&gt;
&lt;br /&gt;
Run ''su'', or prefix commands with ''sudo'', to become root.&lt;br /&gt;
&lt;br /&gt;
Edit the ''USER='' line to set it to your current user (as reported by ''whoami'').&lt;br /&gt;
&lt;br /&gt;
Copy the script as ''/etc/init.d/amuled'':&lt;br /&gt;
&lt;br /&gt;
 cp amuled /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Make it executable:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Then register the service :&lt;br /&gt;
&lt;br /&gt;
 chkconfig --add amuled&lt;br /&gt;
&lt;br /&gt;
The alternate script contains the following lines :&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 # aMule - script shell pour l'arret/demarrage du service&lt;br /&gt;
&lt;br /&gt;
 # description: amule p2p download service&lt;br /&gt;
 # chkconfig: 345 97 03&lt;br /&gt;
&lt;br /&gt;
 # Source function library.&lt;br /&gt;
 . /etc/rc.d/init.d/functions&lt;br /&gt;
&lt;br /&gt;
 USER=p2p #A user who already ran amule once to configure it.&lt;br /&gt;
&lt;br /&gt;
 RETVAL=0&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 start)&lt;br /&gt;
   echo -n &amp;quot;Starting amule daemon: &amp;quot;&lt;br /&gt;
   daemon --user=$USER amuled -f&lt;br /&gt;
   RETVAL=$?&lt;br /&gt;
   echo&lt;br /&gt;
   [ $RETVAL -eq 0 ] &amp;amp;&amp;amp; touch /var/lock/subsys/amule&lt;br /&gt;
   ;;&lt;br /&gt;
 stop)&lt;br /&gt;
   echo -n &amp;quot;Stopping amule daemon: &amp;quot;&lt;br /&gt;
   killproc amuled&lt;br /&gt;
   RETVAL=$?&lt;br /&gt;
   rm -f /var/lock/subsys/amule &amp;amp;&amp;amp; rm -f /var/lock/amule&lt;br /&gt;
   echo&lt;br /&gt;
   ;;&lt;br /&gt;
 status)&lt;br /&gt;
   status amuled&lt;br /&gt;
   RETVAL=$?&lt;br /&gt;
   ;;&lt;br /&gt;
 restart|force-reload)&lt;br /&gt;
   $0 stop&lt;br /&gt;
   $0 start&lt;br /&gt;
   RETVAL=$?&lt;br /&gt;
   ;;&lt;br /&gt;
 *)&lt;br /&gt;
   printf &amp;quot;Usage: %q {start|stop|status|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
   exit 1&lt;br /&gt;
   ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
 exit $RETVAL&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/FAQ_amuled-es</id>
		<title>FAQ amuled-es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/FAQ_amuled-es"/>
				<updated>2008-02-12T16:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: /* FAQ amuled es translation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[FAQ_amuled|English]] | [[FAQ_amuled-de|German]] | [[FAQ_amuled-es|Spanish]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
el [[aMuled]] es un [[AMule-es|aMule]], con todas las características, funcionando sin ninguna interface ([http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html GUI]). Se controla a través del acceso remoto por medio de [[aMuleWeb]], [[aMuleCMD]], [[aMuleGUI]] u otras [[FAQ utils-es|utilidades]] [[FAQ_eD2k-Kademlia-es#What_is_ED2K?|ed2k]].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Libre de la [http://www.webopedia.com/TERM/G/Graphical_User_Interface_GUI.html GUI], el [[aMuled]] reduce el consumo de memoria y los requisitos de la CPU y puede correr sin necesidad de las [http://www.xfree86.org X].&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Atención:''' Recuerda que las max-Connections '''no''' deben sobrepasar 1024, para que [[wxBase]] puedea ocuparse de más conexiones.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si lo que necesitas es ejecutar [[AMule-es|aMule]] en un servidor remoto, prueba [[FAQ_aMule-es#.C3.82.C2.BFHay_alguna_forma_de_arrancar_aMule_sin_interfaz_gr.C3.83.C2.A1fica.3F|try Xvfb]] (mira [[FAQ_aMule-es#.C3.82.C2.BFPuedo_controlar_aMule_de_forma_remota.2C_atraves_de_telnet_igual_que_hago_con_eDonkey.3F|también]]).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Script de Arranque ===&lt;br /&gt;
Aquí tienes el ''[[FAQ amuled-es|amuled]]'' un script de inicio que arrancará y parará el ''[[AMuled-es|amuled]]'' junto con la máquina.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Éste deriva de otro, el [[aMuleWeb]], but follows stricter quoting rules, doesn't require a configuration file in ''/etc/defaults'', and doesn't start a web server.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pero siguiendo estrictamente las reglas, no le hace falta un achivo de configuración  ''''/etc/defaults''''', y no arranca el servidor web (&amp;lt;small&amp;gt;si lo tenemos configurado en ~/.aMule/amule.conf entonces &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;sí arrancará&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Arrancalo con su, o antecede el script con ''sudo'', para iniciarlo como root.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modifica la línea con ''USER='' para asignar al acutal usuario (nos lo indica ''whoami'').&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Crea un achivo como '''''/etc/init.d/amuled''''':&lt;br /&gt;
&lt;br /&gt;
 touch /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Haz que sea ejecutable:&lt;br /&gt;
&lt;br /&gt;
 chmod 755 /etc/init.d/amuled&lt;br /&gt;
&lt;br /&gt;
Establece que se inicie en el arranque:&lt;br /&gt;
&lt;br /&gt;
  #en distribuciones debian:&lt;br /&gt;
  update-rc.d amuled defaults&lt;br /&gt;
  #en las distros genéricas&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc0.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc1.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc6.d/K20amuled;&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc4.d/S20amuled&lt;br /&gt;
  ln -s /etc/init.d/amuled /etc/rc5.d/S20amuled&lt;br /&gt;
&lt;br /&gt;
El contenido del script es el siguiente:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 NAME=$(basename &amp;quot;$0&amp;quot;)&lt;br /&gt;
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin&lt;br /&gt;
 DAEMON=/usr/bin/amuled&lt;br /&gt;
 DESC=amuled&lt;br /&gt;
 USER=g2p # El usuario que ya ha iniciado el amule para configurarlo.&lt;br /&gt;
 &lt;br /&gt;
 test -x &amp;quot;$DAEMON&amp;quot; || exit 0&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    echo -n &amp;quot;Starting $DESC: &amp;quot;&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    echo &amp;quot;$NAME.&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  restart|force-reload)&lt;br /&gt;
    echo -n &amp;quot;Restarting $DESC: &amp;quot;&lt;br /&gt;
      killall --quiet &amp;quot;$DAEMON&amp;quot;&lt;br /&gt;
    sleep 1&lt;br /&gt;
      su &amp;quot;$USER&amp;quot; -c &amp;quot;$(printf &amp;quot;%q -f&amp;quot; &amp;quot;$DAEMON&amp;quot; )&amp;quot;&lt;br /&gt;
    ;;&lt;br /&gt;
  *)&lt;br /&gt;
    printf &amp;quot;Usage: %q {start|stop|restart|force-reload}\n&amp;quot; &amp;quot;$0&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
    ;;&lt;br /&gt;
 esac&lt;br /&gt;
 &lt;br /&gt;
 exit 0&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User_talk:Jacobo221</id>
		<title>User talk:Jacobo221</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User_talk:Jacobo221"/>
				<updated>2006-12-16T21:47:45Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: Yes! Be alive!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''thanks you very much for your howto install amule on debian merci beaucoup au revoir'''&amp;lt;br&amp;gt;&lt;br /&gt;
You're wellcome ;-)&lt;br /&gt;
&lt;br /&gt;
Nothing, it is with pleasure TheLinuxFr&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Maybe you should upgrade mediawiki ? Version 1.2 is a bit old, 1.4 is probably the minimum you want, 1.5 is getting out soon :)'''&lt;br /&gt;
&lt;br /&gt;
Yes, I guess. I already asked deltaHF some months ago, but he looks too busy lately. I'll tell him again anyway to see if this holidays... ;)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Two lines in [[aMule]] *Mule features could be deleted:&lt;br /&gt;
* the spanish (?) one in search functions&lt;br /&gt;
* the one : ''[http://www.amule.org aMule] can also update it's server list as it connects to other clients.'' as its included in the line before it.&lt;br /&gt;
regards, [[User:Pogi|pogi]]&lt;br /&gt;
&lt;br /&gt;
'''About the second one, oh, you're right. I merged that one with the above one and then forgot to delete it :) thanks'''&lt;br /&gt;
&lt;br /&gt;
'''About &amp;quot;the spanish (?) one in search functions&amp;quot;... I just saw what you meant... you are DEFINITELY right ;) thanks again'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Yes! Be alive! ''&amp;lt;small&amp;gt; 16 dec. 2006 &amp;lt;/small&amp;gt;'' ==&lt;br /&gt;
&lt;br /&gt;
I wondered. What did it happen with you?&amp;lt;br /&amp;gt;&lt;br /&gt;
I'm happy, seeing your name in active, again.&amp;lt;br /&amp;gt;&lt;br /&gt;
I don't know. Toss him in lack.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[User:AnimAlf|AnimAlf]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/User_talk:Kry</id>
		<title>User talk:Kry</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/User_talk:Kry"/>
				<updated>2006-12-07T01:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About wiki theme ==&lt;br /&gt;
&lt;br /&gt;
Como hemos hablado así, espero que entiendas estas líneas :))&lt;br /&gt;
&lt;br /&gt;
Me he enredado en un proyecto. Y sin darme cuenta, no salgo de un círculo visioso (supongo que es por lo que fumo que me sale ese vocabulario, sorry)&lt;br /&gt;
&lt;br /&gt;
Navegando he llegado a estos lares, y consultando la lista de administradores del wiki, me encuentro con (master) y no puedo evitar, dirigirle mi duda.&lt;br /&gt;
&lt;br /&gt;
¿Cómo podría abrir un nuevo hilo en el wiki para [https://projectes.lafarga.cat/mediawiki/Watinet:aMulet.pl_es aMulet.pl], si es posible?&lt;br /&gt;
&lt;br /&gt;
bye&amp;lt;br /&amp;gt;&lt;br /&gt;
[[User:AnimAlf|AnimAlf el engendro es]]&lt;br /&gt;
&lt;br /&gt;
Sencillamente dirigete a un articulo que no exista, por ejemplo,&lt;br /&gt;
&lt;br /&gt;
http://www.amule.org/wiki/index.php/aMulet&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ahora podras comenzar a crear contenido.&lt;br /&gt;
== gracias ==&lt;br /&gt;
Aquí están [[Amulet pl es]] [[Amulet pl en]]&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_es</id>
		<title>Amulet pl es</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_es"/>
				<updated>2006-12-07T00:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl en|english]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' para [[AMuled|amuled]] (''&amp;lt;u&amp;gt;amule como servicio&amp;lt;/u&amp;gt;'')&lt;br /&gt;
&lt;br /&gt;
Se trata de un script escrito en perl que utiliza [http://gtk2-perl.sourceforge.net GTK2]. Su intención es poder mostrar '''un conocido icono''' que identifique el servicio, para poder lançar aquellas aplicaciones que forman parte del proyecto [[AMule-es|aMule]] y están vinculadas con con el servicio remoto.&lt;br /&gt;
&lt;br /&gt;
En estos momentos, llama al [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] i al [[WxCAS|wxCas]]. &amp;lt;u&amp;gt;Sólo si no están ya funcionando&amp;lt;/u&amp;gt;. También muestra el '''archivo de log''' del aMule en una ventana aparte.&lt;br /&gt;
&lt;br /&gt;
Todo él se controla con el ratón, pulsando el botón izquierdo, lanza la aplicación que hallamos elegido para que sea mostrada, con el botón derecho, se nos despliega un menú contextual, con la lista de opciones a elegir.&lt;br /&gt;
&lt;br /&gt;
Al arrancar comprueba que si en la máquina local está corriendo el aMule, se puede configurar para que si no lo está, éste arranque automáticamente.&lt;br /&gt;
&lt;br /&gt;
Sólo funciona en GNU/Linux, aunque estuve mirando la opción de hacerlo funcionar también en Windows. Del resto de sistemas yo no se.&lt;br /&gt;
&lt;br /&gt;
Los requerimientos del sistema, los suele mostrar el propio script al iniciarse. Procuré cazar los errores, para mostrar la necesidad por la salida estandar. También tiene un sistema de log que se vuelcan en un archivo, pero único por cada sesión, eliminando el anterior tras cada arranque.&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
:*Traducciones y trabajar con archivos de traducciones.&lt;br /&gt;
:*Interacción con amulecmd&lt;br /&gt;
:*Que corra en windows.&lt;br /&gt;
&lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
Pues eso no, pero [[amulet pl src|aquí tienes el script en perl]]. Sólo tienes que copiarlo en un archivo con el nombre que quieras, mejor aMulet.pl, darle permisos de ejecución y ejecutarlo. Las primeras veces ejecutalo desde XShell para ver si se necesita algún requerimiento.&lt;br /&gt;
&lt;br /&gt;
== HISTORIA ==&lt;br /&gt;
La historia de este script la puedes observar en [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc este thread].&lt;br /&gt;
&lt;br /&gt;
Lo que ocurrirá con él lo podrás seguir por aquí claro ;-)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_en</id>
		<title>Amulet pl en</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_en"/>
				<updated>2006-12-07T00:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;center&amp;gt;[[Amulet pl es|español]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aMulet.pl ==&lt;br /&gt;
&lt;br /&gt;
'''From end''' for [[AMuled|amuled]] (''&amp;lt;u&amp;gt;aMule daemon&amp;lt;/u&amp;gt;'')&lt;br /&gt;
    &lt;br /&gt;
It is a script written in perl with [http://gtk2-perl.sourceforge.net GTK2] module. Its intention is to be able to show a '''well-known icon''' that identifies the service, to be able to launch those applications that are part of the [[AMule|aMule]] project and they are linked with with the remote service.    &lt;br /&gt;
    &lt;br /&gt;
In these moments, it calls to the [[FAQ_amulegui|aMuleGui]], [[ALinkCreator-es|aLinkCreator]] and [[WxCAS|wxCas]] (if exists). Alone if they aren't working already. Also show the '''aMule log''' file in a separated window.&lt;br /&gt;
    &lt;br /&gt;
Everything is controlled with the mouse, pressing the left button, the application that we select is shown, with the right button, we are deployed a ''contextual'' menu, with the options list.    &lt;br /&gt;
    &lt;br /&gt;
When starting up it checks that if in the local machine the aMule or aMuled is running, you can configure so that if it isn't, this starts up automatically (amuled).    &lt;br /&gt;
    &lt;br /&gt;
It only works in '''GNU/Linux''', although I was looking at the option of making it also work in Windows. Of the rest of operating systems, me don't know.    &lt;br /&gt;
    &lt;br /&gt;
The requirements of the system, it usually shows them the own script when beginning. It tries to hunt the errors, to show the necessity for the standard exit. It also has a log system that they are overturned in a file, but only for each session, eliminating the previous one after each outburst.    &lt;br /&gt;
    &lt;br /&gt;
== TODO ==&lt;br /&gt;
    &lt;br /&gt;
:*Translations and to work with files of translations.    &lt;br /&gt;
:*Interaction with amulecmd    &lt;br /&gt;
:*That runs in windows.    &lt;br /&gt;
    &lt;br /&gt;
== DOWNLOAD ==&lt;br /&gt;
This not, but [[amulet pl src|here you have the perl script]]. You only have to copy it in a file with the name that you want, better aMulet.pl, to give him execution permits and to execute it. First times you execute it from XShell to see if one needs some requirement.    &lt;br /&gt;
    &lt;br /&gt;
== HISTORY ==&lt;br /&gt;
The history of this script can observe it in [http://forum.amule.org/thread.php?threadid=9751&amp;amp;boardid=23&amp;amp;sid=f75cd389e6f788cd2eaae2038663cedc this thread].&lt;br /&gt;
    &lt;br /&gt;
What will happen with him will be able see  here, of course ; -)&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	<entry>
		<id>http://test.amule.szerverem.hu/wiki/Amulet_pl_src</id>
		<title>Amulet pl src</title>
		<link rel="alternate" type="text/html" href="http://test.amule.szerverem.hu/wiki/Amulet_pl_src"/>
				<updated>2006-12-06T23:20:15Z</updated>
		
		<summary type="html">&lt;p&gt;AnimAlf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= aMulet.pl source =&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/perl -w&lt;br /&gt;
#&lt;br /&gt;
# file aMulet.pl&lt;br /&gt;
# Copyright by AnimAlf&lt;br /&gt;
#&lt;br /&gt;
# This lines are under the GNU General Public License.&lt;br /&gt;
# http://www.gnu.org/copyleft/gpl.html&lt;br /&gt;
#&lt;br /&gt;
# aMulet - la t final en catalán le indica diminutivo&lt;br /&gt;
#          También se traduce como amuleto&lt;br /&gt;
&lt;br /&gt;
use strict;&lt;br /&gt;
&lt;br /&gt;
my $binaMuled = 'amuled -f';&lt;br /&gt;
my $apppid = &amp;quot;$ENV{HOME}/.tx2z.pid&amp;quot;;&lt;br /&gt;
my $logMode = &amp;quot;warning&amp;quot;; # debug warning msg&lt;br /&gt;
my $verbose = 1; # true false&lt;br /&gt;
&lt;br /&gt;
if (!defined($ENV{'DISPLAY'})){&lt;br /&gt;
  print &amp;amp;appRel . &amp;quot;\nATENCIÓN: Este script necesita ser ejecutado bajo las X Window\n&amp;quot;;&lt;br /&gt;
  exit -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
eval &amp;quot;use Gtk2::TrayIcon;&amp;quot;;&lt;br /&gt;
if ($@) {&lt;br /&gt;
  print &amp;amp;appRel;&lt;br /&gt;
  print &amp;quot;\n\nATENCIÓN: Este script necesita el módulo Gtk2::TrayIcon\n\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;Puede instalarlo a través de CPAN del siguiente modo:\n\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;\t\tperl -MCPAN -e shell\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;\t\tinstall Gtk2::TrayIcon\n\n&amp;quot;;&lt;br /&gt;
  print &amp;quot;bye\n&amp;quot;;&lt;br /&gt;
  exit -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
my $modUniCode;&lt;br /&gt;
eval &amp;quot;use Unicode::MapUTF8 qw(from_utf8);&amp;quot;;&lt;br /&gt;
$modUniCode = !$@;&lt;br /&gt;
&lt;br /&gt;
my $config = {};&lt;br /&gt;
my @appList = ( 'aMuleGui', 'wxCas', 'aLinkCreator');&lt;br /&gt;
&lt;br /&gt;
# Los procesos hijo envían esta señal al padre cuando terminan y ésta&lt;br /&gt;
# debe ser atendida, si no se quedan zombies hasta que termine el padre.&lt;br /&gt;
$SIG{CHLD} = \&amp;amp;finalHijo;&lt;br /&gt;
&lt;br /&gt;
# Si se recibe cualquier señal que pueda provocar la interrupción del&lt;br /&gt;
# normal funcionamiento, entonces nos encargamos de finalizar correctamente.&lt;br /&gt;
$SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = \&amp;amp;finalizar;&lt;br /&gt;
&lt;br /&gt;
# Iniciando Gtk2&lt;br /&gt;
Gtk2-&amp;gt;init;&lt;br /&gt;
&lt;br /&gt;
# Comprobaciones iniciales. Cargar configuración.&lt;br /&gt;
if (!&amp;amp;inicializar){&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;amp;appRel .&amp;quot; ha abortado el arranque.&amp;quot;);&lt;br /&gt;
  unlink $apppid or die &amp;quot;No puedo eliminar el archivo de bloqueo&amp;quot;;&lt;br /&gt;
  exit -1;&lt;br /&gt;
}&lt;br /&gt;
logsys (&amp;quot;msg&amp;quot;, &amp;amp;appRel .&amp;quot; iniciado&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
# Formas Gtk2&lt;br /&gt;
my $menu = Gtk2::Menu-&amp;gt;new();&lt;br /&gt;
my $menu_opciones = Gtk2::MenuItem-&amp;gt;new(&amp;quot;opciones&amp;quot;);&lt;br /&gt;
my $menu_aLinkCreator = Gtk2::MenuItem-&amp;gt;new(&amp;quot;aLinkCreator&amp;quot;);&lt;br /&gt;
my $menu_wxCas = Gtk2::MenuItem-&amp;gt;new(&amp;quot;wxCas&amp;quot;);&lt;br /&gt;
my $menu_aMuleGui = Gtk2::MenuItem-&amp;gt;new(&amp;quot;aMuleGui&amp;quot;);&lt;br /&gt;
my $menu_verLog = Gtk2::MenuItem-&amp;gt;new(&amp;quot;aMule log&amp;quot;);&lt;br /&gt;
my $menuSalir = Gtk2::MenuItem-&amp;gt;new(&amp;quot;Salir&amp;quot;);&lt;br /&gt;
my $pic;&lt;br /&gt;
eval {$pic = Gtk2::Gdk::Pixbuf-&amp;gt;new_from_file ($config-&amp;gt;{'iconPath'});};&lt;br /&gt;
if ($@){&lt;br /&gt;
  my @aMulet_xpm = ('18 24 17 1', '       c None', '.      c #312A28', '+      c #524842',&lt;br /&gt;
           '@      c #D42238', '#      c #835128', '$      c #985A20', '%      c #6A6B6A',&lt;br /&gt;
           '&amp;amp;      c #AA7B50', '*      c #EC5867', '=      c #BF7B3F', '-      c #C9792F',&lt;br /&gt;
           ';      c #898989', '&amp;gt;      c #E39854', ',      c #CB9D83', '&amp;quot;      c #A9AAAA',&lt;br /&gt;
           ')      c #CDCBC9', '!      c #F4F5F3', '                  ',&lt;br /&gt;
           '          $       ',&lt;br /&gt;
           '         !&amp;gt;       ',&lt;br /&gt;
           '  #!    )$$       ',&lt;br /&gt;
           '  ##    #-$       ',&lt;br /&gt;
           '  )##$  -,#       ',&lt;br /&gt;
           '   .+##)$,)       ',&lt;br /&gt;
           '    ...$,!&amp;quot;       ',&lt;br /&gt;
           '    &amp;quot;.$=-$&amp;quot;       ',&lt;br /&gt;
           '     ;==-!=       ',&lt;br /&gt;
           '     &amp;quot; &amp;gt;!  &amp;quot;      ',&lt;br /&gt;
           '     ; !&amp;amp;  ;      ',&lt;br /&gt;
           '     &amp;quot; !)))&amp;quot;      ',&lt;br /&gt;
           '     &amp;quot;&amp;quot;&amp;quot;&amp;quot;&amp;quot;&amp;quot;!      ',&lt;br /&gt;
           '    %!.&amp;quot;&amp;quot;&amp;quot;&amp;quot;);     ',&lt;br /&gt;
           '    ;))&amp;quot;;;;&amp;quot;%;;)  ',&lt;br /&gt;
           '  &amp;quot;&amp;gt;-)&amp;quot;;;;;&amp;quot;-&amp;gt;&amp;quot;&amp;quot;  ',&lt;br /&gt;
           '  )-=$,;;%@,-&amp;gt;$)  ',&lt;br /&gt;
           '  ;%--#=&amp;gt;&amp;gt;**+%%;  ',&lt;br /&gt;
           ' +....&amp;amp;=&amp;gt;&amp;gt;&amp;gt;&amp;gt;#!))! ',&lt;br /&gt;
           '%&amp;quot;-=##$&amp;gt;&amp;gt;&amp;gt;&amp;gt;=&amp;amp;$--;;',&lt;br /&gt;
           '+)-=##&amp;amp;=&amp;gt;&amp;gt;&amp;gt;=#=-&amp;gt;)+',&lt;br /&gt;
           '%;;=$+.+&amp;gt;&amp;gt;++$-&amp;gt;,;%', ' &amp;quot;              . ');&lt;br /&gt;
  $pic = Gtk2::Gdk::Pixbuf-&amp;gt;new_from_xpm_data (@aMulet_xpm);&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;Error al cargar el icono: &amp;quot; . $config-&amp;gt;{'iconPath'});&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Se procede a cargar el icono interno.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
my $img= Gtk2::Image-&amp;gt;new_from_pixbuf($pic-&amp;gt;scale_simple(18, 24, &amp;quot;tiles&amp;quot;));&lt;br /&gt;
my $tray= Gtk2::TrayIcon-&amp;gt;new(&amp;quot;trayicon&amp;quot;);&lt;br /&gt;
my $paraEvent = Gtk2::EventBox-&amp;gt;new;&lt;br /&gt;
my $trayTooltip = Gtk2::Tooltips-&amp;gt;new;&lt;br /&gt;
my $SeparadorMenu1 = Gtk2::SeparatorMenuItem-&amp;gt;new;&lt;br /&gt;
my $SeparadorMenu2 = Gtk2::SeparatorMenuItem-&amp;gt;new;&lt;br /&gt;
my $SeparadorMenu3 = Gtk2::SeparatorMenuItem-&amp;gt;new;&lt;br /&gt;
&lt;br /&gt;
$menu-&amp;gt;append($menu_verLog);&lt;br /&gt;
$menu-&amp;gt;append($SeparadorMenu1);&lt;br /&gt;
$menu-&amp;gt;append($menu_opciones);&lt;br /&gt;
$menu-&amp;gt;append($SeparadorMenu2);&lt;br /&gt;
$menu-&amp;gt;append($menu_aLinkCreator);&lt;br /&gt;
$menu-&amp;gt;append($menu_wxCas);&lt;br /&gt;
$menu-&amp;gt;append($menu_aMuleGui);&lt;br /&gt;
$menu-&amp;gt;append($SeparadorMenu3);&lt;br /&gt;
$menu-&amp;gt;append($menuSalir);&lt;br /&gt;
&lt;br /&gt;
$paraEvent-&amp;gt;add($img);&lt;br /&gt;
$tray-&amp;gt;add($paraEvent);&lt;br /&gt;
&amp;amp;statusText;&lt;br /&gt;
&lt;br /&gt;
# Tratamiento de señales&lt;br /&gt;
logsys (&amp;quot;debug&amp;quot;, &amp;quot;Asignación de señales&amp;quot;);&lt;br /&gt;
$tray-&amp;gt;signal_connect ('button-press-event' =&amp;gt; \&amp;amp;ClickOnIcon);&lt;br /&gt;
$menu_opciones-&amp;gt;signal_connect('activate' =&amp;gt; \&amp;amp;opcionesGui);&lt;br /&gt;
$menu_verLog-&amp;gt;signal_connect('activate' =&amp;gt; \&amp;amp;visorTexto);&lt;br /&gt;
$menu_aLinkCreator-&amp;gt;signal_connect('activate' =&amp;gt; sub {&amp;amp;extAppStatus('aLinkCreator')});&lt;br /&gt;
$menu_wxCas-&amp;gt;signal_connect('activate' =&amp;gt; sub {&amp;amp;extAppStatus('wxCas')});&lt;br /&gt;
$menu_aMuleGui-&amp;gt;signal_connect('activate' =&amp;gt; sub {&amp;amp;extAppStatus('aMuleGui')});&lt;br /&gt;
$menuSalir-&amp;gt;signal_connect('activate' =&amp;gt; \&amp;amp;finalizar);&lt;br /&gt;
Glib::Timeout-&amp;gt;add($config-&amp;gt;{'signOnTime'}*1000, \&amp;amp;statusText) if $config-&amp;gt;{'signOn'};&lt;br /&gt;
&lt;br /&gt;
# show sobre los witgets para que sean visibles&lt;br /&gt;
logsys (&amp;quot;debug&amp;quot;, &amp;quot;Show sobre los witgets&amp;quot;);&lt;br /&gt;
$menu-&amp;gt;show_all;&lt;br /&gt;
$tray-&amp;gt;show_all;&lt;br /&gt;
&amp;amp;popUpsAct;&lt;br /&gt;
# iniciando bucle de mensajes&lt;br /&gt;
logsys (&amp;quot;debug&amp;quot;, &amp;quot;Inicio del bucle de mensajes&amp;quot;);&lt;br /&gt;
Gtk2-&amp;gt;main;&lt;br /&gt;
# Fin. Aquí termina el flujo.&lt;br /&gt;
&lt;br /&gt;
#############&lt;br /&gt;
# Funciones #&lt;br /&gt;
#############&lt;br /&gt;
# statusText Establece el texto del toolTip&lt;br /&gt;
sub statusText{&lt;br /&gt;
  my $tmpStr = &amp;amp;appRel .&amp;quot; - Click derecho para opciones&amp;quot;;&lt;br /&gt;
  if ($config-&amp;gt;{'signOn'}){&lt;br /&gt;
    &amp;amp;onlineInfo;&lt;br /&gt;
    # my $tmpStr;&lt;br /&gt;
    if ($config-&amp;gt;{'ConectStatus'}){&lt;br /&gt;
      if ($config-&amp;gt;{'typeId'}eq&amp;quot;H&amp;quot;){$tmpStr = &amp;quot;[ID alta]&amp;quot;} &lt;br /&gt;
        elsif ($config-&amp;gt;{'typeId'}eq&amp;quot;L&amp;quot;){$tmpStr = &amp;quot;[ID baja]&amp;quot;}&lt;br /&gt;
        else {$tmpStr = &amp;quot;[Conectando]&amp;quot;}&lt;br /&gt;
      $tmpStr .= &amp;quot; Down:&amp;quot; . $config-&amp;gt;{'downSpeed'};&lt;br /&gt;
      $tmpStr .= &amp;quot; kb/s Up:&amp;quot; . $config-&amp;gt;{'upSpeed'} .&amp;quot; Kb/s &amp;quot;;&lt;br /&gt;
      if ($config-&amp;gt;{'kadStatus'}==2) {$tmpStr .= &amp;quot;[kad ok]&amp;quot;;&lt;br /&gt;
        } elsif ($config-&amp;gt;{'kadStatus'}==1) {$tmpStr .= &amp;quot;[kad firewalled]&amp;quot;;&lt;br /&gt;
        } else {$tmpStr .= &amp;quot;[kad off]&amp;quot;};&lt;br /&gt;
    } else {$tmpStr = &amp;amp;appRel . &amp;quot; [aMuled No Conectado]&amp;quot;}&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  $trayTooltip-&amp;gt;set_tip($tray, $tmpStr);&lt;br /&gt;
  $tray-&amp;gt;send_message($config-&amp;gt;{'signOnTime'}*1000, &amp;quot;[AnimAlf dice] No entiendo&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# signatureOn Comprueba OnlineSignature en amule.conf&lt;br /&gt;
sub readSignatureConf {&lt;br /&gt;
  $config-&amp;gt;{'signOn'} = 0;&lt;br /&gt;
  $config-&amp;gt;{'signOnTime'} = 0;&lt;br /&gt;
  if (-f $config-&amp;gt;{'aMuleDir'} . &amp;quot;/amule.conf&amp;quot;){&lt;br /&gt;
    if ( open( CONFIGFILE, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/amule.conf&amp;quot; ) ) {&lt;br /&gt;
      while (&amp;lt;CONFIGFILE&amp;gt;) {&lt;br /&gt;
        if ( $_ =~ /^OnlineSignature=(.+)/ ) { $config-&amp;gt;{'signOn'} = $1 }&lt;br /&gt;
        if ( $_ =~ /^OnlineSignatureUpdate=(.+)/ ) { $config-&amp;gt;{'signOnTime'} = $1 }&lt;br /&gt;
      }&lt;br /&gt;
      close CONFIGFILE;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# onlineInfo Recoge la información de amulesig.dat&lt;br /&gt;
sub onlineInfo {&lt;br /&gt;
  if ( open( SIGNFILE, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/amulesig.dat&amp;quot; ) ) {&lt;br /&gt;
    my @signFile;&lt;br /&gt;
    while (&amp;lt;SIGNFILE&amp;gt;) {&lt;br /&gt;
      $_ =~ /(.+)\n$/; push (@signFile, $1)&lt;br /&gt;
    }&lt;br /&gt;
    close SIGNFILE;&lt;br /&gt;
    $config-&amp;gt;{'ConectStatus'} = $signFile[0];&lt;br /&gt;
    $config-&amp;gt;{'nameServ'}     = $signFile[1];&lt;br /&gt;
    $config-&amp;gt;{'ipServ'}       = $signFile[2];&lt;br /&gt;
    $config-&amp;gt;{'portServ'}     = $signFile[3];&lt;br /&gt;
    $config-&amp;gt;{'typeId'}       = $signFile[4];&lt;br /&gt;
    $config-&amp;gt;{'kadStatus'}    = $signFile[5];&lt;br /&gt;
    $config-&amp;gt;{'downSpeed'}    = $signFile[6];&lt;br /&gt;
    $config-&amp;gt;{'upSpeed'}      = $signFile[7];&lt;br /&gt;
    $config-&amp;gt;{'colaCli'}      = $signFile[8];&lt;br /&gt;
    $config-&amp;gt;{'filesShared'}  = $signFile[9];&lt;br /&gt;
    $config-&amp;gt;{'nickName'}     = $signFile[10];&lt;br /&gt;
    $config-&amp;gt;{'totalDown'}    = $signFile[11];&lt;br /&gt;
    $config-&amp;gt;{'totalUp'}      = $signFile[12];&lt;br /&gt;
    $config-&amp;gt;{'aMuleVer'}     = $signFile[13];&lt;br /&gt;
    $config-&amp;gt;{'SessionDown'}  = $signFile[14];&lt;br /&gt;
    $config-&amp;gt;{'SessionUp'}    = $signFile[15];&lt;br /&gt;
    $config-&amp;gt;{'TimeRun'}      = $signFile[16];&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# finalHijo atender la señal de los hijos (cuando terminan la mandan)&lt;br /&gt;
sub finalHijo {&lt;br /&gt;
  $SIG{CHLD} = \&amp;amp;finalHijo;&lt;br /&gt;
  my $pid = wait;&lt;br /&gt;
  return unless $config-&amp;gt;{$pid}; # El system() realiza un fork() también.&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Acaba de finalizar: &amp;quot; . $config-&amp;gt;{$pid} . &lt;br /&gt;
    &amp;quot; [&amp;quot; . $config-&amp;gt;{$config-&amp;gt;{$pid} . 'Pid'} . &amp;quot;]&amp;quot;);&lt;br /&gt;
  undef $config-&amp;gt;{$config-&amp;gt;{$pid} . 'Pid'};&lt;br /&gt;
  undef $config-&amp;gt;{$pid};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# finalizar correctamente y eliminar bloqueo&lt;br /&gt;
sub finalizar {&lt;br /&gt;
  $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = \&amp;amp;finalizar;&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Finalizando ...&amp;quot;); &lt;br /&gt;
  #Finalizar el bucle de mensajes&lt;br /&gt;
  Gtk2-&amp;gt;main_quit;&lt;br /&gt;
  #Comprobar que no quede ninguna aplicación hijo en funcionamiento&lt;br /&gt;
  #y si existe eliminarlas antes de finalizar no vayan a quedar zombies.&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Finalizando posibles hijos&amp;quot;);&lt;br /&gt;
  # Ahora la señal de retorno del hijo la trataremos aquí.&lt;br /&gt;
  $SIG{CHLD} = 'DEFAULT';&lt;br /&gt;
  foreach my $app (@appList) {&lt;br /&gt;
    if (defined $config-&amp;gt;{$app . &amp;quot;Pid&amp;quot;}){&lt;br /&gt;
      logsys (&amp;quot;msg&amp;quot;, &amp;quot;[$app] está en marcha. Finalizándolo ...&amp;quot;);&lt;br /&gt;
      kill ('SIGTERM', $config-&amp;gt;{$app . &amp;quot;Pid&amp;quot;});&lt;br /&gt;
      waitpid($config-&amp;gt;{$app . &amp;quot;Pid&amp;quot;}, 0);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;No quedan procesos hijo de &amp;quot; . &amp;amp;appRel . &amp;quot; en el sistema&amp;quot;);&lt;br /&gt;
  #TODO Si archivo de bloqueo es usado para log volcar a otro sitio.&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;TODO: volcar archivo log a log final [si se le ordena]&amp;quot;);&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Terminada la ejecución&amp;quot;);&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;bye ;-)\n\n&amp;quot;.&amp;amp;appRel.&amp;quot;\n&amp;quot;);&lt;br /&gt;
  # borrar archivo de bloqueo&lt;br /&gt;
  unlink $apppid or die &amp;quot;No puedo eliminar el archivo de bloqueo $apppid&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# flushChars transforma utf8 a iso-8859-1&lt;br /&gt;
sub flushChars {&lt;br /&gt;
  my ($tmpStr) = @_;&lt;br /&gt;
  $tmpStr =~ s/([\200-\377]+)/from_utf8({ -string =&amp;gt; $1, -charset =&amp;gt; 'ISO-8859-1'})/eg&lt;br /&gt;
    if $modUniCode;&lt;br /&gt;
  return $tmpStr;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#logsys Mini sistema de logs.&lt;br /&gt;
sub logsys {&lt;br /&gt;
  my ($mode, $text) = @_;&lt;br /&gt;
  my $tmpStr;&lt;br /&gt;
  if (open LOG, &amp;quot;&amp;gt;&amp;gt;$apppid&amp;quot;) {&lt;br /&gt;
    if (($logMode eq &amp;quot;debug&amp;quot; &amp;amp;&amp;amp; ($mode eq &amp;quot;debug&amp;quot; or $mode eq &amp;quot;warning&amp;quot;)) ||&lt;br /&gt;
      ($logMode eq &amp;quot;warning&amp;quot; &amp;amp;&amp;amp; ($mode eq &amp;quot;warning&amp;quot; or $mode eq &amp;quot;msg&amp;quot;)) || &lt;br /&gt;
	($logMode eq &amp;quot;msg&amp;quot; &amp;amp;&amp;amp; $mode eq &amp;quot;msg&amp;quot;)){&lt;br /&gt;
          my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime (time);&lt;br /&gt;
          $year += 1900; $mon ++;&lt;br /&gt;
          $tmpStr=&amp;quot;[&amp;quot; . uc($mode) . &amp;quot;] &amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$mday) . &amp;quot;-&amp;quot; .&lt;br /&gt;
           sprintf(&amp;quot;%02d&amp;quot;,$mon) . &amp;quot;-$year &amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$hour) . &amp;quot;:&amp;quot; .&lt;br /&gt;
           sprintf(&amp;quot;%02d&amp;quot;,$min) . &amp;quot;:&amp;quot; . sprintf(&amp;quot;%02d&amp;quot;,$sec) . &amp;quot; $text\n&amp;quot;;&lt;br /&gt;
          print LOG $tmpStr; print $tmpStr if $verbose;&lt;br /&gt;
    }&lt;br /&gt;
    close LOG;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# ClickOnIcon se lanzará tras un click en el TrayIcon.&lt;br /&gt;
# Para diferenciar el botón del ratón que se pulsó.&lt;br /&gt;
sub ClickOnIcon {&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;sub: ClickOnIcon start&amp;quot;);&lt;br /&gt;
  my ($widget, $event) = @_;&lt;br /&gt;
  return 1 if $event-&amp;gt;button == 2;&lt;br /&gt;
  $menu-&amp;gt;popup(undef, undef, undef, undef, $event-&amp;gt;button,$event-&amp;gt;time) if $event-&amp;gt;button == 3;&lt;br /&gt;
  &amp;amp;extAppStatus($config-&amp;gt;{'appOnClick'}) if $event-&amp;gt;button == 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# extAppStatus lanzará una instancia de la aplicación si no existe&lt;br /&gt;
sub extAppStatus {&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;sub: extAppStatus start&amp;quot;);&lt;br /&gt;
  my ($refApp) = @_;&lt;br /&gt;
  $config-&amp;gt;{ $refApp . 'Pid'} = fork() &lt;br /&gt;
    unless ($config-&amp;gt;{ $refApp . 'Pid'}); # Crea un proceso hijo&lt;br /&gt;
  die &amp;quot;error al hacer fork: $!&amp;quot; if !defined($config-&amp;gt;{$refApp . 'Pid'});&lt;br /&gt;
  if ( $config-&amp;gt;{$refApp . 'Pid'} == 0) { # Si se trata del proceso hijo&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;Iniciando proceso hijo con [$refApp]&amp;quot;);&lt;br /&gt;
    if ($config-&amp;gt;{$refApp . 'Ok'}) {&lt;br /&gt;
      $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = 'DEFAULT';&lt;br /&gt;
      logsys (&amp;quot;warning&amp;quot;, &amp;quot;Redirección de STDOUT para $refApp a $apppid&amp;quot;);&lt;br /&gt;
      open STDOUT, &amp;quot;&amp;gt;&amp;gt;$apppid&amp;quot;;&lt;br /&gt;
      exec ($config-&amp;gt;{$refApp . 'App'}) || &lt;br /&gt;
        die &amp;quot;ATENCIÓN: Falló la ejecución de $refApp&amp;quot;;&lt;br /&gt;
    } else {exit -1}&lt;br /&gt;
  } else { # Circuito del proceso padre&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;Circuito del proceso padre [hijo=&amp;gt;$refApp pid:&amp;quot;&lt;br /&gt;
      . $config-&amp;gt;{$refApp . 'Pid'} . &amp;quot;]&amp;quot;);&lt;br /&gt;
    # Asigno una clave en la configuración con el valor de la pid con el padre&lt;br /&gt;
    $config-&amp;gt;{$config-&amp;gt;{$refApp . 'Pid'}} = $refApp &lt;br /&gt;
      unless $config-&amp;gt;{$config-&amp;gt;{$refApp . 'Pid'}};&lt;br /&gt;
    # a ejecutar por el proceso padre&lt;br /&gt;
    # TODO: Enviar setFocus a la aplicación&lt;br /&gt;
    #&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# appRel nombre y versión del script&lt;br /&gt;
sub appRel {&lt;br /&gt;
  $0=~/.*\/(.*)$/;&lt;br /&gt;
  my $fileRun = $1;&lt;br /&gt;
  $fileRun = $0 unless $fileRun;&lt;br /&gt;
  $fileRun = &amp;quot;aMulet.pl [$1]&amp;quot; if $fileRun ne 'aMulet.pl';&lt;br /&gt;
  return $fileRun . &amp;quot; v.1.2 beta&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# popUpsAct des/activar apartados del menú&lt;br /&gt;
sub popUpsAct {&lt;br /&gt;
  $menu_aLinkCreator-&amp;gt;set_sensitive($config-&amp;gt;{'aLinkCreatorOk'});&lt;br /&gt;
  $menu_wxCas-&amp;gt;set_sensitive($config-&amp;gt;{'wxCasOk'});&lt;br /&gt;
  $menu_aMuleGui-&amp;gt;set_sensitive($config-&amp;gt;{'aMuleGuiOk'});&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# pathsVerify comprobar la ruta de las aplicaciones&lt;br /&gt;
sub pathsVerify{&lt;br /&gt;
  foreach my $app (@appList) {&lt;br /&gt;
    $config-&amp;gt;{$app . 'Ok'} = (-x $config-&amp;gt;{$app . 'App'});&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# inicializar comprobaciones iniciales&lt;br /&gt;
sub inicializar {&lt;br /&gt;
  my $tmpStr;&lt;br /&gt;
  my $runDaemon;&lt;br /&gt;
&lt;br /&gt;
  # Comprobar si ya estamos en marcha&lt;br /&gt;
  if (-f $apppid){&lt;br /&gt;
    my $appVerify=0;&lt;br /&gt;
    # Comprobar si realmente la aplicación está en marcha. &lt;br /&gt;
    if (open(APPPID, $apppid)){&lt;br /&gt;
      my $line;&lt;br /&gt;
      while ($line = &amp;lt;APPPID&amp;gt;) {&lt;br /&gt;
        chop($line); last;&lt;br /&gt;
      }&lt;br /&gt;
      close(APPPID);&lt;br /&gt;
      $appVerify=&amp;amp;isRunProcess($line);&lt;br /&gt;
    }&lt;br /&gt;
    if ($appVerify){&lt;br /&gt;
      $tmpStr = &amp;quot;&amp;lt;b&amp;gt;&amp;quot; .appRel . &amp;quot;&amp;lt;/b&amp;gt; ya está funcionando!\n\n&amp;quot;;&lt;br /&gt;
      $SIG{TERM} = $SIG{QUIT} = $SIG{HUP} = $SIG{INT} = 'DEFAULT';&lt;br /&gt;
      &amp;amp;showMessage( 'error', flushChars($tmpStr), 'ok');&lt;br /&gt;
      exit -1;&lt;br /&gt;
    } else {unlink $apppid}&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Iniciar Bloqueo&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Iniciando archivo de bloqueo&amp;quot;);&lt;br /&gt;
  if (open LOG, &amp;quot;&amp;gt;$apppid&amp;quot;){print LOG &amp;quot;$$\n&amp;quot;}&lt;br /&gt;
  # Cargar la configuración&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Cargando la configuración&amp;quot;);&lt;br /&gt;
  &amp;amp;loadConfig;&lt;br /&gt;
  readSignatureConf;&lt;br /&gt;
&lt;br /&gt;
  # Comprobar el estado del aMule como servicio&lt;br /&gt;
  if ($config-&amp;gt;{'aMuledOn'}){&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;Iniciando la verificación de la existencia de amuled&amp;quot;);&lt;br /&gt;
    if (open(PROCESOS,&amp;quot;ps -A |&amp;quot;)){&lt;br /&gt;
      while (&amp;lt;PROCESOS&amp;gt;){&lt;br /&gt;
        $runDaemon = 1 if ($_ =~ /amuled/);&lt;br /&gt;
      }&lt;br /&gt;
      close PROCESOS;&lt;br /&gt;
    }&lt;br /&gt;
    if (!$runDaemon) { $runDaemon = 1;&lt;br /&gt;
      logsys (&amp;quot;msg&amp;quot;, &amp;quot;No se detecta. Iniciando amuled ...&amp;quot;);&lt;br /&gt;
      if (open(AMULED,&amp;quot;$binaMuled |&amp;quot;)){&lt;br /&gt;
        my $aMuleRun; &lt;br /&gt;
        while (&amp;lt;AMULED&amp;gt;){&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, $_);&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;ATENCIÓN: Cambie la orden [$binaMuled] bajo su responsabilidad&amp;quot;) if $_ =~ /binary requires/;&lt;br /&gt;
          undef $runDaemon if $_ =~ /binary requires/;&lt;br /&gt;
          $aMuleRun = 1 if $_ =~ /Raising current running instance/;&lt;br /&gt;
        }&lt;br /&gt;
        close AMULED;&lt;br /&gt;
        if ($aMuleRun){ &lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x5 .&amp;quot; Se ha detectado que el aMule está en marcha &amp;quot; .&amp;quot;*&amp;quot;x6 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;aMulet.pl se diseñó pensando en las herramientas remotas&amp;quot; );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;* FUNCIONARÍA, pero no veo la necesidad de ello.  STOP!!&amp;quot; );&lt;br /&gt;
          logsys (&amp;quot;msg&amp;quot;, &amp;quot;*&amp;quot;x56 );&lt;br /&gt;
          undef $runDaemon;&lt;br /&gt;
        };&lt;br /&gt;
        logsys (&amp;quot;msg&amp;quot;, &amp;quot;El amuled ha sido puesto en marcha.&amp;quot;) if $runDaemon;&lt;br /&gt;
      } else {&lt;br /&gt;
        undef $runDaemon;&lt;br /&gt;
        logsys (&amp;quot;msg&amp;quot;, &amp;quot;No se ha podido ejecutar el amuled!&amp;quot;);&lt;br /&gt;
        logsys (&amp;quot;msg&amp;quot;, &amp;quot;Se puede indicar en la configuración que se salte este paso&amp;quot;);&lt;br /&gt;
        $tmpStr = &amp;quot;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;No se ha podido ejecutar aMuled&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;.\n\n&amp;quot;;&lt;br /&gt;
        $tmpStr .= &amp;quot;¿Desactivo la opción de arrancar el amuled en la configuración?\n\n&amp;quot;;&lt;br /&gt;
        $tmpStr .= &amp;quot;Desactive esta opción si el aMuled está residente en otra máquina de su red.&amp;quot;;&lt;br /&gt;
        $tmpStr .= &amp;quot;\n\nNo he detectado el aMuleGui.&amp;quot; unless $config-&amp;gt;{'aMuleGuiOk'};&lt;br /&gt;
        $tmpStr .= &amp;quot;\nDeberá indicar donde está situado éste en la configuración&amp;quot; unless $config-&amp;gt;{'aMuleGuiOk'};&lt;br /&gt;
        my $confirmacion= &amp;amp;showMessage( 'question', flushChars($tmpStr), 'yes-no');&lt;br /&gt;
        if ($confirmacion eq 'yes'){&lt;br /&gt;
          $config-&amp;gt;{'aMuledOn'}=0;&lt;br /&gt;
          &amp;amp;saveConfig;&lt;br /&gt;
          $runDaemon = 1;&lt;br /&gt;
        };&lt;br /&gt;
      }&lt;br /&gt;
    } else {logsys (&amp;quot;msg&amp;quot;, &amp;quot;El aMuled ha sido detectado :))&amp;quot;);}&lt;br /&gt;
  } else {&lt;br /&gt;
    $runDaemon = 1;&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;ATENCIÓN No se detectará ni arrancará el aMuled&amp;quot;);&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;         Se puede modificar esto en la configuración&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Comprobar que la aplicación que arranca tras el click en el icono existe.&lt;br /&gt;
  # Esto no afectará al retorno de esta función.&lt;br /&gt;
  if ($runDaemon){&lt;br /&gt;
    logsys (&amp;quot;msg&amp;quot;, &amp;quot;Verificando la aplicación que responde al click del icono.&amp;quot;);&lt;br /&gt;
    if (!$config-&amp;gt;{$config-&amp;gt;{'appOnClick'} . 'Ok'}){&lt;br /&gt;
         $tmpStr = &amp;quot;Debe indicar en la configuración dónde residen el ejecutable\n&amp;quot;;&lt;br /&gt;
         $tmpStr .= &amp;quot;de la aplicación &amp;lt;b&amp;gt;$config-&amp;gt;{'appOnClick'}&amp;lt;/b&amp;gt; o escoger otra\n&amp;quot;;&lt;br /&gt;
         $tmpStr .= &amp;quot;aplicación que responda al click en el icono&amp;quot;;&lt;br /&gt;
      &amp;amp;showMessage( 'warning', flushChars($tmpStr), 'ok');&lt;br /&gt;
      &amp;amp;opcionesGui;&lt;br /&gt;
    }&lt;br /&gt;
  } # TODO: Intentar mostrarlo como modal y esperar respuesta.&lt;br /&gt;
  return $runDaemon;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# visorTexto Crea una ventana Gtk en la que muestra el logfile del aMule&lt;br /&gt;
sub visorTexto {&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;sub: visorTexto start&amp;quot;);&lt;br /&gt;
  my ($widget, $event) = @_;&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;Deshabilitando la llamada en el menú&amp;quot;);&lt;br /&gt;
  $widget-&amp;gt;set_sensitive(0);&lt;br /&gt;
  my $visorTextWin = Gtk2::Window-&amp;gt;new(&amp;quot;toplevel&amp;quot;);&lt;br /&gt;
  my $vbox = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $scrolledwindow = Gtk2::ScrolledWindow-&amp;gt;new;&lt;br /&gt;
  my $textBuffer = Gtk2::TextBuffer-&amp;gt;new;&lt;br /&gt;
  my $ok = Gtk2::Button-&amp;gt;new_from_stock(&amp;quot;gtk-close&amp;quot;);&lt;br /&gt;
  my $textView = Gtk2::TextView-&amp;gt;new_with_buffer($textBuffer);&lt;br /&gt;
  my $LineaLog;&lt;br /&gt;
&lt;br /&gt;
  $visorTextWin-&amp;gt;set_title('Visor de Texto');&lt;br /&gt;
  $visorTextWin-&amp;gt;set_position('center');&lt;br /&gt;
  $visorTextWin-&amp;gt;set_default_size(640, 300);&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;Leyendo &amp;quot; . $config-&amp;gt;{'aMuleDir'} . &amp;quot;/logfile&amp;quot;);&lt;br /&gt;
  open (LOGFILE, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/logfile&amp;quot;) || logsys (&amp;quot;warning&amp;quot;, $config-&amp;gt;{'aMuleDir'} . &amp;quot;/logfile: $!&amp;quot;);&lt;br /&gt;
  while (&amp;lt;LOGFILE&amp;gt;) {$LineaLog .= $_;}&lt;br /&gt;
  close LOGFILE;&lt;br /&gt;
  $textView-&amp;gt;set_editable(0);&lt;br /&gt;
  $textView-&amp;gt;set_cursor_visible(0);&lt;br /&gt;
  $textBuffer-&amp;gt;set_text($LineaLog);&lt;br /&gt;
  $scrolledwindow-&amp;gt;set_policy('automatic', 'automatic');&lt;br /&gt;
&lt;br /&gt;
  $scrolledwindow-&amp;gt;add($textView);&lt;br /&gt;
  $vbox-&amp;gt;add($scrolledwindow );&lt;br /&gt;
  $vbox-&amp;gt;pack_end($ok, 0, 0, 3);&lt;br /&gt;
  $visorTextWin-&amp;gt;add($vbox);&lt;br /&gt;
&lt;br /&gt;
  $ok-&amp;gt;signal_connect(&amp;quot;clicked&amp;quot;, sub { $visorTextWin-&amp;gt;destroy; } );&lt;br /&gt;
  $visorTextWin-&amp;gt;signal_connect('destroy' =&amp;gt; sub { $widget-&amp;gt;set_sensitive(1); });&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Mostrando la ventana de logs&amp;quot;);&lt;br /&gt;
  $visorTextWin-&amp;gt;show_all;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# isRunProcess comprobará si un proceso está en ejecución&lt;br /&gt;
sub isRunProcess {&lt;br /&gt;
  my ($proceso) = @_;&lt;br /&gt;
  my $runDaemon = 0;&lt;br /&gt;
  if (open(PROCESOS,&amp;quot;ps -A |&amp;quot;)){&lt;br /&gt;
    while (&amp;lt;PROCESOS&amp;gt;){$runDaemon = 1 if $_ =~ /^$proceso\s/;}&lt;br /&gt;
    close PROCESOS;&lt;br /&gt;
  }&lt;br /&gt;
  return $runDaemon;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub infoOnLine {&lt;br /&gt;
  my $tmpStr = '';&lt;br /&gt;
  &amp;amp;onlineInfo if $config-&amp;gt;{'signOn'};&lt;br /&gt;
  if ($config-&amp;gt;{'signOn'} &amp;amp;&amp;amp; $config-&amp;gt;{'ConectStatus'}==1){&lt;br /&gt;
    $tmpStr = &amp;quot;\n\n&amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'nickName'} . &amp;quot;&amp;lt;/b&amp;gt; con &amp;lt;b&amp;gt;aMule&amp;lt;/b&amp;gt; [&amp;lt;i&amp;gt;&amp;quot;;&lt;br /&gt;
    $tmpStr .= $config-&amp;gt;{'aMuleVer'} . &amp;quot;&amp;lt;/i&amp;gt;]\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;está conectado al puerto &amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'portServ'};&lt;br /&gt;
    $tmpStr .= &amp;quot;&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'nameServ'} . &amp;quot;&amp;lt;/b&amp;gt;\ncon &amp;lt;b&amp;gt;ID &amp;quot;;&lt;br /&gt;
    $tmpStr .= $config-&amp;gt;{'typeId'}eq&amp;quot;H&amp;quot;?&amp;quot;alta&amp;lt;/b&amp;gt;&amp;quot;:&amp;quot;baja&amp;lt;/b&amp;gt;&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot; y la &amp;lt;b&amp;gt;red kad &amp;quot;;&lt;br /&gt;
    if ($config-&amp;gt;{'kadStatus'}==2) {$tmpStr .= &amp;quot;bien conectada&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
      } elsif ($config-&amp;gt;{'kadStatus'}==1) {$tmpStr .= &amp;quot;en firewalled&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
      } else {$tmpStr .= &amp;quot;desconectada&amp;lt;/b&amp;gt;\n&amp;quot;};&lt;br /&gt;
    $tmpStr .= &amp;quot;lleva &amp;quot;;&lt;br /&gt;
    my $tmpStr2 = $config-&amp;gt;{'TimeRun'} % 60 . &amp;quot; segundos&amp;quot;;&lt;br /&gt;
    my $tiempo = sprintf(&amp;quot;%d&amp;quot;,$config-&amp;gt;{'TimeRun'} / 60);&lt;br /&gt;
    $tmpStr2 = $tiempo % 60 . &amp;quot; minutos y $tmpStr2&amp;quot; if $tiempo;&lt;br /&gt;
    $tiempo = sprintf(&amp;quot;%d&amp;quot;,$tiempo / 60) if $tiempo;&lt;br /&gt;
    $tmpStr2 = $tiempo % 24 . &amp;quot; horas $tmpStr2&amp;quot; if $tiempo;&lt;br /&gt;
    $tiempo = sprintf(&amp;quot;%d&amp;quot;,$tiempo / 24) if $tiempo;&lt;br /&gt;
    $tmpStr2 = $tiempo . &amp;quot; dias $tmpStr2&amp;quot; if $tiempo;&lt;br /&gt;
    $tmpStr .= $tmpStr2 . &amp;quot; conectado\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;y en este tiempo ha descargado: &amp;lt;b&amp;gt;&amp;quot;;&lt;br /&gt;
    $tmpStr .= sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'SessionDown'}/1048576) . &amp;quot; Mb&amp;lt;/b&amp;gt;\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;con lo que tiene un total descagado de &amp;quot;;&lt;br /&gt;
    $tmpStr .= sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'totalDown'}/1048576) . &amp;quot; Mb\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;Además comparte &amp;lt;b&amp;gt;&amp;quot; . $config-&amp;gt;{'filesShared'} . &amp;quot;&amp;lt;/b&amp;gt; archivos y en esta sesión\n&amp;quot;;&lt;br /&gt;
    $tmpStr .= &amp;quot;se han subido &amp;lt;b&amp;gt;&amp;quot; .  sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'SessionUp'}/1048576);&lt;br /&gt;
    $tmpStr .= &amp;quot; Mb&amp;lt;/b&amp;gt; obteniendo un\ntotal de &amp;quot; .  sprintf(&amp;quot;%.2f&amp;quot;,$config-&amp;gt;{'totalUp'}/1048576);&lt;br /&gt;
    $tmpStr .= &amp;quot; Mb subidos a la Red,\nen cola tiene ahora mismo &amp;quot;;&lt;br /&gt;
    $tmpStr .= $config-&amp;gt;{'colaCli'} . &amp;quot; clientes&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
  return flushChars($tmpStr);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# opcionesGui muestra la ventana de opciones&lt;br /&gt;
sub opcionesGui {&lt;br /&gt;
  my ($widget, $event) = @_;&lt;br /&gt;
  logsys (&amp;quot;debug&amp;quot;, &amp;quot;Deshabilitando la llamada en el menú&amp;quot;);&lt;br /&gt;
  $widget-&amp;gt;set_sensitive(0) if defined $widget;&lt;br /&gt;
  my $guiOpciones = Gtk2::Window-&amp;gt;new;&lt;br /&gt;
  my $vboxPrincipal = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $notebook = Gtk2::Notebook-&amp;gt;new;&lt;br /&gt;
  my $select_aMuleGui = Gtk2::RadioButton-&amp;gt;new('appOnClick', 'aMuleGui');&lt;br /&gt;
  my @grupo = $select_aMuleGui-&amp;gt;get_group;&lt;br /&gt;
  my $select_alc = Gtk2::RadioButton-&amp;gt;new_with_label(@grupo, 'aLinkCreator');&lt;br /&gt;
  my $select_wxcas = Gtk2::RadioButton-&amp;gt;new_with_label(@grupo, 'wxCas');&lt;br /&gt;
  my $check_aMuled_on = new Gtk2::CheckButton-&amp;gt;new(flushChars('Arrancar aMule como servicio al principio (si no lo está)'));&lt;br /&gt;
  my $vBoxTabRutas = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $vBoxTabAbout = Gtk2::VBox-&amp;gt;new;&lt;br /&gt;
  my $hboxPrincipal = Gtk2::HBox-&amp;gt;new;&lt;br /&gt;
  my $hBoxTabRutas1 = Gtk2::HBox-&amp;gt;new;&lt;br /&gt;
  my $hBoxTabRutas2 = Gtk2::HBox-&amp;gt;new;&lt;br /&gt;
  my $hBoxTabRutas3 = Gtk2::HBox-&amp;gt;new(1);&lt;br /&gt;
  my $hseparator1 = Gtk2::HSeparator-&amp;gt;new;&lt;br /&gt;
  my $hseparator2 = Gtk2::HSeparator-&amp;gt;new;&lt;br /&gt;
  my $hseparator3 = Gtk2::HSeparator-&amp;gt;new;&lt;br /&gt;
  my $labelTabRutas = Gtk2::Label-&amp;gt;new('General');&lt;br /&gt;
  my $labelTabAbout = Gtk2::Label-&amp;gt;new('About');&lt;br /&gt;
  my $labelTabRut1 = Gtk2::Label-&amp;gt;new('Relacionado con el Servicio amuled');&lt;br /&gt;
  my $labelTabRut2 = Gtk2::Label-&amp;gt;new('aMule Home Dir');&lt;br /&gt;
  my $labelTabRut3 = Gtk2::Label-&amp;gt;new('Ruta a las aplicaciones');&lt;br /&gt;
  my $labelTabRut4 = Gtk2::Label-&amp;gt;new('aMuleGui: ');&lt;br /&gt;
  my $labelTabRut5 = Gtk2::Label-&amp;gt;new('wxCas: ');&lt;br /&gt;
  my $labelTabRut6 = Gtk2::Label-&amp;gt;new('aLinkCreator: ');&lt;br /&gt;
  my $labelTabRut7 = Gtk2::Label-&amp;gt;new(flushChars('Icono que se mostrará en la barra'));&lt;br /&gt;
  my $labelTabRut8 = Gtk2::Label-&amp;gt;new('Icono:');&lt;br /&gt;
  my $labelTabRut9 = Gtk2::Label-&amp;gt;new(flushChars('¿Qué aplicación arrancará tras hacer click en el icono?'));&lt;br /&gt;
  my $labelAbout1 = Gtk2::Label-&amp;gt;new('aMulet.pl');&lt;br /&gt;
  my $labelAbout2 = Gtk2::Label-&amp;gt;new('by AnimAlf - AnimAlf@engendro.sytes.net');&lt;br /&gt;
  my $labelAbout3 = Gtk2::Label-&amp;gt;new('una idea de tx2z en http://forum.amule.org');&lt;br /&gt;
  my $labelAbout4 = Gtk2::Label-&amp;gt;new('Distribuido bajo la licencia GPL');&lt;br /&gt;
  my $labelAbout5 = Gtk2::Label-&amp;gt;new('http://www.gnu.org/copyleft/gpl.html');&lt;br /&gt;
  my $labelAbout6 = Gtk2::Label-&amp;gt;new;&lt;br /&gt;
  my $edit_home_aMule = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_aMuleGui_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_wxcas_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_alc_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $edit_icon_path = Gtk2::Entry-&amp;gt;new;&lt;br /&gt;
  my $btnOk = Gtk2::Button-&amp;gt;new_from_stock(&amp;quot;gtk-apply&amp;quot;);&lt;br /&gt;
  my $btnCancel = Gtk2::Button-&amp;gt;new_from_stock(&amp;quot;gtk-cancel&amp;quot;);&lt;br /&gt;
  my $btnRutas1 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas2 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas3 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas4 = Gtk2::Button-&amp;gt;new('...');&lt;br /&gt;
  my $btnRutas5 = Gtk2::Button-&amp;gt;new('Selecciona');&lt;br /&gt;
  my $tableTabRutas = Gtk2::Table-&amp;gt;new(3, 3, 0 );&lt;br /&gt;
&lt;br /&gt;
  # Posicionando en la ventana principal&lt;br /&gt;
  $guiOpciones-&amp;gt;add($vboxPrincipal);&lt;br /&gt;
  # Posicionando en el notebook (contenedor de pestañas)&lt;br /&gt;
  $vboxPrincipal-&amp;gt;add($notebook);	&lt;br /&gt;
&lt;br /&gt;
  # primera pestaña&lt;br /&gt;
  $notebook-&amp;gt;append_page($vBoxTabRutas, $labelTabRutas);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($labelTabRut1,     0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hBoxTabRutas1,    0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $hBoxTabRutas1-&amp;gt;pack_start($labelTabRut2,    0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas1-&amp;gt;add($edit_home_aMule);&lt;br /&gt;
  $hBoxTabRutas1-&amp;gt;pack_end($btnRutas1,         0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($check_aMuled_on,  0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hseparator2,      0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($labelTabRut3,     0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($tableTabRutas,    0, 0, 3);&lt;br /&gt;
		    &lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($labelTabRut4,        0, 1, 0, 1, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($edit_aMuleGui_path,  1, 2, 0, 1, ['expand', 'fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($btnRutas2,           2, 3, 0, 1, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($labelTabRut5,        0, 1, 1, 2, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($edit_wxcas_path,     1, 2, 1, 2, ['expand', 'fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($btnRutas3,           2, 3, 1, 2, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($labelTabRut6,        0, 1, 2, 3, ['fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($edit_alc_path,       1, 2, 2, 3, ['expand', 'fill'], [], 0, 0 );&lt;br /&gt;
  $tableTabRutas-&amp;gt;attach($btnRutas4,           2, 3, 2, 3, ['fill'], [], 0, 0 );&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hseparator1,      0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($labelTabRut9,     0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_start($hBoxTabRutas3,    0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas3-&amp;gt;pack_start($select_aMuleGui, 0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas3-&amp;gt;pack_start($select_alc,      0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas3-&amp;gt;pack_start($select_wxcas,    0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_end($hBoxTabRutas2,      0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $hBoxTabRutas2-&amp;gt;pack_start($labelTabRut8,    0, 0, 3);&lt;br /&gt;
  $hBoxTabRutas2-&amp;gt;add($edit_icon_path);&lt;br /&gt;
  $hBoxTabRutas2-&amp;gt;pack_end($btnRutas5,         0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_end($labelTabRut7,       0, 0, 3);&lt;br /&gt;
  $vBoxTabRutas-&amp;gt;pack_end($hseparator3,        0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  # Segunda pestaña&lt;br /&gt;
  $notebook-&amp;gt;append_page($vBoxTabAbout, $labelTabAbout);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout1,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout2,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout3,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout4,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout5,      0, 0, 3);&lt;br /&gt;
  $vBoxTabAbout-&amp;gt;pack_start($labelAbout6,      0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  # Posicionando en la parte inferior de la ventana principal&lt;br /&gt;
  $vboxPrincipal-&amp;gt;pack_end($hboxPrincipal,     0, 0, 3);&lt;br /&gt;
  $hboxPrincipal-&amp;gt;pack_start($btnOk,           0, 0, 3);&lt;br /&gt;
  $hboxPrincipal-&amp;gt;pack_end($btnCancel,         0, 0, 3);&lt;br /&gt;
&lt;br /&gt;
  $labelAbout1-&amp;gt;set_markup('&amp;lt;span foreground=&amp;quot;DarkRed&amp;quot; size=&amp;quot;x-large&amp;quot;&amp;gt;&amp;lt;b&amp;gt;' . appRel . ' &amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;');&lt;br /&gt;
  #TODO: Intentar conseguir una UrlLabel, fácil con gnome-open (pero y si no existe gnome?)&lt;br /&gt;
  #http://forum.amule.org/thread.php?threadid=9751&lt;br /&gt;
  $labelAbout3-&amp;gt;set_markup('&amp;lt;span&amp;gt;Una idea de &amp;lt;b&amp;gt;tx2z&amp;lt;/b&amp;gt; en http://forum.amule.org&amp;lt;/span&amp;gt;');&lt;br /&gt;
  #Añado un mini resumen de la información disponible en amulesig.dat&lt;br /&gt;
  $labelAbout6-&amp;gt;set_markup(infoOnLine);&lt;br /&gt;
  if ($config-&amp;gt;{'signOn'}){&lt;br /&gt;
    Glib::Timeout-&amp;gt;add($config-&amp;gt;{'signOnTime'}*1000, sub {&lt;br /&gt;
      $labelAbout6-&amp;gt;set_markup(infoOnLine);&lt;br /&gt;
      $tray-&amp;gt;send_message($config-&amp;gt;{'signOnTime'}*1000, &amp;quot;[AnimAlf dice] No entiendo&amp;quot;);});&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  # Propiedades de la ventana principal&lt;br /&gt;
  $guiOpciones-&amp;gt;set_title('Opciones aMulet.pl');&lt;br /&gt;
  $guiOpciones-&amp;gt;set_position('center');&lt;br /&gt;
  #TODO: Intentar que actuase como una ventana modal, como el showMessage&lt;br /&gt;
  #      y el punto de la llamada esperase la respuesta ok-cancel&lt;br /&gt;
  logsys (&amp;quot;msg&amp;quot;, &amp;quot;Mostrando la ventana de opciones&amp;quot;);&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;*&amp;quot;x36) unless $widget;&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;TODO: Que sea modal tipo showMessage&amp;quot;) unless $widget;&lt;br /&gt;
  logsys (&amp;quot;warning&amp;quot;, &amp;quot;*&amp;quot;x36) unless $widget;&lt;br /&gt;
&lt;br /&gt;
  # Propiedades del notebook&lt;br /&gt;
  $notebook-&amp;gt;set_tab_pos('top');&lt;br /&gt;
  $notebook-&amp;gt;set_show_tabs  (1);&lt;br /&gt;
  $notebook-&amp;gt;set_show_border(1);&lt;br /&gt;
  $notebook-&amp;gt;set_scrollable (0);&lt;br /&gt;
  $notebook-&amp;gt;set_tab_hborder(2);&lt;br /&gt;
  $notebook-&amp;gt;set_tab_vborder(2);&lt;br /&gt;
&lt;br /&gt;
  # alineando de algunas etiquetas&lt;br /&gt;
  $labelTabRut4-&amp;gt;set_alignment(1,0.5);&lt;br /&gt;
  $labelTabRut5-&amp;gt;set_alignment(1,0.5);&lt;br /&gt;
  $labelTabRut6-&amp;gt;set_alignment(1,0.5);&lt;br /&gt;
&lt;br /&gt;
  # Asignando la configuración.&lt;br /&gt;
  $edit_home_aMule-&amp;gt;set_text($config-&amp;gt;{'aMuleDir'});&lt;br /&gt;
  $edit_aMuleGui_path-&amp;gt;set_text($config-&amp;gt;{'aMuleGuiApp'});&lt;br /&gt;
  $edit_wxcas_path-&amp;gt;set_text($config-&amp;gt;{'wxCasApp'});&lt;br /&gt;
  $edit_alc_path-&amp;gt;set_text($config-&amp;gt;{'aLinkCreatorApp'});&lt;br /&gt;
  $edit_icon_path-&amp;gt;set_text($config-&amp;gt;{'iconPath'});&lt;br /&gt;
&lt;br /&gt;
  $check_aMuled_on-&amp;gt;set_active($config-&amp;gt;{'aMuledOn'});&lt;br /&gt;
&lt;br /&gt;
  $select_wxcas-&amp;gt;set_active($config-&amp;gt;{'appOnClick'} eq 'wxCas');&lt;br /&gt;
  $select_alc-&amp;gt;set_active($config-&amp;gt;{'appOnClick'} eq 'aLinkCreator');&lt;br /&gt;
  $select_aMuleGui-&amp;gt;set_active($config-&amp;gt;{'appOnClick'} eq 'aMuleGui');&lt;br /&gt;
&lt;br /&gt;
  $select_wxcas-&amp;gt;set_sensitive($config-&amp;gt;{'wxCasOk'});&lt;br /&gt;
  $select_alc-&amp;gt;set_sensitive($config-&amp;gt;{'aLinkCreatorOk'});&lt;br /&gt;
  $select_aMuleGui-&amp;gt;set_sensitive($config-&amp;gt;{'aMuleGuiOk'});&lt;br /&gt;
&lt;br /&gt;
  # Lo mostramos todo&lt;br /&gt;
  $guiOpciones-&amp;gt;show_all;&lt;br /&gt;
  # La asignación de señales&lt;br /&gt;
  $btnOk-&amp;gt;signal_connect(&amp;quot;clicked&amp;quot;, sub { &lt;br /&gt;
      my ($tmpStr, $tmpStr1);&lt;br /&gt;
&lt;br /&gt;
      $tmpStr1 = 'wxCas' if $select_wxcas-&amp;gt;get_active;&lt;br /&gt;
      $tmpStr1 = 'aLinkCreator' if $select_alc-&amp;gt;get_active;&lt;br /&gt;
      $tmpStr1 = 'aMuleGui' if $select_aMuleGui-&amp;gt;get_active;&lt;br /&gt;
&lt;br /&gt;
      $tmpStr .= $edit_home_aMule-&amp;gt;get_text . &amp;quot;: No es un directorio\n&amp;quot;&lt;br /&gt;
        if !(-d $edit_home_aMule-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_aMuleGui_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;No es un ejecutable&amp;lt;/b&amp;gt; (o no existe)\n&amp;quot;&lt;br /&gt;
        if !(-x $edit_aMuleGui_path-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_wxcas_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;No es un ejecutable&amp;lt;/b&amp;gt; (o no existe)\n&amp;quot;&lt;br /&gt;
        if !(-x $edit_wxcas_path-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_alc_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;No es un ejecutable&amp;lt;/b&amp;gt; (o no existe)\n&amp;quot;&lt;br /&gt;
        if !(-x $edit_alc_path-&amp;gt;get_text);&lt;br /&gt;
      $tmpStr .= $edit_icon_path-&amp;gt;get_text . &amp;quot;: &amp;lt;b&amp;gt;No parece que exista&amp;lt;/b&amp;gt;\n&amp;quot;&lt;br /&gt;
        if !(-e $edit_icon_path-&amp;gt;get_text);&lt;br /&gt;
&lt;br /&gt;
      if (defined $tmpStr){&lt;br /&gt;
          $tmpStr = &amp;quot;&amp;lt;b&amp;gt;Se ha detectado lo siguiente:&amp;lt;/b&amp;gt;\n\n$tmpStr\n\n&amp;quot; . flushChars(&amp;quot;¿Desea continuar de todos modos?&amp;quot;);&lt;br /&gt;
          my $confirmacion= &amp;amp;showMessage( 'question', $tmpStr, 'yes-no');&lt;br /&gt;
          return if ($confirmacion eq 'no');&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $config-&amp;gt;{'appOnClick'} = 'wxCas' if $select_wxcas-&amp;gt;get_active;&lt;br /&gt;
      $config-&amp;gt;{'appOnClick'} = 'aLinkCreator' if $select_alc-&amp;gt;get_active;&lt;br /&gt;
      $config-&amp;gt;{'appOnClick'} = 'aMuleGui' if $select_aMuleGui-&amp;gt;get_active;&lt;br /&gt;
&lt;br /&gt;
      $config-&amp;gt;{'aMuleDir'} = $edit_home_aMule-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'aMuleGuiApp'} = $edit_aMuleGui_path-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'wxCasApp'} = $edit_wxcas_path-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'aLinkCreatorApp'} = $edit_alc_path-&amp;gt;get_text;&lt;br /&gt;
      &amp;amp;showMessage( 'info', flushChars(&amp;quot;El icono cambiará cuando reinicie la aplicación.&amp;quot;), 'ok')&lt;br /&gt;
        if $config-&amp;gt;{'iconPath'} ne $edit_icon_path-&amp;gt;get_text;&lt;br /&gt;
      $config-&amp;gt;{'iconPath'} = $edit_icon_path-&amp;gt;get_text;&lt;br /&gt;
&lt;br /&gt;
      $config-&amp;gt;{'aMuledOn'} = $check_aMuled_on-&amp;gt;get_active;&lt;br /&gt;
&lt;br /&gt;
      &amp;amp;saveConfig; pathsVerify; popUpsAct; readSignatureConf;&lt;br /&gt;
      $guiOpciones-&amp;gt;destroy; &lt;br /&gt;
    } &lt;br /&gt;
  );&lt;br /&gt;
  $btnCancel-&amp;gt;signal_connect(&amp;quot;clicked&amp;quot;, sub { $guiOpciones-&amp;gt;destroy; } );&lt;br /&gt;
  $guiOpciones-&amp;gt;signal_connect('destroy' =&amp;gt; sub {$widget-&amp;gt;set_sensitive(1) if defined $widget;});&lt;br /&gt;
  $btnRutas1-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_home_aMule,&lt;br /&gt;
    'Seleccione el directorio home de aMule', 'select-folder'); });&lt;br /&gt;
  $btnRutas2-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_aMuleGui_path,&lt;br /&gt;
    flushChars('Seleccione la aplicación aMuleGui'), 'open'); });&lt;br /&gt;
  $btnRutas3-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_wxcas_path,&lt;br /&gt;
    flushChars('Seleccione la aplicación wxCas'), 'open'); });&lt;br /&gt;
  $btnRutas4-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_alc_path,&lt;br /&gt;
    flushChars('Seleccione la aplicación aLinCreator'), 'open'); });&lt;br /&gt;
  $btnRutas5-&amp;gt;signal_connect('clicked' =&amp;gt; sub { dialogOpen($edit_icon_path,&lt;br /&gt;
    flushChars('Seleccione el icono que utilizará aMulet'), 'open'); });&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# loadConfig carga la configuración o la crea si no existe&lt;br /&gt;
sub loadConfig {&lt;br /&gt;
  if ( open( CONFIGFILE, &amp;quot;$ENV{HOME}/.aMule/amulet.rc&amp;quot; ) ) {&lt;br /&gt;
    while (&amp;lt;CONFIGFILE&amp;gt;) {&lt;br /&gt;
      if ( $_ =~ /(\w+)\s=\s(.+)/ ) { $config-&amp;gt;{$1} = $2 }&lt;br /&gt;
    }&lt;br /&gt;
    close CONFIGFILE;&lt;br /&gt;
  } else {&lt;br /&gt;
    # es la primera vez.&lt;br /&gt;
    mkdir &amp;quot;$ENV{HOME}/.aMule&amp;quot; unless (-d &amp;quot;$ENV{HOME}/.aMule&amp;quot;);&lt;br /&gt;
    $config = { # Por defecto&lt;br /&gt;
      'aMuleDir'        =&amp;gt; &amp;quot;$ENV{'HOME'}/.aMule&amp;quot;,&lt;br /&gt;
      'aMuleGuiApp'     =&amp;gt; 'amulegui',&lt;br /&gt;
      'wxCasApp'        =&amp;gt; 'wxcas',&lt;br /&gt;
      'aLinkCreatorApp' =&amp;gt; 'alc',&lt;br /&gt;
      'iconPath'        =&amp;gt; '/usr/share/pixmaps/amule.xpm',&lt;br /&gt;
      'appOnClick'      =&amp;gt; 'aMuleGui',&lt;br /&gt;
      'aMuledOn'        =&amp;gt; 1&lt;br /&gt;
    };&lt;br /&gt;
    foreach my $app (@appList) {&lt;br /&gt;
      $config-&amp;gt;{$app . 'App'} = which($config-&amp;gt;{$app . 'App'});&lt;br /&gt;
    }&lt;br /&gt;
    pathsVerify;&lt;br /&gt;
    &amp;amp;saveConfig;&lt;br /&gt;
  }&lt;br /&gt;
  pathsVerify;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# saveConfig guarda la configuración en un archivo&lt;br /&gt;
sub saveConfig {&lt;br /&gt;
  my @keyList = ('aMuleDir', 'aMuleGuiApp', 'wxCasApp',&lt;br /&gt;
    'aLinkCreatorApp', 'iconPath', 'appOnClick', 'aMuledOn');&lt;br /&gt;
  if ( open( CONFIGFILE, '&amp;gt;', &amp;quot;$ENV{HOME}/.aMule/amulet.rc&amp;quot; ) ) {&lt;br /&gt;
    foreach my $key (@keyList) {&lt;br /&gt;
      print CONFIGFILE &amp;quot;$key = $config-&amp;gt;{$key}\n&amp;quot; if $config-&amp;gt;{$key} ne '';&lt;br /&gt;
    }&lt;br /&gt;
    close CONFIGFILE;&lt;br /&gt;
  }else {logSys(&amp;quot;warning&amp;quot;, &amp;quot;No se puede escribir en el archivo de configuración!&amp;quot;);}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
# showMessage Muestra una ventana con un mensaje, y espera respuesta.&lt;br /&gt;
sub showMessage {&lt;br /&gt;
  #$icon info warning error question&lt;br /&gt;
  #$type none ok close cancel yes-no ok-cancel&lt;br /&gt;
  my ($icon,$text,$type) = @_;&lt;br /&gt;
  my $dialog = Gtk2::MessageDialog-&amp;gt;new_with_markup (undef,&lt;br /&gt;
     [qw/modal destroy-with-parent/], $icon, $type, sprintf &amp;quot;$text&amp;quot;);&lt;br /&gt;
  my $retval = $dialog-&amp;gt;run;&lt;br /&gt;
  $dialog-&amp;gt;destroy;&lt;br /&gt;
  return $retval;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# which Devuelve el path completo a la aplicación.&lt;br /&gt;
sub which {&lt;br /&gt;
  my $appFile = shift;&lt;br /&gt;
  foreach (split(':', $ENV{PATH})) {&lt;br /&gt;
    my $tmpStr = &amp;quot;$_/$appFile&amp;quot;;&lt;br /&gt;
    if (-x $tmpStr) {&lt;br /&gt;
      $appFile = $tmpStr;&lt;br /&gt;
      last;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  return $appFile;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# dialogOpen ventana de selección de archivos o directorios y escribe&lt;br /&gt;
# el resultado en en el entry que debe ser el primer parámetro.&lt;br /&gt;
sub dialogOpen {&lt;br /&gt;
  # $widget debe ser un entry&lt;br /&gt;
  # $type open save select-folder create-folder&lt;br /&gt;
  my($widget,$caption,$type) =@_;&lt;br /&gt;
  my $chooserDialog =  Gtk2::FileChooserDialog-&amp;gt;new ($caption, undef, $type,&lt;br /&gt;
    'gtk-cancel' =&amp;gt; 'cancel', 'gtk-ok' =&amp;gt; 'ok');&lt;br /&gt;
  my $filename = $chooserDialog-&amp;gt;get_filename if 'ok' eq $chooserDialog-&amp;gt;run;&lt;br /&gt;
  $widget-&amp;gt;set_text ($filename) if defined $filename;&lt;br /&gt;
  $chooserDialog-&amp;gt;destroy;&lt;br /&gt;
  return;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AnimAlf</name></author>	</entry>

	</feed>