A variável de ambiente do sistema fica truncada

2

No Ubuntu 16.10, eu configuro uma variável de ambiente para todo o sistema no arquivo / etc / environment. A variável é uma cadeia de caracteres com um comprimento de milhares de caracteres (a cadeia é uma lista separada por vírgulas de códigos alfa pequenos). O problema é que a variável de ambiente fica truncada.

Código Python para gerar o conteúdo do arquivo / etc / environment com uma variável chamada X:

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

Logout shell, faça login novamente e mostre a variável de ambiente

echo $X

Na minha máquina, o resultado é:

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

Alguém me falou sobre um limite de 128K em variáveis de ambiente, mas minha variável é relativamente pequena em tamanho. Alguém pode me explicar por que ele fica truncado e mais importante, o que posso fazer para remediar essa situação?

EDIT: saída do 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
    
por Patrick 06.07.2017 / 16:10

1 resposta

1

Não tenho certeza se é exatamente o que Mark sugeriu, mas atualizei meu arquivo / etc / environment para ter agora a seguinte sintaxe:

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

e adicionei uma linha em / etc / profile:

source /etc/environment

Não sei se é o bom caminho, mas funciona.

    
por 07.07.2017 / 15:43