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

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #330 : 02.04.2017 21:00:15 »
xorg-drv-evdev

Предлагаю повешать баг на xorg-drv-evdev, чтоб в /etc/X11/xorg.conf.d/95-input-keyboard.conf появилась строчка:
Option "GrabDevice" "True"

Посмотрим, что на это скажет майнтейнер xorg-drv-evdev.

Хорошо. На том и порешили, а там посмотрим что будет.
Повешу багрепорт на сизифный xorg-drv-evdev.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 011
    • Альт на Эльбрусе
Re: Xfce c Sysv
« Ответ #331 : 02.04.2017 21:13:42 »
Нет, надо gdm2.20 возвращать в сборку.
Ну не вопрос, если других вариантов не будет.
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #332 : 02.04.2017 23:40:25 »
Готово. Багрепорт отправлен:
 Ошибка 33322 - Цикличное переключение tty по клавише super в системе на sysv с xfce
https://bugzilla.altlinux.org/show_bug.cgi?id=33322

dango

  • Гость
Re: Xfce c Sysv
« Ответ #333 : 03.04.2017 07:39:49 »
Предлагаю повешать баг на xorg-drv-evdev, чтоб в /etc/X11/xorg.conf.d/95-input-keyboard.conf появилась строчка:
Option "GrabDevice" "True"
Согласен.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #334 : 06.04.2017 19:15:47 »
Время сгрести баги по sysv-xfce в одну кучу:

-  Bug 33322 - Цикличное переключение tty по клавише super в системе на sysv с xfce
https://bugzilla.altlinux.org/show_bug.cgi?id=33322
https://forum.altlinux.org/index.php?topic=36177.msg308823#msg308823
(взрыв при активном lightdm или lxde-lxdm)

-  Bug 33180 - Ошибка указания типа раздела в rules для udev для альтовых гибридов на флешке
https://bugzilla.altlinux.org/show_bug.cgi?id=33180
(если баг исправлен не будет, есть мысль тестово окостылить его через /etc/udev/rules.d/ и покатать костыль)
Касается всех инсталляционных альтов и м.б. косвенно, незначительно и частично лайвов.


- Автодобавление первого созданного в системе пользователя в группу _nmconnect.
Предлагаемое решение (src.rpm + rpm во вложении):
https://forum.altlinux.org/index.php?topic=36177.msg307250#msg307250

- Убать из сборки пакеты
xfce-polkit
xorg-drv-libinput
Добавить пакеты
polkit-sysvinit (с фиксом: пользователь в _nmconnect)
gksu
https://forum.altlinux.org/index.php?topic=36177.msg307262#msg307262


Дополнение к списку:
Ошибка 33346 - Полный отказ udisks2 на системах с sysvinit
« Последнее редактирование: 11.04.2017 14:01:27 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #335 : 07.04.2017 22:18:36 »
Крайне важно!

В результате апгрейда и даунгрейдов системы sysv-xfce на сизифе, обнаружено:
С последними сборками udisks2 версии выше 2.1.9, на сизифных системах sysv-xfce появилась ошибка.
Статус ошибки, - критический:
- Отказ отображения и монтирования usb-накопителей через udisks2
$ udisksctl --help
Error connecting to the udisks daemon: Ошибка вызова StartServiceByName для org.freedesktop.UDisks2: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Cannot launch daemon, file not found or permissions invalid

Пользователям обновившим систему sysv-xfce настоятельно рекомендуется выполнить downgrade пакета udisks2 до версии 2.1.9 или перейти на использование Linux-системы без udisks2.


Последовательность выполнения понижения udisks2 до версии 2.1.9 (для sysv-xfce на сизифе):

Удалить все цели на репозиторий
# apt-repo rm all

Нацелить apt на архив от 20170328:
Это последняя дата, когда udisks2-2.1.9-alt0.1 ещё находился в репозитории.
# tail -n 4 /etc/apt/sources.list
##  Fix scrap of package udisks2
##  Rollback to version 2.1.9
rpm http://ftp.altlinux.org/pub/distributions/archive/sisyphus/date/2017/03/28 i586 classic
rpm http://ftp.altlinux.org/pub/distributions/archive/sisyphus/date/2017/03/28 noarch classic

Разрешить apt понижать версии пакетов
$ cat /etc/apt/preferences
Package: *
Pin: release c=classic
Pin-Priority: 1001

Обновить базу пакетов:
# apt-get update

Переустановить пакет udisks2 с понижением версии
# apt-get install udisks2
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  libudisks2
Следующие пакеты будут ЗАМЕНЕНЫ БОЛЕЕ СТАРЫМИ ВЕРСИЯМИ:
  libudisks2 udisks2

