Bash 脚本用于将桌面启动器添加/删除到 Unity 启动器?

Bash 脚本用于将桌面启动器添加/删除到 Unity 启动器?

我正在尝试编写一个脚本来在全新安装后设置我的桌面环境。有一件事我无法弄清楚,那就是如何通过 bash 脚本将项目固定/取消固定到 Unity Launcher。有什么想法吗?

答案1

使用 gsettings:

gsettings get com.canonical.Unity.Launcher favorites

为您提供启动器上内容的列表:

['nautilus-home.desktop', '/opt/google/chrome/google-chrome.desktop', 'apps.desktop', 'geany.desktop', 'libreoffice-startcenter.desktop', 'gnome-terminal.desktop', 'gcalctool.desktop', 'Science.desktop', 'gimp.desktop', 'inkscape.desktop', 'ubuntu-software-center.desktop', 'alarm-clock-applet.desktop']

因此你可以在 bash 中做这样的事情:

#!/bin/bash
myfile='firefox.desktop'
list=`gsettings get com.canonical.Unity.Launcher favorites`
newlist=`echo $list | sed s/]/", '${myfile}']"/`
gsettings set com.canonical.Unity.Launcher favorites "$newlist"

我测试过,它可以将 Firefox 添加到启动器,但是图标不会立即显示。您必须注销/登录或执行命令unity --replace

答案2

运行以下命令:

xdg-desktop-menu install --novendor /path/to/app-name.desktop

app-name.desktop文件看起来应该是这样的:

[Desktop Entry]
Name=App Name
Comment=A description of the app
Exec=/path/to/app
TryExec=/path/to/app
Icon=/path/to/app-icon.ico
StartupNotify=false
Terminal=false
Type=Application
Categories=App-Category

相关内容