Emergency List

Per evitare il ripetersi della mia ultima avventura e aiutare nel contempo qualcuno che necessiti di un ambiente di sviluppo in per C++, Java e OpenGL per Linux (se state pensando ad un certo porting siete sulla strada giusta), ecco una rapida lista di cosa fare per riuscire ad avere Kubuntu 12.04.1 LTS  funzionante in poco tempo.

Per prima cosa vediamo le caratteristiche che il mio ambiente deve avere:

  • Java 1.7 JDK per lavorare con l’omonimo linguaggio
  • gcc e g++ per poter compilare in C e C++
  • Eclipse come ambiente di sviluppo principale
  • QT4.0 per poter creare interfacce grafiche carine
  • Librerie OpenGL (io uso freeglut dato che non devo fare un gioco ma solo studiare queste librerie)
  • Texmaker e LaTeX per poter scrivere documentazione
  • Dropbox

In aggiunta mi serve un po’ di supporto per lo sviluppo web, dato che ho un sito da tirare avanti:

  • MySQL 5.5
  • Apache2 con php5 e phpmyadmin
  • Firefox
  • Skype
  • Google Chrome
  • Filezilla
  • RapidSVN
  • Sublime Text 2 (editor di testo a dir poco divino)

Ora che so cosa mi serve posso iniziare ad installare il tutto.

Partiamo con l’installare Kubuntu 12.04.1 LTS. Dato che il mio è un portatile opto per utilizzare un USB Stick su cui monterò l’ISO scaricata con Linux Live Creator. Il programma è molto semplice da usare: si sceglie la chiavetta, successivamente l’ISO appena scaricata e si lancia il processo di conversione. Creata la chiavetta e fatto sì che il computer abbia l’opzione di partire da USB abilitata, procedo all’installazione.

Dato che l’esperienza insegna, io vi consiglio caldamente di fare un partizionamento manuale e creare 2 partizioni separate: una per la /root e una per la /home. Sul mio portatile ho a disposizione circa 300GB di spazio. I primi 200GB sono riservati per la /root (ext4 con punto di mount /, da formattare ad ogni reinstallazione), i successivi 94 sono riservati per /home (ext4 con punto di mount /home da MAI formattare), infine gli ultimi 6GB sono riservato all’area di swap.  SeQuando qualcosa dovesse andare storto, basterà reinstallare il tutto ricordandosi che la partizione grande è la root e va formattata mentre la piccola è la home e non andrà MAI formattata dato che conterrà i nostri preziosissimi dati. Ricordatevi di installare anche i pacchetti di terze parti.

Finita l’installazione facciamo subito gli aggiornamenti che il sistema richiede usando l’apposito Gestore aggiornamenti (o update manager). Dato che andremo a scaricare qualche GB di dati aggiuntivi, è buona cosa utilizzare un collegamento Ethernet cablato per accelerare i tempi. Finiti gli aggiornamenti riavviamo.

Apriamo Konsole dal menu K e iniziamo ad installare i primi pacchetti necessari al lavoro. Il primo ad essere installato è yakuake, una console a comparsa richiamabile con F12.

sudo apt-get install yakuake

Dato che ormai ho yakuake posso tranquillamente usare lui come terminale di lavoro, chiudendo Konsole. Il secondo sono i compilatori per C/C++ e per i moduli del kernel, presenti nel pacchetto build-essential.

sudo apt-get install build-essential

Passiamo quindi ai maledetti driver video. Per la mia ATI Mobility Radeon 3450 HD utilizzo i 12.6 beta13.1 conosciuti anche con fglrx-legacy. Nei repository ufficiali non ci sono tali driver, o meglio ci sono ma sono le versioni vecchi di qualche anno. Una volta scaricati e scompattati basterà spostarsi nella cartella dei driver e dare il comando

sudo sh ./amd*.run

Per iniziare l’installazione. Fortunatamente esiste l’interfaccia grafica e se tutto andrà bene non verranno riportati errori. Riavviamo nuovamente per caricare i moduli dei driver video nel Kernel.

Passiamo a Java 1.7. Nei repository ci sono gli openjdk-7, ma io sinceramente preferisco il supporto di SUNOracle e voglio quindi le oracle jdk 7. Dato che per installare sono un po’ rognose non scarico direttamente dal sito di Oracle ma mi appoggio ad un repository esterno che fornisce un comodo installer.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Se in un futuro le volessi rimuovere basterà dare il comando

sudo apt-get remove oracle-java7-installer

Passiamo ad Eclipse.

sudo apt-get install eclipse eclipse-jdt eclipse-cdt

Questo comando installerà Eclipse con i plugin per Java e C/C++. All’appello mancano ancora i plugin per SVN e PHP che si installano facilmente dall’interno del programma. Sfortunatamente io ho incontrato un piccolo problema con Eclipse: non trovava le librerie swing per l’interfaccia. Googlando un po’ ho scoperto che mancano dei link:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

Per OpenGL basta installare freeglut3 presente all’interno dei repository ufficiali. In aggiunta, io metto anche glee dato che mi serve per un paio di lavoretti qua e là.

sudo apt-get install freeglut3-dev glee-dev

