Comment rétrograder Gedit à une version précédente (3.10.4) dans Ubuntu 16.04 LTS


17

Comme le titre le dit déjà: j'ai des plug-ins qui ne fonctionnent pas avec gedit 3.18.3 qui est livré avec Ubuntu 16.04 LTS.

Comment puis-je rétrograder vers la version 3.10.4 qui était utilisée dans Ubuntu 14.04 LTS et Ubuntu 15.10 et obtenir tous les plug-ins possibles installés?

Et comment puis-je revenir à 3.18.3 si 3.10.4 n'est plus nécessaire.


3
Idéal pour les personnes détestant le nouveau design Gedit de Xenial ... qui comprend moi-même. Je vais probablement essayer votre procédure un jour quand je serai inactif.
Byte Commander

@ByteCommander Que voulez-vous dire, le nouveau design ? Gedit est l'éditeur de base, j'utilise généralement Geany ou une autre idée plus utile pour une programmation sérieuse.
NoBugs

2
@NoBugs Comparez à quoi ressemble Gedit le 15.10 ou précédent et le 16.04. Le nouveau a perdu la plupart de sa barre d'outils et a l'air moche IMO.
Byte Commander

@NoBugs: pour moi, cela va au-delà de l'esthétique. J'utilise des outils qui tournent au dessus de gedit-plugin et qui n'ont pas encore été réécrits pour prendre en compte la nouvelle barre d'outils.
user2413

Réponses:


18

La solution est assez compliquée alors assurez-vous de lire et de procéder attentivement. Pour vous préparer à cela, assurez-vous d'avoir activé toutes les sources de paquets afin que votre /etc/apt/sources.listapparence ressemble à ceci et effectuez une mise à niveau:

sudo apt-get update
sudo apt-get dist-upgrade
reboot

Pour installer l'ancienne version:

Ensuite, dans un premier temps, vous devez supprimer la version existante de gedit. Pour ce faire, exécutez les commandes suivantes dans votre terminal ( ctrl+ alt+ t):

# this installs the build dependencies
sudo apt-get build-dep gedit gedit-plugins
sudo apt-get install moreutils

# this uninstalls the 3.18.3 version of gedit, gedit-dev, 
# gedit-plugins and gedit-common and should get rid of everything else
# installed for gedit
sudo apt-get remove gedit gedit-dev gedit-plugins gedit-common

Préparez maintenant un répertoire dans lequel travailler. Pour plus de commodité, nous le faisons dans notre répertoire personnel.

# creating directory and switching to it
mkdir ~/gedit-downgrade
cd ~/gedit-downgrade

L'étape suivante consiste à créer un wget-listfichier pour faciliter le téléchargement (vous pouvez copier et coller tout le champ dans votre terminal). Si vous n'utilisez pas de système 64 bits, vous souhaiterez peut-être trouver les liens appropriés pour i386 ici .

cat > wget-list << "EOF"
http://mirrors.kernel.org/ubuntu/pool/main/g/gedit/gedit-common_3.10.4-0ubuntu13_all.deb
http://mirrors.kernel.org/ubuntu/pool/main/g/gedit/gedit_3.10.4-0ubuntu13_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/main/g/gedit/gedit-dev_3.10.4-0ubuntu13_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-developer-plugins/gedit-developer-plugins_0.5.15-0ubuntu1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-latex-plugin/gedit-latex-plugin_3.8.0-3build1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-plugins/gedit-plugins_3.10.1-1ubuntu3_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-r-plugin/gedit-r-plugin_0.8.0.2-Gtk3-Python3-1ubuntu1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-source-code-browser-plugin/gedit-source-code-browser-plugin_3.0.3-3_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/g/gedit-valencia-plugin/gedit-valencia-plugin_0.8.0-0ubuntu2_amd64.deb
http://mirrors.kernel.org/ubuntu/pool/universe/r/rabbitvcs/rabbitvcs-gedit_0.16-1_all.deb
http://mirrors.kernel.org/ubuntu/pool/universe/s/supercollider/supercollider-gedit_3.6.6~repack-2-1build1_all.deb
EOF

