질문

질문

raspberry pi 3내 Linux 에 삼바 서비스를 설치했습니다 Jessie (Debian 8).

smb.conf

[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

삼바 서비스에는 사용자와 smbd& nmbd가 실행 중입니다. 내 Mac에서 삼바 서비스를 볼 수 sharing있고 공유 폴더에 액세스할 수 있습니다. 네트워크 프린터 아래에 프린터가 표시됩니다. 삼바 프린터로 문서를 인쇄하면 연결 중이고 데이터를 보내고 있으며 데이터가 실패 없이 수신된다는 메시지가 표시됩니다.

하지만 /usr/bin/printpdf실행되지는 않는 것 같습니다. 삼바 자체의 로그 외에는 아무 것도 없습니다 /home/pi/logs(2개의 로그, 내 컴퓨터 이름이 포함된 로그와 IP가 포함된 로그).

PDF 스크립트를 수동으로 시작하면 로그가 생성됩니다.

추신: 저는 주로 그 튜토리얼을 고수했습니다. 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

그래서 여러 가지를 알아냈습니다. 먼저 추가해야 할 printing = BSD수도 있습니다. 그렇지 않으면 CUPS가 사용됩니다.재정의설정. 그런 다음 printcap name = /dev/null고스트스크립트 파일에 액세스하기 전에 사라지도록 설정해야 했습니다 . 필요하지 않은 경우 lpqlpr명령.

[pdfCreatorLinux2]
#  load printers = no
  printcap name = /dev/null
  path = /tmp/
  printable = yes
  printing = BSD
  print command = /usr/bin/printpdf %s
#  lpq command =
#  lprm command =

둘째, 삼바 서비스 사용자는 모든 스크립트와 폴더에 액세스할 수 있어야 합니다.

추신: 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

관련 정보