Поддержка адаптера USB C → DisplayPort

Проблема здесь в том, что sshdждет конца -файла -в канале, он читает стандартный вывод команды (, а не стандартный вывод по какой-то причине, по крайней мере, с версией, которую я тестирование по )с. И фоновое задание наследует fd для этого канала.

Таким образом, чтобы обойти это, перенаправьте вывод этой фоновой команды rsyncв какой-либо файл или /dev/null, если вам это не нужно. Вы также должны перенаправить stderr, потому что даже если sshd не ожидает соответствующего канала, после выхода sshdканал будет сломан, поэтому rsyncбудет убит, если он попытается записать на stderr.

Так:

rsync... > /dev/null 2>&1 &

Сравните:

$ time ssh localhost 'sleep 2 &'
ssh localhost 'sleep 2 &'  0.05s user 0.00s system 2% cpu 2.365 total
$ time ssh localhost 'sleep 2 > /dev/null &'
ssh localhost 'sleep 2 > /dev/null &'  0.04s user 0.00s system 12% cpu 0.349 total

И:

$ ssh localhost '(sleep 1; ls /x; echo "$?" > out) > /dev/null &'; sleep 2; cat out
141  # ls by killed with SIGPIPE upon writing the error message
$ ssh localhost '(sleep 1; ls /x; echo "$?" > out) > /dev/null 2>&1 &'; sleep 2; cat out
2    # ls exited normally after writing the error on /dev/null instead
     # of a broken pipe
3
08.11.2017, 16:34
1 ответ

[EDIT :Я добавляю в конце этого ответа очень краткое обновление, через год после того, как я дал ответ здесь. Если это обновление должно быть вторым, отдельный ответ, пожалуйста, lmk. Помимо этого обновления в конце, ответ не изменился]

Ваши вопросы очень своевременны, хоть и задавали их 7 месяцев назад. И вы задали два вопроса, поэтому получили два ответа:

  1. Стоит ли пытаться заставить это работать или мне просто отправить его обратно напрямую?

Набор исправлений ядра для поддержки DisplayPort через USB -C был только что опубликован в архиве ядра Linux -здесь . Так что на данный момент вам нужно применять патчи и запускать собственное ядро, чтобы оно было, возможно, стоящим. (Это не так страшно, как может показаться на первый взгляд, поэтому я надеюсь, что вы примете во внимание это поощрение, а не наоборот ).

Второе ограничение заключается в том, что согласно этому сообщению в архиве ядра Linux -исправления подходят для аппаратных платформ, использующих контроллеры FUSB. Вскоре он также опубликует информацию о поддержке контроллеров UCSI --, и я думаю (, но не уверен ), что контроллеры Intel и ASMedia относятся к этому типу. Цитировать его:

I've tested these with a platform that has fusb302, and also with UCSI platforms. The UCSI driver will need separate support for alternate modes >that I'm not including to this series. I'm still working on it.

Другими словами, «скоро».

  1. Каков статус DP через USB–C в Linux?

Я узнал об этом из статьи в Phoronix , и в статье говорится, что мы надеемся объединить эти патчи с ядром 4.19.

Наконец, стоит отметить, что в конкретном случае DisplayPort через USB -C кабель является полностью пассивным и существует довольно зрелый стандарт, поэтому вы можете быть почти уверены, что ваш кабель будет работать после подключения. Поддержка ОС для него. Это также верно для Thunderbolt over USB -C, но не для HMDI,например :Кабель USB -C-HDMI, скорее всего, будет адаптером DP ---HDMI внутри, а сторона DP просто использует стандартный разъем USB -C.

Если вы не собираетесь заниматься исправлениями ядра, я предполагаю, что ваш кабель будет «просто работать» где-то между 3 месяцами и годом.

РЕДАКТИРОВАТЬ/ОБНОВИТЬ :Моя машина с -по -день — это ноутбук Dell 7577 Inspiron, работающий под управлением Arch Linux. У него есть порт USB -C и порт HDMI, и я запускаю на нем X/openbox с ТРИ боковыми мониторами -и -:, один из которых подключен стандартным/стандартным кабелем HDMI, а другой — со стандартным/стандартным кабелем USB -C -— -DisplayPort. «Три монитора с Arch Linux и этот конкретный ноутбук Dell :. Он просто работает». Кажется, предсказание, которое я сделал в последнем предложении исходного ответа, оказалось точным.

При этом есть два важных небольших предостережения/ниты, которые я обязательно учел бы, если бы покупал машину сегодня и хотел такую ​​конфигурацию мониторов:

  1. Я считаю всю архитектуру «гибрид/смешанная/двойная дискретная и интегрированная видеокарта» сложной для понимания и управления. Это больно, но возможно (едва ). В системах Dell эта архитектура называется «Optimus», и то, как вы ее настроите, будет иметь огромное влияние на тип видеофункций и производительность, которые вы получите. Я понимаю, что говорю очень обобщенно, но нет ничего, что было бы верно для всех настроек. По сути :, если вы ищете машину, имеющую И встроенный графический процессор, и дискретный графический процессор, проведите некоторое исследование, чтобы убедиться, что ОС, которую вы собираетесь установить, может поддерживать конфигурацию, которую вы хотите использовать.

  2. В частности, кажется, что многие (большинство? все? )современные ноутбуки жестко -подключают каждый выходной порт монитора ровно к ОДНОМУ из двух графических процессоров. Так, например,если ноутбук со встроенным -ЖК-дисплеем жестко -подключен к встроенному графическому процессору, то каждый раз, когда вы используете дискретный графический процессор NVIDIA или Radeon с приложением, каждый кадр в конце будет скопирован на встроенный графический процессор в для того, чтобы на самом деле отображаться на экране. Вполне может быть, что прирост производительности от дискретного графического процессора настолько огромен, что эта дополнительная копия является незначительной платой. Но это может быть не так; и даже если это так, интенсивные пользователи дискретной мощности графического процессора -часто относятся к тому типу людей, которые не любят платить даже самую незначительную цену.

Я не настоящий эксперт, но я думаю, что именно здесь Linux поддерживает три монитора сегодня. (Если под «тремя мониторами» подразумевается «одновременное использование встроенного -ЖК-экрана и двух портов для внешних мониторов на ноутбуке».

15
27.01.2020, 21:10

Теги

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