시스템 전체 환경 변수가 잘렸습니다.

시스템 전체 환경 변수가 잘렸습니다.

Ubuntu 16.10에서는 /etc/environment 파일에 시스템 전체 환경 변수를 설정했습니다. 변수는 길이가 수천자인 문자열입니다(문자열은 쉼표로 구분된 작은 알파벳 코드 목록입니다). 문제는 환경 변수가 잘린다는 것입니다.

X라는 변수를 사용하여 /etc/environment 파일의 내용을 생성하는 Python 코드:

fp = open('/etc/environment','w')
fp.write('X="' + ",".join([str(i) for i in range(2000)]) + '"')
fp.close()

셸에서 로그아웃하고 다시 로그인하여 환경 변수를 표시합니다.

echo $X

내 컴퓨터에서 결과는 다음과 같습니다.

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49, 50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72

환경 변수에 128K 제한이 있다고 들었는데 변수 길이가 상대적으로 작습니다. 왜 그것이 잘리는지 설명할 수 있고, 더 중요한 것은 상황을 해결하기 위해 무엇을 할 수 있는지 설명할 수 있습니까?

편집: dpkg -l libpam-modules의 출력:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                           Version                      Architecture                 Description
+++-==============================================-============================-============================-==================================================================================================
ii  libpam-modules:amd64                           1.1.8-3.2ubuntu2             amd64                        Pluggable Authentication Modules for PAM

답변1

이것이 Mark가 제안한 것과 정확히 일치하는지 확실하지 않지만 /etc/environment 파일을 업데이트했으며 이제 다음 구문을 갖습니다.

export X="1,2,..." 

/etc/profile에 다음 줄을 추가했습니다.

source /etc/environment

이것이 좋은 접근 방식인지는 모르겠지만 작동합니다.

관련 정보