Newsgroup: it.comp.os.linux.ubuntu
Titolo: Programmi da linea di comando nel Menu

Vorrei condividere una cosa abbastanza semplice ma per me utile: come
lanciare (alcune) applicazioni "da linea di comando" dal Menu
Applicazioni in Ubuntu. La cosa serve a lanciare più rapidamente le
applicazioni che si usano più spesso, ma anche a "catalogare" (nel
menu, appunto)  tutte le applicazioni installate, anche quelle da riga
di comando. Ovviamente ciò non sostituisce tutte le possibilità che si
possono avere da linea di comando, per esempio usare parametri diversi
per un comando, eccetera.
Ad ogni modo, vi dico come faccio, sperando possa essere utile a
qualcun altro.
L'unica reale difficoltà da superare è che quando si lancia da menu
un'applicazione nel terminale, il terminale viene chiuso
automaticamente dopo che l'applicazione completa l'esecuzione. Questo
va bene per certe applicazioni, ma non per altre che si chiudono prima
che si faccia a tempo a leggere l'output.
Dunque, distinguiamo le due situazioni. Le procedure differiscono
sostanzialmente solo al punto 4, ma per chiarezza riporto tutti i
passaggi.
Primo  caso: si desidera l'esecuzione del programma con chiusura
automatica del terminale al termine.
Facciamo l'esempio con l'applicazione "telnet".
A1. Aprire il gestore di menu Alacarte da System - Preferences - Main
Menu.  Se non fosse disponibile, installare il pacchetto "alacarte"
A2. Selezionare il sottomenu dove si vuol catalogare il programma
oppure creare un nuovo sottomenu, se si desidera, con Add Menu.
A3. Aggiungere una nuova voce di menu con Add Item.
A4. inserire
- Name (il nome del programma, che apparirà nel menu, dunque telnet),
- Command (il comando, in qunesto caso sempre telnet), e
- Comment (un commento che apparirà muovendo il mouse sopra la voce di
menu: Per esempio in questo caso: The telnet command is used for
interactive communication with another host using the TELNET
protocol.).
- Nel campo Type selezionare "Application in Terminal".
A5. Chiudere Alacarte. Ora per lanciare telnet basterà selezionarlo
dal menu, ritrovandolo comodamente nella categoria desiderata. Si
aprirà il Terminale con Telnet pronto per l'uso. Quando alla fine si
uscirà da Telnet (dando il comando q), si chiuderà anche il terminale.
Secondo  caso: si desidera l'esecuzione del programma senza chiusura
automatica del terminale al termine.
Facciamo l'esempio con l'utility btool, parte delle "Barry utilities",
che mi serve per verificare lo stato di un BlackBerry connesso via USB
B1. Aprire il gestore di menu Alacarte da System - Preferences - Main
Menu.  Se non fosse disponibile, installare il pacchetto "alacarte"
B2. Selezionare il sottomenu dove si vuol catalogare il programma
oppure creare un nuovo sottomenu, se si desidera, con Add Menu (in
questo caso, per esempio, si potrebbe creare un sottomenu BlackBerry
dove inserire  tutte le utility Barry, che permettono
sincronizzazione, backup, ecc.).
B3. Aggiungere una nuova voce di menu con Add Item.
B4. inserire
- Name (il nome che si desidera far apparire nel menu, per esempio
"Barry Utilities: btool"),
- Command (il comando, in questo caso io uso:
xterm -hold -e btool
"xterm -hold -e" mi serve a lasciare il terminale aperto per poter
leggere con comodo il risultato di btool o se ci sono stati errori
- Comment (un commento che apparirà muovendo il mouse sopra la voce di
menu, per esempio:
"Command line USB Blackberry Test Tool"
- Nel campo Type selezionare Application (non "Application in
Terminal").
B5. Chiudere Alacarte. Ora per lanciare telnet basterà selezionarlo
dal menu, ritrovandolo comodamente nella categoria desiderata.
Lanciando btool dal menu si potrà leggere il risultato nel terminale,
per poi chiudere il terminale manualmente quando non serve più.
Nota 1: se un programma viene usato tipicamente con parametri o altro,
si possono inserire nello stesso campo Command.
Per esempio, nell'esempio precedente, un uso tipico potrebbe essere
btool -t
In certi casi, però, non esiste un "utilizzo tipico" del comando, ma
il comando viene usato volta per volta con diversi parametri sempre
diversi, oppure su diversi file, eccetera. Anche in questo caso però
avere il comando nel menu può essere utile almeno come "reminder", per
esempio, si potrebbe creare in ogni caso il sottomenu BlackBerry e
inserire le varie utility Barry tra cui "btool" con il parametro --
help che  mostra  una schermata di aiuto sull'utilizzo, salvo poi
aprire il terminale con procedura classica e scrivere il comando con
le opzioni che si preferiscono.
Nota 2: il gestore di menu Alacarte permette anche il drag and drop di
elementi da un  sottomenu all'altro per riorganizzarli come si
desidera.

 Applicazioni in Ubuntu. 
Grazie! Anch'io nel mio piccolo, piccolissimo, ultimamente sto cercando di
fare cosi`, cioe` annoto i vari passaggi che compio per fare determinate
operazioni e poi li metto nell'homepage, a futura memoria e sperando che
magari possano anche essere utili ad altri.
In aggiunta a cio` che hai scritto vorrei rammentare che creando il
lanciatore nel menu, si ha la possibilita` di scegliere fra 3 tipi:
applicazione, applicazione nel terminale e posizione.
A dire il vero "posizione" non l'ho mai usato e in pratica non so come si
utilizza.
Ciao e grazie ancora.

 Ciao e grazie ancora.
Prego! :)

 
In effetti ora ne ho una   :D
Nel post precedente hai scritto:
"Ovviamente ciï¿œ non sostituisce tutte le possibilitï¿œ che si possono avere da
linea di comando, per esempio usare parametri diversi per un comando, eccetera."
Stavo pensando che cmq nello script prima di lanciare il comando stesso, si
puo` richiedere l'impostazione di determinati parametri, magari anche
preimpostando un default attivabile con un semplice [Invio], nel caso non si
volesse modificare, e in altri casi rispondendo Y/n o digitando i valori .

 help che  mostra  una schermata di aiuto sull'utilizzo, salvo poi
[...]
Altre possibilità, richiamare come voce di menu il manuale
dell'applicazione con
type: Application in Terminal
command: man nomeapplicazione
o la pagina web dell'autore o comunque relativa al programma
type: Application
command: firefox 
http://sitoapplicazione
dove nomeapplicazione e sitoapplicazione vanno opportunamente
sostituiti, of course! :)

 volesse modificare, e in altri casi rispondendo Y/n o digitando i valori .
Diciamo in ipotesi che vuoi lanciare l'applicazione md5sum che calcola
la checksum md5 di un file che dovrai indicare volta per volta.
Nella tua dir home crei uno script, cioè crei un file md5sum.sh , lo
apri con un editor di testo e ci scrivi dentro
echo "Inserisci il nome del file di cui vuoi calcolare la checksum md5
con md5sum"
read nomefile
md5sum $nomefile
echo "Premi il tasto invio per chiudere"
read dummy
salvi il file e lo rendi eseguibile con il comando chmod +x md5sum.sh
Nel menu crei una nuova voce e inserisci qualcosa come
type: Application in Terminal
command: ./md5sum.sh
A questo punto, scegliendo nel menu la voce creata, dovrebbe aprirsi
una finestra del terminal dove puoi inserire il nome del file,
ottenere il calcolo della relativa checksum, che puoi eventualmente
copiare se ti serve, e infine puoi chiudere la finestra con un Invio.
Naturalmente è solo un esempio, lo stesso si può fare per altri
comandi o applicazioni di utilizzo frequente: crei un opportuno
scriptino e inserisci una voce che  lo richiami nel menu.
Tieni conto che sono abbastanza niiubbo di Linux, di sicuro si può far
di meglio.
Anche queste spiegazioni sulla collocazione degli shell script
potrebbero tornare utili
http://ubuntuforums.org/showthread.php?t=332445

 
http://ubuntuforums.org/showthread.php?t=332445
A questo proposito puo` essere interessante anche leggere la sezione intitolata 
"Extending Nautilus with Scripts" che si trova in questa pagina:
http://www.mynewsgate.net/lb.php?l=433
Tra l'altro nel piccolo script si usa zenity, un tool che in certi casi puo`
essere molto comodo per abbellire e presentare in modo adeguato finestre di
dialogo con liste di comandi ecc.
http://linuxpedia.netsons.org/index.php?title=Zenity