Script di Post Installazione in Italiano per Ubuntu 13.10

The following two tabs change content below.

Gianni M.

Sono da sempre uno smanettone… Ormai non più in erba, ma sempre desideroso di conoscere, scoprire, ogni cosa che abbia a che fare con tecnologia e dintorni.

Script_Postinstallazione_Ubuntu_13.10Ubuntu è la distro Linux più popolare tra gli utenti desktop, orientata agli utenti poco esperti, quindi in nome della semplicità ho deciso di tradurre e pubblicare un bellissimo script di post installazione in italiano per Ubuntu 13.10 che permetta di automatizzare tutte quelle operazioni che permettono di completare la nostra linux box Ubuntu appena installata… che diciamoci la verità: bella eh, ma un po’ spoglia così com’è “out of the box”, quindi grazie ad un piccolo script potremo installare ciò che manca in modo semplice, anche senza l’utilizzo del terminale!

Dopo quest’ultima frase i puristi di Linux probabilmente storceranno il naso, ma pur amando l’utilizzo del terminale, credo che per un neofita possa essere inizialmente un po’ ostico, quindi uno script può ammorbidire questo passaggio e, se questi nuovi linuxiani vorranno approfondire l’argomento e iniziare a sbirciare sotto al cofano, potranno aprire lo script con l’editor di testo e studiarselo con calma… oltre che trovare milioni di pagine di supporto sul web.

Lo script

Dopo questa breve introduzione, ecco lo script nudo e crudo, in seguito verrà spiegato come usarlo:

#!/bin/bash
# -*- Mode: sh; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
#
# Autori:
# Sam Hewitt
#
# Traduzione:
# Gianni Magnifico
#
# Descrizione :
# Uno script bash di post- installazione di Ubuntu ( 13.10 )
#
# Legal Stuff:
#
# This script is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; version 3.
#
# This script is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, see

echo ''
echo ' # # ------------------------------------------- '
echo ' # Ubuntu 13.10 script post-installazione # '
echo ' # # ------------------------------------------- '

# ----- FUNZIONI ----- #

# Sistema di aggiornamento
function sysupgrade {
# Eseguire l'aggiornamento del sistema
echo ''
read -p "Procedere con l' aggiornamento del sistema? (S)ì, (N)o:" REPLY
case $REPLY in
#Azione Positiva
[Ss]* )
# Aggiornare le informazioni di repository
echo ' Aggiornamento delle informazioni del repository ...'
echo 'Richiede i privilegi di root : '
sudo apt-get update
# Dist-upgrade
echo 'Sto aggiornando il sistema ... '
sudo apt-get dist-upgrade -y
echo 'Fatto.'
main
;;
# Azione Negativa
[Nn]* )
clear && main
;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. '
sysupgrade
;;
esac
}

# Installazione di applicazioni
function favourites {
# Installare Applicazioni preferite
echo ''
echo ' Installazione applicazioni preferite selezionate ...'
echo ''
echo 'Elenco pacchetti corrente :
darktable
easytag
filezilla
gnome-tweak-tool
gpick
grsync
nautilus-dropbox
nautilus-open-terminal
pyrenamer
sparkleshare
xchat
vlc'
echo ''
read -p 'Procedere? (S)ì, (N)o: ' REPLY
case $REPLY in
#Azione Positiva
[Ss]* )
echo 'Richiede i privilegi di root : '
# Sentitevi liberi di cambiare a qualunque cosa si adatta alle vostre preferenze .
sudo apt-get install -y --no-install-recommends darktable easytag filezilla gnome-tweak-tool gpick grsync nautilus-dropbox nautilus-open-terminal pyrenamer sparkleshare xchat vlc
echo 'Fatto.'
main
;;
# Azione Negativa
[Nn]* )
clear && main
;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. '
favourites
;;
esac
}

