Visualizzazione post con etichetta Terminale. Mostra tutti i post
Visualizzazione post con etichetta Terminale. Mostra tutti i post

domenica 7 agosto 2016

Password dimenticata: come reimpostare la password in Debian 8 GNU/Linux


Può succedere di dimenticare la password utente o quella di root (o entrambe) di un sistema che utilizziamo poco, vediamo un modo rapido per resettare le password.

Avviate il computer e attendete che compaia il menu di GRUB 2.

Utilizzando i tasti cursore su/giu selezionate la voce per avviare il sistema e premete il tasto 'e' per accedere alla modalità di modifica.

Sempre con i tasti freccia muovete il cursore alla fine della riga di avvio del kernel e aggiungete la voce “init=/bin/bash” in modo simile a quanto potete vedere nell'immagine.

modalità modifica in GRUB 2


A questo punto premete la combinazione di tasti Ctrl + x per avviare il sistema.

Alla fine della procedura di boot, invece di vedere la classica interfaccia grafica per il login, vi troverete nel terminale con accesso come root.

Il filesystem del sistema risulterà montato in modalità di sola lettura, dovrete abilitare la scrittura sul disco per poter modificare le password.
Digitate il comando:

mount -w -o remount /

Non vi resta che modificare la password di root digitando il comando:

passwd

Vi verrà chiesto di inserire due volte la nuova password.

Potrete anche modificare la password utente con lo stesso comando aggiungendo il proprio nome utente:

passwd nome_utente

Anche in questo caso dovrete reinserire la nuova password due volte.

Ora che avete ripristinato le password spegnete il computer e riavviate normalmente, ora avete di nuovo accesso completo al vostro sistema.

giovedì 19 novembre 2015

Come collegarsi alla rete Wi-Fi dal terminale


Di solito il computer si collega automaticamente alla rete Wi-Fi senza bisogno del nostro intervento, altre volte invece bastano pochi click per farlo. Può capitare però di trovarci di fronte al terminale e non avere alcuna interfaccia grafica per collegare il nostro computer alla rete Wi-Fi, per esempio quando l'installazione dei driver grafici non è andata a buon fine.
In questa breve guida vi mostrerò come collegarci dalla riga di comando.

Durante la guida darò per scontato che abbiate effettuato il login come root o che prima di procedere abbiate eseguito il comando su per eseguire i comandi come super utente. Altrimenti potete sempre anteporre la parola sudo ad ogni comando.

Trovare la scheda Wi-Fi installata


Prima cosa da fare bisognerà trovare la scheda Wi-Fi installata sul nostro computer, useremo il comando iw

> iw dev

Produrrà un output simile a questo

phy#0
Interface wlan0
ifindex 3
wdev 0x1
addr 9c:d2:1e:61:a6:86
type managed
channel 6 (2437 MHz), width: 20 MHz, center1: 2437 Mhz

Nel mio caso ho una scheda di rete Wi-Fi chiamata wlan0

Visualizzare lo stato della scheda Wi-Fi


Ora possiamo controllare lo stato della scheda con il seguente comando

> ip link show wlan0

Otterremo un risultato simile a questo

3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 9c:d2:1e:61:a6:86 brd ff:ff:ff:ff:ff:ff

Come potete intuire dalla parola DOWN lo stato della Wi-Fi è spenta.

Accendere la scheda di rete Wi-Fi


Per attivare la scheda Wi-Fi procediamo con

> ip link set wlan0 up

Controlliamo di nuovo lo stato

> ip link show wlan0

Questa volta il risultato dovrebbe essere questo

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 9c:d2:1e:61:a6:86 brd ff:ff:ff:ff:ff:ff

Notate come questa volta lo stato è UP

Controllare lo stato della connessione


Ora che la scheda Wi-Fi è attiva, controlliamo lo stato della connessione

> iw wlan0 link

il risultato sarà

Not connected.
Non siamo connessi.

Cercare le reti disponibili


Ora cerchiamo le reti Wi-Fi disponibili

> iw wlan0 scan

Otterremo una lunga lista di informazioni per ogni rete trovata come questa


