Автор Тема: Xfce c Sysv  (Прочитано 564020 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #390 : 07.07.2017 21:59:00 »
Повешен багрепорт на сизифное ядро un-def:
 Ошибка 33627 - Слом монтирования файловых usb накопителей
https://bugzilla.altlinux.org/show_bug.cgi?id=33627
« Последнее редактирование: 07.07.2017 22:04:49 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #391 : 08.07.2017 08:47:24 »
Не слышал чтобы Патрик хоть раз подвёл.
Патрик сохраняет слаку. За это его стоит уважать...

Что умеет Слака (в контексте альтовых багрепортов?)
Слака умеет:
- не спотыкаться об dbus
$ /usr/bin/time -f %e xfce4-session-logout --suspend
0.23

- через uname правильно отображать процессор и платформу (которые альт отображает как unknown)
$ uname -a
Linux darkstar 4.4.17 #1 Thu Aug 11 02:46:27 CDT 2016 i686 Intel(R) Pentium(R) M processor 2.13GHz GenuineIntel GNU/Linux

Немного не в тему:
Чем понравился лайв Слаки? Загрузчиком. А если ещё точнее, хэлпом:
[F1]: Home [F2]: Desktop setup [F3]: Media tweaks [F4]: HW/debug [F5]: Network boot
Абсолютно бесполезная вещь для массового линуксоида, но безграничный простор для всех остальных при отладке. Например если есть какие-то проблемы с оборудованием.
Help имеет огромный список опций по секциям, с кратким описанием и указанием формата использования в cmdline. Например загрузку модулей, образа с раздела или временный блэклист модуля на этапе отладки, без изменения конфигурационных файлов. И при этом держать всё это в голове вовсе необязательно.
Упоминать их все, одно из самых неблагодарных занятий, - их много.


Чем мне импонирует Линукс, так это тем, что здесь невероятный простор для багрепортов, - жизни не хватит.

- Help лайв стартеркитов:
Названия опций в хэлпе, -- одно из самых неудачных цветовых решений, - текста почти не видно, - тон сливается с фоном.
Несоответствие хэлпа и содержимого: в Help загрузчика образа упоминается опция Проверка оборудования, которая отсутствует в загрузочном меню (не путать с Проверка памяти)



Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #393 : 11.07.2017 13:28:12 »
В общем пока остановился на таком варианте быстрого увода в suspend через кнопку с командой:
# cat /etc/polkit-1/rules.d/60-xfce4-pm-helper.rules
polkit.addRule(function(action, subject) {
    if (action.id == "org.xfce.power.xfce4-pm-helper" && subject.isInGroup("xgrp") )
    {
        return polkit.Result.YES;
    }
});
$ pkexec /usr/sbin/xfce4-pm-helper --suspend

Это позволяет:
- на nx6110 с sysv-xfce без подтверждения отправлять систему в suspend не получая на выходе окно ошибки.
- выполнять команду непривилегированным пользователем.
- выполнять команду в tty (с выбросом небольшого дебага).
- команду разрешено выполнять только пользователям входящим в группу xgrp.

Правда от фриза на 4-тых ядрах это не избавляет.

Можно на кнопку повесить
xfce4-session-logout

Но повешенное на кнопке
xfce4-session-logout --suspend

исключается:  спотыкается об dbus с выбросом ошибки в окно на выходе из suspend. Надо собирать strace и багрепорт. На ядре 4.9.36-std-def всё осталось по-прежнему. Т.е. плохо.
« Последнее редактирование: 11.07.2017 15:28:50 от Speccyfighter »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #394 : 11.07.2017 18:22:15 »
В общем пока остановился на таком варианте быстрого увода в suspend через кнопку с командой:

Добавить в polkit-sysvinit ?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #395 : 11.07.2017 18:58:56 »
В общем пока остановился на таком варианте быстрого увода в suspend через кнопку с командой:

Добавить в polkit-sysvinit ?

Да, пожалуйста Антон, если возможно.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #396 : 12.07.2017 04:46:22 »
Кстати, подобной проблемы на LXDE-sysv не наблюдается с suspend?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #397 : 12.07.2017 07:40:23 »
Кстати, подобной проблемы на LXDE-sysv не наблюдается с suspend?

Это надо Дана спрашивать, у него вроде бы lxde-sysv.

Сравнение simply8 и sysv-xfce-sisyphus:

На simply8 команда
$ time -f -%e xfce4-session-logout -s
выполняется за ~0.05 секунды (эта команда завершилась удачно)
с завершением команды до выключения питания и ошибкой 0
$ tail -n10 path/suspend-inout.txt
sendmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\5\0\0\0p\0\0\0\1\1o\0\30\0\0\0/org/xfc"..., iov_len=128}, {iov_base="", iov_len=0}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 128
clock_gettime(CLOCK_MONOTONIC, {tv_sec=882, tv_nsec=503975120}) = 0
poll([{fd=5, events=POLLIN}], 1, 25000) = 1 ([{fd=5, revents=POLLIN}])
recvmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\2\1\1\0\0\0\0~\0\0\0%\0\0\0\6\1s\0\5\0\0\0:1.93\0\0\0"..., iov_len=2048}], msg_iovlen=1, msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 56
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
recvmsg(5, {msg_namelen=0}, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable)
sendmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\1\1e\0\0\0\6\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., iov_len=144}, {iov_base="`\0\0\0type='signal',sender=':1.3',"..., iov_len=101}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 245
sendmsg(5, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\1\1\224\0\0\0\7\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., iov_len=144}, {iov_base="\217\0\0\0type='signal',sender='org.fr"..., iov_len=148}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 292
exit_group(0)                           = ?
+++ exited with 0 +++
(команда
strace -o suspend-inout.txt xfce4-session-logout -s
завершилась неудачно с выходом в чёрный экран, курсор есть и подвижен, в X-сы и tty попасть невозможно, выход по Alt+SysRq+b )
(На nx6110, Alt+SysRq+u это log level 4, но не remount r/o)


