Wie aktualisiere ich Gedit auf eine frühere (3.10.4) Version in Ubuntu 16.04 LTS

17

Wie der Titel schon sagt: Ich habe einige Plug-Ins, die nicht mit gedit 3.18.3 laufen, das mit Ubuntu 16.04 LTS ausgeliefert wird.

Wie kann ich auf die in Ubuntu 14.04 LTS und Ubuntu 15.10 verwendete Version 3.10.4 downgraden und alle möglichen Plug-Ins installieren?

Und wie kann ich es auf 3.18.3 zurücksetzen, wenn 3.10.4 nicht mehr benötigt wird?

Videonauth
quelle
3
Großartig für Leute, die das Gedit-Design des neuen Xenial hassen ... das mich einschließt. Ich werde Ihre Prozedur wahrscheinlich eines Tages ausprobieren, wenn ich im Leerlauf bin.
Byte Commander
@ByteCommander Was meinst du mit dem neuen Design ? Gedit ist der grundlegende Editor, ich benutze im Allgemeinen Geany oder eine andere nützlichere Idee für ernsthafte Programmierung.
NoBugs
2
@NoBugs Vergleichen Sie, wie Gedit am 15.10 oder früher und am 16.04 aussieht. Der neue hat den größten Teil seiner Symbolleiste verloren und sieht hässlich aus, IMO.
Byte Commander
@NoBugs: Gut für mich geht es über die Ästhetik hinaus. Ich benutze einige Tools, die auf dem gedit-Plugin laufen und die noch nicht neu geschrieben wurden, um die neue Symbolleiste zu berücksichtigen.
user2413

Antworten:

18

Die Lösung ist recht kompliziert. Lesen Sie sie daher sorgfältig durch und fahren Sie mit ihnen fort. Als Vorbereitung auf diese stellen Sie sicher , aktivieren Sie alle Paketquellen so Ihr /etc/apt/sources.listAussehen wie diese und machen ein Upgrade:

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

So installieren Sie die alte Version:

Als ersten Schritt müssen Sie dann die vorhandene Version von gedit entfernen. Führen Sie dazu die folgenden Befehle in Ihrem Terminal aus ( 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

Bereiten Sie nun ein Verzeichnis vor, in dem gearbeitet werden soll. Der Einfachheit halber tun wir dies in unserem Ausgangsverzeichnis.

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

Im nächsten Schritt erstellen Sie eine wget-listDatei, um den Download zu vereinfachen (Sie können das gesamte Feld kopieren und in Ihr Terminal einfügen). Wenn Sie kein 64-Bit-System verwenden, können Sie hier die richtigen Links für i386 finden .

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

Jetzt haben Sie diese wget-listDatei, Sie können alles auf einmal herunterladen, indem Sie Folgendes eingeben wget -i wget-list, die Dateien herunterladen und dann mit der Installation beginnen.

Bitte folgen Sie unten die Schritte eins nach dem anderen , und wenn Sie in Abhängigkeit Fehler einfach tun laufen , sudo apt-get remove <package-name>die das Paket Mühe geben reflektiert, dann die Abhängigkeiten von Hand installieren , um mit sudo apt-get install <package-name>dann wieder die dpkg Linie zu tun. Tun Sie nicht, und ich meine, laufen sudo apt-get -f installSie nicht , während Sie diese Installation versuchen: es wird alles durcheinander bringen.

Beginnen wir nun mit den wesentlichen Paketen (getestet und in einer sauberen 16.04 LTS-Installation):

# 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

Die folgenden Pakete sind nur optional und sollten leicht zu installieren sein. Die Abhängigkeiten zum Herunterladen werden angegeben und bei einer sauberen 16.04 LTS-Installation wie der obigen getestet.

# 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

Jetzt müssen Sie sicherstellen, dass die Pakete beim Ausführen eines Updates nicht geändert werden. Geben Sie daher nur die Pakete an, die Sie installiert haben:

# 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

Um den gesamten Vorgang umzukehren, gehen Sie wie folgt vor:

# 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

Gibt es ein Skript dafür ?:

Ja, ich habe sogar ein Skript erstellt, um den gesamten Prozess zu automatisieren. Sie können es hier herunterladen oder über:

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

Dann führen Sie es aus:

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

Dadurch wird eine benutzerdefinierte Datei für Sie erstellt, mit gupgrade.shder Sie den gesamten Prozess einfach umkehren können:

sudo ./gupgrade.sh
Videonauth
quelle
8

Einführung

Das folgende Skript automatisiert die Installation von gedit 3.10.4 aus dem Quellcode. Sie können sowohl die ältere als auch die neuere gedit-Version verwenden, falls der Benutzer entscheidet, dass er zu einer neueren gedit-Version zurückkehren möchte. Das Skript erstellt, /usr/share/applications/gedit_downgraded.desktopso dass Sie auch eine nette Verknüpfung zum älteren gedit haben können.

Die Bedienung ist denkbar einfach:

sudo ./downgrade_gedit.sh [option]

Option ist entweder -ifür die Installation oder -ufür die Deinstallation

Der Quellcode ist auch auf meinem Git verfügbar, den Sie erhalten können, indem Sie Folgendes ausführen:

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

Skriptquelle

#!/bin/bash
#
###########################################################
# Author: Serg Kolo , contact: [email protected] 
# 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 "$@"
Sergiy Kolodyazhnyy
quelle
3

Derzeit haben Sie .debPakete mit gedit3.10 für Ubuntu 16.04 hier:

gedit
gedit-common

Sie können sie herunterladen (Paket abhängig von Ihrer Architektur auswählen) und installieren. Zum Beispiel:

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

(Dieser Befehl deinstalliert Ihre aktuelle Version von geditund installiert die neue)

Beachten Sie auch, dass mögliche zukünftige Updates dieses Paket nicht aktualisieren (z. B. in die Warteliste stellen).

Agus
quelle