web-dev-qa-db-fra.com

Script Bash pour ajouter / supprimer des lanceurs de bureau au lanceur Unity?

J'essaie d'écrire un script pour configurer mon environnement de bureau après une nouvelle installation. Une chose que je ne comprends pas, c'est comment épingler/désépingler des éléments dans Unity Launcher à partir d'un script bash. Des idées?

5
HDave

Utilisez gsettings:

gsettings get com.canonical.Unity.Launcher favorites

Vous donne une liste de ce qui est sur le lanceur:

['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']

afin que vous puissiez faire quelque chose comme ça en 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"

J'ai testé et cela fonctionne pour ajouter firefox au lanceur, mais l'icône ne s'affiche pas immédiatement. Vous devrez vous déconnecter/entrer ou faire une commande unity --replace.

8
Ian B.

Exécutez la commande suivante:

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

Le fichier app-name.desktop ressemblerait à ceci:

[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
1
SirCharlo