补丁不是我写的,我只是把将在下一个版本中应用的补丁提前打入我正在使用的版本中而已。
题外话:GnomeShell是GNOME3的新的默认用户界面,和Windows、Mac、GNOME2、KDE的使用方法大相径庭。它使用Clutter作为后端,利用硬件加速实现桌面特效,但是仅仅是最基本的特效,不会消耗太多系统资源。一开始用会不习惯。习惯后,会发现很多设计是很人性化的。当然,Gnome3也刚刚发布,还需要很多改善。
好吧,现在进入正文。
安装了一些gnome-shell的插件(extension),包括dock, user-theme什么的。
其中,dock是在屏幕右侧边沿增加一个图标栏,包含正在运行的程序,类似苹果系统的下方的图标栏。
但是那个dock栏看上去很奇怪,白白的,一点颜色都没有,也没有背景没有边框。起码,背景做成黑色比较协调,而且程序启动了应该加个框框什么的,告诉用户程序在启动。这个插件真的这么烂吗?
打开它的css(stylesheet.css,每个extension都有的)看看。背景、框框都有,而且鼠标悬停效果也有,但是屏幕上就是没有显示出来。
难道是这个css没有被装载?我试着把它的语法改成非法的,按alt+f2,输入r,回车。出错了,说明css确实被装载了。
我以为这是dock的一个bug。
之后,安装了ibus-gnome3插件(它是输入法与gnome-shell的集成插件,使得输入法也能成为gnome-shell的扩展菜单)。按道理说,输入中文的时候,应该在光标附近出现一个框框,里面显示候选汉字。但是,这里的框框也是无色透明的,只有黑色的文字显示在界面上,很难看清。我的第一反应是,这和“dock”的症状是一样的。“黑色”的字,没有背景,很明显,是css样式表没有装载。
所以,推测,是gnome-shell本身的问题。
-------------------
google “gnomeshell extension css”,得知,很古老的一个bug,导致在安装了user-theme插件的同时,会使所有的插件自定义的css无法使用。
参考:
http://www.webupd8.org/2011/06/fix-gnome-shell-to-work-with-user-theme.html
这个bug其实现在已经修复了,见bug贴:
https://bugzilla.gnome.org/show_bug.cgi?id=650971
已经有了补丁,而且这个已经被提交了。只是,补丁是在GnomeShell的tag:3.0.2之后才被提交的。所以,我正在使用的Fedora15中的GnomeShell 3.0.2自然不包含这个补丁。
解决的办法:
0.先学学如何打rpm包,如何在Fedora上安装打包环境。幸好我已经学过了。
1.下载gnome-shell-3.0.2-4.fc15.src.rpm并安装。
$ yumdownloader --source gnome-shell
$ rpm -ihv gnome-shell # 不要以root名义做
2.添加补丁。把这个补丁
http://bugzilla-attachments.gnome.org/attachment.cgi?id=189086保存到~/rpmbuild/SOURCES里,起名叫gnome-shell-fix-css-loading.patch
3.修改~/rpmbuildgnome-shell.spec,让它在解包后,先把上述补丁打上,再编译。具体的说,是这两行:
Patch0: gnome-shell-avoid-redhat-menus.patch
+ Patch1: gnome-shell-fix-css-loading.patch
%prep
%setup -q
%patch0 -p1 -b .avoid-redhat-menus
+ %patch1 -p1 -b .patch-css-loading
4.重新打包
$ sudo yum-builddep gnome-shell
$ cd ~/rpmbuild/SPECS
$ rpmbuild -ba gnome-shell.spec
然后,安装这个新的gnome-shell包,bug应该修复了。如果gnome-shell崩溃了,用yum-downgrade恢复到原来的版本。
分享到:
相关推荐
gnome-shell-3.28.3-30.el7.x86_64.rpm
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
离线安装包,亲测可用
gnome-shell-volume-mixer, GNOME shell 扩展,允许单独配置pulseaudio设备 GNOME shell-音量混音器shell 是 GNOME shell的一个扩展,允许单独配置PulseAudio设备和输出开关。 它具有一个配置文件切换器,可以快速在...
gnome-shell-extension-installer, 用于搜索和安装 extensions.gnome.org的扩展的bash脚本 GNOME shell-扩展安装程序一个bash脚本,用于从 extensions.gnome.org 安装和搜索扩展。 帮助Usage: gnome-shell-extension...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
非常好用的gnome-shell扩展,带任务栏
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
gnome-shell-extension-sensors(以前称为 gnome-shell-extension-cpu-temperature)是在 GNOME Shell 中显示 CPU 温度、硬盘温度、电压和 CPU 风扇转速的扩展。 该扩展使用lm_sensors 包(Debian 系统的 lm-...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
该扩展支持gnome-shell 3.4至40.0 硕士:40.0 gnome-shell-3.36-3.38:3.36-> 3.38 gnome-shell-3.32-3.34:3.32-> 3.34 gnome-shell-3.10-3.30:3.10-> 3.30 gnome-shell-before-3.10:3.4-> 3.8 空杯子=正常的...
gnome-power-manager是GNOME桌面环境中的一个关键组件,它专为Linux系统设计,用于管理和优化用户的电源使用。这个程序提供了对笔记本电脑、台式机以及其他支持电源管理设备的控制,帮助用户节省电力并延长电池寿命...
该扩展从~/.config/gnome-shell/gnome-shell.css加载CSS文件,从而允许您使用自定义样式表来自定义GNOME Shell外观。 它的工作方式与~/.config/gtk-3.0/gtk.css但在外壳中。 同样,此扩展将GTK字体名称和字体大小...
gnome-shell-extension-windowoverlay-icons 是一个 GNOME 桌面环境的扩展,用于在窗口标题栏上显示图标的源代码包。这个扩展使用户能够更直观地识别正在运行的应用程序,尤其是当多个相同应用窗口打开时。它通过在...
Gnome-shell即时工作区切换gnome-shell扩展,消除了工作空间之间的切换时间,而无需禁用其他动画安装将文件夹 /复制到$ HOME / .local / share / gnome-shell / extensions(如果扩展名/文件夹不存在,请创建它) ...
通过git的安装是通过将存储库克隆到本地gnome-shell扩展目录(通常是〜/ .local / share / gnome-shell / extensions /)中来执行的: $ git clone ...
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装