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

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

    <bug>
          <bug_id>27517</bug_id>
          
          <creation_ts>2012-07-04 19:00:33 +0400</creation_ts>
          <short_desc>Принудительно выставлять (например в /etc/bashrc) для всех переменную QT_PLUGIN_PATH, чтобы не было глюков с оконными стилями KDE у пользователей запущенных через su - и подобное ему.</short_desc>
          <delta_ts>2012-07-12 19:44:20 +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>kde4libs</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>usability</keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="unihorn">unihorn</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          <cc>cas</cc>
    
    <cc>rom_as</cc>
    
    <cc>viy</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>132155</commentid>
    <comment_count>0</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-04 19:00:33 +0400</bug_when>
    <thetext>Как насчет отключения зависимостей Кед от оконного стиля Oxygen (как минимум конкретно от либы которая этот стиль и инициализирует: oxygen.so (что в папке либ кедовых оконнных стилей))?

Просто стиль Oxygen имеет ряд проблем...

Скажем я выставил каждому пользователю (включая Рута) иной стиль (например QtCurve).

После чего, находясь в своем домашнем аке запустил гуишную прогу от другого юзера (рутовую прогу например).

Запустил и вижу что данная прога игнорирует настройки оконного стиля данного юзера (запуская вместо него иной, так сказать &quot;дефолтный&quot;, стиль (как правило oxygen (ибо если в системе стоит, например, brspin, то запускается оный): вне зависимости от того какой, в реальности оконный стиль на самом деле в настройках данного юзера)).

Ну или выставил, я, к примеру, стиль QtCurve для KDM и получаю различные глюки с выставлением KDM-у цветовых схем...

Таким образом единственное решение для борьбы с игнорированием оконных стилей программами запущенными от других юзеров (игнорированием оконных стилей прописанных в настройках данных юзеров), и иными проблемами связанными с ними, это удаление &quot;конфликтных стилей&quot;, что, к примеру, с дефолтным Oxygeт-ом не возможен...

Имхо. Если сделать вышеназванную либу поместить в отдельный пакет и сделать, например, мягкой зависимостью (не удаляющей кеды вместе с собой); или там повязать не на Кеды, а на конкретный метапакет KDE (удаление которого не вызовет удаление всех Кед), ничего плохого не случится, а вот удобство будет, имхо, очевидно...

Иначе сейчас приходится вручную удалять данную либу (либо делать вместо нее симлинк на либу желаемого оконного стиля делать) и затем следить не востановится ли она при обновлении системы и. потом, повторять опереации...

Повесил на сизиф. но и в бранчах это будет не плохо...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132156</commentid>
    <comment_count>1</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-04 19:03:00 +0400</bug_when>
    <thetext>Просто дефолтный это (по мнению разрабов KDE) стиль, не дефолтный, это просто оконный стиль (как минимум указанная выше либа)...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132157</commentid>
    <comment_count>2</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-04 19:07:27 +0400</bug_when>
    <thetext>Тот же минимальный пакет KDE4, вообще, имхо, вполне может обойтись без всякого оконного стиля вообще (ибо суть у него поставить минимально необходимый набор пакетов, чтобы юзер, в дальнейшем, доставил нужные)... Оконный же стиль (как минимум выше названная либа) к таковым (минимально необходимым для работы пакетам) не относится каким бы &quot;дефолтным он не был&quot;...

Да. Минимальный паеет будет &quot;очень красивым&quot; но суть минимального пакета не в &quot;красоте&quot;...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132165</commentid>
    <comment_count>3</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2012-07-05 16:31:55 +0400</bug_when>
    <thetext>ln -s custom /etc/kde4/current
и меняйте там любые настройки</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132189</commentid>
    <comment_count>4</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-08 21:19:23 +0400</bug_when>
    <thetext>Простите за задержку с ответом (ответил сразу как смог).

(В ответ на комментарий №3)
&gt; ln -s custom /etc/kde4/current
&gt; и меняйте там любые настройки

Угу симлинк в /etc/kde4/current хороший способ сделать нестандартные настройки Кед. Хороший, старый, и давно известный (по крайней мере мне (именно так я их, себе, и настраиваю)).

