Como posso fazer 'adb shell' ter o tamanho correto do terminal?

6

Portanto, adb shell tem um bug irritante onde não percebe que seu aplicativo de terminal gráfico é maior que 80x24, então quando você tenta executar qualquer tipo de aplicativo de console em tela cheia como o vi ou o emacs (ou qualquer aplicativo ncurses ), ele não ocupa a tela inteira, apenas uma pequena parte dele. Existe uma maneira de corrigir isso facilmente?

    
por robru 07.11.2013 / 20:40

3 respostas

6

UPDATE (fevereiro de 2015): Até agora, você pode simplesmente usar "phablet-shell". Não há necessidade de mexer com scripts auto-construídos mais. Dito isto, se você quiser, eles ainda devem funcionar.

O que eu costumo fazer é usar ssh ao invés de adb. Aquele configura o terminal adequadamente (além de definir muitas outras coisas melhor do que o adb).

Coloque isso no seu ~ / .bash_aliases (no computador host, não no dispositivo)

alias sd='adb shell start ssh; \
    adb forward tcp:2222 tcp:22; \
    ssh-keygen -f ~/.ssh/known_hosts -R [localhost]:2222; \
    ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
        phablet@localhost -p 2222'

e feche / reabra a janela do terminal.

Agora você pode apenas fazer um "sd" (abreviação de ssh device) e você estará logado como phablet do usuário no telefone, com um terminal configurado adequadamente e um configurar o ambiente do usuário.

    
por mzanetti 19.11.2013 / 17:56
4

Não é um bug no terminal - a configuração padrão do shell no Android simplesmente não está configurada para lidar com a alteração dos tamanhos das janelas.

Depois de redimensionar a janela do terminal, use o comando resize - e use o programa de tela inteira.

    
por Volker Siegel 01.07.2014 / 17:11
1

Aproveitando a resposta de mzanetti acima, eu a expandi para ter algumas vantagens que agora estou usando regularmente:

function adbshell {
    adb shell start ssh
    adb forward tcp:2222 tcp:22
    ssh-keygen -f ~/.ssh/known_hosts -R [localhost]:2222
    ssh-copy-id -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
        phablet@localhost -p 2222 2>/dev/null
    scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
        -q -P 2222 -r ~/.bash* ~/.profile* phablet@localhost:/home/phablet
    ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
        phablet@localhost -p 2222
}
  • Ele lembra suas credenciais para que você não precise digitar sua senha todas as vezes

  • Copia sua configuração bash do host para o dispositivo para que você possa usar todos os seus alias favoritos (e a configuração do prompt personalizado!)

por robru 30.04.2014 / 00:22

Tags