方法 1 - 重新映射 gnome dock 快捷方式

方法 1 - 重新映射 gnome dock 快捷方式

我想知道或者是否可以这样设置 GNOME 终端,当我打开终端并且已经有一个实例打开时它会显示该实例而不是打开一个全新的实例。

答案1

我使用 wmctrl 编写了一个简单的 shell 脚本来获得终端焦点。它完全符合我的要求。

首先,安装 wmctrl sudo apt-get install wmctrl

接下来,启动文本编辑器,复制以下行。

#!/bin/sh
SERVICE='gnome-terminal'

if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
  wmctrl -xa $SERVICE
else
  $SERVICE
fi

将文件保存到您通常保存 shell 脚本的地方。就我而言,我这样做了: ~/bin/single_instance.sh

cd 到目录 ( cd ~/bin) 并使文件可执行chmod +x single_instance.sh

现在,打开主菜单选择配件 » 终端特性并用脚本替换命令:~/bin/single_instance.sh

打开系统设置 » 键盘 » 快捷键. 禁用发射终端通过给它一个退格键来设置快捷方式。创建自定义快捷方式。再次填写脚本的路径和名称,并给它组合键Ctrl + Alt + T

您已完成,单实例终端......

答案2

添加- 标签到启动器命令。然后您最终只会有一个应用程序。打开。

~$ gnome-terminal --help-all
:
--tab       Open a new tab in the last-opened window with the default profile

答案3

方法 1 - 重新映射 gnome dock 快捷方式

  1. 将 gnome-terminal 添加到 dock(favortie),我将其移动到第三个应用程序,请更改数字3在下面的文章中您所使用的号码。
  2. 禁用终端快捷方式设置/键盘/键盘快捷键
  3. 重置启动 Dock 应用程序的快捷方式gsettings set org.gnome.shell.keybindings switch-to-application-3 "['<Ctrl><Alt>T']"

方法 2(仅限 Xorg)- 重置 gnome 默认终端

  1. 在以下位置创建脚本~/bin/single_gnome_terminal.sh
#!/bin/sh
SERVICE='gnome-terminal'

if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
  wmctrl -xa $SERVICE
else
  $SERVICE
fi
  1. 启用执行权限
chmod +x ~/bin/single_gnome_terminal.sh`
  1. 安装wmctrl
sudo apt-get install wmctrl
  1. 更改默认终端
gsettings set org.gnome.desktop.default-applications.terminal exec single_gnome_terminal.sh

参考:

  1. https://askubuntu.com/a/1194659
  2. https://askubuntu.com/a/87109
  3. https://unix.stackexchange.com/a/510376

答案4

我稍微概括并简化了 @Mood 的脚本。现在它接受命令行参数并使用 pgrep。

sudo apt-get install procps

剧本:

#!/usr/bin/env bash

if pgrep $1
then
    wmctrl -xa $1
else
    $1
fi

相关内容