LINUX.ORG.RU

Проблемы с gui после обновления Debian с Wheezy на Jessie

 


0

1

Не смог сформулировать заголовок конкретней. Набор симптомов:

  • Нельзя выключить компьютер через меню DE (стоит mate).
  • Нельзя создать вторую сессию иксов через DM: при нажатии кнопки «Сменить пользователя» на диалоге разблокировки экрана экран гаснет на секунду и возвращается к тому же диалогу.
  • Нет автомонтирования внешних носителей в файловом менеджере (caja). Только через udisksctl из консоли с запросом пароля root. (Раньше было.)
  • Не работают хоткеи в mumble, так-же в нем не удается их установить - когда в настройках нужно нажать клавишу для ее установки, на его нажатие ноль реакции.

Пробовал в качестве DM wdm и lightdm - ничего не поменялось. Что сломалось, понятия не имею.



Последнее исправление: DinoAsm (всего исправлений: 1)

Попробуй создать нового пользователя и залогиниться под ним. Если все будет нормально значит проблема в старых настройках.

P.S. Ну и стандартный совет посмотреть логи на предмет ошибок.

P.P.S. Кстати очень может быть что причина в переходе на systemd

Wind ★★★
()
Последнее исправление: Wind (всего исправлений: 1)

Нужно убедиться, что обновились такие компоненты как consolekit, polkit, udisks, libpam-xxx, lightdm, mate-session-manager, mate-power-manager. Сижу на testing и замечал, что от версий этих пакетов зависят описанные симптомы. Не говоря уже о systemd, из-за которого весь этот дискомфорт и возник.

gag ★★★★★
()

Все последних версий.

Проверил логи. Из /var/log/daemon.log:

mate-session[16858]: WARNING: Client '/org/mate/SessionManager/Client20' failed to reply before timeout

console-kit-daemon[3815]: GLib-CRITICAL: Source ID 81 was not found when attempting to remove it

mate-session[3856]: CRITICAL: gsm_systemd_set_session_idle: assertion 'session_path != NULL' failed
mate-session[3856]: CRITICAL: gsm_systemd_set_session_idle: assertion 'session_path != NULL' failed
mate-session[3856]: CRITICAL: gsm_systemd_set_session_idle: assertion 'session_path != NULL' failed
mate-session[3856]: CRITICAL: gsm_systemd_set_session_idle: assertion 'session_path != NULL' failed
mate-session[3856]: WARNING: Unable to stop system: Permission denied
Из /var/log/dmesg:
[   60.879760] systemd-logind[2789]: New seat seat0.
[   61.064279] systemd-logind[2789]: Watching system buttons on /dev/input/event4 (Power Button)
[   61.064399] systemd-logind[2789]: Watching system buttons on /dev/input/event3 (Power Button)
[   67.161799] systemd-logind[2789]: Failed to start user service: Unknown unit: user@123.service
[   67.162701] systemd-logind[2789]: New session c1 of user lightdm.

Хоткеи в mumble после перезагрузки почему-то заработали.

DinoAsm
() автор топика
Ответ на: комментарий от anonymous
$ apt-cache policy mate-session-manager
mate-session-manager:
  Встановлено: 1.8.1-8
  Кандидат:    1.8.1-8
  Таблиця версій:
 *** 1.8.1-8 0
        500 http://ftp.ua.debian.org/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status
DinoAsm
() автор топика
Ответ на: комментарий от DinoAsm

Посмотрите номер вашей сессии в loginctl list-sessions и покажите вывод:

loginctl session-status <номер сессии>
pkcheck --action-id org.freedesktop.login1.power-off --process $$ && echo ok
(все команды выполняются от вашего пользователя)

anonymous
()
Ответ на: комментарий от anonymous
$ loginctl list-sessions
   SESSION        UID USER             SEAT            
        c1        123 lightdm          seat0           
         6       1000 dinoasm          seat0           

2 sessions listed.
$ loginctl session-status 6
6 - dinoasm (1000)
           Since: нд 2016-09-04 19:21:55 EEST; 9min ago
          Leader: 4961 (lightdm)
            Seat: seat0; vc7
         Display: :0
         Service: lightdm; type x11; class user
           State: active
            Unit: session-6.scope
$ pkcheck --action-id org.freedesktop.login1.power-off --process $$ && echo ok
polkit\56retains_authorization_after_challenge=1
Authorization requires authentication and -u wasn't passed.

Я этих команд не знал. Придется изучать systemd. И не выкорчуешь ведь из системы.

DinoAsm
() автор топика
Ответ на: комментарий от DinoAsm

Придется изучать systemd. И не выкорчуешь ведь из системы.

