Creazione di icone per la dash di Unity su Ubuntu
da Davide Riboldi · pubblicato il 16 Febbraio, 2013 · modificato il 5 Luglio, 2016

Prendendo spunto e ispirazione dalla lettura di un articolo scritto recentemente da Massimo Della Rovere sull’installazione di Ubuntu 12.10 Quetzal versione a 64bit, vi voglio parlare di come semplificare l’avvio di un programma creando una icona nella Dash di Ubuntu, evitando così di dover utilizzare la riga di comando ogni qual volta vogliate avviare un’applicativo. Il programma che prenderò come esempio è quello citato nell’articolo, l’emulatore 5250 per sistemi IBM iseries.

Di base in Ubuntu non esiste una voce di menu o un applicativo che ci permetta di creare una icona di avvio. Per eseguire questa operazione bisogna installare un tool grafico aggiuntivo come Alacarte, oppure utilizzare un metodo più diretto andando a creare o modificare i files di configurazione che ci permettono di popolare la Dash. In questo articolo vedremo per l’appunto come gestire questi files tralasciando l’utilizzo del tool grafico che non è incluso nell’installazione di default.

Dietro ad ogni singola icona si nasconde un file con estensione .desktop. Questi files raccolgono tutte le informazioni necessarie per poter avviare il programma a cui fanno riferimento, ci permettono di creare delle opzioni aggiuntive di menu accessibili con il tasto destro del mouse direttamente sull’icona del Launcher.

Dash unity

Dopo questa breve presentazione vediamo come si crea il Launcher per l’applicativo tn5250j. La prima cosa da fare e che consiglio a tutti è quella di creare una cartella chiamata Programmi all’interno della propria Home directory, dove raccoglieremo tutti quegli applicativi che non necessitano di installazione e che per questo non generano alcuna icona di avvio nel nostro sistema. Dopo aver scaricato l’applicativo dal sito ufficiale TN5250J avviate l’installazione con java -jar tn5250j-0.7.0-installer.jar.

Nel Wizard d’installazione ricordatevi di indicare come percorso dell’installazione la cartella che abbiamo chiamato Programmi nella vostra Home directory. Terminata l’installazione convertite il file ~/Programmi/tn5250j/bin/tn5250j in formato unix:

dos2unix ~/Programmi/tn5250j/bin/tn5250j

Se questo comando non fosse presente installatelo digitando:

sudo apt-get install dos2unix

Creazione di un file con estensione .desktop

Terminata la conversione creiamo il file con estensione .desktop utilizzando un editor di testo come gedit oppure vi, pico o nano e andiamo ad inserire il seguente codice:

[Desktop Entry] 
Version=1.0 
Name=tn5250j 
Comment=Emulatore Terminale 5250 
Exec=/home/davide/Programmi/tn5250j/bin/tn5250j 
Icon=/home/davide/Programmi/tn5250j/bin/icons/tnicon.png 
Terminal=false 
Type=Application 
Categories=Utility;Application;

Alcuni di questi valori sono opzionali, mentre altri come Name, Exec e Type sono fondamentali per il funzionamento del Launcher. A seguire una breve descrizione:

  • Version = Versione del file .desktop
  • Name = Identifica il nome che verrà visualizzato nella Dash.
  • Comment = Un commendo descrittivo dell’applicazione.
  • Exec = Specifica il percorso dell’eseguibile che serve ad avviare il programma.
  • Icon = Specifica il percorso dell’icona che verrà visualizzata nella Dash.
  • Terminal = Specifica se l’applicazione verrà eseguita in una finestra di terminale.
  • Type = Identifica il tipo di Launcher (Application, Directory o Link).
  • Categories = Categoria della Dash nella quale verrà visualizzata l’applicazione

Per conoscere e approfondire tutti i parametri utilizzabili vi rimando al seguente link:
http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

