
En Ubuntu 16.10, configuro una variable de entorno para todo el sistema en el archivo /etc/environment. La variable es una cadena que tiene una longitud de miles de caracteres (la cadena es una lista de códigos alfabéticos pequeños separados por comas). El problema es que la variable de entorno se trunca.
Código Python para generar el contenido del archivo /etc/environment con una variable llamada X:
fp = open('/etc/environment','w')
fp.write('X="' + ",".join([str(i) for i in range(2000)]) + '"')
fp.close()
Cerrar sesión en Shell, iniciar sesión nuevamente y mostrar la variable de entorno
echo $X
En mi máquina, el resultado es:
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
Alguien me habló de un límite de 128 K para las variables de entorno, pero mi variable tiene una longitud relativamente pequeña. ¿Alguien puede explicarme por qué se trunca y, lo que es más importante, qué puedo hacer para remediar esta situación?
EDITAR: salida de 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
Respuesta1
No estoy seguro de que sea exactamente lo que Mark sugirió, pero actualicé mi archivo /etc/environment para tener ahora la siguiente sintaxis:
export X="1,2,..."
y agregué una línea en /etc/profile:
source /etc/environment
No sé si es la buena manera pero funciona.