Aprire una directory remota con Emacs e Tramp

Questo articolo ha lo scopo di spiegare come associare un tasto per aprire una directory remota nel Dired buffer dell’editor Emacs. Se state pensando che si tratti di un’operazione molto semplice, allora probabilmente avete già raggiunto un alto livello di esperienza con Emacs, potete regolarvi liberamente e passare oltre ciò che sto per dire. In caso contrario forse troverete questa guida utile.

Avendo avuto l’esigenza di imparare il linguaggio di programmazione PHP, mi capita di scrivere il codice d’esempio che trovo nei libri e di provarlo direttamente sulla mia VPS (Virtual Private Server) online. Inizialmente effettuavo un login sul server e con l’editor “Vi” creavo e modificavo i file sorgenti, ma questo procedimento si è rivelato quasi subito improduttivo. Inoltre, avrei potuto perdere gli esercizi qualora la connessione si fosse interrotta prima del backup. Dato che quell’editor non mi soddisfava, ho cercato una soluzione alternativa. Così ho scelto Emacs, per alcuni buoni motivi: è un editor per terminale a caratteri che si integra bene anche nel desktop grafico; si possono estendere le sue funzioni con il linguaggio lisp ed oggi è possibile usarlo in tutte le applicazioni che richiedono un editor di testo, dalla programmazione in linguaggio C alla lettura della posta elettronica. Sono stati creati pacchetti che aggiungono giochi, IDE, debugging, web server, ecc. “Alcune caratteristiche utili di Emacs sono a portata di mano, ma qualche volta occorrono anni per scoprirle“ (cit. Great Emacs Features).

Il Dired buffer di Emacs
Il Dired buffer di Emacs

Ho accennato al Dired: è il buffer di Emacs (Dired sta per Directory Edit) contenente l’elenco dei file di una directory. Qui è possibile compiere le operazioni di file management. Consiglio di aprire l’editor con questo buffer; voi potete entrare in dired mode aggiungendo la seguente istruzione lisp al file di configurazione .emacs che trovate nella home del vostro account Unix.


;;
;; Dired mode
;;
(custom-set-variables 
      ‘(initial-buffer-choice “~/”))

Ci sono utenti Unix che usano soltanto Emacs perché è un ambiente di lavoro potente e completo, grazie all’interprete Lisp che permette di estenderlo continuamente con nuove funzioni. Per esempio, Tramp è un pacchetto distribuito con Emacs per modificare i file remoti. Quest’esigenza è veramente diffusa oggi, dato che spesso i programmatori e gli amministratori di sistema devono avere a che fare con la gestione di file che risiedono su un altro calcolatore collegato alla Rete. Tramp usa una connessione con shell remota fra quelle disponibili: rlogin, telnet o ssh, e può trasferire i file usando rcp o un programma simile. Siccome queste applicazioni non sempre sono presenti su un sistema Unix è bene accertarsi di averle altrimenti Tramp non funzionerà. Ad ogni modo è possibile configurare Emacs mentre è in esecuzione: premere prima i tasti M-x, inserire nel mini buffer il comando customize-variable, inviare e specificare la variabile tramp-default-method. Emacs è dotato di autocompletamento pertanto la pressione del tasto TAB evita gli errori di scrittura. Naturalmente è ancora valido il file di configurazione .emacs visto in precedenza, qui dovremmo semplicemente aggiungere il seguente codice Lisp

;;
;; Tramp default method
;;
(require ‘tramp)
(setq-default tramp-default-method “ssh”)

Avete bisogno che sia attiva la connessione remota nel Dired buffer per modificare la variabile tramp-default-method mentre state eseguendo Emacs. La sintassi che vi permette di aprire una directory è simile a quella usata per cercare o creare un file sul computer locale, ovvero


C-x C-f /user@host#port:/path/to/directory/or/file

Qui C-x e C-f corrisponde alla pressione dei tasti CTRL+x e CTRL+f, il resto è un percorso di file preceduto dall’indirizzo e dalla porta ssh del server, dal nome dell’utente di login, separati dal simbolo della posta elettronica. Se volessimo usare un solo tasto per aprire la directory remota più utilizzata? Dobbiamo conoscere il linguaggio Lisp, ma non è un problema. Un trucco comune applicato dagli utenti dell’editor Emacs consiste nell’utilizzare l’istruzione repeat-complex-command. Dopo aver digitato il comando Tramp per l’apertura di una directory remota, dobbiamo premere C-x ESC ESC e il mini buffer presenterà l’espressione eLisp corrispondente all’ultima azione compiuta. Voi potete copiarla e incollarla nel vostro file di configurazione .emacs con alcune opportune aggiunte, come ho fatto io.

