Вот фактическая фиксация. Добавьте следующее к .tmux.conf
:
set -s escape-time 0
Если Вы хотите использовать zmodem, необходимо установить zmodem
опция к pass
, если Ваша экранная сессия уже работает, нажмите CTRL+A: и просто войдите zmodem pass
. Для отправки данных просто используют sz
команда от lrzsz
пакет.
Если Вы хотите получить данные через экран, необходимо установить значение к catch
.
лучший способ передать файл через xmodem состоит в том, чтобы использовать sx
. В debian это приложение является частью 'lrzsz' пакета.
В debian:
apt-get install screen lrzsz screen /dev/ttyUSB0 115200
Затем нажмите Ctrl-A, сопровождаемый: и введите:
exec !! sx yourbinary.bin
Это отправит файл в ttyUSB0 по xmodem протоколу
screen
cu
или какой-либо другой пакет?
– Vorac
29.10.2015, 10:06
sx binary.bin | socat FILE:/dev/ttyUSB0,b115200,raw -
– GnP
24.03.2016, 21:59
Если вы пытаетесь сделать это через экран на OSX, вы можете следовать процедуре, описанной пользователем32704 с небольшими изменениями. Сначала вам нужно собрать lrzsz из исходников, которые можно найти здесь:
https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
Затем, вместо exec !!! sx yourbinary.bin
вы должны использовать:
exec !! lsz -X yourbinary.bin
Мне нужно было автоматизировать последовательную передачу файла.bin на xbee с xmodem, поэтому я использовал этот неаккуратный код bash:
echo "Starting connection..."
screen -d -m -S uart_con /dev/ttyO1 115200
sleep 1
screen -S uart_con -X stuff 'F'$(echo -ne '\015')
sleep 1
screen -S uart_con -X exec \!\! sz -X /home/file_directory/example.abs.bin
echo "now transfering... "
sleep 20
pkill screen
Третья строка отправляет другой стороне команду (xbee )начать прослушивание передачи файла. Таким образом, вы, вероятно, хороши только с:
screen -d -m -S uart_con /dev/ttyUSB0 115200
screen -S uart_con -X exec \!\! sz -X /path_to_file/example.file
zmodem catch
опция, я был поиском целую вечность! Хорошее избавление, minicom. – ijustlovemath 11.04.2017, 05:48