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


17

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

有PPA吗?

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


1
我已经尝试在Ubuntu 18.04中安装Gnome 3.30,并从github下载了源代码,但是我遇到了很多软件包需求错误:软件包需求错误gnome 3.30 ubuntu 18.04我想我必须等到18.10发布,我真的不想破坏我的安装。:)
Philippe Delteil

好吧..这实际上是我打开这个问题的原因:)我希望18.04有一些PPA。我想继续使用LTS,但是gnome-shell崩溃+滞后令人沮丧
Juan Leni

2个月后,仍然没有PPA,没有.deb,没有flatpak,没有快照...真的不合适,我想知道是谁对如此糟糕的可用性负责。如果我将担任项目经理,我会将该软件推入各个渠道,但实际上什么也没有……
saitam

Answers:


6

在此处输入图片说明

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

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

这是我所做的一般要点:

  1. 临时修改apt repo列表以使用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仓库,而不是仿生仓库:

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

第三步

使用grep,对数字3.30和3.28运行基于文本的搜索。这只会向您显示与Gnome Shell相关的更新。此外,您可以搜索与韦兰(必需!)和包glibgirgtk(给你)。我真的不在乎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

不确定以下升级的必要性。我想如果将文件安装在Windows 2000中,将自动下载Gnome Shell 3.30正常运行所需的库软件包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全部[可升级:3.28.0-1ubuntu1] baobab / cosmic 3.30.0-1 amd64 [可升级:3.28.0-1]奶酪/宇宙3.30.0 -0ubuntu1 amd64 [可从3.28.0-1ubuntu1升级]普通/宇宙,宇宙3.30.0-0ubuntu1全部[可从3.28.0-1ubuntu1升级]等...等...等等...

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

步骤4

使用sed,重新格式化第3步中创建的列表,以实现以下目的:

adwaita-icon-theme / cosmic,cosmic 3.30.0-0ubuntu1全部[可升级:3.28.0-1ubuntu1] baobab / cosmic 3.30.0-1 amd64 [可升级:3.28.0-1]奶酪/宇宙3.30.0 -0ubuntu1 amd64 [可从以下版本升级:3.28.0-1ubuntu1]常见/宇宙奶酪,宇宙3.30.0-0ubuntu1全部[可升级等...等...等。

到这个:

apt-get install --assume-yes adwaita-icon-theme猴面包树芝士奶酪-常见等等...等等...等..

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/:amd64 (/\[/g'| sed 's/), /\] /g'| sed 's/)/\]/g'| sed -e '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 /g'|sed 's/Update: /\napt-get install --assume-yes /g'|sed 's/Remove: /\napt-get remove /g'|sed 's/Upgrade: /\napt-get install /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临时切换到宇宙回购和更新软件包的宇宙轨道上。您可以手动运行它,也可以使用计划它cron

第9步:奖金回合:鹦鹉螺号3.26

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

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

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

2
感谢您的努力和如此出色的答复
Juan Leni

我认为您需要在步骤4中更正sed命令。它们正在生成错误的脚本。这是我获取E: Command line option --assume-yesthunderbird-gnome-support is not understood in combination with the other options所有软件包的错误。我不是sed的专家,所以无法找到命令中的错误。
萨拉·辛格

6

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

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

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

我尝试了一些像gedit这样的应用程序,它们可以工作,但是我还没有测试整个系统是否能够真正运行!

我回家的时候会报告...


好消息,关于编译存在一些问题,我现在设法将它们整理出来...

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

如果可以解决问题,并且不会出现新问题,我将在此处发布指南。


2
大!!我很感激
Kulfy

1
这事有进一步更新吗。我可以在Ubuntu 18.04中安装Gnome 3.30.x
Ankur Loriya

实际上没有,因为我没有从gnome团队得到任何回应,我需要让我的系统恢复在线...安装18.10
Danial Khazaei

2

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

我已经在这里请求帮助,但尚未回复:

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

同时,我刚刚安装了Ubuntu 18.10日常构建,我应该说它使用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获得显着的性能提升,但是不要期望像平滑度这样的窗口!


1
GNOME人们会测试哪些操作系统?如果未测试非常受欢迎的发行版(例如来自Ubuntu的最新发行版(18.04))的兼容性,我很想知道测试了哪些发行版。
9/27

真是可悲。我不明白,不仅有没有多重安装软件包喜欢.deb.snapflatpak,但竟然没有他们中的一个。如果没有安装文件,他们怎么称呼它为新版本?Ubuntu应该留在Unity上。
saitam '18

0

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

Ubuntu 18.10将于201810月18日发布。

请注意,Ubuntu 18.04 LTS是一个长期支持版本,但仅在2019年7月之前支持 Ubuntu 18.10。如果升级到18.10,则需要每年升级两次,直到2020年的Ubuntu 20.04 LTS才能恢复。长期支持发布。


1
我知道LTS生命周期是如何工作的。但是,很常见的是有些PPA供那些想升级一些东西的人使用。这是反向端口PPA的一种非常常见的情况。我的问题是关于地精的存在。
Juan Leni

1
最好的例子是GNOME3 PPA。之所以创建这些PPA,是因为某些应用程序的GNOME版本在Ubuntu发布之日就已过期。因此,PPA仅向后移植了该版本的GNOME。他们并没有真正打算提供最新的GNOME。自从默认切换到GNOME以来,Ubuntu在更新GNOME方面一直做得更好。
杰里米·毕查

1
这是否意味着我们永远不会在18.04上看到Gnome 3.30?仅适用于18.10和20.04?
uptoyou

什么时候可以为Ubuntu 18.04提供Gnome 3.30?这是当前的LTS,我不明白为什么没有当前的gnome版本,它并不迟钝和缓慢
saitam

我实际上在18.04上运行3.30。我编写了一个有关如何在此线程上执行此操作的教程。
thebunnyrules

-2

是的,有一个PPA可以升级到最新的Gnome Shell。

运行以下命令:

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 Wiki


2
这是PPA还没有在很长一段时间没有更新:(这似乎不是很有用
胡安·莱尼

只要在这里查看“最新更新”即可:launchpad.net/~gnome3-team/+archive/ubuntu/gnome3
Juan Leni

或者寻找仿生可用的软件包:launchpad.net/~gnome3-team/+archive/ubuntu/...
胡安·莱尼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.