Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[Progetto] lxlnk = Creare link su LXDE in maniera grafica (funziona anche su altri DE)

Iniziative e progetti della comunità legati a Ubuntu.

[Progetto] lxlnk = Creare link su LXDE in maniera grafica (funziona anche su altri DE)

Messaggioda streetcross » martedì 24 gennaio 2012, 23:42

Data la sempre più maggior diffusione di LXDE e le continue richieste di come creare un link in determinato ambiente ho deciso di creare uno script grafico con zenity che permetta di evitare il classico ln -s da terminale.
Questa è una prima versione, che chiamerò lxlnk-0.1 e l'ho scritta in questo preciso momento. Quindi allego il codice e un paio di info su cosa contiene e cosa invece è da fare (e farò si presume):

Codice: Seleziona tutto
#!/bin/bash

tipo=`zenity --list \
          --title="Segli il tipo di link desiderato" \
          --column="Tipo" --column="Azione" \
            "Link simbolico" "Crea un collegamento simbolico al file (CONSIGLIATO)" \
            "Link simbolico cartella" "Crea un collegamento simbolico alla cartella" \
            "Hard link" "Crea un collegamento che segue gli spostamenti del file originario (no Cartelle)"`
 
case $tipo in

             "Link simbolico")
               ce=`zenity --file-selection --title="Scegli il file da linkare"`
              
               case $? in
                         0)
                           ln -s "$ce" "$ce"-lnk
                           zenity --info --text="Fatto!"
                           lxlnk
                           ;; 

                         1)                          
                           zenity --info --text="File non selezionato!"
                           lxlnk
                           ;;

                        -1)                          
                           zenity --info --text="File non selezionato!"
                           lxlnk
                           ;;       

               esac
 
               exit 0

               ;;

             "Link simbolico cartella")
               ce=`zenity --file-selection --directory --title="Scegli la cartella da linkare"`
              
               case $? in
                         0)
                           ln -s "$ce" "$ce"-lnk
                           zenity --info --text="Fatto!"
                           lxlnk
                           ;; 

                         1)                          
                           zenity --info --text="File non selezionato!"
                           lxlnk
                           ;;

                        -1)                          
                           zenity --info --text="File non selezionato!"
                           lxlnk
                           ;;       

               esac
 
               exit 0

               ;;

             "Hard link")
               ce=`zenity --file-selection --title="Scegli il file da linkare"`

               case $? in
                         0)

                           ln "$ce" "$ce"-hlnk
                           zenity --info --text="Fatto!"
                           lxlnk
                           ;; 

                         1)
                           zenity --info --text="File non selezionato!"
                           lxlnk
                           ;;

                        -1)
                           zenity --info --text="File non selezionato!"
                           lxlnk
                           ;;

                esac

                ;;

esac

exit 0

;;

exit 0


Per usarlo ovviamente occorre avere zenity (di base in Ubuntu) quindi se non lo avete:
Codice: Seleziona tutto
sudo apt-get install zenity

Il mio scopo è fornire un .deb con lanciatore, ma in questo istante mi limito a postare il codice dello script, quindi se volete usarlo create un file di testo chiamato "lxlnk" e incollateci quanto sopra, rendetelo eseguibile (click dx -> proprietà -> permessi) e potete avviarlo con un doppioclick o da riga:
Codice: Seleziona tutto
./lxlnk



Lo script è stato scritto in pochi minuti quindi le funzioni sono piuttosto semplici:
Cosa fa:
            crea link simbolici a file e cartelle
            crea hard link a file

Cosa non fa e bisogna sviluppare:
            riconoscere link creati precedentemente con lo stesso nome (li sovrascrive, in poche parole vuol dire che potete creare solo un link per file alla volta fin che non spostate il link creato)
            link multipli (solo un file/cartella alla volta)

Perfezionamenti:
            adattare finestre

ma insomma ln da terminale non fa queste cose quindi avere la grafica è già un passo avanti  ;)

Spero possa tornare utile, fatemi sapere e fatemi sapere se potrebbe avere qualcos'altro.
Ecco uno screen:
Non si hanno i permessi necessari per visualizzare i file allegati in questo messaggio.
Ubuntu user #22995 Linux user #474679 UBUNTU+LXDE-9.10 Giochi Wii su Ubuntu!
In molti credono di essere degli alternativi. In realtà la maggior parte di loro lascia la strada principale per seguire la seconda strada più battuta; in pochi si creano il proprio sentiero.
Avatar utente
streetcross
Accecante Asceta
Accecante Asceta
 
Messaggi: 21045
Iscrizione: febbraio 2008

