如何让“显示桌面”可供所有用户使用?

如何让“显示桌面”可供所有用户使用?

新安装的 Ubuntu 桌面 22.04。我试图让 Show Desktop 脚本可供所有用户使用,并在应用程序的左侧面板中显示图标。我已使用 wmctrl 将 shell 脚本 show-desktop.sh(权限为 644)和桌面文件 show-desktop.desktop(权限为 744)放在 /usr/share/applications 中。但是,我在“活动”或“应用程序中”找不到 Show Desktop。这是 show-desktop.desktop:

[Desktop Entry]

类型=应用程序名称=显示桌面 执行程序=/usr/share/applications/show-desktop.sh 图标=桌面

这是 show-desktop.sh:

#!/bin/bash

status="$(wmctrl -m | grep "显示桌面" | sed -r 's/(.*)(ON|OFF)/\2/g')"

如果 [ $status == "ON" ]; 则 wmctrl -k off 否则 wmctrl -k on fi

我究竟做错了什么?

答案1

.desktop仅当最少的必填字段有效时,启动器才会包含在概览中。在这种情况下,条目exec=无效:脚本的权限对其他人设置为“只读”。因此,对于非所有者的用户,该脚本不会被识别为有效的可执行文件。因此,使脚本可由“其他人”执行。

答案2

现在开始工作。这是我的 ShowDesktop.desktop 文件(权限为 644),位于 /usr/share/applications/ 中:[Desktop Entry] Version=1.0 Type=Application Terminal=false Exec=/usr/bin/ShowDesktop.sh Name=Show Desktop Comment=Show Desktop Icon=/usr/share/pixmaps/ShowDesktop.jpeg

这是我在 /usr/bin/ 中的 ShowDesktop.sh 文件(权限为 755):#!/bin/bash

status="$(wmctrl -m | grep "显示桌面" | sed -r 's/(.*)(ON|OFF)/\2/g')"

如果 [ $status == "ON" ]; 则 wmctrl -k off 否则 wmctrl -k on fi

我的图标 ShowDesktop.jpeg(权限为 644)位于 /usr/share/pixmaps/

我在 ShowDesktop.desktop 文件中用于 Exec 和 Icon 行的目录(/usr/bin/、/usr/share/pixmaps)是从以前的 AskUbuntu 答案中挑选出来的: 自定义脚本的标准位置 桌面文件中的图标路径

相关内容