AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1072096
Accepted
Juan Leni
Juan Leni
Asked: 2018-09-05 10:09:19 +0800 CST2018-09-05 10:09:19 +0800 CST 2018-09-05 10:09:19 +0800 CST

如何在 Ubuntu 18.04 中安装 gnome 3.29.92 或 3.30?

  • 772

是否可以在 ubuntu 18.04 中安装 gnome 3.29.92 或 3.30?

有可用的 PPA 吗?

更新:https ://mail.gnome.org/archives/devel-announce-list/2018-September/msg00003.html

gnome ppa 18.04
  • 5 5 个回答
  • 36782 Views

5 个回答

  • Voted
  1. Best Answer
    thebunnyrules
    2019-01-19T13:28:55+08:002019-01-19T13:28:55+08:00

    在此处输入图像描述

    是的,如果您愿意做一些非常规的事情并且必须处理更多的复杂性、潜在风险和兼容性问题,则可以从任何 ubuntu 版本升级您想要的任何软件。

    我也无法升级到 18.10,因为它破坏了我的一些基本软件。另一方面,Gnome 3.30 在稳定性和性能方面远远优于 3.28 和 3.26。对于 Gnome Wayland 来说尤其如此,它从 3.30 开始从灾难性变为实际可用......

    这是我所做的一般要点:

    1. 临时修改 apt repo list 以使用 cosmic 的 repos 而不是仿生。
    2. 仅将 gnome shell 更新到 3.30 以及它需要以稳定方式运行的文件,仅此而已。
    3. 列出在 2 中更新的文件。
    4. 撤消步骤 1,以便机器上的其余包可以使用 LTS 更新
    5. 其余包可以正常更新,但我在 2 中更新的文件需要通过脚本手动更新,该脚本将使用步骤 3 中的列表构建。

    我已经就如何做到这一点做了一个非常详尽的教程。如果您密切关注这一点,您应该不会有任何麻烦,但知道没有任何保证,并且您正在玩可能会破坏安装的东西,因此在执行此操作之前备份您的安装或在虚拟机上执行此操作以查看它是如何进行的适合你。


    详细说明(数字与上面的列表不对应):

    准备

    除非我另有说明,否则假设所有命令都具有提升的权限,并且我只是不想输入sudo100 次。要进入sudo模式,请输入:

    sudo -H bash #or sudo su 
    

    在做任何事情之前,通过运行确保一切正常:

    apt-get --fix-broken install
    

    步骤1

    复制原始版本并临时修改 apt 存储库列表,以便它检查 Cosmic 存储库的更新而不是 Bionic 存储库:

    cp /etc/apt/sources.list /etc/apt/sources.list.bionic
    #make a cosmic version of the apt list
    cat /etc/apt/sources.list.bionic| sed 's/bionic/cosmic/g' > /etc/apt/sources.list.cosmic
    # set the apt list to cosmic
    cp /etc/apt/sources.list.cosmic /etc/apt/sources.list
    
    # backup your two list files to another directory - just in case some smart ass updater decides to delete them.
    mkdir /etc/apt.bak
    cp /etc/apt/sources.* /etc/apt.bak
    

    第2步

    更新包列表并检查可升级包:

    apt update
    apt list --upgradable > upgradable
    

    第 3 步

    使用grep,对数字 3.30 和 3.28 运行基于文本的搜索。这应该只显示与 Gnome Shell 相关的更新。此外,您可以搜索与 Wayland(必不可少!)和glib, gir, gtk(由您决定)相关的软件包。我真的不关心 Xorg,因为我认为它非常不安全,但是如果你想使用gnome-x11,你也可以搜索xorg要更新的包。这种方法背后的想法是避免将太多软件包升级到 Cosmic 分支,因为 Cosmic 只有 9 个月的修复,而 Bionic 将有 5-10 年的安全更新和修复,所以保留尽可能多的您的系统尽可能在仿生线上。

    #updates directly related to 3.30 or needed by it.
    cat upgradable | grep "3.30" | grep --color=NEVER "3.28" > upgradable-3.30 #this got me 78 packages
    cat upgradable | grep --color=NEVER -i "nautilus" >> upgradable-3.30 #if you endup choosing to do step 9, don't do this
    cat upgradable | grep --color=NEVER -i "gdm" >> upgradable-3.30
    cat upgradable | grep --color=NEVER -i "gnome-shell-extension-appindicator" >> upgradable-3.30
    cat upgradable | grep --color=NEVER -i "gnome-shell-extension-ubuntu-dock" >> upgradable-3.30
    cat upgradable | grep --color=NEVER -i "gvfs" >> upgradable-3.30 
    cat upgradable | grep --color=NEVER -i "network-manager" >> upgradable-3.30
    
    #wayland
    cat upgradable | grep --color=NEVER -i "wayland" > upgradable-wayland
    
    #x11
    cat upgradable | grep --color=NEVER -i "xorg" > upgradable-xorg
    cat upgradable | grep --color=NEVER -i "x11" >> upgradable-xorg
    

    不确定以下升级的必要性。我想如果我将文件安装在uprgradable-3.30. 我会说,尝试不使用它们,如果您觉得它不稳定,请安装它们。

    cat upgradable | grep --color=NEVER -i "gnome-bluetooth" >> upgradable-3.30 #version change doesn't seem very for this one, maybe keep it on bionic
    cat upgradable | grep --color=NEVER -i "gnome-keyring" >> upgradable-3.30 #version change doesn't seem very for this one, maybe keep it on bionic
    cat upgradable | grep --color=NEVER -i "gnome" >> upgradable-3.30 
    cat upgradable  | grep --color=NEVER -i "gtk" > upgradable-libs
    cat upgradable  | grep --color=NEVER -i "glib" >> upgradable-libs
    cat upgradable  | grep --color=NEVER -i "gir" >> upgradable-libs
    

    每个upgradable列表应如下所示:

    adwaita-icon-theme/cosmic,cosmic 3.30.0-0ubuntu1 all [可升级自:3.28.0-1ubuntu1] baobab/cosmic 3.30.0-1 amd64 [可升级自:3.28.0-1] cheese/cosmic 3.30.0 -0ubuntu1 amd64 [可升级自:3.28.0-1ubuntu1] cheese-common/cosmic,cosmic 3.30.0-0ubuntu1 all [可升级自:3.28.0-1ubuntu1] 等等……等等……等等……

    在 1500 个软件包中,您最多应该升级 100 到 250 个软件包

    第4步

    使用sed,重新格式化在步骤 3 中创建的列表以将其变为:

    adwaita-icon-theme/cosmic,cosmic 3.30.0-0ubuntu1 all [可升级自:3.28.0-1ubuntu1] baobab/cosmic 3.30.0-1 amd64 [可升级自:3.28.0-1] cheese/cosmic 3.30.0 -0ubuntu1 amd64 [可升级自:3.28.0-1ubuntu1] cheese-common/cosmic,cosmic 3.30.0-0ubuntu1 all [可升级等...等....等..

    进入这个:

    apt-get install --assume-yes adwaita-icon-theme baobab cheese cheese-common etc... etc... etc..

    cat upgradable-3.30             |  sed 's/\[//g'| sed 's/\/cosmic/\[/g'| sed 's/), /\] /g'| sed 's/)/\]/g'| sed -e 's/\[\([^]]*\)\]//g'|sed '/^\s*$/d'|sed "s/^/apt-get install --assume-yes /g" > up-3.30
    cat upgradable-wayland             |  sed 's/\[//g'| sed 's/\/cosmic/\[/g'| sed 's/), /\] /g'| sed 's/)/\]/g'| sed -e 's/\[\([^]]*\)\]//g'|sed '/^\s*$/d'|sed "s/^/apt-get install --assume-yes /g" > up-wayland
    #again, xorg is optional for those using it, don't upgrade it if you don't use it. You want to keep as many files as possible on the LTS track.
    cat upgradable-xorg             |  sed 's/\[//g'| sed 's/\/cosmic/\[/g'| sed 's/), /\] /g'| sed 's/)/\]/g'| sed -e 's/\[\([^]]*\)\]//g'|sed '/^\s*$/d'|sed "s/^/apt-get install --assume-yes /g" > up-xorg
    #same for the libs
    cat upgradable-libs            |  sed 's/\[//g'| sed 's/\/cosmic/\[/g'| sed 's/), /\] /g'| sed 's/)/\]/g'| sed -e 's/\[\([^]]*\)\]//g'|sed '/^\s*$/d'|sed "s/^/apt-get install --assume-yes /g" > up-libs
    

    使新创建的脚本可执行

    chmod +x up-*
    

    第 5 步

    在开始之前记下时间和日期,我使用 4 的结果来更新需要更新的包:

    date > upgrade-start
    ./up-3.30
    ./up-wayland
    
    #etc...
    
    #Install the Yaru themes (they're not included in 18.04 and are need in 3.30)
    apt-get install yaru-theme-*
    
    #as regular user (non-sudo), activate themes via:
    gsettings set org.gnome.desktop.interface gtk-theme 'Yaru' #or 'Yaru.dark'
    gsettings set org.gnome.desktop.interface cursor-theme 'Yaru'
    gsettings set org.gnome.desktop.interface icon-theme 'Yaru'
    gsettings set org.gnome.desktop.sound theme-name 'Yaru'
    #or use gnome-tweaks to do it
    
    
    #If you get any errors, run 
    
    apt-get --fix-broken install
    
    
    date > upgrade-finished
    
    #reboot your machine
    reboot
    

    第 6 步

    5 中升级的文件不再在 LTS 更新轨道上。这意味着,当步骤 1 被撤消并启动更新时,正常的 Bionic 包将更新,但这些包将始终被认为是更新的。此外,在步骤 5 中更新或安装的任何依赖项都将处于相同的情况。更新这些包需要创建一个手动更新它们的脚本。

    让我们使用apt历史日志文件来确定哪些文件需要手动更新:

    cp /var/log/apt/history.log ./cosmics-upgrade.log
    

    执行nano cosmics-upgrade.log并删除之前upgrade-start和之后的任何条目upgrade-finished(在步骤 5 中)。

    现在,让我们编写一个脚本,为我们手动升级我们的非 LTS 包:

    echo '#!/bin/bash' > update-cosmics
    echo 'cp /etc/apt/sources.list.cosmic /etc/apt/sources.list;apt update' >> update-cosmics
    

    下一步将用于sed将日志格式化为我们可以放入update-cosmics文件中的内容(与步骤 4 中的想法相同)。

    cat cosmics-upgrade.log | sed 's/([^)]*)//g'| sed 's/,//g'|sed "s/End-Date:/# End-Date:/g"|sed "s/Start-Date:/\n\n\n# Start-Date:/g"|sed "s/Commandline: /# Commandline: /g"|sed 's/Install: /\napt-get install --assume-yes /g'|sed 's/Update: /\napt-get install --assume-yes /g'|sed 's/Remove: /\napt-get remove  --assume-yes /g'|sed 's/Upgrade: /\napt-get install  --assume-yes /g'|sed "s/Requested-By:/\n\n\n# Requested-By:/g" >> update-cosmics
    

    最后,将以下行添加到 的最后update-cosmics:

    echo 'cp /etc/apt/sources.list.bionic /etc/apt/sources.list;apt update' >> update-cosmics
    

    使脚本可执行并将其移动到/usr/bin

    chmod +x update-cosmics
    cp update-cosmics /usr/bin
    

    第 7 步

    撤消步骤 1 以允许您的系统正常执行更新。

    cp /etc/apt/sources.list.bionic /etc/apt/sources.list;apt update
    

    第 8 步

    用于update-cosmics临时切换到 Cosmic 存储库并更新 Cosmic 轨道上的包。您可以手动运行它或使用cron.

    第 9 步:奖励回合:Ditch Nautilus 3.26

    这是一个偏好问题:如果您不使用桌面图标,或者如果您想尝试桌面图标扩展,您可以摆脱 Ubuntu 为大大改进的 Nautilus 3.30 分叉的过时的 Nautilus 3.26。我喜欢 3.30,因为它有更好的触摸屏支持,并且因为 3.26 的桌面图标实现注入了 X11 层(真的是 XWayland)——即使你正在运行 Wayland 会话。桌面图标 Gnome Shell 扩展仅适用于 3.30。它完成了大约 80% 的功能,但不会将 X11 层注入到您的 Wayland 会话中。

    Nautilus 3.30 可以通过从 Debian 的服务器下载 deb 文件获得:

    wget http://ftp.us.debian.org/debian/pool/main/n/nautilus/nautilus_3.30.4-1_amd64.deb
    wget http://ftp.us.debian.org/debian/pool/main/n/nautilus/libnautilus-extension1a_3.30.4-1_amd64.deb
    wget http://ftp.us.debian.org/debian/pool/main/n/nautilus/nautilus-data_3.30.4-1_all.deb
    

    用于dpkg安装它们:

    dpkg -i *nautilus*.deb
    

    可以在此处找到 Nautilus 的未来更新,您必须手动安装它们(单击修改日期两次以查看最新的 deb)。

    桌面图标扩展可以在这里找到。

    如果您决定坚持使用 Debian 3.30 Nautilus,则必须从update-cosmics我们之前生成的脚本中删除这 3 个软件包。您还必须这样做:

    apt-mark hold libnautilus-extension1a nautilus-data nautilus
    

    这避免了 Ubuntu 的更新程序意外地将 Nautilus 从 3.30“升级”回 3.26(是的,它实际上无法判断 3.30 是高于 3.26 的数字)。

    要撤消此操作,您可以执行以下操作:

    apt-mark unhold libnautilus-extension1a nautilus-data nautilus
    apt-get install nautilus nautilus-data libnautilus-extension1a #and unstill the desktop-icons extension
    
    • 9
  2. Danial Khazaei
    2018-09-07T06:53:48+08:002018-09-07T06:53:48+08:00

    好吧,我已经设法使用 gnome 团队提供的 JHBuild 工具在 Ubuntu 18.04 上编译它!除了一些依赖项和少量修改外,其余的都可以使用默认的仿生安装。

    唯一不编译的模块是ibus-anthy,我得到的错误与依赖无关:

    anthygcontext.c:55:5: error: ‘g_type_class_add_private’ is deprecated
    

    我尝试了一些应用程序,例如 gedit,它们都可以工作,但我还没有测试整个系统以查看它是否真的可以运行!

    回家后我会回来报告的...


    好消息伙计们,关于编译有一些问题,我现在已经设法解决了......

    到目前为止,gnome 3-30 会话完全开始,应用程序运行......我现在面临的唯一问题是文件夹没有任何图标!

    如果我设法修复它并且没有出现新问题,我将在此处发布指南!

    • 6
  3. Danial Khazaei
    2018-09-12T11:46:44+08:002018-09-12T11:46:44+08:00

    只是为了给你一个更新!在花了几天时间弄乱 jhbuild 之后,我无法弄清楚为什么在运行新编译的 gnome-shell 时主要应用程序没有在新用户帐户下打开。

    我已经在这里寻求帮助,但还没有回应:

    https://gitlab.gnome.org/GNOME/jhbuild/issues/4

    同时,我刚刚安装了 Ubuntu 18.10 daily build,我应该说它使用 gnome-shell 3.30 非常稳定和流畅!到目前为止我发现的唯一错误是 Ubuntu 软件中心有时会表现得很奇怪,需要终止才能响应!我肯定会继续使用 Ubuntu 18.10,接收每日更新也将确保更高的稳定性。

    我还从这个 ppa 更新了 gjs,因为据说这是 Ubuntu 18.04 上滞后的 gnome-shell 背后的原因!

    https://launchpad.net/~gnome3-team/+archive/ubuntu/gnome3-staging

    最后的话,期待 gnome-shell 3.30 和 gjs 1.54 的显着性能提升,但不要期望 Windows 像平滑度一样!

    • 2
  4. Jeremy Bicha
    2018-09-10T10:59:31+08:002018-09-10T10:59:31+08:00

    如果你想要 GNOME 3.30,你需要升级到 Ubuntu 18.10。

    Ubuntu 18.10 直到2018 年 10 月 18 日才会发布。

    请注意,Ubuntu 18.04 LTS 是一个长期支持版本,但 Ubuntu 18.10 仅支持到 2019 年 7 月。如果升级到 18.10,则需要每年升级两次,直到 2020 年 Ubuntu 20.04 LTS 才能重新获得长期支持版本。

    • 0
  5. Steve
    2018-09-07T08:59:10+08:002018-09-07T08:59:10+08:00

    是的,有一个用于升级到最新 Gnome Shell 的 PPA。

    运行以下命令:

    sudo add-apt-repository ppa:gnome3-team/gnome3
    sudo add-apt-repository ppa:gnome3-team/gnome3-staging
    sudo apt-get update
    sudo apt-get dist-upgrade
    

    完成后,重新启动系统。

    重要提示:本 PPA 主要用于测试目的。在任何情况下,您都应该坚持使用当前 Ubuntu 版本提供的 GNOME Shell 稳定版本。如果您在升级后遇到一些问题,您可以通过清除来恢复所有内容:

    sudo ppa-purge ppa:gnome3-team/gnome3-staging
    sudo ppa-purge ppa:gnome3-team/gnome3
    sudo apt-get install ubuntu-gnome-desktop^
    

    再次,重新启动系统。

    资料来源:Ubuntu 维基

    • -2

相关问题

  • 停止菜单图标闪烁

  • 我如何创建自己的 php 5.3.3 包/ppa?

  • 如何删除 PPA?

  • 是否有适用于 IMAP 邮件帐户的 Gnome 小程序?

  • 如果顶部面板中缺少会话小程序,如何注销?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve