<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>18316</bug_id>
          
          <creation_ts>2008-12-23 19:17:31 +0300</creation_ts>
          <short_desc>Заданный WM для заданного пользователя</short_desc>
          <delta_ts>2012-07-02 16:12:22 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>xinitrc</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgeny Sinelnikov">sin</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>erthad</cc>
    
    <cc>evg</cc>
    
    <cc>glebfm</cc>
    
    <cc>iv</cc>
    
    <cc>kipruss</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>viy</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>83266</commentid>
    <comment_count>0</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2008-12-23 19:17:31 +0300</bug_when>
    <thetext>У меня возник вопрос о том, как лучше сделать запуск заданного приложения в качестве 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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83268</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2008-12-23 19:21:05 +0300</bug_when>
    <thetext>Функционала wm-select недостаточно?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83285</commentid>
    <comment_count>2</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2008-12-23 21:41:38 +0300</bug_when>
    <thetext>(In reply to comment #1)
&gt; Функционала wm-select недостаточно?
&gt; 
То есть выбор WM при входе в систему...
Да, это немного не то... Нужно уметь запустить для заданного пользователя фиксированную среду... То есть любое заданное приложение без возможности выбора - выбор определяет администратор. Это может быть, например, рабочее место кассира...

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

Мой же вариант предполагает возможность воспользоваться для этого любым стандартным DM.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86926</commentid>
    <comment_count>3</comment_count>
    <who name="Konstantin Baev">kipruss</who>
    <bug_when>2009-03-06 16:51:01 +0300</bug_when>
    <thetext>Можно ли как-то форсировать решение этой баги? Изменения небольшие, ничего не ломают, но нужные. Не хотелось бы из-за этого делать форк.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86957</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2009-03-07 00:44:19 +0300</bug_when>
    <thetext>(In reply to comment #3)
&gt; Можно ли как-то форсировать решение этой баги? Изменения небольшие, ничего не
&gt; ломают, но нужные. Не хотелось бы из-за этого делать форк.

Я не против, но предложенный коммит не вполне завершён:
каталог /etc/X11/xsession.user.d добавлен в provides, но не запакован.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86963</commentid>
    <comment_count>5</comment_count>
    <who name="Konstantin Baev">kipruss</who>
    <bug_when>2009-03-07 02:44:57 +0300</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; (In reply to comment #3)
&gt; &gt; Можно ли как-то форсировать решение этой баги? Изменения небольшие, ничего не
&gt; &gt; ломают, но нужные. Не хотелось бы из-за этого делать форк.
&gt; 
&gt; Я не против, но предложенный коммит не вполне завершён:
&gt; каталог /etc/X11/xsession.user.d добавлен в provides, но не запакован.

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

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

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

Если это принципиально, то оформлю все красиво - в гите на altlinux.org одним красивым коммитом. Но надеюсь, этого не потребуется ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90816</commentid>
    <comment_count>6</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2009-05-06 13:24:08 +0400</bug_when>
    <thetext>Хочу уточнить вопрос о добавлении этой особенности - запуск заданного WM, или любого специального скрипта, для фиксированного пользователя. Решения через хомячок не устраивают - пользователь не должен на это влиять.

Я объединил у себя в git последние изменения xinitrc:
http://git.altlinux.org/people/sin/packages/xinitrc.git</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>123693</commentid>
    <comment_count>7</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2011-08-06 12:59:26 +0400</bug_when>
    <thetext>Сделал отдельный патч поверх текущего релиза (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) &lt;sin@altlinux.org&gt;
 100:userid=sin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132130</commentid>
    <comment_count>8</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2012-07-02 16:12:22 +0400</bug_when>
    <thetext>xinitrc-2.4.36-alt1 -&gt; sisyphus:

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

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

    </bug>

</bugzilla>