How do I downgrade Gedit to a previous (3.10.4) Version in Ubuntu 16.04 LTS
As the title already says: I have some plug-ins which don't run with gedit 3.18.3 which is shipped with Ubuntu 16.04 LTS.
How can I downgrade to the version 3.10.4 which was used in Ubuntu 14.04 LTS and Ubuntu 15.10 and get all the plug-ins possible installed?
And how do I revert it back to 3.18.3 if 3.10.4 is not needed any more.
43 Answers
The solution is quite complicated so make sure you read and proceed carefully. As preparation to this make sure you enabled all packet sources so your /etc/apt/sources.list looks like this and do an upgrade:
sudo apt-get update
sudo apt-get dist-upgrade
rebootTo install the old version:
Then as a first step, you need to remove the existing version of gedit. To do so run the following commands in your 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-commonNow prepare a directory to work in. For convenience we do that in our home directory.
# creating directory and switching to it
mkdir ~/gedit-downgrade
cd ~/gedit-downgradeNext step is to create a wget-list file to make the download easier (you can copy and paste the whole field into your terminal). If you're not using a 64-bit system you might want to find the proper links for i386 here.
cat > wget-list << "EOF"
EOFNow you have that wget-list file, you can download everything in one go by typing wget -i wget-list, let the files download and then begin your installation.
Please follow below steps one by one and if you run into dependency errors simply do sudo apt-get remove <package-name> which reflects the package giving trouble, then install the dependencies by hand with sudo apt-get install <package-name> then do the dpkg line again. Do not, and I mean do not run sudo apt-get -f install while you're trying this installation: it will mess everything up.
Now, let's begin with the essential packages (tested and working on a clean 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.debThe following packages are only optional and you should be able to install them easily, the dependencies to download are given and tested on a clean 16.04 LTS install like the above.
# 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.debNow you have to make sure the packages won't be changed when you run an update, so ensure only to state the packages you have installed:
# 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-geditTo reverse the whole process do:
# 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-upgradeIs there a script to do it?:
Yes I made even a script to automate the whole process, you can get it here or by:
wget Then to run it:
chmod 755 ./gdowngrade.sh
sudo ./gdowngrade.shThis will create a custom file for you called gupgrade.shwhich allows you to reverse the whole process by simply:
sudo ./gupgrade.sh Introduction
The script bellow automates installation of gedit 3.10.4 from source. It allows both using the older and newer gedit versions, in case user decides they want to go back to newer gedit. The script creates /usr/share/applications/gedit_downgraded.desktop so that you also can have a nice shortcut to the older gedit.
The usage is farily simple :
sudo ./downgrade_gedit.sh [option]Option is either -i for install or -u for uninstall
The source code is also available on my git, which you can get by running:
git clone Script Source
#!/bin/bash
#
###########################################################
# Author: Serg Kolo , contact:
# 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:
# 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
}
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 "$@" Currently, you have .deb packages with gedit 3.10 for Ubuntu 16.04 here:
You can download them (choose package depending on your architecture) and install. For instance:
sudo dpkg -i gedit_3.10.4-0ubuntu13_amd64.deb gedit-common_3.10.4-0ubuntu13_all.deb (This command will uninstall your current version of gedit and install the new one)
And be aware of avoiding that possible future updates upgrade this package (for example, putting them on hold list)