微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何访问Gnome-Shell扩展内的环境变量

如何解决如何访问Gnome-Shell扩展内的环境变量

我想从Gnome-Shell扩展名访问环境变量。

某些环境:我想基于环境变量$XDG_SESSION_TYPE创建一个扩展,在面板上添加“ Xorg”或“ Wayland”。我之所以必须这样做,是因为我经常切换(Wineland在Wayine方面遇到问题),而且我并不总是记得正在运行哪种类型的会话。

解决方法

我能够在Argos extension的源代码中找到如何获取环境变量:

const GLib = imports.gi.GLib ;
const rawEnv = GLib.get_environ() ;

环境变量也存储为字符串数组,应进行解析,即:在第一个“ =”出现时拆分以分隔键和值。

编辑: GLib.getenv('ENV_VAR_NAME')更加方便,因为它避免了解析环境变量(由于@andyholmes)。

,

另一种检测 Wayland 的方法是询问窗口管理器:

Meta.is_wayland_compositor()

在 GS 3.36、3.38 和 40 中测试。

https://gjs-docs.gnome.org/meta3~3.30.2/meta.is_wayland_compositor

编辑:仅来自扩展,不能从首选项。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。