You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04.4 LTS(X11)下指定显示器禁用GUI并固定显示终端及快捷键切换需求

Ubuntu 22.04.4 LTS(X11)下指定显示器禁用GUI并固定显示终端及快捷键切换需求

我完全懂你的需求——专门留一个显示器放终端,开机就就位,还能一键切换过去,这种固定用途的配置确实能提升效率,不用每次手动折腾。下面给你一套适配Ubuntu 22.04 GNOME桌面(X11)的可行方案:

1. 先确定目标显示器的标识符

首先得搞清楚你要指定的显示器系统识别名,打开终端运行:

xrandr

输出里会列出所有连接的显示器,比如HDMI-1DP-2这类,把你要用来放终端的那个名称记下来,后面全程要用。

2. 让终端自动在目标显示器全屏启动

我们可以给默认的GNOME终端加启动参数,让它一打开就跑到指定显示器并全屏。假设你的目标显示器是HDMI-1,先通过xrandr看它的左上角坐标(比如主显示器是1920x1080,那HDMI-1的起始坐标可能是1920 0),用下面的命令启动终端:

gnome-terminal --full-screen --geometry=0x0+1920+0

这里的+1920+0是目标显示器的左上角坐标,你可以根据自己的实际情况调整数值。

如果觉得手动记坐标麻烦,也可以用wmctrl自动定位窗口。先安装工具:

sudo apt install wmctrl

然后写个简单的启动脚本(比如命名为start-terminal-on-monitor.sh):

#!/bin/bash
# 启动终端
gnome-terminal &
sleep 1
# 将终端移到目标显示器并全屏
wmctrl -r "Terminal" -e 0,-1,-1,-1,-1
wmctrl -r "Terminal" -b add,fullscreen

给脚本加可执行权限:

chmod +x start-terminal-on-monitor.sh

运行这个脚本,终端就会自动全屏到你指定的显示器了。

3. 禁用目标显示器的GUI桌面元素

默认GNOME会在所有扩展显示器上显示任务栏、桌面图标,我们要把这些去掉,让终端独占屏幕:

  • 先装GNOME扩展管理工具(没装的话):
    sudo apt install gnome-shell-extension-prefs
    
  • 打开扩展设置,找到「Dash to Dock」(默认任务栏扩展),进入「Multi-monitor」选项,关掉「Show on all monitors」,指定只在主显示器显示任务栏。
  • 对于桌面图标,打开GNOME Tweaks(没装的话sudo apt install gnome-tweaks),在「Desktop」选项里,把「Icons on desktop」设为只在主显示器显示,或者直接关闭目标显示器的桌面图标支持。

也可以用命令直接设置工作区只在主显示器:

gsettings set org.gnome.mutter workspaces-only-on-primary true

这样目标显示器就不会有工作区切换的干扰,终端可以一直独占。

4. 设置Ctrl+Alt+8快捷键切换到终端

给切换终端的操作加个自定义快捷键:

  1. 打开系统设置 → 键盘 → 快捷键 → 自定义快捷键。
  2. 点击「+」,名称填「切换到终端显示器」,命令填:
    wmctrl -a "Terminal"
    
    (如果你的终端窗口标题不是「Terminal」,可以用wmctrl -l查看窗口标题,替换成对应名称)
  3. 点击「设置快捷键」,按下Ctrl+Alt+8确认,以后按这个组合键就能立刻切换到目标显示器的终端。

5. 设置终端开机自启

让这套配置开机就生效,把启动脚本加入开机启动项:

  1. 打开系统设置 → 应用 → 启动应用。
  2. 点击「+」,名称填「启动终端到指定显示器」,命令填你的脚本完整路径(比如/home/你的用户名/start-terminal-on-monitor.sh),点击「添加」。
  3. 重启电脑后,终端就会自动在目标显示器全屏启动,且没有多余GUI元素干扰。

小提示

  • 怕终端不小心被关闭?可以在终端设置(编辑 → 首选项)里,把「关闭窗口时」设为「提示确认」,避免误操作。
  • 要是觉得GNOME终端不够灵活,也可以换成xfce4-terminal,它的全屏和窗口定位参数更直观,安装命令:sudo apt install xfce4-terminal

备注:内容来源于stack exchange,提问作者Jacob Gonzales

火山引擎 最新活动