# INSTALL SYSTEM TOOLS
function system {
echo ''
echo '1 . Installare le utilità di sistema preferiti? '
echo '2 . Installare il software lettore di impronte digitali? '
echo 'r . Ritorno ' .
echo ''
read -p ' Cosa ti piacerebbe fare? ( Inserire la vostra scelta ) : ' REPLY
case $REPLY in
# Installare Utilità di sistema preferiti
1 )
echo ' Installazione degli strumenti di sistema preferiti ...'
echo ''
echo ' Elenco pacchetti corrente:
aptitude
dconf-tools
openjdk-7-jdk
openssh-server
p7zip-full
ppa-purge
python-soappy
samba
ssh
supybot
symlinks
synaptic
virt-manager
zsync'
echo ''
read -p 'Procedere? (S)ì, (N)o: ' REPLY
case $REPLY in
# Azione Positiva
[Ss]* )
echo 'Richiede i privilegi di root: '
# Sentitevi liberi di cambiare a qualunque cosa si adatta alle vostre preferenze .
sudo apt-get install -y --no-install-recommends aptitude dconf-tools openjdk-7-jdk openssh-server p7zip-full ppa-purge python-soappy samba ssh supybot symlinks synaptic virt-manager zsync
echo 'Fatto.'
clear && system
;;
# Azione Negativa
[Nn]* )
clear && system
;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. '
system
;;
esac
;;
# Installare Fingerprint Reader Software
2 )
# Aggiungere repository
echo 'Aggiunta di Fingerprint Team Reader PPA alle sorgenti software ...'
echo 'Richiede i privilegi di root :'
sudo apt-add-repository -y ppa:fingerprint/fingerprint-gui
# Aggiornare le informazioni di repository
echo 'Aggiornamento delle informazioni del repository ...'
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione del software del lettore di impronte digitali ... '
sudo apt-get install -y libbsapi policykit-1-fingerprint-gui fingerprint-gui
echo 'Fatto.'
system
;;
# ritorno
[Rr]* )
clear && main;;
#Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo.' && development;;
esac
}

# Installa Componenti di Gnome
function gnome {
echo ''
echo '1. Aggiungi GNOME3 PPA? '
echo '2. Aggiungi GNOME3 Staging PPA? '
echo '3. Aggiungi GNOME3 Avanti PPA? '
echo '4. Installare GNOME Shell? '
echo '5. Installare i componenti aggiuntivi di GNOME? '
echo '6. Configurare GNOME Shell impostazioni specifiche? '
echo 'r. Ritorno ' .
echo ''
read -p 'Cosa ti piacerebbe fare? ( Inserire la vostra scelta ) : ' REPLY
case $REPLY in
# Aggiungere GNOME3 PPA
1 )
# Aggiungere repository
echo 'Aggiunta di GNOME3 PPA alle sorgenti software ...'
echo 'Richiede i privilegi di root : '
sudo add-apt - repository ppa - y : gnome3-team/gnome3
# Aggiornare le informazioni di repository
echo ' Aggiornamento delle informazioni del repository ...'
sudo apt-get update
# Aggiornamento del sistema
echo 'Sto aggiornando il sistema... '
sudo apt-get dist-upgrade -y
echo 'Fatto.'
echo ''
gnome
;;
# Aggiungere GNOME3 Staging PPA
2 )
# Aggiungere repository
echo 'Aggiunta di GNOME3 Staging PPA alle sorgenti software ...'
echo 'Richiede i privilegi di root : '
sudo add-apt-repository -y ppa:gnome3-team/gnome3-staging
# Aggiornare le informazioni di repository
echo ' Aggiornamento delle informazioni del repository ...'
sudo apt-get update
# Aggiornamento del sistema
echo 'Sto aggiornando il sistema ... '
sudo apt-get dist-upgrade -y
echo 'Fatto.'
echo ''
gnome
;;
# Aggiungere GNOME3 Avanti PPA
3 )
# Aggiungere repository
echo ' Aggiunta di GNOME3 Next PPA alle sorgenti software ...'
echo 'Richiede i privilegi di root : '
sudo add-apt-repository -y ppa:gnome3-team/gnome3-next
# Aggiornare le informazioni di repository
echo ' Aggiornamento delle informazioni del repository ...'
sudo apt-get update
# Aggiornamento del sistema
echo 'Sto aggiornando il sistema...'
sudo apt-get dist-upgrade -y
echo 'Fatto.'
echo ''
gnome
;;
# Installare GNOME Shell
4 )
echo 'Installare GNOME Shell ...'
echo 'Richiede i privilegi di root : '
sudo apt-get install -y gnome-shell
echo 'Fatto.'
echo ''
gnome
;;
# Installare i componenti aggiuntivi di GNOME
5 )
echo 'Installazione componenti aggiuntivi di GNOME ...'
echo 'Richiede che i PPA di "gnome3-staging" e "gnome3-next" siano aggiunti ai repository.'
echo ''
echo 'Elenco corrente dei pacchetti:
cheese
gnome-maps
gnome-online-accounts
gnome-weather
rygel'
echo ''
read -p 'Procedere? (S)ì, (N)o: ' REPLY
case $REPLY in
# Azione Positiva
[Ss]* )
echo 'Richiede i privilegi di root : '
# Sentitevi liberi di cambiare a qualunque cosa si adatta alle vostre preferenze .
sudo apt-get install -y cheese gnome-maps gnome-online-accounts gnome-weather rygel
echo 'Fatto.'
clear && gnome
;;
#Azione Negativa
[Nn]* )
clear && gnome
;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. '
gnome
;;
esac
;;
# Configurare Shell impostazioni specifiche
6 )
# Impostazioni Font
echo 'Impostazione delle preferenze dei font ...'
echo 'Richiede il font "Cantarell".'
# Controlla se è installato il pacchetto " font - Cantarell "
PACKAGE=$(dpkg-query -W --showformat='${Status}\n' fonts-cantarell | grep "install ok installed")
echo "Verifica se installato ... "
if [ "" == "$PACKAGE" ]; then
echo 'Cantarell non è installato. '
echo 'Installazione di ... '
echo 'Richiede i privilegi di root : '
sudo apt-get install -y fonts-cantarell
echo 'Fatto. '
else
echo 'Cantarell è installato, procedere ... '
fi
Impostazioni # impostazioni di carattere
gsettings set org.gnome.desktop.interface text-scaling-factor '1.0'
gsettings set org.gnome.desktop.interface document-font-name 'Cantarell 10'
gsettings set org.gnome.desktop.interface font-name 'Cantarell 10'
gsettings set org.gnome.nautilus.desktop font 'Cantarell 10'
gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Cantarell Bold 10'
gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing 'rgba'
gsettings set org.gnome.settings-daemon.plugins.xsettings hinting 'slight'
echo 'Fatto. '
# GNOME Shell Impostazioni
echo 'Impostazione GNOME Shell finestra Preferenze pulsante ... '
gsettings set org.gnome.shell.overrides button-layout ':close'
echo 'Fatto. '
echo ''
gnome
;;
# ritorno
[Rr]* )
clear && main;;
# Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo .' && gnome ;;
esac
}

