LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Некоторые DE продолжают читать ~/.profile или ~/.bash_profile, но некоторые — нет (например, GNOME 3 с Wayland).

С другой стороны, поскольку последний GNOME 3 теперь полностью запускается внутри systemd, я лично себе сделал так:

### /home/intelfx/.config/systemd/user/import-profile.service
[Unit]
Description=Import environment from ~/.profile and /etc/profile
DefaultDependencies=no
Conflicts=shutdown.target
Before=basic.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/env %E/systemd/scripts/import-profile.sh

[Install]
WantedBy=basic.target
### home/intelfx/.config/systemd/scripts/import-profile.sh 
#!/bin/sh

for f in /etc/profile ~/.profile; do
        . "$f"
done

systemctl --user import-environment

Соответственно, все процессы DE, которые запускаются после basic.target (т. е. просто все), наследуют это окружение и всё работает без pam_env.

Но у тебя, насколько я понимаю, не GNOME (иначе бы проблема не возникла in the first place), так что это всё вряд ли поможет. А с другой стороны, в чём тогда проблема просто вписать в ~/.profile? Твоё DE этот файл тоже не читает?

Исправление intelfx, :

Некоторые DE продолжают читать ~/.profile или ~/.bash_profile, но некоторые — нет (например, GNOME 3 с Wayland).

С другой стороны, поскольку последний GNOME 3 теперь полностью запускается внутри systemd, я лично себе сделал так:

### /home/intelfx/.config/systemd/user/import-profile.service
[Unit]
Description=Import environment from ~/.profile and /etc/profile
DefaultDependencies=no
Conflicts=shutdown.target
Before=basic.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/env %E/systemd/scripts/import-profile.sh

[Install]
WantedBy=basic.target
### home/intelfx/.config/systemd/scripts/import-profile.sh 
#!/bin/sh

for f in /etc/profile ~/.profile; do
        . "$f"
done

systemctl --user import-environment

Соответственно, все процессы DE, которые запускаются после basic.target (т. е. просто все), наследуют это окружение и всё работает без pam_env.

Но у тебя, насколько я понимаю, не GNOME (иначе бы проблема не возникла in the first place), так что это всё вряд ли поможет. А с другой стороны, в чём тогда проблема просто вписать в ~/.profile? Твоё DE этот файл тоже не читает?

Исправление intelfx, :

Некоторые DE продолжают читать ~/.profile или ~/.bash_profile, но некоторые — нет (например, GNOME 3 с Wayland).

С другой стороны, поскольку последний GNOME 3 теперь полностью запускается внутри systemd, я лично себе сделал так:

### /home/intelfx/.config/systemd/user/import-profile.service
[Unit]
Description=Import environment from ~/.profile and /etc/profile
DefaultDependencies=no
Conflicts=shutdown.target
Before=basic.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/env %E/systemd/scripts/import-profile.sh

[Install]
WantedBy=basic.target
### home/intelfx/.config/systemd/scripts/import-profile.sh 
#!/bin/sh

for f in /etc/profile ~/.profile; do
        . "$f"
done

systemctl --user import-environment

Соответственно, все процессы DE, которые запускаются после basic.target (т. е. просто все), наследуют это окружение и всё работает без pam_env.

Но у тебя, насколько я понимаю, не GNOME (иначе бы проблема не возникла in the first place), так что это всёвряд ли поможет. А с другой стороны, в чём тогда проблема просто вписать в ~/.profile? Твоё DE этот файл тоже не читает?

Исправление intelfx, :

Некоторые DE продолжают читать ~/.profile или ~/.bash_profile, но некоторые — нет (например, GNOME 3 с Wayland).

С другой стороны, поскольку последний GNOME 3 теперь полностью запускается внутри systemd, я лично себе сделал так:

### /home/intelfx/.config/systemd/user/import-profile.service
[Unit]
Description=Import environment from ~/.profile and /etc/profile
DefaultDependencies=no
Conflicts=shutdown.target
Before=basic.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/env %E/systemd/scripts/import-profile.sh

[Install]
WantedBy=basic.target
### home/intelfx/.config/systemd/scripts/import-profile.sh 
#!/bin/sh

for f in /etc/profile ~/.profile; do
        . "$f"
done

systemctl --user import-environment

Соответственно, все процессы DE, которые запускаются после basic.target (т. е. просто все), наследуют это окружение и всё работает без pam_env.

Но у тебя, насколько я понимаю, не GNOME (иначе бы проблема не возникла in the first place), так что это вряд ли поможет.

Исправление intelfx, :

Некоторые DE продолжают читать ~/.profile или ~/.bash_profile, но некоторые — нет (например, GNOME 3 с Wayland).

С другой стороны, поскольку последний GNOME 3 теперь полностью запускается внутри systemd, я лично себе сделал так:

### /home/intelfx/.config/systemd/user/import-profile.service
[Unit]
Description=Import environment from ~/.profile and /etc/profile
DefaultDependencies=no
Conflicts=shutdown.target
Before=basic.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/env %E/systemd/scripts/import-profile.sh

[Install]
WantedBy=basic.target
### home/intelfx/.config/systemd/scripts/import-profile.sh 
#!/bin/sh

for f in /etc/profile ~/.profile; do
        . "$f"
done

systemctl --user import-environment

Соответственно, все процессы DE, которые запускаются после basic.target (т. е. просто все), наследуют это окружение и всё работает без pam_env.

Исходная версия intelfx, :

Некоторые DE продолжают читать ~/.profile или ~/.bash_profile, но некоторые — нет (например, GNOME 3 с Wayland).

С другой стороны, поскольку последний GNOME 3 теперь полностью запускается внутри systemd, я лично себе сделал так:

### /home/intelfx/.config/systemd/user/import-profile.service
[Unit]
Description=Import environment from ~/.profile and /etc/profile
DefaultDependencies=no
Conflicts=shutdown.target
Before=basic.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/env %E/systemd/scripts/import-profile.sh

[Install]
WantedBy=basic.target
### home/intelfx/.config/systemd/scripts/import-profile.sh 
#!/bin/sh

for f in /etc/profile ~/.profile; do
        . "$f"
done

systemctl --user import-environment