X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=ubuntu%2Fubuntu-cfg.sh;h=c3a3fe9274f6efdc873500676dd9f26874d392d2;hb=b7d1d99f41dcf50a8635f608679947f4455a0c7c;hp=00576ca8d67f8cfbd500431f037a2b9c7081efce;hpb=f77f82e696597d9a34d1f79c3f79055accbcf345;p=hvlinux.git diff --git a/ubuntu/ubuntu-cfg.sh b/ubuntu/ubuntu-cfg.sh index 00576ca..c3a3fe9 100755 --- a/ubuntu/ubuntu-cfg.sh +++ b/ubuntu/ubuntu-cfg.sh @@ -1,14 +1,30 @@ -#!/bin/sh +#!/bin/bash set -o errexit +source ./config.def + # Liste des items: -# 1. Installer "Broadcom STA wireless driver" (HP Mini 1115) -# 2. Désactiver touch CAPS LOCK +# 1. Désactiver touch CAPS LOCK GST=gstreamer0.10 APT="sudo apt-get --yes --force-yes" AGI="${APT} install" +AGINR="${AGI} --no-install-recommends" + +ubuntu_cleanup() +{ + sudo deborphan | xargs sudo apt-get -y remove --purge + ${APT} autoremove + ${APT} clean + ${APT} autoclean +} + +hv_add_repo() +{ + sudo add-apt-repository ${1} + ${APT} update +} if [ "`id -u`" -eq 0 ]; then echo "You must NOT be the super-user to execute this script" @@ -19,139 +35,302 @@ fi # Purge Mono from my system! if dpkg --list | grep "libmono" 1> /dev/null 2>&1; then - ${APT} purge libmono* libgdiplus cli-common libglitz-glx1 libglitz1 -fi - -if dpkg --list | grep "pulseaudio" 1> /dev/null 2>&1; then - ${APT} remove --purge pulseaudio* + ${APT} purge libmono* cli-common fi if dpkg --list | grep "bluez-gstreamer" 1> /dev/null 2>&1; then ${APT} remove --purge bluetooth bluez bluez-gstreamer bluez-alsa bluez-cups fi -if dpkg --list | grep "openoffice" 1> /dev/null 2>&1; then - ${APT} remove --purge openoffice* +if [ "x${INSTALL_OPENOFFICE}" != "x1" ]; then + if dpkg --list | grep "openoffice" 1> /dev/null 2>&1; then + ${APT} remove --purge openoffice* + fi fi -#if dpkg --list | grep "evolution-exchange" 1> /dev/null 2>&1; then -# ${APT} remove --purge evolution -#fi +if dpkg --list | grep "samba-common" 1> /dev/null 2>&1; then + ${APT} remove --purge samba-common +fi -# Configuration SSH -if [ ! -f ${HOME}/.ssh/id_dsa.pub ]; then - ssh-keygen -t dsa - # Append the contents of your public key (~/.ssh/id_dsa.pub) to the - # ~/.ssh/authorized_keys file on the remote server +if dpkg --list | grep "evolution-exchange" 1> /dev/null 2>&1; then + ${APT} remove --purge evolution evolution-plugins evolution-webcal evolution-data-server evolution-indicator evolution-common +fi + +if dpkg --list | grep "empathy-common" 1> /dev/null 2>&1; then + ${APT} remove --purge empathy* +fi + +if dpkg --list | grep "pppconfig" 1> /dev/null 2>&1; then + ${APT} remove --purge pppconfig pppoeconf +fi + +if dpkg --list | grep "totem-common" 1> /dev/null 2>&1; then + ${APT} remove --purge totem totem-common +fi + +if dpkg --list | grep "gwibber" 1> /dev/null 2>&1; then + ${APT} remove --purge gwibber gwibber-service +fi + +if dpkg --list | grep "vinagre" 1> /dev/null 2>&1; then + ${APT} remove --purge vinagre +fi + +if dpkg --list | grep "modemmanager" 1> /dev/null 2>&1; then + ${APT} remove --purge modemmanager +fi + +# Braille +if dpkg --list | grep "brltty" 1> /dev/null 2>&1; then + ${APT} remove --purge brltty +fi + +# CouchDB and erlang +if dpkg --list | grep "erlang-base" 1> /dev/null 2>&1; then + ${APT} remove --purge erlang* +fi + +# Ubuntu One +if dpkg --list | grep "libubuntuone" 1> /dev/null 2>&1; then + ${APT} remove --purge ubuntuone* +fi + +if dpkg --list | grep "apparmor-utils" 1> /dev/null 2>&1; then + sudo /etc/init.d/apparmor stop + sudo update-rc.d -f apparmor remove + ${APT} remove --purge apparmor apparmor-utils libapparmor1 +fi + +# Remove proprietary code/drivers +if dpkg --list | grep "nvidia" 1> /dev/null 2>&1; then + ${APT} remove --purge nvidia-* fi # Désactivation du son à l'écran de login -sudo -u gdm gconftool-2 --set /desktop/gnome/sound/event_sounds --type bool false +sudo -u gdm gconftool --set /desktop/gnome/sound/event_sounds --type bool false + +# Désactive le sound theme +gconftool --set /desktop/gnome/sound/event_sounds --type bool false # Ramener les boutons à droite dans les fenêtres Gtk+: -gconftool-2 --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,close +gconftool --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,close + +# Format horloge 24 heures +gconftool --set /apps/panel/applets/clock_screen0/prefs/format --type string 24-hour # Configuration de Nautilus - pas de preview pour ne pas ralentir -gconftool-2 --set /apps/nautilus/preferences/preview_sound --type string never -gconftool-2 --set /apps/nautilus/preferences/show_directory_item_counts --type string never -gconftool-2 --set /apps/nautilus/preferences/show_icon_text --type string never -gconftool-2 --set /apps/nautilus/preferences/show_image_thumbnails --type string never -gconftool-2 --set /apps/nautilus/preferences/media_automount_open --type bool false +gconftool --set /apps/nautilus/preferences/preview_sound --type string never +gconftool --set /apps/nautilus/preferences/show_directory_item_counts --type string never +gconftool --set /apps/nautilus/preferences/show_icon_text --type string never +gconftool --set /apps/nautilus/preferences/show_image_thumbnails --type string never +gconftool --set /apps/nautilus/preferences/media_automount_open --type bool false +# Affiche le path complet +gconftool --set /apps/nautilus/preferences/always_use_location_entry --type bool true # Démarrage de Rhythmbox non minimisé -gconftool-2 --set /apps/rhythmbox/plugins/status-icon/window-visible --type boolean true +gconftool --set /apps/rhythmbox/plugins/status-icon/window-visible --type boolean true -${APT} update -${APT} upgrade -${APT} dist-upgrade -${APT} autoremove -${APT} clean -${APT} autoclean +# Désactivation demande du mot de passe en mode hibernation +gconftool --type Boolean --set /apps/gnome-power-manager/lock/suspend false +gconftool --type Boolean --set /apps/gnome-power-manager/lock/hibernate false + +for dir in Public Templates ; do + if [ -d ${HOME}/${dir} ]; then + rmdir ${HOME}/${dir} + fi +done + +# Configuration SSH +if [ ! -f ${HOME}/.ssh/id_dsa.pub ]; then + ssh-keygen -t dsa + # Append the contents of your public key (~/.ssh/id_dsa.pub) to the + # ~/.ssh/authorized_keys file on the remote server +fi -# localepurge is a simple script to recover diskspace wasted for unneeded locale files and localized man pages. +# localepurge recovers diskspace wasted for unneeded locale files and localized man pages. # It will automagically be invoked upon completion of any apt installation run. ${AGI} localepurge if lspci | grep "BCM43" 1> /dev/null 2>&1; then - ${AGI} b43-fwcutter + if [ ! -f /etc/modprobe.d/b43.conf ]; then + sudo touch /etc/modprobe.d/b43.conf + echo "options b43 pio=1 qos=0" | sudo tee -a /etc/modprobe.d/b43.conf + ${AGI} b43-fwcutter firmware-b43-lpphy-installer + fi fi -${AGI} emacs23 -# Correction bug avec emacs: -# murrine_style_draw_box: assertion `height >= -1' failed -for subdir in Radiance Ambiance; do - sudo sed -i -e "s!\(GtkRange::trough-under-steppers =\) 0!\1 1!" /usr/share/themes/${subdir}/gtk-2.0/gtkrc -done +${AGI} deborphan +ubuntu_cleanup -# Development -${AGI} build-essential texinfo gettext gawk bison flex -${AGI} autoconf autoconf-doc autotools-dev libtool -${AGI} manpages manpages-dev manpages-posix manpages-posix-dev +${APT} update +${APT} upgrade +${APT} dist-upgrade + +# Configuration de GRUB +sudo sed -i -e 's!^\(GRUB_CMDLINE_LINUX_DEFAULT=\)"quiet splash"!\1"ipv6.disable=1"!' /etc/default/grub +sudo sed -i -e 's!^#\(GRUB_DISABLE_LINUX_RECOVERY="true"\)!\1!' /etc/default/grub +if ! grep "GRUB_DISABLE_OS_PROBER=\"true\"" /etc/default/grub 1> /dev/null 2>&1; then + echo 'GRUB_DISABLE_OS_PROBER="true"' | sudo tee --append /etc/default/grub +fi +sudo chmod -x /etc/grub.d/20_memtest86+ +# Change theme for custom theme +if [ -f /etc/grub.d/05_debian_theme ]; then + sudo rm /etc/grub.d/05_debian_theme +fi +cat << EOF | sudo tee /etc/grub.d/05_hugo_theme +#! /bin/sh +set -e + +echo "set menu_color_normal=green/black" +echo "set menu_color_highlight=light-green/black" +EOF +sudo chmod +x /etc/grub.d/05_hugo_theme +sudo update-grub + +${AGI} emacs -# dockapp development -${AGI} libx11-dev libxpm-dev libxext-dev -${AGI} libgtk2.0-dev libglib2.0-dev -# wmnotify uses SSL -${AGI} libssl-dev +${AGI} reiserfsprogs gparted +${AGI} gddrescue +${AGINR} smartmontools -# Debian packaging -${AGI} dh-make +# Connection serveurs NFS +${AGI} nfs-common portmap ${AGI} subversion +# Development +if [ "x${INSTALL_DEV_TOOLS}" = "x1" ]; then + ${AGI} git + # Set global configuration options to ~/.gitconfig + git config --global core.editor emacs + git config --global color.ui true + ${AGI} build-essential texinfo gettext gawk bison flex + ${AGI} autoconf autoconf-doc autotools-dev libtool + ${AGI} manpages manpages-dev manpages-posix manpages-posix-dev + + # dockapp development + ${AGI} libx11-dev libxpm-dev libxext-dev + ${AGI} libgtk2.0-dev libglib2.0-dev + # wmnotify uses SSL + ${AGI} libssl-dev + # hvlinux + ${AGI} libncurses-dev + + # Debian packaging + ${AGI} dh-make lintian dupload +fi + +if [ "x${INSTALL_WEB_SERVER}" = "x1" ]; then + ${AGI} libapache2-mod-php5 +fi + ${AGI} abiword gnumeric gnumeric-plugins-extra ${AGI} texlive texlive-latex-recommended texlive-latex-extra texlive-humanities +# Jackd +if [ "x${INSTALL_MUSIC_STUDIO}" = "x1" ]; then + ${AGINR} jackd patchage + sudo sed -i -e 's!^\(@audio\s*-\s*rtprio\s*\).*!\199!' \ + /etc/security/limits.d/audio.conf + ${AGI} pulseaudio-module-jack + + if [ ! -f ${HOME}/.pulse/pulsejack.pa ]; then + cp /etc/pulse/default.pa ${HOME}/.pulse/pulsejack.pa + fi + + sudo sed -i -e 's!.*\(autospawn = \).*!\1no!' /etc/pulse/client.conf + + if ! grep "load-module module-jack-source" ${HOME}/.pulse/pulsejack.pa 1> /dev/null 2>&1; then + cat >> ${HOME}/.pulse/pulsejack.pa << "EOF" + +### JACK setup (Hugo Villeneuve) +load-module module-jack-source +load-module module-jack-sink +EOF + fi + + sudo adduser $(whoami) audio + # /etc/security/limits.d/audio.conf -> set rtprio from 95 to 99 ??? +fi + # Multimedia -#{AGI} linux-rt linux-headers-rt -${AGI} jackd ${AGI} libdvdread4 -sudo /usr/share/doc/libdvdread4/install-css.sh +if [ ! -h /usr/lib/libdvdcss.so.2 ]; then + sudo /usr/share/doc/libdvdread4/install-css.sh +fi ${AGI} ffmpeg ${AGI} ${GST}-ffmpeg ${GST}-plugins-bad ${GST}-plugins-ugly ${GST}-fluendo-mp3 -if ! sudo apt-key list | grep "rob@welcomehome.org" 1> /dev/null 2>&1; then - sudo add-apt-repository "deb http://www.getgnash.org/debs/ubuntu lucid main" - wget --directory-prefix=/tmp http://getgnash.org/gnashdev.key - sudo apt-key add /tmp/gnashdev.key - rm /tmp/gnashdev.key +${AGI} libavcodec-extra-52 +if [ "x${INSTALL_GNASH}" = "x1" ]; then + ${AGI} mozilla-plugin-gnash # Requires "mysql-common" +else + if dpkg --list | grep "gnash" 1> /dev/null 2>&1; then + ${APT} remove --purge gnash* + fi +fi +if [ -h /dev/cdrom ]; then # Don't install on machines without CD/DVD-ROM +${AGI} vlc mozilla-plugin-vlc + ${AGI} sound-juicer fi -${AGI} mozilla-plugin-gnash -${AGI} vlc vlc-plugin-jack mozilla-plugin-vlc -${AGI} sound-juicer # Musique ${AGI} vorbis-tools ${AGI} timidity fluid-soundfont-gm fluid-soundfont-gs -${AGI} vkeybd +${AGI} easytag ${AGI} audacity libmp3lame0 tap-plugins -${AGI} lilypond -${AGI} rosegarden + +if [ "x${INSTALL_MUSIC_STUDIO}" = "x1" ]; then + # Désactivation de Timidity au démarrage (sytem-wide): + sudo sed -i -e 's!^# \(TIM_ALSASEQ=false\)!\1!' /etc/default/timidity + + ${AGI} lilypond + ${AGI} vkeybd + ${AGI} rosegarden + ${AGI} ardour +fi ${AGI} sylpheed gconftool -s /desktop/gnome/url-handlers/mailto/command -t string "sylpheed --compose %s" +if [ -f ${HOME}/.sylpheed-2.0/folderlist.xml ]; then + # Change location of default mail account from ~/Mail to ~/.mail + sed -i -e 's!^\( ${HOME}/GNUstep/Library/WindowMaker/autostart << "EOF" +# Chromium +hv_add_repo "ppa:chromium-daily/ppa" +${AGI} chromium-browser + +if [ "x${INSTALL_NETBOOK}" = "x1" ]; then + ${AGI} battery-status + ${AGI} maximus + ${AGI} window-picker-applet +else + ${AGI} wmaker + if [ -d ${HOME}/GNUstep/Library/WindowMaker ]; then + cat > ${HOME}/GNUstep/Library/WindowMaker/autostart << "EOF" #!/bin/sh gnome-settings-daemon EOF - chmod 755 ${HOME}/GNUstep/Library/WindowMaker/autostart -fi + chmod 755 ${HOME}/GNUstep/Library/WindowMaker/autostart + fi -${AGI} pcmanfm -cat > ${HOME}/.gtkrc-2.0 << "EOF" + ${AGI} pcmanfm + cat > ${HOME}/.gtkrc-2.0 << "EOF" gtk-icon-theme-name="Tango" gtk-enable-event-sounds=0 gtk-enable-input-feedback-sounds=0 EOF +fi ${AGI} epdfview ${AGI} psutils +${AGI} imagemagick ${AGI} gimp -if lspci | grep "nVidia" 1> /dev/null 2>&1; then - ${AGI} nvidia-settings nvidia-current -fi +# Pour changer la couleur des scrollbars (gris sur gris par défaut) +${AGI} gnome-color-chooser + +ubuntu_cleanup exit $?