(find-file "/ferocious@192.168.0.3#21002:/home/web/sandbox/php t)

Il binding, cioè l’associazione di un tasto a un’azione, si realizza con la seguente istruzione lisp generale:

(global-set-key KEY COMMAND)

A noi serve una funzione che possa essere inserita nell’espressione precedente come un comando (al posto di COMMAND) e che faccia l’operazione che desideriamo. Una funzione in Lisp è un blocco di codice racchiuso fra parentesi tonde, io le ho assegnato il nome find-file-remote e ho espressamente specificato che richiede per funzionare il modulo Tramp. Notare che ogni istruzione deve essere altresì specificata fra parentesi all’interno del blocco.

;;
;; Binding for Tramp operations
;;
(defun find-file-remote ()
(interactive)
(require ‘tramp)
(find-file “/ferocious@192.168.0.3#21002:/home/web/sandbox/php”))

Ora dobbiamo compiere l’ultimo passo: la scelta del tasto da abbinare all’operazione di connessione che va specificato come argomento nell’espressione Lisp con global-set-key.

(global-set-key (kbd “C-<f5>”) ‘find-file-remote)

In Rete è facile trovare tutorial che affrontano l’argomento del binding, cioè l’associazione di tasti ad azioni particolarmente ripetute, in tutte le sue sfaccettature perché Emacs è tra gli editor largamente utilizzati su Unix. Uno dei principali punti di forza è l’interprete eLisp che permette di aggiungere funzioni all’ambiente di lavoro. Poiché l’editor si basa su Lisp ci si devono allora aspettare operazioni che possono essere implementate solo con questo linguaggio di programmazione. Tuttavia per raggiungere lo scopo di questo articolo è servito più intuizione che padronanza della materia.

Il driver Nvidia e il problema di num_physpages

A luglio Linus Torvald rimosse la variabile num_physpages dalla versione 3.11 del kernel di Linux. Questa decisione ha però determinato una conflittualità tra il codice sorgente del driver fornito da Nvidia e il kernel stesso. La num_physpages era definita nel gestore mm della memoria di Linux.

Oggi, l’ultimo driver stabile di Nvidia è il 319.60 e ci sono ancora i riferimenti alla variabile suddetta nel file d’intestazione nv-linux.h. Se anche voi avete una distribuzione con il kernel 3.11 (o più recente) e tentate, come ho fatto io, di compilare il driver per le schede video, otterrete il seguente messaggio di errore:


In file included from /tmp/selfgz4790/NVIDIA-Linux-x86_64-319.49/kernel/os-interface.c:26:0:
   /tmp/selfgz4790/NVIDIA-Linux-x86_64-319.49/kernel/os-interface.c: In function ‘os_get_system_memory_size’:
   /tmp/selfgz4790/NVIDIA-Linux-x86_64-319.49/kernel/nv-linux.h:1040:41: error: ‘num_physpages’ undeclared (first use in this function)
    #define NV_NUM_PHYSPAGES                num_physpages
                                            ^

Come già detto, num_physpages è stata tolta da Torvalds, quindi per il momento non c’è altra soluzione che correggere il file nv-linux.h del driver con una patch oppure un editor di testo. Potete scaricare la patch dalla Rete, ma si tratta di un file specifico per una particolare versione del driver di Nvidia che dovreste adattare alla vostra situazione. A questo indirizzo troverete le istruzioni per procedere nel modo corretto. Oltre a servirvi di una patch, in alternativa potete modificare il file nv-linux.h durante l’installazione del driver, per esempio seguendo questa procedura:

  1. Eseguite l’installer di Nvidia con l’opzione -x, il comando decomprirà l’archivio che contiene il codice sorgente del driver.
  2. Modificate il file nv-linux.h, che trovate nella directory kernel, con un editor, vi oppure gedit vanno benissimo.
  3. Cercate la riga che ha la seguente definizione in linguaggio C #define NV_NUM_PHYSPAGES   num_physpages, dovreste trovarla inserita fra altre definizioni, esattamente come nell’esempio sottostante:
    
    #if !defined(NV_VMWARE):
    #define NV_NUM_PHYSPAGES                num_physpages
    #define NV_GET_CURRENT_PROCESS()        current-&gt;tgid
    #define NV_IN_ATOMIC()                  in_atomic()
    
  4. Dopo la riga corrispondente all’istruzione condizionale #if, ma prima della definizione #define NV_GET_CURRENT_PROCESS ecc. dovete creare un nuovo blocco che corrisponda al seguente codice per il preprocessore C:
    
    #if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3, 11, 0)</p>
    #define NV_NUM_PHYSPAGES                get_num_physpages()
    #else</p>
    #define NV_NUM_PHYSPAGES                num_physpages
    #endif
    
  5. Ultimate le vostre modifiche, avrete esattamente questo:
    
    #if !defined(NV_VMWARE)
    #if LINUX_VERSION_CODE &gt;= KERNEL_VERSION(3, 11, 0)</p>
    #define NV_NUM_PHYSPAGES                get_num_physpages()
    #else
    #define NV_NUM_PHYSPAGES                num_physpages
    #endif</p>
    #define NV_GET_CURRENT_PROCESS()        current-&gt;tgid
    #define NV_IN_ATOMIC()
    
  6. Potete ora chiudere l’editor ed eseguire il comando nvidia-installer che trovate nella directory principale del driver.

Ubuntu 13.10 è in circolazione da poco tempo e utilizza un kernel recentissimo che non è compatibile con il driver per le schede video GeForce. Il bug dovrebbe essere ormai già noto ai programmatori di Nvidia, anche se il problema non sembra molto diffuso fra gli utenti. In questo caso è bastato cercare la patch con un motore di ricerca, usando i termini num_physpage, kernel 3.11 e Nvidia. Vista l’importanza raggiunta da Linux, e in particolare dalla distribuzione Ubuntu, mi aspetto da un giorno all’altro un driver che sia compatibile con il recente kernel 3.11 e 3.12.

Nvidia non deve abbassare i prezzi

Dovrebbe abbassare i prezzi Nvidia? A questa domanda una fonte che conosce profondamente l’industria delle schede video ha detto, in un’intervista rilasciata alla rivista PCR, che non è necessario un gioco al ribasso sul prezzo di listino delle GeForce Titan. La fonte ritiene che il nuovo processore grafico Radeon R9 290X  di AMD non batterà di molto il modello di prima classe di Nvidia. I benchmark di alcuni siti specializzati mostrano quest’oggi una differenza modestissima di FPS: con un test di 45 secondi fatto eseguendo il gioco Tom Raider a qualità “ultra” e alla risoluzione di 3840×2160, è risutato che solo quattro frame per secondo separano le due schede. Inoltre, c’è anche una diceria che circola intensamente a proposito di un modello erede del Titan che Nvidia metterebbe in vendita per competere meglio con il nuova accelleratore grafico di AMD. Se fosse vera, sarebbe opportuno effettuare il taglio al prezzo della Titan.

Diamoci un taglio
Diamoci un taglio

Al di là dell’aspetto economico di queste schede di prima classe, bisogna considerare che si tratta di bench effettuati a risoluzioni HD, pochi giocatori le usano. Inoltre, queste schede per il momento non hanno sbocco nel gaming sotto Linux dove tra i driver dei due produttori c’è troppa disparità di qualità (vd. i recenti bench di Miachael Larabel) e l’offerta di video game è limitata.

Fonte:

  1. ‘Nvidia doesn’t need to lower prices to compete with new AMD R7/R9 cards’

Nouveau e CPUFreq: Geforce 9800 supera GTX680

Il recente test di Michael Larabel sul driver AMD open source, fra le due versione del kernel 3.11 e 3.12 (da git), ha reso evidente un miglioramento delle prestazioni del computer. Lo stesso test è stato ripetuto con il driver Nouveau, però in questo caso il guadagno è risultato minimo con le schede denominate Kepler e Fermi. Per quale motivo? Il motivo è che il driver open source non supporta ancora il reclock, ovvero la selezione del livello delle prestazioni della GPU.

I cambiamenti nel codice di CPUFreq (il modulo che governa la frequenza d’esercizio della CPU) hanno giovato alle GPU Radeon, ma non a tutte quelle di marca nVidia. Da tempo c’è la possibilità di fare “re-clocking” delle schede grafiche GeForce: fino alla serie 7 il reclock avveniva in fase di boot e non interessava la velocità della VRAM; a partire dalla serie 8, i modelli M dei portatili avevano la capacità di riaggiustare sia il clock della RAM video sia quello del core della GPU. Questa modifica fu decisa per ridurre i consumi energetici quando la GPU si trovava per lo più in riposo. Il clock era impostato a una velocità intermedia fra il valore massimo e quello minimo d’esercizio. Con le GeForce 200 il clock al boot era impostato a ⅓ della velocità massima della GPU. Con le schede video denominate Fermi (dalla serie 400 alla 600) le prestazioni sono peggiorate perché il clock di default è al 10% della frequenza massima d’esercizio e non c’è ancora modo di fare reclock usando il driver Nouveau. Per questo motivo nel test di Michael la scheda 9800GTX ha superato una GeForce GTX680.

PTS: Nouveau bench con Xonotic
PTS: Nouveau bench con Xonotic

Thermaltake Silver-River II

Ho sia un PC desktop che un portatile e cercavo una soluzione per gestirli con un unico profilo utente, senza spendere tanti soldi. Potevo mantenerne due sincronizzati ma così avrei sprecato troppo spazio (all’incirca 8 GB di dati) e tempo tra upload e download da uno all’altro; inoltre sarei stato costretto a lasciare i due computer accesi per la sincronizzazione. Nel mio caso era meglio condividere un disco rigido fra i due elaboratori.
Il Thermaltake Silver River II è un dispositivo ultra compatto con collegamento USB per il trasporto dei dati memorizzati su un hard disk di tipo SATA da 2.5” di larghezza, quelli comunemente montati all’interno dei portatili.

Confezione Silver-River II
Confezione Silver-River II

La scatola di questa componente hardware ha dimensioni contenute, di solido cartone e con una veste grafica elegante. Lo sfondo bianco mette subito in risalto l’immagine dell’apparecchio posta al centro della parte superiore della scatola. Le informazioni tecniche più dettagliate sono riportate sul lato inferiore, mentre sui fianchi appaiono alcune piccole foto dei suoi caratteri distintivi: la rifinitura a taglio di diamante; la superficie di metallo trattata con abrasivi e verniciata di nero; l’indicatore LED e gli accessori presenti nella confezione (il cacciavite, la custodia protettiva, la garanzia e le istruzioni d’installazione). L’imballaggio nel complesso garantisce l’adeguata protezione del dispositivo.

Un imballaggio accurato
Un imballaggio accurato

Il montaggio è una procedura elementare, tant’è che le istruzioni sono stampate sulla singola facciata di un foglio volante e descrivono una sequenza di sei operazioni, dall’apertura del box al collegamento USB:

  1. Togliere la coppia di viti che sigillano il contenitore.
  2. Sfilare il pannello di controllo per l’unità disco rigido.
  3. Collegare l’hard disk da 2” alla presa SATA del circuito stampato.
  4. Infilare la memoria di massa nel corpo del dispositivo Silver-River II.
  5. Avvitare le viti.
  6. Connettere il cavo USB alla presa del box e a quella del PC.
Collegamento unità - scheda
Collegamento unità – scheda

A questo punto, con il computer acceso e collegato all’unità, ho effettuato un test della velocità di lettura, prima con un programma generico e grafico (il gestore di dischi di Ubuntu), successivamente con un programma specifico e orientato ai caratteri (il ben noto hdparm). Dati alla mano, le prestazioni in fase di lettura erano il cinquanta per cento di quelle dello stesso disco rigido quando montato all’interno del PC. Thermaltake non dichiara il transfer rate del Silver-River II, ma è risultato nella media per questo tipo di periferica: 32 MB/s (si veda a tal proposito l’altro mio test su un Hard Disk esterno con Icy Box).

Test Samsung HM321HI esterno
Test Samsung HM321HI esterno

Nella scelta di un drive portatile, l’importante è che l’alimentazione sia fornita dal collegamento USB, per minimizzare l’ingombro e agevolare l’installazione; il Silver-River II ha questo prerequisito. La trasportabilità, la condivisione e il salvataggio (backup) dei dati, sono gli altri tre aspetti che contano. Anche se è possibile utilizzarlo per avviare il sistema operativo, non risulta conveniente perché il segnale trasmesso viaggia al di sotto della massima banda disponibile, ovvero circa la metà del collegamento USB (480 Mbit/s) e un terzo del canale SATA (1500 Mbit/s).

Collegamento Silver-River II
Collegamento Silver-River II

 

Debunking di giochi per Windows

Vorrei sfatare la credenza, assai diffusa, della inferiorità di Linux rispetto a Windows nell’attività ludica col computer. Dopo molti anni passati a smanettare con i sistemi operativi open source, ho deciso di scrivere un debunking del falso mito “Windows è migliore di Linux” perché ritengo che i vecchi pregiudizi siano ormai superati, si diceva e si dice ancora oggi che il sistema operativo di Microsoft ha più videogiochi, possiede API specifiche per programmare il suono e la grafica, c’è il software di controllo (driver) della scheda video con prestazioni eccezionali, e via discorrendo. Non è più così.
Ultimamente vengono fatti sempre più spesso tentativi di ridimensionare la cattiva fama di Linux in questo particolare ambito dell’informatica e la letteratura sull’argomento si sta arricchendo (vd. anche il tag debunking), segno che i tempi cominciano davvero a cambiare.

L'incontro fra Microsoft e Linux
L’incontro fra Microsoft e Linux

Molte persone si lamentano per la scarsità di giochi, la realtà è però diversa, loro vorrebbero poter eseguire i giochi preferiti su Linux. Ci sono quattro semplici soluzioni a questo problema: cercare un titolo equivalente, ma di tipo open source; individuare quelli multi-piattaforma (i cosiddetti cross-platform); provare con Wine; predisporre il computer con il dual boot (il doppio sistema di avvio).
Ogni sistema operativo ha una rispondenza di mezzi ai fini e delle aree d’impiego dove dimostra di essere superiore rispetto alle piattaforme software alternative. Nel progetto originario di Linux non c’era l’obiettivo di avvicinare la gente ai videogiochi perché chiaramente esistevano già le console dedicate. Linux è stato prima un software di nicchia dei geek, poi una scelta obbligata per gli esperti e i professionisti con un’ampia conoscenza di UNIX, Internet e reti di computer; tuttavia oggi i suoi utilizzi sono ben più ampi e gode di crescente popolarità in nuovi campi. Linux viene infatti apprezzato nella computer grafica, nella ricerca scientifica, nel mobile computing, e nello svago – come cercherò di dimostrare.

Quando c’era Loki Software (dal 1998 al 2001), i migliori giochi di Windows venivano “portati” su Linux, erano Quake III Arena, Civilization: Call to Power, Myth II, Soldier of Fortune, Railroad Tycoon II, Descent II e tanti altri. Finalmente una software house faceva investimenti nel settore, al pari di Microsoft o Apple. Distribuiva anche diversi strumenti (poi diventati free software) che semplificavano la procedura di installazione, configurazione o rimozione del gioco stesso: il programma Loki Installer, le librerie SDL e OpenAL (ancora ampiamente utilizzate). Seppur coraggiosa ed originale, l’impresa terminò purtroppo dopo appena tre anni per bancarotta. I PC Games dominavano il mercato e la maggior parte dei giocatori, potendo avviare sia Windows che Linux, era contraria ad acquistare due versioni dello stesso gioco. Inoltre la vendita avveniva per corrispondenza, ad esempio tramite il negozio Tux Games, dato che era difficile trovare i Loki Games sugli scaffali dei supermercati. Comunque un’altra software house, la compagnia Linux Game Publishing, continuò l’impresa riproponendo un discreto numero di videogiochi.

L’ultimo decennio ha visto l’avvento della banda larga e di nuove forme di pagamento per via telematica. Sono quasi scomparsi gli intermediari fra sviluppatori e giocatori, se quest’ultimi non trovano un titolo nei grandi magazzini, provano a comprarlo online e a scaricarlo dal Web. È l’era della content delivery di Steam, Green House, GOG e Direct2Drive.

Qualora Valve rilasciasse Steam per Linux – è più che una congettura, abbiamo visto il primo esemplare del programma dopo lo scoop di Phoronix – si giocherebbe una partita alla pari con Windows. Molti altri giocatori passerebbero da Windows a Linux sapendo che i popolari Half Life, Counter-Strike, Team Fortress sono diventati cross-platform.
Per il momento però, se escludiamo l’idea di scegliere i giochi open source equiparabili ai titoli che ho appena citato, dobbiamo usare Wine. In poche parole, e senza entrare nel merito del funzionamento del programma, eseguiamo le applicazioni Windows su Linux, FreeBSD e Mac OSX. Questo sistema presenta ulteriori vantaggi: Wine è economico, infatti il suo costo è nullo (free) rispetto ai cento euro che occorrono per acquistare una licenza di Microsoft Windows; si scarica dalla Rete sotto forma di codice sorgente o di pacchetto con il codice binario pronto all’uso; ha una elevata compatibilità con Windows, dalla versione 3.1 alla recente Windows 7; è ottimo in termini di prestazioni.

Tanto il neofita quanto l’hardcore gamer apprezzano anche CrossOver Games e Cedega. Questi due software sono basati su Wine e forniscono una GUI (Graphic User Interface) che facilita sia l’installazione che la configurazione di numerosi giochi; l’utente può anche usufruire dell’assistenza di personale qualificato in caso di difficoltà con le operazioni. Da un confronto con Wine e Windows stesso, Crossover e Cedega hanno mostrato un livello di efficienza pari o superiore in molti test. Ma la qualità di questi software ha un prezzo che è meglio pagare quando Wine fa le bizze e non abbiamo tempo per aspettare una soluzione oppure una patch. In realtà con i videogiochi più gettonati fila tutto liscio. Di recente ho registrato un account di World of Warcraft e ho potuto constatare quanto sia semplice e veloce predisporre il necessario per l’avvio della partita online; riporto ulteriori esempi dagli esiti soddisfacenti: Guild Wars, GTA, Fallaout, Runes of Magic, Medal of Honor, Call of Duty, Battlefield 1942. Wine amplia le opportunità di gioco in Linux, ma non fa i miracoli. Prima di acquistare qualche cosa è bene informarsi se dà problemi, per esempio nella lista AppDB il software funzionante viene contrassegnato con “medaglie” di platino, oro o argento.

Un elenco di giochi è presente anche in Playonlinux. Gli utenti di questo programma usano i menu e le icone di una interfaccia grafica per scorrere la lista di videogiochi (o applicazioni) che desiderano provare. Alla base c’è un insieme di istruzioni, scritte nei linguaggi Python e Bash, che passate a Wine ne automatizzano i processi di installazione, configurazione o rimozione. Quando eventuali bug vengono scoperti, oppure una nuova applicazione supera i test, gli sviluppatori rilasciano un aggiornamento. Con Playonlinux sono finiti i tempi cupi passati a cercare nella Rete le soluzioni ai bug, le patch o i parametri di Wine.

Schermata di Playonlinux
Schermata di Playonlinux

L’hardware di un PC deve fornire una potenza adeguata al gioco, che il sistema sia Windows o Linux è indifferente. Un computer costruito con la componentistica di dieci anni fa a malapena riesce ad eseguire Enemy Territory: Quake Wars; la CPU Athlon XP 1500+ e la scheda video Radeon 9700 sono tipici esempi di pezzi troppo vecchi per essere montati oggigiorno nei cabinet, a meno che si voglia usare solo giochi e applicazioni altrettanto vecchie, mi riferisco a Counter-Strike, Quake 3, ecc. Oltre al requisito hardware/software, c’è un altro aspetto da considerare: l’assemblaggio di una “macchina da gioco” Linux deve cominciare con la ricerca delle componenti compatibili perché i prodotti sono garantiti in genere per Windows. Prendiamo la scheda video, è un elemento decisivo nella composizione dell’immagine sullo schermo che deve funzionare sempre ai massimi livelli, pertanto prima di acquistarla bisogna svolgere una opportuna verifica su Internet, magari chiedendo l’opinione di altri utenti nei forum: la scheda deve servire perfettamente il sistema operativo. Intel, ATI e nVidia sono le principali aziende che progettano GPU (Graphic Processing Unit, l’unità centrale di elaborazione della grafica) per le schede video; il programma che controlla le funzioni disponibili a livello hardware (il driver) è unico, in genere, per l’intera gamma di modelli: abbiamo quindi il Catalyst per le Radeon di ATI e l’UDA per le GeForce di nVidia; tralascio quelli open source perché il livello di prestazioni che possono raggiungere con i giochi è purtroppo inferiore.

È il momento di fare alcuni esempi concreti, cominciando da un gioco gratuito, d’azione e cross-platform che attualmente spopola su Internet.

Quake Live

Quake Live è un First Person Shooter (letteralmente tiratore in prima persona, spesso abbreviato con FPS) che ridà vita al classico e arcinoto Quake 3 Arena di dieci anni fa, sia modificando il motore grafico del gioco sia introducendo una serie di nuove funzioni: l’integrazione col web browser, le statistiche persistenti, il medagliere e un sistema per confrontare i livelli di esperienza dei giocatori, detti gladiatori, che si scontrano in un’arena attrezzata di armi, munizioni, scudi, potenziatori ed energizzanti.

Quake Live dentro il web browser
Quake Live dentro il web browser

Runes of Magic

Ci sono anche i “giochi di ruolo”, conosciuti come RPG (Role Player Game). Runes of Magic è un clone, in parte gratuito, di World of Warcraft; con questo non voglio dire che sia fatto male, tutt’altro! Su Linux “gira” abbastanza bene, ma l’installazione richiede molta pazienza perché viene distribuito con due archivi di notevoli dimensioni (4GB ciascuno). Senza un computer potente è meglio lasciar perdere questo gioco. Io l’ho provato su Ubuntu con l’ultima versione di Wine (1.2 RC2) e in Rete il sistema mostrava dei limiti evidenti nel gestire i luoghi affollati.

Heroes of Newerth

Preferisco catalogare Heroes of Newerth (HON) tra i giochi di strategia, tuttavia possiede alcune caratteristiche tipiche del gioco di ruolo: l’eroe ottiene attacchi speciali e vari attributi superando venticinque livelli di esperienza; inoltre può rafforzarsi acquistando gadget, armi e armature nei negozi. La classe del personaggio è basata sulla forza, l’intelligenza o l’agilità. La scelta deve essere fatta con giudizio, in modo che ci sia compensazione fra i cinque eroi della squadra. L’equilibrio rischia di spezzarsi facilmente quando i giocatori portano avanti azioni suicide e senza tatticismo –– nel gergo del gioco si dice “alimentare il nemico”. Per tutti è fondamentale guadagnare i soldi uccidendo i PNG o distruggendo le torri dell’avversario che difendono l’obiettivo del gioco: l’altare al centro della base.

HON: assalto alla torre
HON: assalto alla torre

Le grandi software house (Microsoft e Apple) dominano il mercato dei videogiochi perché fanno grandi investimenti per i sistemi operativi Windows e OS X, ma in Linux non mancano le opportunità di giocare e il programma Wine permette di arrivare ai titoli che oggi non sono cross-platform. Il sistema dual-boot potrebbe essere l’alternativa: quando Windows (oppure OS X) e Linux sono installati sulla stessa macchina, abbiamo praticamente tutto il “parco giochi” per PC a nostra disposizione e dato che spesso ci consegnano XP, Vista o Seven all’acquisto di un computer, sarebbe ingenuo non sfruttarli per giocare ai titoli che non si possono ancora eseguire su Linux.

 

Hard Disk esterno con Icy Box

Pochi giorni fa si è guastato il mio computer portatile Asus che usavo da almeno tre anni, in attività di vario tipo. Ho effettuato un controllo alla sua parte elettronica, ma non c’era più nulla da fare. Si è surriscaldato durante queste giornate afose di luglio; già altri proprietari del modello A6Tc hanno subìto prima di me lo stesso danno. Probabilmente per un errore di progettazione la scheda video ha raggiunto temperature elevate, bruciandosi.

Grazie alla modularità dei laptop moderni, certi elementi possono essere sostituiti in caso di rottura con altri più potenti o recuperati dai sistemi mal funzionanti. Mi dispiaceva rinunciare a 80 GB del disco rigido installato nel portatile, quello spazio poteva servirmi come memoria ausiliaria per il salvataggio di documenti, musiche, foto e file multimediali. Dovevo riciclare questa vecchia componente acquistando un box esterno.

Quasi sempre si tratta di unità da 2,5” di larghezza, con uno spessore molto piccolo, al fine di ingombrare il meno possibile. La funzione principale del dispositivo Icy Box B-220U-Wh è di collegare un disco rigido da 2,5” con interfaccia IDE a un computer via cavo seriale USB. Non solo permette di recuperare i vecchi dischi da portatili in disuso, ma si rivela anche un accessorio molto comodo in periodi di vacanze, avendo una trasportabilità eccezionale: è leggerissimo e si infila facilmente in un marsupio.

Il box acceso
Il box acceso

Imballaggio

Sull’involucro di cartone spiccano i grandi caratteri bianchi su sfondo nero usati per il marchio del fabbricante, la foto del dispositivo e un corpo di donna stilizzato che rammenta la leggerezza di questo prodotto. La confezione presenta inoltre una finestra nel punto dove il dispositivo è stato imballato: essa permette all’acquirente di farsi una chiara idea delle dimensioni dell’oggetto rispetto alla scatola che è molto più grande.
All’interno abbiamo la guida cartacea per il montaggio, un CD con il software di controllo e backup per Windows e alcuni accessori. Le spiegazioni sono tradotte in varie lingue, c’è anche l’italiano. I programmi sono superflui, se si intende adoperare l’Icy Box in un ambiente Linux. Invece la custodia di similpelle, il cavo USB e persino il cacciavite per il serraggio delle viti sono veramente utili.

Caratteristiche del prodotto

Le caratteristiche salienti del dispositivo riportate dal fabbricante sono essenzialmente quattro: un’eccellente dissipazione del calore fornita dalla base in alluminio; le dimensioni ridotte permettono un facile trasporto; un collegamento USB 2.0 da 420Mbit/s (60MB/s) che procura l’alimentazione (non c’è necessità di un alimentatore supplementare); supporta dischi da 2,5” alti fino a 9mm, ossia la maggioranza installata nei portatili di marca.

Montaggio e manutenzione

Poiché non sono richieste competenze particolari, il montaggio è alla portata di tutti; talmente facile e intuitivo che si può trascurare il manuale. Prima di tutto bisogna aprire il box, separando il coperchio bianco dalla base metallica. Poi si attacca il disco rigido al pettine PATA saldato sulla piccola basetta, dove trovano posto anche il controller , i tre led di segnalazione e la presa di alimentazione/trasmissione dati. Sul lato interno del coperchio ci sono le sedi per il circuito elettronico, esse servono anche per fissare fra loro i pezzi del box tramite due viti. La superficie esterna del dissipatore è protetta da una pellicola di plastica contro i graffi: può essere strappata dopo l’avvitamento delle viti al coperchio. L’assemblaggio si sbriga in dieci minuti, dopodiché basta allacciare la nuova periferica al computer con il cavo USB e accedere alla memoria di massa tramite le funzioni del sistema operativo. La superficie esterna si pulisce da impronte e polvere con un panno di “microfibra” che è impiegata spesso su altri oggetti domestici (CD, occhiali, ecc.), con risultati soddisfacenti.

Il Seagate Momentous 5400.2 aveva un laccio che agevolava l’estrazione dal suo alloggiamento nel portatile, ma ostacolava in questo caso la chiusura della scatoletta, per cui l’ho rimosso con un paio di forbici.

Momentous 5400.2
Momentous 5400.2

Per la progettazione della componente B-220U-Wh, Icy Box ha tenuto conto di tre principali funzionalità che espongo di seguito:

  1. L’impiego di materiali particolari (plastica e alluminio) per smorzare le vibrazioni del disco rigido
  2.  L’isolamento interno del disco rigido onde evitare il passaggio di eventuali correnti elettriche verso l’esterno.
  3. Fornire informazioni all’utente tramite tre led blu di segnalazione dello stato di accensione e utilizzo del dispositivo.

È stato prodotto un dispositivo maneggevole e leggero con un unico difetto: il chassis è difficile da riaprire senza un cacciavite, e si rischia di graffiare la superficie; il serraggio viene fatto solo con due viti su un lato e un incastro sull’altro.
Ho rilevato la velocità di trasmissione dei dati con il programma hdparm per Linux e l’ho poi verificato con il file manager Midnight Commander, trasferendo un file video di grosse dimensioni. Mentre il fabbricante prometteva picchi di 60MB/s, il Seagate Momentous 5400.2 lavorava a 30MB/s che è un valore molto inferiore rispetto alla media dei dischi SATA (70MB/s). Personalmente li ritengo sufficienti per la maggior parte delle applicazioni, ma non consiglio di utilizzare questa unità di accesso per giocare. In passato mi è capitato di mettere i Videogiochi su un hard disk SATA esterno che trasferiva informazioni via USB a 12MB/s, ma i grossi flussi di dati generavano tempi di caricamento appena accettabili.

La confezione
La confezione