如何通过命令行正确启动Gnome-Shell扩展?

qij5mzcb  于 2023-05-18  发布在  Shell
关注(0)|答案(3)|浏览(258)

myexentension@me.com文件夹复制到.../gnome-shell/extensions/后,我在终端上执行以下命令:
gnome-shell-extension-tool -e myexentension@me.com
然后,我用Alt + F2重新启动会话并执行r,一切正常。
但是我可以只通过命令行启动我的扩展吗?不使用Alt+F2+ r?不重新启动我的gnome-shell会话?

cu6pst1q

cu6pst1q1#

根据互联网上的一些答案,发送SIGHUP到gnome-shell进程会重新启动它(即。e.killall -HUP gnome-shell),但我还没有找到一个明确的来源,也找不到代码中的信号处理。我所知道的是,这应该完全等同于Alt+F2 r

busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'Meta.restart("Restarting…")'

因为除了对消息的gettext调用之外,这正是Alt+F2 r绑定到的内容(参见runDialog.js- search for _restart)。
2022年1月更新:由于Gnome 41,calling Eval is restricted和需要启用“不安全模式”,所以默认情况下这将不再工作。我目前还不知道有什么可以替代这种特殊用法。

jbose2ul

jbose2ul2#

就个人而言,我更喜欢固定的Alt+F2,r+Enter,但可能会尝试禁用和启用:
gnome-shell-extension-tool -d myexentension@me.com && gnome-shell-extension-tool -e myexentension@me.com

gnome-shell-extension-tool -r myexentension@me.com
也可能做同样的事情。你也可以使用gnome-shell-extension-prefs来做同样的事情(通常出于某种原因隐藏在Gnome中)。

n6lpvg4x

n6lpvg4x3#

gnome-shell-extension-tool已弃用,请改用gnome-extensions。命令是:

gnome-extensions reset window-calls@domandoman.xyz && gnome-extensions enable window-calls@domandoman.xyz

如果那不起作用,那就试试

killall -3 gnome-shell

我有一个.desktop文件,看起来像:

[Desktop Entry]
Type=Application
Terminal=true
Name=Restart Gnome
Icon=utilities-terminal
Exec=killall -3 gnome-shell
Categories=Utility;

我把它添加到面板上,在处理gnome扩展时只需要点击按钮。
调试和记录gnome扩展的官方文档在这里。

相关问题