все-таки ncurces, избегал я его, но похоже придется познавать, спасибо!
Вы просто не понимаете сути терминала. Это тяжелое наследие прошлого.
Есть сотни типов терминалов, каждый из них, имел свой протокол обмена.
curces (ncurses) , используя данные termcap/terminfo, умеет работать с громадным количеством терминалов.
Посмотрите /usr/share/terminfo

Терминалы имеют свои ESC последовательности для различных комманд ввода-вывода, и именно curces,
позволят вам абстрагироваться от конкретного терминала.
Например -
Работая в X windows вы работаете в xterm
Подключаясь удалённо, вы (например) будете работать в vt100 или Linux
Гдетто таак (с эстонским акцентом)