# Installare Ubuntu restricted extras
function codecinstall {
echo ''
read -p 'Installare Ubuntu Restricted Extras ? (S)ì , (N)o : ' REPLY
case $REPLY in
# Azione Positiva
[Ss]* )
echo ' Installazione di ...'
echo 'Richiede i privilegi di root : '
sudo apt-get install -y ubuntu-restricted-extras
echo 'Fatto.'
main
;;
# Azione Negativa
[Nn]* )
clear && main;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. ' && codecinstall
esac
}

# INSTALLARE STRUMENTI DI SVILUPPO
function development {
echo ''
echo '1. Installare strumenti di sviluppo? '
echo '2. Installare Ubuntu SDK? '
echo '3. Installare Ubuntu phablet Tools? '
echo 'r. Ritorno '
echo ''
read -p ' Cosa ti piacerebbe fare? (Inserire la vostra scelta) : ' REPLY
case $REPLY in
# Installare Strumenti di sviluppo
1 )
echo 'Installazione di strumenti di sviluppo ...'
echo ''
echo 'Elenco corrente dei pacchetti:
bzr
devscripts
git
glade
gnome-common
gtk-3-examples
python-launchpadlib
python3-distutils-extra
qtcreator
ruby'
echo ''
read -p 'Procedere? (S)ì, (N)o: ' REPLY
case $REPLY in
# Azione Positiva
[Ss]* )
echo 'Richiede i privilegi di root : '
# Sentitevi liberi di cambiare a qualunque cosa si adatta alle vostre preferenze .
sudo apt-get install -y bzr devscripts git glade gnome-common gtk-3-examples php5 python-launchpadlib python3-distutils-extra ruby
echo 'Fatto.'
development
;;
#Azione Negativa
[Nn]* )
clear && development
;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. '
development
;;
esac
;;
# Installare Ubuntu SDK
2 )
# Aggiungere repository
echo 'Aggiunta di Ubuntu SDK squadra PPA alle sorgenti software...'
echo 'Richiede i privilegi di root : '
sudo add-apt-repository -y ppa:ubuntu-sdk-team/ppa
# Aggiornare le informazioni di repository
echo 'Aggiornamento delle informazioni del repository ...'
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione di Ubuntu SDK ...'
sudo apt-get install -y ubuntu-sdk
echo 'Fatto.'
development
;;
# Installare Ubuntu Phablet Tools
3 )
echo 'Installazione Phablet Tools...'
sudo apt-get install -y phablet-tools
echo 'Fatto.'
development
;;
# ritorno
[Rr]* )
clear && main;;
# Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo . ' && development;;
esac
}

