Dynamic DNS fai da te con AWS

Una ventina di giorni fa ho scritto un post su G+ (the walking dead social network with the head of the project, Vic Gundotra, badly resigning last week) sulla possibilità di usare il client boto python cli53 per approntare un servizio simile a dyn.com, per quanto riguarda il dynamic DNS.

Lo voglio segnare anche qui per un rapido bookmark in caso di usi futuri.

Sia ben chiaro che per funzionare è necessario avere un dominio di proprietà, un account Amazon Web Services e i record NS del dominio assegnati a AWS Route53.

Cinema all’aperto Pistoia estate 2013

Post di servizio. Perché a me piace il cinema e il cinema all’aperto, d’estate, ha ancora più gusto.

Comincia il 15 luglio, presso il giardino del grifone, in Corso Gramsci 150 a Pistoia, il programma di cinema all’aperto per questa estate 2013.

Il programma si può recuperare da questa pagina del comune di Pistoia, ma io sto preparando un Google Calendar condiviso per una comoda visione e schedulazione degli eventi.

Il calendario condiviso si può raggiungere a questo indirizzo.

Follow @dema on ADN

+Antonangelo De Martini»

Come usare instantserver.io

Conoscete instantserver.io? Sì? Allora potete saltare direttamente alla descrizione su come stabilire un tunnel ssh SOCKSv5 e ridirigere tutti i protocolli che supportano tale metodo di tunneling (irc e http/s, ad esempio) attraverso questo canale.
Sapete già come instaurare questo tipo di connessione? Allora potete tranquillamente ignorare questo post :-)

Instantserver.io

Dicevamo, instantserver.io. Il servizio in questione permette di lanciare un’istanza EC2 micro di Ubuntu 13.04 presso AWS, con la sola pressione di un bel bottone verde. Questa istanza sarà a nostra disposizione per un totale di 31 minuti in maniera gratuita, con la possibilità di estendere per altri 5 minuti, sempre gratuitamente, la nostra sessione. Qualora avessimo bisogno di più tempo, possiamo acquistare un’estensione, a pacchetti che partono da 4 us$ al giorno.

instantserver.io

Non appena avremo pigiato il bottone “Get a Free Server” ci verranno indicati i parametri utili per collegarci

parametri instantserver.io

Bene, ora, che cosa possiamo fare con questo server temporaneo? In giro si sono sentiti molti casi d’uso, dal test di repository PPA di ubuntu, da piccoli cloni istantanei di server web — bisogna essere svelti, però — fino a torrent daemon temporanei.
L’uso, secondo me, più immediato e proficuo è quello di usare questa istanza come destinazione di un tunnel ssh SOCKSv5 per bypassare eventuali filtri web o per anonimizzare, parzialmente, la navigazione web.
Vediamo come fare, con microsoft windows.

Tunnel ssh SOCKSv5 con PuTTY

Procuriamoci il software PuTTY al seguente indirizzo http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Lanciamo l’eseguilbile putty.exe

putty screenshot

Inseriamo l’indirizzo IP dell’istanza ottenuta da instantserver.io, nel nostro caso 54.226.226.82, e selezioniamo nel menu category SSH.

putty screenshot

Qui scegliamo enable compression e il protocollo ssh 2.
Spostiamoci poi alla voce tunnels

putty screenshot

Qui dobbiamo inserire il numero di porta tcp nel campo Source Port (nell’esempio 9999, ma potete scegliere un numero alto a vostro piacimento) e nei radio buttons sottostanti, flaggare le opzioni auto e Dynamic. Per finire, applichiamo i settaggi cliccando su add e dovremmo ottenere una schermata simile a questa.

putty screenshot

Per finire il setup di PuTTY, ritorniamo su Session, diamo un nome tipo my ssh proxy a questa sessione, la salviamo con il pulsante save e clicchiamo su Open.

La schermata che ci verrà presentata sarà simile a questa:

screenshot

Clicchiamo su per inserire la chiave rsa del server nei nostri host conosciuti e, per finire, inseriamo le credenziali — per mantenere l’esempio sopra elencato, la nostra login sarà ubuntu e la password utn5bZu7 — al prompt di PuTTY.

shot putty

Da questo momento, saremo collegati alla nostra istanza su EC2 e potremo usare la shell remota, ma allo stesso tempo avremo instaurato un tunnel SOCKSv5 tra il nostro host e quello remoto attraverso la porta 9999. Vediamo quindi come configurare windows per instradare i protocolli http e https verso questa sock.

Configurare windows per utilizzare SOCKSv5

Dobbiamo ora fare in modo che la nostra navigazione web passi attraverso la sock che abbiamo appena instaurato.
Per fare questo, andiamo in pannello di controllo -> opzioni internet -> connessioni -> impostazioni lan flaggare server proxy e poi scegliere avanzate.
Nel campo socks inseriamo l’indirizzo di loopback 127.0.0.1, o il valore “localhost” e la porta 9999.

schermata

Abbiamo finito. Da questo momento, la navigazione web verrà instradata attraverso la sock, aggirando tutti i blocchi di eventuali firewall o filtri web e anonimizzando (parzialmente) la nostra sessione.

Per evitare di modificare i settaggi di sistema di windows, potremmo utilizzare Firefox, che dispone di un proprio setup per i server proxy, mantenendo quindi separata la navigazione attraverso sock da quella normale.

Fatemi sapere cosa ne pensate, la discussione è su G+, dal momento che ho disabilitato i commenti sul blog, per un motivo di obsolescenza del medium (magari parliamo anche di questo, perché no).

Google Plus per i Chromebook

Mi sono reso conto che con l’ultima release di Google Plus, non è più sufficiente un netbook con CPU atom o un computer con processore precedente al Core duo.