BSS 9c:d3:6d:b4:a4:10(on wlan0) -- associated
TSF: 914250503275 usec (10d, 13:57:30)
freq: 2437
beacon interval: 100 TUs
capability: ESS Privacy ShortSlotTime (0x0411)
signal: -41.00 dBm
last seen: 172 ms ago
Information elements from Probe Response frame:
SSID: My_Network
Supported rates: 1.0* 2.0* 5.5 11.0 18.0 24.0 36.0 54.0
DS Parameter set: channel 6
ERP: Barker_Preamble_Mode
ERP D4.0: Barker_Preamble_Mode
RSN: * Version: 1
* Group cipher: CCMP
* Pairwise ciphers: CCMP
* Authentication suites: PSK
* Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c)
Extended supported rates: 6.0 9.0 12.0 48.0
HT capabilities:
Capabilities: 0x186c
HT20
SM Power Save disabled
RX HT20 SGI
RX HT40 SGI
No RX STBC
Max AMSDU length: 7935 bytes
DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 8 usec (0x06)
HT RX MCS rate indexes supported: 0-7
HT TX MCS rate indexes are undefined
HT operation:
* primary channel: 6
* secondary channel offset: no secondary
* STA channel width: 20 MHz
* RIFS: 1
* HT protection: no
* non-GF present: 1
* OBSS non-GF present: 0
* dual beacon: 0
* dual CTS protection: 0
* STBC beacon: 0
* L-SIG TXOP Prot: 0
* PCO active: 0
* PCO phase: 0
WPS: * Version: 1.0
* Wi-Fi Protected Setup State: 2 (Configured)
* Selected Registrar: 0x0
* Response Type: 3 (AP)
* UUID: 1620a1d7-a8d6-d819-4860-8a40e4e07abf
* Manufacturer: NETGEAR, Inc.
* Model: WNR1000v3
* Model Number: WNR1000v3
* Serial Number: 83258
* Primary Device Type: 6-0050f204-1
* Device name: WNR1000v3
* Config methods: Label, PBC
WMM: * Parameter version 1
* u-APSD
* BE: CW 15-1023, AIFSN 3
* BK: CW 15-1023, AIFSN 7
* VI: CW 7-15, AIFSN 2, TXOP 3008 usec
* VO: CW 3-7, AIFSN 2, TXOP 1504 usec

Le informazioni più importanti che ci occorrono sono il nome della rete ed il protocollo di sicurezza. Il nome della rete è quello che segue la parola SSID (Service Set Identifier), in questo caso è My_Network. Il protocollo di sicurezza è invece RSN, meglio conosciuto come WPA2.

Creare un file di configurazione WPA/WPA2


Per poterci collegare ad una rete Wi-Fi protetta da passphrase con protocollo WPA/WPA2 avremo bisogno di preparare un file di configurazione con questo comando:

> wpa_passphrase My_Network >> /etc/wpa_supplicant.conf

Subito dopo aver premuto invio dovremo digitare la passphrase per collegarci alla rete, quindi verrà creato il file di configurazione in /etc/wpa_supplicant.conf. Il file di configurazione così creato non andrà comunque a sostituire le configurazioni già esistenti.

Collegarsi alla rete Wi-Fi protetta da passphrase WPA/WPA2


Ora che abbiamo preparato tutto il necessario possiamo collegarci alla rete con

> wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf

Controlliamo di nuovo lo stato della connessione 

> iw wlan0 link

 Questa volta ci dovrebbe mostrare la connessione avvenuta.

Connected to 9c:d3:6d:b4:a4:10 (on wlan0)
SSID: My_Network
freq: 2437
RX: 10476343 bytes (59172 packets)
TX: 743393 bytes (5687 packets)
signal: -49 dBm
tx bitrate: 65.0 MBit/s MCS 6 short GI

bss flags: short-slot-time
dtim period: 0
beacon int: 100

Ottenere un indirizzo IP dal DHCP


Possiamo ottenere un indirizzo IP con il comando

> dhclient wlan0

E verificare l'indirizzo IP con

> ip addr show wlan0

Otterrete qualcosa come questo

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 9c:d2:1e:61:a6:86 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.5/24 brd 10.0.0.255 scope global dynamic wlan0
valid_lft 82996sec preferred_lft 82996sec
inet6 fe80::9ed2:1eff:fe61:a686/64 scope link
valid_lft forever preferred_lft forever

L'indirizzo IP è quello che segue la parola inet, in questo caso 10.0.0.5.

Testare la connessione


Per finire possiamo fare un test della connessione con il buon vecchio comando ping


Se il risultato è simile al seguente siete connessi

PING www.google.com (74.125.232.146) 56(84) bytes of data.
64 bytes from mil02s05-in-f18.1e100.net (74.125.232.146): icmp_seq=1 ttl=52 time=38.3 ms
64 bytes from mil02s05-in-f18.1e100.net (74.125.232.146): icmp_seq=2 ttl=52 time=37.9 ms
64 bytes from mil02s05-in-f18.1e100.net (74.125.232.146): icmp_seq=3 ttl=52 time=38.2 ms

Fermate l'esecuzione di ping con la combinazione di tasti Ctrl + c.

Il vostro sistema è online!





martedì 29 settembre 2015

Personalizzare il menù di GRUB 2 (Debian/Ubuntu e derivate): sistema operativo di default, immagine di sfondo e colore del testo


GRUB 2 è il bootloader di GNU, cioè quel programma che, all'avvio del computer, si occupa di caricare in memoria il kernel del sistema operativo.
Dopo aver installato la nostra distribuzione GNU/Linux preferita, all'avvio del PC, verrà visualizzato il menù di GRUB 2, dove potremo scegliere, tra le altre opzioni, quale sistema operativo caricare.
Vediamo quali modifiche possiamo apportare alla configurazione di GRUB 2 per adattarlo alle nostre necessità.

Questa guida è scritta in modo specifico per distribuzioni GNU/Linux Debian e derivate come Ubuntu e Mint. I concetti di base sono comunque validi anche su altre distribuzioni GNU/Linux.



Scelta del sistema operativo da avviare

