В Macintosh каналы обрабатываются так же, как и сокеты, с помощью функции read
. Это поведение вызвано тем, что вы пытаетесь read
файл select_test_tmp.fifo
, и он блокируется всякий раз, когда у вас есть пустой ввод. EOF по умолчанию записывается в канал после каждой операции записи.
Один из способов проверить это — запустить cat select_test_tmp.fifo
из командной строки. Он будет ждать, пока не получит какой-либо ввод, прежде чем возвратить --, если вы не завершите его первым.
Проблема чудесным образом исчезла после обновления пакета dbus
sudo apt update
sudo apt install dbus
Теперь графический интерфейс вернулся, и время входа в систему по ssh и ftp больше не истекло.