Ваш ~/.bashrc
файл определяет, является ли он источником интерактивной или не -интерактивной оболочки:
case $- in
*i*) ;;
*) return ;;
esac
Когда этот файл получен из сценария (, который не является -интерактивной оболочкой ), берется ветвь return
и файл не выполняется до конца.
Добавление операторов export
в конец файла будет означать, что они не будут выполняться при получении из сценария.
Решение может состоять в том, чтобы записать операторы export
в отдельный файл и получить его из вашего сценария (и, возможно, также из ~/.bashrc
, если вы считаете, что это необходимо ).
ssh -X
подключает удаленно запущенные программы к X на стороне клиента SSH. Очевидно, что это возможно, только если есть X для подключения.
Возможно, вам нужен виртуальный X-сервер (на pi или на вашем SSH-клиенте ).