Eseguire codice python in gedit

Salve a tutti!

Riprendo al volo il blog per aiutare un lettore (ciao Stefano!) che ha commentato il mio precedente post completamento testo in gedit dicendo:

manca solo la possibilità di avviare il mio codice python direttamente da gedit e poi è perfetto! esiste un plugin che permette di fare questo (per evitare di uscire dall’editor e andare a scrivere da terminale)?

Ebbene, il plug-in esiste ed è distribuito insieme a gedit stesso: si tratta di “Strumenti esterni” (a.k.a. External Tools).

Il plug-in è molto potente e permette di scriptare in bash il nostro gedit e associare a questi script delle scorciatoie da tastiera in modo da averli sempre a disposizione. Fra gli script presenti di default abbiamo per esempio uno per rimuovere gli spazi di fine riga.

Nel nostro caso lo script è abbastanza semplice, tanto che ho pensato di lasciarvi una semplice schermata in cui sono visualizzati tutti i parametri usati, in modo che basta impostare i settaggi come in foto e avrete magicamente la possibilità di eseguire il vostro codice python direttamente da gedit!

NB1: io ho impostato F5 come shortcut, voi potete usare quello che più vi aggrada

NB2: importante! io uso Arch Linux, dove python 2 viene lanciato con il comando “python2″ mentre usando semplicemente “python” viene lanciato python 3. Per quanto ne so è una caratteristica solo di Arch, quindi se non vi funziona lo script provate a mettere “python” e dovrebbe filare tutto liscio.

Di seguito la schermata:

Eseguire codice python direttamente da GEdit

Enjoy!

Intervista a GCampax, italianissimo coder di Gnome e delle sue estensioni!

Bentrovati ragazzi!

Post speciale quest’oggi, ho infatti il piacere di presentarvi la mia prima intervista!

Avendo avuto modo di conoscere Giovanni Campagna, l’italianissimo manutentore della pluriscaricata estensione dock di gnome-shell e di tantissime altre! Ho ben pensato di chiedergli un’intervista e, come potete vedere, la mia richiesta è stata esaudita :)

Bando alle ciance quindi, e iniziamo con le domande!

Ciao Giovanni, innanzitutto benvenuto e grazie per aver accettato l’invito!

Di nulla, ci mancherebbe!

L’inizio è d’obbligo: presentati ai nostri lettori :)

Salve, sono Giovanni Campagna e sono uno studente del primo anno di ingegneria informatica al Politecnico di Milano, che a tempo perso contribuisce a GNOME, soprattutto per la Shell.

Come sei entrato a far parte del fantastico mondo Linux? È stato amore a prima vista?

Il primo sistema con Linux (un Red Hat 9) l’ho avuto molti anni fa, poi ero passato per un periodo a Kubuntu (8.04 la prima), che però puzzava di distro poco supportata perché Ubuntu come desktop primario ha GNOME, quindi avevo installato Fedora KDE (ero giovane e inesperto!). Sono passato a GNOME attorno a Fedora 12, e il motivo principale è che GNOME è il desktop ufficiale di GNU (che non vuol dire nulla, ma comunque…). Ci sono stati negli anni un po’ di conflitti, e tante giornate passate davanti a un terminale fisico cercando di recuperare il recuperabile, però ormai ci sono affezionato. In più, straordinariamente, a me il sistema funziona ormai out-of-the-box, mentre a chi cerco di diffonderlo da una pila di problemi.

Qual è stato il tuo primo contributo al mondo FLOSS (Free Libre Open Source)?

Non ricordo esattamente come ci fossi arrivato, però a un certo punto sono capitato sulle pagine di design della Shell, mi son detto “figo!”, e da lì ho cominciato a “rompere le balle” in bugzilla. Il primo bug in assoluto era una richiesta di API per cominciare a scrivere estensioni (all’epoca [2.27.spiccioli] delle estensioni c’era solo l’idea e il modo di caricare un file JS), con lo scopo di usarle per gli indicatori di stato (ossia le icone in alto a destra nel pannello della Shell che raggruppano funzionalità specifiche in comodi menù, N.d.R.), che sono stati la mia prima occupazione e ad oggi il contributo più grande che ho dato alla Shell. (L’idea era che Ubuntu già usciva con gli appindicators, e upstream GNOME non poteva essere da meno)

Che ne pensi di Gnome 3 e della nuova impostazione all’esperienza Desktop che sta portando avanti?

