Guake
Guake 是一个 GNOME 的下拉式终端(风格类似于 KDE 的 Yakuake,Tilda 或 Quake 中使用的终端)。
安装
使用
安装完成后,您可以使用以下命令从终端启动 Guake
$ guake
Guake 启动后,您可以右键单击界面并选择首选项来更改自动下拉终端的热键,默认设置为 F12
。
自动启动
您可能希望 Guake 在启动桌面环境时加载。为此,您需要
# cp /usr/share/applications/guake.desktop /etc/xdg/autostart/
有关更多信息,请参阅 自动启动。
Guake 脚本
与 Yakuake 类似,Guake 允许通过发送 D-Bus 消息在运行时控制自身。因此,它可以用于在用户定义的会话中启动 Guake。您可以创建选项卡,为它们分配名称,并要求在任何打开的选项卡中运行任何特定命令,或者手动在终端中或通过为其创建自定义脚本来显示/隐藏 Guake 窗口。
本节下方给出了此类脚本的示例。
您可以使用 guake 可执行文件本身来发送 D-Bus 消息。以下是您可能感兴趣的可用选项列表
-t
,--toggle-visibility
— 切换终端窗口的可见性。实际上,您只需键入guake
,它将切换已运行实例的可见性。-f
,--fullscreen
— 将 Guake 置于全屏模式。--show
— 显示 Guake 主窗口。--hide
— 隐藏 Guake 主窗口。-n CUR_DIR
,--new-tab=CUR_DIR
— 创建新选项卡并选择它。CUR_DIR
的值用于设置选项卡的当前目录(如果指定)。-s INDEX
,--select-tab=INDEX
— 选择索引为INDEX
的选项卡。选项卡索引从 0 开始。-g
,--selected-tab
— 打印当前选定选项卡的索引。-e CMD
,--execute-command=CMD
— 在选定的选项卡中执行任意命令CMD
。-i INDEX
,--tab-index=INDEX
— 与--rename-tab
一起使用,以指定要重命名的选项卡的索引INDEX
。默认值为 0。--rename-tab=TITLE
— 将选项卡名称设置为TITLE
。您可以通过传递单个破折号 ("-"
) 将选项卡标题重置为默认值。使用-i
选项指定要重命名的选项卡。--bgcolor=RGB
— 设置选定选项卡的十六进制 (#rrggbb
) 背景颜色RGB
。--fgcolor=RGB
— 设置选定选项卡的十六进制 (#rrggbb
) 前景颜色RGB
。-r TITLE
,--rename-current-tab=TITLE
— 与--rename-tab
相同,但重命名当前选定的选项卡。-q
,--quit
— 关闭正在运行的 Guake 实例。
多个选项可以在单个调用中组合使用。如果没有 Guake 实例正在运行,则所有指定的选项都将应用于新创建的实例。
要显示所有可用选项的列表,请键入 guake --help
。
以下是启动 guake 并应用这些脚本的 2 种方法
- 将以下示例复制到类似
guake-init.sh
的文件中,使其可执行并运行该文件而不是 guake - 右键单击
Guake Terminal > 首选项 > 钩子
,并在“启动时:”字段中添加guake-init.sh
脚本的路径,同时确保注释掉下面脚本中的/usr/bin/guake &
和sleep 5
如果您希望脚本在 guake 以何种方式启动的情况下都运行,并且您仍然可以使用 guake --no-startup-script
指示 guake 不运行脚本,则第二种选择更可取。
示例
#!/bin/sh /usr/bin/guake & sleep 5 # let main guake process start and initialize D-Bus session # adjust tab which was opened by default guake --rename-tab="iotop" --execute="/usr/bin/iotop" # create new tab, start bash session in it guake --new-tab --execute="/usr/bin/bash" # and then execute htop, renaming the tab to "htop" guake --execute="/usr/bin/htop" --rename-current-tab="htop" # ... guake --new-tab --execute="/usr/bin/bash" guake --execute="/usr/bin/atop" --rename-current-tab="atop" guake --new-tab --execute="/usr/bin/bash" guake --execute="~/.iptables.sh" --rename-current-tab="iptables -nvL" guake --new-tab --execute="/usr/bin/bash" guake --execute="/usr/bin/journalctl --follow --full" --rename-current-tab="journalctl" guake --new-tab --execute="/usr/bin/bash" guake --execute="/usr/bin/irssi" --rename-current-tab="irssi" guake --new-tab --execute="/usr/bin/bash" guake --execute="/usr/bin/sudo -i" --rename-current-tab="rootshell0" guake --new-tab --execute="/usr/bin/bash" guake --execute="/usr/bin/sudo -i" --rename-current-tab="rootshell1" guake --new-tab --execute="/usr/bin/bash" guake --rename-current-tab="shell0" guake --new-tab --execute="/usr/bin/bash" guake --rename-current-tab="shell1"
请注意,我们应该等待一段时间调用 sleep 以避免运行实例之间的竞争条件。
故障排除
窗口管理器中的浮动模式
Guake 可能无法在某些窗口管理器中以浮动模式打开。这可以通过使用 Guake 的窗口类字符串("guake"
或 "Guake"
,根据 xprop WM_CLASS
)来解决。例如,有关 i3,请参阅 i3#正确处理浮动对话框 中的“WM_CLASS”。
切换 Guake 可见性不起作用 (Wayland)
如果您正在使用 Wayland,则 Guake 可见性切换热键可能在某些应用程序下不起作用。这是因为 Guake 使用为 X 环境制作的全局热键库,并且 Wayland 没有等效的全局热键接口。许多应用程序(例如 Firefox)通过 Xwayland 在 Wayland 上运行,Guake 切换将在其中工作,但其他本地运行 Wayland 的应用程序(例如 GNOME 应用程序)禁用 Guake 切换功能。
如果您不想切换到 X 环境,一个简单的解决方法是使用您的窗口管理器/桌面环境为命令 guake-toggle
配置快捷方式。
有关更多详细信息,请参阅 github 问题。
Guake 在 Wayland 上模糊
如果您正在使用具有分数缩放的 Wayland 桌面环境,guake 可能会模糊。如果是这种情况,则可能是因为您的桌面环境正在为您放大 guake。Guake 不遵守 GDK_BACKEND
环境变量。相反,要使 guake 使用 Wayland,请设置 GUAKE_ENABLE_WAYLAND=1
环境变量。