Lexmar Impact S305スキャナ/プリンタを購入しました。ボックスには、サポートされているシステムに小さなペンギンと「Linux」という単語があります。問題は、公式ドライバがDebianベースとRPMベースのディストリビューションでのみ使用できることです。まだ非公式ドライバーが見つかりません。
グラフィックインストーラがあります。私のディストリビューション(Arch Linux)では勝利できませんが、Mint Debianがある仮想マシンにインストールするとプリンタが機能します。また、インストーラからいくつかのファイル(ppd、bin)を抽出しました。
私の質問。
プリンタを設定するには何が必要ですか? ppdだけでは足りないようです。
更新 2011年8月3日
debファイルからスクリプトを抽出しました。 3 つのファイルがあります: control、postinst(17k) および prerm(4,2k)。
# ./postinst
Executing postin scripts ...
./postinst: line 73: [: ==: unary operator expected
sudo: unknown user: /usr/local/lexmark/legacy/bin/.scripts/demon
sudo: unable to initialize policy plugin
新しいシェルに入ります。
sh-4.2# exit
exit
cp: cannot stat `/usr/local/lexmark/legacy/etc/lxS800.ppd': No such file or directory
cp: cannot stat `/usr/local/lexmark/legacy/etc/lxS800.ppd': No such file or directory
これが最後です。
更新 2011年3月13日
70-82行:
#run device monitor
#TODO: investigate other ways to run daemon
#/bin/sh ${script}
if [ $username == "root" ]; then
#/bin/sh /usr/local/lexmark/legacy/bin/.scripts/demon
/bin/sh $script
else
sudo -u $username /usr/local/lexmark/legacy/bin/.scripts/demon
if [ $? -ne 0 ]; then
#/bin/sh /usr/local/lexmark/legacy/bin/.scripts/demon
/bin/sh $script
fi
fi;
答え1
関連するすべてのスクリプトを公開すると役に立ちますが、推測してみましょう。これはbashスクリプトですが、/bin/sh
システムではbashではなくdashによって実行されます。#!/bin/sh
スクリプトの一番上の行をに変更し、#!/bin/bash
明示的な呼び出しをに/bin/sh
変更します/bin/bash
。
73行目のエラーの直接的な原因は、設定されていない$username
ため、[
コマンドがオペランドと(最後)==
を確認することです。構文エラーです。スクリプトを詳しく調べないと、変数が設定されていない理由はわかりません。root
]
(あなたの投稿に含まれているスクリプトの小さな抜粋を見ると、作成者はUnixシェルスクリプトを書く経験があまりないことがわかります。というソースドライバはメーカーが提供するドライバよりも品質がはるかに良い場合が多いが残念ながら選択の余地がないようです。
答え2
DEBファイルの内部を見て、DEBIANディレクトリに移動します。ここでパッケージをインストールするときにdpkgが何をするのかを学び、手順を手動で複製してみます。彼らシェルスクリプト。