如何将“显示桌面”添加到 GNOME dash 或 Ubuntu Dock?

如何将“显示桌面”添加到 GNOME dash 或 Ubuntu Dock?

我正在从 Unity 迁移到 GNOME。我缺少的一个项目是仪表板中的“显示桌面”按钮(又称“最小化所有窗口”)。我如何将此功能添加到 GNOME 仪表板(或 Ubuntu 17.10 及更高版本中的 Ubuntu dock),即使这意味着要制作一个自定义.desktop文件?

(我知道我可以使用Ctrl++SuperD 显示桌面的键盘快捷键我可以安装在顶部栏添加“显示桌面”按钮的扩展,但我特别想要一个仪表板上的按钮。)

答案1

我找到了一种方法来做到这一点:

  1. 打开终端并安装wmctrl

    sudo apt update
    sudo apt install wmctrl
    
  2. show-desktop.sh创建一个名为(我把它放在我的主文件夹中)的shell脚本

    gedit ~/show-desktop.sh
    

    把这段代码放在那里:

    #!/bin/bash
    status="$(wmctrl -m | grep "showing the desktop" | sed -r 's/(.*)(ON|OFF)/\2/g')"
    
    if [ $status == "ON" ]; then
        wmctrl -k off
    else
        wmctrl -k on
    fi
    

    ...并使其可执行:

    chmod +x ~/show-desktop.sh
    
  3. show-desktop.desktop在文件夹中创建一个名为的文件~/.local/share/applications/

    gedit ~/.local/share/applications/show-desktop.desktop
    

    将此文本添加到其中,然后保存文件(不要忘记更改值<your user>):

    [Desktop Entry]
    Type=Application
    Name=Show Desktop
    Icon=user-desktop
    Exec=/home/<your user>/show-desktop.sh
    
  4. Windows( Super) 键打开仪表板菜单,然后搜索您刚刚在上面创建的“显示桌面”条目。将其添加到您的收藏夹菜单。

答案2

更新:参见我的新答案和我的新说明在这里

尽管如此,您仍然可以在下面找到一些有用的信息。

2023 年 6 月 23 日更新:wmctrlxdotool

用于wmctrl@AndAC 在这里说,.wmctrl优于我的xdotool解决方案,因为它在 Wayland 窗口管理器中也能运行,而不仅仅是 X11。并且,wmctrl优于ydotool(在 Wayland 中也能运行),因为wmctrl不需要sudo守护进程,而ydotool需要一个必须使用 启动的后台守护进程sudo

我已经wmctrl在 X11 上的 Ubuntu 22.04.2 中测试了该解决方案Wayland 窗口管理器,它可以很好地显示和隐藏窗口/桌面!

查看我的 3 个测试文件eRCaGuy_hello_world回购这里:

  1. bash/show_desktop_with_wmctrl.sh
  2. bash/show_desktop_with_xdotool.sh
  3. bash/show_desktop_with_ydotool.sh

原始答案:

首先,要知道键盘快捷键Super(Windows 键) +DCtrl+ Alt+D将在显示/隐藏桌面之间切换。您可能已经习惯了这个键盘快捷键,并认为它比单击图标更好。不过,我们可以创建一个可点击的快捷方式,只需执行此键盘快捷键即可显示/隐藏桌面。

请注意,我建议使用选项 1 [我的首选] 或下面选项 2 中的一种方法,但不要同时使用选项 1 和选项 2,因为它们似乎以奇怪的方式发生冲突。例如:如果您设置了选项 1,然后设置了选项 2 之一,只需从选项 1 中删除“显示桌面”图标作为收藏夹,然后停止使用它。如果在安装选项 2 之一后单击选项 1 中的“显示桌面”图标,就会发生奇怪的事情。我认为这是因为xdotool(选项 1 使用)试图将消息发送到您的系统,就好像它们来自您的键盘一样,因此无论选项 2 方法如何工作,它们都会发生冲突,xdotool或者Super只是因为同时使用两个选项,您的键或鼠标键似乎就会“卡住”。 Super请注意,如果您手动将+D快捷方式与选项 2 方法一起使用,或者仅使用选项 1 方法而不使用选项 2 方法,则不会出现这种不寻常且有错误的行为。

我的建议是,每当您想使用键盘快捷键时,请结合使用下面的选项 1 方法和Super(Windows 键)+键盘快捷键。D

这最适合我。

选项 1(我个人最喜欢的):

已在 Ubuntu 14.04、16.04、18.04、20.04、22.04 中测试并运行,使用 X11 窗口管理器(而不是 Wayland)。

笔记:

  1. 我提到过 Wayland 中的其他错误这里
  2. 要制作一个将来可以在 Wayland 中使用的版本,您可以使用ydotool。我在这里写过相关内容(在 Wayland 中按 Windows + D)以及我的个人网站(ydotool教程:在 Linux 中自动按键(或鼠标移动)入门)。

