Решено: icewm и xfdesktop (сессия icewm не завершается, пока не завершишь xfdesktop)

Knoppix

Модераторы: Warderer, Модераторы разделов

burlunder
Сообщения: 9

Решено: icewm и xfdesktop

Сообщение burlunder »

debian squeeze
Добавил в /etc/X11/Xsession.d/ файл 98-xfdesktop со строкой "xfdesktop &"
При старте icew всё работает, xfdesktop запускается.

Проблема начинается когда через меню icewm я выбираю пункт Выход... -> Выход.(Перезагрузка, Выключение - без разницы)
Сеанс остается, завершения не происходит. Единственный способ зарершить сеанс - убить процесс xfdesktop. После этого завершение работает нормально.
Причём, заметил, проблема эта только при запущенном xfdesktop. Без него Выход, Перезагрузка, Выключение происходят нормально.

Пробовал даже навесить на перезагрузку и выключение скрипт, который при запуске будет убивать процес xfdesktop, а уже потом непосредственно выключать. Не помогает. Скорее всего из-за того, что прежде чем запустить процес перезагрузки icewm должен сначала завершить сеанс. Xfdesktop получает сигнал от icewm и не завершается, icewm не получает от xfdesktop сигнала о завершении процеса и ждёт. На этом всё останавливается.

Может кто-нибудь подсказать куда копать ?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: icewm и xfdesktop

Сообщение sash-kan »

вручную процесс убить получается?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Решено: icewm и xfdesktop

Сообщение TechnoMag »

может лучше добавить xfdesktop в автозапуск IceWM в файле ~.icewm/startup ?
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:
burlunder
Сообщения: 9

Re: Решено: icewm и xfdesktop

Сообщение burlunder »

да, вручную убивается без проблем

собственно, из автозапуска ~/.icewm/startup процесс и запускается. Если закоментировать и запустить вручную, ситуация не меняется, только если убить вручную.
Пробовал .icewm/shutdown (вроде как исполняется самым последним в сессии, перед закрытием, безрезультатно). так же.
Спасибо сказали:
Аватара пользователя
TechnoMag
Сообщения: 298
ОС: Debian 8.0 Jessie

Re: Решено: icewm и xfdesktop

Сообщение TechnoMag »

Такая ситуация может наблюдаться, если приложение может принимать сообщение о закрытии DE только от того DE, для которого оно написано. Возможно нужно послать ему общее (системное) сообщение (сигнал) о закрытии ( Например kill 3 PID ).
Наблюдал такое в ранних версиях DoubleCommander, когда в GNOME оно нормально закрывалось, а в XFCE тормозило. Возможно я ошибаюсь.
- Домашний Linux -
Памятки для пользователя
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Решено: icewm и xfdesktop

Сообщение sash-kan »

burlunder писал(а):
03.10.2011 12:58
Пробовал .icewm/shutdown (вроде как исполняется самым последним в сессии, перед закрытием, безрезультатно). так же.
бит исполнимости присвоили этому файлу?
что именно у вас в нём записано?

сравните номер процесса xfdesktop во время работы icewm и после окончания сессии: может быть, программа просто перезапускается?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
burlunder
Сообщения: 9

Re: Решено: icewm и xfdesktop

Сообщение burlunder »

еТак и не понял где причины несовместимости icewm и xfdesktop.
Решил через пакет lxsession. Он независим от рабочего окружения и может использовать любой оконный менеджер, хотя и является частью LXDE

Конкретно для debian squuze.
Создается файл .xsession в домашнем каталоге с единственной строкой

Код:

#!/bin/bash exec lxsession -s LXDE

где LXDE название сеанса, к примеру,
.config/lxsession/LXDE/ ( или /etc/xdg/lxsession/LXDE/)

нужно лишь отредактировать файл desktop.conf из этого каталога, чтобы оконным менеджером был icewm

Код:

[Session] window_manager=icewm

и добавить в файл .config/lxsession/LXDE/autostart всё что нам нужно.

Завершение сеанса происходит через lxsession-logout, который легко добавить в .icewm/menu. ( /etc/X11/icewm/menu).
Нужно также подредактировать файл .icewm/preferences (/etc/X11/icewm/preferences)

Код:

# Show logout submenu 1 ShowLogoutMenu=0 # 0/1 # Show logout submenu ShowLogoutSubMenu=0 # 0/1 # Confirm logout ConfirmLogout=0 # 0/1

В этом случае xfdesktop завершается корректно.
Спасибо сказали:
Аватара пользователя
kontur
Сообщения: 23
ОС: CentOS, Debian

Re: Решено: icewm и xfdesktop

Сообщение kontur »

Прошу прощения, что пишу сюда, небыло желания создавать свою тему, а проблема в чем-то сходная, просто есть желание поделиться ...

Проблема: После загрузки, фон рабочего стола, вдруг, станол зеленым, поменять или установить другое фоновое изображение не получалось ...
гугл подсказал, что проблема с xfdesktop. проверил его наличии в памяти, - работает ...

Принудительно его убил - помогло, после, сразу проверил его наличие в памяти, оказался что он там "остался", но уже с другим pid-ом.
А вот после того, как перелогинился(с перезагрузкой тоже самое) проблема вернулась!

Решал так:
1. /home/user/.cache - там каталог: sessions, переименовал его(на всякий пожарный) в sessions0
позже, после того, как убедился что все ок, удалил его (система создала новый) ...
2. /etc/xdg/xfce4/xinitrc - там строчка: xfdesktop& -> закментил ее -> #xfdesktop&
3. перегрузился или перелогинился, запамятовал :) ...

после всего этого все стало работать штатно ...
OS: debin, Linux P2-PC 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux
desktop: 4.8.3 (Xfce 4.8), 2008-2011

PS: может кому будет полезно ...


Спасибо сказали: