Je personnalise un Live CD Ubuntu 14.04 avec UCK (Kit de personnalisation Ubuntu). Le programme vous donne un environnement chroot dans un terminal pour apporter des modifications.
Je veux ajouter et supprimer quels programmes apparaissent sur le dock.
Je ne sais pas si cela peut être accompli en modifiant le fichier .desktop
?
Comment cela peut-il être fait en utilisant le terminal?
Le script ci-dessous peut être utilisé pour ajouter ou supprimer des éléments dans le programme de lancement, en fonction du ou des arguments:
#!/usr/bin/env python3
import subprocess
import sys
desktopfile = sys.argv[1]
def current_launcher():
get_current = subprocess.check_output(["gsettings", "get", "com.canonical.Unity.Launcher", "favorites"]).decode("utf-8")
return eval(get_current)
def set_launcher(desktopfile):
curr_launcher = current_launcher()
last = [i for i, x in enumerate(curr_launcher) if x.startswith("application://")][-1]
new_icon = "application://"+desktopfile
if sys.argv[2] == "a":
if not new_icon in curr_launcher:
curr_launcher.insert(last, new_icon)
subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
Elif sys.argv[2] == "r":
curr_launcher.remove(new_icon)
subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
set_launcher(desktopfile)
set_launcher.py
Exécutez-le à l'aide de la commande:
python3 /path/to/set_launcher.py <name_of_.desktop_file> a
pour ajouter une icône, ou:
python3 /path/to/set_launcher.py <name_of_.desktop_file> r
supprimer une icône
Exemple:
python3 /path/to/set_launcher.py gedit.desktop a
ajouter gedit
au lanceur, ou
python3 /path/to/set_launcher.py gedit.desktop r
supprimer gedit
du lanceur
La liste des icônes du lanceur est définie dans la clé:
com.canonical.Unity.Launcher favorites
et peut être récupéré par la commande:
gsettings get com.canonical.Unity.Launcher favorites
to set une liste alternative (étant donné que vous utilisez le bon format):
gsettings set com.canonical.Unity.Launcher favorites "[item1, item2, etc]"
.desktop
?Non, cela n'a rien à voir avec le fichier lui-même. Ce qui compte, c’est que le fichier soit dans la liste des favoris du lanceur ou non.
La modification de cette liste à partir de la ligne de commande est exactement ce que fait le script.