# Ferramentas Adicionais de Integração e de Linha de Comando

Esta secção lista todas as outras pequenas ferramentas e 'scripts' que vêm com o kdebluetooth. A maior parte delas tem por si só uma utilidade limitada, mas destinam-se a ser chamadas de 'scripts' ou de outros programas.

## kioclient: Acesso por 'scripts' ao 'framework' KIO

Este é um pequeno utilitário para aceder a 'kioslaves' da linha de comandos. Portanto o `kioclient` é um utilitário de utilidade geral, mas uma vez que não existia teve que ser programado.

Com o `kioclient` pode copiar, listar ou apagar qualquer ficheiro sou pasta acessível através da Infra-estrutura KIO do KDE. Pode copiar um ficheiro de um servidor FTP directamente para ouro servidor utilizando WebDAV ou listar uma pasta via SSH com o kio_fish. Ou - e é aqui que isto se torna interessante para nós - pode aceder a ficheiro no seu telemóvel com o kio_obex. O kioclient é utilizando pelo 'script' exemplo que vem com o kbluetoothd: o 'script' `copy_images`.

Pode obter uma lista de possíveis argumentos com `kioclient --help`, por isso segue-se apenas alguns exemplos:

    $ kioclient cat http://www.kde.org | head -1
    <?xml version="1.0" encoding="UTF-8"?>
    $ kioclient ls -s ftp://ftp.kde.org | head -4
         4096 .
         4096 ..
         4096 bin
         4096 dev
    $ kioclient ls bluetooth:/
    local system
    Fred's 6230
    Fred's 3650
    $ kioclient ls "sdp://Fred's 6230/"
    OBEX Object Push
    OBEX File Transfer
    Dial-up networking
    Nokia PC Suite
    COM 1
    Voice Gateway
    Audio Gateway
    SIM ACCESS
    .More Services
    $

Repare que o kioclient - embora seja um programa de linha de comandos - precisa de ser corrido de dentro do KDE, por isso não o pode utilizar, por exemplo, em trabalhos de cron. Mas esta limitação não se aplica quando o utiliza em 'scripts' de descoberta no kbluetoothd.

## kbtsearch: Procura por dispositivos a partir de 'scripts'

Tal como o `kioclient` ou o `kdialog` do KDE, esta é uma ferramenta de linha de comando que pode ser utilizada em 'scripts'. Dá uma interface de linha de comandos às duas janelas de procura mais comuns do kdebluetooth - a procura de dispositivos e a procura de serviços.

Pode utilizá-lo quando quiser que o utilizador seleccione um dispositivo bluetooth ou um serviço específico de um dos dispositivos ao seu alcance. Tal como em todos os lados, a janela de escolha de serviço recorda os dispositivos encontrados e preenche imediatamente a lista com as entradas encontradas anteriormente. Os serviços actualmente disponíveis são adicionados à lista após alguns segundos.

Para procura por um dispositivo, escreva `kbtsearch --device`. Quando o utilizador escolheu um dispositivo ou inseriu um endereço, e carregou em OK, o kbtsearch irá imprimir o endereço do dispositivo para o stdout e sair com o estado 0. Se o utilizador carregar em Cancelar, nada é escrito e o código de estado devolvido é 1:

    $ if ADDR=$(kbtsearch --device) ;

    > then echo "Endereço seleccionado: $ADDR.";

    > else echo "Nenhum endereço seleccionado."; fi
    Endereço seleccionado: 00:60:57:5C:E6:BD.
    $

Também pode procurar por um dispositivo que implemente um dado perfil Bluetooth com `kbtsearch --uuid <UUID-do-Serviço >`. Para uma lista completa de UUIDs possível no perfil Bluetooth normal, veja os 'Bluetooth Assigned Numbers (SDP)'. kbtsearch também define alguns nomes alternativos para os perfis mais utilizados. Execute `kbtsearch --aliases` para obter uma lista de nomes possíveis.

Quando o utilizador seleccione um serviço e carrega em OK, o kbtsearch devolve 0 e imprime uma linha no formato '[address] [rfcommchannel]'. É claro que isto só faz sentido para serviços que define um canal rfcomm. Actualmente não há maneira de obter, por exemplo, um PSM de L2CAP. Se precisar contacte-me.

    $ if RET=( $(kbtsearch --uuid=FAX) ) ;

    > then ADDRESS=${RET[0]}; CHANNEL=${RET[1]};

    > echo "Seleccionado endereço=$ADDRESS, canal=$CHANNEL.";

    > else echo "Nenhum serviço seleccionado.";

    > fi
    Seleccionado endereço=00:60:57:5C:E6:BD, canal=1.
    $

Para mais opções veja `kbtsearch --help`.

## kbtfax: Enviar mensagens de fax messages com aplicações KDE

Este 'script' torna mais fácil o envio de faxes de qualquer aplicação KDE. Depende de `efax` (pacote externo), `kdeprintfax` e `kdesu` (ambos parte do kdebase) e a ferramenta `rfcomm` (parte do bluez-utils).

Quando envia um fax com o `kdeprintfax` pode seleccionar a infra-estrutura a utilizar. Um opção é "EFax", outra "Outra". Seleccione "Outra", e depois procura o 'script' kbtfax na instalação do kdebluetooth. Indique a linha de comando tal como indicada no 'script'. Já está. Há no entanto muitas coisas que podem correr mal. Esteja à vontade para melhorar o 'script' e enviar correcções :)