Il comportamento di default di GRUB 2 è quello di attendere alcuni secondi la scelta dell'utente prima di avviare automaticamente il sistema operativo che ha installato GRUB 2 (in un PC con dual-boot Windows e GNU/Linux, quest'ultimo sarà avviato di default salvo scelta differente da parte dell'utente).

1) Cambiare il sistema operativo di default

Nel caso preferissimo avviare di default un altro sistema operativo basterà apportare la seguente modifica:

Avviate il terminale e portatevi sulla directory /etc/default con il comando cd

> cd /etc/default

Ora andremo a modificare il file grub contenuto in questa cartella (in questa guida userò il text editor nano, ma se preferite potrete utilizzarne un altro a piacimento).

> sudo nano grub

Verrà visualizzato un file di testo come il seguente:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

La righe che iniziano con il carattere # sono considerate commenti e quindi ignorate. Il sistema operativo di default è indicato dall'opzione GRUB_DEFAULT che di solito è impostato al valore 0, cioè il primo sistema indicato sulla lista di GRUB 2. Sostituendo 0 con un altro numero potremmo scegliere il sistema di default (0 il primo nella lista, 1 il secondo, 2 il terzo e così via).

Ora salvate le modifiche ed uscite dal text editor (se state utilizzando nano salvate con la combinazione di tasti Ctrl-O, confermando il nome del file premendo Invio. Quindi uscite con Ctrl-X).

Ora da terminale aggiornate la configurazione di GRUB2 eseguendo il seguente script:

> sudo update-grub

Ricordatevi che le sole modifiche al file grub non hanno alcun effetto sulla configurazione di GRUB2 se non eseguite lo script di aggiornamento. Ora potete riavviare e testare le modifiche apportate.

2) Avvio di default del sistema operativo utilizzato precedentemente

Questa opzione è quella che reputo più comoda, è particolarmente utile quando dobbiamo riavviare un sistema, come ad esempio a seguito di un aggiornamento del kernel.

Andiamo ancora a modificare il file grub in /etc/default. Per attivare questa opzione dovremmo aggiungere una riga prima di GRUB_DEFAULT ed inserire quanto seguente:

GRUB_SAVEDEFAULT=true

Questa opzione attiva il salvataggio dell'ultima scelta fatta. Ora modifichiamo la riga sottostante per scegliere come sistema di default quello salvato.

GRUB_DEFAULT=saved

Come prima salviamo il file ed aggiorniamo GRUB 2 eseguendo il solito script.

> sudo update-grub

Modificare l'aspetto del menu di GRUB 2

Una cosa comune alla maggior parte degli utenti GNU/Linux è la voglia di personalizzazione del proprio sistema, a partire dalla prima cosa che viene visualizzata dopo aver acceso il computer: il menu di GRUB 2.

1) Aggiungere un'immagine di sfondo al menu

Per avere un'immagine di sfondo basterà aggiungere questa opzione al solito file grub in /etc/default

GRUB_BACKGROUND="percorso del file immagine"

GRUB 2 supporta l'uso di immagini in formato PNG, JPG/JPEG e TGA. Scegliete accuratamente un'immagine della giusta risoluzione e fate in modo che sia salvata in uno dei formati supportati.

Ora la domanda è dove mettere l'immagine da utilizzare con GRUB 2?

Io ho l'abitudine di metterla in /usr/share/images/grub. Andate in /usr/share con il comando

> cd /usr/share

Ora visualizzate il contenuto per controllare se c'è una directory chimata images, se non c'è potrete crearla con il seguente comando

> sudo mkdir images

Ora andate all'interno della directory images

> cd images

Create la directory grub al suo interno

> sudo mkdir grub

Ora abbiamo una cartella dedicata a contenere le immagini destinate a GRUB 2. Copiate l'immagine che volete utilizzare con il comando cp. Per farlo andate nella directory dove avete l'immagine con il comando cd (per tornare alla propria home directory potete usare il comando cd senza indicare alcun percorso), quindi digitate

> sudo cp nome immagine /usr/share/images/grub/nome immagine

Se per esempio la vostra immagine si chiama splash.png scriverete

> sudo cp splash.png /usr/share/images/grub/splash.png

Ora andiamo a modificare il solito file grub in /etc/default per indicare il percorso completo dell'immagine nell'opzione GRUB_BACKGROUND, se per esempio l'immagine si chiama splash.png scriverete quanto segue

GRUB_BACKGROUND=”/usr/share/images/grub/splash.png”

Salvate e uscite dal text editor, quindi ricordatevi di aggiornare GRUB 2 con il solito script

> sudo update-grub

Ora riavviate ed ammirate il nuovo look.

2) Cambiare i colori del testo del menu

Potrebbe essere necessario cambiare i colori del testo del menu di GRUB 2 per migliorarne la leggibilità dopo aver aggiunto un'immagine di sfondo, o semplicemente perché vogliamo personalizzare anche questi.

Per cambiare i colori del testo dobbiamo modificare il file 05_debian_theme che si trova in /etc/grub.d

> cd /etc/grub.d

> sudo nano 05_debian_theme

Questo file di testo è molto lungo ed apparentemente abbastanza complesso. Dovete scorrere il file lentamente e trovare le seguenti righe:

