Deslocking de aplicaciones desde el iniciador desde la línea de comandos.

Para configurar automáticamente las instalaciones nuevas, necesito una manera de desbloquear las aplicaciones predeterminadas desde la barra de inicio. No sé dónde se almacena esta información, puede que editar o sustituir el archivo sea la forma más fácil.

El comando para obtener los icons del lanzador actual es:

gsettings get com.canonical.Unity.Launcher favorites 

Esto le dará una lista como:

 ['item_1', 'item_2', 'application://application_to_remove.desktop', 'etc'] 

Si elimina su elemento de la lista y configura la versión modificada de la lista con el comando:

 gsettings set com.canonical.Unity.Launcher favorites "['item_1', 'item_2', 'etc']" (mind the double quotes) 

Su aplicación está desbloqueada desde el lanzador.

Ejemplo de script

Como ejemplo de cómo se puede hacer el trabajo con un script (python):

 #!/usr/bin/env python3 import subprocess import sys key = "com.canonical.Unity.Launcher" desktopfile = sys.argv[1] curr_launcher = eval(subprocess.check_output([ "gsettings", "get", key, "favorites" ]).decode("utf-8")) new_launcher = [item for item in curr_launcher if not desktopfile in item] subprocess.Popen(["gsettings", "set", key,"favorites",str(new_launcher)]) 

Cómo utilizar

  • Pegue el script en un archivo vacío, guárdelo como remove_fromlauncher.py
  • Ejecutarlo por el comando

     python3 /path/to/remove_fromlauncher.py  

    o más corto:

     python3 /path/to/remove_fromlauncher.py  

    Ejemplo eliminar Virtualbox:

     python3 /path/to/remove_fromlauncher.py virtualbox.desktop 

Nota

Tenga en cuenta que no puede simplemente eliminar todos los elementos de la lista; También incluye elementos que no son aplicaciones.


EDITAR

Versión de la secuencia de comandos para eliminar varios icons a la vez:

 #!/usr/bin/env python3 import subprocess import sys key = "com.canonical.Unity.Launcher" desktopfiles = sys.argv[1:] for desktopfile in desktopfiles: curr_launcher = eval(subprocess.check_output([ "gsettings", "get", key, "favorites" ]).decode("utf-8")) new_launcher = [item for item in curr_launcher if not desktopfile in item] subprocess.Popen(["gsettings", "set", key,"favorites",str(new_launcher)]) 

El uso es bastante similar, pero ahora puede usar varios argumentos a la vez, por ejemplo:

 python3 /path/to/remove_fromlauncher.py gedit thunderbird 

eliminará Thunderbird y Gedit del lanzador.