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

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

    <bug>
          <bug_id>26405</bug_id>
          
          <creation_ts>2011-10-04 18:00:31 +0400</creation_ts>
          <short_desc>incompatible with rundm (xinitrc)</short_desc>
          <delta_ts>2021-01-21 12:41:41 +0300</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>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="ildar">ildar</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>aen</cc>
    
    <cc>antohami</cc>
    
    <cc>anubix</cc>
    
    <cc>aris</cc>
    
    <cc>glebfm</cc>
    
    <cc>iv</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>nwtour</cc>
    
    <cc>placeholder</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
    
    <cc>shakirov</cc>
    
    <cc>slava</cc>
    
    <cc>slazav</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>125909</commentid>
    <comment_count>0</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2011-10-04 18:00:31 +0400</bug_when>
    <thetext>1. включаю Lightdm:
  echo LDM &gt; /etc/sysconfig/desktop
2. service dm restart
Lightdm не стартует.

strace на rundm показывает:
13510 13:21:51 execve(&quot;/usr/sbin/lightdm&quot;, [&quot;lightdm&quot;, &quot;-nodaemon&quot;], [/* 33 vars */]) = 0
[...]
13510 13:21:51 write(2, &quot;Unknown option -nodaemon\n&quot;, 25) = 25
13510 13:21:51 write(2, &quot;Run &apos;lightdm --help&apos; to see a fu&quot;..., 74) = 74

Оно вообще работает?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125913</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2011-10-04 18:50:08 +0400</bug_when>
    <thetext>Подозреваю, что проблема не в этом.
Рискну предположить что используется systemd, и параметр -nodaemon получается из prefdm.service.
Попробуй скопировать /lib/systemd/system/prefdm.service в /etc/systemd/system, убрать в нём -nodaemon и перезапустить сервис.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125915</commentid>
    <comment_count>2</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2011-10-04 20:28:28 +0400</bug_when>
    <thetext>(В ответ на комментарий №1)
&gt; Подозреваю, что проблема не в этом.
&gt; Рискну предположить что используется systemd
Смело, но нет, ни разу не systemd.

Обычный init.d. Обычный Сизиф+ GNOME 3.2. gdm в нём не запускается, поэтому пошёл искать альтернативы.

Мне кажется, что проблему легко расковырять, запустив рутом вот это:
strace -fto /tmp/rundm.stra rundm
посмотри, что там rundm execve-ит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>125916</commentid>
    <comment_count>3</comment_count>
    <who name="Lenar Shakirov">shakirov</who>
    <bug_when>2011-10-04 20:46:34 +0400</bug_when>
    <thetext>Опция &quot;-nodaemon&quot; добавляется здесь:
http://git.altlinux.org/gears/x/xinitrc.git?p=xinitrc.git;a=blob;f=xinitrc/src/rundm.c#l46

gdm и kde ее понимают, lxdm ее просто игнорирует</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126940</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2011-11-14 16:40:51 +0400</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; Опция &quot;-nodaemon&quot; добавляется здесь:
&gt; http://git.altlinux.org/gears/x/xinitrc.git?p=xinitrc.git;a=blob;f=xinitrc/src/rundm.c#l46
&gt; 
&gt; gdm и kde ее понимают, lxdm ее просто игнорирует

-nodaemon понимает только xdm.
остальные все игнорируют, у кого-то это получается лучше, у кого-то хуже.
gdm пытаясь игнорировать, выцепляет &quot;d&quot; и включает debug.
lightdm сейчас себя ведёт также.

Перевешиваю я багу на xinitrc с просьбой не добавлять этот параметр.
Возможно лучше добавлять -nodaemon только для xdm внутри prefdm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129055</commentid>
    <comment_count>5</comment_count>
    <who name="Zerg">anubix</who>
    <bug_when>2012-02-18 16:32:06 +0400</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; -nodaemon понимает только xdm.
&gt; остальные все игнорируют
Не говорите за всех. kdm-ы тоже понимают</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137468</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-01-31 16:14:45 +0400</bug_when>
    <thetext>Еще раз прошу адаптировать rundm для gdm и lightdm.
