Пока маялся с глазамисейчас лучше?
сейчас лучше?Да, терпимо.
1. Демон на ashЕстественно. Busybox sh это и есть ash.
2. GUI на yadУ меня на gtk2 (на gtk3 tray вырезали). Получается интелектуальнее и добавить могу что хочу. Кстати, пробовал компилировать trayNet clang-ом, получается.
3. GUI с подробной статистикойПо моему - лишнее. Мало кому надо, а кому надо, тот знает, где взять. Зато у меня "инструкция в картинках для чайников" ;)
Особого жора ресурсов не замеченоА не с чего ему быть
::sysinit:/usr/bin/find /etc/init.d -type f -exec {} start \;
::::shutdown:/usr/bin/find /etc/init.d -type f -exec {} stop \;
на gtk3 tray вырезалиНет. Трей в yad одинаков в gtk2 и 3
Нравится?Минималистично. Плохо знаком с иниттаб.
Нет. Трей в yad одинаков в gtk2 и 3Функцию create_tray_icon вырезали, как это обойти, не знаю.
Плохо знаком с иниттаб.Ничего сложного нет, особенно в busybox init. Вот Хочу сделать так:
ATTRS{idVendor}=="12d1", ATTRS{manufacturer}!="Android", ATTR{bInterfaceNumber}=="00", ATTR{bInterfaceClass}=="08", RUN+="usb_modeswitch -J -v %s{idVendor} -p %s{idProduct}"
#!/bin/sh
/usr/sbin/usb_modeswitch $@
/sbin/udevadm trigger -s usb
Проблемы с уведомлениями.Как выводите? (https://wiki.puppyrus.org/soft/notify)
Как выводите?notify-send -> dunst
Проблема в том, что в $HOMEВ вопросе оказался ответ: export HOME=/root решило проблему.
Компилить не пробовал.Компилить не надо, я github не обновлял, химичу локально.
андроид-модем-смартовТут интересно было бы посмотреть вывод
# udevadm info -a -p /sys/class/net/usb0
# udevadm info env -p /sys/class/net/usb0
code-dDs-2021-08-07_23-31-22.txtСпасибо за информацию. Ваше устройство не требует usb_modeswitch, но максимальную длину имени в trayNet я добавил.
# почти не понимаю....Эти команды полезны при написании правил udev (udev rules). Первая показывает все атрибуты устройства, которые можно использовать и как ключи для поиска, и как переменные для запуска программы. Вторая показывает переменные окружения, использовать можно аналогично. Например строка
ACTION=="add", KERNEL!="ppp?", SUBSYSTEM=="net", RUN+="upNet.sh %k %s{address} %s{operstate} %E{ID_BUS} %E{ID_MODEL}"
Что нибудь понятно?) "относительно".
ifconfig....
enp0s29f7u2...
enp0s29f7u2...Нашёл пример расшифровки
enp1s0 и enp2s0 - что-то вроде Ethernet устройство, PCI шина 1,2, слот 0.более подробно
The names have two character prefixes based on the type of interface:отсюда (https://www.linux.org.ru/forum/admin/13169873).
en for Ethernet,
wl for wireless LAN (WLAN),
ww for wireless wide area network (WWAN).
The names have the following types:
o<index> - on-board device index number
s<slot>[f<function>][d<dev_id>] - hotplug slot index number
x<MAC> - MAC address
p<bus>s<slot>[f<function>][d<dev_id>] - PCI geographical location
p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>] - USB port number chain
bash-4.4# grep DISPLAY /proc/`pidof Xorg`/environ
DISPLAY=:0.0
for x in /tmp/.X11-unix/*; do export DISPLAY=":`echo $x | sed s#/tmp/.X11-unix/X##`" ; done
Кодfor x in /tmp/.X11-unix/*; do export DISPLAY=":`echo $x | sed s#/tmp/.X11-unix/X##`" ; done
bash-4.4# time for x in /tmp/.X11-unix/*; do echo DISPLAY=":`echo $x | sed s#/tmp/.X11-unix/X##`" ; done
DISPLAY=:0
real 0m0,004s
user 0m0,002s
sys 0m0,003s
bash-4.4# time grep DISPLAY /proc/`pidof Xorg`/environ
DISPLAY=:0.0
real 0m0,016s
user 0m0,004s
sys 0m0,011s
PID=$(pidof jwm) || continue
[ -z "$DISPLAY" ] && export $(grep DISPLAY /proc/$PID/environ)
ля каждой отдельный ~/.xinitrc?Да. Если каждая де отдельным модулем - читать , как, в пупи /etc/wm-что-то там лишнее
А если сразу несколько?Отвечу сам: запустится тот WM, ~/.xinitrc которого в более верхнем слое. А надо который хочется. Давай это дело утрясём.
запустится тот WM, ~/.xinitrc которого в более верхнем слое.Если wm модулями - подключить в верхний слой вторую вь и запустить первую... Где логика. Считаю горячее переключение вм бесполезным.
Давай это дело утрясём.Сделайте как в пупи
Сделайте как в пупи$CURRENTWM? Хорошо.
несколько X11 со своими WM:Нет, несколько слоёв aufs с WM.
eval $(grep ^CURRENTWM /home/live/.xinitrc)
PID=$(pidof $CURRENTWM) || continue
полноценный grep "пишет отписку"
$ strings /proc/$pid/environ | grep USER
"прибит гвоздями"У меня определяется скриптом sfsusr. Грепает процессы на юзера WM. Кривовато, но других идей нет
Решений вижу два:Оба такие же кривые как и мое. Но рабочие
Оба такие же кривыеТо то и оно :(
bash-4.4# time find /proc -maxdepth 1 -type d -name [1-9]??|while read P; do grep USER $P/environ|grep -v root && break; done
USER=live
real 0m0,247s
user 0m0,188s
sys 0m0,216s
От которого сессия запущена.иксы то есть?
Пользователь сессии один - live, но вдруг кому-то захочется другого. Ну и чтоб не было "гвоздями прибито".- я так - на "а вдруг" -
echo ~
Скрипт запускается из /etc/init.d от init и "echo ~" будет "/"Кодecho ~
xuserrunНет у меня loginctl, и не будет. И у меня попроще
$ id -u -n
live
В магос есть вот такой скрипт
id -u -nЭто не юзер иксов. В xuserrun на случай если не получилось вычислить юзера с loginctl был добавлен костыль. Это он )). Скрипт появился когда в одной из версий магоса не было системд, а во второй был.
bash-4.4$ ps|awk '/wm$/ {print $2}'
live
PID=$(ps | awk '/wm$/ {print $1}')
[ -z "$PID" ] && continue
У udev есть права чтоб запустить от юзера, но он не в курсе от которого запускать.Не совсем так, udev не знает $DISPLAY, это основная причина.
У меня определяется скриптом sfsusr.
% cat =sfsusr
#!/bin/ash
#190619
# X user detect
for i in jwm openbox metacity xfce4-session enlightenment marco twin icewm-session ;do
#echo $i
wm="`pidof $i`"
[ "$wm" = "" ] || u=`ps axu |awk '$2 ~ /^'$wm'$/ {print $1}'`
done
echo $u
скриптом sfsusr.Можно и так, но зачем затевать цикл, когда можно "jwm openbox metacity xfce4-session enlightenment marco twin icewm-session" сразу в awk
bash-4.4# ps | awk '/jwm$|openbox$|metacity$|xfce4-session$|enlightenment$|marco$|twin$|icewm-session$/ {print $1" "$2}'
872 live
сразу в awkСтремно. Можно не того нафильтровать. Как у меня - через пид надежнее
Не совсем так, udev не знает $DISPLAY, это основная причина.Да DISPLAY и еще где файл с Xauthority не знает, но я не об этом. Запустить от юзера и вывести на экран не одно и тоже.
bash-4.4# ps | awk '/jwm$|openbox$|metacity$|xfce4-session$|enlightenment$|marco$|twin$|icewm-session$/ {print $1" "$2}'Добавил i3$, в магос сработало
872 live
basename "`dirname "$XAUTORITY"`"
Не всегда. Вот XorgКодbasename "`dirname "$XAUTORITY"`"
bash-4.4# grep XAUTHORITY /proc/2317/environ
XAUTHORITY=/var/run/slim.auth
bash-4.4# grep XAUTHORITY /proc/2329/environ
XAUTHORITY=/home/live/.Xauthority
pidof trayNetUp пустойЭто скомпиленный бинарник или скрипт? ps ax |grep trayNetUp покажите
бинарник или скрипт?Скрипт, бесконечный цикл "while true"
ps ax |grep trayNetUp покажите
root@roll2103:live# trayNetUp &
[1] 6544
root@roll2103:live# ps ax|grep trayNetUp
6544 pts/0 S 0:00 /bin/sh /usr/bin/trayNetUp
6671 pts/0 S+ 0:00 grep trayNetUp
root@roll2103:live# pidof trayNetUp
root@roll2103:live#
pidof кривойА он умеет со скриптами? Тогда уж pgrep trayNetUp.
Пока в твоём prar выйдешь в интернетsudo netctl start профиль
pidof кривойНормальный. Но скрипты так не поймать. Надо pgrep -f
sudo netctl start профильИнтернет поднимался автоматом, так как на этот раз по проводу, но, по сравнению с Richy о-очень медленно. Хром вообще замучился ждать. Richy в разы отзывчивее. Я привык, поэтому и ругаюсь на тягомотину.
Это наверно опять busyboxДа.
Но как -то стремно такое использовать.Я больше 10 лет использую, и ничего, пока не умер. Так что не боись.
А он умеет со скриптами?pidof -x
Интернет поднимался автоматом, так как на этот раз по проводуЕсли netctl и NM не настроены - автонастройка идет уже после старта Х. Т.е. хотите быстрее - настройте профиль
Хром в Ричи отзывчивее при первом старте или во время браузинга?Как то пробовал хром, быстрее, но мне нужен с почтовым клиентом, поэтому Seamonkey.
хотите быстрее - настройте профильПровод то чего настраивать? Автоматом должен при наличии dns-сервера. Зачем эти лишние заморочки.
мне нужен с почтовым клиентомввв морды к почте не устраивают?
Автоматом долженТак и есть. Запуск теоретически можно перенести на более раннюю стадию.... Хотя никто не жаловался. Видимо юзают вифи
ввв морды к почте не устраивают?Привык, что браузер сообщает о новых письмах
Запуск теоретически можно перенести на более раннюю стадию....Надо практически. У меня как сделано, интерфейс появился, пошла его настройка.
Привык, что браузер сообщает о новых письмахНормальные морды типа roundcube сообщают
интерфейс появился, пошла его настройкаНу и как автонастройка угадает пароль вифи?
Ну и как автонастройка угадает пароль вифи?Если на данную сеть нет настроек, предложит настроить (скрипт wifi), если настройки есть - молча подключит (скрипт wlan.sh), после чего высветится индикатор сети в трее.
предложит настроитьУже в Xorg? Тогда смысл запускать что-то на более ранней стадии и зачем что-то еще детектить , если юзер уже настроил профиль сети и поставил в автозагрузку...
Тогда смысл запускать что-то на более ранней стадииА на более поздней смысл есть? А "чистая" и без "X"?
зачем что-то еще детектитьТвои тридцать три уведомления чем то лучше? Напрягают.
на более поздней смысл есть?Xorg GUI настройки
Твои тридцать три уведомления чем то лучше?Отключаемо. Но при чем это здесь?
Xorg GUI настройкиТы предлагаешь настраивать провод? Для чего тогда dhcp придумали?
Отключаемо.На "чистой"?
Но при чем это здесь?Сеть тоже выдаёт уведомления, и не одно. И висят они, мешают...
"Разговоры обо всем".Поговорить тоже не вредно.
как лучше сделать автозапуск от рута в prar?До Xorg - написать .service для systemd или через /etc/rc.local
логика оболочки (bash и dash) какая-то другаяДа. Чтобы наверняка лучше сделать везде симлинки на bash
sudoНе годится sudo, не передаёт привилегий.
через /etc/rc.localЛучше по аналогии с netctl - т.е. создать профиль и https://wiki.archlinux.org/title/Netctl#Enabling_a_profile
Надо запустить сеть от рута до Xorg в прар2103?Не сеть, а trayNetUp.
bash-4.4$ ls /etc/alternatives/
archiver filemanager imageeditor mediaplayer terminal wordprocessor
browser htmlviewer imageviewer pdfviewer texteditor x-session-manager
Не сеть, а trayNetUpТ.е. уже в Xorg - тогда: ~/.config/autostart
Что ты думаешь насчёт default?Меня устраивает. У меня много где использовано. Запарюсь переписывать
Если делать как в АльтеНе надо как в Альте, но и как в Puppy не надо, надо нечто среднее. В /etc/alternatives/<категория>/ помещается ссылка на исполняемый файл, если ссылок несколько, предлагается выбор. Выбранное - ссылка в /usr/local/bin/ под именем default<категория>. При таком раскладе исключаются наложение слоёв.
тогда: ~/.config/autostartТогда уж /etc/xdg/autostart/.
В /etc/alternatives/<категория>/ помещается ссылка на исполняемый файл, если ссылок несколько, предлагается выборИ выбранное сохраняется в конфиг. Хороший вариант. Особенно для тематических модулей как в Магос.
Не нужна прога - не подключай модульЕсли в /etc/alternatives/<категория>/ всего одна ссылка, запускает автоматом, молча, если пусто, сообщает, что данной категории программ нет. Мешать точно не будет.
написал юнит, в прцессах trayNetUp появился, но радости никакой,Xorg проги обычно запускают через /etc/xdg/autostart/. Че не устраивает?
Мешать точно не будет.Тогда совсем хорошо. Плохо только то, что во все имеющиеся модули надо будет добавить эти симлинки
Xorg проги обычно запускают через /etc/xdg/autostart/. Че не устраивает?Надо от рута, не через sudo.
В /etc/alternatives/<категория>/ помещается ссылка на исполняемый файл, если ссылок несколько, предлагается выбор.Вспомнил - у меня в defaultbrowser подобное реализовано
проще перечислить софт категории в скрипте или конфигеНу это кому как, но, с точки зрения производительности, проще запустить сразу по ссылке, чем перебирать кучу отсутствующего. И ещё, а если что-то совсем новое, чего нет в конфиге?
Почему sudo не устраивает? У меня с ним все tray работаютПотому что trayNet исполняет команды, требующие root-привилегий, а sudo их не передаёт "по цепочке", и, похоже, systemd тоже этим болен, только в более агрессивной стадии.
если что-то совсем новое, чего нет в конфиге?Дописать и распространить через автообновление
rtayNet исполняет команды, требующие root-привилегий, а sudo их не передаётsuid bit пробовали?
suid bit пробовали?Gtk не позволяет.
исследовать проблему с systemdВ итоге: systemd не запускает программы в иксах (или я не умею дрессировать этого дракона). Пробовал запуск из скрипта trayNetUp и напрямую из юнита - не хочет и никаких ошибок не пишет.
Запуск из /etc/xdg/autostart/ через sudo получилсяВ чем оказался секрет?
В чем оказался секрет?Сам не понял. По всем правилам не должно так работать.
Для корректных испытаний NM отключитьНикогда не нужно юзать несколько подключалок одновременно. netctl - достаточно убрать свои конфиги. NM , connman - загасить демон в автозагрузке или отключить модуль
для переносной системы busybox udhcpc (клиент) считаю предпочтительнееУже обсуждали. Без демона в большой сети при длительном подключении могут быть проблемы типа просрочки аренды ип и как следствие конфликт ип
при длительном подключенииНа переносной системе длительное подключение? Сомневаюсь.
# ./wifi
** (gtkdialog:109264): ERROR **: 12:47:20.635: gtkdialog: Error in line 7, near token 'string': syntax error
После загрузки init создает большую нагрузку на проц.Предполагаю конфликт udev.rules с systemd, первый включает, второй выключает.
Запускаю настройку wifi. Ничего не происходитУ меня нормально настроилось
написать на yadНе-е-е...
гуй отдельным скриптомНад этим можно подумать.
конфликт udev.rules с systemdТ.е. с systemd не должно работать?
Т.е. с systemd не должно работать?Почему? У меня чистый prar2103 (jwm) работает. Ты запускал наверное в виртуалке?
Ты запускал наверное в виртуалке?Нет. Проверьте кто-нибудь еще
live@roll2103:~$ ifconfig ppp0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1492
inet 31.192.131.238 netmask 255.255.255.255 destination 83.219.128.0
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 25188 bytes 31962892 (30.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14915 bytes 1242143 (1.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
live@roll2103 ..03/trayNet-alpha3-ds/etc/xdg/autostart % grep -R Name .
./trayNetUp.desktop:Name=trayNetUp
./upNet.desktop:Name=trayNetUp
грузит процессорПочему у меня тогда не грузит? Проделки systemd? Что-то не верится, что bash-скрипты грузят процессор больше, чем, например, NM.
изменить названия в *.desktopИсправил, перезалил.
Почему у меня тогда не грузит?Возможно у вас что-то есть в сохраненке, чего нет у других. Какой-то скрипт зацикливается наверное. Надо пробовать с максимальным отключением скриптов в удев и автостарте. А эти скрипты проверять запуском в консоли
на глючном NMЕсть факты?
что-то есть в сохраненкеЗагружаюсь без сохранёнки.
на стационаре достаточно 1 раз настроить netctlИли написать простейший скрипт.
вряд ли мы сможем тягаться по удобству с подключалками , которые пилят десятилетиями команды профи программеровПочему бы не попробовать?
Не тратьте времяУ меня его вагон и маленькая тележка.
Есть факты?При переходе с одной сети на другую (wifi) начинаются фокусы.
Или написать простейший скрипт.https://wiki.puppyrus.org/setups/wi-fi
При переходе с одной сети на другую (wifi) начинаются фокусы.Какие? У меня норм
Какие?Каждый разх требуются лишние телодвижения.
Если carrier пропадает (0), то иконка мигает и запускается wlan.sh, который либо находит другую сеть, либо вызывает wifi(sh) для настройки.Тогда нужно предусмотреть чекбокс: поставлена галочка - делает что выше описано, ищет, подключает другую сеть. Нет галочки - ничего не делает.
чекбокс:Излишество.
ничего не делает.И сидим без интернета?
Излишество.необходимость
И сидим без интернета?да, нужно иногда, например при настройке-тестировании других подключалок, может еще когда.
при настройке-тестировании других подключалокВ этом случае чекбокс не поможет, надо вырезать под корень, "kill `pidof trayNetUp`" на первый случай или удалить trayNetUp.desktop. Короче, нормальный тестер справится.
Назойливая автоматизация не всегда нужна.Назойливая - не нужна, нужна незаметная.
нужна незаметная.да, если в чекбоксе "автоматически переключать на доступную сеть" стоит галочка :)
отключат только те привередливые пользователи, которым автоматика не нужна- присоединяюсь.
./trayNet 1
/sys/class/net/1/carrier
(trayNet:263374): Gtk-WARNING **: 13:34:08.775: Загружаемый модуль тем не найден в module_path: «pixmap»,
(trayNet:263374): Gtk-WARNING **: 13:34:08.775: Загружаемый модуль тем не найден в module_path: «pixmap»,
(trayNet:263374): Gtk-WARNING **: 13:34:08.776: Загружаемый модуль тем не найден в module_path: «pixmap»,
(trayNet:263374): Gtk-WARNING **: 13:34:08.777: Загружаемый модуль тем не найден в module_path: «pixmap»,
(trayNet:263374): Gtk-WARNING **: 13:34:08.777: Загружаемый модуль тем не найден в module_path: «pixmap»,
Ошибка сегментирования
Ну вы даёте, разве у нас есть сетевой интерфейс "1"? Подставляйте что-нибудь реально существующее, а ещё лучше запустите trayNetUp, он сам разберётся.Код./trayNet 1
/sys/class/net/1/carrier
......................
Ошибка сегментирования
но без картинокКартинки в /usr/share/pixmaps
Ну вы даёте, разве у нас есть сетевой интерфейс "1"?
подсовываю несуществующий интерфейс, напр trayNet eth0 - тоже с ошибкой сегментирования падаетпс
Сегментацию я уберу.Строка 20 trayNet.c
if ((fs=fopen(pthc,"r"))==0) exit(1);
Картинки в /usr/share/pixmapsмодуль подключен, картинки на месте
cat: /sys/class/net/enp0s3/carrier: Недопустимый аргументТак и должно быть. При "enp0s3 down" в carrier ничего нет, сразу конец файла (EOF), cat его открыть не может.
Так и должно быть. При "enp0s3 down" в carrier ничего нет, сразу конец файла (EOF), cat его открыть не может.понял
/usr/bin/lan.sh: 53: [: 1: unexpected operatorДа. Надо изменить на
видимо из-за причины озвученной выше?
if grep -q 1 /sys/class/net/$IFACE/carrier; then
точно eth0 ? а не $IFACE ?Конечно $IFACE, мой ляп. Спасибо, исправил, перезалил.
ACTION=="add|change", KERNEL=="eth?", SUBSYSTEM=="net", RUN+="/usr/bin/dhcpcd %k"
Но, то что прекрасно работает в Richy, который без systemd, не желает устойчиво работать в prar.А в чем проблема? Ведь, если запустить prar2110 в режиме base_only и с выключенным скриптом net-auto, то никаких служб systemd, относящихся к сети, не будет. И значит ничего не будет конфликтовать с UpNet.
А в чем проблема?От udev не работает
с выключенным скриптом net-autoПервым делом выключил.
ничего не будет конфликтовать с UpNet.Не конфликтует
обнаружение разных сетевых приложенийС последующим уничтожением? :)
проблема конфликта с systemdТакое впечатление, что systemd подавляет запущенное от udev напрямую. При исполнении приведённого мной выше правила интерфейс успевает подняться, но остаётся ненастроенным, pid dhcpcd отсутствует. Запуск "dhcpcd eth0" из консоли - норма.
Написать service файлСаша, зачем делать сложным, то, что проще простого? К чему эта "бюрократия". Ты наверняка помнишь ifplugd, он был в ранних puppy, и представляешь, что он делает: поднимает интерфейс, проверяет несущую, если есть, исполняет заданную в конфиге команду. Это же скрипт на три строчки. А посмотри исходник, плюс библиотека. Наворочено, чёрт ногу сломит. "Чудотворец" ещё тот. А ты за его поделие держишься, когда можно сделать гораздо проще.
При исполнении приведённого мной выше правила интерфейс успевает подняться, но остаётся ненастроенным, pid dhcpcd отсутствует.Прописать debug в командной строке, при запуске системы. Это включит journalctl, где будет все с момента старта линукс. Смотреть командой sudo journalctl.
Process '/usr/bin/dhcpcd eth0' failed with exit code 1Возможно, не дожидается подъёма интерфейса (приблизительно около 3 секунд). Но от udev через wlan.sh, где заложено ожидание
while [ "$(cat /sys/class/net/$IFACE/operstate)" != "up" ]; do sleep 1; done
в prar /etc/init.d, как я понял, не задействован?Нет. Задействован только в ddr lfd
за его поделие держишься, когда можно сделать гораздо проще.Можно, но переделка инициализации приведет к переделке кучи пакетов донорского дистра
удобный гуй переключения сетейЧем неудобен connect (gtkdialog)?
переделка инициализацииНе надо переделывать всю инициализацию, нужна только сеть. Значит надо понять, как укоротить щупальца монстру.
Вифи уже есть старый и iwdНе доверяю я этому iwd, потому что daemon и не сообществом написан.
Попытки автоопределения ситуаций - ненужное усложнение.Иногда нужное. Вот у меня два роутера: mikrotik (оптоволокно) и Yota (4G). Иногда у провайдера (оптоволокно) случаются аварии и приходится переходить на резерв (4G). Твой хвалёный NM (Altlinux) резерв автоматом включать никак не желает, только мышкотыком. UpNet (Richy) это делает автоматически, правда пока через перезагрузку. Имитировать перезагрузку можно командой "udevadm trigger", но пока нестабильно, вылезают зомби-процессы. Для переносного дистрибутива определять знакомую сеть автоматически пожалуй самое то.
Чем неудобен connect (gtkdialog)?Я не хожу с ноутом по разным вифи. Не знаю что удобно
Идеи-то хорошиеПоэтому и силы не надо жалеть.
Я не хожу с ноутом по разным вифиЯ тоже, ноута нет.
Не знаю что удобноЯ тоже, зато знаю, что неудобно.
busybox v1.32.0 собрана кривоватоОткуда такой взялся ? В исо нет. В арчрепе 133
Откуда такой взялся ?Не знаю, тебе видней... В базе.
переходите на 2110Хорошо. Но busybox всё равно нужен.
busybox всё равно нужен.Если из арчрепы не подойдет - включайте подходяший в свой модуль
В 2110 busybox есть, v1.33.1Это из инитрд. Он урезанный. В арчрепе есть еще и полный
В арчрепе есть еще и полныйИнтересно посмотреть.
Интересно посмотреть.https://archlinux.org/packages/?sort=&q=busybox&maintainer=&flagged=
Зря ты gtk2 выкинулТак софта под него не осталось живого. А как вайланд по дефолту пойдет - вообще запускаться перестанет. Для антикваров гтк2 и все под него есть в ddr lfd
А как вайланд по дефолту пойдетНе верю, да и не надо.
На QtТам же и на гтк3 (кстати, на гтк2 нет вообще) : connman-gtk попроще
Сеть wifi настроить не удалосьПроверял - у меня норм
Моё мнение, connman - в топкуТ.к. от наших обратной связи не дождаться - я ориентировался на общий тренд - nm
общий тренд - nmЛожное направление.
Сеть wifi настроить не удалось, не поднимается интерфейс через GUIПричина:
root@roll2110:live# rfkill list
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
Но, то что прекрасно работает в Richy, который без systemd, не желает устойчиво работать в prar.
Обратите внимание, что запуск программ, которые обращаются к сети или монтируют / размонтируют файловые системы, не разрешены внутри правил udev из-за изолированной программной среды по умолчанию, которая применяется в systemd-udevd.service.udev man (https://www.freedesktop.org/software/systemd/man/udev.html#RUN%7Btype%7D)
Этот "вывих" вправляется просто: "su root" в начало upNet.sh. Осталось укротить rfkill от connman.ЦитатаОбратите внимание, что запуск программ, которые обращаются к сети или монтируют / размонтируют файловые системы, не разрешены внутри правил udev из-за изолированной программной среды по умолчанию, которая применяется в systemd-udevd.service.
вправляется простоДа, но все же не удается
RUN+="/usr/bin/dhcpcd %k"
RUN+="/usr/bin/dhcpcd %k"А если RUN+="/bin/su root", RUN+="/usr/bin/dhcpcd %k" ?
При исполнении приведённого мной выше правила интерфейс успевает подняться, но остаётся ненастроенным, pid dhcpcd отсутствует.
обсуждалась здесь с Поттерингом.Нашли с кем обсуждать, он же явно рекламирует своё поделие.
Soft blocked: yesЯ нигде такое не вставлял и у меня такого нет
Я нигде такое не вставлял и у меня такого нет
live@roll2110 /usr/lib/udev/rules.d % grep -R rfkill
50-udev-default.rules:KERNEL=="rfkill", MODE="0664"
60-rfkill.rules:KERNEL=="rfkill", GROUP="rfkill", MODE="0664"
99-systemd.rules:# Pull in rfkill save/restore for all rfkill devices
99-systemd.rules:SUBSYSTEM=="rfkill", ENV{SYSTEMD_RFKILL}="1"
99-systemd.rules:SUBSYSTEM=="rfkill", IMPORT{builtin}="path_id"
99-systemd.rules:SUBSYSTEM=="misc", KERNEL=="rfkill", TAG+="systemd", ENV{SYSTEMD_WANTS}+="systemd-rfkill.socket"
Возможно это происходит в ситуации с подключением провода и вифи одновременноЯ сам тут ничего не крутил
99-systemd.rules:SUBSYSTEM=="rfkill", ENV{SYSTEMD_RFKILL}="1"Похоже это.
Возможно это происходит в ситуации с подключением провода и вифи одновременно.Нет.
Слелайте разблок в стартовых скриптахТак и хочу сделать.
Похоже это.Нет. В отключении wifi виноват connman. Отправил его в noload, блокировка пропала. Говорил же - в топку.
виноват connmanА ведь я еще давно говорил: :)
Т.е. всего лишь прописать в UpNet обнаружение разных сетевых приложений, типа NM, connman и т.д. и выдать сообщение, что с ними не гарантируется работа. Имхо.Просто не упомянул более жесткий вариант, когда эти сетевые приложения
У меня так и сделано. За исключением netctl , который не запускает демонов и если нет его конфигов - никому не мешаетНесколько подключалок одновременно по любому зло.Значит их надо делать отдельными модулями или пусть пользователь выбирает по "defaultconnect".
За исключением netctl , который не запускаетЧто же тогда поднимает eth0?
Если никаких управлялок нет - скрипт net-auto запустит dhcpcd.Тогда добавь туда UpNet, не запуск, а просто выход.
Ну и награфоманеноКогда-то вдохновлялся вашим ранним скриптом
Когда-то вдохновлялся вашим ранним скриптомУ меня сто-о-олько не было. :) Может его вообще убрать, UpNet конфликтует только с ним, и то не фатально, только некоторая задержка. С connman конфликта не было, кроме rfkill. С netctl не проверял. Начальные строки net-auto можно поместить в upNet.sh, чтоб в присутствии старших upNet не путался под ногами.
Может его вообще убратьПеренесите в свой модуль и добавьте в начало: which upNet.sh && exit
Перенесите в свой модуль и добавьте в начало: which upNet.sh && exitБессмыслица. "Если есть upNet, то его выключить"
загружено 3 разИ тишина...
udhcpd умеет все то же?Не знаю, что такого умеет isc-dhcpd, поэтому не могу сравнить, но за долгие годы у меня нареканий к udhcpc нет. Надо только подсунуть ему udhcpc.sh (https://git.busybox.net/busybox/tree/examples/udhcp/simple.script).
root@pc:~# /bin/trayNetUp
bash: /bin/trayNetUp: cannot execute: required file not found
root@pc:~# /bin/trayNet
bash: /bin/trayNet: не удаётся запустить бинарный файл: Ошибка формата выполняемого файла
root@pc:~# file /mnt/live/memory/images/SFS/trayNet-alfa9-ds.sfs-rw/usr/bin/trayNet
/mnt/live/memory/images/SFS/trayNet-alfa9-ds.sfs-rw/usr/bin/trayNet: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped