Спасибо
gvy за напоминание
https://forum.altlinux.org/index.php?topic=38385.msg307206#msg307206бага
#32076, который промаркирован как дубликат
#32075 и который в состоянии CLOSED FIXED, но который на самом деле хоть и CLOSED, но не FIXED:
$ /usr/libexec/polkit-1/xfce-polkit
** (xfce-polkit:12789): CRITICAL **: polkit_agent_listener_register_with_options: assertion 'POLKIT_IS_SUBJECT (subject)' failed
^C
Поэтому предлагается в известном смысле костыльное решение в плане добавления первого созданого в системе sysv-xfce пользователя с UID=500 в группу _nmconnect, которая на первом старте sysv-xfce не создаётся.
Для фичреквеста предлагается использовать пакет polkit-sysvinit. Это не потребует добавления или изменения другого пакета.
Теперь о том, в чём состоит суть фичреквеста:
Штатно на старте системы отрабатывает first_time скрипт
# grep -rHin firsttime /etc/
/etc/rc.d/scripts/first_time:3:[ -f /etc/firsttime.flag ] || exit 0
/etc/rc.d/scripts/first_time:4:rm -f /etc/firsttime.flag
/etc/rc.d/scripts/first_time:5:run-parts /etc/firsttime.d
# ls -l $(grep -r firsttime /etc/|head -n1|cut -f1 -d ':')
-rwxr-xr-x 1 root root 101 апр 18 2014 /etc/rc.d/scripts/first_time
Логика скрипта:
$ cat /etc/rc.d/scripts/first_time
#!/bin/sh
[ -f /etc/firsttime.flag ] || exit 0
rm -f /etc/firsttime.flag
run-parts /etc/firsttime.d
Если флаг /etc/firsttime.flag, который создаётся на инсталляции, в наличии, то удалить флаг и выполнить исполняемые скрипты в каталоге /etc/firsttime.d.
Если флаг отсутствует, выполнить команду exit 0
В /etc/firsttime.d предлагается положить скрипт, который на первом старте системы создаст системную группу _nmconnect и добавит в неё первого созданного на инсталляции системы пользователя.
Со скриптом мудрить не стал и предлагаю использовать
скрипт предложенный dango:
add-user-group-nm
#!/bin/bash
# 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
Скрипт должен лежать в этом же каталоге и иметь такие же права как и остальные скрипты:
$ ll /etc/firsttime.d/
итого 28
drwxr-xr-x 119 root root 12288 мар 7 01:48 ../
drwxr-xr-x 2 root root 4096 фев 15 17:38 ./
-rwxr-xr-x 1 root root 116 фев 15 17:38 menu
-rwxr-xr-x 1 root root 1524 окт 27 21:39 alsa-set-initial-options
-rwxr-xr-x 1 root root 153 окт 27 21:39 fontconfig
lrwxrwxrwx 1 root root 31 окт 27 21:39 indexhtml -> ../../usr/sbin/indexhtml-update
На первом старте системы, скрипт:
- создаст системную группу _nmconnect если она отсутствует
- первого созданного на инсталляции пользователя с UID=500 добавит в группу _nmconnect, если пользователь отсутствует в группе
- флаг /etc/firsttime.flag на первом старте системы будет удалён и впоследствии скрипт запускаться не будет
Предлагается добавить скрипт в пакет polkit-sysvinit.
Полный путь к скрипту:
-rwxr-xr-x /etc/firsttime.d/add-user-group-nm