зміна / тощо / оточення не впливало на мої змінні середовища


10

Я намагаюся встановити систему експертів Euler, дотримуючись цих інструкцій . Щоб додати змінну середовища, я відредагував свою, /etc/environmentщоб вона стала такою:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

Але коли я використовую, printenv PATHя не бачу, щоб новий каталог був доданий до мого шляху.

Що я тут роблю неправильно?


Це посилання наразі не працює (SourceForge вимкнений), але чи можете ви вказати, чи хочете ви змінювати системні змінні середовища? Оскільки це стосується програми, це, мабуть, так, і тому багато відповідей нижче неправильні.
Майкл Шепер

Відповіді:


8

Я не знаю причини, чому PATH не змінився (після переробки), але

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

ці пробіли перешкоджають встановленню EYE_HOME.

Слід зазначити, що /etc/environmentце не файл скриптів, а своєрідний файл призначення, який читає PAM. OTOH такі пробіли не дозволені у файлах сценаріїв, як /etc/profileі ~/.profile.

Якщо ви використовуєте файл сценарію, вам потрібно експортувати змінні, як показано у відповіді Avinash Raj.

Зауважте, що він ~/.bashrcпрацює, якщо ви запускаєте програму з вікна терміналу, вона може не працювати, якщо ви запускаєте її з графічного середовища, оскільки її не отримує диспетчер дисплеїв.


@ gunnar-hijalmarsson --- правильно. Те, що диспетчер дисплеїв не запускається з моєї оболонки, мене багато разів перекушує. Я опублікував трюк, щоб побачити змінні, встановлені в DE: askubuntu.com/a/356973/16395
Rmano

Гарний трюк, @Rmano! Будь-який шанс, що ви можете додати його до help.ubuntu.com/community/EnvironmentVariables ?
Gunnar Hjalmarsson

Дякую - я жодного разу не редагував цього, і не знаю, чи мав я дозволу. Я розгляну це, якщо у мене буде час, але в іншому випадку не соромтесь копіювати / вставляти все, що завгодно --- цій сторінці потрібно погано бути оновленою. Одне запитання: чи всі менеджери дисплеїв (lightdm, gdm, kdm) джерело, ~/.profileнавіть якщо моя оболонка за замовчуванням не є, bashале, наприклад zsh,?
Рмано

Перевірив сам. Я використовую zsh; програми, запущені DE, бачать змінні, встановлені в ~/.pam_environmentта ~/.profile(NOT ~/.zprofile). Це добре і погано, але погана частина вирішується зміною, .profileщоб вона джерела моїх .zprofileі .zshenv. І я підтверджую, що використання .pam_environmentпогано, воно переписується колись (не повинно, але так).
Рмано

@Rmano: я знаю, що ~/.profileджерело lightdm та gdm; не впевнений у kdm.
Gunnar Hjalmarsson

5
gedit ~/.bashrc

Після цього додайте рядки нижче,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

Збережіть файл і поверніть його,

source ~/.bashrc

1
це буде системною змінною?
Моха всемогутній верблюд


1
@AvinashRaj: ці змінні не тільки будуть лише користувачами, але й не будуть помічені, якщо додаток не запускається з терміналу командного рядка ... графічне середовище запускається саме собою, не використовуючи оболонку користувача. Дивіться askubuntu.com/a/356973/16395
Rmano

0

Ви можете також спробувати ці два файли для конфігурації системи:

  • /etc/profile
  • /etc/bashrc

Для конфігурації для користувачів:

  • $HOME/.profile
  • $HOME/.bashrc

Просто додайте змінні, як ви зробили /etc/environment. Але вам доведеться увійти та вийти (або виконати належне перезавантаження). Можливо, за допомогою входу та виходу /etc/environmentбуде працювати, але я не впевнений.


-1

Ви хочете відредагувати .bashrc файл у своєму домашньому каталозі.

Під час редагування шляху слід включити його :$PATHв кінці, щоб не замінювати поточний шлях.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.