if [ -z "${2}" ] && [ -z "${3}" ]; then
     echo " true"
fi

I colori che vogliamo modificare sono i seguenti:
  • - menu_color_highlight = sono i colori del testo evidenziato e del suo sfondo all'interno del box contenente il menù
  • - menu_color_normal = sono i colori del testo non evidenziato e del suo sfondo all'interno del box contenente il menù
  • - menu_color = sono i colori del testo e del suo sfondo al di fuori del box contenente il menù

La sintassi della scelta del colore è la seguente:

menu_color=colore_testo/colore_sfondo

E questi sono i colori accettati da GRUB2:
  • black
  • blue
  • brown
  • cyan
  • dark-gray
  • green
  • light-cyan
  • light-blue
  • light-green
  • light-gray
  • light-magenta
  • light-red
  • magenta
  • red
  • white
  • yellow

Ora modifichiamo le righe trovate precedentemente come segue:

if [ -z "${2}" ] && [ -z "${3}" ]; then
     #echo " true"
     echo " set color_highlight=red/green"
     echo " set color_normal=light-cyan/black"
fi

Abbiamo aggiunto il carattere # davanti alla riga echo “ true” per farla diventare un commento ed abbiamo aggiunto due righe con la scelta dei colori del testo evidenziato e non, all'interno del box contenente il menù.

Modificate a piacimento i colori, ma fate attenzione a non modificare il colore di sfondo di color_normal. Infatti se il colore di sfondo è impostato come black, questo sarà trasparente e lascerà vedere l'immagine sottostante, se lo modificate con un altro colore allora non sarà trasparente ed il risultato finale non sarà gradevole.

Al termine della modifica salvate il file e ricordate sempre di aggiornare la configurazione con lo script update-grub.

Riavviate e controllate che il look finale sia leggibile e di vostro gradimento.

giovedì 27 febbraio 2014

Raspberry Pi: come risolvere i problemi con la connessione HDMI

Sono in molti ad avere problemi di connessione del Raspberry Pi ad un televisore/monitor tramite la porta HDMI, spesso ci si ritrova davanti ad uno schermo completamente nero.
Anche io ho incontrato lo stesso problema, la connessione tramite video composito funzionava perfettamente, ma provando a collegarlo tramite HDMI nessun segnale!
La soluzione a questo problema si trova in un file di configurazione in /boot, andiamo subito a modificarlo con:

sudo nano /boot/config.txt

Il file si presenta con una lista di opzioni di configurazione e molti commenti che aiutano a capire a cosa serve ciascuna voce (il tutto ovviamente in inglese).
Le righe che iniziano con il carattere # sono commenti e di conseguenza vengono ignorati dal sistema, molte delle opzioni presenti nel file sono precedute dal suddetto carattere e quindi di fatto disabilitate. Per abilitare un opzione basterà rimuovere il carattere all'inizio della riga.

La prima opzione del file è hdmi_safe=1, che attiva la modalità “sicura”, cioè imposta i parametri per la massima compatibilità possibile con tutti i tipi di TV/monitor. Tenete presente che, se attivate questa opzione, la risoluzione in uscita sarà la standard VGA (640x480).

Saltando le opzioni relative alle dimensioni e posizione dello schermo, troverete hdmi_force_hotplug=1, che forza l'uscita video su HDMI anche quando non viene rilevato alcun monitor collegato. Il Raspberry Pi infatti, in fase di boot, verifica se è presente un monitor HDMI collegato, se non lo rileva viene impostata di default l'uscita video composito. Questa è l'opzione che ha risolto il mio problema!

Altra opzione degna di nota è hdmi_drive=2, che forza la modalità HDMI (video + audio), piuttosto che DVI (solo video).

Per finire, config_hdmi_boost=4, che rafforza il segnale e previene problemi di interferenze o assenza completa di segnale.

Ricapitolando, ho abilitato le seguenti opzioni ed ho risolto ogni problema:

hdmi_force_hotplug=1
hdmi_drive=2
config_hdmi_boost=4

Dopo aver concluso le modifiche salvate premendo i tasti Ctrl + o, premete il tasto Invio per confermare il nome del file, quindi uscite dall'editor con Ctrl + x.
Ora potete riavviare con sudo reboot e godervi l'uscita video sulla vostra TV.

mercoledì 18 dicembre 2013

Come abilitare TRIM per migliorare le prestazioni del SSD in Debian / Ubuntu

Che cos'è TRIM e perché conviene abilitarlo?
Il comando TRIM comunica al controller del SSD quali sono i blocchi attualmente non in uso, ad esempio quelli liberati a seguito della cancellazione di un file. Il mancato utilizzo del comando TRIM causa, nel lungo periodo, una rilevante riduzione delle prestazioni del SSD.
E' recente la notizia che Ubuntu 14.04 "Trusty Tahr" uscirà con la funzione TRIM per gli SSD abilitata di default, vediamo come abilitarlo anche in Ubuntu 13.10.

Prima cosa da fare è verificare che il nostro SSD supporti il comando TRIM, apriamo il Terminale e digitiamo:

