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
これが良いアプローチであるかどうかはわかりませんが、うまくいきます。