商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Ubuntu如何设置具体的终端窗口默认位置大小

Ubuntu如何设置具体的终端窗口默认位置大小

  发布于2026-08-19 阅读(0)

扫一扫,手机访问

gnome-terminal的--geometry参数必须放在所有--window/--tab选项之前才会生效,其格式是--geometry=COLSxROWS+X+Y(列×行+像素偏移),就像--geometry=80x24+100+50这样。但要注意,在Wayland环境下该参数是无效的,只有切换到X11会话才能精确定位。

Ubuntu如何设置具体的终端窗口默认位置大小

gnome-terminal --geometry 参数怎么写才生效

在命令行中直接输入 gnome-terminal --geometry=80x24+100+50 就能打开一个终端,其宽度为80列,高度为24行,左上角位于屏幕的X=100、Y=50像素处。不过需要注意的是:该参数必须放在其他所有选项(例如 --tab--window)之前,否则会被忽略。

常见错误是把 --geometry 放在 --tab 后面,结果窗口还是按默认大小弹出。另外,ROWSxCOLS+X+Y 里的 ROWS 是行数(高度),COLS 是列数(宽度)——和直觉相反,容易写反。

  • 80x24 表示 80 列 × 24 行(不是像素)
  • +100+50 是相对于屏幕左上角的偏移,单位是像素
  • 如果只写 80x24,窗口会居中;加了 +X+Y 才固定位置
  • 负值(如 +0-20)会让窗口上移出任务栏,慎用

如何获取当前终端的实际 geometry 值

手动调好一个终端窗口后,运行 xwininfo,鼠标变成十字,点一下该窗口,输出末尾会出现类似 -geometry 120x30+200+100 的行——这就是你要的值。别抄错符号,xwininfo 输出的是带减号的格式(-geometry),而 gnome-terminal 要求的是等号格式(--geometry=),所以得把 -geometry 换成 --geometry=,其余照搬。

如果你用的是 Wayland(Ubuntu 22.04+ 默认),xwininfo 会失效,此时只能靠估算或改用 --maximize 这类确定性更强的参数。

  • Wayland 下 xwininfowmctrlxdotool 基本不可用
  • GNOME on Wayland 不支持 --geometry 精确定位,只支持 --maximize--full-screen
  • 若必须精确定位,得切回 X11 会话(登录界面右下角选 “Ubuntu on Xorg”)

让每次启动都用自定义 geometry 的三种方法

最可靠的是改快捷方式或桌面启动器,而不是动系统配置文件。GNOME 已弃用 gconf-editor 和旧版 dconf 键路径,硬改 /desktop/gnome/applications/terminal/exec 在新版里无效。

  • 新建一个 .desktop 文件(比如 ~/.local/share/applications/my-terminal.desktop),内容包含 Exec=gnome-terminal --geometry=120x30+100+50
  • sudo update-desktop-database 刷新后,在应用菜单里就能看到新入口
  • 或者绑定快捷键:在“设置 > 键盘 > 快捷键”里新增命令,填 gnome-terminal --geometry=120x30+100+50
  • 不推荐改 /usr/share/applications/org.gnome.Terminal.desktop,升级时会被覆盖

为什么改了 termcap 里的 co/li 没效果

修改 /usr/share/vte/termcap/xterm 中的 :co#80:li#24: 只影响 VTE 组件内部的字符缓冲区尺寸,不控制窗口像素大小或位置。它决定的是“终端能显示多少字符”,不是“窗口有多大”。所以你改了之后,窗口本身还是小的,只是里面文字换行逻辑变了——容易误以为没生效。

真正影响视觉尺寸的,只有 --geometry--maximize、GUI 设置里的“行/列数”,以及桌面环境对窗口管理器的约束。

  • co(columns)和 li(lines)是 terminfo 数据库字段,被 ncurses 等库读取
  • 现代 GNOME Terminal 优先遵循 GUI 设置或命令行参数,几乎忽略 termcap 里的 co/li
  • 除非你在跑纯文本 tty(Ctrl+Alt+F1~F6),否则 termcap 修改基本无感
实际操作中最容易卡住的点,其实是 Wayland 和 X11 的底层差异——同一个命令,在不同会话下行为完全不同,连错误提示都没有。先确认自己用的是哪种会话,比反复试参数更重要。
本文转载于:https://www.php.cn/faq/3013874.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注