Es algo por lo que habéis preguntado varios de vosotros y hoy os lo traigo.
Antes de comenzar |
Os recomiendo antes de que comencéis a leer el tip que echéis un vistazo antes a estas otras dos entradas si aún no lo habéis hecho:
· ¿Conocías… rtorrent?
· ¿Conocías… screen?
Introducción |
En verdad rtorrent es un fabuloso cliente de torrents. Tiene puntos en contra, pero a mi modo de verlo son más los que tiene a favor, por no hablar del buen rendimiento que me da, tanto en cuestión de recursos como en tema de velocidad de descarga.
Uno de esos puntos en contra es que hay que tener una consola abierta (ya que su interfaz es en modo texto (ncurses)). Sin embargo gracias a screen podemos desligarlo de la consola, cerrarla y recuperarlo más tarde si queremos.
Pese a todo sigue haciendo falta algo, ejecutarlo como -mal llamado- demonio sin tener que abrir screen, abrir rtorrent, desligar la sesión y cerrar la consola, todo ello manualmente. Muchos quieren que se inicie junto con el sistema de forma automática.
Con este pequeño script podremos iniciar, mostrar y cerrar rtorrent fácil y cómodamente.
Descarga e «instalación» del script |
Podéis descargaros el script de este enlace (botón derecho sobre él > Guardar enlace como…). Una vez descargado verificamos que sea ejecutable. Para ello hacemos click derecho sobre el archivo, nos vamos a la pestaña «Permisos» y habilitamos la casilla de «Permitir ejecutar el archivo como un programa«.
El siguiente paso es hacer que esté accesible desde cualquier lugar donde estemos. Para ello tenemos varias opciones. Una de ellas es llevarnos el script a cualquiera de las carpetas que contienen los ejecutables de nuestro sistema. Por ejemplo en /usr/bin:
$ sudo mv rtdaemon /usr/bin
Otra opción es crear un alias, o bien guardar el script en una carpeta donde tengamos más (por ejemplo en /home/tu_usuario/scripts) y hacer un enlace simbólico al archivo:
$ sudo ln -s /home/tu_usuario/scripts/rtdaemon /usr/bin/rtdaemon
De esta forma conservaremos el script si tenemos el /home independiente.
Listo, con esto ya podremos usar el script desde cualquier directorio donde estemos en una consola.
Uso del script |
Para usarlo es muy simple. El script permite un argumento de entre tres según el cual hará una cosa u otra. Si escribís el nombre del script en consola (rtdaemon), os saldrá una pequeña ayuda con los siguientes argumentos:
Para iniciar rtorrent como demonio:
$ rtdaemon start
Para mostrar rtorrent en la consola:
$ rtdaemon show
Si queremos desligar de nuevo rtorrent para que siga funcionando en segundo plano y nos permita cerrar la consola, pulsamos primero «Ctrl+a» y después «d«, tal y como vimos en screen.
Para parar rtorrent como demonio:
$ rtdaemon stop
El funcionamiento del script es muy simple. Lo que hace en el primer caso es iniciar rtorrent con screen pero desligado desde el principio. El argumento «show» lo que hace es ligar la sesión. Y el tercero es cerrar screen junto con rtorrent.
Si no os gusta el nombre del script podéis cambiarlo al que queráis cuando lo descarguéis y usar el nombre que le pongáis para hacer uso de él sin problema alguno.
Ejecutarlo como demonio automáticamente |
Lo único que queda por explicar es que se ejecute automáticamente el demonio conjuntamente con la sesión. Hay varias formas de hacerlo, pero en principio sólo vamos a ver la más sencilla.
Vamos a «Sistema > Preferencias > Sesiones > Programas de inicio«. Pulsamos sobre el botón «Nuevo«. Ponedle el nombre que queráis, por ejemplo «Demonio rtorrent». En el comando escribimos el nombre del demonio seguido del argumento de inicio, es decir, «rtdaemon start«.
Eso es todo. Un último consejo antes de finalizar el tip: Si usáis el demonio os recomiendo que editéis el fichero de configuración de rtorrent (/home/tu_usuario/.rtorrent.rc) y le pongáis un tope de subida y descarga según vuestra conexión y criterio.
Suponiendo que queremos descarga ilimitada y 15 KB de subida, tendríamos que añadir/editar estas dos opciones en dicho fichero de configuración:
download_rate = 0
upload_rate = 15
Ahora sí, hemos acabado. Espero que os haya servido de ayuda 😉
Más tips entre tuxes y pepinos |
EXELENTE!!!!!!! Mañana lo pongo en practica. Era lo unico que le faltaba a rtorrent 🙂
Yo uso Azureus, descarga en mi compu a los decentes 100 Kb/s, aun asi instalare rtorrent a ver que tal esta, gracias ceec…
Para saber, como se agregaría en consola al rc.d ?
@ Queni: Azureus consume muchiiiiiiiiiiiiiiiiisima RAM. Yo también lo usaba pero me pasé a rtorrent.
yo uso el transmission para los trackers privados por los que pasto… y tengo que decir que es excelente en todos los sentidos
Yo también utilizo rtorrent, solo que lo tengo en un viejo PII ejecutándose todo el tiempo 🙂
Por defecto al arrancar se inicia una cuenta de usuario en una tty y en su bash le puse que al entrar se ejecutase el rtorrent, que configurado de una manera, deja a otros usuarios poder ver que está haciendo, así de este modo, si se me apaga o reinicia el ordenador, él solo vuelve a iniciar tanto la sesión del usuario como el rtorrent.
Tu opción me parece mucho mas elegante 🙂
Gracias por la respuesta tan rapida y completa 😀
Como siempre, tu blog es el mejor 😛
Saludos!
Genial idea, buena forma de automatizar las cosas, este tipo de scripts me encantan! Gracias
si consume mucha ram el azureus, pero si tienes una ram de por lo menos un GB ni la sientes(sin albur)
Un truquillo más si lo dejais como demonio. Para establecer una programación de la velocidad de subida/bajada, editais el .rtorrent.rc, añadiendo las siguientes líneas:
schedule = apuja_max,00:00:00,24:00:00,upload_rate=13
schedule = apuja_min,08:00:00,24:00:00,upload_rate=5
Así, a las 12 de la noche se pone a subir a tope y las 8 de la mañana vuelve a la normalidad.
soy pepico
@ Oscar: Metiéndolo en el runlevel adecuado, sin embargo sería complicarte la vida bastante. Te recomiendo que lo hagas como comento en el tip, creo que es la solución más rápida y sencilla.
@ maRc: Gracias por el aporte. Me alegra verte por estos lares 😉
Saludos.
muy interesante, estuve viendo en la pagina de rtorrent que hay algunas interfaces graficas para usarlas remotamente e incluso via web.
Esto me resulta muy interesante para poner una pc exclusivamente a descargar torrents en casa y controlarlo via web en mi red ..
ahora la pregunta es, que sugeris para que rtorrent inicie solo como un servicio? sin tener que loguearse con un usuario.ademas que recomendas en este caso para ubicar los archivos de configuracion, las descargas se harian en otra paricion montada en /mnt, convendria alojar los archivos de configuracion en /etc/share o algo asi?
saludos y muy bueno el blog.
Wenasss..
He estado haciendo pruebas pero tras un par de minutos me aparece el siguiente error.
[File chunk write error: No existe el dispositivo.]
Le he dado permiso a todo el mundo en la carpeta de descargas, la partición está en Ext3.
He visto que en la otra entrada ya se comentó algo de esto pero nada de lo que aparece lo ha solucionado.
Gracias de antemano
Hola elkaribou.
Preferiría que lo comentaras en la entrada sobre rtorrent y no sobre el script para tener bien organizada toda la información con las respectivas cuestiones que puedan surgir.
Saludos.
Ok.
Planteo la duda en la entrada sobre rtorrent.
Muchas gracias…
Hola,
tu script está bien, sólo que en mi Debian cuando arranca y ejecuta el script lo hace como root, no uso ubuntu y he añadido el daemon con update-rc.
Para que me funcione he cambiado la línea:
screen -d -m /usr/local/bin/rtorrent
por:
su – tu_usuario -c ‘screen -d -m /usr/local/bin/rtorrent’
para que lo ejecute con mi usuario y luego pueda verlo con screen -r.
saludos,
Azazelo
La idea del script era la de ejecutarse por el propio usuario, bien sea manualmente o al iniciar sesión. De esa forma el proceso pertenece al propio usuario, independientemente del sistema usado.
Sin embargo si lo metes en el update-rc el proceso ya es del sistema a no ser que le indiques el propietario de la forma en que lo has hecho.
Saludos.
mi idea era como automatizar el inicio de rtorrent y así llegué a tu script.
De esta manera no tengo que preocuparme de iniciarlo manualmente o de hacer login en el «servidor de descargas casero».
La única pega que noto al meterlo en el update-rd es la de que no puedo para el rtorrent manualmente como lo hacía hasta ahora con ctrl+q, sino que tengo que salir a una consola y pararlo desde el script de arranque… curioso…
gracias por tu escript.
saludos,
Me funciono perfecto en debian etch, lo unico que modique es la parte del inicio el cual lo levanto con el cron. Puse crontab -e y alli le agrege la linea «0 20 * * * rtdaemon start», de esta forma lo levanto todos los dias a las 8 de la noche que es cuando ya nadie utiliza internet en mi trabajo 😉
Exelente pagina muchachos, mis felicitaciones desde MardelPlata|BuenosAires|Argentina
Me alegro 😉
Saludos.
Hola una duda… el apagar la maquina o cerrar el rtorrent con stop, es algo un tanto «a la mala», lo digo porque a la hora de iniciarlo de nuevo tiene que hashear los archivos… algo lentoo
He visto que una vez iniciado el rtorrent con el script, se puede cerrar con un C-a q.. y sale con suavidad. Se podra hacer algo parecido para matar el proceso automaticamnte??
saludos, gran aporte por cierto
[…] bien, él mismo lo solucionó con un script, y como me gustó, decidí darle un retoque para arreglar un par de cosas que eran un […]
Quiero que se inicie rtorrent al iniciar el ordenador (no al hacer login), y que se ejecute como mi usuario (con mi /home/usuario/rtorrentrc) para poder atenderlo luego al hacer login.
Tengo Debian en el servidor que se enciende automáticamente si va la luz y vuelve (por un jumper en la placa base).
Cómo lo hago. ¿Meto un enlace al script en el /etc/init.d/? ¿y el usuario? No lo tengo muy claro…
Gracias de antemano.
Lo primero, gracias por tu script.
Como el blog está cerrado y no sé si aún lees los comentarios, no sñe cuanta utilidad tendrá mi comentario o si recibire respuesta.
Iba a comentar una cosilla sobre la forma de cerrar el rtorrent del mismo pero ya lo expuso manuel en los comentarios hace unos meses:
Cerrar directamente screen es un poco «bestia», no informa a los trackers de que has cerrado el cliente (conveniente sobretodo en trackers privados con control de ratio) y hace inútil el configurar el aspecto «sesión» de rtorrent, pues al abrirlo de nuevo, toca rehashear todo. Lo ideal es usar un método de «cerrado suave». En la sección de manual de suario del wiki de rtorrent (http://libtorrent.rakshasa.no/wiki/RTorrentUserGuide) comentan qué tipo de cierre provocan las señales SIGINT, SIGTERM, SIGWINCH. Lo ideal es usar la primera (con «kill -2» pues SIGINT=2), puesto que da un tiempo de gracia a rtorrent para informar a los trackers y «guardar sesión».
A mí me ha bastado con comentar la línea
screen -X quit
de tu script y añadir encima
kill -2 `pidof rtorrent`
(ojito con esas comillas). Lo malo es que no sé si cierra o no screen, o si conviene dejar debajo sin comentar la línea para cerrar screen, temiendo que no espere a que el kill -2 haga efecto. No he hecho pruebas aún.
yo también adapté el script para cerrar el rtorrent correctamente, usando kill -2.
cuando ponés kill -s 2 `pidof rtorrent` cierra correctamente y si es la única ventana de esa sesión de screen también termina screen. En el contexto del script propuesta si ocurre esto último va a dar error (quiere matar una sesión de screen que ya no existe), habría que corregir esa parte nada más.
Yo apelé al facilismo y puse
echo -n «Parando rtorrent…»
kill -s 2 `pidof rtorrent` && sleep 5s && echo «[OK rtorrent detenido]»
screen -S rtorrent -X screeen && echo «[Creando ventana extra por si era la última»]
screen -S rtorrent -X quit && echo «[OK screen terminado]» || error 3
saludos desde Mar del Plata, argentina
oye amigo cuando hago el comando rtdaemon me sale este error que sera?
There are screens on:
6263..linux-w4xp (Detached)
5794.pts-1.linux-w4xp (Detached)
There is no screen to be detached.
El enlace al script no funciona. Lo puedes poner en algún otro sitio?
Saludos.
Efectivamente, el enlace al script no funciona.Puede alguien enviarlo a un tal excalibur EN EL SERVIDOR asturlinux Puntito org?
Gracias por el tutorial. En cuanto tenga el script seguro que lo pongo en práctica. Me ha encantado rtorrent…
http://www.mediafire.com/?ljley4zzydv
De nada
[…] Por MigueliTUX Jan.12, 2011, categoría Linux Buscando por la red, encontré el siguiente TIPS https://tuxpepino.wordpress.com/2008/03/04/tip-script-para-usar-rtorrent-como-daemon/ […]
la URL del script publicada en el artículo está caída. Para bajarlo:
wget http://sites.google.com/site/xonosweb/Home/rtdaemon && sudo mv rtdaemon /usr/bin
[…] cuando lo deseemos. Para usar estas características, hemos de descargar y usar un pequeño script cortesía de CeeC, para lo que […]