Systemweite Umgebungsvariable wird abgeschnitten

Systemweite Umgebungsvariable wird abgeschnitten

Unter Ubuntu 16.10 habe ich eine systemweite Umgebungsvariable in der Datei /etc/environment festgelegt. Die Variable ist eine Zeichenfolge mit einer Länge von Tausenden von Zeichen (die Zeichenfolge ist eine durch Kommas getrennte Liste kleiner alphanumerischer Codes). Das Problem besteht darin, dass die Umgebungsvariable abgeschnitten wird.

Python-Code zum Generieren des Inhalts der Datei /etc/environment mit einer Variablen namens X:

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

Shell abmelden, erneut anmelden und Umgebungsvariable anzeigen

echo $X

Auf meinem Computer ist das Ergebnis:

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

Jemand hat mir von einer 128-KB-Begrenzung für Umgebungsvariablen erzählt, aber meine Variable ist relativ kurz. Kann mir jemand erklären, warum sie abgeschnitten wird und, noch wichtiger, was ich tun kann, um Abhilfe zu schaffen?

BEARBEITEN: Ausgabe von 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

Antwort1

Ich bin nicht sicher, ob es genau das ist, was Mark vorgeschlagen hat, aber ich habe meine Datei /etc/environment aktualisiert, sodass sie jetzt die folgende Syntax hat:

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

und ich habe eine Zeile in /etc/profile hinzugefügt:

source /etc/environment

Ich weiß nicht, ob das der richtige Weg ist, aber es funktioniert.

verwandte Informationen