Лог понижения версий пакетов
# grep -rHn apt /var/log/user/info | grep 'Apr  7 21\:3'
/var/log/user/info:20075:Apr  7 21:37:04 comp apt-get: libudisks2-2.1.9-alt0.1 1481450108 installed
/var/log/user/info:20076:Apr  7 21:37:07 comp apt-get: udisks2-2.1.9-alt0.1 1481450108 installed
/var/log/user/info:20077:Apr  7 21:37:08 comp apt-get: udisks2-2.6.4-alt2 1490978385 removed
/var/log/user/info:20078:Apr  7 21:37:08 comp apt-get: libudisks2-2.6.4-alt2 1490978385 removed

Перегрузиться.

Пакеты
$ rpm -qa|grep udisks
udisks2-2.1.9-alt0.1.i586
libudisks2-2.1.9-alt0.1.i586

рекомендуется поставить в hold
$ grep udisks /etc/apt/apt.conf.d/90-apt-hold.conf
RPM::Hold { udisks2; };
RPM::Hold { libudisks2; };

или прекратить обновление альтовой системы.
« Последнее редактирование: 08.04.2017 06:26:03 от Speccyfighter »

dango

  • Гость
Re: Xfce c Sysv
« Ответ #336 : 08.04.2017 10:40:13 »
В результате апгрейда и даунгрейдов системы sysv-xfce на сизифе, обнаружено:
С последними сборками udisks2 версии выше 2.1.9, на сизифных системах sysv-xfce появилась ошибка.
Статус ошибки, - критический:
- Отказ отображения и монтирования usb-накопителей через udisks2
Подтверждаю наличие бага в сборке lxde-sysv на бранче Sisyphus.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #337 : 08.04.2017 13:34:19 »
Отказ подсистемы на трекере зарегистрирован:
Ошибка 33346 - Полный отказ udisks2 на системах с sysvinit

dango

  • Гость
Re: Xfce c Sysv
« Ответ #338 : 08.04.2017 15:47:45 »
Отказ подсистемы на трекере зарегистрирован:
Ошибка 33346 - Полный отказ udisks2 на системах с sysvinit
Спасибо, Speccyfighter.
Исполнителем 33346 стоит Юрий Седунов. Надеюсь, проблема разрешится.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #339 : 11.04.2017 14:00:55 »
Ошибка #33346 пофикшена исправлением:
udisks2-2.6.4-alt3 -> sisyphus:

