Bug 18316 - Заданный WM для заданного пользователя
Summary: Заданный WM для заданного пользователя
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: xinitrc (show other bugs)
Version: unstable
Hardware: all Linux
: P2 enhancement
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-23 19:17 MSK by Evgeny Sinelnikov
Modified: 2012-07-02 16:12 MSK (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Sinelnikov 2008-12-23 19:17:31 MSK
У меня возник вопрос о том, как лучше сделать запуск заданного приложения в качестве window manager (WM) для заданного пользователя, на произвольном display manager (DM), использующем xinitrc. То есть нужно, чтобы по имени пользователя можно был задать фиксированный WM.

Текущий вариант Xsession не позволяет переопределить WM, если он задан не как default, иначе можно было бы попытаться воспользоваться prefdm, хотя он всё равно не позволяет выбирать WM по пользователю. Можно было бы воспользоваться ~/.xinitrc, но это механизм будет работать только если DM не указал WM, даже как default.

Для решения этой задачи, я предлагаю добавить возможность запуска заданного WM из каталога /etc/X11/xsession.user.d по имени пользователя, то есть запускать в качестве фиксированного WM для пользователя:
/etc/X11/xsession.user.d/$USER

Вариант моего решения доступен в git:
http://git.altlinux.org/people/sin/packages/xinitrc.git
Comment 1 Dmitry V. Levin 2008-12-23 19:21:05 MSK
Функционала wm-select недостаточно?
Comment 2 Evgeny Sinelnikov 2008-12-23 21:41:38 MSK
(In reply to comment #1)
> Функционала wm-select недостаточно?
> 
То есть выбор WM при входе в систему...
Да, это немного не то... Нужно уметь запустить для заданного пользователя фиксированную среду... То есть любое заданное приложение без возможности выбора - выбор определяет администратор. Это может быть, например, рабочее место кассира...

Пользователь не должен уметь изменить себе среду выбором из DM... В самом общем случае нужно написать свой DM... Тем не менее xinitrc, в текущем его виде всё равно придётся обходить...

Мой же вариант предполагает возможность воспользоваться для этого любым стандартным DM.
Comment 3 Konstantin Baev 2009-03-06 16:51:01 MSK
Можно ли как-то форсировать решение этой баги? Изменения небольшие, ничего не ломают, но нужные. Не хотелось бы из-за этого делать форк.
Comment 4 Dmitry V. Levin 2009-03-07 00:44:19 MSK
(In reply to comment #3)
> Можно ли как-то форсировать решение этой баги? Изменения небольшие, ничего не
> ломают, но нужные. Не хотелось бы из-за этого делать форк.

Я не против, но предложенный коммит не вполне завершён:
каталог /etc/X11/xsession.user.d добавлен в provides, но не запакован.
Comment 5 Konstantin Baev 2009-03-07 02:44:57 MSK
(В ответ на комментарий №4)
> (In reply to comment #3)
> > Можно ли как-то форсировать решение этой баги? Изменения небольшие, ничего не
> > ломают, но нужные. Не хотелось бы из-за этого делать форк.
> 
> Я не против, но предложенный коммит не вполне завершён:
> каталог /etc/X11/xsession.user.d добавлен в provides, но не запакован.

Ах, да, я это исправлял уже. Правда у себя и только в ветке 4.1

http://git.etersoft.ru/people/kipruss/packages/?p=xinitrc.git;a=commitdiff;h=891ca4427480b5c624dfd57ee4cd9804bb7eb2f0

(два моих коммита до приведённого - не нужны)

Если это принципиально, то оформлю все красиво - в гите на altlinux.org одним красивым коммитом. Но надеюсь, этого не потребуется ;)
Comment 6 Evgeny Sinelnikov 2009-05-06 13:24:08 MSD
Хочу уточнить вопрос о добавлении этой особенности - запуск заданного WM, или любого специального скрипта, для фиксированного пользователя. Решения через хомячок не устраивают - пользователь не должен на это влиять.

Я объединил у себя в git последние изменения xinitrc:
http://git.altlinux.org/people/sin/packages/xinitrc.git
Comment 7 Evgeny Sinelnikov 2011-08-06 12:59:26 MSK
Сделал отдельный патч поверх текущего релиза (2.4.34-alt2), поставил на тестовую сборку:

$ ssh git.alt task show
id=51586 locked=yes shared=no test_only=yes repo=sisyphus owner=sin state=BUILDING try=1 iter=1
 100:dir=/people/sin/packages/xinitrc.git
 100:tag_name=2.4.35-alt1
 100:tag_id=30472dc198cd4b46e6e4239be0e15980f2d5d0fc
 100:tag_author=Evgeny Sinelnikov (Sin) <sin@altlinux.org>
 100:userid=sin
Comment 8 Repository Robot 2012-07-02 16:12:22 MSK
xinitrc-2.4.36-alt1 -> sisyphus:

* Tue Jun 26 2012 Michael Shigorin <mike@altlinux> 2.4.36-alt1
- prefdm: Added nodm support by Max Kosmach (closes: #27449).

* Sat Aug 06 2011 Evgeny Sinelnikov <sin@altlinux> 2.4.35-alt1
- Xsession: add xsession.user.d for fixed wm program per user
  (closes #18316).