因为 Xorg 挂起或者因为一些奇怪的内存泄漏它使用了 4GB 内存,所以我杀死了它并且它正常重新启动。我只需要通过 Slim 再次登录,但此后直到下次重新启动为止,我遇到了几个授权问题,例如:
当尝试通过 Thunar 或 Nemo 安装 USB 拇指驱动器时,只需单击位置列表中的设备,我会得到
无法安装“Transcend” 无权执行操作。
当尝试挂起、关闭等时,例如使用
xfce4-session-logout --suspend
它只会锁定屏幕而不是挂起,但sudo pm-suspend
确实有效。这就是为什么我猜测这也是一个授权问题。
为什么会发生这种情况?难道是我登录了两次,因为杀死 Xorg 没有正确注销我?某处有锁吗?如何才能像重新启动时那样再次进行安装和暂停工作?
根据 JdeBP 的建议,一些附加信息:我正在使用
Linux 4.5.0-1-amd64 #1 SMP Debian 4.5.1-1 (2016-04-14) x86_64 GNU/Linux
- 主要是 Debian sid 和 XFCE 4.12
systemd 如下所示
ps -p 1
loginctl
显示:SESSION UID USER SEAT 1 1000 mxm seat0 1 sessions listed.
我确实有 polkitd 正在运行。
dpkg -l '*policy*'
节目policykit-1 0.105-17
至于桌面总线的类型,我尝试过
dpkg -l '*bus*'
(仅显示那些看起来重要的)ii dbus 1.10.12-1 amd64 simple interprocess messaging system (daemon and util ii dbus-x11 1.10.12-1 amd64 simple interprocess messaging system (X11 deps) ii libdbus-1-3:amd64 1.10.12-1 amd64 simple interprocess messaging system (library) ii libdbus-1-3:i386 1.10.12-1 i386 simple interprocess messaging system (library) ii libdbus-glib-1-2:amd64 0.108-1 amd64 simple interprocess messaging system (GLib-based shar ii libdbus-glib-1-dev 0.108-1 amd64 simple interprocess messaging system (GLib interface) ii libdbusmenu-glib4:amd64 12.10.2-1 amd64 library for passing menus over DBus ii libdbusmenu-gtk3-4:amd64 12.10.2-1 amd64 library for passing menus over DBus - GTK+ version ii qdbus 4:4.8.7+dfsg-9 amd64 Qt 4 D-Bus tool
xfce4-session-logout --suspend
当它不起作用时,会产生以下日志行:
在
/var/log/{kern.log,syslog,messags}
12 月 18 日 01:52:06 pc xfce4-notifyd[22273]:无法连接到辅助总线:无法连接到套接字 /tmp/dbus-awJrGEr9me:连接被拒绝
似乎这不是实际的问题,只是显示通知的问题,但也许它暗示了另一个问题?
notify-send "test" "test"
不过,工作没有问题。/var/log/secure
我读到的针对PolicyKit的内容是空的。
在 Nemo 中安装失败后,我找不到任何日志消息。我检查了所有内容/var/log/
dmesg
并且还~/.xsession-errors
。
首先我尝试了dbus-monitor
非工作xfce4-session-logout --suspend
命令。它给出的不多,它显示xfce4-session-logout
将 DBus 消息发送到 xfce-session manager,而 xfce-session manager 反过来,查看源代码,将 DBus 消息发送到 systemd,这没有用 来显示dbus-monitor
,所以我用选项尝试了它--system
,这似乎显示使用 polkit 与 systemd(?) 进行通信:
method call time=1482033095.691432 sender=:1.1956 -> destination=org.freedesktop.login1 serial=19 path=/org/freedesktop/login1; interface=org.freedesktop.login1.Manager; member=Suspend
boolean true
method call time=1482033095.691713 sender=:1.0 -> destination=org.freedesktop.DBus serial=214 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.691733 sender=org.freedesktop.DBus -> destination=:1.0 serial=57 reply_serial=214
uint32 1000
method call time=1482033095.691913 sender=:1.0 -> destination=org.freedesktop.DBus serial=215 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.691929 sender=org.freedesktop.DBus -> destination=:1.0 serial=58 reply_serial=215
uint32 1000
method call time=1482033095.692129 sender=:1.0 -> destination=org.freedesktop.PolicyKit1 serial=216 path=/org/freedesktop/PolicyKit1/Authority; interface=org.freedesktop.PolicyKit1.Authority; member=CheckAuthorization
struct {
string "system-bus-name"
array [
dict entry(
string "name"
variant string ":1.1956"
)
]
}
string "org.freedesktop.login1.suspend"
array [
]
uint32 1
string ""
method call time=1482033095.692546 sender=:1.12 -> destination=org.freedesktop.DBus serial=410 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.0"
method return time=1482033095.692564 sender=org.freedesktop.DBus -> destination=:1.12 serial=272 reply_serial=410
uint32 0
method call time=1482033095.692919 sender=:1.12 -> destination=org.freedesktop.DBus serial=411 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.692936 sender=org.freedesktop.DBus -> destination=:1.12 serial=273 reply_serial=411
uint32 1000
method call time=1482033095.693205 sender=:1.12 -> destination=org.freedesktop.DBus serial=412 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.693231 sender=org.freedesktop.DBus -> destination=:1.12 serial=274 reply_serial=412
uint32 1000
method call time=1482033095.693404 sender=:1.12 -> destination=org.freedesktop.DBus serial=413 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.693420 sender=org.freedesktop.DBus -> destination=:1.12 serial=275 reply_serial=413
uint32 10534
method call time=1482033095.693977 sender=:1.12 -> destination=org.freedesktop.DBus serial=414 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.693994 sender=org.freedesktop.DBus -> destination=:1.12 serial=276 reply_serial=414
uint32 10534
method call time=1482033095.694460 sender=:1.12 -> destination=org.freedesktop.DBus serial=415 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.694478 sender=org.freedesktop.DBus -> destination=:1.12 serial=277 reply_serial=415
uint32 1000
method call time=1482033095.694663 sender=:1.12 -> destination=org.freedesktop.DBus serial=416 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.694677 sender=org.freedesktop.DBus -> destination=:1.12 serial=278 reply_serial=416
uint32 10534
method call time=1482033095.695290 sender=:1.12 -> destination=org.freedesktop.DBus serial=417 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.695307 sender=org.freedesktop.DBus -> destination=:1.12 serial=279 reply_serial=417
uint32 10534
method call time=1482033095.695791 sender=:1.12 -> destination=org.freedesktop.DBus serial=418 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.695808 sender=org.freedesktop.DBus -> destination=:1.12 serial=280 reply_serial=418
uint32 1000
method call time=1482033095.696095 sender=:1.12 -> destination=org.freedesktop.DBus serial=419 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.696112 sender=org.freedesktop.DBus -> destination=:1.12 serial=281 reply_serial=419
uint32 10534
method call time=1482033095.696641 sender=:1.12 -> destination=org.freedesktop.DBus serial=420 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.696658 sender=org.freedesktop.DBus -> destination=:1.12 serial=282 reply_serial=420
uint32 10534
method call time=1482033095.697047 sender=:1.12 -> destination=org.freedesktop.DBus serial=421 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.697063 sender=org.freedesktop.DBus -> destination=:1.12 serial=283 reply_serial=421
uint32 10534
method call time=1482033095.697365 sender=:1.12 -> destination=org.freedesktop.DBus serial=422 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixProcessID
string ":1.1956"
method return time=1482033095.697381 sender=org.freedesktop.DBus -> destination=:1.12 serial=284 reply_serial=422
uint32 10534
method return time=1482033095.697637 sender=:1.12 -> destination=:1.0 serial=423 reply_serial=216
struct {
boolean false
boolean true
array [
dict entry(
string "polkit.retains_authorization_after_challenge"
string "1"
)
]
}
method call time=1482033095.697882 sender=:1.0 -> destination=org.freedesktop.DBus serial=217 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.1956"
method return time=1482033095.697901 sender=org.freedesktop.DBus -> destination=:1.0 serial=59 reply_serial=217
uint32 1000
error time=1482033095.697991 sender=:1.0 -> destination=:1.1956 error_name=org.freedesktop.DBus.Error.InteractiveAuthorizationRequired reply_serial=19
string "Interactive authentication required."
method call time=1482033097.707153 sender=:1.2260 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method return time=1482033097.707178 sender=org.freedesktop.DBus -> destination=:1.2260 serial=1 reply_serial=1
string ":1.2260"
signal time=1482033097.707194 sender=org.freedesktop.DBus -> destination=(null destination) serial=433 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.2260"
string ""
string ":1.2260"
signal time=1482033097.707212 sender=org.freedesktop.DBus -> destination=:1.2260 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.2260"
method call time=1482033097.707800 sender=:1.2260 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.PolicyKit1',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path='/org/freedesktop/PolicyKit1/Authority',arg0='org.freedesktop.PolicyKit1.Authority'"
method return time=1482033097.707832 sender=org.freedesktop.DBus -> destination=:1.2260 serial=3 reply_serial=2
method call time=1482033097.707900 sender=:1.2260 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.PolicyKit1',interface='org.freedesktop.PolicyKit1.Authority',path='/org/freedesktop/PolicyKit1/Authority'"
method return time=1482033097.707920 sender=org.freedesktop.DBus -> destination=:1.2260 serial=4 reply_serial=3
method call time=1482033097.708001 sender=:1.2260 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
string "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',arg0='org.freedesktop.PolicyKit1'"
method return time=1482033097.708020 sender=org.freedesktop.DBus -> destination=:1.2260 serial=5 reply_serial=4
method call time=1482033097.708137 sender=:1.2260 -> destination=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
string "org.freedesktop.PolicyKit1"
uint32 0
method return time=1482033097.708163 sender=org.freedesktop.DBus -> destination=:1.2260 serial=6 reply_serial=5
uint32 2
method call time=1482033097.708484 sender=:1.2260 -> destination=org.freedesktop.DBus serial=6 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
string "org.freedesktop.PolicyKit1"
method return time=1482033097.708504 sender=org.freedesktop.DBus -> destination=:1.2260 serial=7 reply_serial=6
string ":1.12"
method call time=1482033097.708797 sender=:1.2260 -> destination=:1.12 serial=7 path=/org/freedesktop/PolicyKit1/Authority; interface=org.freedesktop.DBus.Properties; member=GetAll
string "org.freedesktop.PolicyKit1.Authority"
method return time=1482033097.709126 sender=:1.12 -> destination=:1.2260 serial=424 reply_serial=7
array [
dict entry(
string "BackendName"
variant string "local"
)
dict entry(
string "BackendVersion"
variant string "0.105"
)
dict entry(
string "BackendFeatures"
variant uint32 1
)
]
method call time=1482033097.709509 sender=:1.2260 -> destination=:1.12 serial=8 path=/org/freedesktop/PolicyKit1/Authority; interface=org.freedesktop.PolicyKit1.Authority; member=EnumerateActions
string ""
method return time=1482033097.712396 sender=:1.12 -> destination=:1.2260 serial=425 reply_serial=8
array [
[ ... 1800 lines of structs with policyKit actions ... ]
]
method call time=1482033097.720322 sender=:1.2260 -> destination=:1.12 serial=9 path=/org/freedesktop/PolicyKit1/Authority; interface=org.freedesktop.PolicyKit1.Authority; member=CheckAuthorization
struct {
string "unix-process"
array [
dict entry(
string "pid"
variant uint32 10534
)
dict entry(
string "start-time"
variant uint64 71999741
)
dict entry(
string "uid"
variant int32 1000
)
]
}
string "org.xfce.session.xfsm-shutdown-helper"
array [
dict entry(
string "user"
string "root (root)"
)
dict entry(
string "command_line"
string "/usr/lib/x86_64-linux-gnu/xfce4/session/xfsm-shutdown-helper --suspend"
)
dict entry(
string "program"
string "/usr/lib/x86_64-linux-gnu/xfce4/session/xfsm-shutdown-helper"
)
dict entry(
string "polkit.gettext_domain"
string "polkit-1"
)
]
uint32 1
string ""
method call time=1482033097.720691 sender=:1.12 -> destination=org.freedesktop.DBus serial=426 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetConnectionUnixUser
string ":1.2260"
method return time=1482033097.720713 sender=org.freedesktop.DBus -> destination=:1.12 serial=285 reply_serial=426
uint32 0
method return time=1482033097.720734 sender=:1.12 -> destination=:1.2260 serial=427 reply_serial=9
struct {
boolean false
boolean true
array [
]
}
signal time=1482033097.720788 sender=org.freedesktop.DBus -> destination=:1.2260 serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.2260"
signal time=1482033097.720811 sender=org.freedesktop.DBus -> destination=(null destination) serial=434 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.2260"
string ":1.2260"
string ""