GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Automatiser la commande d'icônes du lanceur Unity ?

J'ai écrit un script d'installation qui automatise mon processus d'installation. Ensuite, je voudrais qu'il réorganise/ajoute/supprime les icônes du lanceur d'unité.

Utilisation de dconf watch / Je peux voir la sortie lorsque je réorganise les icônes. Existe-t-il un moyen de le faire en ligne de commande - éventuellement avec gsettings ?

Réponse acceptée :

Présentation

Le script simple ci-dessous permet de prendre un fichier comme argument et de configurer le lanceur pour que tous les raccourcis vers les programmes apparaissent dans le fichier (un par ligne).

L'idée de base est que les icônes du lanceur sont en fait des liens vers .desktop fichiers (où qu'ils apparaissent), et la méthode canonique pour définir les éléments du lanceur consiste à exécuter la commande suivante :

gsettings set com.canonical.Unity.Launcher favorites  "[ 'item1.desktop' , 'item2.desktop' , . . . 'item3.desktop;  ]"

Cela peut devenir fastidieux si vous souhaitez ajouter de nombreux éléments et les citations peuvent devenir pénibles. On peut toujours ouvrir un programme souhaité et cliquer avec le bouton droit sur l'icône pour invoquer l'option "Verrouiller sur le lanceur", mais cela n'est pas non plus pratique lorsque vous traitez une grande quantité d'éléments.

L'approche adoptée ici consiste simplement à lire un fichier, avec 1 fois par ligne, à créer la commande text et à l'exécuter. Ce n'est pas différent de l'exécution de l'gsettings set commande ci-dessus, sauf que le travail acharné est fait pour vous.

Utilisation :

Pour exécuter le script, enregistrez-le dans un fichier, rendez-le exécutable avec chmod +x /path/to/script et exécuter en tant que

python /path/to/script /path/to/file

Le fichier d'entrée doit contenir le chemin complet des éléments que vous souhaitez ajouter au lanceur, tels que /usr/share/applications/firefox.desktop , mais ce n'est pas nécessaire , une ligne avec firefox.desktop ça va aussi.

Démo

Avant d'exécuter le script

Après avoir exécuté le script

Notez que l'ordre est exactement le même que les entrées qui apparaissent dans le fichier d'entrée

Source du script

#!/usr/bin/env python
# Author: Serg Kolo
# Date: April 22, 2016
# Purpose:  programmatically set Unity launcher items
# by reading a file
# Written for: http://askubuntu.com/q/760895/295286
# Tested on: Ubuntu 14.04 LTS
import sys
import subprocess

command="""gsettings set com.canonical.Unity.Launcher favorites """

def run_command(cmd):
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    output = p.stdout.read().strip()
    return output  


items=""
with open(sys.argv[1]) as file:
  for line in file:
      temp = "'" + line.strip().split('/')[-1] + "'"
      items = ",".join([items,temp])

items = '"[ ' + items[1:] + ' ]"'

print run_command(command + " " + items)

Ubuntu
  1. Comment configurer le lanceur pour qu'il s'affiche toujours dans Unity 2d ?

  2. Exécuter le script Sh à partir du fichier *.desktop ?

  3. Lanceur Unity et icônes Steam ?

  4. Comment actualiser le menu de l'application de l'icône du lanceur dans Ubuntu 12.04 ?

  5. Associer un mot-clé à une application dans Unity Launcher ?

Ubuntu / Unity Joindre le script au lanceur ?

Icône sans icône en double du lanceur ?

Pourquoi y a-t-il deux icônes dans le lanceur Unity pour Nautilus ?

Comment arrêter les icônes de partition dans Unity Launcher ?

Tor-browser apparaît sous Firefox dans le lanceur Unity ?

Ubuntu / Unity attachez un script au lanceur