Maintenant que vous avez ce wget-listfichier, vous pouvez tout télécharger en une seule fois en tapant wget -i wget-list, laissez les fichiers télécharger puis commencez votre installation.

Veuillez suivre les étapes ci-dessous une par une et si vous rencontrez des erreurs de dépendance, faites simplement ce sudo apt-get remove <package-name>qui reflète le problème du package, puis installez les dépendances à la main sudo apt-get install <package-name>puis refaites la ligne dpkg. Ne le faites pas, et je veux dire ne courez passudo apt-get -f install pendant que vous essayez cette installation: cela gâchera tout.

Maintenant, commençons par les packages essentiels (testés et travaillant sur une installation propre 16.04 LTS):

# install gedit-common (essential needed)
sudo dpkg -i gedit-common_3.10.4-0ubuntu13_all.deb

# install gedit (essential needed)
sudo dpkg -i gedit_3.10.4-0ubuntu13_amd64.deb

# install gedit-dev (essential needed)
sudo dpkg -i gedit-dev_3.10.4-0ubuntu13_amd64.deb 

# install gedit-plugins (essential needed)
# here are some steps needed follow them carefully

    # unpacking the .deb file
    sudo dpkg-deb -R gedit-plugins_3.10.1-1ubuntu3_amd64.deb tmp

    # editing tmp/DEBIAN/control:
    # change 'python3 (<< 3.5), python3 (>= 3.4~), python3.4' to 'python3 (>= 3.5~), python3.5'
    sed 's/python3 (<< 3\.5), python3 (>= 3\.4~), python3\.4/python3 (>= 3.5~), python3.5/' tmp/DEBIAN/control | sudo sponge tmp/DEBIAN/control

    # editing tmp/DEBIAN/postinst
    # change 'py3compile -p gedit-plugins /usr/lib/x86_64-linux-gnu/gedit/plugins -V 3.4' to
    # 'py3compile -p gedit-plugins /usr/lib/x86_64-linux-gnu/gedit/plugins -V 3.5'
    sed 's/3\.4/3.5/' tmp/DEBIAN/postinst | sudo sponge tmp/DEBIAN/postinst

    # packing a new .deb file 
    sudo dpkg-deb -b tmp gedit-plugins_3.10.1-1ubuntu4_amd64.deb

    # changing ownership of the new .deb file replace username with your username
    sudo chown username:username gedit-plugins_3.10.1-1ubuntu4_amd64.deb

    # removing tmp
    sudo rm -rfv tmp

    # installing it
    sudo dpkg -i gedit-plugins_3.10.1-1ubuntu4_amd64.deb

Les packages suivants sont uniquement optionnels et vous devriez pouvoir les installer facilement, les dépendances à télécharger sont données et testées sur une installation LTS 16.04 propre comme ci-dessus.

# install gedit-developer-plugins (optional)
sudo apt-get install python-pocket-lint
sudo dpkg -i gedit-developer-plugins_0.5.15-0ubuntu1_all.deb

# install gedit-latex-plugin (optional)
sudo apt-get install rubber
sudo dpkg -i gedit-latex-plugin_3.8.0-3build1_all.deb

# install gedit-r-plugin (optional but needs gedit-plugins)
sudo dpkg -i gedit-r-plugin_0.8.0.2-Gtk3-Python3-1ubuntu1_all.deb 

# install gedit-source-code-browser-plugin (optional)
sudo apt-get install ctags
sudo dpkg -i gedit-source-code-browser-plugin_3.0.3-3_all.deb