All’inizio ero scettico anch’io per certi versi (soprattutto l’assenza di una taskbar), poi in realtà è una questione di abitudine. A un certo punto uno comincia a doppio-cliccare le finestre per massimizzarle (in gnome3 il pulsante per massimizzare la finestra è stato rimosso, lo si può comunque reimpostare facilmente, N.d.R.), o a muovere il mouse nell’angolo per cambiare app, o aspettarsi che lo spazio di lavoro sparisca insieme all’ultima finestra, anche quando usa un altro sistema (rimanendo per un attimo perplesso).

Va detto che la Shell è davvero bella da vedere, assolutamente non paragonabile a GNOME 2, ma nemmeno a KDE 4.7.

Quanto all’impostazione in generale, sono contento che ci stiamo dirigendo verso un GNOME OS, unico per tutti, un vero e proprio prodotto integrato destinato all’utente finale, anche se nella fase di transizione potrebbe far comodo essere più aperti verso le distribuzioni (vedi la questione del control center).

Cosa ti ha spinto a partecipare attivamente allo sviluppo di estensioni per Gnome-shell? Sentivi la mancanza di qualcosa?

Per alcune sì, in particolare alternative-status-menu, dato che ancora oggi non riesco a capire perché, perché, perché uno debba premere Alt per spegnere il computer (o peggio, fare prima logout) (di default è impostata la sospensione…, N.d.R.). In generale però l’idea era che molta gente aveva postato la propria estensione sulla mailing list, e dopo un po’ rischiavano di andare perse nel mucchio (eravamo prima della 3.0, e le lamentele erano all’ordine del giorno), quindi decisi di aprire un repository per contenerle tutte (o per lo meno, quelle più importanti o meglio sviluppate). Nel tempo, soprattutto dopo le release stabili, ci sono stati tanti altri centri di aggregazione (come le Frippery o le MGSE), e sono esplosi con l’apertura di extensions.gnome.org, ma l’idea originale era raccogliere e conservare il lavoro degli altri.

Sul sito extension.gnome.org risulti essere uno degli sviluppatori più attivi, sono tutte tue?

Assolutamente no. Io figuro come “owner” di quelle estensioni perché sono il loro manutentore e periodicamente le aggiorno (oltre a correggere bug e garantire che continuino a funzionare shell dopo shell), ma originariamente sono state scritte praticamente tutte da altri. Completamente mie sono removable-drive-menu, alternative-status-menu e monitor-status-indicator (e tutte e tre nascevano come modifiche alla core shell).

Qual è fra le tue estensioni quella a cui tieni di più? Quali quelle che usi regolarmente?

Ovviamente alternative-status-menu! Quanto all’uso però non sono regolare, sia perché sono convinto dell’esigenza di “una shell” e non mille, e sia perché, dovendo alternare tra la versione 3.3.* e la 3.2.*, ogni volta sono sempre installate per la versione sbagliata.

L’era pre-gnome3 ha visto un esplosione di dock (docky, awn, cairo-dock, plank), una competizione che ha portato ad avere prodotti molto validi e ricchi di funzionalità (in alcuni casi anche troppe, sto pensando a cairo-dock…). Con gnome 3 e soprattutto con le notifiche poste in basso al centro dello schermo l’interesse per queste dock è andato scemando. Come ti poni nei loro confronti? Ce n’è qualcuna che ti piace particolarmente e a cui ti inspiri?

Non ho mai usato dock esterne, né per GNOME né prima per KDE, dato che ritengo ibridino il sistema, mescolando toolkit e policy da progetti diversi. Per quanto avanzata e ben fatta, una dock non può sostituirsi a un componente del sistema operativo che opera in accordo al compositor e al resto della shell (e il fatto che X lo permetta è un difetto incolmabile che Wayland risolverà), quindi secondo me spariranno da sole, o rimarranno vive per i “desktop modulari” come Xfce o LXDE.

In quest’ottica, quali sono i progetti futuri per la tua dock? Quali novità potremo attenderci in futuro?

La dock, come per altro tutte le altre estensioni, sono in maintenance mode, dato che se ci sono funzionalità davvero utili, queste devono finire nella core shell e non in un’estensione. Quanto a novità, probabilmente cercherò di riallinearmi alla dash, sia come stile, sia come contenuto dei menu (che, forse, presto guadagneranno delle jumplist), cercando di sfruttare più codice possibile. Oltre a quello, beh, cercherò di fixare i vari problemi.

