Как изменить размер терминала пользователя Ubuntu

Изменить размер терминала BASH скриптом бывает нужно для того чтобы Desktop приложение правильно отрабатывало и отображалось на экране пользователя. Задать необходимый размер можно в качестве условия продолжения программы.


Изменить размер терминала bash

Сделать это можно следующей командой:

resize -s 20 80

Параметры задаются в количестве строк и столбцов. Первое значение относится к высоте терминала, второе к его ширине.


resize -s будет гарантировано корректно работать на рабочих станциях, использующих графическую оболочку GNOME. При использовании других сред рабочего стола положительный результат не гарантирован.

 

Варьируя значения параметров можно изменять размер терминала в режиме реального времени.

Изменить размер терминала bash

При выполнении команды определяется значение переменных, затем они экспортируются.



Если на рабочей станции пользователя используется какая-либо другая среда рабочего стола — можно обойтись без использования resize -s, а непосредственно передавать необходимые значения переменных, затем экспортируя их.

Код скрипта при этом становится несколько объемнее, однако никаких трудностей при его написании также возникнуть не должно.


 

Как в BASH узнать текущий размер терминала

В системе хранится ряд определенных переменных, посмотреть их все можно введя в консоли символ $


Среди них будут переменные

$COLUMNS
$LINES


Именно в них задаются значения ширины и высоты окна терминала, и именно значения этих переменных переопределяются командой resize -s.

Значения параметров можно вывести следующим образом

echo $COLUMNS

echo $LINES

или

echo $COLUMNS X $LINES

Размер рядов и колонок неодинаков, поэтому ввод одинаковых численных значений квадратного терминала не даст.


Использоваться данные переменные могут в выражениях if; then в скриптах в тех случаях когда важно получить размер терминала, не меньше определенного размера для того чтобы информация отображалась корректно.


Рационально установить минимальный размер терминала пользователя при котором информация отображается корректно в качестве необходимого условия выполнения программы, в противном случае можно либо принудительно изменять размер терминала либо выдавать предупреждение и рекомендацию сделать это самостоятельно.

Основное применение изменения размера терминала — пользовательские интерфейсы, любой из них представляет собой скрипт и определенный алгоритм, и используется функции и операторы (такие как case).

Запись опубликована автором в рубрике Bash.