Решение 1. Поддельный xterm в системах без X11
Вы также можете создать скрипт-оболочку, который заменяет xterm другой функцией. Проверьте это на ноутбуке с X11:
$ function xterm {
echo "hello $@"
}
$ xterm world 1
hello world 1
$ export -f xterm
$ /bin/xterm # opens a new xterm session
$ xterm world 2 # commands executed in second terminal
hello world 2
Это означает, что вы заменили команду xterm
на функцию во всех дочерних процессах.
Теперь, если вы уже знаете, что ваш скрипт будет работать в терминале без xterm, вы можете создать функцию, которая принимает все параметры и выполняет ее. Нет необходимости в сложных экранных вещах или замене /usr/bin/xterm.
Решение 2. Создание дампа данных UART для winz
Если вы хотите сохранить все данные UART в файл, это легко исправить, создав сеанс экрана и файл журнала. Ниже команда создаст сеанс с именем myscreensessionname
, который прослушивает последовательное соединение /dev/ttyUSB0
и записывает свои данные в /home/$USER/myscreensessionname.log
.
$ screen -dmS myscreensessionname -L -Logfile /home/$USER \
/myscreensessionname.log /dev/ttyUSB0 115200
Обратите внимание, что если вы собираетесь использовать сеансы с несколькими экранами, вы можете использовать серийные идентификаторы вместо /dev/ttyUSB0
. Вы можете идентифицировать связи с udevadmin
следующим образом.
$ udevadm info --name=/dev/ttyUSB0 | grep 'by-id'
S: serial/by-id/usb-FTDI_TTL232R-3V3_FTBDBIQ7-if00-port0
E: DEVLINKS=/dev/serial/by-id/usb-FTDI_TTL232R-3V3_FTBDBIQ7-if00-port0 /dev/serial/by-path/pci-0000:00:14.0-usb-0:4.4.4.1:1.0-port0
Здесь вместо /dev/ttyUSB0
я бы использовал /dev/serial/by-id/usb-FTDI_TTL232R-3V3_FTBDBIQ7-if00-port0
.
РЕДАКТИРОВАТЬ:
Вы можете прикрепить сеанс экрана с помощью следующей команды. В сеансе экрана нажмите crtl+a
и нажмите d
, чтобы отсоединиться.
$ screen -Dr myscreensessionname
Чтобы просмотреть все сеансы экрана:
$ screen -list
There is a screen on:
2382.myscreensessionname (04/02/2021 10:32:07 PM) (Attached)
1 Socket in /run/screen/S-user.
person
Bayou
schedule
02.04.2021
xterm
? - person weirdan   schedule 28.03.2021I want it to be available on the command line
тогда вам нужноxterm
? Логи - это просто текст. Что это за приложение? Что делает приложение? Как он запускаетxterm
? Что отображается в xterm? Этотtrying 127.0.0.1
выглядит как сессия телнета - это телнет? Почему бы не рассказать нам? И это отладчик jtag? - person KamilCuk   schedule 28.03.2021screen
, как предлагает @jurez. Вы можете дать каждому экранному сеансу имя (-S? ) and recall(
-r`) из любой другой оболочки в вашей системе. Поэтому вместо xterm позвольте вашей программе открывать экран. Не объезжайте через X. - person blubase   schedule 31.03.2021