Прошу передавать &quot;-nodaemon&quot; только для xdm и kdm.
Уже несколько лет gdm работает в режиме debug, с этим надо что-то делать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137470</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-01-31 16:49:44 +0400</bug_when>
    <thetext>/etc/X11/prefdm на данный момент поддерживает 8 dm&apos;ов.
Для каждого из них нужно определить, нужен -nodaemon или нет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137471</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-01-31 18:13:02 +0400</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; /etc/X11/prefdm на данный момент поддерживает 8 dm&apos;ов.
&gt; Для каждого из них нужно определить, нужен -nodaemon или нет.

xdm - поддерживает
kdm - поддерживает
wdm - поддерживает
gdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug
mdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug
lightdm - не поддерживает. , реагирует на &quot;-d&quot; и включает debug. Специально патчится чтобы не падать с &quot;-nodaemon&quot;

entrance - &quot;--nodaemon&quot; или &quot;-n&quot;. Специально патчится чтобы не падать с &quot;-nodaemon&quot;

lxdm - в аргументах &quot;-D&quot; - debug, а &quot;-d&quot; - daemon, так что -nodaemon скорее всего работает ровно наоборот.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137475</commentid>
    <comment_count>9</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2013-01-31 19:09:01 +0400</bug_when>
    <thetext>(В ответ на комментарий №8)
&gt; gdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug

gdm, который gdm2.20 - поддерживает.
Для gdm 3.6 в gentoo есть патч:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch?view=log

&gt; mdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug

mdm, который mint-display-manager - умеет (потому что это gdm 2.20).
И я не уверен, что mdm, который mate-d-m еще кому-то интересен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137478</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-01-31 19:15:24 +0400</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; (В ответ на комментарий №8)
&gt; &gt; gdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug
&gt; 
&gt; gdm, который gdm2.20 - поддерживает.
&gt; Для gdm 3.6 в gentoo есть патч:
&gt; http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch?view=log
&gt; 
&gt; &gt; mdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug
&gt; 
&gt; mdm, который mint-display-manager - умеет (потому что это gdm 2.20).
&gt; И я не уверен, что mdm, который mate-d-m еще кому-то интересен.
Ок, ошибся.
Всем кажется, что надо патчить все *dm для поддержки -nodaemon?
Мне кажется в апстримы вообще лучше поменьше вмешиваться.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137487</commentid>
    <comment_count>11</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2013-01-31 21:46:42 +0400</bug_when>
    <thetext>(In reply to comment #10)
&gt; (В ответ на комментарий №9)
&gt; &gt; (В ответ на комментарий №8)
&gt; &gt; &gt; gdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug
&gt; &gt; 
&gt; &gt; gdm, который gdm2.20 - поддерживает.
&gt; &gt; Для gdm 3.6 в gentoo есть патч:
&gt; &gt; http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch?view=log
&gt; &gt; 
&gt; &gt; &gt; mdm - не поддерживает, реагирует на &quot;-d&quot; и включает debug
&gt; &gt; 
&gt; &gt; mdm, который mint-display-manager - умеет (потому что это gdm 2.20).
&gt; &gt; И я не уверен, что mdm, который mate-d-m еще кому-то интересен.
&gt; Ок, ошибся.
&gt; Всем кажется, что надо патчить все *dm для поддержки -nodaemon?

Если $dm из одного пакета требует указания -nodaemon, а из другого - не поддерживает -nodaemon, то для того, чтобы их различать, в /etc/sysconfig/desktop придется записывать разные слова.  Например, если GNOME это gdm из gnome3, то -nodaemon не нужен, а если это gdm2.20, то -nodaemon нужен, т.е. одного слова GNOME уже получается недостаточно.

Вообще вся эта архитектура prefdm устарела, конечно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137489</commentid>
    <comment_count>12</comment_count>
    <who name="Mikhail Efremov">sem</who>
    <bug_when>2013-01-31 21:59:14 +0400</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; Если $dm из одного пакета требует указания -nodaemon, а из другого - не
&gt; поддерживает -nodaemon, то для того, чтобы их различать, в
&gt; /etc/sysconfig/desktop придется записывать разные слова.  Например, если GNOME
&gt; это gdm из gnome3, то -nodaemon не нужен, а если это gdm2.20, то -nodaemon
&gt; нужен, т.е. одного слова GNOME уже получается недостаточно.

Если менять, то для gdm2.20. Особенно учитывая, что с современным гномом он, возможно, вообще не работоспособен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137490</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-01-31 22:23:03 +0400</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; Вообще вся эта архитектура prefdm устарела, конечно.

Ну так может обновим эту архитектуру?
Сразу только не кричите, что еще пользуются sysv :) Дайте сначала прикинуть.
Если предположить, что в десктопах используется systemd, то достаточно для каждого dm добавить *.service file.
И как-то предусмотреть невозможность установки более одного dm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137494</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2013-02-01 00:01:57 +0400</bug_when>
    <thetext>А что ж им не пользоваться -- работает и достаточно предсказуемо.
