コンテンツ




デフォルトプリンタの変更方法

概要

  • 各場所に設置されている Sun Ray 端末ごとに、異なるデフォルトプリンタが自動的に設定される方法を紹介します。
  • 手順概要
    1. /opt/SUNWut/sbin/utdesktop -l の出力結果にて、Sun Ray 端末とデフォルトプリンタ名を関連付ける。
    2. utdesktop -l の結果より、プリンタ名を取得するスクリプトを作成。
    3. 作成したスクリプトを Sun Ray キオスクモードでセッション起動時に自動的に実行させる。

背景

  • 以前使用していた、Sun Ray1、Sun Ray100 を複数台を使用して、ログインの必要ない、例えば、図書館内での蔵書検索端末として利用できないかと、Sun Ray Software 4 を検証中です。
  • 複数台のプリンタがあり、Sun Ray の設置場所によって、デフォルトプリンタを変更したい。出力元は、Firefox のWeb 画面を想定しています。Sun Ray キオスクモードを使用します。

前提条件

  • Sun Ray 端末
    • Sun Ray 1
    • Sun Ray 100
  • 利用できるプリンタ(プリンタ名)
    • PRT101
    • PRT102
  • デフォルトプリンタ
  • Sun Ray 端末 プリンタ名
    Sun Ray 1 PRT101
    Sun Ray 100 PRT102

下準備

プリンタの出力確認

利用できるプリンタでそれぞれ出力ができることを確認します。
utdesktop -l の出力結果に端末の MAC とデフォルトプリンタ名の関連付けが表示されるようにします。
utdesktop -l の出力結果は下記です。
$ /opt/SUNWut/sbin/utdesktop -l
Desktop ID Location Other Info
--------------- ----------------- -------------------
080020b9XXXX
0003ba2aXXXX
こちらの Location または Other Info に、Sun Ray 端末が置かれている場所や機種名、 printer の名前を登録します。utdesktop -e または -a により登録、もしくは、管理 GUI で登録します。
$ /opt/SUNWut/sbin/utdesktop -l
Desktop ID      Location          Other Info
--------------- ----------------- -------------------
080020b9XXXX    Ray-1             PRT101
0003ba2aXXXX    Ray-100           PRT102
以上で、Sun Ray 端末とデフォルトプリンタ名の関連付けが完了です。

Sun Ray 端末ごとに異なるプリンタ名を取得するためのスクリプトの作成

$ vi setDefaultPrinter.sh
#!/bin/ksh

PRT_LIST="PRT101,PRT102"
MACADDR=`echo ${SUN_SUNRAY_TOKEN} | cut -d"." -f2`
PRT_DEF=`/opt/SUNWut/sbin/utdesktop -l | grep ${MACADDR} | awk '{print $3}'`
 
if [ ${MACADDR} != "" ] && [ ${PRT_DEF} != "" ]
then
      cat <<-EO_PRINTERS >${HOME}/.printers
      _all ${PRT_LIST}
      _default ${PRT_DEF}
      EO_PRINTERS
fi
こちらのスクリプトの置き場所は、任意の場所で構いません。
例:/usr/local/setDefaultPrinter.sh

キオスクモードに作成したスクリプトを登録

  • 管理 GUI のキオスクモードの設定にて、新規アプリケーションを作成します。
  • 作成した新規アプリケーションの設定を以下のようにします。
    • カスタムパス:スクリプトのパスを指定(例:/usr/local/setDefaultPrinter.sh)
    • タイプ:「実行可能」に指定
    • 起動モード:「セッション起動時に自動的に起動」を指定
※ キオスクモード設定時は、キオスクモードのセッション起動時に、アプリケーションまたはスクリプトを自動的に実行させることが可能です。
  • 参照: Sun Ray Server Software 管理者マニュアル Solaris オペレーティングシステム
    • キオスクモード ( 181 of 278 )
    • http://docs.sun.com/app/docs/doc/820-1986?a=load

結果

  • 上記の下準備が完了すると、キオスクモードにてセッションを起動した場合に、自動的に登録したスクリプトが実行されます。
  • スクリプトにより、キオスクモードの各ユーザのホームディレクトリ以下の .printers ファイルにデフォルトプリンタ名が登録されます。

後記

  • ブラウザの印刷設定で、Firefox の場合、プリンタ設定ファイルを参照していないのか、出力先のプリンタリストのプルダウンに デフォルト以外表示されない。mozilla の場合、プリンタ設定ファイルを参照してデフォルトプリンタ以外も選択可能になっている。
  • Firefox の場合は、about:config から、print.printer_list に利用可能なプリンタを追加すればプリンタリストに追加できることは確認できたのですが、mozilla と同じように OS の設定ファイルを見させる方法はないでしょうか。プリンタの一時的なトラブルを考えて、デフォルトではないプリンタ からの印刷も一覧から選択することで可能にさせたいのです。(聞き先が違いますね。。。)
  • 再実行されても問題ないのですが、やはり、スクリプトのメニューが表示されてしまうのが気になります。。。
  • http://wiki.sun-rays.org/index.php/SRSS_Addon:_Follow_Me_Printing で同じようなことをされているようですね。。。
    • キックするスクリプトを、/usr/dt/config/Xsession.d/1100.FollowMe として、そのスクリプトの内容を下記のようにして、デフォルトプリンタに設定するスクリプトを呼んでいるようです。
    • /opt/SUNWut/bin/utaction -i -c /opt/SRSS-Addons/FollowMe/set-printer.sh & 
      
    • このようにすれば、キオスク画面のメニューにも出なくなりますね。ただ、Sun Ray Server 自身へのログイン時にも呼ばれてしまうのが、気持ち悪いです。