Ho fatto alcune prove con due computer, diciamo obsoleti: un AMD Sempron 2600 e appunto un Atom N270.

Sul PC con AMD, chromium è installato con tutte le estensioni disabilitate, mentre Atom ha solo 3 estensioni, consumatrici di ram, ma poco impattanti dal punto di vista della potenza computazionale.

Entrambi i computer, non appena ci si collega a http://plus.google.com, presentano una notevole difficoltà a processare la pagina, spingendo l’utilizzo della CPU al 100% e rendendo lo scrolling scattoso e quasi inutilizzabile. Monitorando infatti l’attività di scrolling, si scopre che l’utilizzo del processore da parte di chromium passa rapidamente da 0 a 100% ad ogni pressione del tasto “down” o allo scorrere verso il basso del mouse.

Insomma, se hai un computer datato, ti puoi scordare di usare google plus, per via del massiccio uso di javascript su tutta la pagina. Questo mi può anche stare bene, ma come la mettiamo con chromebook? Anche se i più possono esserselo dimenticato, chromebook è l’appendice fisica della visione cloud di Google. Un pezzo di hardware che prende vita solo se collegato alla nuvola di servizi Google.

Possiede un hardware molto simile ad Atom n270, teoricamente il doppio più potente, grazie ad una cache di secondo livello doppia e l’architettura dual core, ma da prove empiriche io non ho mai trovato una così grossa diferenza dagli Atom di prima generazione.

Ora, sarebbe bello sapere da chi possiede un chromebook, quanto ha impattato questa nuova interfaccia sull’esperienza d’uso, ma ho il timore che il mastodonte sia diventato troppo pesante anche per il fragile hardware dei netbook cloud della grande G.

Hai un Chromebook? Ti va di commentare e discutere? Puoi farlo qui nei commenti e su google plus, ovviamente :-)

+Antonangelo De Martini

Come rendere sicuro windows 7?

windows 7 logo

 

Stamattina ho letto un post di Scott Lowe su Windows 7.

Lo traduco qui sotto per i non anglofoni:

Il portatile di mio figlio con Windows 7 è stato recentemente infettato da un malware (adware/spyware).

Per vostra informazione, ho cercato di seguire le migliori pratiche comunemente accettate per prevenire questa sorta di accadimenti.

  • Mio figlio usa Mozilla Firefox ( non Internet Explorer) con tutti gli aggiornamenti installati
  • Mantengo Windows 7 aggiornato con tutti gli updates da Microsoft
  • Mio figlio usa un account non amministrativo e non conosce le credenziali di amministratore
  • Il firewall di Windows 7 è attivato e configurato in maniera restrittiva.
  • La connessione alla rete è mediata tramite un proxy con un set di regole per il filtraggio dei contenuti, quindi posso supporre ragionevolmente che non abbia potuto visitare siti molesti. Ovviamente il filtraggio dei contenuti non è mai perfetto ed è sempre soggetto ad un costante aggiornamento, ma è sicuramente meglio che nulla.
  • La rete è protetta da un firewall hardware (non una semplice NAT, ma un vero e proprio stateful firewall) che reindirizza in maniera trasparente tutto il traffico web attraverso un proxy ( in maniera che egli non possa aggirarlo)
  • Ho installato Microsoft Security Essential sul suo laptop per proteggerlo da malware, adware etc. Sempre aggiornato.

Ora, nonostante tutti questi livelli di protezione, ho scoperto che il portatile di mio figlio è stato infettato con un malware.

Quindi chiedo, in tutta serietà – nel senso che non sto cercando di scatenare un flame su come Mac OS X o Linux siano meglio di Windows o vice-versa – che cosa bisogna fare per proteggere Windows contro i virus?

Intendo, che cosa diavolo ci vuole?

Mi sembra di aver preso misure abbastanza severe per proteggere Windows e ciononostante si è infettato lo stesso.

In che cosa ho sbagliato?

 

Non c’è niente di sbagliato nelle contromisure che ha preso Scott, anzi, credo che poche persone abbiano approntato un set di protezioni simili.

L’unica risposta che mi viene da dare è che il buon Scott non abbia preso in considerazione l’enorme potenziale del PEBKAC :-)

Ferie, ferie

Post veloce veloce, ché il wordpress ci ha questo quickpress che avrò usato sì e no due volte e per dire che io qui chiudo per ferie fino al 29 Agosto.
Per tutto il resto ci sono i social che entrano dentro l’iPhone ai quali occasionalmente darò fuoco.
See you in September buddies :-)

Centro Servizi

Per la serie post di utilità prima di tutto per la mia sempre più fallace memoria , e poi forse anche per qualcuno in cerca di una soluzione di routing per un setup simile.

Problema : Predisporre la connettività per un centro servizi da 10 uffici

Soluzione : un server Linux , uno switch managed layer 2 da 16 porte, 11 switch unmanaged da 6 porte , due router adsl alice business .

L’articolo è un pippone tecnico parecchio lungo , quindi se proprio ti interessa puoi continuare la lettura :)

Continue Reading…

Tanti auguri Serena

Oggi compie gli anni Serena .

In questi anni di vita insieme , tra tutte le difficoltà ha sempre saputo sopportarmi e supportarmi come pochi altri.  Ci sono state incazzature , rabbia cieca , incontenibile felicità , drammi , amore vero e continueranno ancora ad esserci per molto e molto tempo ancora.

Buon compleanno Serena , sei la cosa più preziosa che abbia mai avuto e la mia compagna per sempre.

Ubuntu Netbook Remix e Asus eeePC 701

