Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Странное поведение ~/.config/lxsession/Lubuntu/autostart  (Прочитано 2956 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн rygoravich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
История вопроса - понадобилось отключить dpms для одного из пользователей (ибо из-под него фильмы смотрятся). Прописал в ~/.config/lxsession/Lubuntu/autostart xset -dpms При следующей загрузке обнаружил отсутствие панели. Экспериментально выяснил, что при логине (из lightdm) скрипт /etc/xdg/lxsession/Lubuntu/autostart не выполняется, если существует ~/.config/lxsession/Lubuntu/autostart (даже если он пуст, если содержит записи - то они выполняются при запуске).

Результаты гуглежа утверждают, что по идее сначала должен выполнятся системный файл, а потом - пользовательский, упоминаний о другом поведении не нашел.

Понятно, что можно записи скопировать из системного файла, или создать файл .desktop в ~/.config/autostart, однако переписывать системный файл, равно как и создавать .desktop для одного только xset мне кажется очень кривым решением.

В чем может быть причина глюка и как его устранить? Дистрибутив Lubuntu 12.10.

Оффлайн Виктор Перестукин

  • Старожил
  • *
  • Сообщений: 2171
    • Просмотр профиля
Re: Странное поведение ~/.config/lxsession/Lubuntu/autostart
« Ответ #1 : 28 Января 2013, 14:20:59 »
Результаты гуглежа утверждают, что по идее сначала должен выполнятся системный файл, а потом - пользовательский, упоминаний о другом поведении не нашел.
А разве не наоборот?
Попробовал создал пустой файл ~/.config/lxsession/Lubuntu/autostart, так вообще при загрузке чёрный экран получил. Ладно хоть контекстное меню openbox работало. :D

Оффлайн rygoravich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Странное поведение ~/.config/lxsession/Lubuntu/autostart
« Ответ #2 : 29 Января 2013, 07:06:59 »
Ну, вот, например с http://wiki.lxde.org/ru/LXSession:
Цитировать
Команды глобального запуска хранятся в файле /etc/xdg/lxsession/<profile>/autostart, а кроме того дополнительно подобные другие команды могут быть указаны локально в файле ~/.config/lxsession/<profile>/autostart. Если присутствуют оба файла, то все команды из обоих файлов будут запущены.
Это не единственная ссылка, гугл много подобного находит. Однако почему-то в данном случае только один из них запускается, причем не могу понять, почему... Насколько я понял, после авторизации запускается скрипт /usr/bin/startubuntu, который в свою очередь запускает /usr/bin/lxsession (бинарный файл, так что разобраться, как он работает, гораздо сложнее)...

Оффлайн Виктор Перестукин

  • Старожил
  • *
  • Сообщений: 2171
    • Просмотр профиля
Re: Странное поведение ~/.config/lxsession/Lubuntu/autostart
« Ответ #3 : 29 Января 2013, 08:29:58 »
В предыдущем абзаце написано:
Цитировать
Конфигурационные файлы LXSession хранятся в ~/.config/lxsession/<Profile Name>
Если конфигурационный файл отсутствует, LXSession загружает системный конфигурационный файл из /usr/share/lxsession/<Profile name> вместо него.
Правда, это не отвечает на вопрос "почему так происходит?". Надо разбираться.

Создайте файл desktop, как сами уже писали. Это не "кривое" решение, это один из способов решения.

Пользователь решил продолжить мысль 29 Января 2013, 08:46:51:
Я подумал и решил, что всё так и должно быть. Если в конфигурационном файле пользователя не прописан запуск lxpanel или рабочего стола с профилем пользователя, то они и не будут запускаться.
« Последнее редактирование: 29 Января 2013, 08:46:51 от Виктор Перестукин »

Оффлайн rygoravich

  • Автор темы
  • Новичок
  • *
  • Сообщений: 39
    • Просмотр профиля
Re: Странное поведение ~/.config/lxsession/Lubuntu/autostart
« Ответ #4 : 01 Февраля 2013, 08:04:33 »
В предыдущем абзаце написано:
Цитировать
Конфигурационные файлы LXSession хранятся в ~/.config/lxsession/<Profile Name>
Если конфигурационный файл отсутствует, LXSession загружает системный конфигурационный файл из /usr/share/lxsession/<Profile name> вместо него.

Однако здесь "конфигурационный файл" упоминается в единственном числе, что по идее должно означать файл с конфигурацией сессии, т.е. desktop.conf

Создайте файл desktop, как сами уже писали. Это не "кривое" решение, это один из способов решения.

Видимо, придется... "Кривым" я назвал это потому, что если есть два способа, то, имхо, правильнее использовать самый простой, в соответствии с принципом KISS и бритвой Оккама :) . Файл .desktop уместнее смотрелся бы как общесистемный, если пользователям нужна необходимость включать или выключать выполнение какого-то файла, но поскольку заранее известно, что данная команда потребуется только для одного пользователя, я бы таки предпочел файл autostart.

Я подумал и решил, что всё так и должно быть. Если в конфигурационном файле пользователя не прописан запуск lxpanel или рабочего стола с профилем пользователя, то они и не будут запускаться.

Ну, имхо, в этом случае было бы уместно добавить еще один файл для автозагрузки, чтобы можно было бы пользоваться им вместе с системными настройками (чтобы, например, в случае изменения общесистемного файла можно было пользоваться измененной версией). Можно, конечно, в том же пользовательском autostart прописать запуск общесистемного, но где гарантия, что в очередном обновлении не будет это исправлено? А то будут два раза панели грузиться...

Ладно, будем тогда считать вопрос закрытым, сделаю .desktop... Всем спасибо за внимание :) .

 

Страница сгенерирована за 0.134 секунд. Запросов: 26.