はじめに
このプログラミングの話題は、Mac OS Xの複数ユーザ環境に関する、裏側の情報を提供します。また、あなたの既存のMac OS Xアプリケーションに変更を加える必要があるかもしれない方法も含めて、この種類の環境に対応したソフトウェアをどのようにして書くかのガイドラインも提供します。
Mac OS Xは単一のマシンの複数ユーザによる使用に、常に対応しています。
初めのころは、この用法は排他的なものでした。コンソールにログインしてマシンを使用できるのは、一度に一ユーザだけでした。
バージョン10.3において、Mac OS Xはファストユーザスイッチと呼ばれる、同一マシン上で複数のログインセッションを正常に実行させる機能を導入しました。この機能により、他のユーザのセッションが背面で実行を継続している間も、そのマシン上で一度に一ユーザがアクティブとなります。
ファストユーザスイッチの導入より以前は、開発者はシステムコンソール上でアクティブなのは一度に一ユーザだけであるという事実に依存することができました。これは、アプリケーションがリソースの利用可能性について、仮定を行うことができたということを意味します。残念ながら、こうした仮定のいくつかは、ファストユーザスイッチ環境ではアプリケーションの不正処理を引き起こすことがあります。
もしあなたがMac OS Xで動作するアプリケーションを開発しているのであれば、あなたはあなたの設計を調査し、確実に複数同時ユーザを配慮に加える必要があります。
注:Mac OS Xは、常にsecure shell(ssh)接続を通じて複数同時ユーザに対応しています。各ssh接続は、その独自のログインセッション内で動作します。セッション、およびそれがプロセスにどのように影響を与えるかについての詳細は、「ルートセッションとログインセッション」(9ページ)を参照してください。
本書の構成
このプログラミングの話題は、以下の記事を含んでいます。
- 「ルートセッションとログインセッション」(9ページ)は、Mac OS Xのプロセス空間の構成と、その構成がアプリケーションにどのように影響するかを説明する、デーモン開発者向けの高度な素材を提供します。
- 「ファストユーザスイッチに対応する」(13ページ)は、あなたのアプリケーションをファストユーザスイッチ環境で動作させるための、アプリケーション開発者向け一般ガイドラインを提供します。
- 「ユーザ切り替えの通知」(19ページ)は、コンソールユーザが代わったときに発生する通知を、あなたがどのように扱うかを示します。
もしあなたが、ログイン/ログアウトの過程についてもっとよく知りたいか、デーモンや起動項目を書いているか、もしくはルートセッションで実行するデーモンについてもっとよく知りたいのであれば、System Startup Programming Topicsを参照してください。