sudo hdparm -I /dev/sda | grep "TRIM supported"

Se questo comando genererà una risposta simile a questa:

* Data Set Management TRIM supported (limit 8 blocks)

allora potete procedere, se al contrario non otterrete alcuna risposta vorrà dire che il vostro SSD non supporta TRIM.

Eseguire TRIM manualmente:

Prima cosa da sapere è come eseguire TRIM da terminale:

sudo fstrim -v /

Questo comando eseguirà TRIM sull'intero disco di sistema, ci vorrà qualche minuto per il completamento, abbiate pazienza ed aspettate, anche se sembrerà non esserci alcuna attività sul SSD.
Se avete più partizioni sul vostro SSD dovrete eseguire questo comando per ciascuna partizione, non fatelo per la partizione di swap in quanto non ne ha bisogno.

Far eseguire automaticamente TRIM dal sistema:

Ci sono diversi modi per far eseguire TRIM dal sistema in modo automatico, vediamo quali:

1. aggiungere l'opzione "discard" in fstab (NON CONSIGLIATO)

Aggiungere l'opzione discard nel vostro file fstab farà in modo che TRIM venga eseguito ogni qualvolta si cancella un file. Questo metodo non è consigliabile perché nel caso in cui dovete cancellare molti file il vostro SSD rallenterà vistosamente, inoltre è inutile eseguire TRIM ad ogni cancellazione di file. Comunque, nonostante lo sconsiglio, vi spiegherò come fare.

sudo nano /etc/fstab

Con questo comando apriamo il file fstab con l'editor di testo nano.
All'interno del file ci sono tante righe quante sono le partizioni che vengono integrate nel file system principale, ogni riga ha il seguente formato:

<file system> <punto di mount> <tipo> <opzioni> <dump> <pass>

La prima partizione in elenco è quella del sistema operativo, individuabile dal fatto che il punto di mount è /.
Dopo l'indicazione del tipo di filesystem, nel nostro caso ext4, ci sono le opzioni. Dovreste trovare le seguenti opzioni sulla partizione del sistema operativo:
errors=remount-ro
Aggiungete discard alle opzioni separando con una virgola, in questo modo:
discard,errors=remount-ro

Se avete altre partizioni del SSD potete fare lo stesso anche per le altre, ma ricordatevi di non farlo per la partizione di Swap che non ne ha bisogno.
Successivamente possiamo salvare premendo i tasti Ctrl + o, confermare il salvataggio premendo Invio, quindi uscire dall'editor con Ctrl + x.
Riavviate il sistema e avrete il TRIM attivo.

2. eseguire all'avvio del sistema TRIM aggiungendolo al file /etc/rc.local

Questo metodo eseguirà TRIM durante l'avvio del sistema, il prezzo da pagare è il rallentamento del boot, altra nota negativa è che su un PC sempre acceso non verrà mai eseguito. Personalmente non ho applicato questo metodo sul mio PC perché lo spengo e lo riavvio più volte al giorno, ma è una scelta valida per molti, vediamo come fare.

sudo nano /etc/rc.local

Il file si presenta sostanzialmente così:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0

Aggiungete il comando per invocare TRIM prima di exit 0, per ottenere questo:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
fstrim -v /
exit 0

Salvate  premendo i tasti Ctrl + o, confermate il salvataggio premendo Invio, quindi uscite dall'editor con Ctrl + x.
Riavviate il PC, da ora in poi, ad ogni avvio, verrà eseguito TRIM.

3. eseguire TRIM automaticamente una volta al giorno tramite /etc/cron.daily

Questo è il metodo che preferisco, TRIM verrà eseguito una volta al giorno all'ora stabilita da cron. Se il PC dovesse essere spento nell'ora stabilita, allora verrà eseguito non appena sarà possibile farlo.
Bene, vediamo come fare:

sudo nano /etc/cron.daily/trim

Creiamo un nuovo file chiamato trim all'interno di /etc/cron.daily, adesso scriviamo le seguenti righe:

#!/bin/sh
fstrim -v /

Ora salvate  premendo i tasti Ctrl + o, confermate il salvataggio premendo Invio, quindi uscite dall'editor con Ctrl + x.
Ora bisogna rendere il file appena creato eseguibile con il comando:

sudo chmod a+x /etc/cron.daily/trim

Riavviate il PC, da ora in poi TRIM verrà eseguito automaticamente una volta al giorno.

Un piccolo trucco per limitare le scritture sul SSD allo scopo di allungarne la vita:

Probabilmente saprete già che la longevità del vostro SSD è legata al numero di scritture eseguite. Effettuare spesso operazioni in scrittura ne accorcerà sicuramente la vita, ad esempio, una cosa da evitare, se si utilizza Windows, è la deframmentazione del disco!
Tornando ai sistemi GNU/Linux, un piccolo trucco per limitare le scritture su SSD è quello di disabilitare la scrittura della data di accesso ad un file. Per default, ogni volta si apre un file, il sistema operativo scriverà la data di accesso al file, questo si può disabilitare aggiungendo l'opzione "noatime" in /etc/fstab.
Dal Terminale digitiamo:

sudo nano /etc/fstab

Ora aggiungiamo l'opzione noatime per ottenere qualcosa di simile:

noatime, errors=remount-ro

Salvate con le solite combinazioni di tasti Ctrl + o, confermate il salvataggio premendo Invio, quindi uscite dall'editor con Ctrl + x.

Riavviate e godetevi a lungo il vostro SSD.

venerdì 1 novembre 2013

Installare ed utilizzare il metodo di input Anthy per la lingua giapponese

Per chi come me ha studiato (o studia) la lingua giapponese, è fondamentale installare sul proprio computer il metodo di inserimento dei caratteri giapponesi. Io ho sempre utilizzato il motore di inserimento chiamato Anthy, quindi, in questa breve guida, vi spiegherò come installarlo e configurarlo.
La distribuzione GNU/Linux che utilizzo è Ubuntu Gnome 13.10, la versione ufficiale di Ubuntu che sfoggia Gnome Shell versione 3.8.

Iniziamo con l'installazione dei pacchetti necessari.
In passato, sulle precedenti release di Ubuntu con Unity, ho sempre installato la lingua giapponese, completa di metodo di inserimento Anthy, tramite il pannello delle impostazioni "Supporto lingue". Bastava cliccare sul pulsante Aggiungi/Rimuovi lingua e spuntare la lingua giapponese, in Ubuntu Gnome 13.10 invece il pannello denominato "Regione e lingua" non ha alcun pulsante per installare una lingua aggiuntiva. Ci sono quindi due modi per aggirare l'ostacolo, installare il vecchio pannello "Supporto lingue" tramite l'Ubuntu Software Center o installare il giapponese direttamente dal Terminale.

Le impostazioni di sistema alle quali ho aggiunto il vecchio "Supporto lingue"

Seguiamo la via più diretta, aprite il Terminale e installiamo i pacchetti con i seguenti comandi:

> sudo apt-get update

Ricordatevi sempre di aggiornare la lista dei pacchetti prima di installare qualcosa.

> sudo apt-get install language-pack-ja language-pack-gnome-ja language-pack-ja-base language-pack-gnome-ja-base

Questo installerà le traduzioni in lingua giapponese del sistema.

> sudo apt-get install ibus anthy anthy-common ibus-anthy

Questo installerà il framework iBus (Intelligent Input Bus) ed il motore di inserimento Anthy per la lingua giapponese.

Ora che avete installato tutti i pacchetti necessari, avviate il programma di configurazione chiamato "Input method". Vi apparirà una finestra dal look piuttosto spartano dove non potrete fare altro (oltre che leggere le informazioni riportate) che cliccare su Ok per andare avanti.

Questo è la finestra spartana di Input Method Configuration

A questo punto vi chiederà se volete esplicitamente selezionare la configurazione e vi consiglierà di rispondere NO, voi invece cliccate su SI!

Vogliamo modificare la configurazione, quindi clicchiamo Si

Quindi vi chiederà di scegliere la configurazione di Input Method, scegliete iBus e cliccate su ok.

Selezioniamo iBus

L'ultima schermata riporterà delle informazioni riassuntive sulla configurazione scelta, cliccate Ok e il programma si chiuderà.

Schermata riepilogativa

Torniamo alle Impostazioni di sistema e aprite il pannello delle impostazioni "Regione e lingua", da qui potete scegliere la lingua di sistema e i metodi di inserimento da utilizzare.
Se cliccate sul tab Sorgenti di input troverete inizialmente la sola lingua italiana nell'elenco. Cliccate sull'icona + e selezionate Giapponese (Anthy), quindi cliccate su Aggiungi. Ora avete due metodi di inserimento nell'elenco, Italiana e Giapponese (Anthy).

Ora avete due sorgenti di input: italiana e giapponese

Selezionando la lingua giapponese comparirà un'icona delle opzioni di Anthy posta in basso, accanto a quella che raffigura la tastiera. Cliccando sulle opzioni potrete personalizzare minuziosamente le funzioni del motore di inserimento.
Una personalizzazione che vi posso consigliare è quella di utilizzare la disposizione della tastiera di default. Cliccate sul tab Typing method e selezionate Default per la Keyboard layout. Questo farà in modo di usare la disposizione della vostra tastiera, presumibilmente italiana, invece di quella americana o giapponese.

Pannello delle opzioni di Anthy

Come potete vedere nella parte destra della finestra, le scorciatoie da tastiera per cambiare metodo di inserimento sono Maiusc+Super+Spazio o Super+Spazio per andare rispettivamente al metodo precedente o a quello successivo. Per "Super" si intende il tasto contrassegnato dal simbolo di Windows sulle tastiere per PC (nel mio caso è il tasto Tux, visto che ho provveduto ad applicarci un apposito adesivo, vedi il post sugli adesivi per coprire il tasto Win), mentre su quelle Mac è il tasto Command (ex tasto Apple nelle tastiere dei vecchi Mac).

Il tasto Tux sulla mia tastiera Logitech

Potete anche notare che, nella barra dei menù posta nella parte superiore dello schermo, adesso avrete un nuovo menù che indica il metodo di inserimento in uso (it oppure あ) e vi permette di cambiarlo.

