Spacetaxi
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Habe folgendes Problem. https://forum.ubuntuusers.de/topic/faxen-brother-mfc-j265w-funktioniert-nicht/ Unter dieser Anleitung habe ich jetzt jahrelang mein Fax installiert. Ich habe immer noch das Selbe Gerät. Ich habe heute die Brother Fax Driver heruntergeladen
https://support.brother.com/g/b/downloadhowto.aspx?c=us_ot&lang=en&prod=mfcj265w_all&os=128&dlid=dlf105191_000&flang=4&type3=10530 Dort bekomme ich nun nachdem ich openjdk-8-jre heruntergeladen habe und die Zeile 37 in /usr/bin/brpcfax ändern will mit folgendem Inhalt: extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`" Unter nano /usr/bin/brpcfax steht jetzt neuerdings folgender Inhalt: #! /bin/bash
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
## Brother CUPS Fax filter
# Copyright (C) 2005- Brother Industries, Ltd.
DEBUG=0
BASEDIR="/opt/brother/fax/brmfcfax"
CONFIGFILE="/${BASEDIR}/config/brmfcfax.config"
source $CONFIGFILE
hdir=${HOME//'/'/'\/'}
number=""
chkcmd="$BASEDIR/lpd/$(uname -m)/brps2brfax"
if ! [ -e "$chkcmd" ];then
chkcmd="./brps2brfax"
fi
if ! [ -e $chkcmd ];then
exit 0
fi
new_args=''
while [ "$1" != '' ]
do
if [ "$1" = '-o' ];then
if [ "$(echo "$2" | grep '^fax-broadcast=')" != "" ];then
tmp=$(echo "$2"| \
sed s/"fax-broadcast="//g |\
sed s/"^~"/"$hdir"/g );
if [ "$(echo "$tmp" | grep '^/')" = '' ];then
faxbcfile=$(pwd)/$tmp
else
faxbcfile=$tmp
fi
elif [ "$(echo "$2" | grep '^fax-number=')" != "" ];then
number="${2//fax-number=/}"
elif [ "$(echo "$2" | grep '^--brpcfax-debug=')" != "" ];then
DEBUG="${2//"--brpcfax-debug="/}"
else
new_args="$new_args $1 $2"
fi
shift
else
datafile="$1"
fi
shift
done
numlist=$($chkcmd --number-check --fax_num="$number" --fax_list="$faxbcfile")
if [ "$?" != '0' ];then
echo "INVALID FAX NUMBER [ $numlist]"
if [ "$TXLOG" = YES ] || [ "$TXLOG" = Yes ] || [ "$TXLOG" = yes ];then
touch "$TXLOGDIR"/"$TXLOGFILE"
echo "ERROR: BRFAX INVALID FAX NUMBER [ $numlist]" \
>> "$TXLOGDIR"/"$TXLOGFILE"
fi
exit -1
fi
new_args=" -o fax-number=$numlist $new_args"
lprcmd="lpr -P BRFAX $new_args"
case "$DEBUG" in
"0" )
$lprcmd "$datafile"
;;
"1" )
echo "$lprcmd" "$datafile"
$lprcmd "$datafile"
;;
"2" )
echo "$lprcmd" "$datafile"
;;
"*" )
$lprcmd "$datafile"
;;
esac
exit 0 Ich habe meinen anderen PC vergleichen, dort funktioniert das Fax, hier steht folgender Inhalt: Hier muss berücksichtigt werden das Zeile 37 bereits abgeändert wurde. #! /bin/sh
# Brother FAX share driver
# Copyright (C) 2005 Brother. Industries, Ltd.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
DEBUG=0
hdir=`echo $HOME | sed s/'\\/'/'\\\\\\/'/g`
cdir=`echo $PWD | sed s/'\\/'/'\\\\\\/'/g`
args="$*"
flgn="`echo $args | grep 'fax-number='`"
flgb="`echo $args | grep 'fax-broadcast='`"
if [ -e '/usr/local/Brother/fax/brmfcfax.jar' ] && [ -e "`which java`" ] && [ "$flgn" = "" ] && [ "$flgb" = "" ]; then
extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`"
number=""
if [ "`echo "$extarg" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo "$extarg"|sed s/"-o fax-broadcast="//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$extarg" | grep 'fax-number='`" != "" ];then
number="`echo "$extarg"|sed s/"-o fax-number="//g`"','
fi
else
extarg=""
number=""
while [ "$1" != '' ]
do
if [ "`echo "$1" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo $1|sed s/fax-broadcast=//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$1" | grep 'fax-number='`" != "" ];then
number="`echo $1|sed s/fax-number=//g`"','
fi
shift
done
fi
if [ -e "$faxbcfile" ];then
groupmember="$number""`cat $faxbcfile | sed -e s/#.*$// \
| tr -d ' ' | tr -d '\t' | egrep [0-9] | tr '\n' ',' \
| sed s/,$//`"
else
groupmember=$number
fi
if [ "$groupmember" != "" ];then
groupmember_opt="fax-numbers="$groupmember
else
groupmember_opt="fax-numbers="
fi
if [ "`echo $args | grep ' --brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
else
lprargs=$args
fi
if [ $DEBUG = 1 ];then
rm -f /tmp/br_faxshare_log
fi
lprcmd="lpr -P BRFAX -o $groupmember_opt $lprargs"
if [ "`echo $lprcmd | grep 'fax-broadcast=\/'`" ];then
lprcmd2=$lprcmd
elif [ "`echo $lprcmd | grep 'fax-broadcast=~'`" ];then
lprcmd2="`echo $lprcmd | sed s/"fax-broadcast=~"/"fax-broadcast=""$hdir"/g`"
else
lprcmd2="`echo $lprcmd | sed s/fax-broadcast=/fax-broadcast="$cdir"'\/'/g`"
fi
case "$DEBUG" in
"0" )
$lprcmd2
;;
"1" )
echo $lprcmd >> /tmp/br_faxshare_log
$lprcmd2
;;
"2" )
echo $lprcmd2
if [ "$INPUT_TEMP_BCLIST" != "" ];then
rm -f $INPUT_TEMP_BCLIST
fi
;;
"3" )
lprcmd3="`echo $lprcmd2 | sed s/' -o '/' -o brpcfax-debugoption=4 -o '/`"
echo $lprcmd3
$lprcmd3
;;
"*" )
$lprcmd2
;;
esac
exit 0 Anstatt dem graphischen Feld bekomme ich nun pat@pat-desktop:~$ brpcfax
INVALID FAX NUMBER [ ]
pat@pat-desktop:~$
dies angezeigt. Wie kann ich die Wähltastengraphik erneut erhalten bzw. wie genau kann ich mein Fax installieren?
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Das hier: brpcfax -o fax-number=053149059113 /home/pat/Documents/Testfax.pdf
funktioniert zwar, aber ich hab kein Bock das jedesmal eingeben zu müssen.....
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Hier "liegt der Hase im Pfeffer": brmfcfaxdrv:i386 1.0.0-2 ist aauf dem andern Rechner installiert. (andere, alte "/usr/bin/brpcfax" Datei Ich habe nun herunter geladen brmfcfaxdrv:i386 2.0.1-1 Die dortige "/usr/bin/brpcfax" Datei ist komplett anders. Weiß jemand wie ich die Gui dort installieren kann?
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Nun, kann da jemand helfen?
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Hammer: Zeile 33 abändern: extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`" Geht!
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Nein doch nicht, es wäre so schön gewesen. Die Gui geht auf wenn ich brpcfax eingebe. Gebe ich aber ein: pat@pat-desktop:~$ brpcfax /home/Benutzer/Documents/Testfax.pdf
INVALID FAX NUMBER [ ]
pat@pat-desktop:~$ Kommt nur die gui!! Auf dem anderen Rechner faxt er dann nachdem ich die Nummer eingegeben habe. Also hier kann nicht viel fehlen... Es wird hier nach einer Nummer verlangt.... Die Nummer soll aber in die Gui kommen. Kann mir jemand helfen?
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Hier nochmal die alte Version in der Zeile 37 abgeändert wurde, gelb markiert nano /usr/bin/brpcfax
#! /bin/sh
# Brother FAX share driver
# Copyright (C) 2005 Brother. Industries, Ltd.
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
DEBUG=0
hdir=`echo $HOME | sed s/'\\/'/'\\\\\\/'/g`
cdir=`echo $PWD | sed s/'\\/'/'\\\\\\/'/g`
args="$*"
flgn="`echo $args | grep 'fax-number='`"
flgb="`echo $args | grep 'fax-broadcast='`"
if [ -e '/usr/local/Brother/fax/brmfcfax.jar' ] && [ -e "`which java`" ] && [ "$flgn" = "" ] && [ "$flgb" = "" ]; then
extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`"
number=""
if [ "`echo "$extarg" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo "$extarg"|sed s/"-o fax-broadcast="//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$extarg" | grep 'fax-number='`" != "" ];then
number="`echo "$extarg"|sed s/"-o fax-number="//g`"','
fi
else
extarg=""
number=""
while [ "$1" != '' ]
do
if [ "`echo "$1" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo $1|sed s/fax-broadcast=//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$1" | grep 'fax-number='`" != "" ];then
number="`echo $1|sed s/fax-number=//g`"','
fi
shift
done
fi
if [ -e "$faxbcfile" ];then
groupmember="$number""`cat $faxbcfile | sed -e s/#.*$// \
| tr -d ' ' | tr -d '\t' | egrep [0-9] | tr '\n' ',' \
| sed s/,$//`"
else
groupmember=$number
fi
if [ "$groupmember" != "" ];then
groupmember_opt="fax-numbers="$groupmember
else
groupmember_opt="fax-numbers="
fi
if [ "`echo $args | grep ' --brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
else
lprargs=$args
fi
if [ $DEBUG = 1 ];then
rm -f /tmp/br_faxshare_log
fi
lprcmd="lpr -P BRFAX -o $groupmember_opt $lprargs"
if [ "`echo $lprcmd | grep 'fax-broadcast=\/'`" ];then
lprcmd2=$lprcmd
elif [ "`echo $lprcmd | grep 'fax-broadcast=~'`" ];then
lprcmd2="`echo $lprcmd | sed s/"fax-broadcast=~"/"fax-broadcast=""$hdir"/g`"
else
lprcmd2="`echo $lprcmd | sed s/fax-broadcast=/fax-broadcast="$cdir"'\/'/g`"
fi
case "$DEBUG" in
"0" )
$lprcmd2
;;
"1" )
echo $lprcmd >> /tmp/br_faxshare_log
$lprcmd2
;;
"2" )
echo $lprcmd2
if [ "$INPUT_TEMP_BCLIST" != "" ];then
rm -f $INPUT_TEMP_BCLIST
fi
;;
"3" )
lprcmd3="`echo $lprcmd2 | sed s/' -o '/' -o brpcfax-debugoption=4 -o '/`"
echo $lprcmd3
$lprcmd3
;;
"*" )
$lprcmd2
;;
esac
exit 0 Hier die neue, abgeänderte Version mit Zeile 33 von mir abgeändert (gelb markiert) nano /usr/bin/brpcfax #! /bin/bash
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
## Brother CUPS Fax filter
# Copyright (C) 2005- Brother Industries, Ltd.
DEBUG=0
BASEDIR="/opt/brother/fax/brmfcfax"
CONFIGFILE="/${BASEDIR}/config/brmfcfax.config"
source $CONFIGFILE
hdir=${HOME//'/'/'\/'}
extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`"
number=""
chkcmd="$BASEDIR/lpd/$(uname -m)/brps2brfax"
if ! [ -e "$chkcmd" ];then
chkcmd="./brps2brfax"
fi
if ! [ -e $chkcmd ];then
exit 0
fi
new_args=''
while [ "$1" != '' ]
do
if [ "$1" = '-o' ];then
if [ "$(echo "$2" | grep '^fax-broadcast=')" != "" ];then
tmp=$(echo "$2"| \
sed s/"fax-broadcast="//g |\
sed s/"^~"/"$hdir"/g );
if [ "$(echo "$tmp" | grep '^/')" = '' ];then
faxbcfile=$(pwd)/$tmp
else
faxbcfile=$tmp
fi
elif [ "$(echo "$2" | grep '^fax-number=')" != "" ];then
number="${2//fax-number=/}"
elif [ "$(echo "$2" | grep '^--brpcfax-debug=')" != "" ];then
DEBUG="${2//"--brpcfax-debug="/}"
else
new_args="$new_args $1 $2"
fi
shift
else
datafile="$1"
fi
shift
done
numlist=$($chkcmd --number-check --fax_num="$number" --fax_list="$faxbcfile")
if [ "$?" != '0' ];then
echo "INVALID FAX NUMBER [ $numlist]"
if [ "$TXLOG" = YES ] || [ "$TXLOG" = Yes ] || [ "$TXLOG" = yes ];then
touch "$TXLOGDIR"/"$TXLOGFILE"
echo "ERROR: BRFAX INVALID FAX NUMBER [ $numlist]" \
>> "$TXLOGDIR"/"$TXLOGFILE"
fi
exit -1
fi
new_args=" -o fax-number=$numlist $new_args"
lprcmd="lpr -P BRFAX $new_args"
case "$DEBUG" in
"0" )
$lprcmd "$datafile"
;;
"1" )
echo "$lprcmd" "$datafile"
$lprcmd "$datafile"
;;
"2" )
echo "$lprcmd" "$datafile"
;;
"*" )
$lprcmd "$datafile"
;;
esac
exit 0 wenn ich brpcfax eingebe, öffnet sich bei beiden wie es sein soll die GUI (Graphische, nummerische Oberfläche zum Eingeben der Faxnummer) Allerdings beim Alten (Zeile 37 ) wenn ich dort eingebe: brpcfax /home/Benutzer/Documents/Testfax.pdf dann öffnet die Gui. Dort gebe ich die gewünschte Faxnummer ein und das Fax wird gesendet. Bei der neuen Version, meine abgeänderte Zeile 33.Auch dort öffnet sich bei Eingabe von brpcfax /home/Benutzer/Documents/Testfax.pdf die Gui. Aber unter der Gui im Terminal steht eine Fehlermeldung: pat@pat-desktop:~$ brpcfax /home/pat(Benutzer)/Documents/Testfax.pdf
INVALID FAX NUMBER [ ]
pat@pat-desktop:~$ Gebe ich die Nummer in die Gui ein passiert logischerweise nichts Was muss ich ändern damit das funktioniert?
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Lösung: Gelb markiert was bleibt, der Rest ist die alte Version. #! /bin/bash
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
## Brother CUPS Fax filter
# Copyright (C) 2005- Brother Industries, Ltd.
DEBUG=0
hdir=`echo $HOME | sed s/'\\/'/'\\\\\\/'/g`
cdir=`echo $PWD | sed s/'\\/'/'\\\\\\/'/g`
args="$*"
flgn="`echo $args | grep 'fax-number='`"
flgb="`echo $args | grep 'fax-broadcast='`"
if [ -e '/usr/local/Brother/fax/brmfcfax.jar' ] && [ -e "`which java`" ] && [ "$flgn" = "" ] && [ "$flgb" = "" ]; then
extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`"
number=""
if [ "`echo "$extarg" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo "$extarg"|sed s/"-o fax-broadcast="//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$extarg" | grep 'fax-number='`" != "" ];then
number="`echo "$extarg"|sed s/"-o fax-number="//g`"','
fi
else
extarg=""
number=""
while [ "$1" != '' ]
do
if [ "`echo "$1" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo $1|sed s/fax-broadcast=//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$1" | grep 'fax-number='`" != "" ];then
number="`echo $1|sed s/fax-number=//g`"','
fi
shift
done
fi
if [ -e "$faxbcfile" ];then
groupmember="$number""`cat $faxbcfile | sed -e s/#.*$// \
| tr -d ' ' | tr -d '\t' | egrep [0-9] | tr '\n' ',' \
| sed s/,$//`"
else
groupmember=$number
fi
if [ "$groupmember" != "" ];then
groupmember_opt="fax-numbers="$groupmember
else
groupmember_opt="fax-numbers="
fi
if [ "`echo $args | grep ' --brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
else
lprargs=$args
fi
if [ $DEBUG = 1 ];then
rm -f /tmp/br_faxshare_log
fi
lprcmd="lpr -P BRFAX -o $groupmember_opt $lprargs"
if [ "`echo $lprcmd | grep 'fax-broadcast=\/'`" ];then
lprcmd2=$lprcmd
elif [ "`echo $lprcmd | grep 'fax-broadcast=~'`" ];then
lprcmd2="`echo $lprcmd | sed s/"fax-broadcast=~"/"fax-broadcast=""$hdir"/g`"
else
lprcmd2="`echo $lprcmd | sed s/fax-broadcast=/fax-broadcast="$cdir"'\/'/g`"
fi
case "$DEBUG" in
"0" )
$lprcmd2
;;
"1" )
echo $lprcmd >> /tmp/br_faxshare_log
$lprcmd2
;;
"2" )
echo $lprcmd2
if [ "$INPUT_TEMP_BCLIST" != "" ];then
rm -f $INPUT_TEMP_BCLIST
fi
;;
"3" )
lprcmd3="`echo $lprcmd2 | sed s/' -o '/' -o brpcfax-debugoption=4 -o '/`"
echo $lprcmd3
$lprcmd3
;;
"*" )
$lprcmd2
;;
esac
exit 0 Klappt wunderbar wie vorher. Oben die Intro-Einstellungen von Brother so lassen, unten das kompleete Programm der alten Version einfügen. Ob das jetzt gegen die Bother Richtlinien verstößt weiß ich nicht... Wenn jemand eine andere Lösung hat, bitte...
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1214
|
Wenn jemand eine andere Lösung hat, bitte...
Warum nutzt du nicht "yad"?
yad --title="Versenden eines Faxes" \
--text="Gib die Daten für den Fax-Empfänger ein:" \
--form \
--field="Fax-Nummer" \
--field="zu versendende Datei:FL" \
"053149059113" "$HOME/Downloads/pdf/Testfax.pdf" |
while IFS="|" read nr file; do
brpcfax -o fax-number="$nr" "$file"
done
Das kannst du ja noch nach Belieben ausschmücken.
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Spacetaxi schrieb: Lösung: Gelb markiert was bleibt, der Rest ist die alte Version. #! /bin/bash
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA 02111-1307 USA
#
## Brother CUPS Fax filter
# Copyright (C) 2005- Brother Industries, Ltd.
DEBUG=0
hdir=`echo $HOME | sed s/'\\/'/'\\\\\\/'/g`
cdir=`echo $PWD | sed s/'\\/'/'\\\\\\/'/g`
args="$*"
flgn="`echo $args | grep 'fax-number='`"
flgb="`echo $args | grep 'fax-broadcast='`"
if [ -e '/usr/local/Brother/fax/brmfcfax.jar' ] && [ -e "`which java`" ] && [ "$flgn" = "" ] && [ "$flgb" = "" ]; then
extarg="`/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/local/Brother/fax/brmfcfax.jar 2>/dev/null`"
number=""
if [ "`echo "$extarg" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo "$extarg"|sed s/"-o fax-broadcast="//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$extarg" | grep 'fax-number='`" != "" ];then
number="`echo "$extarg"|sed s/"-o fax-number="//g`"','
fi
else
extarg=""
number=""
while [ "$1" != '' ]
do
if [ "`echo "$1" | grep 'fax-broadcast='`" != "" ];then
faxbcfile="`echo $1|sed s/fax-broadcast=//g|sed s/'~'/"$hdir"/g`"
fi
if [ "`echo "$1" | grep 'fax-number='`" != "" ];then
number="`echo $1|sed s/fax-number=//g`"','
fi
shift
done
fi
if [ -e "$faxbcfile" ];then
groupmember="$number""`cat $faxbcfile | sed -e s/#.*$// \
| tr -d ' ' | tr -d '\t' | egrep [0-9] | tr '\n' ',' \
| sed s/,$//`"
else
groupmember=$number
fi
if [ "$groupmember" != "" ];then
groupmember_opt="fax-numbers="$groupmember
else
groupmember_opt="fax-numbers="
fi
if [ "`echo $args | grep ' --brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep ' --brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=1 '`" ];then
DEBUG=1
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=1'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=2'`" ];then
DEBUG=2
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=2'/''/g`"
elif [ "`echo $args | grep '^--brpcfax-debug-flag=3'`" ];then
DEBUG=3
lprargs="`echo $args | sed s/'--brpcfax-debug-flag=3'/''/g`"
else
lprargs=$args
fi
if [ $DEBUG = 1 ];then
rm -f /tmp/br_faxshare_log
fi
lprcmd="lpr -P BRFAX -o $groupmember_opt $lprargs"
if [ "`echo $lprcmd | grep 'fax-broadcast=\/'`" ];then
lprcmd2=$lprcmd
elif [ "`echo $lprcmd | grep 'fax-broadcast=~'`" ];then
lprcmd2="`echo $lprcmd | sed s/"fax-broadcast=~"/"fax-broadcast=""$hdir"/g`"
else
lprcmd2="`echo $lprcmd | sed s/fax-broadcast=/fax-broadcast="$cdir"'\/'/g`"
fi
case "$DEBUG" in
"0" )
$lprcmd2
;;
"1" )
echo $lprcmd >> /tmp/br_faxshare_log
$lprcmd2
;;
"2" )
echo $lprcmd2
if [ "$INPUT_TEMP_BCLIST" != "" ];then
rm -f $INPUT_TEMP_BCLIST
fi
;;
"3" )
lprcmd3="`echo $lprcmd2 | sed s/' -o '/' -o brpcfax-debugoption=4 -o '/`"
echo $lprcmd3
$lprcmd3
;;
"*" )
$lprcmd2
;;
esac
exit 0 Klappt wunderbar wie vorher. Oben die Intro-Einstellungen von Brother so lassen, unten das kompleete Programm der alten Version einfügen. Ob das jetzt gegen die Bother Richtlinien verstößt weiß ich nicht...
This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your option) Nein, schonmal alles ok...
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
shiro schrieb: Wenn jemand eine andere Lösung hat, bitte...
Warum nutzt du nicht "yad"?
yad --title="Versenden eines Faxes" \
--text="Gib die Daten für den Fax-Empfänger ein:" \
--form \
--field="Fax-Nummer" \
--field="zu versendende Datei:FL" \
"053149059113" "$HOME/Downloads/pdf/Testfax.pdf" |
while IFS="|" read nr file; do
brpcfax -o fax-number="$nr" "$file"
done
Das kannst du ja noch nach Belieben ausschmücken.
Das ist interessant, sehe ich mir an.
Danke. Kann ich die Gui aber dann auch mit einbauen?
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1214
|
Kann ich die Gui aber dann auch mit einbauen?
Die Frage verstehe ich nicht. "yad" ist doch die GUI. Wenn du willst, kannst du natürlich noch weitere Funktionalität in die GUI (yad) einbauen.
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Also die Datei wird so bearbeitet wie dus hier gepostet hast? Erläutere das mal genauer wenns geht.
|
shiro
Anmeldungsdatum: 20. Juli 2020
Beiträge: 1214
|
Erläutere das mal genauer wenns geht.
Wenn man früher ein Script über eine GUI bedienen wollte, musste man "tcl/tk" verwenden. Seit "zenity", "yad" usw. kann man das auch über die "normalen" Shells (sh, ksh,zsh, bash usw). Für "yad" gibt es eine sehr einfache Beschreibung unter https://yad-guide.ingk.se/ die zu lesen es sich lohnt. Das über die Paketverwaltung bei Ubuntu abrufbare "yad" Paket bietet zwar nicht alle Funktionen (z.B. html) aber ist für den Anfang durchaus brauchbar. Man installiert es z.B. mit dem Befehl:
sudo apt-get install yad In deinem Beispiel geht es darum, den Command-Line Befehl "brpcfax" mit den Parametern über eine grafische Bedienoberfläche zu versorgen, damit z.B. eine pdf Datei als Fax versendet werden kann. Hierzu kannst du z.B. ein Formular mit zwei Eingabefeldern aufbauen. Das es sich um ein Formular handeln soll, besagt der Parameter "--form". Die einzelnen Eingabefelder beschreibt man mit dem Parameter "--field", deren Eigenschaft man mit den Kürzeln nach dem ":" beschreibt. Näheres hierzu bitte aus dem oben angeführten Link oder der "man"-Page entnehmen. Am Schluss der Formulardefinition kann man die Default-Werte jeweils durch ein Leerzeichen getrennt angeben. Als Ausgabe liefert "yad" die im Formular erfassten Informationen als Zeichenkette, deren default Trennzeichen "|" die einzelnen Feldwerte separiert. Drückt man in der Form nicht den "OK" Button, wird keine Zeichenkette geliefert. Daher lese ich in meinem Beispiel die Zeichenkette mit dem Trennzeichen (IFS="|") in die beiden Variablen "nr" und "file", die dann als Parameter für den "brpcfax" Befehl verwendet werden. Natürlich kannst du auch Telefonnummern aus einer Pick-Liste selektieren aber das wäre wahrscheinlich für den ersten Testversuch zu kompliziert. Das oben angeführte Beispiel erzeugt das im beigefügten Bild dargestellte Eingabefenster.
- Bilder
|
Spacetaxi
(Themenstarter)
Anmeldungsdatum: 24. Februar 2014
Beiträge: 3265
|
Danke.
Das ist eine klasse Alternative.
|