要在 Ubuntu 20.04、22.04 等中使用 X11 窗口管理器:

  1. 退出 Ubuntu。

  2. 在登录屏幕上,单击您的用户名即可开始输入您的密码。

  3. 这将在右下角启用一个小齿轮图标,以选择您的窗口管理器。单击该图标以选择您的窗口管理器。选择非 Wayland选项!如果当前设置为 Wayland 选项,则将显示“Ubuntu”[在这种情况下表示 Wayland] 和“Ubuntu on Xorg”[表示 X11]。选择“Ubuntu on Xorg”选项。以下是屏幕截图:

    在此处输入图片描述

有关更多屏幕截图和最新信息,请参阅我的其他回答:Wayland 窗口管理器导致我的电脑停留在黑屏/空白屏幕且无法唤醒

现在您正在使用 X11 窗口管理器,以下操作将起作用:

致谢: 以下内容不是我想出来的,而是 Ubuntu 天才和博主 Ji m 想出来的,如下:http://ubuntuhandbook.org/index.php/2018/10/add-show-desktop-button-ubuntu-18-10-18-04/。我直接借用了他的材料(很多都是直接引用的):

  1. “打开终端(++ Ctrl)并安装 xdotool:”AltT

    sudo apt install xdotool
    
  2. “然后创建显示桌面快捷方式图标并通过命令进行编辑:”

    gedit ~/.local/share/applications/show-desktop.desktop
    

    “当文件打开时,粘贴以下行并保存。”

    [Desktop Entry]
    Type=Application
    Name=Show Desktop
    Icon=desktop
    Exec=xdotool key --clearmodifiers Super+d
    
  3. “最后在应用程序菜单中搜索‘显示桌面’,然后右键单击并选择‘添加到收藏夹’:”

    “就这样吧。尽情享受吧!”

    如下图所示,在我的桌面上:

    在此处输入图片描述

选项 2:

选项2.A:

单击“开始菜单”图标(9 个点图标)并输入“显示桌面”。等待几秒钟,搜索结果弹出,然后单击并安装其中一个 Gnome Shell 扩展。(请注意,这些搜索结果仅来自 Ubuntu 软件中心)。

在此处输入图片描述

有关 Gnome Shell 扩展的更多信息,请参阅我的其他回答:https://askubuntu.com/a/1089033/327339

例如:这是第一个: 在此处输入图片描述

单击“安装”按钮,它在我的桌面上如下所示:

在此处输入图片描述

选项 2.B:

这是另一个[以前是我个人最喜欢的,但后来我又切换回选项 1,因为它似乎运行最顺畅并且最一致]:

在此处输入图片描述

安装后的效果如下: 在此处输入图片描述

答案3

@AndAC 的答案很棒。我已点赞。我也有这里有一个较旧的答案

我添加了自己的show_desktop.sh脚本和show-desktop.desktop文件到我的eRCaGuy_dotfiles但是,今天我将介绍 repo,并想展示如何使用它们。因此,在我设置的任何新计算机上(我经常这样做),我现在是这样在计算机上设置“显示桌面”图标的:

如何从我的eRCaGuy_dotfiles回购

在 Ubuntu 22.04.2 上使用 Gnome 桌面进行了测试X11 和 Wayland 窗口管理器

# 1. Install dependencies
sudo apt update
sudo apt install git wmctrl

# 2. get the whole repo

# this is where we will put this repo; you can choose any path you want
INSTALL_DIR="$HOME/dev"
mkdir -p "$INSTALL_DIR"  
cd "$INSTALL_DIR"
git clone https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles.git
cd eRCaGuy_dotfiles

# 3. Install the `show_desktop` command

# Install `show_desktop` into ~/bin/
mkdir -p ~/bin
. ~./profile  # for a default Ubuntu install, this adds ~/bin to your PATH
# Create a symlink to the script and place it in ~/bin/
# - NB: you must be `cd`ed into the "eRCaGuy_dotfiles/" dir that you just cloned
#   before running this cmd.
ln -si "$(pwd)/useful_scripts/show_desktop.sh" ~/bin/show_desktop
# Optional: create a version with your initials prefixed too (mine are `gs_`)
ln -si "$(pwd)/useful_scripts/show_desktop.sh" ~/bin/gs_show_desktop

# test it; this should show your desktop
# - manually press Windows + D to show your open windows again
show_desktop

# 4. Install the show-desktop.desktop launcher file
# - NB: you must be `cd`ed into the "eRCaGuy_dotfiles/" dir that you just cloned
#   before running this cmd.
ln -si "$(pwd)/home/Desktop_launchers/show-desktop.desktop" ~/.local/share/applications/

注意:根据上述基于符号链接的说明,您无法删除 eRCaGuy_dotfiles 存储库。

现在,将“显示桌面”图标作为收藏夹添加到启动器:按下Windows键 --> 搜索“显示桌面” --> 右键单击​​它并选择“添加到收藏夹”。然后,在 Ubuntu 左侧栏的收藏夹图标中,将其拖到您想要的位置(我喜欢将它放在最顶部,作为从顶部开始的第一个图标)。

以下是我在 Ubuntu 22.04 上的样子。它是最顶部的图标:

在此处输入图片描述

就这样。尽情享受吧!只需单击图标即可切换显示/隐藏桌面,或按Windows( Super) +D执行相同操作。

相关内容