Avevo letto ieri in vari blog di informazione che finalmente Canonical aveva rilasciato i pacchetti alpha per Ubuntu Netbook Remix.

Il progetto Netbook mira a costruire una Ubuntu tagliata su misura per gli Ultra Mobile PC adattando l’interfaccia utente agli schermi da 7 o 9 pollici e ottimizzando le prestazioni per i prossimi processori Intel Atom.

Proviamo a remixare la nostra Ubuntu 8.04 su eeePC 701 con Netbook?

  1. per prima cosa dobbiamo aggiungere delle nuove repository al nostro file /etc/apt/sources. Aggiungiamo alla fine del file le seguenti linee :
    deb http://ppa.launchpad.net/netbook-remix-team/ubuntu hardy main
    deb-src http://ppa.launchpad.net/netbook-remix-team/ubuntu hardy main
  2. installiamo i seguenti pacchetti:
    sudo apt-get install go-home-applet human-netbook-theme maximus window-picker-applet
  3. preleviamo i sorgenti di ume-launcher , dal momento che il binario non supporta risoluzioni inferiori a 1024×600 e se lo installassimo sul nostro eeePC 701 otterremmo delle icone troppo piccole come si puo’ vedere dallo screenshot sottostante
    I comandi per ottenere i sorgenti sono :
    cd /tmp
    sudo apt-get source ume-launcher
    sudo apt-get build-dep ume-launcher
  4. Scompattiamo il file ume-launcher_0.3ubuntu3.tar.gz:
    tar zxvf ume-launcher_0.3ubuntu3.tar.gz
  5. Preleviamo la patch per i sorgenti , rinominiamola come ume-launcher.patch ed applichiamola:
    patch -p0 < ume-launcher.patch
  6. A questo punto creiamo il nostro pacchetto deb personalizzato :
    cd /tmp/ume-laucher-0.3ubuntu3
    sudo dpkg-buildpackage -rfakeroot
  7. una volta ottenuto il nostro pacchetto installiamolo :
    dpkg -i ume-launcher_0.3ubuntu3_i386.deb
  8. Cambiamo l’aspetto di gnome con il nuovo tema Human-Netbook su Sistema->Preferenze->Aspetto
  9. Aggiungiamo le applet window-picker e go home al pannello superiore di gnome e rimuoviamo tutto il resto ad eccezione di Area di notifica , orologio e volume. Rimuoviamo anche il pannello inferiore per avere ancora più schermo a disposizione.
  10. Verifichiamo i programmi di avvio sessione con Sistema->Preferenze->Sessioni ed aggiungiamo se non fossero presenti maximus e ume-launcher
  11. Facciamo ripartire la sessione di gnome e se tutto è andato liscio dovremmo ottenere una cosa di questo tipo

Devo dire che la nuova interfaccia è veramente cool e si presta benissimo con backgroud a tinte fosche . Per quanto riguarda l’usabilità  niente di rivoluzionario ma risulta subito evidente che il pannello di xandros os per eeepc è stato preso ad esempio.

Insomma , per concludere , Netbook non mi ha impressionato in modo particolare. E’ indubbiamente un’interfaccia semplice e molto curata graficamente ma non cambia il modo di operare tradizionale di Gnome.

La domanda è quindi : ce n’era veramente bisogno ?

Venice connected , prova su strada

Per il ponte del 2 Giugno sono ritornato a Venezia dopo il twitter+fooga camp. Da bravo internet addicted , anche se mi ero imposto di lasciare i laptops a casa non ho fatto a meno di portarmi appresso l’iPhone come unico embedded internet device . Per essere più precisi , la mia connettività viene garantita da blackberry pearl 8100  per email e feeds rss e da iPhone per tutto il resto quando trovo una wifi aperta o un hotspot FON.

Insomma ero partito per un week-end parzialmente off-line , da godermi in spiaggia presso lo stabilimento di Venezia Spiagge dove mia madre da più di 20 anni ha un noleggio di pedalò . La mattina però , entrando nello stabilimento ho notato un banchetto con un manifesto di Venice connected , in spiaggia … on-line e la tentazione di provare questo nuovo servizio è stata troppo forte. Avevo già parlato di Venice-Connected, la muni-wifi del comune di Venezia , che tramite la società Venis spa ha in progetto di coprire l’intero territorio in mesh wifi con backhauling in fibra entro la fine del 2009. L’area degli stabilimenti di Venezia Spiagge è ,  assieme al piazzale del Palazzo del Cinema e Piazza San Marco , il testbed per il servizio di prossima attuazione.

Le aree coperte al momento sono grosso modo queste:

La prima stazione si trova nel mezzo della zona ombrelloni-camerini della ex Zona A e la seconda stazione nello stabilimento distaccato di San Nicolò .

Per la copertura radio la scelta di apparato è ricaduta su Cisco aironet serie 1520 . Una soluzione per outdoor access point  robusta , scalabile e  professionale.

La gestione degli accessi è  affidata a Colubris Network. La soluzione di network management di Colubris fornisce il controllo degli accessi mediante captive portal , bilanciamento del carico di rete , priorità dei pacchetti e qos . Non so se Venis spa abbia attivato tutte queste opzioni presso Colubris o se abbia scelto solo di usare il loro sistema di autenticazione utenti .

Il link alla rete internet è fornito da Venis spa tramite interbusiness . Non posso dire se in fibra o meno. Le prove che ho potuto effettuare con l’iPhone non mi hanno permesso di effettuare uno speedtest ne tantomeno un test di latenza. La sensazione di navigazione era comunque quella di una normale linea dsl , nemmeno troppo performante.

L’autenticazione degli utenti avviene mediante username e password contenuti in una scheda prepagata del valore di 3 Euro per 24 ore di connessione. I titolari di capanna e ombrellone stagionali possono godere della connessione gratis , diversamente si puo’ sottoscrivere un abbonamento wifi al costo di 20 Euro per il periodo che va dal 31/05 al 14/09 . Le tessere vengono rilasciate previa presentazione di una fotocopia del documento di identità per ottemperare alle richieste del decreto Pisanu in materia di antiterrorismo.

La prova su strada ha evidenziato una particolare difficoltà di accesso tramite dispositivo mobile. Safari per iPhone ha infatti renderizzato la pagina di login del captive portal come una normale pagina web , dovendo ricorrere alla funzione di pinch zoom per visualizzare chiaramente i campi di login. Una volta effettuato il login la navigazione è stata fluida e abbastanza veloce. Come ho detto dianzi avevo l’impressione di essere collegato mediante una normale adsl , niente che facesse presupporre una ampiezza di banda spropositata a monte. Ho effettuato una prova di chiamata tramite fring , sia con skype-out che con il mio server voip , e sono riuscito a conversare con il mio interlocutore , anche se la latenza era ai limiti del sostenibile. Ho riscontrato un paio di volte la caduta del segnale wifi , per una trentina di secondi circa  , ed al ritorno del segnale radio il link non richiedeva nuovamente la login . Una volta però che si riaccede alla rete dopo aver scollegato e ricollegato la scheda wifi dell’apparecchio viene nuovamente richiesta username e password.

Alla fine della giornata trascorsa in spiaggia mi sono fermato a chiacchierare un po’ con Sara , che per tutta la giornata si è adoperata per far conoscere e promuovere il servizio ai clienti dello stabilimento. In due giorni di servizio è riuscita a distribuire solo 9 tessere gratuite ad affittuari stagionali di capanne , 2 tessere sempre gratuite  ad un hotel che riserva posti ombrellone per i suoi clienti e una login da 24 ore al sottoscritto.

Sara ha detto che non ha riscontrato un eccessivo entusiasmo per l’esistenza del wifi in spiaggia, forse per la mancanza di una clientela particolarmente giovane . Qualcuno addirittura ha chiesto se avrebbe trovato il computer per navigare in internet sotto l’ombrellone !!

Insomma , nonostante la pompa magna con cui il servizio è stato lanciato , l’impiego di tecnologie di tutto rispetto e lo scrupoloso rigore nel seguire le norme vigenti , il servizio wifi di Venice Connected non ha fatto molto di più di un qualsiasi altro servizio già presente in altri stabilimenti balneari d’Italia . Piuttosto una volta di più mi viene da pensare come il modello del wifi partecipato alla Fon puo’ venire incontro a queste Metro-Wifi . Se come dice Quintarelli :

Wifi non e’ una tecnologia pensata per un operatore.
i costi di esercizio sono alti, rispetto a tecnologie diverse (HSxPA o Wimax).
L’idea di farlo meshed, sulla base delle tecnologie attuali, in citta’, non sta in piedi con i costi (IMHO).
A meno che non sia fatta totalmente dal basso da persone competenti (ma la copertura non puo’ essere ancora estesa); i costi si trasferiscono dall’operatore all’utente che opera il nodo.

Non esiste alternativa , o la rete cittadina wifi nasce dal basso , generata dagli utenti , o ci si deve rassegnare ad un fallimento.

Insomma , rimane valida l’offerta della pizza

Dema.tv

No , non ho comprato la Flip Ultra come il Beggi e Kurai e mi sono messo in testa di fare il citizen journalist . No , non mi candido a fare dirette fiume come Delymyth . No , non voglio fare rassegne stampa alla Webgol. No , non voglio fare insider blogging interviews come il professionalissimo Luca Sartoni .

Solo che l’unico dominio dema rimasto era il dot TV ( assieme al dot org dot cn ). A dirla tutta avevo anche cercato la via marocchina con un dominio dot ma , ma il caos del registry magrebino , la mancanza di un whois attendibile e i prezzi estremamente variabili da reseller a reseller mi hanno fatto ripiegare verso il dominio dot TV.

Quindi non appena i dns si saranno propagati , questo blog sarà raggiungibile alla url http://dema.tv , senza TV ma con i soliti post accrocchiati , pseudotecnici e senza una regolare cadenza.

Aggiornare eeepc ad Ubuntu 8.04

Premessa :

  1. eeePC con (X)(K)Ubuntu 7.10 installata
  2. connessione alla rete via ethernet funzionante

