У меня на git.alt лежит alterator.git с чуть измененными d.scm и alteratord.scm, который добавляет возможность запуска alterator'а от простого юзера. При запуске путь к сокету определяется через переменную TMPDIR, например /tmp/.private/testuser/alterator/.socket. У root'а путь к сокету всегда /tmp/alterator/.socket. Есть обработка ситуации с отсутствием переменной TMPDIR Права на сокет при запуске от root'а как обычно root._alterator:660, от юзера testuser.testuser:660 PS: кстати сокет лежит там же, где свой сокет создает alterator-browser-qt
Created attachment 5021 [details] Добавляет интеллект по поиску каталога для сокета и лога Патч наглядно демонстрирует что изменения сводятся лишь к добавлению интеллекта по формированию пути для создания сокета и лога. Изменение в alterator-cmdline пока не прикладываю, т.к. его как следует не протестировал.
На всякий -- когда-то (кажется, в 3.0) alterator-i18n понимал разницу между запуском от рута и от пользователя, соответственно правил /etc/sysconfig/i18n и ~/.i18n; и это было хорошо.
Зачем его от пользователя запускать? Какая задача решается?
(В ответ на комментарий №3) > Зачем его от пользователя запускать? Какая задача решается? Настройка терминальных соединений на тонком клиенте и собственно их запуск. Это аналог альтового проекта Helios: squashfs образ ТК, Xorg+пакет autologin, запуск "Списка соединений" с кнопками "Подключится", "Информация" и "Настройка" (последняя просто запускает acc) http://git.altlinux.org/people/snejok/packages/?p=alterator-thinner.git;a=summary
(В ответ на комментарий №3) > Зачем его от пользователя запускать? Когда-то это было можно и использовалось. > Какая задача решается? Разные настройки для разных пользователей.
(In reply to comment #5) > (В ответ на комментарий №3) > > Зачем его от пользователя запускать? > Когда-то это было можно и использовалось. > > > Какая задача решается? > Разные настройки для разных пользователей. Может это тогда другой инструмент? Т.е. не ставить такую задачу перед альтератором и найти другое решение? Он же (альтератор) "плоский" и понятный, если исходить из того, что это инструмент администратора.
(In reply to comment #1) > Изменение в alterator-cmdline пока не прикладываю, > т.к. его как следует не протестировал. А оно вообще нужно? Прикидывается работающим с приложенным патчем. (In reply to comment #6) > > > Какая задача решается? > > Разные настройки для разных пользователей. > Может это тогда другой инструмент? Например? :)
(В ответ на комментарий №7) > (In reply to comment #1) > > Изменение в alterator-cmdline пока не прикладываю, > > т.к. его как следует не протестировал. > А оно вообще нужно? Прикидывается работающим с приложенным патчем. Нужно: от простого юзера тоже запускаю alterator-cmdline <skip>
К тому, что у меня alterator-cmdline от простого юзера как раз и работает; посмотрел -- на первый взгляд не вижу, что ещё в нём править. Собсно такая сборка alterator со вчера работает -- собирать тестовый таск или сразу в сизиф, есть возражения?
(В ответ на комментарий №9) > К тому, что у меня alterator-cmdline от простого юзера как раз и работает; > посмотрел -- на первый взгляд не вижу, что ещё в нём править. Я думаю это из-за того, что alteratord _уже_ запущен от _обычного_юзера_, возможно его запустил acc (alterator-standalone). Попробуйте его прибить и запустить alterator-cmdline не получится. Дело в том, что alterator-cmdline: - не умеет работать без alteratord и использует его сокет - /var/run/alteratord/.socket; - запущенный alterator-cmdline от обычного пользователя не может писать в сокет, т.к. там srw-rw---- 1 root _alteratord /var/run/alteratord/.socket - не умеет (как и ahttpd) самостоятельно запускать alteratord (а вот acc (alterator-standalone) умеет); Мой патч как раз исправляет третий пункт: учит alterator-cmdline запускать alteratord, если он не запущен (от текущего юзера). > Собсно такая сборка alterator со вчера работает -- собирать тестовый таск или > сразу в сизиф, есть возражения? Т.к. у нас нет "генерального конструктора" по alterator'у, то лучше тестовый и попросить протестить в sisyphus@/community@
(В ответ на комментарий №10) <skip> > - не умеет (как и ahttpd) самостоятельно запускать alteratord (а вот acc > (alterator-standalone) умеет); > > Мой патч как раз исправляет третий пункт: учит alterator-cmdline запускать > alteratord, если он не запущен (от текущего юзера). Я имел ввиду вот этот патч: http://git.altlinux.org/people/snejok/packages/?p=alterator-old.git;a=commitdiff;h=a7f5eca5869dd4935a6744dc69dcdd4cd8730f22 Вот его я не очень хорошо протестировал и не уверен что это верное решение.
(In reply to comment #10) > Я думаю это из-за того, что alteratord _уже_ запущен от _обычного_юзера_, > возможно его запустил acc (alterator-standalone). Попробуйте его прибить и > запустить alterator-cmdline не получится. В том-то и дело, что просто работает: $ pidof alteratord $ ls -l $TMP/alterator/browser-sock /bin/ls: cannot access .../alterator/browser-sock: No such file or directory $ /usr/sbin/alterator-cmdline -l /mkimage/arches action list name:32-bit label:i586 $ _
(В ответ на комментарий №12) > (In reply to comment #10) > > Я думаю это из-за того, что alteratord _уже_ запущен от _обычного_юзера_, > > возможно его запустил acc (alterator-standalone). Попробуйте его прибить и > > запустить alterator-cmdline не получится. > В том-то и дело, что просто работает: > > $ pidof alteratord > $ ls -l $TMP/alterator/browser-sock > /bin/ls: cannot access .../alterator/browser-sock: No such file or directory > $ /usr/sbin/alterator-cmdline -l /mkimage/arches action list > > name:32-bit > label:i586 > $ _ Дык "-l" же! :) === /usr/sbin/alterator-cmdline === (if (option-ref options 'local #f) (begin (alterator-init-local) (d-init-local)) (alterator-init-global)) === /usr/sbin/alterator-cmdline === а мой патч добавляет (d-init-global): (if (option-ref options 'local #f) (begin (alterator-init-local) (d-init-local)) (begin (alterator-init-global) (d-init-global)))
А, вот что. Посмотрел d.scm -- похоже, всё правильно: это остатки той самой былой роскоши и именно их и надо было вновь задействовать. УМВР и без -l.
alterator-4.21-alt1 -> sisyphus: * Mon May 14 2012 Michael Shigorin <mike@altlinux> 4.21-alt1 - add support for non-privileged execution of alteratord, alterator-cmdline (by Lenar Shakirov; closes: #23377) - fix finding out current user: "cuserid" not working in hasher (by Lenar Shakirov)