vadim krasovsky Опубликовано 18 февраля, 2008 Жалоба Поделиться Опубликовано 18 февраля, 2008 Вопрос на целую тему созрел спустя много времени... Доооолго я мучился с этим COMPIZом и решил всё-таки добить его!!! Проблема с автостартом. Думаю многие с этим встречались в KDE (не знаю как в Гноме)!!! Проблема в том, что при загрузке KDE восстанавливается и предыдущая сессия - это создаёт некоторые проблемы. Если конкретней, то, настраивая compiz по тому как написано тут: http://en.opensuse.org/Compiz_Fusion Compiz будет стартовать во время загрузки KDE - одновременно с амароками, суперкарамбами, кторрентами и кхдокерами. И постоянно получается так, что некоторые программки не сворачиваются в трэй, а появляются на десктопе в окошках размером с иконку (некоторые даже и в таком виде не появляются, но работают в фоне). В общем расписывать все глюки такого подхода "к делу" нет смысла. Появилась задача: как запускать Compiz в ТРУЪ-way! Погуглив немного наткнулся на интересное решение. http://suseforums.net/index.php?showtopic=26192 Суть его заключается в том, что создаётся текстовый файл в /usr/share/xsessions такого содержания: Цитата: [Desktop Entry] Encoding=UTF-8 Type=XSession Name=Beryl Exec=/usr/bin/beryl.sh Icon= Type=Application в свою очередь в /usr/bin создаётся скрипт beryl.sh: Цитата: #!/bin/sh # # KDE with XGL startup script # beryl-manager & sleep 10 startkde Вопрос на данный момент в том, как это дело адаптировать под compiz? Т.к. просто заменив beryl-manager на compiz --replace ccp & или compiz-manager & не помогает делу. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 21 февраля, 2008 Автор Жалоба Поделиться Опубликовано 21 февраля, 2008 Вобщем поковырявшись еще малёха - напрашивается вопрос... Как создать (открыть, запустить) дисплей??? т.е. запуск compiz из голой не возможен... (Beryl видимо мог) Нашел так же скрипт, где перед берилом была строчка: nvidia-settings --load-config-only Что это даёт, прочитать настройки из "~/.nvidia-settings-rc"??? т.к. именно это и делает эта команда. Цитата: 4. Loading Settings Automatically The NVIDIA X driver does not preserve values set with nvidia-settings between runs of the X server (or even between logging in and logging out of X, with xdm, gdm, or kdm). This is intentional, because different users may have different preferences, thus these settings are stored on a per user basis in a configuration file stored in the user's home directory. The configuration file is named "~/.nvidia-settings-rc". You can specify a different configuration file name with the "--config" commandline option. After you have run nvidia-settings once and have generated a configuration file, you can then run: nvidia-settings --load-config-only at any time in the future to upload these settings to the X server again. For example, you might place the above command in your ~/.xinitrc file so that your settings are applied automatically when you log in to X. Your .xinitrc file, which controls what X applications should be started when you log into X (or startx), might look something like this: nvidia-settings --load-config-only & xterm & evilwm or: nvidia-settings --load-config-only & gnome-session If you do not already have an ~/.xinitrc file, then chances are that xinit is using a system-wide xinitrc file. This system wide file is typically here: /etc/X11/xinit/xinitrc To use it, but also have nvidia-settings upload your settings, you could create an ~/.xinitrc with the contents: nvidia-settings --load-config-only & . /etc/X11/xinit/xinitrc System administrators may choose to place the nvidia-settings load command directly in the system xinitrc script... Самое интересное то, что эта команда также не хочет запускаться из консоли (по крайней мере у меня)!!! Хакеры, помогите пожалуйста! Я чувствую что близок к разгадке, но до конца не понимаю... Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 21 февраля, 2008 Жалоба Поделиться Опубликовано 21 февраля, 2008 crossblade писал(а) Thu, 21 February 2008 10:53 Как создать (открыть, запустить) дисплей??? Когда вы запускаете Х-сервер, он создает дисплей, т.е. такую штуку, куда программы, работающие с Х, выводят информацию. Т.е. создать дисплей, как я понимаю, можно только запустив Х. И еще. Как я понимаю, nvidia-settings --load-config-only подгрузит опции, записанные в вашем конфиге, НО это те же самые опции, которые вы можете прописать в xorg.conf, т.е. особого смысла в использовании этой штуки я не понимаю. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 22 февраля, 2008 Автор Жалоба Поделиться Опубликовано 22 февраля, 2008 Какой выход предложите? Разбирать скрипт /opt/kde/bin/startkde на составные и где-то между вставить строчку compiz --replace?? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 22 февраля, 2008 Жалоба Поделиться Опубликовано 22 февраля, 2008 Ну, возможен и такой способ. Наверное где-то там надо найти место, где запускается kwin и попробовать вместо него стартануть compiz. Можно в порядке эксперимента попробовать сделать так: переименовать бинарник kwin и сделать симлинк под именем kwin на compiz Конечно, вряд ли это просто так заработает, но попробовать по приколу можно Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
cppmm Опубликовано 22 февраля, 2008 Жалоба Поделиться Опубликовано 22 февраля, 2008 Возможно, вам поможет это: Цитата: ВАРИАНТ ДЛЯ KDE: Создаем файл ~/.kde/Autostart/compiz.desktop следующего содержания: [Desktop Entry] Encoding=UTF-8 Exec=compiz --replace gconf & gnome-window-decorator & GenericName[en_US]= StartupNotify=false Terminal=false TerminalOptions= Type=Application X-KDE-autostart-after=kdesktop Перезагружаемся. © http://mczim-debian.blogspot.com/2007/05/3d-desktop-on-compi z.html Это всё верно для debian, но, думаю в данном вопросе особой разницы нет. P.S. Лично я проверял описанное в этой статье для xfce. Работает. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 22 февраля, 2008 Автор Жалоба Поделиться Опубликовано 22 февраля, 2008 cppmm, Вы видимо на строчку "X-KDE-autostart-after=kdesktop" намекаете. Мне это как раз и не нравится, что сначала стартует kwin а потом с опцией --replace надо запускать compiz. Это как-то противоестественно А вот насчет kwin и симлинков надо попробовать! Пусть даже для прикола!!! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
cppmm Опубликовано 22 февраля, 2008 Жалоба Поделиться Опубликовано 22 февраля, 2008 Почему же? Если посмотреть в man'е на опцию --replace, всё вполне становится на свои места. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 23 февраля, 2008 Жалоба Поделиться Опубликовано 23 февраля, 2008 2 cppmm Да нет, понятно, что этот вариант заработает Речь идет о другом. Вопрошающий хочет запускать compiz _вместо_ kwin, а не _сначала_ kwin, а _потом_ compiz, который "на лету" заменяет kwin. Я играл с compiz-fusion под КДЕ, и могу сказать, что описываемый эффект замены одного другим действительно не очень лицеприятен Т.е. выглядит это примерно так: грузится КДЕ, появляется трей, десктоп, еще чего-то, а потом все это подвисает ненадолго, после чего подгружается compiz. В Гноме, например, compiz грузится сразу _вместо_ metacity, поэтому такого неприятного эффекта не возникает. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 25 февраля, 2008 Автор Жалоба Поделиться Опубликовано 25 февраля, 2008 Это еще слабо сказано! Kpager вообще умирает после старта compiz-а. Становится бесполезным... Приходится убивать kicker и запускать заново, но это помогает только pager-у - иконки в трэй не восстанавливаются! На скриншоте можно узреть этот ужос! обратите внимание на то что ktorrent пашет но его нигде нет! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 25 февраля, 2008 Автор Жалоба Поделиться Опубликовано 25 февраля, 2008 Ах, да! Забыл рассказать об экспериментах... Переименовывал kwin и делал скрипт с компизом под именем kwin! Самое интересное, что запускался в любом случае kwin. Это убило! Пришлось нагружать товарища скриптом startkde (т.к. я в программировании нифига не шарю). На свежую голову были найдены такие строки: # if the KDEWM environment variable has been set, then it will be used as KDE's # window manager instead of kwin. # if KDEWM is not set, ksmserver will ensure kwin is started. Значит ли это, что надо всего лишь определить этот самый оконный менеджер??? Т.к. далее следуют такие строчки: test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM" kwrapper ksmserver $KDEWM if test $? -eq 255; then # Startup error echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2 xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." fi Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 25 февраля, 2008 Жалоба Поделиться Опубликовано 25 февраля, 2008 Вот ведь красота Ну я бы попробовал присвоить значение "compiz" переменной $KDEWM и посмотрел на результат Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 25 февраля, 2008 Жалоба Поделиться Опубликовано 25 февраля, 2008 crossblade А нельзя ли попросить ссылку на обоину, которая видна на этом скриншоте? Где такие достают? Мне понравилось очень. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 25 февраля, 2008 Автор Жалоба Поделиться Опубликовано 25 февраля, 2008 Без проблем! http://interfacelift.com/wallpaper/details.php?id=1495 Тут этих картинок... ПС: На декорации окон не обращайте внимания, еще не запустил kde-window-decorator --replace ППС: А куда делся Aceler? В отпуске? Он бы, я думаю, смог бы наверняка сказать что прописать в скрипте! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Byte Опубликовано 25 февраля, 2008 Жалоба Поделиться Опубликовано 25 февраля, 2008 crossblade писал(а) Mon, 25 February 2008 12:43 Он бы, я думаю, смог бы наверняка сказать что прописать в скрипте! Все, как это ни странно, просто - man test И этот скрипт программированием назвать сложно Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 25 февраля, 2008 Жалоба Поделиться Опубликовано 25 февраля, 2008 За ссылку спасибо На самом деле, прописывать надо не в скрипте. Необходимо просто присвоить значение переменной KDEWM и запустить в этом окружении startkde. То есть, можно по-простому попробовать export KDEWM=compiz && startkde. Если получается, то можно запустить соотвествующую переменную куда-нибудь в /etc/profile.d/ Попробуйте. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
cppmm Опубликовано 25 февраля, 2008 Жалоба Поделиться Опубликовано 25 февраля, 2008 А. Теперь понятно. Я просто сейчас compiz с xfce использую. Там нормально отрабатывает схема с убиванием дефолтного wm и запуска compiz... А по по воду скрипта, можно попробовать просто в самом начале добавить строку KDEWM=compiz и всё. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 25 февраля, 2008 Автор Жалоба Поделиться Опубликовано 25 февраля, 2008 2Byte Я и не спорю! Просто посчитал, что мало уметь программировать - надо знать КДЕ. Хм. Почитал я ман (большую часть мне объясняли ) Видимо Unix-way мной до конца не осознан! 2Legalizer А что если в самом скрипте присвоить переменную? Или это уже "поздно" будет? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 25 февраля, 2008 Автор Жалоба Поделиться Опубликовано 25 февраля, 2008 2cppmm Спасибо, будем экспериментировать! Обязательно отпишусь о результатах! Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 25 февраля, 2008 Жалоба Поделиться Опубликовано 25 февраля, 2008 crossblade писал(а) Mon, 25 February 2008 15:52 2Legalizer А что если в самом скрипте присвоить переменную? Или это уже "поздно" будет? Да нет, в самый раз Можно прямо перед куском скрипта, который вы показали выше, вставить export KDEWM=compiz Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 26 февраля, 2008 Автор Жалоба Поделиться Опубликовано 26 февраля, 2008 Как и следовало ожидать - не пашет! Блин! В общем, сделал я в /usr/share/xsessions дополнительный вариант, который указывает на startkdecompiz Соответственно startkdecompiz - это модифицированный startkde. (Чтоб было удобней ковырятся) Всё безрезультатно! После очередного эксперимента (когда переменной было дано значение compiz-manager) глянул на скриншот1, подумал... Не помогло! Потом глянул на скриншот2 и тоже подумал... А как всё таки научить КДЕ видить compiz??? (пусть даже не стартовать) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
vadim krasovsky Опубликовано 27 февраля, 2008 Автор Жалоба Поделиться Опубликовано 27 февраля, 2008 Проблема решена! Тему можно закрывать... Как я и считал - надо знать КДЕ! Цитата: Edit ~/.kde/share/config/ksmserverrc. Make sure you have the following lines in the '[General]' section : defaultWM=beryl-xgl excludeApps=beryl-xgl loginMode=default If your previous login mode was restorePreviousLogout, then make a cleanup in the last section : [session: saved at previous logout] count=0 В данном случае beryl-xgl надо заменить на compiz-manager Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Legalizer Опубликовано 27 февраля, 2008 Жалоба Поделиться Опубликовано 27 февраля, 2008 Зато сколько интересного выяснилось в процессе Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.