# INSTALLARE Strumenti di disegno
function design {
echo ''
echo 'Installazione di strumenti di disegno ...'
echo ''
echo 'Elenco corrente dei pacchetti:
fontforge
fontforge-extras
gimp
gimp-plugin-registry
icontool
imagemagick'
echo ''
read -p 'Procedere? (S)ì, (N)o: ' REPLY
case $REPLY in
# Azione Positiva
[Ss]* )
echo 'Richiede i privilegi di root : '
# Sentitevi liberi di cambiare a qualunque cosa si adatta alle vostre preferenze .
sudo apt-get install -y fontforge fontforge-extras gimp gimp-plugin-registry icontool imagemagick
echo 'Fatto.'
main
;;
# Azione Negativa
[Nn]* )
clear && main;;
# Errore
* )
clear && echo 'Spiacente , provare di nuovo. ' && design
;;
esac
}

# INSTALLARE SUBLIME TEXT 2
function sublime2 {
# Scaricare Sublime Text 2
cd $ HOME / Download
echo ' Scaricare Sublime Text 2.0.2 ...'
# Scarica tarball che corrisponde architettura del sistema
if [ $(uname -i) = 'i386' ]; then
wget http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2.tar.bz2
elif [ $(uname -i) = 'x86_64' ]; then
wget http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.2%20x64.tar.bz2
fi
# Estrarre delo
cd $HOME/Downloads
echo ' Estrazione di Sublime Text 2.0.2 ...'
tar xf Sublime*.tar.bz2
# Sposta Sublime Text 2 a / opt
echo 'Installazione di ...'
echo 'Richiede i privilegi di root : '
sudo mv Sublime\ Text\ 2 /opt/
echo 'Fatto.'
# Crea collegamento simbolico
echo 'Creazione del link simbolico ...'
echo 'Richiede i privilegi di root : '
sudo ln -sf /opt/Sublime\ Text\ 2/sublime_text /usr/bin/sublime
echo 'Fatto.'
# Crea file .Desktop
echo ' Creazione di file .desktop...'
touch sublime-text.desktop
echo "[Desktop Entry]
Version=2
Name=Sublime Text 2
GenericName=Text Editor

Exec=sublime
Terminal=false
Icon=/opt/Sublime Text 2/Icon/256x256/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" >> sublime-text.desktop
# Move .desktop file
echo 'Sposto il file .desktop in /usr/share/applications'
sudo mv -f sublime-text.desktop /usr/share/applications/
echo 'Fatto.'
# Pulizia e Finitura
rm Sublime*.tar.bz2
cd
echo ''
echo ' Installazione di Sublime Text 2 completata. '
thirdparty
}

# TEMI DI TERZI
function themes {
echo ' Cosa vorresti installare? '
echo ''
echo '1. Moka Icon Theme '
echo '2. Moka GTK Theme '
echo 'r. Ritorno '
echo ''
read -p 'Inserire la vostra scelta: ' REPLY
case $REPLY in
# Moka Icon Theme
1 )
# Aggiungere repository
echo 'Aggiunta di Moka Icon Theme repository alle sorgenti ...'
echo 'Richiede i privilegi di root : '
sudo add-apt - repository ppa - y : snwh / moka - icon-theme - giorno
# Aggiornare le informazioni di repository
echo ' Aggiornamento delle informazioni del repository ...'
echo 'Richiede i privilegi di root : '
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione di Moka Icon Theme...'
echo 'Richiede i privilegi di root: '
sudo apt-get install -y moka-icon-theme moka-icon-theme-*
echo 'Fatto.'
# Imposta tema
read -p "Vuoi impostare Moka come tema del desktop (S)ì, (N)o: " INPUT
case $INPUT in
[Ss]* )
echo "Impostazione Moka come icon theme del desktop... "
gsettings set org.gnome.desktop.interface icon-theme "Moka"
echo "Fatto."
themes
;;
[Nn]* ) echo 'Fatto.'; themes ;;
* ) Echo ; echo "Ops, risposta non valida! Continua senza cambiamenti."; themes;;
esac
;;
# Moka GTK Theme
2 )
# Aggiungere repository
echo 'Aggiunta del repository di Moka GTK Theme alle sorgenti ...'
echo 'Richiede i privilegi di root : '
sudo add-apt-repository -y ppa:snwh/moka-gtk-theme-daily
# Aggiornare le informazioni di repository
echo 'Aggiornamento delle informazioni del repository ...'
echo 'Richiede i privilegi di root : '
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione di Moka Icon Theme...'
echo 'Richiede i privilegi di root : '
sudo apt-get install -y moka-gtk-theme
echo 'Fatto.'
# Imposta un tema
read -p "Vuoi impostare Moka come tema del desktop (S)ì, (N)o: " INPUT
case $INPUT in
[Ss]* )
echo "Impostazione Moka come tema delle finestre GTK ... "
gsettings set org.gnome.desktop.wm.preferences theme "Moka"
echo "Fatto. "
echo "Impostazione Moka come tema del desktop GTK ... "
gsettings set org.gnome.desktop.interface gtk-theme "Moka"
echo "Fatto."
themes
;;
[Nn]* ) echo 'Fatto.'; themes;;
* ) Echo ; echo "Ops, risposta non valida! Continua senza cambiamenti."; themes;;
esac
;;
# Ritorno
[Rr]* )
clear && customize;;
# Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo.' && themes;;
esac
}

