ファストユーザスイッチメニューをバイパス — QuickUserSwitch.app

ファストユーザスイッチは分かりやすく優れたUIだとは思うのですが、2つのユーザアカウントを頻繁に行き来しなければならないことになって、メニューバーの右端へマウスを移動してユーザを選択し、パスワードを入力するというそれ程でもないはずのステップがうんざりするくらいに面倒に感じ始めたので、なんとかならないかと探し始めたら、次のページを見つけました。

<http://hints.macworld.com/article.php?story=20031102031045417>
<http://macscripter.net/viewtopic.php?id=24091>

OS X 10.3の頃のヒントですが、試してみると、10.8の現在でも有効のようです。要は、‘CGSession’を叩けばいいということのようです。

次に、ファストユーザスイッチで検索してみると、ほとんど何も付け足す必要のないページを見つけました。
<http://d.hatena.ne.jp/zariganitosh/20120422/faster_user_switching>
情報としては、十分です。

ここで紹介されているアプリケーションのソースコードをそのままコンパイルすれば、私の「うんざり」は解消するはずなのですが、使い勝手の面で新たな面倒を感じてきました。
紹介されているアプリケーションのセキュリティを考慮したあり方は大きく評価し納得するものですが、私の環境では、ごく限られた数のユーザ間のスイッチングであって、他者にユーザアカウントとパスワードを見られる怖れを考慮する必要が無いといえる環境なので、毎回アカウント名とパスワードを入力する手間が面倒ですし、その手間を省くためにスイッチングアプリケーションが立ち上がったままというのも避けたいというところです。
この素早いスイッチングでの肝は、コマンドラインで、

$ /System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -switchToUserID IDNumber

です。
このコマンドの優位点は、システム環境設定で「補助装置にアクセスできるようにする」チェックをしていなくても、また、メニューバーにファストユーザスイッチメニューを表示していない状態でも、ダイレクトにユーザ切り替えができるところです。

基本的な部分は、ザリガニさんのソースコードに書かれているという状況なので、以下の方針でアプリケーション化を考えます。

■アプリケーションの設定

  • ユーザ名とパスワードは、初回起動時に入力後、アプリケーションが保持する(セキュリティ面はこの際諦める)
  • 外部にユーザ名とパスワードの参照ファイルは持たない
  • アプリケーションは切り替え処理後自動的に終了する

applet_iconで、訓練のためにスクラッチで書いてみましたが、ザリガニさんのスクリプトからは逃げられませんでした。結局、全体がシンプルな構成であり、肝は上記のコマンドライン1行のため、似てしまうしかないのでしょう。
下記にダウンロードリンクを書いておきます。編集可能なアプリケーション形式としておきますので、環境に合わせて改変していただいて結構です。

■ダウンロード
http://amstudio.sytes.net/amweb/QuickUserSwitch.iso.zip
※QuickUserSwitch.appの著作権は放棄いたしませんが、対価は不要です。自己責任で、自由にお使いください。
インターネット上のリンクは、作者への事前/事後の承諾は不要ですので、自由にリンクして下さい。
基本的に、再配布・転載は認めません。

■保証
動作に関する保証はいたしません。また、使用によって生じたと思われるいかなる損害に対しても、作者は一切責任を負い ません。使用は御自身の責任において行なってください。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中