Сайт | Скачать | Видео | Wiki

Автор Тема: UpNet-0.3  (Прочитано 39230 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ansivar

  • Постоялец
  • ***
  • Сообщений: 145
  • Репутация: +9/-0
Re: UpNet-0.3
« Ответ #30 : 22 Август 2021, 13:27:57 »
несколько X11 со своими WM:
https://linux-ru.ru/viewtopic.php?f=32&t=1587


Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #31 : 22 Август 2021, 17:14:12 »
несколько X11 со своими WM:
Нет, несколько слоёв aufs с WM.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #32 : 23 Август 2021, 18:29:09 »
Код
eval $(grep ^CURRENTWM /home/live/.xinitrc)
PID=$(pidof $CURRENTWM) || continue
Теперь прекрасно работает, но, как говорит sfs, пользователь "прибит гвоздями". Решений вижу два:
- "прибить гвоздями" xinitrc, сделав его глобальнымб например в /etc/X11/xinit/
- брать переменную $USER из /proc/$pid/environ любой программы, запущенной из autostart
Что лучше?
Добавлю: взять переменную из environ получается только busybox grep, полноценный grep "пишет отписку" (или я вразумит его не умею?).
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: UpNet-0.3
« Ответ #33 : 23 Август 2021, 19:10:51 »
полноценный grep "пишет отписку"
Код
$ strings /proc/$pid/environ | grep USER


В PRA strings в модуле DEVX, который не подключен по умолчанию, так что можно заменить на xargs -0 -L1 -a.
« Последнее редактирование: 23 Август 2021, 22:47:19 от krasnyh »

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #34 : 24 Август 2021, 07:01:59 »
 Смысл, если есть busybox?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
Re: UpNet-0.3
« Ответ #35 : 24 Август 2021, 10:21:14 »
"прибит гвоздями"
У меня определяется скриптом sfsusr. Грепает процессы на юзера WM. Кривовато, но других идей нет
Решений вижу два:
Оба такие же кривые как и мое. Но рабочие

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #36 : 24 Август 2021, 11:20:58 »
Оба такие же кривые
То то и оно :(
Вот ещё кривулька:
Код
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
« Последнее редактирование: 24 Август 2021, 11:45:51 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: UpNet-0.3
« Ответ #37 : 24 Август 2021, 15:18:49 »
Чет не понял какого юзера вы там добываете? ))

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #38 : 24 Август 2021, 16:33:33 »
 От которого сессия запущена.
Честно говоря, дурью маюсь. Пользователь сессии один - live, но вдруг кому-то захочется другого. Ну и чтоб не было "гвоздями прибито".
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: UpNet-0.3
« Ответ #39 : 24 Август 2021, 17:06:39 »
От которого сессия запущена.
иксы то есть?
В магос есть вот такой скрипт
https://github.com/magos-linux/magos-linux/blob/master/make_MagOS/files/patches/rootfs/MagOS/usr/lib/magos/scripts/xuserrun
Нужен для запуска чего нибудь от пользователя иксов. Соответственно чтоб получить его имя в скрипте делаю
xuserrun whoami


Оффлайн knn

  • Ветеран
  • *****
  • Сообщений: 2538
  • Репутация: +33/-0
Re: UpNet-0.3
« Ответ #40 : 24 Август 2021, 17:19:49 »
Пользователь сессии один - live, но вдруг кому-то захочется другого. Ну и чтоб не было "гвоздями прибито".
- я так - на "а вдруг" -
Код
echo ~
# с "вытекающими"/ или недопонял ...
Gr4D, Grub2; HP Mini 210 VT - Intel Atom N470  @ 1.83GHz, Intel GMA3150, RAM=2 ГБ ;
Sams-n110: N270 - 1,6 ГГц, Intel GMA 950, RAM=2 ГБ.

Оффлайн DdShurick

  • Это Риччи
  • Модератор
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Автор темы
  • Старый чайник
Re: UpNet-0.3
« Ответ #41 : 24 Август 2021, 17:53:57 »
Код
echo ~
Скрипт запускается из /etc/init.d от init и "echo ~" будет "/"
xuserrun
Нет у меня loginctl, и не будет. И у меня попроще
trayNetUp
Код
#!/bin/sh
##trayNetd управление отображением сетевых интерфейсов в трее. DdShurick GPL-v2. 24.08.2021

finduser () {
find /proc -maxdepth 1 -type d -name [1-9]* | while read P
do
awk -F\= '/USER/ {print $2}' $P/environ | grep -v root && break
done
}

while true
do
sleep 5
[ -z "$user" ] && export user=$(finduser)
eval $(grep ^CURRENTWM /home/$user/.xinitrc)
PID=$(pidof $CURRENTWM) || continue
[ -z "$DISPLAY" ] && export $(grep DISPLAY /proc/$PID/environ)

ls -1 /sys/class/net | grep -v lo | while read IFACE
do
if [ "$(grep -q  down /sys/class/net/$IFACE/operstate)" ]; then
[ -f /var/run/${IFACE}.pid ] && rm /var/run/${IFACE}.pid
continue
fi
[ -f /var/run/${IFACE}.pid ] && pidof trayNet | grep -q "$(cat /var/run/${IFACE}.pid)" && continue
trayNet "$IFACE" &
echo $! > /var/run/${IFACE}.pid
done
[ "$(grep -q up /sys/class/net/*/operstate)" -o "$(pidof trayNet)" ] || trayNet none
done
      

« Последнее редактирование: 24 Август 2021, 17:57:47 от DdShurick »
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: UpNet-0.3
« Ответ #42 : 24 Август 2021, 19:22:53 »
Код
$ id -u -n
live
Команда отсюда:
В магос есть вот такой скрипт

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re: UpNet-0.3
« Ответ #43 : 24 Август 2021, 19:55:26 »
id -u -n
Это не юзер иксов. В xuserrun на случай если не получилось вычислить юзера с loginctl был добавлен костыль. Это он )). Скрипт появился когда в одной из версий магоса не было системд, а во второй был.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: UpNet-0.3
« Ответ #44 : 24 Август 2021, 20:00:23 »
А можно пример ситуации, где выхлоп не совпадет с USER, который вошел в систему? Я проверил на разных iso - PRA (live), ArchLinux (root), Richy64 (live).


Или "юзер иксов" это что то особое?