正常顺序
1 窗口1执行ros初始化
roscore
2 窗口2运行项目节点
2-1 首先source地址
source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash
2-2 执行节点
rosrun 项目名 节点名字
单个脚本执行
创建脚本
gedit ros_run_gps.sh
脚本内容
#!/bin/sh #延迟5秒执行 sleep 1 echo "GPS 测试" #echo "GPS 测试开始,消息记录" > /home/pi/start/test_desk1.log #echo "新窗口开启ros: roscore " #echo "查看串口: ls /dev/ttyUSB* " #echo "临时给与一次串口权限: sudo chmod 777 /dev/ttyUSB0 " #sudo chmod 777 /dev/ttyUSB0 #echo "source " #source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash
给与脚本执行权限
sudo chmod -R 777 ros_run_gps.sh
一个脚本开启三个命令行
没有解决密码问题,需要手动输入
#!/bin/sh #延迟1秒执行 sleep 1 echo "ROS——GPS 测试" #echo "GPS 测试开始,消息记录到日志里" > /home/pi/start/test_desk1.log echo "1 开启ros节点 roscore 等待完全开启再往后执行 " gnome-terminal -t "1_roscore" -x bash -c "\ roscore; \ exit;exec bash;" sleep 5 echo "2 开启发送节点 serialPort " gnome-terminal -t "2_serialPort" -x bash -c "\ echo \"dongdong\" | sudo chmod 777 /dev/ttyUSB0; \ source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash; \ rosrun v1_GetGPS serialPort; \ exit;exec bash;" sleep 1 echo "3 开启接收节点 listener" gnome-terminal -t "3_listener" -x bash -c "\ source /home/dongdong/v2_Project/v4_ROS/catkin_gps/devel/setup.bash; \ rosrun v1_GetGPS listener; \ exit;exec bash;" sleep 1 #echo "执行前确保给与脚本本身执行权限 sudo chmod -R 777 xxx.sh" #echo "查看串口: ls /dev/ttyUSB* " #echo "临时给与一次串口权限: sudo chmod 777 /dev/ttyUSB0 " # 开启新的命令窗口执行 # gnome-terminal -t "窗口名字" -x bash -c "要执行的命令1;命令2;exit;exec bash;" #Shell 脚本自动输入密码 : echo "密码" | sudo 命令
主窗口
窗口1
窗口2
手动输入密码
窗口3