Кусочки в dm.d/ каком и впрямь напрашиваются, тем не менее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137503</commentid>
    <comment_count>15</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 13:28:25 +0400</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; Вообще вся эта архитектура prefdm устарела, конечно.
Формат /etc/sysconfig/desktop тоже ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137505</commentid>
    <comment_count>16</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 13:31:46 +0400</bug_when>
    <thetext>(В ответ на комментарий №13)
&gt; для каждого dm добавить *.service file.
Приведите пример строки my.service, в которой будет указан запуск до X-ов.

&gt; И как-то предусмотреть невозможность установки более одного dm.
Боюсь, оно потянет за собой невозможность установки более одной de.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137506</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-02-01 14:28:53 +0400</bug_when>
    <thetext>(В ответ на комментарий №16)
&gt; (В ответ на комментарий №13)
&gt; &gt; для каждого dm добавить *.service file.
&gt; Приведите пример строки my.service, в которой будет указан запуск до X-ов.

[Unit]
Before=graphical.target

[Install]
WantedBy=graphical.target


не понял, X где-то ещё запускаются? В чем проблема?

Примеры для dm уже в апстримах:
http://git.gnome.org/browse/gdm/tree/data/gdm.service.in


&gt; &gt; И как-то предусмотреть невозможность установки более одного dm.
&gt; Боюсь, оно потянет за собой невозможность установки более одной de.
Все dm умеют запускать разные de.
Если dm провайдит виртуальный dm, а de требует не конкретный dm, а виртуальный - то все нормально.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137508</commentid>
    <comment_count>18</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 14:49:58 +0400</bug_when>
    <thetext>(В ответ на комментарий №17)
&gt; [Unit]
&gt; Before=graphical.target
&gt; [Install]
&gt; WantedBy=graphical.target
Спасибо!
 
&gt; В чем проблема?
В недостаточном чтении докумментации :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137509</commentid>
    <comment_count>19</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 14:54:27 +0400</bug_when>
    <thetext>(В ответ на комментарий №17)
&gt; &gt; &gt; И как-то предусмотреть невозможность установки более одного dm.
&gt; &gt; Боюсь, оно потянет за собой невозможность установки более одной de.
&gt; Все dm умеют запускать разные de.
&gt; Если dm провайдит виртуальный dm, а de требует не конкретный dm
&gt;, а виртуальный - то все нормально.
Если все будет хорошо, то все будет хорошо, но на самом деле хорошо не будет, поэтому хорошо не будет ;-)
Лучше несколько *dm.service, чем бегать за мантейнерами других DE и просить, чтоб не гадили остальным.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137512</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-02-01 14:57:56 +0400</bug_when>
    <thetext>(В ответ на комментарий №19)
&gt; (В ответ на комментарий №17)
&gt; &gt; &gt; &gt; И как-то предусмотреть невозможность установки более одного dm.
&gt; &gt; &gt; Боюсь, оно потянет за собой невозможность установки более одной de.
&gt; &gt; Все dm умеют запускать разные de.
&gt; &gt; Если dm провайдит виртуальный dm, а de требует не конкретный dm
&gt; &gt;, а виртуальный - то все нормально.
&gt; Если все будет хорошо, то все будет хорошо, но на самом деле хорошо не будет,
&gt; поэтому хорошо не будет ;-)
&gt; Лучше несколько *dm.service, чем бегать за мантейнерами других DE и просить,
&gt; чтоб не гадили остальным.

