Creieu que crear fitxers .desktop és difícil a Linux? Et proposem un parell de solucions

Crear fitxers .desktop a Linux

«Torna't a Windows», em deia qui em va introduir a Linux quan veia que algunes coses se m'ennuegaven i volia fer-ho com al sistema de Microsoft. També em deia que «Linux no és Windows», i això és així per a les coses bones i per a les dolentes. El pitjor és que hi ha coses que en altres sistemes és molt senzill i en els basats en Linux no ho és tant, com crear fitxers .desktop, també coneguts com a accessos directes.

Però cal diferenciar entre tipus d'accessos directes perquè no tots són el mateix. Ara mateix, a mi se m'acudeixen almenys dos tipus d'accessos directes: uns són els symlinks o enllaços simbòlics, que són un fitxer molt petit que podem executar per accedir a l'original al qual s'enllaça; altres són els fitxers .desktop, que són un tipus de enllaç directe que conté informació com el nom d'una aplicació i la seva versió, i són els fitxers que s'encarreguen de llançar moltes aplicacions sota Linux.

Creant fitxers .desktop amb una aplicació amb interfície d'usuari

Tal com expliquem aquí a LXA fa anys, crear arxius .desktop a Linux no és que sigui massa complicat. A més, el text proporcionat ens serveix com una plantilla que només cal editar per a cada aplicació. Però les coses encara es poden simplificar més.

Disponible a Flathub, hi ha una aplicació anomenada Desktop Files Creator. Bàsicament és una interfície on direm el nom, la ruta a l'executable, si s'executarà al terminal o no… i ella s'encarregarà de fer la resta per nosaltres. Però si volem alguna cosa encara més senzilla, podem crear-nos nosaltres mateixos un script/mini-app per fer tot això des del terminal (es veu a la imatge de capçalera). El codi a Python seria el següent:

#!/usr/bin/env python3 from io import open import us nom_arxiu = input("Nom del fitxer .desktop: ") version = input("Versió de l'aplicació: ") nom_app = input("Nom de l'aplicació: ") comentari_app = input("Comentari de l'aplicació: ") executable = input("Ruta a l'executable: ") icona = input("Ruta a la icona de l'app: ") terminal = input("S'executarà al terminal ? (True per a si, False per no): ") tipus_app = input("Tipus d'aplicació (posa Application si tens dubtes): ") categories = input("Categories en què entra aquesta aplicació: ") carpeta = input( "Carpeta on està l'executable: ") def crearDesktop(): nota = open(nom_arxiu + ".desktop", "w") text_entrada = ('[Desktop Entry]') text_version = ('\nVersion=' + version ) text_nomAplicacio = ('\nName=' + nom_app) text_comentari = ('\nComment=' + comentari_app) text_executable = ('\nExec=' + executable) text_icono = ('\nIcon=' + icona) text_terminal = ('\ nTerminal=' + terminal) text_tipoapp = ('\nType=' + tipus_app) text_categories = ('\nCategories=' + categories) text_startupNotifyApp = ('\nStartupNotify=false') text_ruta = ('\nPath=' + carpeta) text = (text_entrada + text_version + text_nomAplicacio + text_comentari + text_executable + text_icona + text_terminal + text_tipoapp + text_categories + text_startupNotifyApp + text_ruta) nota.write(text) nota.close() nomApp = nom_app + ".desktop" x ' + nomApp + '\nmv ' + nomApp + ' ~/.local/share/applications') print("Fitxer .desktop creat amb èxit. Està a ~/.local/share/applications/ i hauria d'aparèixer també al calaix d'apps.") crearDesktop()

Explicant el codi

D'això:

  • La primera línia és el que es coneix com Shebang i indica amb què s'ha d'obrir l'script (pot ser diferent en algunes distribucions Linux). No hauria de ser necessari si ens desplacem a la ruta on guardem el fitxer .py i el llancem amb «python nom_del_arxiu.py«, però sí si volem tallar una mica més com explicarem més tard.
  • La segona i la tercera línia importa el necessari per crear el fitxer, ja que cal poder escriure al disc dur.
  • Després es creen les variables que més tard es faran servir per escriure el contingut al fitxer .desktop.
  • A la funció crear Desktop(), primer obre un fitxer, després s'afegeixen els paràmetres d'informació de l'accés directe, després es crea el fitxer .desktop, se li dóna permisos d'execució i el mou a la carpeta ~/.local/share/ applications. I això seria tot.

Diria que més fàcil impossible, però seria més fàcil si existís una manera de crear-los amb un menú contextual de Nautilus, Dolphin o el gestor de fitxers que estiguem usant. El problema és que a Linux això no funciona així. Als fitxers .desktop es pot afegir també una altra informació, com ara traduccions i altres maneres d'obrir les aplicacions (com el mode incògnit en un navegador), per la qual cosa crear aquest tipus d'accessos directes no és tan directe, valgui la redundància.

I ja se m'oblidava, si volem poder llençar l'script anterior des de qualsevol finestra del terminal, hem de moure el fitxer .py que hem creat a la carpeta /bin. Que no s'hi acostumi el que no sàpiga el que està fent, perquè en aquesta carpeta hi van els executables i cal anar amb compte amb el que es toca. En qualsevol cas, opcions sempre n'hi ha. Només cal saber on cercar. A més, crear i compartir també és una cosa comuna a Linux.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.