Jump to content
From ArchWiki
Esta traducción de Transmission fue revisada el 2020-12-05. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Transmission es un cliente BitTorrent ligero y multiplataforma.

## Instalación

Hay varios paquetes disponibles para instalar con Transmission:

- transmission-cli – demonio, con CLI, e #Interfaz web.
- transmission-gtk – Interfaz gráfica en GTK 3.
- transmission-qt – Interfaz gráfica en Qt 5.
- tremcAUR or tremc-gitAUR – Interfaz Curses para el demonio.
- stigAUR or stig-gitAUR – Interfaz Curses para el demonio.
- transmission-remote-gtk – Interfaz gráfica en GTK 3para el demonio.

## Configurar la versión GUI

Ambas versiones GUI, transmission-gtk y transmission-qt, pueden funcionar de forma autónoma sin un demonio como back-end.

Las versiones GUI están configuradas para funcionar directamente, pero es posible que el usuario desee cambiar algunas de las configuraciones. La ruta predeterminada a los archivos de configuración GUI es `~/.config/transmission`.

Se puede encontrar una guía de las opciones de configuración en el Github de Transmission.

## Demonio Transmission y CLI

La órdenes para transmission-cli son:

  transmission-daemon: inicia el demonio.
  transmission-remote: invoca el CLI para el demonio, ya sea local o remoto, seguido de la orden que desea que ejecute el demonio.
  transmission-show: devuelve información sobre un archivo torrent determinado.
  transmission-create: crea un nuevo torrent.
  transmission-edit: añade, elimina o reemplaza la URL de anuncio de un rastreador.
  transmission-cli: (reemplazado en favor de transmission-remote) inicia una instancia local no demonizada de transmission, para descargar manualmente un torrent.
  tremc: (requires tremc-gitAUR) inicia la interfaz curses para el demonio, ya sea local o remoto.

### Iniciar y detener el demonio

El demonio Transmission se puede ejecutar:

- Como el usuario transmission, iniciando/activando `transmission.service` mediante systemd. El usuario se puede cambiar como se explica en #Elegir un usuario.

- Como su propio usuario, ejecutando bajo su nombre de usuario:

    $ transmission-daemon

Al iniciar el demonio, se creará un archivo de configuración inicial. Véase #Configurar el demonio.

El demonio se puede detener con:

    $ pkill -3 transmission-daemon

Una opción alternativa para detener Transmission es utilizar la orden transmission-remote:

    $ transmission-remote --exit

### Reducir el journal spam

Correr transmission-daemon puede dar lugar a muchas entradas journal no deseadas. La salida se puede filtrar iniciándolo con un pequeño script de envoltura. El siguiente ejemplo también proporciona algunas notificaciones:

    transwrap.sh

    #!/bin/zsh
    killall transmission-daemon 2> /dev/null
    transmission-daemon --foreground --log-info 2>&1 | while read line; do
    	echo $line |
    		grep -v "announcer.c:\|platform.c:\|announce done (tr-dht.c:" |
    		grep -v "Saved.*variant.c:" |
    		while read line; do
    			echo $line | grep -q "Queued for verification (verify.c:" &&
    				notify-send --app-name="Transmission Started" "${line#* * }"
    			echo $line | grep -q "changed from .Incomplete. to .Complete." &&
    				notify-send --app-name="Transmission Complete" "${line#* * }"
    			echo $line | systemd-cat --identifier="TransWrap" --priority=5
    		done 2>&1 > /dev/null
    	done&disown

### Ejecutar solo mientras está conectado a la red

#### Netctl

Puede ser conveniente ejecutar Transmission solo en determinadas redes. La siguiente secuencia de órdenes verifica que la conexión esté en una lista de redes autorizadas y luego procede a iniciar transmission-daemon.

    /etc/netctl/hooks/90-transmission.sh

    #!/bin/bash

    # Los SSID para los que activamos esto.
    declare -A ssids=(
        ["network_1"]=y
        ["network_2"]=y
    )

    if [[ ${ssids[$SSID]} ]]; then
        case $ACTION in
            CONNECT|REESTABLISHED)
                # Necesito esperar, de lo contrario no parece vincularse a 9091.
                sleep 30
                systemctl start transmission
                ;;
            *)
                systemctl stop transmission
                ;;
        esac
    fi

#### Wicd

Cree un script de inicio en la carpeta `/etc/wicd/scripts/postconnect`, y un script de detención en la carpeta `/etc/wicd/scripts/predisconnect`. Recuerde hacerlos ejecutables. Por ejemplo:

    /etc/wicd/scripts/postconnect/transmission

    #!/bin/bash

    systemctl start transmission

    /etc/wicd/scripts/predisconnect/transmission

    #!/bin/bash

    systemctl stop transmission

### Elegir un usuario

Elija cómo quiere ejecutar `transmission`:

- Como un usuario separado, `transmission` por defecto (recomendado para mayor seguridad).

Por defecto, transmission crea un usuario y un grupo `transmission`, con sus archivos de inicio en `/var/lib/transmission/`, y se ejecuta como este "usuario". Esta es una precaución de seguridad, así que transmission, y sus descargas, no tienen acceso a archivos fuera de `/var/lib/transmission/`. La configuración, el funcionamiento y el acceso a las descargas deben realizarse con privilegios de superusuario "root" (por ejemplo, utilizando sudo).

- Bajo tu propio usuario.

Para configurar esto, anule el archivo de servicio proporcionado y especifique su nombre de usuario:

    /etc/systemd/system/transmission.service.d/username.conf

    [Service]
    User=su_usuario

### Configurar el demonio

Cree un archivo de configuración inicial iniciando el demonio.

- Si ejecuta Transmission con el nombre de usuario `Transmission`, el archivo de configuración se ubicará en `/var/lib/transmission/.config/transmission-daemon/settings.json`.

- Si ejecuta Transmission con su propio nombre de usuario, el archivo de configuración se ubicará en `~/.config/transmission-daemon/settings.json`.

Uno puede personalizar el demonio utilizando un cliente Transmission o mediante la interfaz web incluida accesible a través de http://localhost:9091 en un navegador compatible.

Puede encontrar una guía de las opciones de configuración en el sitio web de Transmission: https://github.com/transmission/transmission/wiki/Editing-Configuration-Files

Nota: Si desea editar la configuración manualmente con un editor de texto, primero detenga el demonio; de lo contrario, se sobrescribirá su archivo de configuración cuando se cierre.
Nota: Alternativamente, se puede indicar al demonio que vuelva a cargar su configuración con SIGHUP, ejecutando `kill -s SIGHUP $(pidof transmission-daemon)`.

Una recomendación para aquellos que lo ejecutan bajo el nombre de usuario `transmission` es crear un directorio de descarga compartido, con los permisos correctos, para permitir el acceso tanto al usuario `Transmission` como a los usuarios del sistema, y ​​luego actualizar el archivo de configuración. en consecuencia. Por ejemplo:

    # mkdir /mnt/data/torrents
    # chown -R fachada:transmission /mnt/data/torrents
    # chmod -R 775 /mnt/data/torrents

Ahora `/mnt/data/torrents` será accesible para el usuario del sistema `fachada` y para el grupo `transmission` al que pertenece el usuario `transmission`. No se recomienda hacer al directorio destino con permisos de lectura/escritura para todos (es decir, no haga chmod al directorio con 777). En su lugar, otorgue a los usuarios/grupos individuales los permisos adecuados para los directorios correspondientes.

Nota: Si `/mnt/data/torrents` está ubicado en un dispositivo extraíble, p.ej. con una entrada en `/etc/fstab` con la opción `nofail`, Transmission se quejará de que no puede encontrar sus archivos. Para remediar esto, puede añadir `RequiresMountsFor=/mnt/data/torrents` a `/etc/systemd/system/transmission.service.d/transmission.conf` en la sección `[Unit]`.

Una alternativa es añadir su usuario al grupo `transmission` (`#usermod -a -G transmission su_usuario`) y luego modificar los permisos en los directorios `/var/lib/transmission` y `/var/lib/transmission/Downloads` para permitir el acceso de `rwx` a los miembros del grupo `transmission`.

#### Lista blanca de hosts

Si planea acceder al demonio Transmission a través de la red utilizando el nombre de host del servidor, debe añadir este nombre de host a `rpc-host-whitelist` en `settings.json`. De lo contrario, obtendrá un error "421 Misdirected Request" al acceder al servidor.

Si se conecta al demonio utilizando la dirección IP del servidor, esto no es necesario.

#### Directorio vigilado

Si desea Añadir automáticamente archivos .torrent desde una carpeta, pero encuentra que las opciones `watch-dir` y `watch-dir-enabled` establecidas en el archivo de configuración no funcionan, puede iniciar el demonio Transmission con la opción `-c /ruta/al/directorio/vigilado`.

