Guida al desktop Linux – 2° puntata

Nella prima puntata della nostra guida, abbiamo parlato dei DE principali presenti nel mondo GNU/Linux, con la puntata di oggi invece, spostiamo la nostra attenzione sui Window Managers.

Un WM è un componente di un DE, tuttavia lo si può usare anche come interfaccia grafica. Sembra quasi impossibile, tuttavia lo è eccome.

Di WM ne esistono tantissimi (per averne la prova, cliccate qui) e ognuno ha le sue caratteristiche (e i suoi fan più o meno sfegatati) ma possiamo dividerli in due categorie principali (nonostante li si possa dividere in più di 3 categorie in realtà prendiamo le 2 più importanti):

  • con compositing
  • senza compositing

la differenza, presa da wikipedia, è la seguente:

In un compositing window manager le finestre vengono disegnate separatamente e solo successivamente composte insieme per generare l’immagine finale, mentre in un stacking window manager tutte le finestre vengono disegnate tutte insieme nella stessa immagine partendo da quella più in secondo piano fino a quella più in primo piano.

Tra i WM più famosi possiamo citare Mutter, Compiz, Enlightenment, Openbox, Fluxbox, twm, i3wm, Awesome… Di seguito qualche notizia in più sui WM più diffusi e usati dagli utenti.

Enlightenment

Enlightenment è sicuramente il più interessante tra tutti in quanto è accompagnato da moltissime applicazione ausiliarie che quasi ti fanno pensare di usare un vero e proprio DE invece di un semplice WM.  Ha un’interfaccia molto ricca e moderna con molti temi a disposizione dell’utente per personalizzare la propria esperienza.

Probabilmente è il WM che richiede più risorse in assoluto (LXDE ad esempio ne utilizza di meno per funzionare ed è un DE!) ma è anche quello che più si avvicina a un ambiente desktop completo e che offre un buon grado di personalizzazione senza dover smanettare con file di configurazione o doversi appoggiare a plugin per disegnare pannelli sul desktop.

screenshot-e17

Openbox

Basato su Blackbox, OB è tra i WM più famosi e viene utilizzato anche da alcuni DE. Il suo elevato grado di personalizzazione unito ai tanti temi disponibili contribuiscono a renderlo la prima alternativa valida a un DE. Inoltre con l’installazione di qualche componente extra che si occupi di pannelli e vassoio di sistema, si può creare un’interfaccia grafica minimale, leggera e completa.

screenshot-openbox

i3

Per coloro che sono dediti all’uso intensivo della tastiera e che non amano particolarmente il mouse, i3 offre l’ambiente perfetto. Leggero, minimale e incentrato all’uso della tastiera, oltre al consumo estremamente limitato di risorse di sistema, lo rendono ideale per tutti i computer datati e per chi vuole avere un destop il più minimale possibile ed estremamente configurabile (i3 offre infatti un’estrema configurazione, ci sono pagine e pagine di documentazione online su cosa modificare e come per personalizzare tutti gli aspetti di questo WM).

La comunità alle spalle di i3, così come per altri WM stacking o tiling che siano, è molto ricca e folta e questo è sicuramente un punto a favore.

screenshot-i3

Se volete avere un desktop il più minimale possibile allora i WM sono quello che fa per voi (anche se escludendo Enlightenment e Openbox, non è consigliato per un utente poco esperto l’uso di un WM, a meno che non si voglia leggere e imparare molte molte pagine di documentazione), per sapere quale scegliere o quale provare, potete leggere questa pagina della wiki di arch, che da una buona panoramica su molti window manager più o meno famosi.

Noi ci rivediamo nella prossima e ultima puntata.

Fritzing si aggiorna e passa alle qt5

Fritzing, il noto programma di disegno elettronico, raggiunge una nuova versione, la 0.9.0b, introducendo molti e interessanti cambiamenti.

