次: User Identification, 前: Getting Out, 上: System Interface
Emacsでは、さまざまな関数を介して オペレーティングシステム環境の変数を参照できます。 これらの変数には、システムの名前、ユーザーの識別番号uidなどが 含まれます。
この変数は、読者のシステムのハードウェア/ソフトウェア構成に対する GNUの構成名を文字列で保持している。 この文字列の一部分を検査する簡便な方法は
string-matchを使うことである。
この変数の値は、Emacsが動作している オペレーティングシステムの種類を表すシンボルである。 つぎに可能な値の一覧を示す。
alpha-vms- Alphaマシン上のVMS。
aix-v3- AIX。
berkeley-unix- バークレーBSD。
dgux- データジェネラルDGUXオペレーティングシステム。
gnu- (HURDかMachから成るGNUカーネルを使っている)GNUシステム。
gnu/linux- GNU/Linuxシステム。 つまり、Linuxカーネルを用いたGNUシステムの変種。 (これらのシステムは人々が『Linux』と呼ぶものの1つであるが、 Linxuは実際にはカーネルのみであり、システム全体ではない。)
hpux- ヒューレットパッカードHPUXオペレーティングシステム。
irix- シリコングラフィックスIrixシステム。
ms-dos- マイクロソフトMS-DOS『オペレーティングシステム』。
next-mach- NeXTのMachベースのシステム。
rtu- マスコンプRTU、UCBユニバース。
unisoft-unix- ユニソフトUniPlus。
usg-unix-v- AT&T System V。
vax-vms- VAX VMS。
windows-nt- マイクロソフトWindows NT。
xenix- SCO Xenix 386。
絶対に必要でない限り、細分類のために新たなシンボルを追加したくない! 実際、将来にはこれらのいくつかを削除することを願っている。 オペレーティングシステムの違いを区別するには、
system-configurationを使うことを勧める。
シンボルsystem-nameは、関数としても変数としても使えます。
実際、関数としては、変数system-nameが現在保持している値を返します。
したがって、Emacsが読者のシステム名に関して混乱している場合には、
変数system-nameに設定できます。
変数はフレームタイトルの作成にも有用です(see Frame Titles)。
この変数が
nil以外であると、system-nameのかわりに 電子メイルアドレスの生成に使われる。 たとえば、user-mail-addressのデフォルト値の作成に使われる。 see User Identification。 (これはEmacsの始動時に行われるため、 Emacsをダンプしたときの値が実際に使われる値である。 see Building Emacs)。
この関数は、環境変数varの値を文字列で返す。 Emacs内部では、環境変数の値はLisp変数
process-environmentに 保持されている。(getenv "USER") => "lewis" lewis@slug[10] % printenv PATH=.:/user/lewis/bin:/usr/bin:/usr/local/bin USER=lewis TERM=ibmapa16 SHELL=/bin/csh HOME=/user/lewis
このコマンドは、環境変数variableに値valueを設定する。 どちらの引数も文字列である。 この関数は
process-environmentを修正することで動作する。 この変数をletで束縛しても十分に実用的である。
この変数は、各要素が1つの環境変数を記述する文字列のリストである。 関数
getenvとsetenvは、この変数を用いて動作する。process-environment => ("l=/usr/stanford/lib/gnuemacs/lisp" "PATH=.:/user/lewis/bin:/usr/class:/nfsusr/local/bin" "USER=lewis" "TERM=ibmapa16" "SHELL=/bin/csh" "HOME=/user/lewis")
この変数は、(環境変数などで)探索パスを 区切る文字を指定する文字列を保持する。 UNIXとGNUシステムではその値は
":"であり、 MS-DOSとWidows NTでは";"である。
nil以外であると、サブディレクトリlib-srcとetcを 探すためのディレクトリである。 Emacsがこれらのディレクトリを標準のインストールディレクトリで みつけられなくてもEmacsの実行形式になんらかの意味で 関連するディレクトリでみつけられれば、nil以外である。
この関数は、1分間/5分間/15分間のロードアベレッジ (負荷平均)をリストで返す。
デフォルトでは、これらの値は、動作しようとしてるプロセスの平均個数を表す システムのロードアベレッジを100倍した整数である。 use-floatが
nil以外であると、 100倍しない浮動小数点数で返す。(load-average) => (169 48 36) (load-average t) => (1.69 0.48 0.36) lewis@rocky[5] % uptime 11:55am up 1 day, 19:37, 3 users, load average: 1.69, 0.48, 0.36