Un comodo menù per il metodo di inserimento

Bene, ora siete pronti a scrivere in giapponese, magari per tenervi in contatto con i vostri amici del Sol Levante.
Nel prossimo post vorrei parlarvi di Gnome Shell 3.8 e di come ho personalizzato il mio sistema.

venerdì 16 novembre 2012

Rinominare una serie di file con un unico comando dal Terminale


A chi non è mai capitato di dover rinominare una lunga serie di file, come ad esempio una collezione di foto? Farlo con l'interfaccia grafica di un qualsiasi file manager è una procedura lunga e noiosa, costringendo l'utente a dover cliccare su ogni file per rinominarlo a mano!
Con il comando rename possiamo rinominare una serie di file in un colpo solo.
La sintassi di questo comando è la seguente:

rename [espressione regolare] files

La sintassi dell'espressione regolare è quella di Perl, in sintesi ha questa forma:

s / caratteri da sostituire / nuovi caratteri /

Per quanto riguarda files, possiamo utilizzare delle wildcard per selezionare i file da modificare.
Vediamo alcuni esempi per chiarire:

rename s/.jpeg/.jpg/ *.jpeg

*.jpeg informa rename che deve prendere tutti i file che terminano con .jpeg, quindi l'espressione regolare s/.jpeg/.jpg/ sostituisce ogni occorrenza della stringa .jpeg con la stringa .jpg.
Quindi se abbiamo i file

a.jpg
b.jpeg
c.jpg
d.jpeg

rename modificherà rispettivamente

b.jpeg in b.jpg
d.jpeg in d.jpg.

La sintassi delle espressioni regolari, seppur inizialmente può apparire piuttosto complessa, è uno strumento potente e versatile. Tramite l'uso di metacaratteri possiamo ottenere delle espressioni più complesse, vediamone alcuni:

^    inizio della stringa
$    fine della stringa
*    nessuna o più ripetizioni
+    una o più ripetizioni
{}   numero esatto della ripetizione

Vediamo degli esempi pratici:

rename s/^/foto/ *.jpg

Aggiunge la stringa foto davanti al nome di tutti i file che terminano con .jpg, ad esempio
01.jpg diventerà foto01.jpg.

rename s/$/foto/ *.jpg

Aggiunge la stringa foto alla fine del nome di tutti i file che terminano con .jpg, ad esempio
01.jpg diventerà 01foto.jpg.

rename s/ae*/e/ *

Tutte le occorrenze di una 'a' che sia seguita da nessuna o più 'e', verranno sostituite con e.

rename s/ae+/e/ *

Tutte le occorrenze di una 'a' che sia seguita da una o più 'e', verranno sostituite con e.

rename s/a{3}/a/ *

Tutte le occorrenze di 'aaa' verranno sostituite con 'a'.

Per ulteriori informazioni sulla sintassi di rename potete consultare le istruzioni con il solito
man rename

Mentre per la sintassi delle espressioni regolari in Perl vi segnalo questa pagina.

domenica 29 aprile 2012

Problemi con Hard Disk esterni ed accesso ai file in Ubuntu? Potrebbe essere un problema di permessi dei file


Premessa
I sistemi Unix-like gestiscono tutto come file, le directory tramite cui sono ordinati i file sono anch'esse file, lo stesso vale per i dispositivi, i singoli processi, ecc. Tutti i file hanno associati un utente proprietario, un gruppo di utenti e dei permessi che ne regolano l'accesso. Solo il super utente "root" ha la possibilità di accedere a qualsiasi file nel sistema senza tenere conto dei permessi.

Utilizziamo il Terminale
Il terminale è lo strumento che ci permette di visualizzare ed eventualmente modificare i proprietari ed i permessi di accesso ai file. Questo potente e flessibile strumento è temuto e ritenuto troppo complicato da molti utenti, soprattutto da quelli poco pratici degli ambienti Unix-like, ma in realtà, con un minimo di pratica, si dimostra molto più efficace e veloce di qualsiasi gestore di file con interfaccia grafica.

Visualizzare proprietari e permessi con il comando ls
Per poter visualizzare i proprietari ed i permessi dei file possiamo usare il comando ls con l'opzione -l, digitiamo quindi:
ls -l
e vedremo la lista dei file contenuti nella directory corrente arricchita da diverse informazioni, come ad esempio:

drwxr-xr-x 2 massi massi 4096 feb 7 14:52 Documenti
-rw-r--r-- 1 massi massi 179 feb 7 14:36 examples.desktop
drwxr-xr-x 2 massi massi 4096 apr 24 11:28 Immagini
drwxr-xr-x 2 massi massi 4096 feb 7 14:52 Modelli
drwxr-xr-x 2 massi massi 4096 feb 7 14:52 Musica
drwxr-xr-x 2 massi massi 4096 feb 7 14:52 Pubblici
drwxr-xr-x 5 massi massi 4096 apr 27 16:43 Scaricati
drwxr-xr-x 2 massi massi 4096 apr 28 13:15 Scrivania
drwxr-xr-x 2 massi massi 4096 apr 27 23:42 Video

