AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1247024
Accepted
rubo77
rubo77
Asked: 2020-06-05 14:33:23 +0800 CST2020-06-05 14:33:23 +0800 CST 2020-06-05 14:33:23 +0800 CST

消除锁定屏幕上的模糊效果

  • 772

我的桌面上正在运行一个幻灯片(存储在 中~/.local/share/shotwell/wallpaper/wallpaper.xml),它也显示在锁定屏幕中。

从 20.04 开始,锁屏中的当前图像有模糊效果。

我只找到了如何在锁定屏幕上使用另一个图像而不模糊的解决方案,但这会删除幻灯片。

如何去除模糊但保留幻灯片?

themes gdm lock-screen gnome-shell
  • 3 3 个回答
  • 5494 Views

3 个回答

  • Voted
  1. Best Answer
    UnKNOWn
    2020-06-05T18:14:03+08:002020-06-05T18:14:03+08:00

    锁定屏幕上有一个名为控制模糊效果的扩展程序。

    控制模糊效果 - Gnome Shell 扩展

    默认情况下,扩展程序的设置将模糊 Sigma 值设为 0,这意味着您可以看到没有任何模糊效果的壁纸。

    或者,您也可以从扩展设置中控制此值和亮度值。

    在此处输入图像描述

    • 11
  2. user8169424
    2021-03-30T22:50:46+08:002021-03-30T22:50:46+08:00

    关于系统上未找到的赏金和对 unlockDialog.js 的引用:

    在你的系统上找不到 unlockDialog.js 的原因是源代码似乎是由 gjs 编译的。

    您要求的是复杂程序的一部分。我处理这个问题的方法是下载源代码以进行所需的更改。

    1. 编辑 apt 源以添加 ubuntu 源包的源
    2. 安装 gnome-shell 源代码。( apt source gnome-shell)
    3. 切换到 gnome-shell 目录
      cd /usr/share/gnome-shell/
    4. 编辑文件/usr/share/data/org.gnome.shell.gschema.xml.in和/usr/share/js/ui/unlockDialog.js
    5. 添加更改日志条目(文件/usr/share/debian/changelog)以将版本更新到高于从 Ubuntu 安装的版本
    6. 安装构建依赖项。这些是安装并用于构建包 gnome-shell ( sudo apt-get build-dep gnome-shell)的包
    7. 运行debuild命令来构建一个包。(通过 devscripts 包安装)
    8. gnome-shell 目录所在的父目录中应该有一个 .deb 文件。
    • 2
  3. Levente
    2021-04-03T09:59:45+08:002021-04-03T09:59:45+08:00

    建议的补丁似乎添加了一个可以从其他地方管理的附加设置(据说来自gsettings?)

    无论如何,由于unlockDialog.js文件无论如何都需要修改,我选择了一种更直接的方法:直接在这个文件中禁用模糊效果。

    修改后的文件——依赖于 gnome-shell 的gresource 覆盖功能——可以保存在一个人的主目录中,以便随时进行后续编辑。

    实现修改的步骤

    1. unlockDialog.js从libgnome-shell.so二进制库中提取文件,
    2. 将其建立为“gresource 覆盖”,以便 gnome-shell 以这种提取的形式使用它,
    3. 然后稍微修改提取的副本。

    这里详细解释了前两个步骤:Ubuntu 20.04 上的 gnome-shell 的 UI javascript 文件在哪里?(看起来吸收了很多,但实际进行的改变并不是很多。)

    第三步,修改unlockDialog.js副本,有几种不同的方法。

    应用建议的代码更改的挑战

    现在让事情变得复杂的是,这个文件会随着时间的推移而不断变化,并且根据您拥有的确切版本,可能很难弄清楚如何应用任何更改建议。

    gnome-3-36这就是在撰写本文时(在 commit 时) unlockDialog.js现在在分支中的样子6b20eb8e。

    然而,建议的补丁引用了一个较旧的状态,从那以后文件经历了这个和这个变化;两者都修改了关于模糊的部分。

    考虑到这一点,我尝试提出最简单的可能更改,即使在一些更新之后似乎也有机会保持相关性。

    修改思路unlockDialog.js

    想法1:

    最简单的解决方案是更改BLUR_SIGMA变量的值:

    // Old:
    // const BLUR_BRIGHTNESS = 0.55;
    // const BLUR_SIGMA = 60;
    
    // New:
    const BLUR_BRIGHTNESS = 1;
    const BLUR_SIGMA = 0;
    

    这将产生一个清晰的背景图像,该图像未更改并且与登录后在普通桌面上的外观相同。

    (注意,只要BLUR_SIGMA设置为0, BLUR_BRIGHTNESS,即使小于1,也不会生效;实际上,只要 SIGMA 是0,编辑BLUR_BRIGHTNESS似乎是不必要的。)

    想法2:

    如果您担心性能,则可以完全阻止图形效果的应用。然而,看到BLUR_SIGMA = 0似乎如何使整个效果无效,我认为已经没有太多开销。

    
    // Find this part:
        _updateBackgroundEffects() {
            const themeContext = St.ThemeContext.get_for_stage(global.stage);
    
    // And modify it like this:
        _updateBackgroundEffects() {
            return true;
            const themeContext = St.ThemeContext.get_for_stage(global.stage);
    
    

    放置return true;在_updateBackgroundEffects()方法中(作为第一行,除非您看到不这样做的理由)允许绕过该return语句之后的该方法中的代码。

    但是,在您执行此操作之前,请查看代码块的内容,并尝试确定此方法是否正在执行稍后可能会尝试依赖的其他一些外部方法。如果您发现类似的内容,请尝试return在此类声明之后添加该声明。(在撰写本文时,return第一行中的语句(如上例所示)没有问题。)

    (顺便说一句,您也可以只注释掉effect.set({ ... });代码块。)

    关于想法 2 的注释:

    我在想:“我们就不能一开始就定义效果吗?” 所以我把目光投向了这条线:

            let widget = new St.Widget({
                // ...
                effect: new Shell.BlurEffect({ name: 'blur' }),
            });
    

    但是阅读这里的提交信息会发现,删除它可能会导致错误;因此,最好安全行事并将这条线留在原处。


    另外,我现在非常高兴,因为自从我安装了 20.04 以来,我对锁屏背景的黑暗性质感到非常沮丧。

    但是现在它也为我解决了。

    • 1

相关问题

  • 我可以使用哪些工具和技术来制作 GTK 主题?

  • 从登录屏幕启动访客会话

  • 如何更改 GDM 中的登录屏幕主题?

  • 如何获取和安装更多主题、图标和指针?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve