Вы также можете легко сделать это с помощью netpbm
toolkit:
anytopnm inputfile | ppmtopgm | pgmtopbm > outputfile
ppmtopgm
преобразует в изображение в градациях серого, pgmtopbm
преобразует в черно-белое изображение, а затем мы перенаправляем выходные данные в файл. Он будет в формате pbm; если вы хотите что-то более распространенное, вам придется добавить выходной преобразователь (например, pnmtopng
или какой-то такой)
Эта проблема решена. Извините, что задаю неоднозначный вопрос. Пользовательский драйвер отправляет IP-пакеты с помощью широковещательной передачи MAC. Я изменил эту часть на mac unicast, и, наконец, проблема решена.
-121--251159-Как вы говорите, вы не можете читать конец файла с последовательного порта. (Ctrl-Z - штука microsoft). Как правило, вы читаете, пока у вас нет нужного номера символов или до тех пор, пока не будет найден разделитель типа новой строки, который сигнализирует конец данных.
Например, у меня есть последовательный порт USB с выходом, подключенным обратно к входу, поэтому любые записи в устройство просто возвращаются прямо обратно. Следующий сценарий может получить данные, отправляемые устройством:
#!/bin/bash
tty=/dev/ttyUSB0
exec 4<$tty 5>$tty
stty -F $tty 9600 -echo
echo abcdef >&5
read reply <&4
echo "reply is $reply"
Сценарий соединяет последовательное устройство в качестве дескриптора файла 4 для ввода, 5 для
вывод, устанавливает скорость и останавливает эхо, получаемое для tty, затем записывает
«abcdef» и newline на устройство. Каждый символ будет отправлен обратно немедленно, но драйвер ядра будет буферизировать некоторые входные данные, поэтому мне не нужно начинать
для чтения с устройства перед выполнением записи. Чтение заканчивается по умолчанию
видит новую строку и сохраняет ее в переменной reply
, которая затем повторяется в stdout. Этот сценарий можно поместить в тип использования v = $ ()
.
Если данные последовательного устройства не заканчиваются новой строкой, можно указать другой разделитель для чтения bash с помощью -d
. Или если ответ имеет константу
длину можно задать с помощью -n
. При наличии двоичных данных, вероятно, следует добавить raw
в команду stty, чтобы остановить любую специальную обработку ввода.
Я думаю, вы должны иметь возможность просто отформатировать раздел, на котором установлена вторая система Mint, а затем запустить sudo update-grub
. Затем вы можете установить другую ОС на этот свободный раздел.
Я бы также проверил ваш системный раздел EFI, чтобы убедиться, что установлена только одна версия GRUB (, если нет, удалите лишнюю версию ).
Возможно, вы используете «последний» ноутбук с UEFI и включенной функцией Secure Boot
. приказ бежать. Большинство современных дистрибутивов Linux имеют неподписанные загрузчики, отсюда и проблема.
Если вынезаинтересованы в установке Windows на этом компьютере, вы можете отключить функцию безопасной загрузки в настройках EFI .
Если вам нужно, чтобы Windows была установлена вместе с другой ОС на этом компьютере, вам придется искать подписанный загрузчик, возможно, основанный на efilinux.