Una volta completato l’inserimento dei parametri nel file di configurazione salvate il file con il nome che desiderate, in questo caso tn5250j.desktop e rendetelo eseguibile:

chmod +x tn5250j.desktop

Inserimento di un file nella dash del launcher

Concluse queste operazioni, per poter visualizzare nella Dash il Launcher appena creato, dovete copiare il file in questione in una delle seguenti cartelle: /usr/share/applications/ oppure nella cartella ~/.local/share/applications/. Se copiate il file nella /usr il Launcher verrà visto da tutti gli utenti che utilizzeranno il computer, se invece lo inserite nella .local il Launcher sarà visibile solo dall’utente che l’ha creato. Consiglio di mantenere le proprie personalizzazioni nelle cartelle dell’utente così da facilitarne il backup e l’eventuale recupero. Una volta copiato il file l’icona comparirà nelle applicazioni della Dash e sarà anche possibile trascinarla sulla barra laterale.

Creazione menu personalizzato collegato alla icona del launcher

Come accennato all’inizio dell’articolo tramite il file .desktop è possibile creare un menu con varie opzioni richiamabile con il tasto destro del mouse. Una cosa che è possibile fare ad esempio con l’emulatore tn5250j è quello di creare delle voci di menu che richiamino le connessioni ai sistemi usati più frequentemente. L’emulatore tn5250j oltre all’utilizzo dell’interfaccia grafica, ci permette di avviare le connessioni con tutte le sue opzioni da riga di comando

java -jar tn5250j.jar 192.168.1.1 -132 -cp 280

Questo comando apre una sessione di emulazione a 132 colonne con code page 280 (italiano) verso un sistema iSeries con indirizzo ip 192.168.1.1. Per un approfondimento dei vari parametri vi rimando al link: http://tn5250j.sourceforge.net/quick.html.

Adesso vediamo come realizzare questa connessione inserendola nel menu del Launcher che abbiamo appena creato. Per prima cosa, modifichiamo il file utilizzato per avviare il programma, di modo che accetti i parametri aggiuntivi che andremo ad inserire per generare la connessione. Con un editor di testo modifichiamo il file ~/Programmi/tn5250j/bin/tn5250j aggiungendo al comando java la possibilità di leggere le opzioni aggiuntive che ci servono per avviare la connessione.

#! /bin/sh
# Runs the tn5250j 5250 java emulator
# Sets the tn5250j home directory
TN5250J_HOME='/home/davide/Programmi/tn5250j'

# Change to the emulator's directory
cd ${TN5250J_HOME}/

# Does the effective launching
java -jar "lib/tn5250j.jar" $1 $2 $3 $4

Adesso modificate il file ~/.local/share/applications/tn5250j.desktop:

[Desktop Entry]
Version=1.0
Name=tn5250j
Comment=Emulatore Terminale 5250
Exec=/home/davide/Programmi/tn5250j/bin/tn5250j
Icon=/home/davide/Programmi/tn5250j/bin/icons/tnicon.png
Terminal=false
Type=Application
Categories=Utility;Application;
Actions=as400 Produzione;as400 Sviluppo

[Desktop Action as400 Produzione]
Name=as400 Produzione
Exec=/home/davide/Programmi/tn5250j/bin/tn5250j 192.168.1.1 -132 -cp 280

[Desktop Action as400 Sviluppo]
Name=as400 Sviluppo
Exec=/home/davide/Programmi/tn5250j/bin/tn5250j 10.0.0.1 -132 -cp 280

Una volta salvate le nuove modifiche, tasto destro con il mouse sull’icona della barra laterale ed ecco comparire il menù appena creato. Vi allego la schermata del risultato:

Launcher with menu

1 Commento

  1. Ciao Davide, ho aggiunto diverse azioni alle icone presenti nel menù, alcune sono molte, è possibile separarle con una linea di divisione che vedo in altre applicazioni? Ho cercato ma non ho trovato nulla in merito.

condividi