GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Automatizzare l'ordine delle icone di Unity Launcher?

Ho scritto uno script di installazione che automatizza il mio processo di installazione. Successivamente vorrei riorganizzare/aggiungere/rimuovere le icone nell'utilità di avvio dell'unità.

Usando dconf watch / Posso vedere l'output mentre riordino le icone. C'è un modo da riga di comando per farlo, possibilmente con gsettings ?

Risposta accettata:

Introduzione

Il semplice script di seguito consente di prendere un file come argomento e imposta il programma di avvio in modo che abbia qualsiasi collegamento ai programmi visualizzato nel file (uno per riga).

L'idea di base è che le icone di avvio siano in realtà collegamenti a .desktop file (ovunque possano apparire) e il metodo canonico per impostare gli elementi di avvio è eseguire il comando seguente:

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

Questo può diventare noioso se vuoi aggiungere molti elementi e citare può diventare una seccatura. Si può sempre aprire un programma desiderato e fare clic con il pulsante destro del mouse sull'icona per invocare l'opzione "Blocca su launcher", ma anche questo non è pratico quando si ha a che fare con una grande quantità di elementi.

L'approccio adottato qui è semplicemente leggere un file, con 1 volta per riga, creare il testo del comando ed eseguirlo. Questo non è diverso dall'esecuzione del gsettings set comando sopra, tranne per il fatto che il duro lavoro è fatto per te.

Utilizzo:

Per eseguire lo script, salvalo in un file, rendilo eseguibile con chmod +x /path/to/script ed esegui come

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

Il file di input dovrebbe contenere il percorso completo degli elementi che desideri aggiungere al programma di avvio, come /usr/share/applications/firefox.desktop , ma non è necessario, una riga con firefox.desktop va bene anche.

Dimostrazione

Prima di eseguire lo script

Dopo aver eseguito lo script

Nota che l'ordine è esattamente lo stesso delle voci che appaiono nel file di input

Sorgente 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. Come impostare il programma di avvio per mostrare sempre in Unity 2d?

  2. Eseguire lo script Sh dal file *.desktop?

  3. Unity Launcher utilizza l'icona generica per Firefox in Ubuntu 12.04?

  4. Scatole delle icone di Unity Launcher mancano 14.04lts a 64 bit?

  5. Come aggiornare il menu dell'applicazione dell'icona di avvio in Ubuntu 12.04?

Ubuntu / Unity Allega Script al Launcher?

Icona di avvio duplicata senza icone?

Perché ci sono due icone in Unity Launcher per Nautilus?

Come fermare le icone di partizione in Unity Launcher?

Tor-browser appare come Firefox in Unity Launcher?

Ubuntu / Unity collega lo script al Launcher