解决方案和完整的执行线
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'
这可能与使用相同 (DES-EMA) 方案的其他文件管理器有关。
我有四个命令都单独工作,但我只是坚持将第二个命令添加到自定义操作的 Exec 行。如果我克服了这个问题,我想可以相应地(或通过管道)添加其他两个剩余的命令。
这是我的命令和关于它们的用途的信息(显然,%f 将扩展到在文件管理器中单击的文件):
sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd
上面的命令用下面的第二个命令替换了 markdown 文件的第一行,该文件更改了 pandoc 生成的 html 文件的背景图像:
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
下面的第三个命令将 Shortcuts.html 转换为 shortcuts.jpg
phantomjs shortcuts.js file:///home/burak/Not/Shortcuts.html shortcuts.jpg 1920px*1080px
最后,下面的第四条命令将上面的 shortcuts.jpg 图像设置为桌面墙纸(所有快捷方式、bash 别名和一些其他命令嵌入到桌面中)。
feh --bg-fill %f
所以最后我会轻松更改墙纸并将我的键盘快捷键和别名等嵌入到每个新墙纸中,如下所示:
wallpaper with shortcuts embeded
现在,如前所述,我卡在了开头,即无法将第二个命令添加到第一个命令。我已经尝试过但没有成功:
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
但这都不起作用:
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"
管道 (|) 这两个命令在终端中有效,但在自定义操作桌面文件中无效。
我应该做什么(如果重要的话,在带有 Fluxbox 的 Arch Linux 上)?
最佳答案
该死的!..以为我以前试过这个,但似乎不是这样。那么,以这种方式进行管道工作:
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'
关于linux - pcmanfm-qt 自定义操作中的多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37164648/