Не спорю, несколько dm, не плохо. Только не будет одного места выбора.
Надо делать:
systemctl disable kdm.service
systemctl enable gdm.service

Или придумать какой-нибудь control, который это будет делать за пользователя.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137513</commentid>
    <comment_count>21</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 15:05:10 +0400</bug_when>
    <thetext>(В ответ на комментарий №20)
&gt; Только не будет одного места выбора.
А средствами systemd намудрить ничего нельзя?
Там есть возможность запускать 1.service OR 2.service?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137514</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2013-02-01 15:18:33 +0400</bug_when>
    <thetext>(В ответ на комментарий №21)
&gt; (В ответ на комментарий №20)
&gt; &gt; Только не будет одного места выбора.
&gt; А средствами systemd намудрить ничего нельзя?
&gt; Там есть возможность запускать 1.service OR 2.service?
Можно расставить конфликты, типа
Conflicts=kdm.service
Но тогда это будет рулетка, что запустится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137515</commentid>
    <comment_count>23</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 15:23:02 +0400</bug_when>
    <thetext>Или как вариант сделать файл prefdm.service  альтернативой</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137517</commentid>
    <comment_count>24</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2013-02-01 15:24:18 +0400</bug_when>
    <thetext>(В ответ на комментарий №22)
&gt; Conflicts=kdm.service
&gt; Но тогда это будет рулетка, что запустится.
Не. Это не подходит, кончено же.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141797</commentid>
    <comment_count>25</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2013-07-24 12:41:30 +0400</bug_when>
    <thetext>(В ответ на комментарий №22)
&gt; Можно расставить конфликты, типа
&gt; Conflicts=kdm.service
&gt; Но тогда это будет рулетка, что запустится.

Почему рулетка?
запустится тот, который за-enable-ен. Если пользователь пытается запустить альтернативный, то первый будет остановлен.
Если пользователь за-enable-ит более чем один, тогда, да, рулетка. Но рулетка с руганью, которая будет видна (явно).

(В ответ на комментарий №11)
&gt; Вообще вся эта архитектура prefdm устарела, конечно.

Тогда нужны альтернативы. Какие у нас есть альтернативы? service-файлы? пока я обнаружил оный только в одном gdm3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171155</commentid>
    <comment_count>26</comment_count>
    <who name="Yuri N. Sedunov">aris</who>
    <bug_when>2018-05-19 23:08:48 +0300</bug_when>
    <thetext>gdm начиная с 3.28.2 таки перестанет пытаться игнорировать  неизвестные опции и будет считать их ошибкой.
https://bugzilla.gnome.org/show_bug.cgi?id=795494
https://git.gnome.org/browse/gdm/commit/?h=gnome-3-28&amp;id=85a68ab14aad3d83abe1317d0c067f4d80a4dc82</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171159</commentid>
    <comment_count>27</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2018-05-20 11:23:34 +0300</bug_when>
    <thetext>Этот баг сильно устарел.
При загрузке есть только display-manager.service, а каждый дистрибутив может при установке включать конкретный dm.service, который алиас на display-manager.service. Т.е. для systemd prefdm лишь одна из возможных альтернатив.

В KWorkstation sddm.service включается при установке.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171160</commentid>
    <comment_count>28</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2018-05-20 11:32:37 +0300</bug_when>
    <thetext>(В ответ на комментарий №20)
&gt; Надо делать:
&gt; systemctl disable kdm.service
&gt; systemctl enable gdm.service
Я делаю:
systemctl disable display-manager.service
systemctl enable sddm.service
systemctl enable sddm.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171161</commentid>
    <comment_count>29</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2018-05-20 11:37:48 +0300</bug_when>
    <thetext>(В ответ на комментарий №28)
&gt; systemctl enable sddm.service
&gt; systemctl enable sddm.service
Нажал нечаянно.
Вот то, что я делаю реально, переложенное на самый общий случай:
systemctl disable display-manager.service
systemctl enable realneed.service
systemctl enable fallback1.service
systemctl enable fallback2.service
[...]
systemctl enable prefdm.service
systemctl enable display-manager.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171320</commentid>
    <comment_count>30</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2018-05-28 02:59:18 +0300</bug_when>
    <thetext>(В ответ на комментарий №29)
&gt; (В ответ на комментарий №28)
&gt; &gt; systemctl enable sddm.service
&gt; &gt; systemctl enable sddm.service
&gt; Нажал нечаянно.
&gt; Вот то, что я делаю реально, переложенное на самый общий случай:
&gt; systemctl disable display-manager.service
&gt; systemctl enable realneed.service
&gt; systemctl enable fallback1.service
&gt; systemctl enable fallback2.service
&gt; [...]
&gt; systemctl enable prefdm.service
&gt; systemctl enable display-manager.service

Но зачем так много команд?
Они все должны сами отрабатывать, при наличии
/lib/systemd/system-preset/85-display-manager.preset
и systemctl enable display-manager.service тоже не надо, лучше 
systemctl set-default graphical.target</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178923</commentid>
    <comment_count>31</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2019-02-25 01:59:26 +0300</bug_when>
    <thetext>Ну так что, не пришло время отказаться от prefdm?
В предверии p9?
Может оставить его только для sysv, а в systemd замаскировать (prefdm.service -&gt; /dev/null)?
Все *dm имеют unit файл для systemd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178924</commentid>
    <comment_count>32</comment_count>
    <who name="AEN">aen</who>
    <bug_when>2019-02-25 02:01:20 +0300</bug_when>
    <thetext>(В ответ на комментарий №31)
&gt; Ну так что, не пришло время отказаться от prefdm?
&gt; В предверии p9?
&gt; Может оставить его только для sysv, а в systemd замаскировать (prefdm.service
&gt; -&gt; /dev/null)?
&gt; Все *dm имеют unit файл для systemd.

Хорошая мысль.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>178943</commentid>
    <comment_count>33</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-02-25 13:09:34 +0300</bug_when>
    <thetext>(В ответ на комментарий №31)
&gt; Ну так что, не пришло время отказаться от prefdm?
Я в KWorkstation сразу отказался.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183355</commentid>
    <comment_count>34</comment_count>
    <who name="Ivan A. Melnikov">iv</who>
    <bug_when>2019-08-01 11:09:58 +0300</bug_when>
    <thetext>&gt; Ну так что, не пришло время отказаться от prefdm?
&gt; В предверии p9?

Это конечно хорошее решение, но что делать с обновлениями? Сегодня переводил одну из домашних машин с p8 на p9 -- эта система на ней ещё p6 видела, там systemd и вполне работал prefdm.service, запускавший lightdm. После перезагрузки prefdm.service запустить lightdm не смог и машина осталась без X:

авг 01 08:53:17 europa.localdomain prefdm[1258]: Unknown option -nodaemon
авг 01 08:53:17 europa.localdomain prefdm[1258]: Run &apos;lightdm --help&apos; to see a full list of available command line options.

Я то знаю что делать, но хотелось бы дистрибутивного решения.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183358</commentid>
    <comment_count>35</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2019-08-01 11:18:06 +0300</bug_when>
    <thetext>*** Bug 36769 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183389</commentid>
    <comment_count>36</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-08-01 17:36:48 +0300</bug_when>
    <thetext>(В ответ на комментарий №34)
&gt; Это конечно хорошее решение, но что делать с обновлениями?
триггер в .spec при обновлениия с версии меньше определенной(чтоб не портить более одного раза), который будет делать
systemctl disable display-manager.service
systemctl enable display-manager.service
при отсутствии prefdm.service переключится любого присутствующего везунчика.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183393</commentid>
    <comment_count>37</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2019-08-01 19:07:20 +0300</bug_when>
    <thetext>(В ответ на комментарий №36)
&gt; триггер в .spec при обновлениия с версии меньше определенной
&gt; (чтоб не портить более одного раза), который будет делать
&gt; systemctl disable display-manager.service
&gt; systemctl enable display-manager.service
&gt; при отсутствии prefdm.service переключится любого присутствующего везунчика.
Н-да, на systemd-utils у нас уже зависимость в startup есть, оказывается.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183409</commentid>
    <comment_count>38</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2019-08-02 10:58:19 +0300</bug_when>
    <thetext>(В ответ на комментарий №37)
