Если хочешь понять как работает эмулятор терминала (ведущий, ведомый и т.п.), вот тебе инструкция.
Сразу уточню что придется самостоятельно вникать, я лишь покажу как получить нужный выхлоп для дебага.
Всё делаю на десктопной 22й убунте c терминалом «konsole».
Запускаем в первом терминале:
readlink /proc/self/fd/0
Получаем нечто подобное:
/dev/pts/0Открываем второй терминал и запускаем от рута, получаем нужные пиды:
pgrep -xo konsole
pgrep -xo bash
24385
24401
Вместо konsole и bash можешь указать свой терминал и оболочку.
Подставляем пиды в команду и опять запускаем от рута:
strace -Yytttf -p 24385 -p 24401 -o bashdays.log
Возвращаемся в первый терминал, где запускали readlink и что-нибудь начинаем вводить, команды там, текст.
После того как наигрался, возвращайся во второй терминал с strace стопай и открывай на изучение лог
bashdays.log.В нем ты найдешь много интересного, если все сделал правильно — придёт озарение.
Штука низкоуровневая, но даёт базовое понимание как устроен эмулятор терминала.
Сегодня в 20:13 МСК залетит связанный с этой темой пост. Будут кишочки, strace и дебаг аномалии. Забегай.
Хорошего тебе дня, изучай!
tags: #linux #debug
—
🔔 @bashdays