如何强制端子至少达到一定尺寸?


8

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

我愿意根据需要更改终端程序,尽管最好使用像Terminator's这样的好平铺解决方案。

Answers:


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。编辑这些,这些是您的终端窗口的最小高度和宽度,以字符表示(即MIN_WIDTH_CHARS20的a 表示您不能再将窗口的宽度调整为20个字符以下的宽度)

然后,在终端类型中进行构建cd ~/Downloads/gnome-terminal-3.6.1。然后,运行 ./configure生成makefile(如果它抱怨缺少任何软件包,请使用进行安装apt-get(例如,如果显示“ foo未找到软件包”或类似内容,请使用sudo apt-get install foo)。您也可以尝试安装auto-apt和使用sudo auto-apt run ./configure(这将尝试安装所有依赖项) ),但是当我尝试执行此操作时,并不能完全捕获所有内容(./configure此后以标准方式运行),这可能需要尝试几次,具体取决于丢失了多少个软件包。

生成makefile后,只需键入make,然后输入即可sudo make install。这应该重建终端程序。关闭所有终端窗口,然后开始的下一个窗口将遵循您在源代码中设置的最小大小(即,不会将大小调整到您在其中定义的值以下)。


甚至更完整的方法将是完全按照您所说的做,但是要执行用户创建自己的PPA的附加步骤,以便构建一个他们可以维护和/或锁定以免引起问题的.deb。升级系统的其余部分时。这样,程序包管理器仍在管理程序包,但是用户可以在其PPA中保持对程序包的控制,而不会损害程序包管理器的预期功能。(我认为)尽可能多地提及将巩固您的“去”答案。
darthlukan

@darthlukan有趣的一点。我实际上并没有想到这一点(也许我应该在自己进行此测试之前就应该考虑),实际上我不确定该如何做/应用任何软件包更新同时保持其更改完好无损...我也刚刚注意到,这个问题专门针对终结者,而该解决方案是针对gnome-terminal的,所以……
Jez W 2013年

无论是gnome-terminal还是Terminator(实际上,Terminator都会显示多个gnome-terminals,而gnome-terminal是Terminator的依赖项),您的解决方案仍然是正确的。用户可以在Terminator中做很多相同的事情,他们只需要注意变量名可能不同且文件名不同,但是步骤都是相同的(主要内容)。创建自定义.deb软件包并将PPA附加到Apt时,只要锁定版本,该软件包就会被覆盖。
darthlukan

4
  1. 按超级键打开搜索镜头,然后寻找:主菜单
  2. 运行“ 主菜单 ”应用程序后,在左侧菜单上选择“ 附件 ”,然后在第二个菜单上选择“ 终端 ”。
  3. 选择“ 终端 ”选项后,按右侧的“ 属性 ”按钮。将打开一个新窗口,其中包含终端启动器属性。
  4. 转到“ 命令 ”条目,并将其添加到条目的末尾:

    --geometry=132x24
    

    完成的条目应为:

    gnome-terminal --geometry=132x24
    

而已。关闭窗口,下次启动终端时,将调整窗口大小。您可能必须注销并重新登录才能正常工作。

(132x24只是一个示例,您可以使用所需的任何分辨率)


2
这只会影响起始几何体,不会阻止将终端尺寸调整为低于给定尺寸。
尼古拉斯

2

好吧,据我所知,终端窗口的分辨率是基于字符的比例的...因此,如果更改字体的大小,终端窗口将调整大小以适合字体的比例。该字体...

起初听起来有点傻,但是考虑到终端仅显示文本字符,这是有道理的,如果窗口的大小是像素大小,那么当窗口的大小不完全精确时,您通常会浪费空间匹配角色边界...


那比愚蠢更糟糕,而且程序员为什么这么做毫无疑问。令人费解的头部清障车
Carni 18'Sep

1

如果您使用的是Ubuntu的旧版本,请右键单击->属性窗口,第一个选项卡具有两个字段,您可以在其中编辑终端的行和列。

否则,您可以使用答案一中提到的命令输入。

--geometry=132x24

这也仅影响初始几何形状。
尼古拉斯

1

关于默认大小的小技巧是这里的主题。在那里,用户viscount通过创建脚本来解决它,并将其放置在/ usr / bin / gnome-terminal中,如下所示(我假设您将gnome用作窗口管理器):

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

您还可以右键单击任务栏上的gnome-terminal图标,选择属性,然后在此处将命令更改为其他命令,例如:

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

这样,您就可以拥有自己定义的默认大小。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.