&gt; Н-да, на systemd-utils у нас уже зависимость в startup есть, оказывается.
Можно и без зависимости сделать. Не суть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184112</commentid>
    <comment_count>39</comment_count>
    <who name="nwtour">nwtour</who>
    <bug_when>2019-09-03 20:45:37 +0300</bug_when>
    <thetext>*** Bug 37182 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186324</commentid>
    <comment_count>40</comment_count>
    <who name="Vladislav Zavjalov">slazav</who>
    <bug_when>2019-12-14 20:18:47 +0300</bug_when>
    <thetext>До сих пор актуально. Я бы вообще убрал параметр -nodaemon из rundm и добавил в prefdm - там, где надо. Могу попробовать это изменение сделать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186327</commentid>
    <comment_count>41</comment_count>
    <who name="Vladislav Zavjalov">slazav</who>
    <bug_when>2019-12-15 13:54:44 +0300</bug_when>
    <thetext>Моя версия исправления:
http://git.altlinux.org/people/slazav/packages/?p=xinitrc.git;a=commit;h=78f48d789a26b3374db09df03123eb60e38a36a4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194403</commentid>
    <comment_count>42</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2020-11-23 11:12:12 +0300</bug_when>
    <thetext>*** Bug 39331 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194432</commentid>
    <comment_count>43</comment_count>
    <who name="Vyacheslav Dikonov">slava</who>
    <bug_when>2020-11-24 10:05:42 +0300</bug_when>
    <thetext>Это писец. 

7 лет молоть языками и НИЧЕГО не сделать с багом, который вырубает возможность нормальной загрузки системы и гарантированно порождает сонм пользователей, которые всем расскажут &quot;Какое падучее г. этот ваш линукс&quot;. Иметь готовое лекарство и не применить его...