На 100% нет, но вообще можно: удаляя systemd-sysv, устанавливаем sysvinit-core (с зависимостями). А также systemd-shim и rsyslog.

А вот в Stretch (testing) с этим стало сложнее.

gag ★★★★★
()
Ответ на: комментарий от DinoAsm

Судя по приведённому выводу команд, дело не в systemd, а в политиках polkit. Покажите вывод (от root) find /etc/polkit-1 -type f | xargs tail -n +0.

anonymous
()
Ответ на: комментарий от anonymous
# find /etc/polkit-1 -type f | xargs tail -n +0
==> /etc/polkit-1/localauthority.conf.d/51-debian-sudo.conf <==
[Configuration]
AdminIdentities=unix-group:sudo

==> /etc/polkit-1/localauthority.conf.d/50-localauthority.conf <==
# Configuration file for the PolicyKit Local Authority.
#
# DO NOT EDIT THIS FILE, it will be overwritten on update.
#
# See the pklocalauthority(8) man page for more information
# about configuring the Local Authority.
#

[Configuration]
AdminIdentities=unix-user:0

==> /etc/polkit-1/nullbackend.conf.d/50-nullbackend.conf <==
#
# Configuration file for the PolicyKit null backend.
#
# DO NOT EDIT THIS FILE, it will be overwritten on update.
#
# To change configuration, create another file in this directory with
# a filename that is sorted after the 50-nullback.conf and make
# sure it has the .conf extension.
#
# Only a single configuration item, Priority, is supported.
#
# See the PolicyKit documentation for more information about PolicyKit.
#

[Configuration]
Priority=-10

DinoAsm
() автор топика
Ответ на: комментарий от DinoAsm

Интересно. В локальных политиках всё в порядке. Давайте разбираться. Для начала приведите вывод pkaction --action-id org.freedesktop.login1.power-off --verbose. Далее, если в данном выводе для implicit active стоит:

  • yes

    Возможно, polkit неправильно определяет активность сессии. Запустите его от root с выводом отладочных сообщений:

    pkill polkitd
    env G_MESSAGES_DEBUG=all /usr/lib/policykit-1/polkitd
    Затем попробуйте выполнить от вашего пользователя, скажем, systemctl suspend или udiskctl mount ... и приведите отладочный вывод polkitd.

  • что-то другое

    Политика не соответствует поставляемой с дистрибутивом.

В любом случае приведите также вывод dpkg -l *pol*kit* *systemd*.

anonymous
()
Ответ на: комментарий от anonymous
$ pkaction --action-id org.freedesktop.login1.power-off --verbose
org.freedesktop.login1.power-off:
  description:       Power off the system
  message:           Authentication is required for powering off the system.
  vendor:            The systemd Project
  vendor_url:        http://www.freedesktop.org/wiki/Software/systemd
  icon:              
  implicit any:      auth_admin_keep
  implicit inactive: auth_admin_keep
  implicit active:   yes