# install gedit-valencia-plugin (optional)

    # unpacking .deb file
    sudo dpkg-deb -R gedit-valencia-plugin_0.8.0-0ubuntu2_amd64.deb tmp

    # edit tmp/DEBIAN/control
    # change 'libvala-0.28-0 (>= 0.15.1)' to 'libvala-0.30-0 (>= 0.15.1)'
    # change 'libvte-2.90-9 (>= 1:0.27.2)' to 'libvte-2.91-0 (>= 0.27.2)'
    sed -e 's/libvala-0\.28-0 (>= 0\.15\.1)/libvala-0.30-0 (>= 0.15.1)/' -e 's/libvte-2\.90-9 (>= 1:0\.27\.2)/libvte-2.91-0 (>= 0.27.2)/' tmp/DEBIAN/control | sudo sponge tmp/DEBIAN/control

    # packing a new .deb file 
    sudo dpkg-deb -b tmp gedit-valencia-plugin_0.8.0-0ubuntu3_amd64.deb

    # changing ownership of the new .deb file replace username with your username
    sudo chown username:username gedit-valencia-plugin_0.8.0-0ubuntu3_amd64.deb

    # removing tmp
    sudo rm -rfv tmp

    # installing it
    sudo dpkg -i gedit-valencia-plugin_0.8.0-0ubuntu3_amd64.deb

# install rabbitvcs-gedit (optional)
sudo apt-get install rabbitvcs-core
sudo dpkg -i rabbitvcs-gedit_0.16-1_all.deb

# install supercollider-gedit (optional)
sudo apt-get install supercollider-language
sudo dpkg -i supercollider-gedit_3.6.6~repack-2-1build1_all.deb

Vous devez maintenant vous assurer que les packages ne seront pas modifiés lorsque vous exécuterez une mise à jour, assurez-vous donc uniquement d'indiquer les packages que vous avez installés:

# now protecting this all from upgrading
sudo apt-mark hold gedit-common gedit gedit-dev gedit-developer-plugin gedit-latex-plugin gedit-plugins gedit-r-plugin gedit-source-code-browser-plugin gedit-valencia-plugin rabbitvcs-gedit supercollider-gedit

Pour inverser l'ensemble du processus, procédez comme suit:

# removing protection from upgrades
sudo apt-mark unhold gedit-common gedit gedit-dev gedit-developer-plugin gedit-latex-plugin gedit-plugins gedit-r-plugin gedit-source-code-browser-plugin gedit-valencia-plugin rabbitvcs-gedit supercollider-gedit

# simply do an upgrade
sudo apt-get update
sudo apt-get dist-upgrade

Existe-t-il un script pour le faire?:

Oui, j'ai même créé un script pour automatiser l'ensemble du processus, vous pouvez le télécharger ici ou en:

wget https://github.com/Videonauth/gdowngrade/blob/master/gdowngrade.sh

Puis pour l'exécuter:

chmod 755 ./gdowngrade.sh
sudo ./gdowngrade.sh

Cela créera un fichier personnalisé pour vous appelé gupgrade.shqui vous permet d'inverser tout le processus en simplement:

sudo ./gupgrade.sh

8

introduction

Le script ci-dessous automatise l'installation de gedit 3.10.4 à partir de la source. Il permet à la fois d'utiliser les versions plus anciennes et plus récentes de gedit, au cas où l'utilisateur déciderait de revenir à gedit plus récent. Le script crée /usr/share/applications/gedit_downgraded.desktopafin que vous puissiez également avoir un bon raccourci vers l'ancien gedit.

L'utilisation est farouchement simple:

sudo ./downgrade_gedit.sh [option]

L'option est soit -ipour l'installation soit -upour la désinstallation

Le code source est également disponible sur mon git, que vous pouvez obtenir en exécutant:

git clone https://github.com/SergKolo/sergrep.git

Source de script

