ubuntuusers.de

Brother Faxen klappt mal wieder nicht

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1449

Das wird im Terminal einwandfrei gefaxt..

Wenn das Script, das den "yad" Befehl nutzt im Terminal gestartet wird und die Seite gefaxt wird, bedeutet dies, dass der Prozess, der den Befehl über die ".deskop" Datei ausführt irgendwo ein Problem hat.

Aus diesem Grund würde ich folgende Vorgehensweise vorschlagen:

  1. Feststellen, wo du die .desktop Datei abgelegt hast.

  2. Feststellen, wo das Fax-Script abgelegt ist.

  3. Sicherung des Scripts z.B. in der Form:

     cp -v ~/bin/fax.sh ~/bin/fax.sh.sav 

    wenn das Script unter "~/bin/fax" abgelegt ist.

  4. Prüfen, ob die ".desktop"-Datei syntaktisch ohne Fehler ist z.B. in der Form:

     desktop-file-validate $HOME/.local/share/applications/fax.desktop 

    wenn die .desktop-Datei an der angegebenen Stelle liegt. Erhältst du keine Meldung, ist alles ok. Im Fehlerfall bitte die Ausgabe im Codeblock listen.

  5. Ändern des Fax-Scriptes in der Form, dass das Script einen Logfile als "$HOME/x.log" ablegt. Hierzu wird nach der ersten Zeile die Zeile "( set -x;set" eingefügt. Am Ende der Datei wird die Zeile ") &>$HOME/x.log" eingefügt. Der Befehl wäre bei mir z.B.:

     sed -i '1 a\( set -x;set
    ;$ a\) &>\$HOME/x.log
    ' $HOME/bin/fax.sh 

    Danach bitte die .desktop Datei ausführen (z.B. Doppelklick oder "xdg-open $HOME/.local/share/applications/fax.desktop"). Vor der Veröffentlichung der Datei "$HOME/x.log" im Codeblock, mache bitte eventuell "kritische" Informationen unleserlich (z.B. durch Überschreiben mit "x").

Über den Logfile können Fehlermeldungen im Script und deine Definition von Environment-Variablen validiert werden.

Spacetaxi

(Themenstarter)

Anmeldungsdatum:
24. Februar 2014

Beiträge: 3341

Nein, ich meinte der Befehl ( ohne Skript) separat im Terminal eingegeben führt das Faxen aus. Das Skript selber führt nichts aus ( Teriminal ist deaktiviert, siehe deine Anleitung...auf meine Bitte hin)

Es kann auch sein das man das Terminal im Hintergrund mit laden muss, weiss ich nicht.

Die Desktop Datei liegt in /home/.local/share/applications

Ein Ableger dessen auf dem Desktop... aber gelöscht...

Also nur noch dort.

Faxscript liegt in /home/Benutzer/bin

/home/bin/yad.sh per chmod ist entsprechend mit 755er Rechten versehen.

Alles Weitere im Laufe des alten Jahres. Führe das dann morgen durch. Bei Rückfragen melde ich mich.

Ich kann das auch pwr Textblock zeigen was gemau der Inhalt der Skripte ist. ( Inhalt zusätzlich)

Danke bis dato.😊 Ist absolut faszinierend bis jetzt, obwohl in Anbetracht dessen wie praktisch das ist.

LG

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1449

Das Skript selber führt nichts aus ...

Oh, dann habe ich deine Information falsch verstanden. Eventuell macht es Sinn, sowohl das Script (/home/Benutzer/bin/yad.sh) als auch die .desktop Datei im Codeblock zu zeigen. Welche Ausgabe erhältst du, wenn du im Terminal die folgenden Eingaben machst, eine Faxnummer eingibst und das Fenster mit "OK" (Bestätigen) abschließt?

cd $HOME
yad.sh faxdatei.pdf

Spacetaxi

(Themenstarter)

Anmeldungsdatum:
24. Februar 2014

Beiträge: 3341

Gerne:

[Desktop Entry]
Name=yad.sh
Comment=Führe Testscript im Terminal aus
Exec=/home/ghost/bin/yad.sh 
Terminal=false 
Type=Application
#!/bin/bash
# Wrapper für Fax-Versand mit Hilfe von YAD

Datei="$1"
Nummer="$2"

IFS="|" read Datei Nummer Papier Quality <<<$(yad \
 --title="Fax senden auf BRFAX" --form \
 --field="Datei:SFL" "$Datei" \
 --field="Fax-Nummer" "$Nummer" \
 --field="Papiergröße:CB" "A4\!letter\!legal" \
 --field="Qualität:CB" "Standard\!Fine" 2>/dev/null)

#cmd="lpr -P BRFAX" 
cmd="brpcfax" 

[ -n "$Datei" ] && [ -n "$Nummer" ] && ( 
echo $cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 
#$cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 
) || (
echo "Es fehlt entweder die Datei oder die Fax-Nummer"
)

Prosit Neujahr noch, alles Gute für 2026. Wie gesagt, gibt keinen Befehl an den Drucker, vielleicht habe ich tatsächlich am Skript was geändert. ich schau nochmal nach.

Hier

cd $HOME
yad.sh faxdatei.pdf

kann doch eigentlich nix bei rauskommen. yad.sh liegt wie gesagt in /home/benutzer/bin nicht im Homevereichnis selbst. Ich kanns natürlich dorthin kopieren..

hab ich gemacht:

 cd $HOME
ghost@ghost-Modern-15-B7M:~$ yad.sh /home/ghost/Documents/Testfax.pfd

Das Fenster öffnet sich einwandfrei.

Wie gesagt, das ist nicht das Problem. das Problem ist die Ausführung selbst. Da tut sich nichts. Hiermit öffnet sich das Fenster mit der korrekt ausgewählten Datei. Gebe ich die Nummer ein und klicke auf "Auführen" bzw. steht für "senden" tut sich nichts.

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1449

Prosit Neujahr noch, alles Gute für 2026.

Danke. Auch dir die besten Wünsche für das neue Jahr.

Gebe ich die Nummer ein und klicke auf "Auführen" bzw. steht für "senden" tut sich nichts.

Das Problem, dass nicht gefaxt wird liegt daran, dass die eigentliche Befehlszeile noch auskommentiert ist. Es wird nur der "echo" Befehl darüber ausgeführt. Statt der Zeilen:

echo $cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 
#$cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 

sollte dort besser stehen:

#echo $cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 
$cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 

Das "#" Zeichen leitet ja einen Kommentar ein. Ich hatte zwar geschrieben, dass du die Zeilen nach eigenem Bedarf abändern kannst, hatte aber nicht explizit geschrieben, das Kommentarzeichen zu entfernen, wenn die Ausgabe des "echo" für dich zufriedenstellend aussieht. Sorry für meine Nachlässigkeit.

Spacetaxi

(Themenstarter)

Anmeldungsdatum:
24. Februar 2014

Beiträge: 3341

Ja, ist mir auch jetzt erst aufgefallen, das

$cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 

sollte ja ausgeführt werden, das

#echo $cmd -o fax-number="$Nummer" -o PaperType=$Papier -o Quality=$Quality "$Datei" 

kann also ausgeklammert werden..ok Ich wollte erst beide # weg machen. Warum ist diese echo zeile überhaupt nochmnal notwendig? Das hab ich nicht ganz kapiert. Echo gibt doch den Befehl aus (in einem virtuellen Terminal sagen wir mal), ok, also zur reinen Ausgabe von dem was ausgeführt werden soll, richtig?

Danke!! Klappt super. Sorry? Alles super! Ich hab das jetzt auch in mein debian (Trixie) eingebaut ☺ 😀 😊

Einwandfrei, ich hab dem ganzen Ausführprogramm auf dem Desktop noch ein entsprechend stimmiges Symbol zugeordnet. Alles perfekt!

Vielen, vielen Dank, genial 😊

Antworten |