# env G_MESSAGES_DEBUG=all /usr/lib/policykit-1/polkitd 
Entering main event loop
Connected to the system bus
Registering null backend at priority -10
Error getting login monitor: -2** (polkitd:5261): DEBUG: Using config directory `/etc/polkit-1/localauthority.conf.d'
** (polkitd:5261): DEBUG: Added `/var/lib/polkit-1/localauthority/10-vendor.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/etc/polkit-1/localauthority/10-vendor.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/var/lib/polkit-1/localauthority/20-org.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/etc/polkit-1/localauthority/20-org.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/var/lib/polkit-1/localauthority/30-site.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/etc/polkit-1/localauthority/30-site.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/var/lib/polkit-1/localauthority/50-local.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/etc/polkit-1/localauthority/50-local.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/var/lib/polkit-1/localauthority/90-mandatory.d' as a local authorization store
** (polkitd:5261): DEBUG: Added `/etc/polkit-1/localauthority/90-mandatory.d' as a local authorization store
** (polkitd:5261): DEBUG: Monitoring `/var/lib/polkit-1/localauthority' for changes
** (polkitd:5261): DEBUG: Monitoring `/etc/polkit-1/localauthority' for changes
Using authority class PolkitBackendLocalAuthority
Acquired the name org.freedesktop.PolicyKit1
** (polkitd:5261): DEBUG: system-bus-name::1.25 is inquiring whether system-bus-name::1.24 is authorized for org.freedesktop.udisks2.filesystem-mount-other-seat
** (polkitd:5261): DEBUG:  user of caller is unix-user:root
** (polkitd:5261): DEBUG:  user of subject is unix-user:dinoasm
** (polkitd:5261): DEBUG: checking whether system-bus-name::1.24 is authorized for org.freedesktop.udisks2.filesystem-mount-other-seat
** (polkitd:5261): DEBUG:   (nil)
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/var/lib/polkit-1/localauthority/10-vendor.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/etc/polkit-1/localauthority/10-vendor.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/var/lib/polkit-1/localauthority/20-org.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/etc/polkit-1/localauthority/20-org.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/var/lib/polkit-1/localauthority/30-site.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/etc/polkit-1/localauthority/30-site.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/var/lib/polkit-1/localauthority/50-local.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/etc/polkit-1/localauthority/50-local.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/var/lib/polkit-1/localauthority/90-mandatory.d'
** (polkitd:5261): DEBUG: Dropping all .pkla caches for directory `/etc/polkit-1/localauthority/90-mandatory.d'
** (polkitd:5261): DEBUG:  challenge (implicit_authorization = auth_admin)
** (polkitd:5261): DEBUG:  
** (polkitd:5261): DEBUG: system-bus-name::1.25 is inquiring whether system-bus-name::1.55 is authorized for org.freedesktop.udisks2.filesystem-mount-other-seat
** (polkitd:5261): DEBUG:  user of caller is unix-user:root
** (polkitd:5261): DEBUG:  user of subject is unix-user:dinoasm
** (polkitd:5261): DEBUG: checking whether system-bus-name::1.55 is authorized for org.freedesktop.udisks2.filesystem-mount-other-seat
** (polkitd:5261): DEBUG:   (nil)
** (polkitd:5261): DEBUG:  challenge (implicit_authorization = auth_admin)
** (polkitd:5261): DEBUG:  
** (polkitd:5261): DEBUG: Added authentication agent for unix-process:5398:91954 at name :1.55 [udisksctl mount -b /dev/sdc1], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale uk_UA.UTF-8
** (polkitd:5261): DEBUG: system-bus-name::1.25 is inquiring whether system-bus-name::1.55 is authorized for org.freedesktop.udisks2.filesystem-mount-other-seat
** (polkitd:5261): DEBUG:  user of caller is unix-user:root
** (polkitd:5261): DEBUG:  user of subject is unix-user:dinoasm
** (polkitd:5261): DEBUG: checking whether system-bus-name::1.55 is authorized for org.freedesktop.udisks2.filesystem-mount-other-seat
** (polkitd:5261): DEBUG:   (nil)
** (polkitd:5261): DEBUG:  challenge (implicit_authorization = auth_admin)
** (polkitd:5261): DEBUG:  
** (polkitd:5261): DEBUG:  using authentication agent for challenge
** (polkitd:5261): DEBUG: In authentication_agent_response for cookie 'cookie0' and identity unix-user:root
** (polkitd:5261): DEBUG: Authentication complete, is_authenticated = 1
** (polkitd:5261): DEBUG: In check_authorization_challenge_cb
  subject                system-bus-name::1.55
  action_id              org.freedesktop.udisks2.filesystem-mount-other-seat
  was_dismissed          0
  authentication_success 1

** (polkitd:5261): DEBUG: Removing authentication agent for unix-process:5398:91954 at name :1.55, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale uk_UA.UTF-8

DinoAsm
() автор топика
Ответ на: комментарий от anonymous

Забыл.

$ dpkg -l '*pol*kit*' '*systemd*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  gir1.2-polkit- 0.105-8      amd64        GObject introspection data for Po
ii  libpam-systemd 215-17+deb8u amd64        system and service manager - PAM 
ii  libpolkit-agen 0.105-8      amd64        PolicyKit Authentication Agent AP
ii  libpolkit-back 0.105-8      amd64        PolicyKit backend API
ii  libpolkit-gobj 0.105-8      amd64        PolicyKit Authorization API
un  libpolkit-gtk- <none>       <none>       (no description available)
un  libpolkit-gtk- <none>       <none>       (no description available)
ii  libpolkit-qt-1 0.103.0-1    amd64        PolicyKit-qt-1 library
ii  libsystemd-log 215-17+deb8u amd64        systemd login utility library (de
ii  libsystemd0:am 215-17+deb8u amd64        systemd utility library
ii  libsystemd0:i3 215-17+deb8u i386         systemd utility library
un  lxpolkit       <none>       <none>       (no description available)
ii  mate-polkit:am 1.8.0+dfsg1- amd64        MATE authentication agent for Pol
ii  mate-polkit-co 1.8.0+dfsg1- amd64        MATE authentication agent for Pol
ii  policykit-1    0.105-8      amd64        framework for managing administra
ii  policykit-1-gn 0.105-2      amd64        GNOME authentication agent for Po
ii  systemd        215-17+deb8u amd64        system and service manager
ii  systemd-shim   9-1          amd64        shim for systemd
un  systemd-sysv   <none>       <none>       (no description available)
un  systemd-ui     <none>       <none>       (no description available)

DinoAsm
() автор топика
Ответ на: комментарий от DinoAsm

Похоже, у вас сломался cgmanager. Что выведут invoke-rc.d cgmanager status, ls -R /sys/fs/cgroup? Если загрузиться с помощью systemd (init=/bin/systemd в параметрах ядра), проблема исчезнет?

anonymous
()
Ответ на: комментарий от anonymous
# invoke-rc.d cgmanager status
[FAIL] cgmanager is not running ... failed!
invoke-rc.d: initscript cgmanager, action "status" failed.
$ ls -R /sys/fs/cgroup/
/sys/fs/cgroup/:
blkio.io_merged                   cgroup.procs
blkio.io_merged_recursive         cgroup.sane_behavior
blkio.io_queued                   cpuacct.stat
blkio.io_queued_recursive         cpuacct.usage
blkio.io_service_bytes            cpuacct.usage_percpu
blkio.io_service_bytes_recursive  cpuset.cpu_exclusive
blkio.io_serviced                 cpuset.cpus
blkio.io_serviced_recursive       cpuset.mem_exclusive
blkio.io_service_time             cpuset.mem_hardwall
blkio.io_service_time_recursive   cpuset.memory_migrate
blkio.io_wait_time                cpuset.memory_pressure
blkio.io_wait_time_recursive      cpuset.memory_pressure_enabled
blkio.leaf_weight                 cpuset.memory_spread_page
blkio.leaf_weight_device          cpuset.memory_spread_slab
blkio.reset_stats                 cpuset.mems
blkio.sectors                     cpuset.sched_load_balance
blkio.sectors_recursive           cpuset.sched_relax_domain_level
blkio.throttle.io_service_bytes   cpu.shares
blkio.throttle.io_serviced        devices.allow
blkio.throttle.read_bps_device    devices.deny
blkio.throttle.read_iops_device   devices.list
blkio.throttle.write_bps_device   net_cls.classid
blkio.throttle.write_iops_device  net_prio.ifpriomap
blkio.time                        net_prio.prioidx
blkio.time_recursive              notify_on_release
blkio.weight                      release_agent
blkio.weight_device               systemd
cgmanager                         tasks
cgroup.clone_children

/sys/fs/cgroup/cgmanager:
blkio.io_merged                   cgroup.procs
blkio.io_merged_recursive         cpuacct.stat
blkio.io_queued                   cpuacct.usage
blkio.io_queued_recursive         cpuacct.usage_percpu
blkio.io_service_bytes            cpuset.cpu_exclusive
blkio.io_service_bytes_recursive  cpuset.cpus
blkio.io_serviced                 cpuset.mem_exclusive
blkio.io_serviced_recursive       cpuset.mem_hardwall
blkio.io_service_time             cpuset.memory_migrate
blkio.io_service_time_recursive   cpuset.memory_pressure
blkio.io_wait_time                cpuset.memory_spread_page
blkio.io_wait_time_recursive      cpuset.memory_spread_slab
blkio.leaf_weight                 cpuset.mems
blkio.leaf_weight_device          cpuset.sched_load_balance
blkio.reset_stats                 cpuset.sched_relax_domain_level
blkio.sectors                     cpu.shares
blkio.sectors_recursive           devices.allow
blkio.throttle.io_service_bytes   devices.deny
blkio.throttle.io_serviced        devices.list
blkio.throttle.read_bps_device    freezer.parent_freezing
blkio.throttle.read_iops_device   freezer.self_freezing
blkio.throttle.write_bps_device   freezer.state
blkio.throttle.write_iops_device  net_cls.classid
blkio.time                        net_prio.ifpriomap
blkio.time_recursive              net_prio.prioidx
blkio.weight                      notify_on_release
blkio.weight_device               tasks
cgroup.clone_children

/sys/fs/cgroup/systemd:
cgroup.clone_children  cgroup.sane_behavior  release_agent
cgroup.procs           notify_on_release     tasks

Загрузку через systemd попробую немного позже. Увы, время не резиновое.

DinoAsm
() автор топика
Ответ на: комментарий от DinoAsm

Вот причина и обнаружена: неполадки с cgmanager. В результате polkit не может определить через cgroups, какому сеансу принадлежит процесс, и потому по умолчанию задействует самое жёсткое правило.

Судя по наличию /sys/fs/cgroup/cgmanager/, cgmanager запускается, но затем завершается — вероятно, аварийно. Можете попробовать запустить его так: cgmanager -m name=systemd -v — дождаться падения и проанализировать вывод. (А можете — использовать systemd вместо sysvinit + куски systemd, обложенные костылями.)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.