如何强制终端至少为特定大小?

Nic*_*las 8 gnome-terminal terminator

我想防止我的任何终结者终端小于 80x24。也就是说,我将无法将终端的大小调整为低于该大小,并且如果我尝试拆分一个太小的终端,则现有终端将缩小以适应,或者父终端和子终端将被移动到一个新窗口。

如果需要,我愿意更改终端程序,尽管像 Terminator 这样好的平铺解决方案更可取。

Jez*_*z W 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_CHARSMIN_HEIGHT_CHARS。编辑这些,这些是以字符表示的终端窗口的最小高度和宽度(即 aMIN_WIDTH_CHARS为 20 将意味着您不能再将窗口的宽度调整为低于 20 个字符宽度)

然后,在终端中键入 进行构建cd ~/Downloads/gnome-terminal-3.6.1。然后,运行 ./configure生成 makefile(如果它抱怨缺少任何软件包,请使用安装它们(例如,如果它说“找不到apt-get软件包”或类似的内容,请使用)。您也可以尝试安装和使用(这将尝试安装所有依赖项),但是当我尝试这个时,它并没有完全捕获所有内容(之后运行标准)这可能需要几次尝试,具体取决于缺少多少个包。foosudo apt-get install fooauto-aptsudo auto-apt run ./configure./configure

一旦生成了 makefile,只需键入make,然后键入sudo make install。这应该重建终端程序。关闭所有终端窗口,然后您启动的下一个终端窗口将遵循您在源中设置的最小大小(即不会将大小调整为低于您在其中定义的值)。