# PERSONALIZZAZIONE
function customize {
echo ''
echo '1. Configurare il sistema? '
echo '2. Installare temi di terze parti? '
echo 'r. Ritorno '
echo ''
read -p 'Cosa ti piacerebbe fare? ( Inserire la vostra scelta ) : ' REPLY
case $REPLY in
1) clear && config;; # Configurazione del sistema
2) clear && themes;; # Installare temi di terze parti
[Rr]*) clear && main;; # ritorno
* ) clear && echo 'Opzione non valida, provare di nuovo.' && customize;; # scelta non valida
esac
}

# APPLICAZIONI DI TERZI
function thirdparty {
echo ' Cosa vorresti installare? '
echo ''
echo '1. Google Chrome?'
echo '2. Plugin Google Talk? '
echo '3. Google Music Manager? '
echo '4. Steam? '
echo '5. Unity Tweak Tool? '
echo '6. LightZone? '
echo '7. Sublime Text 2? '
echo '8. Sublime Text 3 (build 3047 )? '
echo '9. Client Spotify '
echo '10. Inkscape Trunk'
echo 'r. Ritorno '
echo ''
read -p ' Inserire la vostra scelta: ' REPLY
case $REPLY in
# Google Chrome
1 )
echo ' Download Google Chrome ...'
# Scaricare file di Debian che corrisponde architettura del sistema
if [ $(uname -i) = 'i386' ]; then
wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb
elif [ $(uname -i) = 'x86_64' ]; then
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
fi
# Installare il(i) pacchetto(i)
echo ' Installazione di Google Chrome ...'
echo 'Richiede i privilegi di root : '
sudo dpkg -i google-chrome*.deb
sudo apt-get install -fy
# Pulitura e finitura
rm google-chrome*.deb
cd
echo 'Fatto.'
thirdparty
;;
# Google Talk Plugin
2 )
echo ' Scaricare Google Talk Plugin ...'
# Scaricare file di Debian che corrisponde architettura del sistema
if [ $(uname -i) = 'i386' ]; then
wget https://dl.google.com/linux/direct/google-talkplugin_current_i386.deb
elif [ $(uname -i) = 'x86_64' ]; then
wget https://dl.google.com/linux/direct/google-talkplugin_current_amd64.deb
fi
# Installare il(i) pacchetto(i)
echo 'Installazione di Google Talk Plugin ...'
echo 'Richiede i privilegi di root : '
sudo dpkg -i google-talkplugin_current*.deb
sudo apt-get install -fy
# Pulitura e finitura
rm google-talkplugin_current*.deb
cd
echo 'Fatto.'
thirdparty
;;
# Google Music Manager
3 )
echo 'Scaricare Google Music Manager ...'
# Scaricare file di Debian che corrisponde architettura del sistema
if [ $(uname -i) = 'i386' ]; then
wget https://dl.google.com/linux/direct/google-musicmanager-beta_current_i386.deb
elif [ $(uname -i) = 'x86_64' ]; then
wget https://dl.google.com/linux/direct/google-musicmanager-beta_current_amd64.deb
fi
# Installare il(i) pacchetto(i)
echo 'Installazione di Google Music Manager ...'
echo 'Richiede i privilegi di root : '
sudo dpkg -i google-musicmanager-*.deb
sudo apt-get install -fy
# Pulitura e finitura
rm google-musicmanager*.deb
cd
echo 'Fatto.'
thirdparty
;;
# Steam
4 )
echo ' Scaricare Steam ...'
cd $HOME/Downloads
# Scaricare file di Debian che corrisponde architettura del sistema
if [ $(uname -i) = 'i386' ]; then
wget http://repo.steampowered.com/steam/archive/precise/steam_latest.deb
elif [ $(uname -i) = 'x86_64' ]; then
wget http://repo.steampowered.com/steam/archive/precise/steam_latest.deb
fi
# Installare il(i) pacchetto(i)
echo 'Installazione di Steam ...'
echo 'Richiede i privilegi di root : '
sudo dpkg -i steam*.deb
sudo apt-get install -fy
# Pulitura e finitura
rm steam*.deb
cd
echo 'Fatto.'
thirdparty
;;
# Unity Tweak Tool
5 )
# Aggiungere repository
echo 'Aggiunta di repository Unity Tweak Tool per le fonti ...'
echo 'Richiede i privilegi di root : '
sudo add-apt-repository -y ppa:freyja-dev/unity-tweak-tool-daily
# Aggiornare le informazioni di repository
echo 'Aggiornamento delle informazioni del repository ...'
echo 'Richiede i privilegi di root : '
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione di Unity Tweak Tool ...'
echo 'Richiede i privilegi di root : '
sudo apt-get install -y unity-tweak-tool
echo 'Fatto.'
thirdparty
;;
# LightZone
6 )
# Aggiungere repository
echo 'Aggiunta repository LightZone alle fonti ...'
echo 'Richiede i privilegi di root : '
sudo wget -O - http://download.opensuse.org/repositories/home:/ktgw0316:/LightZone/xUbuntu_13.04/Release.key | sudo apt-key add -
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/ktgw0316:/LightZone/xUbuntu_13.04/ ./' > /etc/apt/sources.list.d/lightzone.list"
# Aggiornare le informazioni di repository
echo 'Richiede i privilegi di root:'
echo 'Aggiornamento delle informazioni del repository ...'
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione di LightZone ...'
echo 'Richiede i privilegi di root : '
sudo apt-get install -y lightzone
echo 'Fatto.'
thirdparty
;;
# Sublime Text 2
7 )
sublime2
;;
# Sublime Text 3 (build 3047 )
8 )
echo ' Scaricare Testo Sublime 3 (build 3047 ) ...'
# Scaricare file di Debian che corrisponde architettura del sistema
if [ $(uname -i) = 'i386' ]; then
wget http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3047_i386.deb
elif [ $(uname -i) = 'x86_64' ]; then
wget http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3047_amd64.deb
fi
# Installare il(i) pacchetto(i)
echo ' Installazione Testo Sublime 3 (build 3047 ) ...'
echo 'Richiede i privilegi di root: '
sudo dpkg -i sublime-text_build-3047*.deb
sudo apt-get install -fy
# Crea collegamento simbolico
echo 'Creazione del link simbolico ...'
echo 'Richiede i privilegi di root: '
sudo ln -sf /opt/sublime_text/sublime_text /usr/bin/sublime
echo 'Fatto.'
# Pulitura e finitura
rm sublime-text_build-3047*.deb
cd
echo 'Fatto.'
thirdparty
;;
# Spotify
9 )
# Aggiungere repository
echo 'Aggiunta di repository Spotify alle fonti ...'
echo 'Creazione di file di lista apt ...'
touch spotify.list
echo "deb http://repository.spotify.com stable non-free" >> spotify.list
echo 'Sposto spotify.list in /etc/apt/sources.list.d/'
echo 'Richiede i privilegi di root: '
sudo mv -f spotify.list /etc/apt/sources.list.d/
echo 'Fatto.'
# Aggiornare le informazioni di repository
echo 'Aggiungo chiave repository e aggiornarno le informazioni repository...'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59
sudo apt-get update
# Installare il(i) pacchetto(i)
echo 'Installazione client Spotify...'
sudo apt-get install -y spotify-client
echo 'Fatto.'
thirdparty
;;
# Inkscape Trunk
10 )
# Aggiungere repository
echo ' aggiunta di repository tronco Inkscape alle fonti ...'
echo 'Richiede i privilegi di root : '
sudo add-apt - repository ppa - y : inkscape.dev / trunk
# Aggiornare le informazioni di repository
echo ' Aggiornamento delle informazioni del repository ...'
echo 'Richiede i privilegi di root : '
sudo apt-get update
# Installare il(i) pacchetto(i)
echo ' Installazione tronco Inkscape ...'
echo 'Richiede i privilegi di root : '
sudo apt - get install - y inkscape - tronco
echo 'Fatto.'
thirdparty
;;
# ritorno
[Rr]* )
clear && main;;
# Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo.' && thirdparty;;
esac
}

