데스크탑에서 실행되는 애플리케이션에 표시되는 셸 환경을 어떻게 수정합니까?

데스크탑에서 실행되는 애플리케이션에 표시되는 셸 환경을 어떻게 수정합니까?

임의의 프로그램 Foo를 가정해 보겠습니다.

  1. 환경 변수 값을 기반으로 동작을 수정합니다.
  2. 그래픽 데스크탑에서 Foo 아이콘 중 하나를 클릭하여 시작할 수 있습니다.

이 기사의 나머지 부분에서는 다음과 같이 가정하겠습니다.모든문제의 Foo 인스턴스는 위의 (2)에 설명된 대로 시작되었거나 시작될 예정입니다. IOW, 이 기사에서는 일부 명령줄을 통해 Foo를 시작할 가능성이 배제됩니다.

구체적으로 말하자면, 현재 X11 세션이 사용자에 의해 "수동으로" 시작되었다고 가정합니다. 즉, (텍스트 인터페이스) login 1startx 이후 어느 시점에 (텍스트 인터페이스) 명령줄에 입력하는 것입니다 .


startx이제 AFAICT는 기본적으로 각 Foo 인스턴스가 상속하는 환경은 사용자가 2를 실행할 때 있었던 환경입니다. (틀렸다면 정정해주세요.)

내 질문은 다음과 같습니다. Foo의 후속 인스턴스(또는 적어도 시작된 Foo의 다음 인스턴스)가 상속한 환경을 수정하는 일반적인 방법(예: Foo와 독립적)이 있습니까?


위의 (일반적인) 질문에 대한 대답은 아마도 "아니요"일 것으로 예상하고, 아래에서는 질문의 보다 구체적인 변형에 대한 대답이 "예"가 되기를 바라는 마음으로 몇 가지 구체적인 세부 정보를 제공합니다.

  1. 현재 나는 Foo가 터미네이터(터미널 에뮬레이터)인 경우에 특히 관심이 있습니다.
  2. 내 껍질은 zsh;
  3. 내 데스크탑은 xfce4 + xfwm4입니다.

1사용자가 그래픽 로그인을 통해 로그인한 후 X11 세션이 자동으로 시작되면 이 질문에 대한 대답이 달라질 수 있습니다. 알려 주시기 바랍니다 .

2 더 정확하게는 유전적 환경은 다음에 의해 결정됩니다.출구쉘 변수와 그 값은 사용자 호출과 마찬가지로 startx매우 주의 깊게 표현된 설명이 기껏해야 지나치게 단순화된 것이라고 생각합니다. 하지만 너무 극단적이어서 나머지 게시물을 무의미하게 만들지는 않기를 바랍니다.

답변1

데스크탑의 링크에서 프로그램을 실행하는 경우 필요한 변수와 값을 포함하도록 링크 파일을 수정할 수 있습니다. 아직 zsh에 대한 경험은 없지만 link 의 값 env VAR=VAL시작 부분에 추가하면 링크를 수정할 수 있다고 생각합니다. Exec더 읽어보기 위해 내가 찾은아치리눅스이 문서에서는 데스크탑 파일의 많은 항목을 설명합니다. 이것은 Arch 기사이지만 이러한 파일의 형식은 배포판 전반에 걸쳐 표준입니다.

창 관리자를 사용하여 전체 세션에 대해 이 변수를 수정할 수도 있습니다.

관련 정보