Nova receita

Nova receita

No Transmission-gtk existe uma opção que pode executar o script:Editar > Preferências > Baixando > Chamar script quando o torrent for concluído.

Recentemente, descobrieste roteiroque não sei como fazê-lo funcionar na transmissão. De acordo com a descrição do programa, o script não desliga o sistema, mas pode interromper a transmissão após a conclusão de todos os torrents. isso é o suficiente para mim porque posso acorrentar "desligando" para "transmissão de fechamento" por &&.

Agora, pessoal, vocês podem me ajudar a executar esse script php em transmissão?

este é um exemplo mencionado pelo autor do script: php.exe Transmission_Quit.php --port=9999 --hostname=192.168.0.1; O que isto significa?! como devo usá-lo? Devo apontar para "Chame o script quando o torrent for concluído"opção diretamente?

Responder1

Estou deixando isso para dar seguimento à pergunta original que pede para executar um script php específico. Mas uma solução alternativa é fornecida na seção Nova receita para resolver o problema principal.

Por favor, tente isto e informe seus resultados, após o que esta resposta pode ser alterada ou excluída:

Em determinado momento sua senha poderá ser solicitada.

  1. Primeiro de tudo, vamos criar um arquivo chamado script.php inserindo um terminal sudo gedit script.php(lembre-se que você pode colocar esse arquivo em qualquer pasta que desejar, mas para fins de teste sua pasta pessoal será boa).
  2. No arquivo, vamos copiar/colar o conteúdo do script que você mencionou. Salve o arquivo e feche-o.
  3. Agora vamos dar ao arquivo as permissões de arquivo adequadas e a permissão de execução também, soltando as próximas duas linhas em um terminal, uma linha por vez.

    sudo chmod 755 script.php

    sudo chmod a+x script.php

  4. Agora, vamos instalar o php5-cli inserindo um terminal sudo apt-get install php5-clie esperar que o terminal termine o processo de instalação.

Depois de php5-cliinstalado podemos testar o script invocando php script.php --port=9999 --hostname=192.168.0.1;um terminal, mas será melhor se você fizer isso de dentro do Transmission.

php5-clié um interpretador de linha de comando para a linguagem de script PHP5 e é útil para executar scripts php como este, é mais parecido com o arquivo php.exe para Windows, aquele que você mencionou na sua pergunta original.

Espero que você tenha sucesso, mas informe seus resultados para fornecer o suporte adequado ou exclua esta resposta se não for útil.

Termo aditivo

Depois de ler seus comentários, apresento esta receita de fast-food para o script php.

Antes de mais nada preciso explicar algumas coisas do exemplo dado pelo autor do roteiro, como segue:

script.php  --port=9999 --hostname=192.168.0.1;
  • --port=9999= 9999 é uma porta de exemplo, mas neste campo você deve escrever o mesmo número de porta que você definiu na aba do cliente Web.
  • --hostname=192.168.0.1= Deve ser o ip do equipamento que deseja que o script execute para encerrar o processo de transmissão.

Isso me faz pensar que o processo pode ser invocado remotamente, mas para o nosso caso particular usaremos os valores padrão para que não precisemos incluir nem a porta nem o nome do host. Simplesmente executando o script.phparquivo em um terminal ou invocado por transmissão e ele utilizará os valores padrão que se aplicam ao nosso computador ( localhost).

Então, vamos cozinhar fast food:

  1. Precisamos de um arquivo, vamos chamá-lo de bye.sh e colocá-lo em algum lugar, sua pasta pessoal é um bom lugar para fins de teste.
  2. Insira o próximo dentro do arquivo (roteiro de fast food aqui), salve-o, feche-o e conceda-lhe permissões de execução. (para referência, leia esta resposta e descubra como).

insira a descrição da imagem aqui

  • Em seguida, sirva-o na guia "Download" do Transmission, mas certifique-se de incluir o arquivo bye.sh adequado a ser invocado quando o download terminar.

insira a descrição da imagem aqui

