这在Gnome 3.8.4中有效,并且应该在更高版本中工作。
设置所有要使用的扩展名。然后运行:
gsettings get org.gnome.shell enabled-extensions
这应该想出类似
$ gsettings get org.gnome.shell enabled-extensions
['user-theme@gnome-shell-extensions.gcampax.github.com', 'status-area-horizontal-spacing@mathematical.coffee.gmail.com', 'CoverflowAltTab@palatis.blogspot.com']
复制输出,然后运行 gnome-session-properties
按添加,然后输入-的输出。gsettings get org.gnome.shell enabled-extensions "['use... ...blogspot.com']"
但是,正如您已经指出的那样,在命令框中输入时请更改get
为set
,如下图所示。将双引号放入,否则将无法正常工作(如果不确定,请先在终端中测试命令-如果未提供反馈,则该命令有效)。
编辑:对于没有的较新版本gnome-session-properties
,您可能需要手动制作一个.desktop文件~/.config/autostart
-一些GUI工具可能可以通过Gnome Tweak Tool或类似工具获得。
例如:
然后确保已打开:
现在,每次登录时,它应该运行一个命令来还原所有扩展!
注意:如果您对激活的扩展名进行更改,则需要对其进行更新。
为了自动执行此过程,此脚本似乎可以运行:
#!/bin/bash
active_extensions=$(gsettings get org.gnome.shell enabled-extensions)
autostart_file=$HOME/.config/autostart/restore-extensions.desktop
echo -e "Currently active extensions:\n\e[34m$active_extensions\e[0m"
echo -e "[Desktop Entry]\nType=Application" > $autostart_file
echo Exec=gsettings set org.gnome.shell enabled-extensions \"$active_extensions\" >> $autostart_file
echo -e "Hidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName=Restore Extensions\nComment=Restore enabled extensions on login" >> $autostart_file
echo "Command to restore currently active extensions added to $HOME/.config/autostart/restore-extensions.desktop"
exit
将脚本保存到~/.local/bin/extension-update
,使其可执行(在文件的“属性”窗口中设置它或运行chmod +x ~/.local/bin/extension-update
)。
然后每次运行时extension-update
,它会更新为自动启动文件~/.config/autostart/restore-extensions.desktop
(它可能会有所不同不同的自启动项,如果你创建了一个手动如上,所以如果你创建了一个手动你可能想删除) -你可以检查gnome-session-properties
到确保。