Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Проверил – вы правы. (Прошу модераторов удалить мои два поста выше, чтобы не вводили новичков в заблуждение.) xfce4-session действительно не требуется запускать отдельно. Достаточно прописать "ck-launch-session startxfce4" в .xinitrc. Моя ошибка состояла в том, что я запускал это БЕЗ startx, а в .xinitrc всё заработало. startxfce4 само запускает X, если не обнаруживает его при запуске, но сессия при этом получается “неактивная”, как и при запуске без ck-launch-session. Жаль, этого нигде не удалось найти. Получается, есть два необходимых условия: 1) startx, 2) ck-launch-session. |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
SunStrokeПрактически во всех: storage, power и т.д. Не в группах дело. При запуске через KDM всё работало, а через startx – нет. От HAL ничего не менялось, тем более что теперь всё это работет через udisks/upower. Команда ck-list-sessions показывла, что сессия “неактивна”. А теперь показывает, что активна. Возможно, xfce4-session может запускаться из какого-то другого места, но так или иначе без неё не работает. Думаю, у вас она тоже присутствует в процессах? |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
После долгих (и безуспешных) поисков удалось, наконец, угадать, как правильно запустить xfce4.8 (без использования KDM/GDM), чтобы его сессия была “активна” в ck-list-sessions, и следовательно, появилась возможность монтировать диски, выключать и перезагружать систему. В ~/.xinitrc пришлось прописать вот такую конструкцию: ck-launch-session dbus-launch --sh-syntax --exit-with-session startxfce4 xfce4-session |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Раньше, когда IDE-диски ещё нормально работали со старый драйвером (и именовались /dev/hd*), команда mount /mnt/cdrom всегда срабатывала успешно, независимо от времени распознавания диска приводом и состояния привода перед командой (открыт/только что закрыт/диск распознан/остановлен). Конечно, если диск был и распознавался приводом. После вынужденного перехода на новый драйвер (винчестеры /dev/sd*, CD/DVD /dev/sr*), успех монтирования начал зависеть от состояния привода в момент подачи команды. Пришлось писать скрипт, повторяющий процедуру “до победного конца”. И вот теперь, после перехода на udev-1.6.5 и ядро 2.6.37, к проблемам с монтированием добавилась ещё одна, уже совсем дикая – только что смонтированный диск иногда снова сам собой отмонтируется сразу после монтирования! Сообщения во всех логах идут только о монтировании. Куда копать – непонятно. Единственное, что удалось сделать – скрипт, учитывающий новую “странность” монтирования, с паузой не только между попытками, но и между монтированием и проверкой. #!/bin/sh for ((i=2; i<=20; i++)) ; do mount /mnt/cdrom &>/dev/null sleep 0.5 A=`grep /mnt/cdrom /etc/mtab` if [ -n "$A" ] ; then exit 0; fi # echo $i sleep 0.5 done mount /mnt/cdrom |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
man ejectТо бишь, eject пытается определить состояние устройства, и отдаёт ему противоположную команду. Команды “toggle”, по-видимому, нет. Те же самые команды можно отдать и через другие программы, например "sdparm -C eject /dev/sr0“ и ”sdparm -C load /dev/sr0“. Не знаю, как может быть, что ”eject -T“ работает, а ”eject -t" - нет. Может, меняются права на /dev/sr0 до и после? С флешкой на старой системе и eject, и sdparm работают правильно. На новой - обе “в два приёма”. "eject -T sdc" c флешкой в обоих случаях работает неправильно - только подключает, а отключить не может - видимо, не умеет правильно определить состояние. Я уже пробовал и разные опции, и разные правила udev (и вообще без правил), и разные ядра. Поведение одинаково. Насколько я понимаю, дело в версии udev - наверное, что-то там сломали между 1.4.1 и 1.6.5 ? Ядро с первого раза передаёт команду флешке, и флешка её с первого раза выполняет. Но на старой системе udev реагирует на изменение её состояния сразу, а на на новой - только после второй команды, когда состояние УЖЕ изменилось. |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
Много гуглил, но не нашел даже упоминания такой проблемы. Раньше (под slackware) я подключал разделы флешки командами вида "pmount sdc1“, а отключал флешку командами вида ”eject sdc“. Если передумал вынимать флешку, тогда ”eject -t sdc pmount sdc1“ После переезда на Arch обнаружилось странное поведение системы по команде eject для флешки. Команды ”eject“ и ”eject -t“ теперь надо отдавать дважды! Первый раз на неё реагирует только сама флешка, в второй раз её наконец ”замечает" udev, то есть становятся видны/невидны её разделы в /dev Аналогичный результат даёт "udevadm monitor –env" - на первый eject гробовое молчание, и только на второй появляется вывод. При этом сама флешка реагирует как раз на первую команду - то есть после первого eject её уже нельзя монтировать, а разделы /dev/sdc1 и /dev/sdc2 ещё видны. Попробовал запустить Arch со своим старым ядром - тот же эффект, то есть от ядра не зависит. Пожалуйста, подскажите, люди добрые - где копать? |