Si está utilizando systemd, edite la unidad `transmission.service` como se describe en systemd (Español)#Modificar los archivos de unidad suministrados.

#### Activar IPv6

De forma predeterminada, el demonio solo escucha conexiones IPv4. Para escuchar también las conexiones IPv6, cambie la opción `rpc-bind-address` a `"::"` en `settings.json`.

#### Ejemplos CLI

Si desea eliminar todos los torrents finalizados, puede utilizar la orden siguiente con su propio nombre de usuario y contraseña:

    # transmission-remote -n 'usuario:contraseña' -l | grep 100% | awk '{print $1}'| paste -d, -s | xargs -i transmission-remote -t {} -r

Siembra un torrent que ya se haya descargado:

    # transmission-remote [HOST] --torrent=ejemplo.torrent -a ejemplo.torrent --verify --download-dir=/ruta/a/la/carpeta --start

## Interfaz web

### La forma GUI

Una vez que Transmission está instalado, puede configurar fácilmente la interfaz web. Todo lo que necesita hacer es clic en el menú Editar y seleccionar Preferencias. Haga clic en la pestaña Remoto y active Permitir acceso remoto.

Aquí, tiene la oportunidad de cambiar el puerto de escucha predeterminado de 9091.

Marque Usar autenticación y rellene un nombre de usuario y contraseña para que se pueda utilizar la autenticación.

Para aumentar la seguridad, puede restringir el acceso desde cualquier dirección IP activando Permitir solo estas direcciones IP.

Ahora está listo para iniciar la interfaz web haciendo clic en Abrir cliente web, que hace que su navegador web predeterminado lo abra, o llegando manualmente a `http://DIRECCION_IP_DESTINO:PUERTO` con cualquier navegador web compatible.

Si no ha cambiado el puerto de escucha, el predeterminado es 9091. En este caso, el enlace es `http://localhost:9091`.

Nota: Tenga en cuenta que transmission-cli debe estar instalado.

### La forma CLI

No necesita una interfaz gráfica para configurar la interfaz web, el demonio ofrece las mismas opciones. Puede acceder a la interfaz web sin especificar ninguna opción. Véase #Iniciar y detener el demonio

No obstante, puede especificar todo lo que vea en la sección anterior:

    $ transmission-daemon --auth --username arch --password linux --port 9091 --allowed "127.0.0.1"

es equivalente a

    $ transmission-daemon -t -u arch -v linux -p 9091 -a "127.0.0.1"

### Tema de interfaz web opcional

Si la interfaz de usuario predeterminada de la aplicación web parece obsoleta y menos elegante de lo esperado, intente utilizar este sencillo tema CSS:

https://git.eigenlab.org/sbiego/transmission-web-soft-theme

También hay un proyecto de reemplazo completo que puede coexistir con la interfaz de usuario predeterminada:

https://github.com/ronggang/transmission-web-control

## Solución de problemas

### No se puede acceder al demonio a través de la red

El demonio se inicia después de inicializar `network.service`. Sin embargo, si activa el servicio `dhcpcd` en lugar del servicio específico del dispositivo, como por ejemplo `dhcpcd@enp1s0.service`, puede suceder que Transmission se inicie demasiado pronto y no se pueda enlazar a la interfaz de red. Por lo tanto, la interfaz web es inalcanzable. Una posible solución es añadir la línea `Requires` al archivo de configuración de la unidad:

    /etc/systemd/system/transmission.service.d/fixdep.conf

    [Unit]
    Requires=network.target

### No se puede acceder a la interfaz web

    404: Not Found

    Couldn't find Transmission's web interface files!

    Users: to tell Transmission where to look, set the TRANSMISSION_WEB_HOME environment variable to the folder where the web interface's index.html is located.

    Package Builders: to set a custom default at compile time, #define PACKAGE_DATA_DIR in libtransmission/platform.c or tweak tr_getClutchDir () by hand.

Incluso si utiliza la interfaz gráfica, aún necesita instalar transmission-cli para que la interfaz web funcione.

### No se pudo configurar el búfer de envío/recepción

Transmission puede mostrar cualquiera de estos mensajes en el diario al inicio:

    UDP Failed to set receive buffer: requested 4194304, got 425984
    UDP Failed to set send buffer: requested 1048576, got 425984

Estos se pueden corregir configurando `net.core.rmem_max=4194304` y `net.core.wmem_max=1048576` con sysctl.

## Véase también

- Wiki de Transmission
- Uso sin monitor
- Wiki de Transmission en GitHub

Category:

- BitTorrent (Español)