Procedimento :

  1. Se aggiorneremo alla nuova release di Ubuntu via update-manager con molta probabilità non ci basterà lo spazio su disco. Per recuperarlo io suggerisco di sradicare completamente il desktop-environment
  2. A seconda del desktop che abbiamo installato ecco i comandi per disinstallare e fare spazio :
    Ubuntu con Gnome: [sourcecode language='cpp']

    sudo apt-get remove alacarte app-install-data-commercial apport-gtk apturl at-spi bittorrent bluez-gnome brltty-x11 bug-buddy capplets-data cli-common compiz compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-gnome compiz-plugins consolekit contact-lookup-applet cupsys-driver-gutenprint dcraw deskbar-applet displayconfig-gtk diveintopython doc-base docbook-xml ekiga eog espeak espeak-data evince evolution evolution-common evolution-data-server evolution-data-server-common evolution-exchange evolution-plugins evolution-webcal example-content f-spot fast-user-switch-applet feisty-gdm-themes file-roller firefox firefox-gnome-support gamin gcalctool gconf-editor gconf2 gconf2-common gdebi gdm gedit gedit-common gimp gimp-data gimp-print gimp-python gksu gnome-about gnome-accessibility-themes gnome-app-install gnome-applets gnome-applets-data gnome-btdownload gnome-cards-data gnome-control-center gnome-desktop-data gnome-doc-utils gnome-games gnome-games-data gnome-icon-theme gnome-keyring gnome-keyring-manager gnome-mag gnome-media gnome-media-common gnome-menus gnome-mime-data gnome-mount gnome-netstatus-applet gnome-nettool gnome-orca gnome-panel gnome-panel-data gnome-pilot gnome-pilot-conduits gnome-power-manager gnome-screensaver gnome-session gnome-spell gnome-system-monitor gnome-system-tools gnome-terminal gnome-terminal-data gnome-themes gnome-user-guide gnome-utils gnome-volume-manager gstreamer0.10-alsa gstreamer0.10-esd gstreamer0.10-gnomevfs gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good gstreamer0.10-tools gstreamer0.10-x gthumb gtk2-engines gtk2-engines-pixbuf gtk2-engines-ubuntulooks gtkhtml3.14 gucharmap guile-1.6-libs gutsy-wallpapers hal-cups-utils hal-device-manager human-icon-theme human-theme hwdb-client-gnome language-selector libaa1 libalut0 libart2.0-cil libatspi1.0-0 libavahi-glib1 libavc1394-0 libbeagle0 libbonobo2-0 libbonobo2-common libbonoboui2-0 libbonoboui2-common libcaca0 libcairo-perl libcairomm-1.0-1 libcamel1.2-10 libcdio6 libcompizconfig-backend-gconf libcompizconfig0 libcroco3 libcucul0 libdecoration0 libdeskbar-tracker libdjvulibre15 libdv4 libebook1.2-9 libecal1.2-7 libedata-book1.2-2 libedata-cal1.2-6 libedataserver1.2-9 libedataserverui1.2-8 libeel2-2 libeel2-data libegroupwise1.2-13 libenchant1c2a libespeak1 libexchange-storage1.2-3 libgail-common libgail-gnome-module libgail18 libgamin0 libgconf2-4 libgconf2.0-cil libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common libgdl-gnome-1-0 libgimp2.0 libgksu1.2-1 libgksu2-0 libgksuui1.0-1 libglade2-0 libglade2.0-cil libglew1.4 libglib-perl libglib2.0-cil libglibmm-2.4-1c2a libgmime-2.0-2 libgmime2.2-cil libgnome-desktop-2 libgnome-keyring0 libgnome-mag2 libgnome-media0 libgnome-menu2 libgnome-pilot2 libgnome-speech7 libgnome-vfs2.0-cil libgnome-window-settings1 libgnome2-0 libgnome2-canvas-perl libgnome2-common libgnome2-perl libgnome2-vfs-perl libgnome2.0-cil libgnomecanvas2-0 libgnomecanvas2-common libgnomecups1.0-1 libgnomekbd-common libgnomekbd1 libgnomekbdui1 libgnomeprint2.2-0 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common libgnomeui-0 libgnomeui-common libgnomevfs2-0 libgnomevfs2-bin libgnomevfs2-common libgnomevfs2-extra libgsf-1-114 libgsf-1-common libgtk2-perl libgtk2.0-bin libgtk2.0-cil libgtkhtml2-0 libgtkhtml2.0-cil libgtkhtml3.14-19 libgtkhtml3.8-15 libgtkmm-2.4-1c2a libgtksourceview-common libgtksourceview1.0-0 libgtksourceview2.0-0 libgtksourceview2.0-common libgtkspell0 libgtop2-7 libgtop2-common libgucharmap6 libguile-ltdl-1 libgutenprintui2-1 libhesiod0 libhsqldb-java libidl0 libiec61883-0 libkpathsea4 liblaunchpad-integration0 liblircclient0 liblpint-bonobo0 libmetacity0 libmono-cairo1.0-cil libmono-corlib1.0-cil libmono-corlib2.0-cil libmono-data-tds2.0-cil libmono-security2.0-cil libmono-sharpzip2.84-cil libmono-sqlite2.0-cil libmono-system-data2.0-cil libmono-system-web2.0-cil libmono-system1.0-cil libmono-system2.0-cil libmono0 libmono2.0-cil libnautilus-burn4 libnautilus-extension1 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libnet-dbus-perl libnm-glib0 libnotify1 liboil0.3 liboobs-1-3 libopal-2.2 libopenal0a liborbit2 libpam-gnome-keyring libpanel-applet2-0 libpcrecpp0 libpisock9 libpisync0 libpoppler-glib2 libpt-1.10.0 libpt-plugins-alsa libpt-plugins-v4l libpt-plugins-v4l2 libpurple0 libqthreads-12 librarian0 librsvg2-2 librsvg2-common librsvg2.0-cil libscrollkeeper0 libservlet2.4-java libsexy2 libshout3 libsoup2.2-8 libtotem-plparser7 libtracker-gtk0 libtrackerclient0 libvte-common libvte9 libwavpack1 libwmf0.2-7 libwnck-common libwnck22 libxevie1 libxklavier11 libxml-twig-perl libxml2-utils libxres1 libzephyr3 metacity metacity-common mono-common mono-gac mono-jit mono-runtime nautilus nautilus-cd-burner nautilus-data nautilus-sendto network-manager-gnome notification-daemon o3read onboard openoffice.org openoffice.org-base openoffice.org-evolution openoffice.org-gnome openoffice.org-gtk pidgin pidgin-data pkg-config python-at-spi python-bittorrent python-cairo python-cups python-gconf python-gdbm python-glade2 python-gmenu python-gnome2 python-gnome2-desktop python-gnome2-extras python-gnomecanvas python-gobject python-gst0.10 python-gtk2 python-gtkhtml2 python-launchpad-integration python-notify python-numeric python-orca-brlapi python-pygtksourceview python-pyorbit python-sexy python-virtkey python-vte python-xml restricted-manager rhythmbox rss-glx scim scim-gtk2-immodule scim-modules-socket scim-modules-table scim-tables-additional screensaver-default-images scrollkeeper serpentine sgml-data shared-mime-info software-properties-gtk sound-juicer ssh-askpass-gnome synaptic system-config-printer system-tools-backends tangerine-icon-theme tomboy totem totem-gstreamer totem-mozilla tracker tracker-search-tool tsclient ubufox ubuntu-artwork ubuntu-desktop ubuntu-docs ubuntu-sounds update-manager update-notifier usplash-theme-ubuntu vino whois xbitmaps xdg-user-dirs xdg-user-dirs-gtk xsane xsane-common xscreensaver-data xscreensaver-gl xsltproc xterm xvnc4viewer yelp zenity[/sourcecode]

    Xubuntu con Xfxe4

    [sourcecode language='cpp']

    sudo apt-get remove abiword abiword-common abiword-plugins app-install-data-commercial apport-gtk apturl brasero cupsys-driver-gutenprint dbus-x11 displayconfig-gtk doc-base docbook-xml evince-gtk example-content feisty-gdm-themes file-roller firefox gamin gcalctool gconf2 gconf2-common gdebi gdm gimp gimp-data gimp-print gksu gnome-accessibility-themes gnome-app-install gnome-cards-data gnome-games gnome-games-data gnome-icon-theme gnome-keyring gnome-media-common gnome-mime-data gnome-mount gnome-screensaver gnome-system-monitor gnome-system-tools gnome-themes gnumeric-common gnumeric-gtk gqview gstreamer0.10-alsa gstreamer0.10-gnomevfs gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-x gtk2-engines gtk2-engines-murrine gtk2-engines-pixbuf gtk2-engines-ubuntulooks gtk2-engines-xfce gucharmap guile-1.6-libs gutsy-wallpapers hal-cups-utils human-icon-theme human-theme language-selector libaa1 libaiksaurus-1.2-0c2a libaiksaurus-1.2-data libaiksaurusgtk-1.2-0c2a libavahi-glib1 libavc1394-0 libbonobo2-0 libbonobo2-common libbonoboui2-0 libbonoboui2-common libcaca0 libcairo-perl libcairomm-1.0-1 libcdio6 libcroco3 libcucul0 libdjvulibre15 libdv4 libenchant1c2a libexo-0.3-0 libgail-common libgail18 libgamin0 libgconf2-4 libgdome2-0 libgdome2-cpp-smart0c2a libgimp2.0 libgksu2-0 libglade2-0 libglib-perl libglib2.0-data libglibmm-2.4-1c2a libgnome-desktop-2 libgnome-keyring0 libgnome-media0 libgnome-menu2 libgnome2-0 libgnome2-canvas-perl libgnome2-common libgnome2-perl libgnome2-vfs-perl libgnomecanvas2-0 libgnomecanvas2-common libgnomecups1.0-1 libgnomekbd-common libgnomekbd1 libgnomekbdui1 libgnomeprint2.2-0 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common libgnomeui-0 libgnomeui-common libgnomevfs2-0 libgnomevfs2-common libgoffice-0-common libgoffice-gtk-0-4 libgsf-1-114 libgsf-1-common libgsf-gnome-1-114 libgtk2-perl libgtk2.0-bin libgtkhtml2-0 libgtkmathview0c2a libgtkmm-2.4-1c2a libgtksourceview-common libgtksourceview1.0-0 libgtkspell0 libgtop2-7 libgtop2-common libgucharmap6 libguile-ltdl-1 libgutenprintui2-1 libhesiod0 libidl0 libiec61883-0 libkpathsea4 liblaunchpad-integration0 liblink-grammar4 liblircclient0 libmetacity0 libnautilus-burn4 libnautilus-extension1 libnet-dbus-perl libnm-glib0 libnotify1 liboil0.3 liboobs-1-3 liborbit2 libots0 libpanel-applet2-0 libpcrecpp0 libpoppler-glib2 libpurple0 libqthreads-12 librsvg2-2 librsvg2-common libscrollkeeper0 libsexy2 libshout3 libt1-5 libtagc0 libthunar-vfs-1-2 libtotem-plparser7 libvte-common libvte9 libwavpack1 libwmf0.2-7 libwnck-common libwnck22 libwpd-stream8c2a libxfce4mcs-client3 libxfce4mcs-manager3 libxfce4util4 libxfcegui4-4 libxklavier11 libxml-twig-perl libxres1 libzephyr3 link-grammar-dictionaries-en metacity-common mousepad mozilla-thunderbird network-manager-gnome notification-daemon onboard orage pidgin pidgin-data python-cairo python-cups python-exo python-gconf python-gdbm python-glade2 python-gnome2 python-gnome2-desktop python-gnomecanvas python-gobject python-gst0.10 python-gtk2 python-gtkhtml2 python-launchpad-integration python-notify python-numeric python-pyorbit python-sexy python-virtkey python-vte python-xml restricted-manager scim scim-gtk2-immodule scim-modules-socket scim-modules-table scim-tables-additional screensaver-default-images scrollkeeper sgml-data shared-mime-info software-properties-gtk synaptic system-config-printer system-tools-backends tango-icon-theme tango-icon-theme-common thunar thunar-archive-plugin thunar-data thunar-media-tags-plugin thunar-volman thunderbird totem totem-xine ubufox ubuntu-artwork update-manager update-notifier vim-runtime xbitmaps xfce4-appfinder xfce4-battery-plugin xfce4-clipman-plugin xfce4-cpugraph-plugin xfce4-dict-plugin xfce4-fsguard-plugin xfce4-icon-theme xfce4-mailwatch-plugin xfce4-mcs-manager xfce4-mcs-plugins xfce4-mixer xfce4-mixer-alsa xfce4-mount-plugin xfce4-netload-plugin xfce4-notes-plugin xfce4-panel xfce4-places-plugin xfce4-quicklauncher-plugin xfce4-screenshooter-plugin xfce4-session xfce4-smartbookmark-plugin xfce4-systemload-plugin xfce4-terminal xfce4-utils xfce4-verve-plugin xfce4-weather-plugin xfce4-xkb-plugin xfdesktop4 xfdesktop4-data xfprint4 xfwm4 xfwm4-themes xscreensaver-data xscreensaver-gl xterm xubuntu-artwork-usplash xubuntu-default-settings xubuntu-desktop xubuntu-docs xvnc4viewer zenity[/sourcecode]

  3. Usciamo dalla modalità grafica con CTRL+ALT+F1 e ci logghiamo in console.
  4. modifichiamo il file /etc/apt/sources.list cambiando ogni occorrenza di “gutsy” con “hardy“. Io utilizzo l’editor nano e la funzione Cerca+Sostituisci (CTRL+W , CTRL+R)
  5. Aggiorniamo la distribuzione con apt-get update && apt-get dist-upgrade
  6. Una volta terminato il processo riavviamo.
  7. Al primo riavvio non avremo un login grafico e problemi con lo splash screen di boot. Ritorniamo alla console con CTRL+ALT+F1 e grazie alla connessione via ethernet preleviamo nuovamente il desktop-environment di nostro gradimento. I comandi per farlo sono apt-get install ubuntu-desktop per Gnome , apt-get install kubuntu-desktop per kde e apt-get install xubuntu-desktop per xfce
  8. Entriamo nel nostro nuovo ambiente grafico con sudo /etc/init.d/gdm restart
  9. Applichiamo una serie di patch per ottimizzare il sistema e far funzionare la scheda wireless
    per Ubuntu Gnome: [sourcecode language='cpp']#!/bin/sh
    echo ""
    echo "*** Ubuntu 8.04 LTS Tweak ***"
    echo "*** version 0.0.1 ***"
    echo "*** www.x2on.de ***"
    echo ""
    echo "thx to http://ubuntu-eee.tuxfamily.org/"
    echo "thx to http://code.google.com/p/eee-osd/"
    echo ""
    echo "** Gnome settings"
    echo "* Setting smaller font sizes"
    gconftool-2 --set /apps/nautilus/preferences/desktop_font --type string "Sans 8"
    gconftool-2 --set /desktop/gnome/interface/document_font_name --type string "Sans 8"
    gconftool-2 --set /desktop/gnome/interface/font_name --type string "Sans 8"
    gconftool-2 --set /apps/metacity/general/titlebar_font --type string "Sans Bold 8"
    gconftool-2 --set /desktop/gnome/interface/monospace_font_name --type string "Monospace 9"
    echo "* Smaller toolbars icons only"
    gconftool-2 --set /desktop/gnome/interface/toolbar_style --type string "icons"
    echo "* Disabling UI sounds"
    gconftool-2 --set /desktop/gnome/sound/event_sounds --type bool 0
    echo "* Fixing mute key"
    gconftool-2 --set /desktop/gnome/sound/default_mixer_tracks --type list --list-type string "[PCM]"
    echo "* Fullscreen with -F11"
    gconftool-2 --set /apps/metacity/window_keybindings/toggle_fullscreen --type string "F11"
    echo "* Setting suspend when closing lid, blank screen"
    gconftool-2 --set /apps/gnome-power-manager/actions/sleep_type_battery --type string "suspend"
    gconftool-2 --set /apps/gnome-power-manager/actions/sleep_type_ac --type string "suspend"
    gconftool-2 --set /apps/gnome-power-manager/buttons/lid_battery --type string "suspend"
    gconftool-2 --set /apps/gnome-power-manager/buttons/lid_ac --type string "blank"
    gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_computer_ac --type int 0
    gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_computer_battery --type int 300
    gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_display_ac --type int 300
    gconftool-2 --set /apps/gnome-power-manager/timeout/sleep_display_battery --type int 60
    echo "* Don't display battery warning"
    gconftool-2 --set /apps/gnome-power-manager/notify/low_capacity --type bool 0
    echo "* Unconstraining windows to the top of the screen"
    gconftool-2 --type bool --set /apps/compiz/plugins/move/allscreens/options/constrain_y 0
    echo "Gnome-settings done."
    echo "** Installing ACPI modules"
    sudo apt-get update
    sudo apt-get install -y -f build-essential module-assistant eeepc-acpi-source --force-yes
    sudo m-a a-i eeepc-acpi
    sudo cp /etc/modules ~/modules.tmp
    sudo chmod 777 ~/modules.tmp
    echo "eeepc-acpi" >> ~/modules.tmp
    sudo chmod 644 ~/modules.tmp
    sudo mv ~/modules.tmp /etc/modules
    echo "** Installing WLAN"
    wget 'http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz'
    tar zxvf madwifi-nr-r3366+ar5007.tar.gz
    cd madwifi-nr-r3366+ar5007
    make clean
    make
    sudo make install
    echo "** Installing OSD"
    wget http://eee-osd.googlecode.com/files/eee-osd_2.1-0eeeXubuntu1_i386.deb
    sudo dpkg -i eee-osd_2.1-0eeeXubuntu1_i386.deb
    echo "** Configuring Sound"
    echo "options snd-hda-intel model=3stack-dig" > ~/snd-hda-intel.tmp
    sudo mv ~/snd-hda-intel.tmp /etc/modprobe.d/snd-hda-intel
    echo "Done! Please reboot now"[/sourcecode]

    Per Xubuntu Xfce

    [sourcecode language='cpp']#!/bin/sh
    echo ""
    echo "*** Ubuntu 8.04 LTS Tweak ***"
    echo "*** version 0.0.1 ***"
    echo "*** www.x2on.de ***"
    echo ""
    echo "thx to http://ubuntu-eee.tuxfamily.org/"
    echo "thx to http://code.google.com/p/eee-osd/"
    echo ""
    echo "** Installing ACPI modules"
    sudo apt-get update
    sudo apt-get install -y -f build-essential module-assistant eeepc-acpi-source --force-yes
    sudo m-a a-i eeepc-acpi
    sudo cp /etc/modules ~/modules.tmp
    sudo chmod 777 ~/modules.tmp
    echo "eeepc-acpi" >> ~/modules.tmp
    sudo chmod 644 ~/modules.tmp
    sudo mv ~/modules.tmp /etc/modules
    echo "** Installing WLAN"
    wget 'http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz'
    tar zxvf madwifi-nr-r3366+ar5007.tar.gz
    cd madwifi-nr-r3366+ar5007
    make clean
    make
    sudo make install
    echo "** Installing OSD"
    wget http://eee-osd.googlecode.com/files/eee … 1_i386.deb
    sudo dpkg -i eee-osd_2.1-0eeeXubuntu1_i386.deb
    echo "** Configuring Sound"
    echo "options snd-hda-intel model=3stack-dig" > ~/snd-hda-intel.tmp
    sudo mv ~/snd-hda-intel.tmp /etc/modprobe.d/snd-hda-intel
    echo "Done! Please reboot now"[/sourcecode]

  10. Copiamo il contenuto di uno dei due script qui sopra e salviamo in un file di nome tweakubuntu.sh . Rendiamo eseguibile con chmod +x tweakubuntu.sh e eseguiamo lo script con ./tewakubuntu.sh . Lo script chiederà la password quando ci sarà necessità di operare in modalità sudoers.
  11. Ancora un reboot
  12. Fatto , abbiamo aggiornato perfettamente a 8.10 , senza intoppi e problemi.

