Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RedHat 7.1, copying printer config to other hosts

8 views
Skip to first unread message

Yasushi Shinjo

unread,
Apr 15, 2004, 7:47:18 AM4/15/04
to
新城@筑波大学情報です。こんにちは。

RedHat 7.1 のプリンタの設定を他のホストにコピーしたいのです
が、どのファイルをコピーすればいいでしょうか。ドキュメントに
は、printconf(-gui) を使えと書いてあって、その通りにやると
使えるようになります。しかし、何台もあるので、同じ作業を繰り
返すのは大変なので、設定ファイルをコピーしたいわけです。

printcap のコピーだけではうまくいきません。そもそもprintcap
は書き換えるなと言っています。

http://www.redhat.co.jp/manual/Doc71/RHDOCS/rhl-cg-ja-7.1/printconf.html

やや怪しいのは、
/etc/alchemist/namespace/printconf/local.adl というファイル
です。これは圧縮された XML ファイルで、これをコピーするとプ
リンタのリストなどは printconf-gui コマンドで表示されるよう
になります。どこかに詳しいドキュメントはないでしょうか。

GUI は、こういう話が困るんです。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\

IIJIMA Hiromitsu

unread,
Apr 16, 2004, 11:29:53 AM4/16/04
to
いいじまです。

> RedHat 7.1 のプリンタの設定を他のホストにコピーしたいのです
> が、どのファイルをコピーすればいいでしょうか。ドキュメントに
> は、printconf(-gui) を使えと書いてあって、その通りにやると
> 使えるようになります。しかし、何台もあるので、同じ作業を繰り
> 返すのは大変なので、設定ファイルをコピーしたいわけです。

printconf の挙動を truss かなにかで追いかけてみてはどうでしょうか?


> GUI は、こういう話が困るんです。

御意。
でも、MS Windows なら色々と方法がありますよ :-)

作業前後でレジストリがどう変化するのか調べて(変化を検出するツールもあり
ますし、一番簡単な方法としては作業前後でレジストリ全域をテキストファイル
に書き出して diff をとるだけでもいい)、該当部分の書き換えをする .reg フ
ァイルを作るなり、動的に生成する必要があれば VBA や Perl でスクリプトを
書くなりすれば大抵はどうにかなります。

レジストリではなくファイルの場合は、filemon というツールでどのプロセスが
どんなファイルにアクセスしているのかを全部検出できますので、それで解決。

GUI でも、キーボードだけで完全に操作できるなら、ウィンドウにキーイベント
を連続的に送り込むスクリプトを WSH あたりで書けば OK。

========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp

Yasushi Shinjo

unread,
Apr 17, 2004, 1:17:21 AM4/17/04
to
新城@筑波大学情報です。こんにちは。

In article <407FFBF1...@ht.sakura.ne.jp>
IIJIMA Hiromitsu <delm...@ht.sakura.ne.jp> writes:
> いいじまです。
> printconf の挙動を truss かなにかで追いかけてみてはどうでしょうか?

はい。srace -f -e file でどのファイルを開いているかを調べて、
例のファイルが怪しいという所まではわかったわけです。

/etc/alchemist/namespace/printconf/local.adl
/etc/alchemist/namespace/printconf/rpm.adl
/etc/alchemist/switchboard/printconf.switchboard.adl

ただ、Gnome のアプリケーションでしかも、 Python で書かれてい
るみたいで、strace では良く分からないんです。ソース見るのも
なんだし。

adl とか alchemist って、なんなんでしょうか。

a-ur...@pu-toyama.ac.jp

unread,
Apr 17, 2004, 6:26:58 AM4/17/04
to
浦島と言います

<YAS.04Ap...@kirk.is.tsukuba.ac.jp>の記事において
y...@is.tsukuba.ac.jpさんは書きました。

>> RedHat 7.1 のプリンタの設定を他のホストにコピーしたいのです
>> が、どのファイルをコピーすればいいでしょうか。

手元にあるのはRedHat7.2なので、少々異なるかも知れませんが、
/usr/sbin/printconf-tui
はあるでしょうか?
(こちらでのパッケージはprintconf-0.3.61-3です)

あるのでしたら、
/usr/sbin/printconf-tui --Xexport
とすると、プリンタの設定が標準出力にXML形式で出力されます。
これをファイルに落し、
/usr/sbin/printconf-tui --Ximport
の標準入力に入れてあげればよいと思います。

ファイルをコピーするだけの方法ではありませんが、
コマンドラインで出来る方法なので、
多数台のマシンの設定には使えると思います。

--
浦島智 / email: a-ur...@pu-toyama.ac.jp

Yasushi Shinjo

unread,
Apr 17, 2004, 7:34:38 AM4/17/04
to
新城@筑波大学情報です。こんにちは。

In article <c5r0pi$838$1...@news1.pu-toyama.ac.jp>
a-ur...@pu-toyama.ac.jp writes:
> 浦島と言います


> /usr/sbin/printconf-tui --Xexport
> とすると、プリンタの設定が標準出力にXML形式で出力されます。
> これをファイルに落し、
> /usr/sbin/printconf-tui --Ximport
> の標準入力に入れてあげればよいと思います。

情報ありがとうございます。-tui は、terminal user interface
ですかね。すばらしい。残念ながら RedHat 7.1 にはないみたいで
す。ただ、別のホストで見た感じでは、printconf-tui -- Xexport
の結果と、/etc/alchemist/namespace/printconf/local.adl の内
容は、まったく同じでした。

------------------------------------------------------------
# /usr/sbin/printconf-tui --Xexport
<?xml version="1.0"?>
<adm_context VERSION="0">
<id NAME="local" SERIAL="1">
<null/>
<null/>
</id>
<datatree>
<printconf TYPE="LIST">
<print_queues TYPE="LIST">
</print_queues>
</printconf>
</datatree>
</adm_context>

# gzip -d < /etc/alchemist/namespace/printconf/local.adl
<?xml version="1.0"?>
<adm_context VERSION="0">
<id NAME="local" SERIAL="1">
<null/>
<null/>
</id>
<datatree>
<printconf TYPE="LIST">
<print_queues TYPE="LIST">
</print_queues>
</printconf>
</datatree>
</adm_context>
#
------------------------------------------------------------

これをコピーすればいいというのは、よさそうですね。ただ、その
後に他の設定ファイルの整合性を取るようなコマンドを打たないと。
雰囲気としては、printconf-gui コマンドを実行して終了すれば、
整合性が取れるような気はします。

/usr/sbin/printconf-tui の中身は、これだけでした。

------------------------------------------------------------
#!/usr/bin/python -O

import sys
if not "/usr/share/printconf/util" in sys.path:
sys.path.append("/usr/share/printconf/util")

import printconf_tui
printconf_tui.startup_and_find_cmd()
#
------------------------------------------------------------

たぶん、/usr/share/printconf/util/printconf_tui* が呼ばれて
いるのかも。これと printconf-gui でコンパチならコピーして
実行すればいいかも。

0 new messages