Одна лишь беда. С oxygen.so ОН (этот способ) НЕ РАБОТАЕТ (как минимум корректно). :)

Для проверки можете сделать следующее:

1). Выставить руту стиль QtCurve.
2). Сделать в /etc/kde4/current (на что он ссылается (на custom или нет) не суть важно) папку lib(lib64)/kde4/plugins/style и делаем в нее симлинк на qtcurve.so под именем oxygen.so (дабы перекрывал &quot;оригинал&quot;).
3). Заходим в терминал и делаем там su -
4)Запускаем от &quot;su-&quot;шного рута krusader например (или любую другую кедовую прогу).
5). Любуемся у рута стилем oxygen (который, к тому-же, будет некорректно брать данные из рутового ~/.kde4/share/config/kdeglobalsrc). :)

Теперь делаем все тоже самое, но только удаляем (либо переименовываем) в /usr/lib(lib64)/kde4/plugins/style либу oxygen.so; и симлинк на qtcurve.so делаем вместо этой oxygen.so.

Дальше (пункты 2-5) все также, за исключением финального результата: теперь мы видим у рута полностью корректный qtcurve, корректно берущий настройки из рутового kdeglobalsrc.

Вот и вся разница.

С currentom же нормально запустятся разве проги запускаемые от другого юзера средствами управления авторизацией KDE (типа ярлыка Krusader Root Mode).

В рамках же системы (файлов запускаемых вне рамок KDE) способ с current-ом работать не будет...

Нормально (с корректно применяемыми цветовыми схемами (иначе, они, в лучшем случае будут глючить: скажем примутся частично, а, потом, вообще не сменятся на другую) применить иной стиль для того-же KDM можно только если пошаманить с oxygen.so d /usr/lib(lib64)/kde4/plugins/style

Избавление же от этой либы в качестве железной, прибитой гвоздями, зависимости избавит от большей части геммороя.

Нет. Конечно можно было бы исправить само это глючное поведение... Но это проблеммма не Альта, а Кед в целом (сиречь апстримовая). Готов ли кто у нас связаться с апстримом по этому поводу...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132192</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2012-07-09 10:38:42 +0400</bug_when>
    <thetext>На реальный пакет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132210</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2012-07-10 11:39:04 +0400</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; Одна лишь беда. С oxygen.so ОН (этот способ) НЕ РАБОТАЕТ (как минимум
&gt; корректно). :)
/etc/xdg/Trolltech.conf

[...]

&gt; В рамках же системы (файлов запускаемых вне рамок KDE) способ с current-ом
&gt; работать не будет...
Будет. Я зашил это в KDE.

[...]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132253</commentid>
    <comment_count>7</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-11 14:20:32 +0400</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; /etc/xdg/Trolltech.conf 

Одноименные файлы есть в /.config и ~/.config файл в /etc/xdg/ такой файл надо создать ибо его там нет, но создать можно.

Что, и как (какова структура конфига и подобное), туда (после создания конфига) прописывать? Это, походу, список используемых либ...

Ибо на данный момент данный (с current-ом) &quot;вшитый способ&quot; работает с чем угодно кроме сабжа (эксперимент по воспроизведению проблемы описан выше, могу и скринов с скринкастами кинуть).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132257</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2012-07-11 15:06:02 +0400</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; Одноименные файлы есть в /.config и ~/.config
qtconfig-qt4 и смотрите, что там пишут</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132274</commentid>
    <comment_count>9</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-12 01:31:19 +0400</bug_when>
    <thetext>(В ответ на комментарий №8)
&gt; (В ответ на комментарий №7)
&gt; &gt; Одноименные файлы есть в /.config и ~/.config
&gt; qtconfig-qt4 и смотрите, что там пишут

И где там посмотреть про Trolltech.conf .

Или вы про то, какой стиль отображается в запущенных (в нашем случае от su -) конфигураторах (как в qtconfig-qt4 так и в systemsettings)?

Если про это, то запущенный от su - systemsettings пишет что у рута установлен qtcurve (но в реале отображается (не смотря на эти многообещающие заявления) выше названный oxygen).

