Получение USB-монитора и его драйверов для работы на безголовом компьютере

В дополнение к тому, что написал @Olorin , я думаю, здесь может быть пара недоразумений. Во-первых, for y in ${x}/*; do pushd "$y"; thenприводит к

bash: syntax error near unexpected token `then'


Во-вторых, отступ может ввести вас в заблуждение относительно того, что происходит на самом деле. Возьмите эту правильно отформатированную версию исходного кода:

for y in ${x}/*/
do
    if pushd "$y"
    then
        command1
        command2
        popd
    fi
done

Другими словами, все command1, command2и popdзапускаются только в том случае, если первоначальный pushdзавершился успешно. Если вы вместо этого написали

for y in ${x}/*/
do
    pushd "$y"
    command1
    command2
    popd
done

и не было errexitохранника, сбой pushdили popdне повлияет на остальную часть скрипта. Это может привести к запуску command1и command2в неправильном каталоге, а затем, возможно, возврату в другой каталог , не связанный с этим кодом. Это могло иметь катастрофические последствия.


Наконец, я бы сказал, чтоpushd+ команды + popdявляется анти--паттерном , потому что он добавляет больше контекста (и, следовательно, когнитивных накладных расходов и риска )к языку, где сложный контекст это уже массовая проблема. Наиболее распространенный способ обойти это — передать путь (, идеально абсолютный ), командам, например:

for y in "$x"/*/
do
    command1 "$y"
    command2 "$y"
done

2
18.02.2020, 20:45
2 ответа

Иногда для отправки сообщений ПК требуется клавиатура. Вы пытались подключить USB-клавиатуру для процесса запуска?

1
28.04.2021, 23:23

Я постер, и это решение, безусловно, является хаком, но мне не удалось заставить работать какое-либо из этих общепринятых решений для Ubuntu 19.10:

Я создал USB-флешку для оперативной установки Ubuntu. Я вынул жесткий диск и вставил дополнительный USB-накопитель, чтобы выполнить пробную установку на него. Я взял свой планшет и сделал снимки процесса установки. Эти снимки были сделаны для справки. Я был осторожен, обращая внимание на активность чтения/записи USB на каждом этапе процесса установки.

Затем я подключил установочный USB-накопитель к безголовому компьютеру, к которому была подключена клавиатура, и включил его. Было сложно обойти биос, но я это сделал. Я подключил целевой жесткий диск для установки.

Затем я использовал клавиатуру для установки, не видя, что на самом деле происходит. Я использовал клавиши Tab и Enter большую часть времени для перемещения по программе установки. Однажды на экране пользователя и пароля я, конечно, использовал буквенно-цифровые клавиши.

Затем я попытался загрузить свой ноутбук с новой установкой USB. Это сработало. Я установил драйверы для монитора DiplayLink. Я установил монитор displaylink в качестве основного и удалил все остальные мониторы из использования. Я отключился.

Я поместил новый установочный USB-накопитель в безголовый компьютер, но теперь с подключенным монитором DisplayLink. Это сработало.

0
28.04.2021, 23:23

Теги

Похожие вопросы