* Mon Apr 10 2017 Yuri N. Sedunov <aris@> 2.6.4-alt3
- data/Makefile.am fixed bad substitution (ALT #33346)

hold с udisks2 можно снимать и обновляться.


Ошибка #33180 пофикшена исправлением:
# rpm -qf /lib/udev/rules.d/80-udisks2.rules
udisks2-2.6.4-alt3.i586
# sed -n '153,155p' /lib/udev/rules.d/80-udisks2.rules
# ALT Linux bootable iso has NTFS (0x17) partition
# https://bugzilla.altlinux.org/show_bug.cgi?id=33180
ENV{ID_PART_TABLE_TYPE}=="dos", ENV{ID_PART_ENTRY_TYPE}=="0x17", ENV{ID_PART_ENTRY_NUMBER}=="1", ENV{ID_FS_TYPE}=="iso9660|udf", ENV{UDISKS_IGNORE}="0"

За оперативность и исправление ошибок #33180 и #33346 спасибо Юре Седунову (aris@)
« Последнее редактирование: 11.04.2017 14:15:48 от Speccyfighter »

dango

  • Гость
Re: Xfce c Sysv
« Ответ #340 : 11.04.2017 14:53:25 »
За оперативность и исправление ошибок #33180 и #33346 спасибо Юре Седунову (aris@)
И от меня спасибо.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #341 : 11.04.2017 15:04:25 »
По умолчанию с lightdm X-сессия поднимется на tty1:
$ grep minimum-vt /etc/lightdm/lightdm.conf
# minimum-vt = First VT to run displays on
minimum-vt=1

Вернуть классику на базу (на tty7) просто:
# sed -i 's/^minimum-vt=1/#minimum-vt=1/' /etc/lightdm/lightdm.conf
# grep minimum-vt /etc/lightdm/lightdm.conf
# minimum-vt = First VT to run displays on
#minimum-vt=1

Выйти из X-сессии и перезапустить сервис dm
# /etc/init.d/dm restart

После этого, лог загрузки на tty1 будет доступен для просмотра.

Первая консоль не активна.
# grep 1:234: /etc/inittab
1:234:respawn:/sbin/mingetty --noclear tty1

Делаем её активной:
# sed -i 's/1:234:/1:2345:/' /etc/inittab
# grep noclear /etc/inittab
1:2345:respawn:/sbin/mingetty --noclear tty1
« Последнее редактирование: 11.04.2017 23:20:11 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #342 : 14.04.2017 15:54:22 »
Результат полугодового использования regular-xfce-i586 переведённого на init в условиях ограниченного дискового пространства

Корневая файловая:
Исключаем все "лишние" ядра, неудаляемые ничем и никем пакеты в архиве apt и домашний каталог пользователя
# du -s \
--exclude=/mnt \
--exclude=/lib/modules/4.4.* \
--exclude=/lib/modules/3.14.* \
--exclude=/lib/modules/4.8.* \
--exclude=/lib/modules/4.9.17* \
--exclude=/lib/modules/4.9.20* \
--exclude=/var/cache/apt/archives \
--exclude=/home \
/ 2>/dev/null
4,4G /

Домашний каталог
# du -s /home 2>/dev/null
6,3G /home
# find /home/ -type f -size +300M|wc -l
1
# find /home/ -type f -size +100M|wc -l
4

Занятое пространство по каталогам
# du -s \
--exclude=/mnt \
--exclude=/lib/modules/4.4.* \
--exclude=/lib/modules/3.14.* \
--exclude=/lib/modules/4.8.* \
--exclude=/lib/modules/4.9.17* \
--exclude=/lib/modules/4.9.20* \
--exclude=/var/cache/apt/archives \
/* 2>/dev/null
11M /bin
133M /boot
0 /dev
17M /etc
6,3G /home
403M /lib
16K /lost+found
4,0K /media
4,0K /opt
0 /proc
2,7M /root
904K /run
16M /sbin
4,0K /selinux
4,0K /srv
0 /sys
8,0K /tmp
3,4G /usr
429M /var

Общий объём полезно занятого пространства:
# du -s \
--exclude=/mnt \
--exclude=/lib/modules/4.4.* \
--exclude=/lib/modules/3.14.* \
--exclude=/lib/modules/4.8.* \
--exclude=/lib/modules/4.9.17* \
--exclude=/lib/modules/4.9.20* \
--exclude=/var/cache/apt/archives \
/ 2>/dev/null
11G /

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #343 : 04.06.2017 23:24:26 »
Скрипт от dango просмотрел и бегло оттестировал.
Если фичреквест за сутки попадёт в p8, можно будет по-срочному Мише письмо отписать и добавление  юзера в _nmconnect будет на уровне мартовкого дистрибутива стартеркита.
Спасибо!  Так а где именно пакет?

:-) Вот:
$ md5sum polkit-sysvinit-0.3.4-alt1.src.rpm
a589155eb07dce1e3cd663cb8dda50f0  polkit-sysvinit-0.3.4-alt1.src.rpm
$ md5sum polkit-sysvinit-0.3.4-alt1.noarch.rpm
6791335cbdb44ef0b636088522b02500  polkit-sysvinit-0.3.4-alt1.noarch.rpm

Добавлена фича с созданием на первом старте системы системной группы _nmconnect и добавлением в неё пользователя.

Метод тестирования:
- подвинул в сторону /etc/firsttime.d/*
- создал флаг /etc/firsttime.flag
- удалил группу _nmconnect
- установил собранный polkit-sysvinit-0.3.4-alt1.noarch.rpm
- перегрузился
- после перезагрузки системная группа _nmconnect в наличии, я в группе

Код скрипта add-user-group-nm перемещён из
/etc/firsttime.d/

в chkconfig совместимый init-скрипт
$ rpm -qvl polkit-sysvinit
-rw-r--r--    1 root    root                      930 Feb  6 17:02 /etc/polkit-1/rules.d/60-sysvinit-console-kit.rules
-rw-r--r--    1 root    root                     1304 Feb  6 17:02 /etc/polkit-1/rules.d/60-sysvinit-mount.rules
-rw-r--r--    1 root    root                      194 Feb  6 17:02 /etc/polkit-1/rules.d/60-sysvinit-nm.rules
-rw-r--r--    1 root    root                      185 Feb  6 17:02 /etc/polkit-1/rules.d/60-xfsm-shutdown-helper.rules
-rwxr-xr-x    1 root    root                      560 Jun  4 21:17 /etc/rc.d/init.d/adduser-group-nm
$ rpm -qp --scripts polkit-sysvinit-0.3.5-alt2.noarch.rpm
postinstall scriptlet (using /bin/sh):
if [ $1 -eq 1 ]; then
        /sbin/chkconfig --add adduser-group-nm
fi
preuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
        /sbin/chkconfig --del adduser-group-nm
fi
$ ll /etc/rc.d/init.d/adduser-group-nm
-rwxr-xr-x 1 root root 560 Jun  4 22:53 /etc/rc.d/init.d/adduser-group-nm
$ find /etc/rc.d -name "*adduser-group-nm"|sort
/etc/rc.d/init.d/adduser-group-nm
/etc/rc.d/rc0.d/K92adduser-group-nm
/etc/rc.d/rc1.d/K92adduser-group-nm
/etc/rc.d/rc2.d/S10adduser-group-nm
/etc/rc.d/rc3.d/S10adduser-group-nm
/etc/rc.d/rc4.d/S10adduser-group-nm
/etc/rc.d/rc5.d/S10adduser-group-nm
/etc/rc.d/rc6.d/K92adduser-group-nm
$ cat /etc/rc.d/init.d/adduser-group-nm
#!/bin/bash
#
# chkconfig: 2345 10 92
# description:  adding first user to a group _nmconnect


# Source function library.
. /etc/rc.d/init.d/functions



start() {
# adding first user to a group _nmconnect

getent group _nmconnect>/dev/null 2>&1 || groupadd -r _nmconnect>/dev/null 2>&1
for n in `awk -F: '{if ($3==500) print $1}' /etc/passwd`
    do
id -Gn $n|grep -c _nmconnect>/dev/null 2>&1 || gpasswd -a $n _nmconnect>/dev/null 2>&1
done
}




case "$1" in
    start)
    start
    ;;
    *)
        echo $"Usage: $0 {start}"
        exit 1
esac
exit 0

который стартует раньше чем сервис NetworkManager

$ find /etc/rc.d -name "*Manager"|sort
/etc/rc.d/init.d/ModemManager
/etc/rc.d/init.d/NetworkManager
/etc/rc.d/rc0.d/K90NetworkManager
/etc/rc.d/rc0.d/K91ModemManager
/etc/rc.d/rc1.d/K90NetworkManager
/etc/rc.d/rc1.d/K91ModemManager
/etc/rc.d/rc2.d/S11ModemManager
/etc/rc.d/rc2.d/S12NetworkManager
/etc/rc.d/rc3.d/S11ModemManager
/etc/rc.d/rc3.d/S12NetworkManager
/etc/rc.d/rc4.d/S11ModemManager
/etc/rc.d/rc4.d/S12NetworkManager
/etc/rc.d/rc5.d/S11ModemManager
/etc/rc.d/rc5.d/S12NetworkManager
/etc/rc.d/rc6.d/K90NetworkManager
/etc/rc.d/rc6.d/K91ModemManager
« Последнее редактирование: 05.06.2017 06:44:30 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Xfce c Sysv
« Ответ #344 : 05.06.2017 11:12:41 »
Есть другой вариант создания _nmconnect и добавления в неё первого пользователя:
- оставить в покое polkit-sysvinit-0.3.3 как есть, а init-скрипт ложить в отдельный пакет.

Сервис будет зарегистрирован при первой установке пакета
$ rpm -qpvl polkit-sysvinit-0.3.5/nm-sysvinit-0.1-alt0.noarch.rpm
-rwxr-xr-x    1 root    root                      560 Jun  5 10:11 /etc/rc.d/init.d/nm-group
$ rpm -qp --scripts polkit-sysvinit-0.3.5/nm-sysvinit-0.1-alt0.noarch.rpm
postinstall scriptlet (using /bin/sh):
if [ $1 -eq 1 ]; then
        /sbin/chkconfig --add adduser-group-nm
fi
preuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
        /sbin/chkconfig --del adduser-group-nm
fi
#!/bin/bash
#
# chkconfig: 2345 10 92
# description:  adding first user to a group _nmconnect


# Source function library.
. /etc/rc.d/init.d/functions



start() {
# adding first user to a group _nmconnect

getent group _nmconnect>/dev/null 2>&1 || groupadd -r _nmconnect>/dev/null 2>&1
for n in `awk -F: '{if ($3==500) print $1}' /etc/passwd`
    do
id -Gn $n|grep -c _nmconnect>/dev/null 2>&1 || gpasswd -a $n _nmconnect>/dev/null 2>&1
done
}




case "$1" in
    start)
    start
    ;;
    *)
        echo $"Usage: $0 {start}"
        exit 1
esac
exit 0
« Последнее редактирование: 05.06.2017 23:33:49 от Speccyfighter »