Запущенный же от su - qtconfig-qt4 вообще не видит стиля qtcurve (его нету в списке стилей) а сам qtconfig-qt4 отображается дефолтными квдратичными виджетами не облагороженными каким бы то ни было оконным стилем).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132283</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2012-07-12 14:28:40 +0400</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; И где там посмотреть про Trolltech.conf .
В нем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132284</commentid>
    <comment_count>11</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2012-07-12 14:30:08 +0400</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; Запущенный же от su - qtconfig-qt4 вообще не видит стиля qtcurve
переменная окружения QT_PLUGIN_PATH</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132289</commentid>
    <comment_count>12</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-12 19:27:02 +0400</bug_when>
    <thetext>(В ответ на комментарий №10)
&gt; &gt; И где там посмотреть про Trolltech.conf .
&gt; В нем.

Где, конкретнее можно (подробно и раззжевывая (всегда желательный пуь действия: тому кто знает будет пофиг, а тот кто не знает, или знает не все, будет рад)). А то ведь получается &quot;поди туда&quot;, не знаю куда... Я не новичок в Линуксе, но и отнюдь не гуру: всего знать не могу.

Ибо в первой вкладке параметры интерфейса (и никаких следов упоминания Trolltech.conf ).
Во второй параметры шрифтов (и никаких следов упоминания Trolltech.conf ).
В третей прочие параметры интерфейса (и никаких следов упоминания Trolltech.conf ).
В четвертой параметры принтера (и никаких следов упоминания Trolltech.conf ).
В пятой параметры Фонона (и никаких следов упоминания Trolltech.conf ).
В меню также никаких следов упоминания Trolltech.conf найдено не было (не в одном из пунктов)).
Либо они хитро замоскированы, либо надо знать, что именно из этого Trolltech.conf надо искать.

(В ответ на комментарий №11)
&gt; &gt; Запущенный же от su - qtconfig-qt4 вообще не видит стиля qtcurve
&gt; переменная окружения QT_PLUGIN_PATH

ОK.

Сделал export QT_PLUGIN_PATH=/root/.kde4/lib64/kde4/plugins/:/etc/kde4/current/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/ (ибо, по первоначалу, переменная была пустой)

Стили заработали. Спасибо.

Куда теперь, корректно, запендюрить эту строчку (на ум только /etc/bashrc c ~/.bashrc приходят)...

И, имхо, это стоит сделать по дефолту  (что-бы юзерам не было лишнего геммороя (юникс вей, юникс веем, но гемморой это все-таки не он :))).

Если засовывать в /etc/bahrc, то, соответственно, подправить пакет которые его и ставит...

добавить в конец bashrc что-нибудь типа:

if [ -a /usr/bin/startkde ]
export QT_PLUGIN_PATH=/$USERNAME/.kde4/lib64/kde4/plugins/:/etc/kde4/current/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/
fi

Дабы явно и для всех это выставлять...

Почему именно if [ -a /usr/bin/startkde ] (или типа него), потому что, как помню, в Гноме все работает (хотя надо глянуть, может с последними версиями QT что-то поменялось)...

Поэтому вопрос остается но, разве, меняется формулировка с убрать oxygen.so из зависимостей на принудительно выставлять для всех переменную QT_PLUGIN_PATH.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132290</commentid>
    <comment_count>13</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-12 19:31:52 +0400</bug_when>
    <thetext>Какой пакет выставлять, не знаю. Оставляю как есть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132291</commentid>
    <comment_count>14</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2012-07-12 19:32:58 +0400</bug_when>
    <thetext>(В ответ на комментарий №12)
&gt; (В ответ на комментарий №10)
&gt; &gt; &gt; И где там посмотреть про Trolltech.conf .
&gt; &gt; В нем.
&gt; Где, конкретнее
В Trolltech.conf

&gt; (подробно и раззжевывая
Документацию и подобные вещи ищите в других местах.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132292</commentid>
    <comment_count>15</comment_count>
    <who name="unihorn">unihorn</who>
    <bug_when>2012-07-12 19:44:20 +0400</bug_when>
    <thetext>(В ответ на комментарий №14)
&gt; Документацию и подобные вещи ищите в других местах.
Просто когда просят посмотреь чегото, то говорят, что имено (ибо далеко не всегда, собеседник может знать, что от него требуетя.

Так делают вежливые люди...

С Уваженем.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>