at_takuya.sasaki
2014年6月5日 14時43分
Armadilloにログインした際に、設定される環境変数はどこで設定されているのか?を Armadillo-840を例に簡単にですが説明します。
Armadillo-840にログインして環境変数を見てみます。
[root@armadillo840-0 (ttySC2) ~]# env USER=root HOSTNAME=armadillo840-0 LD_LIBRARY_PATH=/opt/firmware/sgx/linux/armhf OLDPWD=/root HOME=/root PS1=[\u@\h (ttySC2) \w]\$ QML2_IMPORT_PATH=/lib/qt5/qml VISUAL=vi LOGNAME=root TERM=vt102 PATH=/bin:/usr/bin:/sbin:/usr/sbin HISTSIZE=1000 SHELL=/bin/ash GST_PLUGIN_SCANNER_1_0=/usr/lib/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner PWD=/root QT_PLUGIN_PATH=/lib/qt5/plugins GST_PLUGIN_SYSTEM_PATH_1_0=/usr/lib/gstreamer-1.0 TZ=JST-9 EDITOR=vi
上記のようにいくつかの環境変数が設定されているのがわかります。 では、これはどのように設定されているのかというと、 ログイン時に自動的に/etc/profileを読み込んでおり、そこで定義されています。
[root@armadillo840-0 (ttySC2) ~]# cat /etc/profile # /etc/profile alias ll="ls -lF" alias ls="ls -F" alias rm="rm -i" TZ=JST-9 PATH="/bin:/usr/bin:/sbin:/usr/sbin" PS1="[\u@\h (`tty | cut -b6-`) \w]\\$ " ulimit -c 0 if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi USER=`id -un` LOGNAME=$USER HOSTNAME=`/bin/hostname` HISTSIZE=1000 EDITOR=vi VISUAL=vi export TZ PATH PS1 USER LOGNAME HOSTNAME HISTSIZE EDITOR VISUAL for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i fi done unset i LD_LIBRARY_PATH=/opt/firmware/sgx/linux/armhf export LD_LIBRARY_PATH
ここで、/etc/profile.d配下のshファイルを探して実行しているのがわかります。 Armadillo-840のデフォルトイメージでは、以下の2つのshが用意されています。
[root@armadillo840-0 (ttySC2) ~]# ls -1 /etc/profile.d/ gst1_0_env.sh* qt5_env.sh*
ここに新しく環境変数をexportするshを追加するようにユーザーランドを再作成することで、 ログイン時に読み込まれる環境変数を追加することも可能です。