Di frtzing, avevo già parlato qualche tempo fa, si tratta di un programma open-source e multipiattaforma dedito al disegno elettronico di schemi PCB, schemi elettronici e montaggi con breadboard. Sul sito di fritzing sono molti gli esempi e i tutorial di come realizzare il proprio progetto, oltre a molti altri progetti interessanti già sviluppati che le persone vogliono condividere.

La nuova versione è stata portata in qt5, il che rende possibile notevoli miglioramenti della velocità e della stabilità del programma. Il porting in qt5, permette in teoria il porting dell’applicazione per Android e iOS creando così un’applicazione per i dispositivi mobile di disegno EDA. Come si legge dall’annuncio ufficiale, questa possibilità non è stata ancora esplorata, ma spero che venga presa in considerazione.

La nuova versione introduce inoltre nuovi microcontrollori e componenti, quai ad esempio:

  • ADI analog parts
  • Intel Galileo
  • Arduino Yún e Linino One
  • ChipKIT WF32, MX4 e relativi shield
  • Spark Core
  • Atlas Scientific sensors
  • Teensy 3.0/3.1
  • Più versioni di Raspberry PI

Se volete installare la nuova versione, andate su questa pagina e scaricate il pacchetto. Se usate AUR, potrete installare la nuova versione digitando al solito:

yaourt -S fritzing

Le istruzioni su come installare l’applicazione le trovate nella pagina di download. 

Dropbox nuova interfaccia in qt

Gli sviluppatori di Dropbox hanno la rilasciato la versione 2.11.0 del client per Linux, includendo anche la nuova interfaccia scritta in qt.

Dopo la nuova funzione streaming sync, che permette di visualizzare un file anche prima del completamento del download (come se stessimo vedendo un video in streaming appunto) e di velocizzare l’upload e il download di file di grandi dimensioni, ecco che arriva, in versione ancora non stabile, il nuovo client per Linux dal design nuovo che permette grazie alle qt una perfetta integrazione con il desktop.

Tra le novità troviamo il supporto per display ad alta densità di pixel (HiDPI), una grafica rivista per il login al client e diverse ottimizzazioni che permettono di ridurre il quantitativo di RAM utilizzato dall’applicazione.

Se volete provarlo e testarlo, controllate che la nuova versione, la 2.11.0,  sia disponibile nei repo della vostra distro (gli utenti di Arch troveranno la nuova versione dentro AUR). Se così non fosse, allora seguite i seguenti passaggi.

Per prima cosa installate wget, se non lo avete già installato.

In Ubuntu digitate:

sudo apt-get install wget

di seguito, se avete un computer 32 bit digitate:

dropbox stop
cd && wget https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86-2.11.0.tar.gz
tar -xvf dropbox-lnx.x86-2.11.0.tar.gz
dropbox start
rm dropbox-lnx.x86-2.11.0.tar.gz

per i 64 bit invece:

dropbox stop
cd && wget https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.x86_64-2.11.0.tar.gz
tar -xvf dropbox-lnx.x86_64-2.11.0.tar.gz
dropbox start
rm dropbox-lnx.x86_64-2.11.0.tar.gz

Il primo comando serve a chiudere il client nel caso in cui stia funzionando già sul vostro computer.

A questo punto, potete avviare Dropbox dal vostro application launcher e vi troverete la nuova interfaccia.

Se volete tornare al vecchio client, ovvero alla versione stabile, digitate:

dropbox stop
rm -r .dropbox-dist/
dropbox start

Il workspace di Linux Torvalds!

Come parte dell‘ultima campagna targata Linux Foundation, chiamata 30 Linux Kernel Developer Workspaces in 30 Weeks (letteralmente: 30 workspaces degli sviluppatori del kernel linux in 30 settimane), anche il padre di Linux, Linus Torvalds, ha mostrato in un video il suo workspace.

Sicuramente non è come penso molti di voi se lo siano aspettati: c’è un caos assurdo! 

