Если вы можете сделать приложение использовать синтаксис SH вместо синтаксиса CSH. CSH используется очень немногими людьми в этом столетии и часто не устанавливается по умолчанию. Sh - стандарт. Фактически для такой простой команды вам даже не нужно заботиться о оболочке: вы можете просто позвонить в программу ENV
.
rsh MACHINE "env DISPLAY=machine:0 TESTVALUE1='test' scenTime=0 simName='name' /devel/test/run.sh"
Если вы не можете изменить приложение, но ваша оболочка - это Bash, вы можете использовать quirk of Bash: когда это не интерактивная система входа в систему, а когда его родительский процесс rshd
или SSHD
, Bash Runs ~ / .Bashrc
(который также является файлом, загруженным интерактивными снарядами входа в систему). Вы могли бы поставить это в свой .Bashrc
, чтобы определить функцию
функцию для эмуляции CSH:
if [[ $- != *i* ]]; then
# Non-interactive shell
setenv () {
export "$1=$2"
}
return
fi
Так что после того, как некоторые попытаются, нам удалось решить проблему.
Во-первых, интересно заметить, что были замечены две сообщения об ошибках, которые появились во время загрузки Linux:
tps6507x 1-0048: Read from reg 0xd failed
(...)
tps6507x 1-0048: failed to register tps6507x-pmic regulator
TPS6507X - это используется драйвер сенсорного экрана. Так что мы заметили, что даже водитель не мог начать, определение не вина Qt. Таким образом, один из техников в конечном итоге выявляет некоторые аппаратные различия между рабочим оборудованием и проблемными: некоторые резисторы в ключевых местах, необходимых для удаления. Казалось бы, они останавливали систему от обнаружения оборудования с сенсорным экраном. После этого он начал работать.