부팅 후 전역 환경 변수 생성

부팅 후 전역 환경 변수 생성

/etc/profile 및 /etc/environment에 대해 알고 있지만 부팅 및 로그인 후에 전역 환경 변수를 설정하고 싶습니다. 전역이란 모든 프로그램(현재 사용자로 실행)에서 액세스할 수 있는 환경 변수를 의미합니다.

기본적으로 부팅 후 10분 등 특정 시점에 전역 환경 변수를 설정하는 스크립트를 실행할 수 있기를 바랍니다. 이것이 가능한가?

배경

Ubuntu 14.04에서 gpg-agent에 문제가 있습니다. 프로그램은 환경 변수를 사용하여 gpg-agent 프로세스에 연결합니다. 내 문제는 실행 중인 gpg-agent의 여러 인스턴스에 있습니다(그 중 하나만 ssh 지원이 활성화되어 있음). gpg-agent의 기존 인스턴스를 모두 종료하고 ssh-support를 사용하여 새 인스턴스를 시작하고 싶습니다. 그러나 다른 프로그램이 새 인스턴스에 액세스하려면 환경 변수를 전역으로 만들어야 합니다. 다른 gpg-agent가 내 다음에 시작되어 환경 변수를 대체하는 것처럼 보이기 때문에 시작하는 동안 이 작업을 수행하는 것은 나에게 효과가 없었습니다.

답변1

때때로 나는 밀접하게 관련된 문제에 직면합니다. ssh-agent그래픽 데스크탑 아래에 있는 컴퓨터에서 실행 중이지만 동일한 컴퓨터에 원격으로 액세스합니다 . 해당 쉘에는 환경 변수가 없습니다.

/proc이를 위해 나는 Bash 프로세스를 살펴보고 해당 항목을 긁어 내어 변수를 /proc/<pid>/environ찾는 스크립트를 사용합니다 . 그런 다음 이 항목을 셸 구문으로 다시 생성하므로 이 전체 "env 스크래핑 스크립트"를 새 셸에서 -ed할 수 있습니다.SSH_AGENT_PIDSSH_AGENT_SOCKeval

기본적으로 " /proc다른 Bash-es가 에이전트 변수에 사용하는 것이 무엇인지 찾아보고 이 세션에서 이를 재현"합니다.

관련 정보