Ma lascio a voi i commenti, eccovi il video i 4 minuti che mostra Linus e il suo workspace.

Anche la vostra scrivania di lavoro è così disordinata? Commentate e fatecelo sapere!

[How To] Customizzare il prompt dei comandi

Il prompt dei comandi è la stringa che vedete comparire quando aprite un emulatore di terminale. In genere è del tipo:

root@frugalware-chaos:/home/chaosware#

ovvero:

nomeuntente@hostname:cartella

Non tutte le distribuzioni hanno lo stesso output, questo perchè il prompt dei comandi è relativamente facile da mosidifacare a proprio piacimento, vediamo come fare!

Il pompt dei comandi è controllato da 4 variabili della shell, PS1, PS2, PS3 e PS4, ognuna ha le sue caratteristiche e serve a personalizzare una specifica parte di output:

PS1 : il valore di PS1 è quello usato dalla prima stringa dell’output. Il valore di default è \s-\v\$ .
PS2 : il valore di PS2 è usato come output secondario. Di default vale >
PS3 : il valore di PS3 è usato come valore per il comando seleziona
PS4 : il valore di PS4 precede ogni output del prompt di terminale. Il primo carattere di PS4 viene replicato più volte per indicare i valori multipli di interazione.Il valore di default è +

Nonostante tutta questa abbondanza, per avere un bell’output ci basta modificare la variabile PS1.

A questo punto, apriamo il file ~/.bashrc (se volete modificare il loook del prompt dell’utente) oppure /etc/bashrc (per modificare l’output di root, per modificarlo dovrete avere i permessi di superutente) e modifichiamo PS1 a nostro piacimento.

Mettiamo ad esempio:

PS1="scrivi istruzione:"

Ecco l’output:

schermata3

Bash permette di personalizzare questa prima stringa modificando colori, output etc, basta utilizzare i seguenti codici:

\a : carattere ASCII
\d : la data nella versione "giorno della settimana / mese / giorno del mese (Gio Mag 5 )
\D{formato} : il parametro format viene visualizzato come output (in pratica permette di modificare quello che viene cisualizzato dal comando precedente)
\e : Un carattere ASCII di escape (033)
\h : il nome dell'hostname fino al primo punto '.'
\H : l'hostname completo
\j : il numero di processi controllati attualmente dalla shell
\l : il nome della shell del dispositivo
\n : nuova linea
\r : ritorno a capo
\s : il nome della shell, il basename di $0 (porzione finale che segue l'ultimo slash)
\t : l'ora corrente nel formato 24 ore HH:MM:SS
\T : l'ora corrente nel formato 12 ore HH:MM:SS
\@ : l'ora corrente in formato 12 ore am/pm
\A : l'ora corrente nel formato 24 ore HH:MM
\u : username dell'utente corrente
\v : la versione di bash
\V : la release di bash, versione + patch (ex. 2.00.0)
\w : la directory attuale di lavoro, con $HOME indicata con ~
\W : il nome della attuale direcotry di lavoro, con $HOME indicata con ~
\! : il numero storico del comando
\# : il numero del comando
\$ : se l'UID è 0, restituisce #, altrimenti $
\nnn : il carattere corrsipondente a un numero ottale nnn
\\ : uno slash
\[ : inizio di una sequenza di caratteri non stampabili
\] : fine della sequenza di caratteri non stampabili

ad esempio mettiamo:

PS1="[\d \t \u@\h:\w ] $ "

Il risultato è il seguente:

schermata4

Per aggiungere i colori invece, si deve usare la seguente sintassi:

'\e[x;ym $PS1 \e[m'

il significato è il seguente:

\e[ :  inizia lo schema di colori
x;y : seleziona il paio di colori da usare (x;y)
$PS1 :  è il tuo prompt
\e[m : fine dello schema di colori

Di seguito eccovi i comandi per i colori (preso dalla wiki di arch linux)

# Reset
Color_Off='\e[0m' # Text Reset

# Regular Colors
Black='\e[0;30m' # Black
Red='\e[0;31m' # Red
Green='\e[0;32m' # Green
Yellow='\e[0;33m' # Yellow
Blue='\e[0;34m' # Blue
Purple='\e[0;35m' # Purple
Cyan='\e[0;36m' # Cyan
White='\e[0;37m' # White

# Bold
BBlack='\e[1;30m' # Black
BRed='\e[1;31m' # Red
BGreen='\e[1;32m' # Green
BYellow='\e[1;33m' # Yellow
BBlue='\e[1;34m' # Blue
BPurple='\e[1;35m' # Purple
BCyan='\e[1;36m' # Cyan
BWhite='\e[1;37m' # White

# Underline
UBlack='\e[4;30m' # Black
URed='\e[4;31m' # Red
UGreen='\e[4;32m' # Green
UYellow='\e[4;33m' # Yellow
UBlue='\e[4;34m' # Blue
UPurple='\e[4;35m' # Purple
UCyan='\e[4;36m' # Cyan
UWhite='\e[4;37m' # White

# Background
On_Black='\e[40m' # Black
On_Red='\e[41m' # Red
On_Green='\e[42m' # Green
On_Yellow='\e[43m' # Yellow
On_Blue='\e[44m' # Blue
On_Purple='\e[45m' # Purple
On_Cyan='\e[46m' # Cyan
On_White='\e[47m' # White

# High Intensity
IBlack='\e[0;90m' # Black
IRed='\e[0;91m' # Red
IGreen='\e[0;92m' # Green
IYellow='\e[0;93m' # Yellow
IBlue='\e[0;94m' # Blue
IPurple='\e[0;95m' # Purple
ICyan='\e[0;96m' # Cyan
IWhite='\e[0;97m' # White

# Bold High Intensity
BIBlack='\e[1;90m' # Black
BIRed='\e[1;91m' # Red
BIGreen='\e[1;92m' # Green
BIYellow='\e[1;93m' # Yellow
BIBlue='\e[1;94m' # Blue
BIPurple='\e[1;95m' # Purple
BICyan='\e[1;96m' # Cyan
BIWhite='\e[1;97m' # White

# High Intensity backgrounds
On_IBlack='\e[0;100m' # Black
On_IRed='\e[0;101m' # Red
On_IGreen='\e[0;102m' # Green
On_IYellow='\e[0;103m' # Yellow
On_IBlue='\e[0;104m' # Blue
On_IPurple='\e[0;105m' # Purple
On_ICyan='\e[0;106m' # Cyan
On_IWhite='\e[0;107m' # White

Mettiamo ad esempio il colore cyano alla riga di sopra:

PS1="\[\e[4;36m\]\d \t \u@\h:\w $ \e[4;36m"

il risultato è il seguente:

schermata5

 

Un altro modo per modificare i colori è tput, seguendo i codici della tabella sotto, iniziamo dal testo:

tput bold - Set bold mode
tput dim - turn on half-bright mode
tput smul - begin underline mode
tput rmul - exit underline mode
tput rev - Turn on reverse mode
tput smso - Enter standout mode (bold on rxvt)
tput rmso - Exit standout mode
tput sgr0 - Turn off all attributes

passiamo ai colori:

tput setab [1-7] - Set a background color using ANSI escape
tput setb [1-7] - Set a background color
tput setaf [1-7] - Set a foreground color using ANSI escape tput setf
[1-7] - Set a foreground color

ed ecco i codici dei colori:

0 - Nero
1 - Rosso
2 - Verde
3 - Giallo
4 - Blu
5 - Magenta
6 - Cyano
7 - Bianco

E con questo abbiamo finito, abbiamo un terminale cutomizzato come piace a noi, aggiungendo ance screenfetch e la trasparenza, ecco il risultato:

schermata6

HTML Snippets Powered By : XYZScripts.com