# CONFIG
function config {
echo ''
echo '1. Impostare preferite impostazioni specifiche? '
echo '2. Mostra tutte le applicazioni di avvio? '
echo 'r. Ritorno'
echo ''
read -p 'Cosa ti piacerebbe fare? ( Inserire la vostra scelta ) : 'REPLY
case $REPLY in
# GSettings
1 )
# Dimensione Font
echo ' Impostazione delle preferenze dei font ...'
gsettings set org.gnome.desktop.interface text-scaling-factor '1.0'
gsettings set org.gnome.desktop.interface document-font-name 'Ubuntu 10'
gsettings set org.gnome.desktop.interface font-name 'Ubuntu 10'
gsettings set org.gnome.desktop.interface monospace-font-name 'Ubuntu Mono 11'
gsettings set org.gnome.nautilus.desktop font 'Ubuntu 10'
gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Ubuntu Bold 9'
gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing 'rgba'
gsettings set org.gnome.settings-daemon.plugins.xsettings hinting 'slight'
# Impostazioni Unity
echo 'Impostazione delle preferenze di Unity ...'
gsettings set com.canonical.Unity.ApplicationsLens display-available-apps false
gsettings set com.canonical.unity-greeter draw-user-backgrounds true
gsettings set com.canonical.indicator.power icon-policy 'charge'
gsettings set com.canonical.Unity.Lenses remote-content-search 'none'
# Preferenze Nautilus
echo 'Impostazione delle preferenze di Nautilus ...'
gsettings set org.gnome.nautilus.preferences sort-directories-first true
# Preferenze Gedit
echo 'Impostazione delle preferenze di gedit ...'
gsettings set org.gnome.gedit.preferences.editor display-line-numbers true
gsettings set org.gnome.gedit.preferences.editor create-backup-copy false
gsettings set org.gnome.gedit.preferences.editor auto-save true
gsettings set org.gnome.gedit.preferences.editor insert-spaces true
gsettings set org.gnome.gedit.preferences.editor tabs-size 4
# Preferenze Rhythmbox
echo ' Impostazione delle preferenze di Rhythmbox ...'
gsettings set org.gnome.rhythmbox.rhythmdb monitor-library true
gsettings set org.gnome.rhythmbox.sources browser-views 'artists-albums'
# Fatto
echo "Fatto."
config
;;
# Applicazioni avvio
2 )
echo ' Modifica della visualizzazione di applicazioni di avvio . '
echo 'Richiede i privilegi di root:'
cd /etc/xdg/autostart/ && sudo sed --in-place 's/NoDisplay=true/NoDisplay=false/g' *.desktop
cd
echo 'Fatto.'
config
;;
# Ritorno
[Rr]* )
clear && main;;
#Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo . ' && config;;
esac
}

