Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么Gio.Settings不影响_Python - Fatal编程技术网

Python 为什么Gio.Settings不影响

Python 为什么Gio.Settings不影响,python,Python,我想使用Python设置用户环境。 但我不明白为什么这个代码不起作用 环境: Ubuntu 18.04.1 Python 2.7.15rc1 python gi 3.26.1-2 libgtk-3-0:3.22.30-1ubu import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk,Gio gsettings = Gio.Settings.new('org.gnome.shell.extensions.d

我想使用Python设置用户环境。 但我不明白为什么这个代码不起作用

环境:

Ubuntu 18.04.1
Python 2.7.15rc1
python gi 3.26.1-2
libgtk-3-0:3.22.30-1ubu

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk,Gio

gsettings = Gio.Settings.new('org.gnome.shell.extensions.dash-to-dock')
gsettings.set_int('dash-max-icon-size', 16)
gsettings.apply()

然后像
sudopython/home/username/Documents/setup.py
那样执行此代码。当我从命令行中删除
sudo
时,此代码开始工作。所以我运行这段代码就像
python/home/username/Documents/setup.py
现在可以正常工作了!但是为什么呢


。。。代码可以在没有设置的情况下工作。apply()因此我对这一行进行了注释

正如您所说,您的目标是设置您的用户环境。当您使用运行代码时,您是以超级用户的身份运行它,因此实际上您正在更改root的环境

至于为什么不需要
.apply()
:当您使用
Gio.Settings.new()
实例设置时,就像您所做的那样,会立即应用更改。从:

应用对设置所做的任何更改。除非self处于“延迟应用”模式,否则此功能不起任何作用;请参阅Gio.Settings.delay()。在正常情况下,设置总是立即应用