Czy istnieje sposób na ponowne załadowanie zmiennych środowiskowych w emacsie?

8

Po uruchomieniu emacs dziedziczy zmienne środowiskowe ustawione w danym momencie, albo w aplikacji uruchamiającej (Linux), albo w centralnym repozytorium (rejestr systemu Windows).

W systemie Windows zmienne środowiskowe można ustawiać globalnie. Jak mogę poprosić emacsa o odświeżenie listy zmiennych środowiskowych?

Interesują mnie również sposoby odświeżania zmiennych w systemie Linux (zmienionych w powłoce, która uruchomiła emacsa), choć wydaje się to trudniejsze, ponieważ nie ma centralnego repozytorium zmiennych środowiskowych. Może grając z emacsclient?

Norswap
źródło
Czy mógłbyś wyjaśnić trochę, jaki problem próbujesz rozwiązać? Dlaczego musisz się komunikować za pośrednictwem Środowiska w ten sposób?
djf
Prostym przypadkiem jest instalacja nowego programu wiersza polecenia. W systemie Windows może to kończyć się na przykład „C: \ Program Files \ My Program \”. Aby użyć tego programu w wierszu poleceń, muszę dodać tę ścieżkę do zmiennej środowiskowej PATH. Używam powłoki emacs, dlatego muszę zrestartować emacs (lub ręcznie dodać zmienną do środowiska w emacs), aby móc korzystać z nowego programu.
Norswap

Odpowiedzi:

2

Być może możesz utworzyć zewnętrzny skrypt, który zbiera nazwy i wartości zmiennych środowiskowych, a następnie wysyła te pary nazwa-wartość do działających emacs za pomocą emacsclient, dzięki czemu emacs może ustawić własne środowisko zgodnie z otrzymanymi wartościami za pomocą setenv.

Tomek
źródło