# Pulizia del sistema
function cleanup {
echo ''
echo '1. Rimuovere i pacchetti preinstallati inutilizzati? '
echo '2. Rimuovere il(i) vecchio kernel(i)? '
echo '3. Rimuovere pacchetti orfani? '
echo '4. Rimuovere i file di configurazione rimasti? '
echo '5. Pulire la cache dei pacchetti? '
echo 'r. Ritorno? '
echo ''
read -p 'Cosa ti piacerebbe fare? ( Inserire la vostra scelta ) : ' REPLY
case $REPLY in
# Rimuovere inutilizzati pacchetti pre -installate
1 )
echo 'Rimozione di applicazioni preinstallate selezionate ...'
echo 'Richiede i privilegi di root : '
sudo apt-get purge landscape-client-ui-install
echo 'Fatto.'
cleanup
;;
# Togliere vecchio kernel
2 )
echo 'Rimozione vecchio(i) kernel(i)...'
echo 'Richiede i privilegi di root: '
sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | grep -v linux-libc-dev | xargs sudo apt-get -y purge
echo 'Fatto.'
cleanup
;;
# Rimuovere Pacchetti orfani
3 )
echo ' Rimozione dei pacchetti orfani ...'
echo 'Richiede i privilegi di root : '
sudo apt-get autoremove -y
echo 'Fatto.'
cleanup
;;
# Rimuovere i file di configurazione residui ?
4 )
echo 'Rimozione dei file di configurazione rimasti ...'
echo 'Richiede i privilegi di root : '
sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep '^rc' | tr -s ' ' | cut -d ' ' -f 2)
echo 'Fatto.'
cleanup
;;
# Clean Cache pacchetto
5 )
echo 'Pulizia cache dei pacchetti ...'
echo 'Richiede i privilegi di root : '
sudo apt-get clean
echo 'Fatto.'
cleanup
;;
# ritorno
[Rr]* )
clear && main;;
# Scelta non valida
* )
clear && echo 'Opzione non valida, provare di nuovo . ' && cleanup;;
esac
}

# Quit
function quit {
read -p "Sei sicuro di voler uscire ? (S)ì , (N)o" REPLY
case $REPLY in
[Ss]* ) exit 99;;
[Nn]*) clear && main;;
* ) clear && echo 'Mi dispiace , prova di nuovo . ' && quit ;;
esac
}

