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 / 问题 / 1412130
Accepted
Bryan Wright
Bryan Wright
Asked: 2022-06-04 07:15:43 +0800 CST2022-06-04 07:15:43 +0800 CST 2022-06-04 07:15:43 +0800 CST

对 gnome shell 的 dbus 调用在 Ubuntu 22.04 下不起作用

  • 772

简单示例:在 Ubuntu 20.04 下,以下命令:

gdbus call -e -d org.gnome.Shell -o /org/gnome/Shell -m org.gnome.Shell.Eval true

产生这个输出:

(true, 'true')

但在 22.04 下,相同的命令会产生以下输出:

(false,'')

我在 22.04 下尝试过的任何其他“Eval”语句都会产生相同的输出。

怎么了?20.04 和 22.04 系统都是新安装的原版安装。

更新:这似乎是 gcdev ( https://askubuntu.com/users/1216972/gcdev ) 之前试图报告的问题之一:

如何在 Ubuntu 22.04 中获取当前活动窗口?

gnome-shell
  • 2 2 个回答
  • 303 Views

2 个回答

  • Voted
  1. Best Answer
    vanadium
    2022-06-06T12:05:39+08:002022-06-06T12:05:39+08:00

    与其他任何地方一样,Gnome Shell 也实施了更严格的安全性。

    org.gnome.Shell 接口为其他核心组件提供私有 API,以实现桌面功能,如设置或全局键绑定。它并不意味着作为公共 API,因此将其限制为一组预期的调用者。

    (https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/a628bbc4)

    这就是为什么许多这样的命令不再起作用的原因。可以进入global.context.unsafe_mode = true窥镜 ( Alt+ F2, lg Enter) 以使它们在当前会话中工作。有一个扩展,不安全模式菜单,允许在安全和不安全模式之间切换(感谢 Bryan Wright)。也应该可以使用选项启动 Gnome Shell--unsafe。

    • 2
  2. tabbie
    2022-08-26T15:33:31+08:002022-08-26T15:33:31+08:00

    为了补充钒的答案,

    这是一个将 gdb 附加到 gnome-shell 进程的脚本,并调用 javascript 引擎来切换 unsafe 变量。

    这意味着只要在此过程中没有中断,您就不需要重新启动会话来添加标志,或处理插件或类似的事情。

    这是重要的一行:

    gdb -p "$gnome_pid" -batch -ex "调用 (void*)gjs_context_eval((void*)gjs_context_get_current(), "$1", -1, "", 0, 0)"

    将 $1 替换为需要运行的代码,例如:

    global.context.unsafe_mode = true

    请注意,这有点危险且不受支持。如果 gdb 没有完成,会话将挂起。我建议在 screen 或 tmux 中运行它,如果你的 UI 挂起,可以通过某种方式访问​​它。

    • 0

相关问题

  • 如何在 GNOME 3 的时钟上显示秒数?

  • 如何检查我的 GNOME-Shell 版本?

  • 如何将窗口控件切换到左侧(Gnome Shell)?

  • 禁用鼠标悬停时自动激活 Gnome Shell 活动

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