GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Automatizar el pedido de íconos de Unity Launcher?

He escrito un script de instalación que automatiza mi proceso de instalación. Después, me gustaría reorganizar/agregar/eliminar los íconos del lanzador de Unity.

Usando dconf watch / Puedo ver la salida cuando reordeno los íconos. ¿Hay alguna forma de línea de comando para hacer esto, posiblemente con gsettings? ?

Respuesta aceptada:

Introducción

El siguiente script simple permite tomar un archivo como argumento y configura el iniciador para que tenga cualquier acceso directo a los programas que aparezcan en el archivo (uno por línea).

La idea básica es que los íconos del iniciador son en realidad enlaces a .desktop archivos (dondequiera que aparezcan), y el método canónico para configurar los elementos del iniciador es ejecutar el siguiente comando:

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

Esto puede volverse tedioso si desea agregar muchos elementos y citar puede convertirse en una molestia. Uno siempre puede abrir un programa deseado y hacer clic con el botón derecho en el ícono para invocar la opción "Bloquear al iniciador", pero eso tampoco es práctico cuando se trata de una gran cantidad de elementos.

El enfoque adoptado aquí es simplemente leer un archivo, con 1 vez por línea, construir el texto del comando y ejecutarlo. Esto no es diferente de ejecutar el gsettings set comando anterior, excepto que el trabajo duro ya está hecho por ti.

Uso:

Para ejecutar el script, guárdelo en un archivo, hágalo ejecutable con chmod +x /path/to/script y ejecutar como

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

El archivo de entrada debe contener la ruta completa a los elementos que desea agregar al iniciador, como /usr/share/applications/firefox.desktop , pero no es necesario, una línea con firefox.desktop también está bien.

Demostración

Antes de ejecutar el script

Después de ejecutar el script

Tenga en cuenta que el orden es exactamente el mismo que el de las entradas que aparecen en el archivo de entrada

Fuente del guión

#!/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. ¿Cómo configurar el iniciador para que se muestre siempre en Unity 2d?

  2. ¿Ejecutar secuencia de comandos Sh desde el archivo * .desktop?

  3. ¿Unity Launcher usa un ícono genérico para Firefox en Ubuntu 12.04?

  4. Cajas de íconos de Unity Launcher ¿Falta 14.04lts 64bit?

  5. ¿Cómo encontrar el nombre del archivo png utilizado en un lanzador de escritorio?

¿Ubuntu / Unity Adjuntar secuencia de comandos al lanzador?

¿Icono sin icono duplicado del lanzador?

¿Por qué hay dos íconos en el iniciador de Unity para Nautilus?

¿Cómo detener los iconos de partición en Unity Launcher?

¿Tor-browser aparece como Firefox en el lanzador de Unity?

Ubuntu / Unity adjuntar secuencia de comandos a Launcher