Como descobri em um bate-papo com o interlocutor, rosrun
é um comando que ele definiu em .bashrc
.
Adicione a mesma definição de rosrun ao seu script1.sh
e isso deve funcionar.
Eu tenho um arquivo de script script1.sh
como mostrado abaixo:
#!/usr/bin/env bash
cd /home/userA/scripts
. r1.sh
quando eu abro manualmente um terminal e o executo usando . script.sh
ele funciona bem.
Mas quando eu criei o lançador .desktop abaixo para executá-lo, ele diz que ROSRUN command not found
.
Este é o arquivo .desktop
:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_AU]=/home/userA/Pics/pic1.png
Name[en_AU]=automatic
Exec=/home/userA/Desktop/script1.sh
Comment[en_AU]=comment
Name=automatic
Comment=comment
Icon=/home/userA/Pics/pic1.png
E é assim que r1.sh
se parece:
#!/bin/bash
rosrun r1 r1 \
-p1 $p1 \
-p2 $p2 \
-p3 $p3
Então, se alguém puder, por favor, informe qual pode ser a razão por trás disso acontecer. Como não sei por que ele funciona suavemente sem que esse erro apareça ao abrir manualmente um terminal e executá-lo, e por que o erro aparece quando eu uso o .desktop
launcher?
Como descobri em um bate-papo com o interlocutor, rosrun
é um comando que ele definiu em .bashrc
.
Adicione a mesma definição de rosrun ao seu script1.sh
e isso deve funcionar.