#!/bin/bash
#
###########################################################
# Author: Serg Kolo , contact: 1047481448@qq.com 
# Date: 
# Purpose: 
#    A script to install version 3.10.4 of gedit on Ubuntu
#    16.04 . Some users are unhappy with new gedit design
#    while others want to downgrade in order to use plugins
#    not available in the new gedit. This script simplifies
#    the downgarde process and building from source.
#    The source is obtained from Gnome's official ftp channels
#    The 3.10.4 is installed separatelly, so if you want to go
#    back to the newer version or used along-side 3.10.4 , you
#    can do so, as the newer version is not uninstalled
# Written for: http://askubuntu.com/q/766055/295286
# Tested on: Ubuntu 16.04
###########################################################
# Copyright: Serg Kolo , 2016
#    
#     Permission to use, copy, modify, and distribute this software is hereby granted
#     without fee, provided that  the copyright notice above and this permission statement
#     appear in all copies.
#
#     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
#     IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
#     FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
#     THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
#     LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
#     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
#     DEALINGS IN THE SOFTWARE.

set -e 
download_gedit()
{
  # Here gnome's official ftp channel is used 
  # feel free to use something else
  # just keep in mind you'd need to make changes to script accordingly
  wget http://ftp.gnome.org/pub/GNOME/sources/gedit/3.10/gedit-3.10.4.tar.xz
}

extract_gedit()
{
 ARCHIVE="gedit-3.10.4.tar.xz"
 tar --extract --xz --verbose --file "$ARCHIVE" && \
 rm "$ARCHIVE"
}


resolve_depends()
{
 apt-get install intltool libenchant-dev libxml2-dev libgtksourceview-3.0-dev gsettings-desktop-schemas-dev  libpeas-dev  itstool libxml2-utils 
}

make_desktop_file()
{
cat > /usr/share/applications/gedit_downgraded.desktop  <<EOF
[Desktop Entry]
Name=Gedit(downgraded)
Type=Application 
Terminal=false
Exec=/usr/local/bin/gedit %U
EOF
}

make_install_gedit()
{

 cd gedit-3.10.4
 ./configure #PKG_CONFIG_PATH="$(pkg-config --variable pc_path pkg-config)"
 make
 make install
}

install()
{
  # If /opt/gedit-3.10.4 doesn't exist, that's a first run
  # otherwise - create the directory, download and extract
  cd /opt
  if [ ! -d "gedit-3.10.4" ] ; then
      mkdir gedit-3.10.4
      download_gedit
      extract_gedit 
  fi
  resolve_depends
  make_install_gedit
  make_desktop_file
  #mark gedit to be held back
  dpkg --set-selections <<< "gedit hold"
}
uninstall()
{
  cd /opt/gedit-3.10.4
  make uninstall
  hash -r
  [ -e /usr/share/applications/gedit_downgraded.desktop  ] && \
     rm /usr/share/applications/gedit_downgraded.desktop
}

parse_args()
{
  local OPTIND option
  while getopts "iu" option
  do
    case ${option} in
         i) install && exit 0 ;;
         u) uninstall && exit 0 ;; 
         \?) echo "Invalid option -${option}" > /dev/stderr  
    esac
  done
}

main()
{

  if [ $# -eq 0 ] ; then
     echo "Must specify -i or -u option" > /dev/stderr
     exit 1
  fi

  if [ $( id -u ) -ne 0 ] ; then
    echo "Must run as root" > /dev/stderr
    exit 1
  else
     parse_args "$@"
  fi
}

main "$@"

3

Actuellement, vous avez des .debpackages avec gedit3.10 pour Ubuntu 16.04 ici:

gedit
gedit-common

Vous pouvez les télécharger (choisir le package en fonction de votre architecture) et les installer. Par exemple:

sudo dpkg -i gedit_3.10.4-0ubuntu13_amd64.deb gedit-common_3.10.4-0ubuntu13_all.deb 

(Cette commande va désinstaller votre version actuelle geditet installer la nouvelle)

Et n'oubliez pas d'éviter que de futures mises à jour possibles mettent à jour ce package (par exemple, en les mettant en attente)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.