• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Pfadangaben

A

Anonymous

Gast
Hallo,

ich bastle an einem KDE Servicemenü unter KDE 4.

Die Pfadangabe lautet zur Zeit:

Code:
home/alex/.kde/share/kde4/services/ServiceMenus/pdftk-tools.sh

Es funktioniert auch :

Code:
/.kde/share/kde4/services/ServiceMenus/pdftk-tools.sh

Nicht funktioniert:

Code:
/pdftk-tools.sh

obwohl die Dateien im gleichen Ordner liegen.


FEHLERMELDUNG: Programm pdftk-tools.sh nicht auffindbar.

Was muss ich eingeben,damit die Datei pdftk-tools.sh gestartet wird?
 
Rufst Du als User das Programm pdftk-tools.sh auf oder geschieht dies aus einem Skript? Ausführbar ist die Datei?
 
OP
A

Anonymous

Gast
Hallo,

ich führe das script, als user, aus einer Datei aus.

Code:
# Servicemenu pdf 
#
[Desktop Entry]
Encoding=UTF-8
ServiceTypes=all/allfiles
Icon=package_utilities
TryExec=pdftk
Actions=Extract;
X-KDE-Priority=TopLevel
X-KDE-Submenu[de]=Test_001
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin 
# Icon=pdf

# --------------------------------------------------------------------------------------------------------------------------------
[Desktop Action Extract]
Name=Anhänge an PDF Files
Name[de]=Anhänge an PDF Files
# Exec=/home/alex/.kde/share/kde4/services/ServiceMenus/pdftk-tools.sh pdftk-attach-files %f  -- fuktioniert unter kde 4
# Exec=/.kde/share/kde4/services/ServiceMenus/pdftk-tools.sh pdftk-attach-files %f  -- fuktioniert unter kde 4
Exec=/pdftk-tools.sh pdftk-attach-files %f
Icon=pdf


Die Datei und das Script sind "ausführbar"
 
Hannes_1 schrieb:
[...]
Exec=/pdftk-tools.sh pdftk-attach-files %f
[...]
So wird das pdftk-Dingens unterhalb von / gesucht und nicht gefunden. Ich vermute das der exec-Aufruf in einer neuen bash gestartet wird in der keinerlei Pfade angegeben sind. Entweder rufst Du es über absolute Pfade auf, exportierst vorher einen Pfad oder findest raus welches working-directory das aufrufende Skript verwendet (pwd könntest Du versuchen) und nimmst dazu passend einen relationalen Pfad.
 

Tooltime

Advanced Hacker
Kopiere dein Script einfach in das Verzeichnis bin von deinem Account (/home/username/bin). Dort kannst du es nur durch den Namen, ohne irgendeine Pfadangabe, aufrufen. In den Konfig-Verzeichnissen von KDE haben selbst gebaute Scripte nicht zu suchen.
 
OP
A

Anonymous

Gast
Hallo,

erst mal vielen Dank für Eure Mithilfe.

Hier nochmals mein Vorhaben.
Bisher habe ich über die Konsole mit dem Programm pdftk Anhänge an ein Pdf-File erzeugt.

Code:
pdftk beispiel.pdf attach_files anlage_1.pdf anlage 2.pdf anlage_3.pdf output beispiel_mit_anlagen.pdf
Funktioniert einwandfrei!

Dazu musste ich immer die unterschiedlichen PDF-File Namen eingeben.
Jetzt versuche ich ein script zu entwickeln, dass folgendes Macht.
Ich markiere ein pdf, öffne das Script , wähle die Anlagen über das DIALOG-Fenster aus und das neue Pdf-File mit Anlagen wird erzeugt.

Hier mein CODE
Code:
#!/bin/sh
RETURN=""
# Hole Benutzereingaben
		INPUT="$1"
		ATTACHMENTS=`kdialog --title "Attachments wählen" --multiple --getopenfilename ~/ "*.pdf"`
		if [ $? -ne 0 ] ; then exit ; fi # Abbrechen, falls der Dialog einfach geschlossen wurde (--> kdialog gibt Returncode 1 zurück)
		OUTPUT="$INPUT.attachments.pdf"
		
# Starte pdftk
		RETURN=`pdftk "$INPUT" attach_files "$ATTACHMENTS" output "$OUTPUT" 2>&1`
	
#
# Fehlermeldung ausgeben, wenn das letzte ausgeführte Kommando nicht fehlerfrei ausgeführt wurde
#
if [ $? -ne 0 ] ; then
	kdialog --title "Fehler" --error "$RETURN"
fi
Wenn ich das script versuchsweise über die Konsole ausführe, kommt folgende Fehlermeldung:

Error : Failed to open PDF-File
Errors encountered
No output created
Done: Inputerrors, so no output created.

Was mache ich falsch?
 
OP
A

Anonymous

Gast
Hallo,

mit
Code:
(/home/username/bin)
hats geklappt.
Danke.
 
Oben