Làm cách nào để hạ cấp Gedit xuống Phiên bản (3.10.4) trước đó trong Ubuntu 16.04 LTS


17

Như tiêu đề đã nói: Tôi có một số plugin không chạy với gedit 3.18.3, được cung cấp cùng với Ubuntu 16.04 LTS.

Làm cách nào tôi có thể hạ cấp xuống phiên bản 3.10.4 đã được sử dụng trong Ubuntu 14.04 LTS và Ubuntu 15.10 và cài đặt tất cả các plugin có thể cài đặt?

Và làm cách nào để tôi hoàn nguyên nó trở lại 3.18.3 nếu không cần 3.10.4 nữa.


3
Tuyệt vời cho những người ghét thiết kế Gedit mới của Xenial ... bao gồm cả bản thân tôi. Có lẽ tôi sẽ thử thủ tục của bạn một ngày nào đó khi tôi rảnh rỗi.
Chỉ huy Byte

@ByteCommander Ý bạn là gì, thiết kế mới ? Gedit là trình soạn thảo cơ bản, tôi thường sử dụng Geany hoặc ide hữu ích khác để lập trình nghiêm túc.
NoBugs

2
@NoBugs So sánh cách Gedit trông vào ngày 15.10 hoặc trước đó và vào ngày 16.04. Cái mới bị mất hầu hết thanh công cụ và trông IMO xấu xí.
Chỉ huy Byte

@NoBugs: đối với tôi nó vượt xa thẩm mỹ. Tôi sử dụng một số công cụ chạy trên đầu gedit-plugin và chưa được viết lại để đưa thanh công cụ mới vào tài khoản.
dùng2413

Câu trả lời:


18

Giải pháp khá phức tạp vì vậy hãy chắc chắn rằng bạn đã đọc và tiến hành cẩn thận. Khi chuẩn bị cho điều này, đảm bảo bạn đã kích hoạt tất cả các nguồn gói để /etc/apt/sources.listtrông giống như thế này và thực hiện nâng cấp:

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

Để cài đặt phiên bản cũ:

Sau đó, là bước đầu tiên, bạn cần xóa phiên bản gedit hiện có. Để làm như vậy, hãy chạy các lệnh sau trong thiết bị đầu cuối của bạn ( 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

Bây giờ chuẩn bị một thư mục để làm việc. Để thuận tiện, chúng tôi làm điều đó trong thư mục nhà của chúng tôi.

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

Bước tiếp theo là tạo một wget-listtệp để giúp tải xuống dễ dàng hơn (bạn có thể sao chép và dán toàn bộ trường vào thiết bị đầu cuối của mình). Nếu bạn không sử dụng hệ thống 64 bit, bạn có thể muốn tìm các liên kết thích hợp cho i386 tại đây .

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

Bây giờ bạn có wget-listtệp đó , bạn có thể tải xuống mọi thứ trong một lần bằng cách nhập wget -i wget-list, để tệp tải xuống và sau đó bắt đầu cài đặt.

Vui lòng làm theo từng bước một và nếu bạn gặp phải lỗi phụ thuộc đơn giản là điều sudo apt-get remove <package-name>đó phản ánh sự cố gói, sau đó cài đặt các phụ thuộc bằng tay sudo apt-get install <package-name>sau đó thực hiện lại dòng dpkg. Không, và ý tôi là không chạy sudo apt-get -f installtrong khi bạn đang thử cài đặt này: nó sẽ làm mọi thứ rối tung lên.

Bây giờ, hãy bắt đầu với các gói thiết yếu (đã thử nghiệm và làm việc trên bản cài đặt 16.04 LTS sạch):

# 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

Các gói sau chỉ là tùy chọn và bạn sẽ có thể cài đặt chúng dễ dàng, các phụ thuộc để tải xuống được đưa ra và thử nghiệm trên bản cài đặt 16.04 LTS sạch như trên.

# 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

Bây giờ bạn phải đảm bảo các gói sẽ không bị thay đổi khi bạn chạy bản cập nhật, vì vậy hãy đảm bảo chỉ nêu các gói bạn đã cài đặt:

# 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

Để đảo ngược toàn bộ quá trình làm:

# 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

Có một kịch bản để làm điều đó?:

Có, tôi đã tạo ngay cả một tập lệnh để tự động hóa toàn bộ quá trình, bạn có thể lấy nó ở đây hoặc bằng cách:

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

Sau đó để chạy nó:

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

Điều này sẽ tạo một tệp tùy chỉnh cho bạn được gọi gupgrade.sh, cho phép bạn đảo ngược toàn bộ quá trình bằng cách đơn giản:

sudo ./gupgrade.sh

8

Giới thiệu

Kịch bản dưới đây tự động cài đặt gedit 3.10.4 từ nguồn. Nó cho phép cả hai sử dụng các phiên bản gedit cũ hơn và mới hơn, trong trường hợp người dùng quyết định họ muốn quay lại gedit mới hơn. Kịch bản tạo /usr/share/applications/gedit_downgraded.desktopđể bạn cũng có thể có một lối tắt đẹp cho gedit cũ.

Cách sử dụng rất đơn giản:

sudo ./downgrade_gedit.sh [option]

Tùy chọn là -iđể cài đặt hoặc -uđể gỡ cài đặt

Mã nguồn cũng có sẵn trên git của tôi, mà bạn có thể nhận được bằng cách chạy:

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

Nguồn kịch bản

#!/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

Hiện tại, bạn có .debcác gói với gedit3.10 cho Ubuntu 16.04 tại đây:

gedit
gedit-chung

Bạn có thể tải chúng xuống (chọn gói tùy theo kiến ​​trúc của bạn) và cài đặt. Ví dụ:

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

(Lệnh này sẽ gỡ cài đặt phiên bản hiện tại của bạn geditvà cài đặt phiên bản mới)

Và lưu ý tránh việc các bản cập nhật trong tương lai có thể nâng cấp gói này (ví dụ: đưa chúng vào danh sách giữ)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.