Io personalmente ho perso  ,come accennato sopra , lo splash screen di boot , ma non mi sono fatto eccessivi problemi , in quanto a me piace vedere l'output di boot a schermo , e per questo scopo ho modificato le righe di /boot/grub/menu.lst levando splash e aggiungendo vga=normal e clocksource=hpet.

Credits:

howto di eeepc.it

howto di nerdlogger.com

Ubuntu 8.04 e fglrx , un incubo

Ci risiamo .

Dopo gli impazzamenti della scorsa settimana per conciliare versione a 32bit di Ubuntu 8.04 , 4 Gb di ram e drivers di Nvidia , stamane mi sono imbattuto in un’altra rottura di scatole con l’airone ardito.

In ufficio il computer di Sauro , il nostro designer , ha sempre avuto a bordo una versione di Ubuntu .

L’altro giorno ho provveduto all’upgrade di Gutsy Gibbon 7.10 tramite update manager. Tutto è proceduto senza intoppi ma al primo reboot i driver restricted per la Radeon 9550 non andavano per niente bene. Accelerazione hardware assente con inceppamenti di X .

Deciso a non perdere tempo ho seguito la guida di Unofficial Ati Linux Driver Wiki ed ho provveduto ad installare i driver proprietari di Ati. Anche qui il processo si è svolto nella maniera più liscia possibile , e dopo il secondo reboot la situazione sembrava radicalmente cambiata . Dico sembrava perché controllando se avessi ottenuto il direct rendering , mi veniva risposto maledettamente :

$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect

Anche spulciando il forum di Ubuntu e il forum di Phoronix.com non riuscivo a trovare il bandolo della matassa.

La cosa che mi è saltata subito agli occhi era che il module fglrx non venisse caricato all’avvio di X e nemmeno manualmente con il comando modprobe fglrx. Eppure il modulo fglrx.ko era correttamente in /lib/modules/2.6.24-*/fglrx/.

Alla fine di un estenuante Google Fighting mi sono imbattuto in questo thread di ottobre 2007 per Ubuntu 7.10 che suggerisce il seguente workaround :

  1. verificare con il comando sudo modprobe -vf fglrx venga restituita la seguente stringa :
    install /sbin/lrm-video fglrx
  2. modificare il file /etc/modprobe.d/lrm-video come segue :
    sudo nano -w /etc/modprobe.d/lrm-video
    #install fglrx /sbin/lrm-video fglrx $CMDLINE_OPTS
  3. dare il comando
    sudo modprobe -vf fglrx
    e controllare il corretto output : insmod /lib/modules/2.6.24-16-386/updates/dkms/fglrx.ko
  4. far ripartire X con CTRL+ALT+Backspace

Fatto questo , è andato tutto a posto ; fglrxinfo | grep direct restituiva la stringa yes. Alleluya !

Finalmente piena accelerazione 3D anche con scheda Ati e Ubuntu 8.04 Hardy Heron.

Ora non per dire , va bene che l’upgrade che ho fatto da 7.10 partiva da un’installazione un po’ pasticciata , sempre per via dei driver di Ati , ma Ubuntu non dovrebbe essere la distribuzione Linux per esseri umani , quella senza intoppi e via lisci come l’olio ?

Dalle mie ultime esperienze con 8.04 sembra proprio di no !