На своем примере убедился, что в Сизифе кошмар с dm без qt/kde зависимостей. 
gdm вообще не запускается непонятно почему, но может притянуться и выпихнуть gdm2.20 сломав загрузку (случалось). Lightdm тоже может сломаться при перестановках пакетов из-за этой гадкой опции...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194634</commentid>
    <comment_count>44</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-12-05 10:09:28 +0300</bug_when>
    <thetext>(Ответ для Vyacheslav Dikonov на комментарий #43)
&gt; Это писец. 
&gt; 
&gt; 7 лет молоть языками и НИЧЕГО не сделать с багом, который вырубает
&gt; возможность нормальной загрузки системы и гарантированно порождает сонм
&gt; пользователей, которые всем расскажут &quot;Какое падучее г. этот ваш линукс&quot;.
&gt; Иметь готовое лекарство и не применить его...
&gt; 
&gt; На своем примере убедился, что в Сизифе кошмар с dm без qt/kde зависимостей. 
&gt; gdm вообще не запускается непонятно почему, но может притянуться и выпихнуть
&gt; gdm2.20 сломав загрузку (случалось). Lightdm тоже может сломаться при
&gt; перестановках пакетов из-за этой гадкой опции...

В стартеркитах, начная с p9, lightdm запускается через lightdm.service. Проблема существует только при обновлении стартеркитов с p8 на p9. Нужно выключить prefdm и включить lightdm.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194635</commentid>
    <comment_count>45</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-12-05 11:30:02 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #44)
&gt; Нужно
Для любого дистрибутива
# systemctl disable display-manager.service
# systemctl enable нужныйDM.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194636</commentid>
    <comment_count>46</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-12-05 15:53:27 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #44)
&gt; В стартеркитах, начиная с p9, lightdm запускается через lightdm.service.
&gt; Проблема существует только при обновлении стартеркитов с p8 на p9.
Не только стартеркитов -- дистрибутивов, видимо, тоже.

&gt; Нужно выключить prefdm и включить lightdm.service

Кстати, жаль, что никто из наткнувшихся на это так и не добавил строчку
на страничку http://altlinux.org/Update/p9; также просится в eepm, раз уж типовой рецепт.

Добавил http://altlinux.org/Update/p9#Вход_в_систему_(prefdm)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194645</commentid>
    <comment_count>47</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-12-05 18:49:55 +0300</bug_when>
    <thetext>(Ответ для Michael Shigorin на комментарий #46)
&gt;  просится в eepm, раз уж типовой рецепт.
Заскриптовать:
# systemctl disable display-manager.service
# systemctl enable sddm.service
# systemctl enable lightdm.service
# systemctl enable каждый-из-prefdm.service
Первый попавшийся включится, остальные отработают вхолостую.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194646</commentid>
    <comment_count>48</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-12-05 18:59:52 +0300</bug_when>
    <thetext>В этом пакете что-нибудь делать надо?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194649</commentid>
    <comment_count>49</comment_count>
    <who name="Vladislav Zavjalov">slazav</who>
    <bug_when>2020-12-05 19:33:30 +0300</bug_when>
    <thetext>Ну вот чуть выше я писал свое предложение:
 http://git.altlinux.org/people/slazav/packages/?p=xinitrc.git;a=commit;h=78f48d789a26b3374db09df03123eb60e38a36a4

Насколько я помню, идея в том, чтобы из rundm.c и prefdm.service -dodaemon убрать. А prefdm пусть не только выбирает, какой dm нужен, но и подбирает нужные флаги для каждого dm. Так получится гораздо более гибкая схема, где каждый dm можно будет запускать с нужными флагами, не выделяя отдельно -nodaemon.

Изменения в perfdm, возможно, надо еще внимательно кому-нибудь перечитать. Я там  был в процессе починки своей неработающей системы и начал с того, что упростил все непонятное.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194650</commentid>
    <comment_count>50</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2020-12-05 19:48:47 +0300</bug_when>
    <thetext>Я, честно говоря, не понимаю, зачем в современном мире нужен prefdm service,
да ещё и такой, что знает про каждый dm настолько, что сам подбирает ему параметры.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194651</commentid>
    <comment_count>51</comment_count>
    <who name="Vladislav Zavjalov">slazav</who>
    <bug_when>2020-12-05 19:51:01 +0300</bug_when>
    <thetext>Ну, тогда надо какое-то более глубокое изменение делать, убирать prefdm...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194680</commentid>
    <comment_count>52</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-12-07 09:03:07 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #50)
&gt; Я, честно говоря, не понимаю, зачем в современном мире нужен prefdm service,
Можно его убрать, а по окончанию
# systemctl disable display-manager.service
# systemctl enable display-manager.service
и он включится, если какой-нибудь есть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194683</commentid>
    <comment_count>53</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-12-07 10:28:49 +0300</bug_when>
    <thetext>(Ответ для Dmitry V. Levin на комментарий #50)
&gt; Я, честно говоря, не понимаю, зачем в современном мире нужен prefdm service,
&gt; да ещё и такой, что знает про каждый dm настолько, что сам подбирает ему
&gt; параметры.

К примеру, sddm через prefdm работает одинаково стабильно как в live, так и в установленной системе. А sddm.service не работает в live.

И ещё одна проблема это sysvinit. Нужно же сделать init-скрипты для каждого display manager&apos;а. Если сделать, то prefdm будет не нужен.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194698</commentid>
    <comment_count>54</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-12-07 13:47:20 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #53)
&gt; К примеру, sddm через prefdm работает одинаково стабильно как в live, так и
&gt; в установленной системе. А sddm.service не работает в live.
У меня работает. А вот, на aarch64 почему-то фиг. Я думал, причина связана с mkimage. Попробую выяснить.

&gt; И ещё одна проблема это sysvinit. Нужно же сделать init-скрипты для каждого
&gt; display manager&apos;а. Если сделать, то prefdm будет не нужен.
Для init можно оставить, если оно в systemd не пролезет, сконвертировавшись.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194713</commentid>
    <comment_count>55</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2020-12-07 16:01:22 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #54)
&gt; (Ответ для Антон Мидюков на комментарий #53)
&gt; &gt; К примеру, sddm через prefdm работает одинаково стабильно как в live, так и
&gt; &gt; в установленной системе. А sddm.service не работает в live.
&gt; У меня работает. 

В kworkstation 9.0 в live работает prefdm.service

&gt;А вот, на aarch64 почему-то фиг. Я думал, причина связана с
&gt; mkimage. Попробую выяснить.

Мне кажется, там проблема с видеодрайвером. А включить программный рендеринг у меня не получилось. Потому я вообще отказался от sddm.

&gt; 
&gt; &gt; И ещё одна проблема это sysvinit. Нужно же сделать init-скрипты для каждого
&gt; &gt; display manager&apos;а. Если сделать, то prefdm будет не нужен.
&gt; Для init можно оставить, если оно в systemd не пролезет, сконвертировавшись.

В sysvinit скоро не останется работающих display manager&apos;ов. Так что делать нужно. Хотя бы к p10.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194714</commentid>
    <comment_count>56</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2020-12-07 16:12:08 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #55)
&gt; В sysvinit скоро не останется работающих display manager&apos;ов.
wdm (и, подозреваю, xdm) всяко должны работать.
Возможно, кому-то придётся по душе http://phab.enlightenment.org/w/projects/entrance/ (но aris@ смотрел и вроде как не пришлось).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194715</commentid>
    <comment_count>57</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-12-07 16:14:12 +0300</bug_when>
    <thetext>(Ответ для Антон Мидюков на комментарий #55)
&gt; В kworkstation 9.0 в live работает prefdm.service
Попробовал sddm в VB -- работает. Пойду патчить, чтоб не prefdm был.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194716</commentid>
    <comment_count>58</comment_count>
    <who name="Vladislav Zavjalov">slazav</who>
    <bug_when>2020-12-07 16:31:27 +0300</bug_when>
    <thetext>&gt; wdm (и, подозреваю, xdm) всяко должны работать.

Я на xdm, он работает. Собственно, на проблему наткнулся, когда пытался играться с другими dm (мне хотелось чего-то странного, с доступом по vnc), но в результате все и так хорошо обустроил.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194717</commentid>
    <comment_count>59</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2020-12-07 17:24:07 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #57)
&gt; (Ответ для Антон Мидюков на комментарий #55)
&gt; &gt; В kworkstation 9.0 в live работает prefdm.service
&gt; Попробовал sddm в VB -- работает.
И он действительно работает.

&gt; Пойду патчить, чтоб не prefdm был.
А при загрузке фигня. Если попереключаться на другую консоль. 12-ю, например, то всё стартует. Если не трогать -- блокируется. Как буд-то что-то с переключением терминала происходит или не происходит.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194725</commentid>
    <comment_count>60</comment_count>
    <who name="Vladislav Zavjalov">slazav</who>
    <bug_when>2020-12-07 23:35:31 +0300</bug_when>
    <thetext>Мне кажется, что научить prefdm различать dm, которые он запускает - это правильный путь. Это исправление ошибок в той схеме, которая сейчас кое-как работает. Надо ли эту схему менять - это следующий вопрос, довольно нетривиальный (с учетом вопроса, кто будет поддерживать отдельные инит-скрипты для разных *dm).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195599</commentid>
    <comment_count>61</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2021-01-21 12:41:41 +0300</bug_when>
    <thetext>(Ответ для Michael Shigorin на комментарий #46)
&gt; (Ответ для Антон Мидюков на комментарий #44)
&gt; &gt; В стартеркитах, начиная с p9, lightdm запускается через lightdm.service.
&gt; &gt; Проблема существует только при обновлении стартеркитов с p8 на p9.
&gt; Не только стартеркитов -- дистрибутивов, видимо, тоже.
&gt; 
&gt; &gt; Нужно выключить prefdm и включить lightdm.service
&gt; 
&gt; Кстати, жаль, что никто из наткнувшихся на это так и не добавил строчку
&gt; на страничку http://altlinux.org/Update/p9; также просится в eepm, раз уж
&gt; типовой рецепт.
&gt; 
&gt; Добавил http://altlinux.org/Update/p9#Вход_в_систему_(prefdm)

Добавил в epm release-upgrade:

+
+       # switch from prefdm: https://bugzilla.altlinux.org/show_bug.cgi?id=26405#c52
+       if is_active_systemd systemd &amp;&amp; serv display-manager status &gt;/dev/null || serv prefdm status &gt;/dev/null ; then
+               docmd systemctl disable prefdm.service
+               docmd systemctl disable display-manager.service
+               docmd systemctl enable display-manager.service
+       #       docmd systemctl enable sddm.service
+       #       docmd systemctl enable lightdm.service
+       fi
+
 }</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>