Re: [Progetto] lxlnk = Creare link su LXDE in maniera grafica (funziona anche su altri DE)

Messaggioda AlexDiste » lunedì 30 gennaio 2012, 15:50

Posso darti un consiglio, fai apparire anche la voce al menu che appare premendo con il tasto destro del mouse "Crea collegamento" e magari potresti anche supportare che se trascino un file da un posto all' altro con ctrl+alft+shift crea automaticamente il link (come fa windows), pensi di riuscire a gestire queste cose con il tuo software o serve un plugin del file manager?
È più utile riconoscere meriti di Windows e problemi di Linux piuttosto che negare la realtà per mero tifo. Altrimenti si chiama FUD.
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1316
Iscrizione: agosto 2009

Re: [Progetto] lxlnk = Creare link su LXDE in maniera grafica (funziona anche su altri DE)

Messaggioda streetcross » lunedì 30 gennaio 2012, 15:59

AlexDiste ha scritto:Posso darti un consiglio, fai apparire anche la voce al menu che appare premendo con il tasto destro del mouse "Crea collegamento" e magari potresti anche supportare che se trascino un file da un posto all' altro con ctrl+alft+shift crea automaticamente il link (come fa windows), pensi di riuscire a gestire queste cose con il tuo software o serve un plugin del file manager?
No purtroppo è impossibile, questo è solo uno script grafico per quello ci vuole una modifica in PCmanfm, che è comunque tra le cose da fare di suddetto software, questa è una soluzione momentanea in attesa dello sviluppo di pcmanfm che si spera raggiunga prima o poi la completezza (considera che è già stato riscritto da 0). Funziona come lo strumento per la creazione dei lanciatori, è una cosa indipendente infatti può essere usato su qualsiasi DE minimale sprovvisto di GUI al riguardo. (o anche su gnome ma sarebbe poco utile  ;D )
Avessi più tempo contribuirei allo sviluppo diretto di pcmanfm ma non potendo ho pensato ad una soluzione palliativa "ubuntu way" anzi "lubuntu way"  :)
Ubuntu user #22995 Linux user #474679 UBUNTU+LXDE-9.10 Giochi Wii su Ubuntu!
In molti credono di essere degli alternativi. In realtà la maggior parte di loro lascia la strada principale per seguire la seconda strada più battuta; in pochi si creano il proprio sentiero.
Avatar utente
streetcross
Accecante Asceta
Accecante Asceta
 
Messaggi: 21045
Iscrizione: febbraio 2008

Re: [Progetto] lxlnk = Creare link su LXDE in maniera grafica (funziona anche su altri DE)

Messaggioda cristian_c » mercoledì 22 febbraio 2012, 22:05

Ciao streetcross,
ho provato il tuo script perché mi serviva, ma quando seleziono il file da linkare appare la finestra con 'Fatto' senza chiedermi dove linkare il file ::)
Questo è il log del terminale:

Codice: Seleziona tutto
./lxlnk

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-buttons.css:159:10: Expected valid border

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:102:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:117:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:134:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:153:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:165:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:175:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:186:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:198:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:208:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:218:16: Themeing engine 'adwaita' not found

(zenity:6264): Gtk-WARNING **: Theme parsing error: gtk-bars.css:223:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-buttons.css:159:10: Expected valid border

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:102:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:117:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:134:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:153:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:165:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:175:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:186:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:198:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:208:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:218:16: Themeing engine 'adwaita' not found

(zenity:6285): Gtk-WARNING **: Theme parsing error: gtk-bars.css:223:16: Themeing engine 'adwaita' not found
ln: creazione del collegamento simbolico "/sys/devices/platform/coretemp.0/temp2_input-lnk": File o directory non esistente

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-buttons.css:159:10: Expected valid border

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:102:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:117:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:134:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:153:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:165:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:175:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:186:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:198:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:208:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:218:16: Themeing engine 'adwaita' not found

(zenity:6346): Gtk-WARNING **: Theme parsing error: gtk-bars.css:223:16: Themeing engine 'adwaita' not found
./lxlnk: riga 19: lxlnk: comando non trovato
UP! Unreal Project(la resurrezione), il futuro inizia qui | Post dell'anno!
Your questions are not dumb. The way to learn is to ask questions. Not asking is dumb
Avatar utente
cristian_c
Tenace Tecnocrate
Tenace Tecnocrate
 
Messaggi: 14122
Iscrizione: ottobre 2007


Torna a Progetti della Comunità

Chi c’è in linea

Visualizzano questa pagina: Nessuno e 1 ospite