Ubuntu – How to make `adb shell` have the correct terminal size


So adb shell has an annoying bug where it doesn't realize that your graphical terminal app is larger than 80×24, so when you try to run any kind of full-screen console apps like vi or emacs (or any ncurses app), it does not take up the full screen, only a small portion of it. Is there a way to fix this easily?

Best Answer

  • UPDATE (Feb. 2015): By now, you can just use "phablet-shell". No need to fiddle around with self built scripts any more. That said, if you want to, they should still work.

    What I usually do is to use ssh instead of adb. That one configures the terminal properly (besides setting many other things up better than adb does).

    Put this into your ~/.bash_aliases (on the host computer, not the device)

    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'

    and close/reopen the terminal window.

    Now you can just do a "sd" (short for ssh device) and you'll be logged in as user phablet on the phone, with a properly configured terminal and a properly set up user environment.

  • Related Question