
raspberry pi 3
私のLinuxにSambaサービスをインストールしましたJessie (Debian 8)
。
smb構成ファイル
[global]
netbios name = medicalexporter
workgroup = WORKGROUP
public = yes
# Run a WINS server
wins support = yes
local master = yes
preferred master = yes
os level = 65
log level = 10
log file = /home/pi/logs/samba.log.%m
[SambaTest]
comment = Samba-Test-Freigabe
path = /home/pi/shares/test
read only = no
[pdfCreatorLinux]
path = /tmp
printable = yes
guest ok = yes
print command = /usr/bin/printpdf %s
lpq command =
lprm command =
/usr/bin/printpdf
#!/bin/sh
LOG_FILE=/home/pi/logs/pdf.log
exec 3>&1 1>>${LOG_FILE} 2>&1
DATE="date +%b%d-%H%M%S"
OUTDIR=/home/pi/shr/pdfdropbox
"hello" >> /home/pi/logs/2.log
ps2pdf $1 \$OUTDIR/\$DATE.temp
mv \$OUTDIR/\$DATE.temp \$OUTDIR/\$DATE.pdf
rm \$1
777
テスト目的でこのスクリプトに権限を付与しました。sudo chmod 777 /usr/bin/printpdf
サンバフォルダ
mkdir -p ~/shr/pdfdropbox
chown root:root ~/shr/pdfdropbox
chmod u+rwx ~/shr/pdfdropbox
Sambaサービスにはユーザーがあり、実行中smbd
ですnmbd
。私のMacでSambaサービスを表示し、共有sharing
フォルダにアクセスできます。ネットワークプリンタの下にプリンタがあるのを見ました。サンバプリンタで文書を印刷すると、「接続中」と表示され、データが送信され、データが正しく受信されます。
しかし、/usr/bin/printpdf
実装されていないようです。/home/pi/logs
Samba自体のログ(2つのログ、1つはマイコンピュータ名、もう1つはIP)以外には何もありません。
PDFスクリプトを手動で起動すると、ログが生成されます。
PS:私は主に次のチュートリアルに従います。 http://www.tldp.org/LDP/LG/issue72/bright.html
質問
スクリプトが実行されないのはなぜですか?
答え1
私はこの行にバグがあると思います。
"hello" >> /home/pi/logs/2.log
試してみたいかもしれません
echo "hello" >> /home/pi/logs/2.log
$
スクリプトの残りの部分ではsを参照してください。私は\
sを削除しようとします。フルファイル名を引用してください。
で終わる:
echo "hello" >> /home/pi/logs/2.log
ps2pdf "$1" "$OUTDIR/$DATE.temp"
mv "$OUTDIR/$DATE.temp" "$OUTDIR/$DATE.pdf"
rm "$1"
台本の後半で
答え2
だから多くのことを見つけました。まず、CUPSを追加する必要があるprinting = BSD
かもしれません。書く設定。その後、設定する必要がありますprintcap name = /dev/null
。それ以外の場合は、Ghostscriptファイルにアクセスする前にそのファイルが消えます。不要なコマンドlpq
。lpr
[pdfCreatorLinux2]
# load printers = no
printcap name = /dev/null
path = /tmp/
printable = yes
printing = BSD
print command = /usr/bin/printpdf %s
# lpq command =
# lprm command =
第二に、Sambaサービスのユーザーはすべてのスクリプトとフォルダにアクセスできる必要があります。
PS:pdfスクリプトも調整しましたが、これが実行されていない理由ではありません。
#!/bin/sh
LOG_FILE=/home/pi/logs/pdf.log
exec 3>&1 1>${LOG_FILE} 2>>&1
DATE=$(date +"%m_%d_%Y")
OUTDIR="/home/pi/shr/pdfdropbox"
ps2pdf $1 "$OUTDIR/$DATE.temp"
mv $OUTDIR/$DATE.temp $OUTDIR/$DATE.pdf
rm $1