起動時にターミナルを生成する.desktopファイルがいくつかありますが、これらの.desktopファイルの1つにスクリプトを追加したい
背景
11:39:22 - ~ - martin$ cd ~/.config/autostart/
11:39:33 - ~/.config/autostart - martin$ ls -l terminal_left_big.desktop left_terminal.sh
-rwxrwxr-x 1 martin martin 196 юли 22 11:04 left_terminal.sh
-rwxrwxr-x 1 martin martin 294 юли 22 11:28 terminal_left_big.desktop
.desktopファイル
11:39:52 - ~/.config/autostart - martin$ cat terminal_left_big.desktop left_terminal.sh
[Desktop Entry]
Type=Application
Name=left_big
Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh -c "toilet concerts; cat /home/martin/scrape_file/tmp.json | jq -c '.[] | select( .event_country | contains("Bulgaria"))' | jq; toilet weather;curl http://wttr.in/Sofia";
Terminal=true
.shファイル
#!/bin/bash
toilet concerts
path=/home/martin/scrape_file/tmp.json
cat $path | jq -c '.[] | select( .event_country | contains("Bulgaria"))' | jq
toilet weather
curl http://wttr.in/Sofia
exit
だから今、私の.desktopファイルはほとんど機能していますが、-x sh -c "commans"
with -x sh script.sh
または-x sh ./script.sh
:
11:39:52 - ~/.config/autostart - martin$ cat terminal_left_big.desktop left_terminal.sh
[Desktop Entry]
Type=Application
Name=left_big
Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh ;
Terminal=true
私はこのエラーを受け取ります:
sh: 0: Can't open left_terminal.sh
質問
すべてのユーザーの両方のファイルに+ x特権があります。これらのスクリプトにエラーはないと思いますが、問題は何ですか?
編集:
シェルスクリプトに絶対パスを追加すると:
sh: 0: Can't open /home/martin/.config/autostart/left_terminal.sh;
回答
セミコロンを削除する必要がありますExec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh;
-> Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh
セミコロンを削除する必要があります
Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh;
代わりに:
Exec=xfce4-terminal --geometry 94x51+0+0 --title asd -H -x sh left_terminal.sh