la prima stringa di lettere rappresenta i permessi di accesso ai file, analizziamo insieme quella relativa alla directory Documenti:
d il primo carattere, ci informa che il file è una directory;
rwx è la prima terna di caratteri che rappresentano i permessi di accesso del proprietario, r sta per read (lettura), w sta per write (scrittura) e x sta per execute (esecuzione). Quindi il proprietario ha la facoltà di leggere, scrivere ed eseguire il file.
r-x è la seconda terna e rappresenta i permessi del gruppo a cui appartiene il file. In questo caso gli appartenenti al gruppo hanno facoltà di lettura ed esecuzione, ma non di scrittura.
r-x è l'ultima terna e si riferisce a tutti gli altri utenti. I permessi sono gli stessi riservati al gruppo, cioè lettura ed esecuzione.

Successivamente abbiamo il nome del proprietario e quello del gruppo, tutti i file sono di proprietà dell'utente massi e del gruppo massi.

Modificare il proprietario e il gruppo dei file
Per modificare il proprietario e il gruppo di un file usiamo il comando chown.

Ad esempio creiamo un file di prova con il seguente comando:

touch prova

Il comando touch creerà un file con il nome prova, il proprietario e il gruppo sarà quello dell'utente corrente. Se volessimo cambiare il proprietario del file prova con l'utente paolo ed il gruppo lavoro scriveremo:

sudo chown paolo:lavoro prova

Ora il proprietario sarà paolo ed il gruppo lavoro. Come vedete dall'esempio è necessario usare il comando sudo per poter ottenere il permesso di modificare il proprietario ed il gruppo di un file.

Modificare i permessi di accesso di un file
Per modificare i permessi di accesso di un file utilizziamo il comando chmod, anche in questo caso è necessario utilizzare sudo.

I permessi di accesso di prova sono -rw-rw-r--, che vuol dire accesso in lettura e scrittura per il proprietario e gli appartenenti al gruppo, accesso solo in lettura per gli altri. Nessuno ha il permesso di eseguire il file.

La sintassi del comando è: chmod [ugoa] [+-=] [permessi] [file]

Il primo gruppo di parametri serve ad indicare a quali tipologia di utenti vogliamo applicare le modifiche di accesso.
u sta per user, cioè il proprietario del file.
g sta per group, cioè il gruppo.
o sta per others, cioè tutti gli altri.
a sta per all, tutti senza distinzioni.
Ad esempio, volendo modificare i permessi di accesso al proprietario e al gruppo scriveremmo ug, se invece volessimo modificare i permessi agli altri utenti scriveremmo o, se ancora volessimo applicarle a tutti scriveremmo a oppure ugo.

Il secondo gruppo di parametri serve ad indicare se vogliamo aggiungere un permesso con + o toglierlo con -.

Nel terzo gruppo di parametri andremo a specificare quali permessi vogliamo modificare, quindi r per lettura, w per scrittura e x per esecuzione.

Torniamo al nostro file d'esempio prova e poniamo il caso volessimo aggiungere il permesso in scrittura per tutti gli altri utenti:

sudo chmod o+w prova

Ora i permessi di prova saranno -rw-rw-rw-

Problemi con Hard Disk esterni causati dai permessi di accesso

Se vi è capitato di collegare un hard disk esterno e questo non appare nell'elenco delle periferiche nel Nautilus, mentre su un altro sistema viene riconosciuto senza problemi, allora potreste avere un problema di permessi di accesso.

Provate a collegare l'hard disk e poi aprite il Terminale e digitate il comando:

cd /media

per impostare come directory corrente /media. In questa directory troveremo tutte le periferiche collegate rappresentate da rispettive directory. Proviamo a visualizzarne il contenuto con le informazioni dettagliate dei proprietari e dei permessi di accesso con il comando:

ls -l

Se vedete una directory con il nome dell'hard disk che il Nautilus si rifiuta di mostrarvi allora questa è la conferma che il problema sta nei permessi di accesso.

Qui entra in gioco il permesso di accesso in esecuzione di cui non abbiamo parlato in precedenza. Questo permesso, applicato ai file eseguibili, permette all'utente di avviare l'esecuzione del file. Per i file di tipo directory invece assume un altro ruolo, cioè permette l'accesso e l'utilizzo della directory stessa. Se ad esempio utilizziamo il comando cd su una directory che non ha il permesso in esecuzione, questo fallirà e non riuscirà ad impostare la directory corrente.

Detto questo, torniamo al nostro hard disk che poniamo il caso si chiami esterno. Se vogliamo che qualunque utente possa accedere all'hard disk possiamo verificare che i permessi di accesso r (in lettura) e x (in esecuzione) siano garantiti a tutti. Se così non fosse possiamo modificare i permessi di accesso digitando il comando:

sudo chmod a+rx esterno

Ora sul Nautilus dovreste poter vedere il disco esterno.

In questo breve tutorial ho parlato molto brevemente dei comandi chown e chmod, per ulteriori informazioni dettagliate sulle opzioni e sui parametri accettati da questi comandi vi consiglio di guardare la documentazione offerta con il comando man.
Ad esempio digitando man chown avrete accesso alla documentazione dettagliata del comando.