Per usarlo in Eclipse occorre ricordarsi di aggiungere le librerie GL, GLU e glut ai progetti C++ che si creano.

Per il framework delle QT, dato che uso KDE, sono già a buon punto. Basta installare QTCreator e le sue dipendenze per avere tutto configurato. QTCreator stesso è un ottimo ambiente per sviluppare con C++.

sudo apt-get install qtcreator --fix-missing

Passiamo ora al lato LaTeX della vita. Dato che LaTeX 2012 è solo nei repository della 12.10 e che la 12.04 ha ancora LaTeX 2009 (…) occorre aggiungere una backport per i repository nuovi prima di installare LaTeX.

sudo apt-add-repository ppa:texlive-backports/ppa
sudo apt-get update
sudo apt-get install texmaker texlive*

Passiamo ora a San Dropbox da Internet. Dropbox è uno dei primi pacchetti .deb che vanno installati a manina. Dato che sicuramente mancheranno delle librerie o dei file, dovremmo per forza di cose installare anche le dipendenze. Il seguente procedimento si applica anche a Chrome e Skype: scarichiamo dal relativo sito il pacchetto .deb per la nostra versione e lanciamolo con il comando

sudo dpkg -i pacchetto.deb

e usiamo il seguente per risolvere le dipendenze:

sudo apt-get install -f

Di conseguenza dovremo lanciare i seguenti comandi.

sudo dpkg -i dropbox*.deb
sudo apt-get install -f
sudo dpkg -i chrome*.deb
sudo apt-get install -f
sudo dpkg -i skype*.deb
sudo apt-get install -f

Per installare Firefox non dovremo far altro che installarlo dall’omonima voce nel menu K. Per Filezilla, invece, basterà installarlo da repository:

sudo apt-get install filezilla

Passiamo ora alle varie utility come codec video, audio e flash player. Tutto si installa tramite il repository mediubuntu, che va prima aggiunto.

sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get --quiet update && sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring && sudo apt-get --quiet update

Quindi possiamo installare tutto ciò che ci serve:

sudo apt-get install non-free-codecs ubuntu-restricted-extra kubuntu-restricted-addons kubuntu-restricted-extras

Installiamo anche qualche programma in più che può sempre tornare utile come emacs  e Acrobat Reader:

sudo apt-get install emacs acroreader

E finalmente passiamo all’installare tutto ciò che serve per lo sviluppo web: Apache2MySQLPHP5, PHPMyAdmin. Per Apache e MySQL è molto semplice:

sudo apt-get apache2 mysql-server-5.5

Per PHP un po’ meno:

sudo apt-get install  php5 php5-gd php5-mysql php5-curl php5-cli php5-cgi php5-dev libapache2-mod-php5

E per PHPMyAdmin c’è da lavorarci un po’:

sudo apt-get install phpmyadmin
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
sudo /etc/init.d/apache2 reload

E modifichiamo il file /etc/phpmyadmin/config.inc.php decommentando la linea alla voce “AllowNoPassword” nel caso in cui non avessimo messo nessuna password per phpmyadmin.

Infine installiamo Sublime Text Editor 2 dopo averlo scaricato.

tar xf Sublime\ Text\ 2.0.1\ x64.tar.bz2
sudo mv Sublime\ Text\ 2 /opt/
sudo ln -s /opt/Sublime\ Text\ 2/sublime_text /usr/bin/sublime
sudo sublime /usr/share/applications/sublime.desktop

E nell’ultimo file aperto inseriamo le seguenti linee in modo da creare una entry nel menu K:

[Desktop Entry]
Version=1.0
Name=Sublime Text 2
# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.
# From Ubuntu's language-pack-kde-XX-base packages, version 9.04-20090413.
GenericName=Text Editor
Exec=sublime
Terminal=false
Icon=/opt/Sublime Text 2/Icon/48x48/sublime_text.png
Type=Application
Categories=TextEditor;IDE;Development
X-Ayatana-Desktop-Shortcuts=NewWindow
[NewWindow Shortcut Group]
Name=New Window
Exec=sublime -n
TargetEnvironment=Unity

Questo procedimento per Sublime Text 2 l’ho trovato qui.

Per concludere, dato che il mio è un portatile, installo delle utility atte a migliorare l’autonomia. O così dicono.

sudo apt-get install laptop-mode-tools

Bene, a questo punto dovreste avere un ambiente per sviluppare in Java, C/C++ con OpenGL, e qualche applicazione web. Volendo si potrebbe aggiungere VirtualBox, virtualizzarci Windows e mettere Office dato che Libre Office fa schifonon mi è mai piaciuto… oppure provare la suite Calligra che sembra promettere bene.

Un’ulteriore aggiunta riguarda la possibilità di evidenziare la sintassi dei testi letti con il comando less, per fare questo occorre installare source-highlight, un comodo script che sfrutta le potenzialità del comando less per evidenziare la sintassi usando dei colori.


sudo apt-get install source-highlight

Per completare il lavoro occorre mdificare il file .bashrc aggiugnendo queste righe:

export LESSOPEN="| /usr/share/source-highlight/src-hilite-lesspipe.sh %s"
export LESS=' -R '