# ----- FUNZIONE PRINCIPALE ----- #
function main {
echo ''
echo '1. Eseguire aggiornamento elenco pacchetti e aggiornare il sistema?'
echo '2. Installare applicazioni preferite? '
echo '3. Installare le utilità di sistema preferite? '
echo '4. Installare strumenti di sviluppo? '
echo '5 Installare strumenti di disegno? '
echo '6. Installare i componenti aggiuntivi di GNOME? '
echo '7. Installare Ubuntu restricted extras? '
echo '8. Installare applicazioni di terze parti? '
echo '9. Personalizzare il sistema? '
echo '10. Pulizia del sistema? '
echo 'q. Uscire? '
echo ''
read -p 'Cosa ti piacerebbe fare? ( Inserire la vostra scelta ):' REPLY
case $REPLY in
1) sysupgrade;; # Aggiornamento del sistema
2) clear && favourites;; # Installare applicazioni preferite
3) clear && system;; # Install Tools preferiti
4) clear && development;; # Installare Strumenti di sviluppo
5) clear && design;; # Installare Strumenti di disegno
6) clear && gnome;; # Installare i componenti di GNOME
7) clear && codecinstall;; # Installare Ubuntu Restricted Extras
8) clear && thirdparty;; # installare applicazioni di terze parti
9 ) clear && customize;; # Personalizzazione del sistema
10) clear && cleanup ;; # pulitura del sistema
[Qq]* ) echo '' && quit;; # Quit
* ) clear && echo 'Opzione non valida, provare di nuovo . ' && main ;;
esac
}

# ----- RUN FUNZIONE PRINCIPALE ----- #
main

# Fine dello script

Lo script si si spiega da solo, grazie alle note inserite all’interno che spiegano passo passo cosa fa ogni “pezzo di codice”. Visto che questa non vuole essere una guida di scripting bash e/o sui principali comandi linux, vi rimando alle pagine man e a google per approfondimenti.

Come usare lo script

Per eseguire lo script sulla propria macchina sono sufficienti pochi, semplici passaggi:
Modo Grafico (facile)

1- Copiare l’intero testo della script.
2- Aprite l’editor di testo (lo trovate negli Accessori) ed incollate il testo copiato all’interno.
3- Salvate il file sulla Scrivania (o in una cartella a vostro piacimento) con il nome che preferite seguito dall’estenzione .sh. Es: postinstallazione.sh -> Quindi chiudere l’edito di testo.
4- Cliccate con il tasto destro sull’icona del file creato, quindi selezionate Proprietà->Permessi quindi aggiungete i permessi di esecuzione e salvate.
5- Ora il file è eseguibile, quindi potete avviare lo script facendo semplicemente doppio click sull’icona, quindi selezionando l’opzione “Esegui nel terminale”
6- Vi apparirà un menù testuale: per selezionare un’opzione digitare il carattere alfanumerico che la contraddistingue, quindi premere invio.

Metodo testuale (un po’ più complicato)

1- Copiare l’intero testo della script.
2- Aprite il terminale con ALT+T o selezionandolo da menù.
3- Salvate il file sulla Scrivania (o in una cartella a vostro piacimento) con il nome che preferite seguito dall’estenzione .sh. Es: postinstallazione.sh -> Quindi chiudere l’edito di testo.
4- Spostatevi nella cartella in cui avete salvato il file con il comando cd (es. per aprire la Scrivania cd /$HOME/Scrivania)
5- Aggiungere i permessi di esecuzione con il comando chmod +x NOMEFILE (dove NOMEFILE va sostituito con il nome del file che avete creato)
6- Eseguite lo scrit digitando da terminale il comando ./NOMEFILE seguito da invio.
7- Vi apparirà un menù testuale: per selezionare un’opzione digitare il carattere alfanumerico che la contraddistingue, quindi premere invio.

Conclusione

Visto che lo script è fornito sotto GPL potete modificarlo e distribuirlo a vostro piacimento! Nel primo caso è molto apprezzata la condivisione delle modifiche/migliorie apportate!

Se ritenete che sia utile aggiungere nuove applicazioni o funzioni allo script, chiedete e ne valuterò la fattibilità: contribuirete all’eventuale evoluzione dello script.

L’articolo ti è piaciuto? Condividilo con chi vuoi attraverso il tuo social network preferito usando la barra a sinistra.

Hai testato altri script o hai apporta delle modifiche? Hai bisogno di aiuto? Condividi con noi la tua esperienza lasciando un commento!