Как я могу заставить терминалы быть хотя бы определенного размера?

8

Я хотел бы, чтобы любой из моих терминальных терминалов был меньше 80x24. Таким образом, я не смог бы изменить размер терминала ниже этого размера, и если бы я попытался разделить терминал, который был бы слишком маленьким, либо существующие терминалы были бы сжаты, чтобы соответствовать, или родительский и дочерний терминалы были бы перемещены в новое окно.

Я готов поменять терминальные программы, если это необходимо, хотя предпочтительнее хорошее решение для работы с тайлами, например, Terminator.

Николас
источник

Ответы:

4

Чтобы выполнить то, что вы хотите, вам нужно отредактировать исходный код gnome-terminalи перестроить его самостоятельно, так как минимальный размер окна жестко запрограммирован в терминальном приложении. Для этого выполните следующие действия.

Сначала перейдите на https://launchpad.net/ubuntu/+source/gnome-terminal/3.6.1-0ubuntu4 и загрузите исходные файлы (файл gnome-terminal_3.6.1.orig.tar.xz). Загрузите это в свою ~/Downloadsпапку.

Затем откройте терминал и введите следующие команды:

cd ~/Downloads

tar -xJf gnome-terminal_3.6.1.orig.tar.xz

Это позволит извлечь источник. Теперь откройте ваш любимый текстовый редактор и отредактируйте файл ~/Downloads/gnome-terminal-3.6.1/src/terminal-window.c. Перейдите к строке 3107, где вы найдете переменные MIN_WIDTH_CHARSи MIN_HEIGHT_CHARS. Отредактируйте их, это минимальная высота и ширина вашего окна терминала, выраженная в символах (то есть, значение MIN_WIDTH_CHARS20 будет означать, что вы больше не сможете изменять ширину окна до размеров ниже 20 символов)

Затем, чтобы построить, в терминале типа cd ~/Downloads/gnome-terminal-3.6.1. Затем запустите, ./configureчтобы сгенерировать make-файл (если он жалуется на отсутствующие пакеты, установите их, используя apt-get(например, если он говорит «пакет fooне найден» или аналогичный, используйте sudo apt-get install foo). Вы также можете попробовать установить auto-aptи использовать sudo auto-apt run ./configure(это попытается установить все зависимости). ), но когда я попробовал это, он не совсем все поймал (запустите стандарт ./configureпотом) Это может занять несколько попыток, в зависимости от того, сколько пакетов отсутствует.

После того, как он сгенерировал make-файлы, просто введите make, а затем sudo make install. Это должно восстановить программу терминала. Закройте все окна терминала, и затем следующее, которое вы запустите, будет соответствовать минимальному размеру, который вы установили в источнике (т.е. не изменит размер ниже значений, которые вы там указали).

Jez W
источник
Еще более полным методом было бы сделать именно так, как вы заявили, но пройти дополнительный шаг пользователя, создавая свой собственный PPA, чтобы создать .deb, который он может поддерживать и / или заблокировать, чтобы не вызывать проблем. при обновлении остальной системы. Таким образом, менеджер пакетов по-прежнему управляет пакетами, но пользователь сохраняет контроль только над одним из них в своем PPA без ущерба для предполагаемой функциональности менеджера пакетов. Упоминание настолько, насколько я думаю, укрепит вашу уверенность в ответе «перейти к».
дартлукан
@darthlukan Интересный момент. На самом деле я не думал об этом (возможно, мне следовало бы пройти через это сам, чтобы проверить это), и на самом деле я не уверен, как можно поступить так / применить любые обновления пакетов, сохраняя их изменения нетронутыми ... Я также только что заметил, что вопрос относится именно к Терминатору, тогда как это решение предназначено для gnome-терминала, так что ...
Jez W
Независимо от того, является ли он терминалом gnome или Terminator (фактически, Terminator отображает несколько терминалов gnome, а терминал gnome является зависимостью от терминатора), ваше решение по-прежнему остается правильным. Пользователь может сделать почти то же самое в Terminator, ему просто нужно обратить внимание на имена переменных, которые могут отличаться, и имена файлов могут отличаться, но все шаги одинаковы (основной контент). Когда вы создаете пользовательский пакет .deb и присоединяете PPA к Apt, ваш пакет будет переопределен, пока вы заблокируете версию.
Дартлукан
4
  1. Нажмите супер-клавишу, чтобы открыть поисковый объектив и найдите: главное меню
  2. После запуска приложения « Главное меню » выберите « Аксессуары » в левом меню, а затем выберите « Терминал » во втором меню.
  3. После выбора параметров « Терминал » нажмите кнопку « Свойства » справа. Откроется новое окно со свойствами терминала запуска.
  4. Перейдите к записи « Команда » и добавьте ее в конец записи:

    --geometry=132x24
    

    Готовая запись должна быть:

    gnome-terminal --geometry=132x24
    

Вот и все. Закройте окна и при следующем запуске терминала размер окна изменится. Возможно, вам придется выйти и снова войти в систему, чтобы работать должным образом.

(132х24 - это просто пример, вы можете использовать любое разрешение)

Кристиан
источник
2
Это влияет только на начальную геометрию, оно не препятствует изменению размера терминала ниже заданного размера.
Николай
2

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

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

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

Если вы работаете в более старой версии Ubuntu, в окне правой кнопки мыши -> свойства на первой вкладке есть два поля, в которых вы можете редактировать строки и столбцы терминала.

В противном случае вы можете использовать команду ввода, указанную в ответе один.

--geometry=132x24
cossacksman
источник
Это также влияет только на исходную геометрию.
Николай
1

Небольшая хитрость о размере по умолчанию была темой здесь . Там пользователь viscount решил эту проблему, создав сценарий и поместив его в / usr / bin / gnome-терминал следующим образом (я предполагаю, что вы используете gnome в качестве оконного менеджера):

#!/bin/sh
gnome-terminal --geometry=132x24

Вы также можете щелкнуть правой кнопкой мыши значок gnome-терминала на панели задач, выбрать свойства, а затем изменить команду на другую команду, например:

gnome-terminal --working-directory=%f --geometry=132x24

Таким образом, у вас есть свой собственный размер по умолчанию.

dschinn1001
источник