Linux实现毛玻璃效果(以及稳定性问题修复)

本文介绍了在Linux Gnome桌面环境下实现毛玻璃效果的步骤,包括使用Blur My Shell插件,解决画面闪烁、第三方应用重启后效果消失的问题,并提供了一个简单的C程序来自动化插件重启。此外,还提到了毛玻璃效果在某些软件中的显示错误以及主题推荐。

前言

好久没有写过播客了~主要是前段时间沉迷于黑苹果的安逸世界无法自拔,直到一次升级后网卡驱动作废把我一棒子敲醒…
最近疯狂迷恋毛玻璃效果,特别是整体app的毛玻璃效果。Mac实现了一部分,但是不够好;Windows就更…反正我很难评。因此在Linux下自给自足成了不错的选择,是过kde+devilspie,但是似乎曾经的教程用的命令不再符合现在的语法要求,我又找不到好的修复方法,因此转用gnome+blur-my-shell。因此这里讲的适用于gnome桌面环境,而且版本不要低于40,另外像Zorin那种被大改了的gnome也是不涉及的。OK门槛放在这里,先上图:
在这里插入图片描述
在这里插入图片描述
还是挺好看的吧?

操作步骤

首先准备好你的Gnome桌面环境,gnome的版本可以打开终端查:

gnome-shell --version

我这边是42.5,实际上40以上就能达到最好的效果了。
然后确保你的软件源已经换成国内的了,这个还不知道那快去补课吧…
首先

sudo apt update

接着在终端里输入:

sudo apt install chrome-gnome-shell

然后打开你的火狐浏览器,这里最好是火狐,因为后面的步骤不用魔法上网,访问这个网站然后按照网页上方的提示"Click here to install browser extension",一键安装即可。然后安装我们的关键插件——Blur My Shell.打开网页后点右上角的安装(也可能是ON/OFF开关)执行安装,出现弹窗允许/信任就行了。这个时候你的部分界面(比如应用程序的背景页面)可能已经出现虚化了,然而我们还需要更进一步。
打开终端:

gnome-extensions prefs blur-my-shell@aunetx

会弹出一个大概这样的窗口:
在这里插入图片描述
点底栏Application,开启Application Blur(beta),然后点下面的"Add Windows"按钮,此时点一下屏幕上你希望毛玻璃的应用程序,它就拥有毛玻璃效果啦!当然了,在深色模式下毛玻璃效果会更加好看一些。

干货环节

教程本该到此结束(其他文章也大都确实到此结束了)BUT Unfortunately…还有一些问题…

1.开了毛玻璃后,画面显示有闪烁

这个相对好搞,执行

gnome-extensions prefs blur-my-shell@aunetx

然后把Hack Level换成No Artifact就好了
在这里插入图片描述

2.第三方应用退出后再次打开毛玻璃效果消失

这个问题我倒腾了整整一个下午+半个晚上…
插件在这里肯定是有缺陷的,修复需要时间,而这个工作我又做不了,因此只能摸索规律,最后发现把这个插件关一次再开一次就能很好的解决问题。
但是每次为了美观每新打开一个窗口就在终端里开关一次插件肯定不现实,我们得自动化。Shell我是不太会写的,但是幸运的是…借助我浅薄的C语言知识,我实现了。
说一下思路,因为不是所有软件启动都需要重启插件,同时如果频繁重启插件一方面耗费性能,另一方面所有窗口都会跟着先变成不透明,然后又变成透明…这肯定不行。因此我们需要先监视需要为其重启插件的软件的状态,然后在软件启动后重启一次插件,这样就很聪明,也不会耗费太多性能。因此我们首先要监控进程,这里虽然写了程序,但是我们还是需要把进程的名字找出来告诉程序让它监控,这里需要用到系统监视器,在应用列表里应该能找到,打开后就能看到各种进程,把需要重新毛玻璃的软件开一次再关一次,根据进程的出现和消失找出进程名。一般进程名和软件的名字不会差太多,比如Google Chrome的进程名就是chrome.这里有一个细节,进程出现的时候窗口还没有创建,如果这个时候重启插件是没有用的,因此我们需要根据情况设计一个延时,chrome一般3秒就够;wine加载的软件就久一点,比如cloudmusic.exe(这是wine版网易云的进程名),一般6秒;而QQ这种需要登陆的则需要更久,我设置了9秒。
然后把程序实现出来,也很简单循环监控列表里的进程,新出现的就重启插件,同时标记进程建立,进程结束时标记销毁就可以了。当然循环转的速度太快不好,所以我设置每3秒检测一次,估计能把计算量削减到原来的1/20.
下面是源代码中需要根据实际情况修改的地方:
在这里插入图片描述
第四行的数字7要换成你自己需要监控程序的数量,如果出现问题就多填一个,比如实际需要监控的有7个,这里填8也可以。
在这里插入图片描述
两个灰色注释中夹的三行是完整的一个程序监控,需要增添的话复制到后面就可以,第一行是进程名,第二行是延迟时间,第三行不要动。
在文末下载源代码,修改好,放在主目录,然后终端里:

gcc a.c
./a.out

这个时候不要关闭终端,打开一个你监控的软件,你会发现打开不久后软件的背景就自动毛玻璃了。同时还会有详细的记录输出像这样:
在这里插入图片描述
当然日常生活中不能总放一个终端在那里,实际上在文件夹里双击a.out就已经在后台运行了,当然你也可以给a.out改名字。
读者中如果有大佬一定知道怎么设置开机自启动吧~我还不会呜呜呜

3.毛玻璃效果本身错误

Blur-My-Shell插件本身也在开发阶段会有问题,在有些软件中点击菜单就会变成这样:
在这里插入图片描述
这样的话…我也解决不了,我们只能暂时停用插件,我们进行完操作后再打开

##停用插件
gnome-extensions disable blur-my-shell@aunetx
##启用插件
gnome-extensions enable blur-my-shell@aunetx

后话

感谢看到这里~喝杯茶🧋吧!
你可能也会喜欢我用的主题,所以我把教程链接推荐一下
前面说的源码在点击下载,记得后缀改成.c,各位留个赞再走吧呜呜呜~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值