Summary: | Не выполняются скрипты из /etc/profile.d в сессии kde5 на wayland | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Антон Мидюков <antohami> |
Component: | plasma5-workspace | Assignee: | Sergey V Turchin <zerg> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | aen, aris, glebfm, golubevan, iv, manowar, mcpain, placeholder, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
See Also: |
https://bugzilla.altlinux.org/show_bug.cgi?id=38397 https://bugzilla.altlinux.org/show_bug.cgi?id=40910 |
||
Bug Depends on: | |||
Bug Blocks: | 33000, 46625 |
Description
Антон Мидюков
2024-01-26 13:28:17 MSK
А кем бы они должны выполняться? P.S. Интересно, в GNOME тоже? (Ответ для Sergey V Turchin на комментарий #1) > А кем бы они должны выполняться? Точнее, кем бы могли? (Ответ для Sergey V Turchin на комментарий #1) > А кем бы они должны выполняться? > > P.S. > Интересно, в GNOME тоже? В GNOME на wayland выполняются. Не знаю кем. Будем посмотреть. (Ответ для Антон Мидюков на комментарий #3) > В GNOME на wayland выполняются. Не знаю кем. Так же как и на x11 -- GDM'ом. $ grep profile /etc/gdm/Xsession # This is why we source the profile files below. # read /etc/profile and .bash_profile test -f /etc/profile && . /etc/profile test -f "$HOME/.bash_profile" && . "$HOME/.bash_profile" (Ответ для Yuri N. Sedunov на комментарий #5) > Так же как и на x11 -- GDM'ом. > $ grep profile /etc/gdm/Xsession Xsession в Wayland выполняться не должон. /etc/gdm/Xsession не то же самое что /etc/X11/Xsession /etc/profile.d/*.sh выполняются при логине в bash. gnome на wayland запускает bash -l. И phosh тоже так делает. А вот kde5 у нас напрямую бинарик /usr/bin/startplasma-wayland запускает из /usr/share/wayland-session/plasmawayland.desktop Думаю, что дело в этом. (Ответ для Yuri N. Sedunov на комментарий #7) > /etc/gdm/Xsession не то же самое что /etc/X11/Xsession Там "This is SORT OF LIKE an X session". Да и название от этого другим не стало. Я к тому, что это костыль и в Wayland это выполняться не должно. В Fedora этим занимается /etc/bashrc (In reply to Sergey V Turchin from comment #10) > В Fedora этим занимается /etc/bashrc В Альте /etc/bashrc загружает только /etc/bashrc.d/*.sh. Перевесьте на нужный пакет, пожалуйста. (Ответ для Dmitry V. Levin на комментарий #11) > В Альте /etc/bashrc загружает только /etc/bashrc.d/*.sh. Значит, надо, чтоб нужные скрипты из /etc/profile.d/ имели файлы в /etc/bashrc.d/ . (Ответ для Sergey V Turchin на комментарий #12) > (Ответ для Dmitry V. Levin на комментарий #11) > > В Альте /etc/bashrc загружает только /etc/bashrc.d/*.sh. > Значит, надо, чтоб нужные скрипты из /etc/profile.d/ имели файлы в > /etc/bashrc.d/ . 1. чем запуск bash -l не устраивает? 2. а это точно хорошая идея пихать всякое этакое в /etc/profile.d/, которое выполняется при логине в консольном tty? (Ответ для Антон Мидюков на комментарий #13) > 2. а это точно хорошая идея пихать всякое этакое в /etc/profile.d/, которое > выполняется при логине в консольном tty? Видимо, у Fedora нет проблем. Ты не путаешь с /etc/X11/xinit.d/ ? (Ответ для Sergey V Turchin на комментарий #14) > (Ответ для Антон Мидюков на комментарий #13) > > 2. а это точно хорошая идея пихать всякое этакое в /etc/profile.d/, которое > > выполняется при логине в консольном tty? > Видимо, у Fedora нет проблем. > Ты не путаешь с /etc/X11/xinit.d/ ? Нет. Я про /etc/profile.d/ Что туда только не помещаем. Смотреть пакеты: chromium-disable-webfonts dconf-defaults-tablet kde5-profile flatpak fcitx5-autostart И только в fcitx5-autostart условие есть, чтобы в tty не выполнялось. (Ответ для Антон Мидюков на комментарий #15) > > Видимо, у Fedora нет проблем. > > Ты не путаешь с /etc/X11/xinit.d/ ? > Нет. Я про /etc/profile.d/ > Что туда только не помещаем. Не так уж много. Перечисленные или пофиксить или нормально или у остальных так же. В Ubuntu, например, snap тоже в консоли переменные ставит. А вот, кто /etc/profile всасывает, что-то не найду... (Ответ для Sergey V Turchin на комментарий #16) > (Ответ для Антон Мидюков на комментарий #15) > > > Видимо, у Fedora нет проблем. > > > Ты не путаешь с /etc/X11/xinit.d/ ? > > Нет. Я про /etc/profile.d/ > > Что туда только не помещаем. > Не так уж много. Перечисленные или пофиксить или нормально или у остальных > так же. > > В Ubuntu, например, snap тоже в консоли переменные ставит. > А вот, кто /etc/profile всасывает, что-то не найду... man bash: When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior. (Ответ для Антон Мидюков на комментарий #17) > > А вот, кто /etc/profile всасывает, что-то не найду... > man bash: comment#10 (Ответ для Sergey V Turchin на комментарий #10) > В Fedora этим занимается /etc/bashrc В Ubuntu тоже нашёл упоминания, что /etc/profile и /etc/profile.d/*.sh загружает bash. Конкретного места не нашёл. (Ответ для Sergey V Turchin на комментарий #19) > (Ответ для Sergey V Turchin на комментарий #10) > > В Fedora этим занимается /etc/bashrc > В Ubuntu тоже нашёл упоминания, что /etc/profile и /etc/profile.d/*.sh > загружает bash. Конкретного места не нашёл. man'у веры нет? При логине SHELL'ы грузят /etc/profile.d/*.{такой-то_shell} Примеры запуска сеансов на wayland: https://git.altlinux.org/srpms/p/phosh.git?p=phosh.git;a=blob;f=phosh/data/phosh-session.in;h=33d740db2859a580a3e90e869003bf933e7693ae;hb=0.35.0-alt1#l57 и https://git.altlinux.org/srpms/g/gnome-session.git?p=gnome-session.git;a=blob;f=gnome-session/gnome-session/gnome-session.in;h=b43ebaac3e6fa5930203d91a5aa68ab9254a888f;hb=45.0-alt1.1#l10 (Ответ для Антон Мидюков на комментарий #13) > 1. чем запуск bash -l не устраивает? Да, я и не уверен пока, что bashrc поможет. Надо ж в Wayland перед запуском сессии как-то, а там далеко не всегда есть bash... По итогу, bashrc тут ни при чём. Возвращаю обратно и переоткрываю. У sddm в Ubuntu нашёл, что есть отдельный скрипт wayland-session, рядом и схожий с егошним Xsession, следовательно у lightdm должно быть что-то схожее, но не нашёл. P.S. Наш gdm тупо свой же Xsession выполняет для wayland, но это некрасиво. (Ответ для Sergey V Turchin на комментарий #23) > У sddm в Ubuntu нашёл, что есть отдельный скрипт wayland-session, рядом и > схожий с егошним Xsession, следовательно у lightdm должно быть что-то > схожее, но не нашёл. > > P.S. > Наш gdm тупо свой же Xsession выполняет для wayland, но это некрасиво. Не выполняет. Его можно спокойно удалить и ничего не поменяется для сессии на wayland. > > Наш gdm тупо свой же Xsession выполняет для wayland, но это некрасиво. > Не выполняет. Значит, мантейнер gdm ошибся в comment#5 613 ? SLsl 0:00 /usr/sbin/lightdm 2038 ? Sl 0:00 \_ lightdm --session-child 13 20 2059 ? Ss 0:00 \_ /bin/sh /usr/lib/x86_64-linux-gnu/libexec/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland 2123 ? R 0:00 \_ ps axf В Debian/Ubuntu это делает bash. В скрипте plasma-dbus-run-session-if-needed в момент перед выполнением startplasma-wayland переменные уже выставлены. P.S. Ща проверю, если у нас в шебанг скрипта вставить -l, благо он мой. (Ответ для Sergey V Turchin на комментарий #26) > Ща проверю, если у нас в шебанг скрипта вставить -l, благо он мой. Прокатило. Ща упакую. (Ответ для Sergey V Turchin на комментарий #27) > (Ответ для Sergey V Turchin на комментарий #26) > > Ща проверю, если у нас в шебанг скрипта вставить -l, благо он мой. > Прокатило. Ща упакую. Подожди. Для сеанса иксов не надо этот логин совершать. Может что-то неожиданное вылезти. Сделай по аналогии с gnome-session: https://git.altlinux.org/srpms/g/gnome-session.git?p=gnome-session.git;a=blob;f=gnome-session/gnome-session/gnome-session.in;h=b43ebaac3e6fa5930203d91a5aa68ab9254a888f;hb=45.0-alt1.1#l10 (Ответ для Антон Мидюков на комментарий #28) > Подожди. Для сеанса иксов не надо этот логин совершать. Может что-то > неожиданное вылезти. plasma-dbus-run-session-if-needed используется только для запуска Wayland-сессии в /usr/share/wayland-sessions/plasmawayland.desktop в Exec. plasma5-workspace-1:5.27.10-alt3 -> sisyphus: Tue Jan 30 2024 Sergey V Turchin <zerg@altlinux> 1:5.27.10-alt3 - force run /etc/profile at wayland session start (closes: 49197) |