Linux桌面玩家装B指南:03.针对Gnome 3的Linux桌面进行美化
阅读目录
这就是一个中规中矩的桌面,应用程序的窗口显示在桌面上,只要配色和外观不要太丑,就不影响我们工作。和 Gnome 2 比,它的主要变化是去掉了桌面底部的 panel,只保留了屏幕顶部的 panel。同时,顶部 panel 中的元素也大大减少,没有类似 Windows 中开始菜单、窗口列表这样的元素,取而代之是最左边的那个 Activities 按钮。点击该按钮,就会弹出 Activities Overview 界面,如下图:
该界面中,左边显示的是 Dash,可以点击里面的图标启动常用的程序。中间显示的是应用程序窗口,可以查看当前打开的窗口有哪些,要切换到哪个窗口就点哪个窗口。右侧显示的是工作区,也可以通过鼠标的点击在工作区之间切换。如下图:
Activites Overview 界面不仅可以显示打开的窗口,还可以显示系统中安装的程序,便于启动 Dash 中没有的程序。程序都是大图标,而且有搜索功能,如下图:
通过上面的展示,真不觉得 Gnome 3 有什么值得吹嘘的黑科技,如果真要说有什么先进的理念的话,大概就是对触摸屏设备的支持吧。主要表现有:1. Activites Overview 是占据整个屏幕的大界面,而不是像 Windows 的开始菜单那样只占据屏幕的一小部分;2.应用程序界面都是大图标,便于手指的点击;3.工作区图标也比较大,便于手指点击,也便于预览每个工作区中有哪些窗口。
而我们桌面用户不一样,桌面用户依赖的是键盘和鼠标的输入,可以精准点击,对大图标没有多少依赖。如果能熟练使用快捷键,对 Gnome 3 的使用体验也是可以提升不少的。例如,不用点 Activities 按钮,按 Super 键(也就是键盘上的 Win 键)也可以调出 Activites Overview 界面。有一个比较人性化的功能是 Gnome 3 的工作区是动态工作区,只要占满了现有的工作区,它就会马上自动建立一个新工作区,省掉了我们自己建工作区的操作。在工作区之间切换,也可以使用快捷键,Ctrl+Alt+↑ 和 Ctrl+Alt+↓。最后,在窗口间切换也可以使用快捷键 Alt+Tab。窗口切换的效果如下图:
可以上的内容还是不足以说明 Gnome Shell 有多优秀啊。我们继续挖掘 Gnome Shell 背后的技术。
原来整个 Gnome Shell 都建立在 OpenGL 之上,这么说来性能应该是杠杠的了,使用显卡加速应该是妥妥的了。在 OpenGL 之上,建立了 Clutter 图形库,在 Clutter 之上,建立了 mutter 窗口管理器和 Shell Toolkit,而且 Shell Toolkit 是可以使用 CSS 定义外观的。再往上,还建立了一个 JavaScript 引擎和 gobject-introspection,这样就可以使用 JavaScript 来操控 Gnome Shell。原来黑科技藏在这里呢,我心里舒服多了。而且这一整条技术栈都是可以学习的,我们程序员的玩具又多了一种。
①左侧的 Dash。Ubuntu 的传统特色,也是我每次都要去掉的特色。Dash 虽然方便,但是屏幕左边缘被占掉这一条空间还是令人不爽的,而且和右边缘不对称。而且 Dash 的配色并不一定总能和桌面上的工作窗口保持同样的风格,所以有时看起来比较突兀。在以前的 Ubuntu 版本中,我总是设置为自动掩藏,然后鼠标在屏幕左侧划过时出现。在现在的版本总,该 Dash 是由 gnome-shell-extension-ubuntu-dock 扩展提供的,可以把它删掉,也可以把它设置为显示到屏幕底部。
②左上角的“活动”按钮。这个按钮很别扭,本来把“Activities”翻译成“活动”,就很有点词不达意。而且这个按钮有点多余,不要它也可以,直接使用 Super 键调出 Activities Overview 界面更方便。使用 gnome-shell-extension-hide-activities 可以把这个按钮隐藏。
③桌面顶端占用空间太多。从图中可以看到,当我把一个窗口最大化后,顶部有 Gnome Shell 的 top panel,其次是窗口的标题栏(top bar),再然后是窗口的菜单栏。这几个元素就占据了桌面顶端太多的空间。解决这个问题,有两个方案,一个是把窗口的标题栏放到 top panel 中,另一个是把菜单栏放到 top panel 中。可以使用 pixelsaver 插件或者 Global Application Menu 插件。
④位于 top panel 中间的时钟。为了在 top panel 中留出足够的空间,我们需要把时钟移动到右边,可以使用 Frippery Move Clock 插件。
⑤头重脚轻的问题。屏幕顶端元素众多,屏幕底端啥都没有,有点头重脚轻的感觉。可以使用 Dash to dock 插件,并设置为 Dock 显示在底部。当然,也可以使用 Cairo-dock。
⑥背景图片太单一的问题。我当然有背景轮换大法啦。
这两个插件都不是我们想要的,把它们卸载掉吧。命令:
sudo aptitude purge gnome-shell-extenion-appindicator gnome-shell-extension-ubuntu-dock
按 Alt+F2,输入 r,按 Enter 运行,可以重启 Gnome Shell,卸载下面两个插件后,讨厌的左边 Dash 不见了,如下图:
下面,来看看怎么把时钟移到右边。打开 https://extensions.gnome.org/ ,搜索 Frippery Move Clock,然后打开这个 extension 的页面,如下图:
我们先要确认一下该 extension 能够支持的 gnome-shell 版本,Ubuntu 18.04 中的 gnome-shell 是 3.28 版,所以这个 extension 是可以装的。别的 extension 也一样,如果不支持这个版本的 gnome-shell,安装就会出错。直接在网页中点右上角的按钮,就可以安装了。安装完之后,时钟自动移到了 top panel 的右边,网页中的 extension 状态也从 off 变成了 on,如下图:
有一些插件 Ubuntu 官方仓库中的就不错,可以直接安装。例如 Hide Activities 和 pixelsaver,还有 remove dropdown arrows。使用如下命令安装:
sudo aptitude install gnome-shell-extension-hide-activities sudo aptitude install gnome-shell-extension-pixelsaver sudo aptitude install gnome-shell-extension-remove-dropdown-arrows
安装完这三个 extension,重启 gnome-shell,使用 gnome-tweak-tool 开启这三个 extension 后,效果是这样的:
可以看到,“活动”按钮隐藏起来了,以后要启动程序必须使用 Super 键了。窗口的标题栏和 top panel 合并了,节约了一行空间。唯一的遗憾是窗口的最大化、最小化和关闭按钮不是在屏幕的最右端,想关窗口的时候找起来有点费劲。不过没关系,我们可以把这三个按钮放置到窗口的左边。这真的不是为了模仿苹果哦,是这样放要关窗口的时候按起来最方便。如下图:
反正安装 extension 就这两种方法,后面我就不讲安装过程了,直接展示 extension 的效果。
Dash to dock,解决头重脚轻的问题,将 dock 设置为显示在屏幕下方,如下图:
Frippery Applications Menu,显示一个类似 Windows 开始菜单的应用程序菜单,我个人认为没啥用,毕竟我们不能总是用 Windows 的习惯使用电脑嘛。如下图:
Places Status Indicator,显示一个菜单,便于我们快速定位文件系统中的常用位置。我也认为这个 extension 没啥用,因为 Gnome 自带的文件管理器就有这样的快速定位功能。如下图:
Open Weather,显示天气功能,如下图:
System Monitor,系统监控,如下图:
我还是认为以上两个插件没什么用。下面是 Coverflow Alt-Tab,可以使窗口切换的效果更佳酷炫,如下图:
在以上我考察的 extension 中,至少有四个我认为是没有用的,它们分别是:Frippery Applications Menu、Places Status Indicator、Open Weather、System Monitor。前面两个我认为没用,是因为 Gnome 3 已经有更好的 Overview 界面和 Dash 了,文件管理器也足够好用了,没必要再来这两个菜单。后两个我认为没用,是因为我觉得在桌面美化领域,大家一直以来都严重缺乏创意,不是显示天气,就是显示系统监控,如果用 conky 搞桌面小部件,显示的也是天气、CPU、内存、文件位置什么的,真的是烂大街了。至于窗口切换的效果,我觉得要不要都无所谓,没有谁一天到晚切换窗口玩,而且我觉得 Gnome 3 的动态工作区和它的快捷键已经很好用了。
所以,我的桌面最终是下面这样的,前面考察的十个 extension,我只打开了五个,而且关闭了 Dock 的自动隐藏。如下图: