Как изменить переменные среды, не повторно регистрируясь к UI?

Короткий ответ: Нет. Вы не можете сделать только некоторые файлы в каталоге "невидимыми" для тех, которые не принадлежат определенной группе.

Взгляните на вопрос, Почему для каталогов нужен исполняемый файл (X) разрешение, которое будет открыто? - предмет приятно покрыт там, таким образом, я буду не просто копировать его здесь. Важная вещь понять состоит в том, что каталог является отдельным объектом - так же, как файл - таким образом, любые полномочия могут только влиять на него в целом.

3
21.07.2012, 02:07
2 ответа

Это прослушивало меня также, и я ответил на Ваш вопрос как на катализатор для исследования немного меня. По-видимому, Вы не.

Существует подобный вопрос на stackoverflow, который имеет только использование gdb как принятое решение. Другие ответы предлагают (и я соглашаюсь, заботитесь ли Вы), что переменные изменяющей среды после gui запуск имеют мало бесцельно. Тем более, что изменение среды процесса НЕ ВЛИЯЕТ на среду своих детей.

1
27.01.2020, 21:32
  • 1
    "Тем более, что изменение среды процесса НЕ ВЛИЯЕТ на среду своих детей". Это действительно всегда похож на это, это нельзя было настроить так или иначе с fork флаги или - возможно, даже передача сообщений как последнее прибежище? –  Emanuel Berg 22.07.2012, 18:28
  • 2
    я уверен, что можно заставить его работать, но после того, как процесс разветвлен, он имеет свою очень собственную среду, b/c это - копия (!) родителя. Таким образом без дальнейшего взламывания изменения не распространяют вдоль родословной –  Bananguin 22.07.2012, 19:04
  • 3
    процесса, я думаю, что общая память была бы оптимальна, потому что затем необходимо будет только изменить разветвляющуюся часть, не установку переменных, в родителе (т.е. иначе необходимо было бы сцепить "переменную набора" с отправить вызовом детям). Кроме того, затем дети не должны были бы получать сообщения и делать обновления; они могли читать, как обычно, из переменных. Обратите внимание, что это - теория: Я не знаю, как сделать это на практике, но я уверен, что это было бы более трудно, чем я заставляю его звучать. –  Emanuel Berg 22.07.2012, 19:16
  • 4
    Да это, вероятно. Но существует лучший вопрос: почему Вы хотели бы изменить среду КАЖДОГО дочернего процесса данного процесса во времени выполнения. Это действительно звучит много как, предают коммуникацию процесса земле мне и для этого существуют другие средства. Используя тех кажется более разумным. –  Bananguin 22.07.2012, 20:33
  • 5
    ну, который является, возможно, вещью личности. Некоторые люди ищут "оптимальное" решение. Меня, я ищу любое решение - безотносительно результата, Вы приобретите опыт и знание. Что касается IPC, общая память просто что, наряду с семафорами, взаимными исключениями, именованными каналами, и т.д. Не трудно вообразить, почему Вы хотели бы, чтобы это работало способ, которым Вы описываете: например, для конфигурирования GUI. Вы изменяетесь в одном месте и затем видите результат немедленно во всех элементах GUI. Но, чтобы говорить правду... Существуют некоторые эксперты Unix C на этом форуме, я надеюсь, что они выскажутся об этом. –  Emanuel Berg 22.07.2012, 23:42

Используйте 'исходную' команду в терминале. Например, если у Вас есть сценарий оболочки, который определяет некоторые переменные, можно сделать

source my_script

к (ре) загружают переменные в среду.

При использовании удара затем, следующая стенография также работает:

. my_script

Это - также хороший путь к перезагрузке файлов как .bashrc.

0
27.01.2020, 21:32
  • 1
    Это может изменить среду текущего процесса оболочки, да, но это не изменяет среду других рабочих процессов, особенно выполнения gui. –  Bananguin 22.07.2012, 00:18

Теги

Похожие вопросы