Bash скрипт для добавления / удаления настольных пусковых установок в Unity launcher?

Я пытаюсь написать скрипт для настройки моего рабочего стола после новой установки. Одна вещь, которую я не могу понять, - это как прикреплять / откреплять элементы к Unity Launcher из скрипта bash. Есть идеи?

2 ответа

Решение

Используйте 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 команда.

Запустите следующую команду:

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
Другие вопросы по тегам