Linux kullanıyorum ve tüm komut satırı işlerimi tek bir ekran oturumu içinde yapmayı seviyorum, böylece terminallerimi kaybetmeden grafiksel girişimi ve benzerlerini yeniden başlatabilirim. Ancak, oturumumu kapatıp grafik oturumuma yeniden döndüğümde, bu DBus oturumları gibi tüm oturum ortamı değişkenlerimi değiştirir. Bu, tekrar oturum açtıktan sonra ekran oturumumun artık eski (ve yanlış) ortam değişkenlerine sahip olduğu anlamına gelir. Şimdi ekran oturumumdan grafik programları başlatmaya çalıştığımda, en iyi ihtimalle oturum veriyoluna bağlanamama konusunda bir uyarı veriyorlar. En kötüsü, tamamen başlayamazlar.
Yani, aradığım şey, daha sonra oluşturulan tüm ekran pencereleri yeni ortam değişkenlerini devralacak şekilde çalışan bir ekran örneğinde ortam değişkenlerini değiştirmenin bir yoludur. Bunu yapmanın bir yolu var mı?
setenv [var [string]] Set the environment variable var to value string. If only var is specified, the user will be prompted to enter a value. If no parameters are specified, the user will be prompted for both variable and value. The environment is inherited by all subsequently forked shells.