Pregunta

Pregunta

Instalé un servicio samba en mi raspberry pi 3Linux: 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

Para fines de prueba, le di permiso a este script 777consudo chmod 777 /usr/bin/printpdf

carpeta samba

mkdir -p ~/shr/pdfdropbox
chown root:root ~/shr/pdfdropbox
chmod u+rwx ~/shr/pdfdropbox

El servicio samba tiene un usuario y smbd& nmbdse están ejecutando. Puedo ver el servicio samba en mi Mac sharingy acceder a la carpeta para compartir. Veo la impresora debajo de mis impresoras de red. Cuando imprimo un documento a través de la impresora samba me muestra que se está conectando, enviando los datos y que los datos se reciben sin fallas.

Pero /usr/bin/printpdfparece que no se ejecuta. No hay nada además /home/pi/logsde los registros de samba (dos registros, uno con el nombre de mi computadora y otro con una ip).

Cuando inicio el script pdf manualmente, se crean los registros.

PD: Me quedé mayormente con ese tutorial: http://www.tldp.org/LDP/LG/issue72/bright.html

Pregunta

¿Por qué no se ejecuta el script?

Respuesta1

Creo que esta línea tiene un error:

"hello" >> /home/pi/logs/2.log

Quizás quieras probar

echo "hello" >> /home/pi/logs/2.log

Y estás citando la $s en el resto del guión. Yo intentaría quitar el \s. Y cite los nombres completos de los archivos.

Terminando con:

echo "hello" >> /home/pi/logs/2.log
ps2pdf "$1" "$OUTDIR/$DATE.temp"
mv "$OUTDIR/$DATE.temp" "$OUTDIR/$DATE.pdf"
rm "$1"

en la segunda mitad de tu guión

Respuesta2

Entonces encontré varias cosas. Primero necesitaba agregar printing = BSD, de lo contrario se usa CUPS, lo cualanulaajustes. Luego tuve que configurarlo printcap name = /dev/null, de lo contrario los archivos Ghostscript desaparecieron antes de poder acceder a ellos. Los comandos lpqy lprdonde no son necesarios.

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

En segundo lugar, todos los scripts y carpetas deben ser accesibles para el usuario del servicio samba.

PD: También ajusté el script pdf, pero esta no fue la razón por la que no se ejecutó.

#!/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

información relacionada