J'utilise actuellement Xubuntu et envisageais d'installer/d'essayer GNOME Shell ou Cinnamon en installant leur métapaquet respectif. Cependant, cela entraînerait l'installation d'un grand nombre de dépendances qu'il serait presque impossible de supprimer individuellement à une date ultérieure si je décidais de ne pas l'aimer. Je me demande donc s'il existe un moyen de suivre les packages que Synaptic télécharge automatiquement dans le cadre du processus et de créer un script quelconque pour les supprimer tous également. Je pourrais alors être assuré que si je n'aime aucun de mes nouveaux environnements de bureau, je peux les supprimer complètement sans laisser une charge d'autres applications et bibliothèques traîner.
Merci pour toute aide! :)
J'ai trouvé ma propre solution à cela, et je me donne des coups de pied car cela aurait dû être évident tout au long.
Installez votre programme depuis le terminal, et copiez/collez simplement la liste des dépendances qu'il suggère dans un fichier texte. Ils sont déjà dans le format parfait pour rentrer/coller dans le terminal à une date ultérieure (si vous souhaitez les supprimer).
Par exemple:
Sudo apt-get install unity
me présente:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
lib32stdc++6 libdmx1
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
account-plugin-flickr appmenu-gtk appmenu-gtk3 appmenu-qt bamfdaemon compiz
compiz-gnome geoclue geoclue-ubuntu-geoip gir1.2-accounts-1.0
gir1.2-gdata-0.0 gir1.2-goa-1.0 gir1.2-signon-1.0 gir1.2-ubuntuoneui-3.0
indicator-appmenu indicator-datetime indicator-printers libbamf3-0
libdbusmenu-qt2 libglewmx1.8 libgnome-menu2 libnux-3.0-0 libnux-3.0-common
libpackagekit-glib2-14 libsyncdaemon-1.0-1 libtimezonemap1
libubuntuoneui-3.0-1 libunity-core-6.0-5 libunity-misc4 libunity-webapps0
nux-tools python3-crypto python3-httplib2 python3-oauthlib
rhythmbox-ubuntuone unity-asset-pool unity-common unity-lens-applications
unity-lens-files unity-lens-music unity-lens-photos unity-lens-shopping
unity-lens-video unity-scope-gdocs unity-scope-musicstores
unity-scope-video-remote unity-services unity-webapps-service
Suggested packages:
python3-crypto-dbg python-crypto-doc
The following NEW packages will be installed
account-plugin-flickr appmenu-gtk appmenu-gtk3 appmenu-qt bamfdaemon compiz
compiz-gnome geoclue geoclue-ubuntu-geoip gir1.2-accounts-1.0
gir1.2-gdata-0.0 gir1.2-goa-1.0 gir1.2-signon-1.0 gir1.2-ubuntuoneui-3.0
indicator-appmenu indicator-datetime indicator-printers libbamf3-0
libdbusmenu-qt2 libglewmx1.8 libgnome-menu2 libnux-3.0-0 libnux-3.0-common
libpackagekit-glib2-14 libsyncdaemon-1.0-1 libtimezonemap1
libubuntuoneui-3.0-1 libunity-core-6.0-5 libunity-misc4 libunity-webapps0
nux-tools python3-crypto python3-httplib2 python3-oauthlib
rhythmbox-ubuntuone unity unity-asset-pool unity-common
unity-lens-applications unity-lens-files unity-lens-music unity-lens-photos
unity-lens-shopping unity-lens-video unity-scope-gdocs
unity-scope-musicstores unity-scope-video-remote unity-services
unity-webapps-service
0 upgraded, 49 newly installed, 0 to remove and 6 not upgraded.
Need to get 6,194 kB of archives.
After this operation, 23.8 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Je copie et colle simplement la liste en dessous The following NEW packages will be installed
dans un fichier texte. Ensuite, je remplace simplement la 'nouvelle ligne par un espace et tout est prêt à être recollé dans Sudo apt-get remove
quand j'en ai besoin.
Donc pour supprimer Unity (pour moi), la commande est:
Sudo apt-get remove account-plugin-flickr appmenu-gtk appmenu-gtk3 appmenu-qt bamfdaemon compiz compiz-gnome geoclue geoclue-ubuntu-geoip gir1.2-accounts-1.0 gir1.2-gdata-0.0 gir1.2-goa-1.0 gir1.2-signon-1.0 gir1.2-ubuntuoneui-3.0 indicator-appmenu indicator-datetime indicator-printers libbamf3-0 libdbusmenu-qt2 libglewmx1.8 libgnome-menu2 libnux-3.0-0 libnux-3.0-common libpackagekit-glib2-14 libsyncdaemon-1.0-1 libtimezonemap1 libubuntuoneui-3.0-1 libunity-core-6.0-5 libunity-misc4 libunity-webapps0 nux-tools python3-crypto python3-httplib2 python3-oauthlib rhythmbox-ubuntuone unity unity-asset-pool unity-common unity-lens-applications unity-lens-files unity-lens-music unity-lens-photos unity-lens-shopping unity-lens-video unity-scope-gdocs unity-scope-musicstores unity-scope-video-remote unity-services unity-webapps-service
Facile! Et fonctionne pour n'importe quel programme.
Vous pouvez utiliser le journal d'historique d'apt:
gedit /var/log/apt/history.log
et retrouvez sur le journal, l'entrée lors de la première installation du métapaquetage de votre bureau env (Gnome-Shell, Cinnamon, KDE ...). Vous trouverez une entrée comme: apt-get install yourdesktopenv
Suivie de toutes les dépendances des packages et de leurs informations Arch.
Copiez l'intégralité de l'entrée et collez-la dans LibreOffice Writer, puis utilisez une recherche/remplacement à l'aide d'une expression régulière: :AMD64 \([0-9\~\.\+a-zA-Z\-, ]*\),?
Remplacez par un espace vide. (AMD64 ou i368 selon votre système Arch) Cette opération de remplacement remplacera toutes les dépendances: AMD64 (4.9.2-0ubuntu2, automatique), par somepackage
. À la fin, ajoutez Sudo apt-get remove --auto-remove
En haut du texte remplacé. Copiez et collez sur le terminal.
Attention : cette méthode n'est correcte que si vous n'avez pas effectué de mises à jour significatives entre le moment où vous avez installé le bureau env pour la première fois et le moment où vous souhaitez le supprimer.
Idéalement, vous pouvez automatiser ces opérations dans un script bash:
#!/bin/bash
#This creepy & very small script extracts package strings from APT history log file.
#Tested in Ubuntu 12.10 Linux
#this script is not fully portable; ksh & zsh not supported.
#---------------------------------------------------------------------------------------
#@author= [email protected]
#---------------------------------------------------------------------------------------
#Beware. This scripts supposes you installed the desktop environment only once. Besides if
#you performed significant updates from the time when you installed it and the time when
# you want to remove it, there is a risk that you'd likely remove other dependency packages needed by other programs.
#---------------------------------------------------------------------------------------
#REGEXMATCH=`grep -Po ':AMD64 \([0-9\~\.\+a-zA-Z\-, ]*\),?'`
#APPENDCOM=`sed -i '1isudo apt-get remove --auto-remove ' ~/Desktop/removeENV.txt`
# or sed 's/\[[^]]*\]//g' instead of Perl -lpwe | tee ~/Desktop/removeENV.txt`
# insert command: sed '/Install:/ i\Sudo apt-get remove --auto-remove '
# Arch=`dpkg --print-architecture` -> variable to get Arch (AMD64 or i386)
#---------------------------------------------------------------------------------------
# k = kde | g = gnome-Shell | c = cinnamon | x = xcfe | l = lmde | o = openbox
echo "Uninstall Desktop-Environment : "
read -p "Enter letter ( k ) for KUBUNTU - ( g ) for GNOME-Shell - ( x ) for XUBUNTU - ( l ) for LUBUNTU - ( o ) for openbox : " desk
if [ "$desk" = "k" ]; then DESKSTRING="kubuntu-desktop"
Elif [ "$desk" = "g" ]; then DESKSTRING="gnome-Shell";
Elif [ "$desk" = "x" ]; then DESKSTRING="xubuntu-desktop";
Elif [ "$desk" = "l" ]; then DESKSTRING="lubuntu-desktop";
Elif [ "$desk" = "o" ]; then DESKSTRING="openbox";
else DESKSTRING="UNKNOWN-DESKTOP-ENV"; echo "Sorry $USER, operation is not valid for $DESKSTRING" ; echo "Aborted."; exit 0;
fi
Arch=`dpkg --print-architecture`
APTLOGFILE="/var/log/apt/history.log"
WARNING="This will uninstall your desktop environment : $DESKSTRING . Enter 'y' to continue, or 'n' to abort. "
read -p "$WARNING" option
if [ "$option" = "y" ]; then FETCHCOM=`sed -n "/$DESKSTRING/{:a;n;/End-Date/q;p;ba}" $APTLOGFILE |
sed -e 's/Install://g' |
sed -e 's/,//g' |
Perl -lpwe "s/:$Arch \(.*?\)//g" | tee ~/Desktop/un_desk_log.txt`
else FETCHCOM="aborted by $USER"
fi
if [ "$option" = "y" ]; then ACTIONCOM="Sudo apt-get remove --auto-remove "
else ACTIONCOM=""
fi
FINALCOM=$ACTIONCOM$FETCHCOM
COMLOGFILE=~/Desktop/un_desk_log.txt
eval $FINALCOM | tee -a $COMLOGFILE
sed -i.bak '1i Sudo apt-get remove --auto-remove ' $COMLOGFILE
exit 0;
Téléchargez le script ici: http://ubuntuone.com/4CPFXpA2gFDRZtfS6Y7sva
Ce lien peut vous aider: http://www.psychocats.net/ubuntu/purexubunt
J'ai déjà utilisé sa méthode et cela a fonctionné pour moi. Il offre la possibilité de revenir à un Ubuntu "pur", Kubuntu, Xubuntu ou Lubuntu.