На sysv-xfce-sisyphus эта команда завершится с ошибкой 1 на выходе из suspend по завершении фриза на 4-тых ядрах при нажатии на кнопку [Закрыть] окна с сообщением об ошибке.
Общее время выполнения команды 27 секунд (задержки и паузы сокращены до минимума:  suspend - моментальное включение)
$ time -f %e xfce4-session-logout --suspend
Command exited with non-zero status 1
27.32
$ date; xfce4-session-logout --suspend; date
Ср июл 12 07:17:59 +03 2017
Ср июл 12 07:18:26 +03 2017
$ strace -o 111susp.txt xfce4-session-logout -s
$ tail -n10 111susp.txt
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="%\30\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
recvmsg(3, {msg_namelen=0}, 0)          = -1 EAGAIN (Resource temporarily unavailable)
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x807964c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(4, "\1\0\0\0\0\0\0\0", 8)         = 8
exit_group(1)                           = ?
+++ exited with 1 +++

Ядро в сизифной системе sysv-xfce:
$ uname -r
4.9.36-std-def-alt1

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Xfce c Sysv
« Ответ #398 : 12.07.2017 09:44:27 »
Да, пожалуйста Антон, если возможно.

apt-repo test 185297

dango

  • Гость
Re: Xfce c Sysv
« Ответ #399 : 12.07.2017 12:31:17 »
Это надо Дана спрашивать, у него вроде бы lxde-sysv.
Весной проверял на нетбуке Спящий и Ждущий режимы. Вроде как отработали без ошибок. Просто сам не пользуюсь ими в повседневности. Проверю еще раз.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #400 : 12.07.2017 13:24:12 »
Да, пожалуйста Антон, если возможно.

apt-repo test 185297

Угу
http://git.altlinux.org/tasks/185297/
Спасибо, Антон.

Перенёс самодельный рулез.
Установил task-185297/polkit-sysvinit-0.3.4-alt1.noarch.rpm
Проверил на пользователе который только в группах tty и xgrp:
Команда
pkexec /usr/sbin/xfce4-pm-helper --suspend

отрабатывает и прямой командой, и из самодельной кнопки, и командой из tty3.
Претензий к работе команды нет. Всё работает как и должно.
Ещё раз спасибо, Антон.
Годно в сизиф и p8.
« Последнее редактирование: 12.07.2017 13:55:27 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #401 : 21.07.2017 20:50:03 »
Зарегистрирована ошибка:
 Ошибка 33672 - Окно ошибки на выходе из suspend в Xfce
https://bugzilla.altlinux.org/show_bug.cgi?id=33672

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #402 : 24.07.2017 18:55:13 »
О как интересно!
Это зачем, на прозапас, чтобы было?
# chkconfig --list|grep udevd
udevd          0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл
udevd-final    0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл
# service udevd status
udevd is running
# service udevd-final status
This service hasn't been started since stopped last time.

dango

  • Гость
Re: Xfce c Sysv
« Ответ #403 : 25.07.2017 07:42:14 »
# chkconfig --list|grep udevd
udevd          0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл
udevd-final    0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл

# service udevd status
udevd is running

# service udevd-final status
This service hasn't been started since stopped last time.
Читаю так:
Службы udevd и udevd-final выключены. Но служба udevd запущена, а служба udevd-final остановлена.
Это при каких условиях?
Вспомнил, что при старте initrd busybox запускает помимо всего прочего и udev, но не udevd-final.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #404 : 25.07.2017 10:20:32 »
# chkconfig --list|grep udevd
udevd          0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл
udevd-final    0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл

# service udevd status
udevd is running

# service udevd-final status
This service hasn't been started since stopped last time.
Читаю так:
Службы udevd и udevd-final выключены. Но служба udevd запущена, а служба udevd-final остановлена.
Это при каких условиях?
Вспомнил, что при старте initrd busybox запускает помимо всего прочего и udev, но не udevd-final.

Угу. Т.е. в альтах udev уже не подконтролен администратору, - попробуй, останови его в initrd.
Всё пытаюсь, но не могу понять, что же в альтовом udev глушит wlan интерфейс настолько, что каждый раз надо делать сброс CMOS. И это уже не первый раз. Даже на ядро и драйвер бочку не покатишь, - могу сразу носом ткнуть в Слаку: там то же 4-е ядро и тот же драйвер с фирмварями и это работает настолько хорошо, что даже если и захотел бы придраться к Патрику, то всё равно не смог бы. А этот сброс CMOS меня уже достал. Причём делать его надо исключительно в альтах. А я терпеть ненавижу, когда операционка начинает делать то, о чём её абсолютно не просили. В nx6110, аппаратный триггер это абсолютная броня, - никто не может пробиться туда, куда его не звали. Т.е. с моей точки зрения, потенциально, со временем, любой урод благодаря опенсорсу сможет пробиться сквозь эту броню аппаратного триггера?
Это в Ленове, кнопка, это триггер soft block. Но в nx6110 это аппаратный hard block. И предполагается, что если пользователь переключил только на локальное использование, удалённо управлять nx6110 даже теоретически невозможно, даже если он заруткичен с ног до головы. Чтобы сломать такой функционал, надо быть абсолютно убеждённым врагом открытого кода.