Autore Topic: Come avere comodi lanciatori per le applicazioni bundle (obsoleta)  (Letto 3173 volte)

Offline kdekda

  • *
  • Post: 441
  • Reputazione: 22
    • Mostra profilo
ATTENZIONE: Questa guida è obsoleta in quanto i bundle non sono più supportati, sostituiti dal repository extra.

Scopo: Avere dei lanciatori "fissi" per i bundle
Come: Mediante l'ausilio di uno script
Prerequisiti: Almeno un bundle installato
Vantaggi: Non si avranno più tanti lanciatori per un unico bundle (dovuti al cambio di versione)
Svantaggi: N.D.
Tempo necessario: 5 minuti



Solitamente tengo nei preferiti del menu alcuni bundle, tra tutti firefox e thunderbird. Ad ogni aggiornamento del bundle però mi tocca rimuovere il preferito e aggiornarlo con il nuovo. Dato che mi sembrava scomodo ho creato uno script che recupera il nome del bundle(indipendentemente dalla versione) e lo lancia correttamente.
Codice: [Seleziona]
#!/bin/bash
cinstall -b `find ~/.cinstall/repo/ -name 'firefox*'` "${@}"
Ho quindi salvato lo script come firefox, l'ho reso eseguibile e l'ho messo in /usr/bin, così da poterlo avere disponibile comodamente da terminale.
Codice: [Seleziona]
sudo cp /percorso/dello/script/firefox /usr/bin/firefoxHo quindi creato un lanciatore nel menu che richiama appunto questo script.
A firefox ovviamente potete sostituire thunderbird, chrome-stable, filezilla etc..basta che sia una parola univoca per il bundle

Questo trucco risulta comodo anche per le situazioni che richiedono di indicare un programma predefinito per aprire certi tipi di file (vedi thunderbird con gli allegati o il browser predefinito di sistema da impostare ad ogni aggiornamento bundle): in questo modo infatti è possibile indicare un lanciatore sempre funzionante

Nota: lo script deve essere eseguito da utente normale, non da root, altrimenti non funzionerà

Guida aggiornata a Febbraio 2013 -Modificata da Andreazube
« Ultima modifica: 07 Maggio 2013 ore 15:22 da andreazube »

Offline MaKi

  • *
  • Post: 58
  • Reputazione: 7
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #1 il: 14 Settembre 2011 ore 10:03 »
Script utile e comodo, il +1 ci sta tutto.

Ma il comando corretto non dovrebbe essere con "${@}" fuori dall'apice retroverso?

Codice: [Seleziona]
#!/bin/bash
cinstall -b `find ~/.cinstall/repo/ -name 'firefox*'` "${@}"

Se passi un parametro all'eseguibile, come ad esempio un url per firefox, tale parametro andrebbe nel comando find che darebbe errore.
Se invece viene indicato fuori dagli apici retroversi viene dato al comando cinstall  :)

Spero di non sbagliarmi  ;D



Offline kdekda

  • *
  • Post: 441
  • Reputazione: 22
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #2 il: 14 Settembre 2011 ore 10:14 »
hai ragione, mi è sfuggito..correggo subito

Offline cippaciong

  • *
  • Post: 708
  • Reputazione: 47
  • Fletto i muscoli e sono nel vuoto
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #3 il: 14 Settembre 2011 ore 11:11 »
Davvero un ottima giuda!!
+1

Offline kdekda

  • *
  • Post: 441
  • Reputazione: 22
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #4 il: 14 Settembre 2011 ore 11:24 »
l'ho postato anche sul forum internazionale dato che credo possa essere molto utile. Era da un po' che mi serviva ma fino all'illuminazione di stanotte non ci avevo mai pensato (grazie pizza panna e speck che non mi hai fatto dormire!)

Offline MaKi

  • *
  • Post: 58
  • Reputazione: 7
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #5 il: 14 Settembre 2011 ore 12:24 »
Il problema di questo script è che non sempre la parola è univoca per il bundle.
Se io ad esempio ho le seguenti due versioni di firefox:

firefox-6.0.2-1
firefox-nightly-9.0a1-1

lo script non funzionerebbe.

Usare qualcosa del genere può andar bene?