Mai come in questo momento il mondo Desktop è in fermento: ogni team cerca di dare la sua visione di quella che sarà l’esperienza utente del futuro, cercando di ibridarla con il mondo tablet e mobile oramai difficile da ignorare. Che ne pensi dei tentativi di far convivere interfacce touch e ‘mouse-driven’? Gnome3 è forse l’ambiente che più si sta muovendo in questo senso…

Che, si può dire quello che si vuole, ma “cic e ciac, pinch e stich” è davvero figo, e io non vedo l’ora di avere uno schermo full touch. Naturalmente, a questo si affianca una tastiera fisica, ma l’idea di ridurre l’uso del mouse esterno (che è scomodo da portare in giro e su un sacco di superfici non funziona bene) secondo me è appropriata. Per altro, la Shell non è affatto un’interfaccia “per tablet”, se mai è un misto che cerca di adattarsi a tastiera (Super, Alt-Tab), mouse (hot corner, message tray), touch (on screen keyboard, workspace/app view), cercando di sfruttare il meglio di tutti e tre, e secondo me ci riesce abbastanza bene. Meglio della concorrenza, se non altro.

Che ne pensi di Unity?

È Ubuntu. E patcha (apporta modifiche, sue o di terzi, al codice originale, N.d.R.), pesantemente, per riuscire ad avere l’integrazione necessaria.

Come desktop in sé non è male, soprattutto per la ricerca che sfrutta le varie applicazioni installate (per altro, questo prima o poi arriverà anche alla Shell). Poi vabbè, notify-osd è una cosa impossibile, sempre in mezzo quando non serve.

E del progetto Elementary?

Non lo conosco molto, ma mi sembra una cosa di nicchia.

KDE, forse il DE linux tecnologicamente più avanzato. Cosa ne pensi? Personalmente non sono mai riuscito a farmelo piacere, e si che ci ho provato :-)

Come ho detto, KDE l’ho usato per un periodo, ed è anche bellino, se uno ci impiega quella settimana circa a renderlo usabile. Il problema è che non si può pretendere che un utente sappia cos’è il “backend di Solid” o il “plasmoide delle notifiche Freedesktop”. E poi i menu delle app KDE fanno paura, ci sono troppe cose inutili! (su quest’ultimo punto non posso che concordare… N.d.R.)

Linux Mint cerca invece di far convivere le nuove tecnologie di Gnome3 con una visione classica del desktop (MGSE, Cinnamon). È la strada da seguire?

Da un lato, rimanere con GNOME 2 e correlati è sicuramente sbagliato, perché (a parte GTK in sé, e Glib che non hanno aggiornato), praticamente tutte le librerie sono state o stanno per essere deprecate. Dall’altro, è una questione di quale metafora desktop si vuole perseguire. Al desktop summit di quest’anno mi è rimasta impressa una frase “GNOME 2 was the perfect Windows 95”: se a uno piaceva quello, ben venga, ma certo non può negare che il mondo va avanti, e la taskbar classica o il menu come quello di Windows XP/Vista/7 sono concetti ormai superati.

Terminiamo questo excursus fra i vari ambienti desktop con “il principale esponente dello schieramento a noi avverso” (cit.): che ne pensi di Metro, la nuova interfaccia del futuro Windows 8?

L’ho vista, ma non l’ho provata. Sembra però troppo phone/tablet-like, nel senso che si focalizza sul sistema e sul social (fornendo quindi ad esempio accesso da una sola schermata alla posta e alla chat). Sarebbe da vedere com’è usare un Visual Studio o una Creative Suite su un sistema così.

Personalmente non sono molto aggiornato sul mondo Apple, hai qualche opinione sull’OS della mela morsicata?

Non so molto neanche io, tranne che è molto lucido e tuttavia privo di reali funzionalità. Una trappola per allocchi con elevata disponibilità a pagare.

Ok siamo arrivati al termine di questa lunga intervista, c’è qualcosa che vorresti aggiungere prima di salutarci?

È scontato, però spero che a questo punto passiate tutti a un sistema con GNOME 3.4, abbandonando il male (Windows, Mac) e il meno bene (Unity).

Grazie mille per il tempo concessoci, ora puoi tornare a sviluppare :-)

Torno ad Analisi 1, a dire la verità, ma non diciamolo troppo forte in giro!

Aggiungiamo un po’ di Unity in Gnome Shell

Non uso Ubuntu.

L’ho usato ai suoi inizi, l’ho apprezzato moltissimo, ma ora non lo uso.

Troppi cambiamenti, troppo distacco dal main stream, troppo VIP per un tipo fondamentalmente underground come me.

Ho però Ubuntu installata sul mio computer, ultima versione. E ho avuto modo di provare Unity. Non ci ho capito molto, ma una cosa mi piaceva: la dock a sinistra a scomparsa.

Molto comoda per lanciare le applicazioni (meno per gestirle), e soprattutto poco intrusiva. Eppoi la posizione, li, a sinistra, ci sta proprio bene.

Utilizzando Gnome Shell avvertivo la necessità di un modo veloce e semplice per lanciare applicazioni, bisogno aggravato dal fatto che Kupfer su archLinux ha smesso di funzionare e su OpenSuse proprio non c’è.

Ora, far partire ogni volta l’animazione della shell cliccando Activities soltanto per lanciare un programma (e doverlo ripetere ogni volta se i programmi da lanciare sono più di uno) è decisamente tedioso…

Ma per fortuna la scella è estendibile! Quindi basta attivare questa estensione (dock) per poter avere un comportamento simile a Unity anche su Gnome Shell.

Per installarla basta accedere al sito da Firefox e mettere ad ON lo switcher affianco al nome dell’estensione.

Una volta installata, potrete configurare la dock modificando, per gnome 3.2, il file extension.js, sezione Settings, presente in /home/vostro_nome_utente/.local/share/gnome-shell/extensions/dock@gnome-shell-extensions.gcampax.github.com/ (per le versioni successive di Gnome invece i cambiamenti possono essere fatti direttamente da GSetting)

Nell’immagine che vedete ho posto la posizione della dock a left (è ideale li IMO) e ho cambiato l’effetto di presentazione della dock in RESCALE.

Come potete vedere si può anche scegliere la dimensione delle icone, la velocità dell’animazione, e se tenere la barra sempre visibile o meno.

Occhio a non cambiare i setting successivi, che sono gli stessi ma vanno tenuti impostati a quei valori per motivi di sincronizzazione con il master branch del progetto.

Difetti di questa estensione:

- la dock non si nasconde completamente

- installandola si aggiunge un livello di ridondanza al design di Gnome, avendo di fatto due barre da cui lanciare le applicazioni

Sperandoo di essere stato utile (se avete bisogno chiedete pure) vi lascio con un video dell’estensione all’opera.

Enjoy!!!

extension.gnome.org: la rivoluzione che nessuno nota

Riassunto:

In principio c’era gnome2, che era figo ma parecchio figo, ma un po’ vetusto.

Dopo venne gnome3, che era al passo coi tempi ma ancora da rifinire con martelletto e scalpelletto.

Nel mentre che si aspettava, i bravi designatori (designer in inglese) di Gnome3 pensarono bene di dare la possibilità ai loro volenterosi utenti di estendere le funzionalità del desktop environment tramite estensioni.

Nulla di nuovo, le estensioni non le hanno certe inventate loro. Quindi il bravo gnomo avvierà il suo gestore pacchetti, uno dei tanti, della sua distro preferita, una delle tante, e installerà la sua brava estensione, sperando che sia stata pacchettizzata (non è detto) e che sia all’ultima versione (non è detto).

Da pochi giorni però c’è una novità: è attivo il sito https://extensions.gnome.org/ (occhio, è in versione alpha) che raccoglie tutte le estensioni create dagli sviluppatori, permette di conoscerle, votarle, commentarle (tutto molto social, nevvero?) e, soprattutto, INSTALLARLE!!!

Ora, al netto di dubbi più o meno legittimi sulla sicurezza di installare software da un sito, la novità che sfugge a tutti è che questa è la prima volta a memoria d’uomo (correggetemi se sbaglio)¹ che è possibile installare software in maniera distro-agnostica!!!

Non importa che distro stai usando, può essere pure vattelapesca-linux (ottima distro invero), basta accedere al sito, mirare, cliccare e… ecco qui, la tua bella estensione automagicamente installata e attiva.

Non solo, oltre ad installare nuove estensioni, e possibile anche comodamente gestire quelle già installate, attivarle, disattivarle, eliminarle. Tutto da una semplice pagina web, comoda, fascinosa e semplice da usare.

Conclusione: hai flessibilità (ti scegli la distro che più ti garba) e unicità (le estensioni che vuoi sempre disponibili) insieme, mica male eh?

Enjoy!

¹ certo i file binari installabili su qualsiasi distro esistono da tempo, ma non sono per nulla integrati nel sistema operativo e solitamente li si evita come la peste…