É isso.Preciso explicar que de alguma forma o script php está funcionando, mas observa um pequeno atraso após o término dos downloads e acabei de testar com 2 pequenos arquivos torrent. Não sei dizer se o atraso aumentará se a lista for maior ou o tamanho do download for mais pesado, comportamento que não é observado pela fórmula da Nova Receita. No entanto, o arquivo PHP dá a você a garantia de que será executado em qualquer sistema operacional compatível com PHP, e minha nova receita é destinada principalmente a sistemas baseados em Linux, funciona no Ubuntu e pode ter sucesso em outras distribuições, baseadas em Debian ou Ubuntu, e certas modificações permitirão que ele tenha sucesso em outras distribuições não baseadas em Debian/Ubuntu.

Boa sorte!

Nova receita

OK, tenho uma receita nova para este caso, admito que chamou toda a minha atenção, mesmo quando não uso o Transmission com tanta frequência.

A receita

Ingredientes

  1. transmissão-gtk (instalado de alguma forma, na embalagem do software, terminal, etc.)
  2. transmissão-cli (sudo apt-get install transmissão-cli, forneça a senha, aguarde a conclusão da instalação.)
  3. O roteiro. (cozido à parte)

Preparação

  • Vamos preparar nossa transmissão para receber petições de clientes web de fora, assim poderemos monitorar o que está acontecendo em nosso programa. Vamos abrir o Transmission e ir para a aba "Web" para habilitar a caixa de seleção "Ativar cliente web", conforme mostrado na próxima imagem.

insira a descrição da imagem aqui

(Os valores padrão funcionarão perfeitamente)

  • Vamos abrir nosso editor de texto favorito para criar um arquivo chamado byebye.she colocar o próximo conteúdo dentro dele. (Veja o roteiroaqui)

insira a descrição da imagem aqui

Agora, vamos encontrar o arquivo bybye.sh e conceder a ele as permissões de execução adequadas, inserindo um terminal sudo chmod a+x bybye.shou inserindo as propriedades do arquivo no Nautilus e ativando a caixa de seleção "Permitir execução de arquivo como programa" em "Permissões", conforme mostrado a seguir. captura de tela.

insira a descrição da imagem aqui

  • Depois de preparar o script, vamos instalar transmission-cli, em um terminal:, sudo apt-get install transmission-clipressione Enter e forneça sua senha, após a qual o software será instalado.

Hora da degustação

Em um terminal, drop transmission-remote --list | sed '1d;$d' | grep -v Done | wc -lapós o qual os resultados podem variar de caso para caso, dependendo da quantidade de torrents que estão pendentes ou baixando em transmissão. Se os resultados forem diferentes, 0estamos a caminho. Se você receber 0e algo estiver baixando ou na fila, você deve conferir a receita desde o início. Se você receber um erro, deixe-o em um comentário para fornecer suporte.

  • Se tudo estiver indo bem, agora vamos instruir a transmissão para executar o script toda vez que um torrent for concluído.ACALMAR!Por favor, calma... o script será executado toda vez que um torrent for baixado completamente, mas só acionará a ação para encerrar a transmissão quando o resultado dos downloads for igual a zero. Essa forma condicional nos dá a tranquilidade de que a transmissão não será encerrada a cada download. Uma captura de tela é fornecida para sua conveniência:

insira a descrição da imagem aqui

E pronto! A receita pode ser servida em porções generosas e na companhia de todos os seus downloads. A transmissão será encerrada apenas se o último download for bem-sucedido.

ALGUNS AVISOS

Se o Transmission estiver com apenas uma ação pendente e o download terminar no exato momento da abertura do software, o Transmission irá fechar assim que abrir.

Glossário:

killall -9 transmission= Fechará a transmissão suavemente para que você não receba uma mensagem de erro cada vez que for fechada. Simplesmente usar killall transmissionirá fechá-lo de forma rude, assim o software reportará uma falha de fechamento.

Agora, certifique-se de incluir na mesa um copo com excelente rum cubano para mim na hora de servir a receita e...

Boa sorte!

informação relacionada