Problemas de autorização depois de matar o Xorg

1

Como o Xorg está travado ou porque usou 4GB de memória devido a algum vazamento de memória estranho, eu o matei e reiniciei normalmente. Eu só precisava fazer login novamente pelo Slim, mas depois disso até a próxima reinicialização eu tive vários problemas de autorização, como:

  • Ao tentar montar um thumb drive USB através do Thunar ou Nemo, basta clicar no dispositivo na lista de locais, e recebo

    Failed to mount "Transcend" Not authorized to perform operation.

  • Ao tentar suspender, encerrar, ..., por exemplo com xfce4-session-logout --suspend apenas bloqueará a tela em vez de suspender, mas sudo pm-suspend funciona. É por isso que eu acho que isso também é um problema de autorização.

Por que isso acontece? Será que estou logado duas vezes, porque matar o Xorg não me logou corretamente? Existem algumas fechaduras em algum lugar? Como posso fazer a montagem e a suspensão do trabalho novamente, como ocorreria em uma reinicialização?

De acordo com a sugestão do JdeBP, algumas informações adicionais: Estou usando

  • Linux 4.5.0-1-amd64 #1 SMP Debian 4.5.1-1 (2016-04-14) x86_64 GNU/Linux
  • principalmente Debian sid com XFCE 4.12
  • systemd como visto com ps -p 1

  • loginctl mostra:

    SESSION        UID USER   SEAT
         1       1000 mxm    seat0
    1 sessions listed.
    
  • Eu tenho o polkitd em execução. dpkg -l '*policy*' mostra policykit-1 0.105-17

  • Quanto ao tipo de Desktop Bus, eu tentei dpkg -l '*bus*' (apenas aqueles mostrados que parecem importantes)

    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 quando não funciona, produz as seguintes linhas de log:

  • Em /var/log/{kern.log,syslog,messags}

    Dec 18 01:52:06 pc xfce4-notifyd[22273]: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-awJrGEr9me: Connection refused

    Parece que esse não é o problema real, apenas um problema com a exibição de notificações, mas talvez indique outro problema? notify-send "test" "test" funciona sem problemas, no entanto.

  • /var/log/secure , que eu li é para o PolicyKit, está vazio.

Após a montagem falhar no Nemo, não consigo encontrar nenhuma mensagem de log. Eu verifiquei tudo em /var/log/ dmesg e também ~/.xsession-errors .

Primeiro, tentei dbus-monitor para o comando xfce4-session-logout --suspend que não funciona. Ele não deu muito, ele mostrou xfce4-session-logout enviando mensagens DBus para xfce-session manager que, por sua vez, olhando para o código-fonte, envia uma mensagem DBus para systemd, que não foi mostrada com dbus-monitor , então eu tentei com o opção --system , que parece mostrar comunicação com systemd (?) com polkit:

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 ""
    
por mxmlnkn 17.12.2016 / 17:16

0 respostas