2016-05-11 30 views
1

Lösung und die vollständige EXEC LINEMehrere Befehle in einer benutzerdefinierten Aktion von pcmanfm-qt?

Exec=sh -c 'sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html && phantomjs /home/burak/bin/shortcuts.js file:///home/burak/Not/Shortcuts.html /home/burak/Not/shortcuts.jpg 1920px*1080px && feh --bg-fill /home/burak/Not/shortcuts.jpg' 

Dies ist in anderen Dateimanagern wahrscheinlich relevant das gleiches (DES-EMA) Schema verwendet.

Ich habe vier Befehle, die alle einzeln arbeiten, aber ich steckte gerade beim Hinzufügen des zweiten Befehls zur Exec-Zeile der benutzerdefinierten Aktion. Wenn ich das überwinde, können die anderen beiden verbleibenden Befehle entsprechend hinzugefügt werden (oder durch Piping), nehme ich an.

Hier sind meine Befehle und Infos über das, was sie tun sollte (das% f offensichtlich erweitert werden, um die Datei im Dateimanager auf geklickt hat):

sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd 

Der obige Befehl ersetzt die erste Zeile des Abschlags-Datei, die das Hintergrundbild der HTML-Datei ändert, indem pandoc mit dem folgenden zweiten Befehl erzeugt werden:

pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html 

die unten dritte Befehl umwandelt, dass Shortcuts.html shortcuts.jpg

Und schließlich setzt der vierte Befehl das obige shortcuts.jpg Bild als Hintergrundbild (mit allen Verknüpfungen, Bash-Aliasen und einigen anderen Befehlen, die in den Desktop eingebettet sind).

feh --bg-fill %f 

So am Ende würde ich easly Hintergrund ändern und meine Tastaturkürzel und Aliase usw. in jede neue Tapete einbetten wie so:

wallpaper with shortcuts embeded

Nun, wie bereits gesagt, ich habe fest am Anfang, das heißt, kann nicht den zweiten Befehl zum ersten hinzufügen. Ich habe schon versucht, diese ohne Erfolg:

Exec=sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html 

Und weder diese gearbeitet haben:

Exec=sh -c "sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html" 

und Rohrleitungen (|) diese beiden Befehle arbeitet in Terminal, aber nicht in benutzerdefinierter Aktion Desktop-Datei.

Was soll ich tun (auf Arch Linux mit Fluxbox, wenn das wichtig ist)?

Antwort

0

Verdammt! .. Dachte, ich habe das schon mal versucht, aber scheinbar nicht so. Nun, Rohrleitungen auf diese Weise funktioniert:

Exec:sh -c 'sed "1s:.*:<body background=%f>:" < /home/burak/Not/Shortcuts.mkd | pandoc --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html'