Можно вручную держать открытой псевдозаписывающую ссылку на fifo (используя tail -f /dev/null 1>fifo
или cat fifo 3>fifo
), чтобы читающий конец fifo не закрылся после первого чтения.
# tty1
bash -c '
mkfifo fifo || exit 1
tail -f /dev/null 1>fifo &
#0<&- cat fifo 3>fifo &
#lsof -p $!
echo first > fifo
echo second > fifo
kill $!
'
# tty2
cat fifo
Поскольку вы используете Debian и интересующие вас модули доступны в виде пакетов, мы можем использовать их для решения вашей проблемы. В таких обстоятельствах, когда для использования части модуля требуется другой модуль, который не является частью строгих зависимостей первого модуля, вероятно, существует необязательная зависимость, которая решит вашу проблему; пакет для matplotlib
— python3-matplotlib
, поэтому
apt show python3-matplotlib
сообщит нам, какие дополнительные зависимости рекомендуются или предлагаются для этого модуля. В этом случае python3-tk
указан и кажется вероятным кандидатом, что подтверждается
apt show python3-tk
Итак,
sudo apt install python3-tk
должен решить вашу проблему.