是否可以在ubuntu 18.04中安装gnome 3.29.92或3.30?
有PPA吗?
更新:https : //mail.gnome.org/archives/devel-announce-list/2018-September/msg00003.html
是否可以在ubuntu 18.04中安装gnome 3.29.92或3.30?
有PPA吗?
更新:https : //mail.gnome.org/archives/devel-announce-list/2018-September/msg00003.html
Answers:
是的,如果您愿意做一些非常规的事情并且不得不处理更多的复杂性,潜在的风险和兼容性问题,则可以从任何ubuntu版本中升级所需的任何软件。
我也无法升级到18.10,因为它破坏了一些基本软件。另一方面,Gnome 3.30在稳定性和性能方面远远优于3.28和3.26。对于Gnome Wayland而言,尤其如此,它从3.30开始从灾难性的变为实际可用的...
这是我所做的一般要点:
我已经完成了有关如何执行此操作的非常详尽的教程。如果您仔细地进行此操作,则应该不会有任何麻烦,但应该知道没有任何保证,并且您正在玩的事情可能会破坏安装,因此请在执行此操作之前备份您的安装,或者在虚拟机上执行此操作以了解其运行方式。为你而去。
准备
除非我没有另外指定,否则假设所有命令都具有提升的特权,并且我只是不想键入sudo
100次。要进入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相关的更新。此外,您可以搜索与韦兰(必需!)和包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
不确定以下升级的必要性。我想如果将文件安装在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
E: Command line option --assume-yesthunderbird-gnome-support is not understood in combination with the other options
所有软件包的错误。我不是sed的专家,所以无法找到命令中的错误。
好吧,我已经设法使用gnome团队提供的JHBuild工具在Ubuntu 18.04上编译了它!除了一些依赖项和少量修改外,其余都可以在默认的仿生安装中正常使用。
唯一无法编译的模块是ibus-anthy
,我得到的错误与依赖无关:
anthygcontext.c:55:5: error: ‘g_type_class_add_private’ is deprecated
我尝试了一些像gedit这样的应用程序,它们可以工作,但是我还没有测试整个系统是否能够真正运行!
我回家的时候会报告...
好消息,关于编译存在一些问题,我现在设法将它们整理出来...
到目前为止,gnome 3-30会话已完全启动,应用程序已运行...我现在面临的唯一问题是文件夹没有任何图标!
如果可以解决问题,并且不会出现新问题,我将在此处发布指南。
只是给您更新!在花了几天时间弄乱了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获得显着的性能提升,但是不要期望像平滑度这样的窗口!
.deb
,.snap
,flatpak
,但竟然没有他们中的一个。如果没有安装文件,他们怎么称呼它为新版本?Ubuntu应该留在Unity上。
如果需要GNOME 3.30,则需要升级到Ubuntu 18.10。
请注意,Ubuntu 18.04 LTS是一个长期支持版本,但仅在2019年7月之前支持 Ubuntu 18.10。如果升级到18.10,则需要每年升级两次,直到2020年的Ubuntu 20.04 LTS才能恢复。长期支持发布。
是的,有一个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