![Bash 脚本用于将桌面启动器添加/删除到 Unity 启动器?](https://linux22.com/image/1077993/Bash%20%E8%84%9A%E6%9C%AC%E7%94%A8%E4%BA%8E%E5%B0%86%E6%A1%8C%E9%9D%A2%E5%90%AF%E5%8A%A8%E5%99%A8%E6%B7%BB%E5%8A%A0%2F%E5%88%A0%E9%99%A4%E5%88%B0%20Unity%20%E5%90%AF%E5%8A%A8%E5%99%A8%EF%BC%9F.png)
我正在尝试编写一个脚本来在全新安装后设置我的桌面环境。有一件事我无法弄清楚,那就是如何通过 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