最近 Ubuntu 16.04 推送了一批 Unity 和 Compiz 更新,结果导致自己的 Fractional Scale 功能挂掉了。 怎么办呢?那只能回滚了,但是回滚 Unity 可没那么容易,依赖太多,还有 Compiz 等核心组件,所以我们要滚只能滚大的了。
回滚的方式可以参考解说:Ubuntu 14.04 更新内核与组件后的回滚 Ubuntu 14.04 是 LTS 长期支持版本,这意味着你可以长期使用它,可能有些人觉得不用新版会无法体会到最新内核和 Mesa 之类的驱动,实际上你还是可以通过源安装当前主流版本的套件的。 Ubuntu 14.04 在后续版本 14.04.1 / 14.04.x 等中都会对套件进行升级,不过默认跟随更新似乎不会主动更改,你需要手动切换内核和组件。 包括桌面版和服务器版都可以升级到相对比较新的内核。 命令: sudo apt-get install --install-recommends linux-generic-lts-utopic xserver-xorg-lts-utopic libgl1-mesa-glx-lts-utopic libegl1-mesa-drivers-lts-utopic 运行后 Ubuntu 14.04 就已经使用了新版本的大部分套件了,如果你开启了最新的 Proposed 通道,就会在里面发现 linux-generic-lts-vivid ,也就是新版的内核。 安装这个内核是没问题的,不过你得开启 Proposed 测试通道才可以看到,开启后更新系统会安装测试版本的一些组件,这些组件会给你带来莫名其妙的问题,比如在 X250 上会导致缺字。 于是需要将 Proposed 通道安装的更新进行回滚。 网络上对此有很多种方法,比如看日志挨个制定版本的,有看记录强制安装的,总体来说还是设定优先级的方式比较好。 首先,勾掉 Proposed 然后关闭,先不更新源。
然后创建自定义源文件,设定优先级 sudo vim /etc/apt/preferences.d/99-back-to-stable-updates 文件内容: Package: * Pin: release a=trusty Pin-Priority: 1001 Package: * Pin: release a=trusty-updates Pin-Priority: 1001 Package: * Pin: release a=trusty-security Pin-Priority: 1001 Package: * Pin: release a=trusty-proposed Pin-Priority: -10 Package: * Pin: release a=trusty-backports Pin-Priority: -10
其他发行版一样适用,替换 "trusty" 即可。 接下来就是更新回滚了。 sudo apt-get update sudo apt-get dist-upgrade
这样回滚后会有一个问题,比如 Ubuntu 14.04 拥有的那个 sunpinyin 的输入 Bug 升级包修复方式会因为回滚而失效,重新安装一下即可。 顺便一提,PPA 回滚是 ppa-purge sudo apt-get install ppa-purge sudo ppa-purge ppa:pockieswili/henntaidesu
只不过在设置优先级的时候,仅仅保留基本的 release 的源,所有的 update 有关的全部回退。 回退的时候会很长,因为所有包都会被差不多降级,降级完毕后第一时间选择锁定 Unity 的版本。 可以使用 Hold 命令: sudo apt-get hold unity 然后重新更新就可以了。 之后 1.5 倍缩放终于可以用了。
相关主题 |