Codice: [Seleziona]
cinstall -b `find ~/.cinstall/repo/ -name 'firefox-[0-9]?*'` "${@}"

Controllare che il primo carattere sia un numero della versione per questo caso dovrebbe essere sufficiente. Nel caso fossero presenti piu versioni dello stesso bundle bisognerebbe modificarlo ulteriormente per prendere, ad esempio, la piu recente.

Offline jmc

  • *
  • Post: 1354
  • Reputazione: 95
    • Mostra profilo
    • The Chakra Project
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #6 il: 14 Settembre 2011 ore 12:44 »
<costanzo>Bboni, state bboni!</costanzo>

Secondo voi non ho già pensato a qualcosa del genere? :P
Se controllate in ~/.cinstall/launchers, vedrete che avete già dei comodi lanciatori, solo che hanno il numero di versione attaccato alla fine del nome.
Ora, avevo ovviamente già considerato l'ipotesi di semplificarne ancora di più l'utilizzo (ad esempio, creando un symlink al launcher della versione più recente del bundle), ma ciò mi causava alcuni problemi "concettuali" - non è infatti detto che, se avete più versioni del bundle installate, vogliate lanciare proprio la più recente e non una più vecchia. Ad esempio, da me Eclipse 3.7 dà problemi, ma la 3.6 funziona ancora bene.

Insomma, se non ho semplificato i nomi degli script è perché non ho ancora trovato un metodo "soddisfacente" per farlo. Purtroppo questa cosa dei bundle multipli è un po' scomoda, e vorrei trovare la migliore soluzione possibile.

Ora rispondo anche nel forum internazionale. :)

P.S.: gli script metteteli sempre in ~/.cinstall/launchers (che è già nel vostro PATH), non in /usr/bin, perché sono sempre confinati alla vostra home directory, e altri utenti non potrebbero accedervi. In quel caso per loro vedere il nome "firefox" ma non poterlo avviare per mancanza di permessi sarebbe solo un fastidio. :)

Offline MaKi

  • *
  • Post: 58
  • Reputazione: 7
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #7 il: 14 Settembre 2011 ore 13:15 »
<costanzo>Bboni, state bboni!</costanzo>

mi hai fatto morire  ;D  ;D  ;D  ;D

Offline kdekda

  • *
  • Post: 441
  • Reputazione: 22
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #8 il: 14 Settembre 2011 ore 14:26 »
il problema delle possibili più versioni me lo sono posto anche io, per quello dicevo di trovare nomi univoci. Per esempio per firefox potrebbe essere firefox-6 e firefox nightly, oppure proprio come suggerito da Maki. Personalmente non mi pongo mai il problema dell'utente perchè il pc ha solo il mio utente..

Offline MaKi

  • *
  • Post: 58
  • Reputazione: 7
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #9 il: 14 Settembre 2011 ore 15:37 »
<costanzo>Bboni, state bboni!</costanzo>

Secondo voi non ho già pensato a qualcosa del genere? :P
Se controllate in ~/.cinstall/launchers, vedrete che avete già dei comodi lanciatori, solo che hanno il numero di versione attaccato alla fine del nome.
Ora, avevo ovviamente già considerato l'ipotesi di semplificarne ancora di più l'utilizzo (ad esempio, creando un symlink al launcher della versione più recente del bundle), ma ciò mi causava alcuni problemi "concettuali" - non è infatti detto che, se avete più versioni del bundle installate, vogliate lanciare proprio la più recente e non una più vecchia. Ad esempio, da me Eclipse 3.7 dà problemi, ma la 3.6 funziona ancora bene.

Insomma, se non ho semplificato i nomi degli script è perché non ho ancora trovato un metodo "soddisfacente" per farlo. Purtroppo questa cosa dei bundle multipli è un po' scomoda, e vorrei trovare la migliore soluzione possibile.

Ora rispondo anche nel forum internazionale. :)

P.S.: gli script metteteli sempre in ~/.cinstall/launchers (che è già nel vostro PATH), non in /usr/bin, perché sono sempre confinati alla vostra home directory, e altri utenti non potrebbero accedervi. In quel caso per loro vedere il nome "firefox" ma non poterlo avviare per mancanza di permessi sarebbe solo un fastidio. :)

e se si da all'utente la possibilità di scegliere se mantenere la vecchia versione o no?
Quando si installa un nuovo bundle il symlink viene creato sempre. Quando invece si aggiorna una versione gia presente, nella finestra che chiede se sostituire o meno il bundle si può chiedere se aggiornare il symlink alla versione nuova oppure lasciarlo alla vecchia.

Rimarrebbe il problema su bundle diversi, tipo firefox e firefox-nightly. In questo caso andrebbe specificato nel bundle una variabile "provide" o qualcosa del genere.

So che fa acqua da tutte le parti il discorso, è solo un'idea   ;D

Offline jmc

  • *
  • Post: 1354
  • Reputazione: 95
    • Mostra profilo
    • The Chakra Project
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #10 il: 14 Settembre 2011 ore 21:24 »
e se si da all'utente la possibilità di scegliere se mantenere la vecchia versione o no?
Quando si installa un nuovo bundle il symlink viene creato sempre. Quando invece si aggiorna una versione gia presente, nella finestra che chiede se sostituire o meno il bundle si può chiedere se aggiornare il symlink alla versione nuova oppure lasciarlo alla vecchia.

Sì, era l'unica alternativa che veniva in mente anche a me, ma richiede l'interazione dell'utente e non è automatica.
Boh, deciderò cos'è meglio e applicherò la scelta. :D

Offline MaKi

  • *
  • Post: 58
  • Reputazione: 7
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #11 il: 15 Settembre 2011 ore 09:28 »
In genere credo che l'utente medio quando c'è una nuova versione disponibile di un programma voglia utilizzare quella quindi si può lasciare di default l'aggiornamento del symlink e mettere un'impostazione avanzata che dia la possibilita di lasciarlo invariato. Piu che altro bisogna trovare un modo anche per dare la possibilità di cambiare il symlink in un secondo momento  :)

Boh, veda lei signor developer  ;D

Offline kdekda

  • *
  • Post: 441
  • Reputazione: 22
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #12 il: 15 Settembre 2011 ore 09:32 »
esatto, altrimenti se non volesse usare software aggiornato starebbe su debian stable.

Offline paolomi

  • *
  • Post: 287
  • Reputazione: 21
  • Akabei... con spacchettamento a destra
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #13 il: 25 Aprile 2012 ore 21:15 »
Grazie per questa guida! +1

Ho fatto una leggera modifica al tuo trucco. Ho creato il file firefox.desktop, l'ho messo in una cartella per me comoda, da lì l'ho trascinato sul desktop e da allora vivo felice  ;)

Codice: [Seleziona]
[Desktop Entry]
Categories=Application;Network;
Comment[it]=
Comment=
Encoding=UTF-8
Exec=cinstall -b `find ~/.cinstall/repo/ -name 'firefox*'` "${@}"
GenericName[it]=Browser Web
GenericName=Browser Web
Icon=internet-web-browser
MimeType=text/html;
MultipleArgs=false
Name[it]=Firefox
Name=Firefox
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=

Usare Chakra senza PulseAudio

«L'anno prossimo passerò a pulseaudio» (frase detta da me alcuni anni fa… e ancora valida!)

Offline r1si

  • *
  • Post: 46
  • Reputazione: 0
    • Mostra profilo
Re:Come avere comodi lanciatori per le applicazioni bundle
« Risposta #14 il: 14 Settembre 2012 ore 12:28 »
scusate la domanda scema, per cui tiro su questo utilissimo post, ma
dopo ave creato lo script, reso eseguibile e messo in bin come faccio ad aggiungere il lanciatore al menu ?  :-\
se nella barra di ricerca scrivo il nome dello script mi dice esegui e nome script , ma non capisco come mettere il lanciatore nei preferti.
:)
un ultima domanda, se posso aggiungere lanciatori posso anche aggiungere il file .desktop che ho creato oppure devo lasciarlo perforza sul desktop come diceva paolomi?
grazie mille

EDIT:
mi rispondo da solo, basta sposate il file in /usr/share/applications
grazie mille e scusate la niubbagine !
« Ultima modifica: 14 Settembre 2012 ore 12:42 da r1si »

 

Template by Homey | Sito ufficiale | Disclaimer