Имеет ли /sys/bus/usb/ одинаковую структуру во всех дистрибутивах Linux

Итак, после дополнительных поисков я нашел решение. Возможно, это не самое экзотическое решение, но оно работает. Оказывается, при запуске screen под fbterm цвета работают так, как и должны, прямо в фреймбуфере linux.

Чтобы заставить его работать, я убедился, что у меня есть копия GNU Screen (apt-get install screen), и скомпилировал копию FBTerm из исходников (https://code.google. com/p/fbterm/), а затем, немного поигравшись, в итоге получил вот это, чтобы добавить в мой .bashrc файл:

if [[ "`tty`" == /dev/tty* || ${SHLVL} -eq 2 ]]; then
  export TERM=fbterm
  if [ ${SHLVL} -eq 1 ]; then
    ((SHLVL+=1)); export SHLVL
    exec fbterm
  elif [ ${SHLVL} -eq 2 ]; then
    ((SHLVL+=1)); export SHLVL
    exec screen -d -R -q
  fi
fi

Если у кого-то есть улучшения, которые он хотел бы добавить, не стесняйтесь комментировать этот ответ или предлагать правку (или что-то еще).

Надеюсь, это поможет кому-то, кроме меня :)

0
19.08.2018, 13:55
1 ответ

Да, вы можете полагаться на то, что структура в /sys/bus/usb/будет одинаковой для всех дистрибутивов, потому что она зависит только от ядра, и она достаточно зрелая, поэтому вряд ли она изменится в будущих версиях ядра (, но кто знает.. ).

Однако это неправильный подход к решению вашей проблемы. Правильный подход заключается в том, чтобы включить пользовательское правило udevв ваше приложение и убедиться, что это правило udevскопировано в нужное место (, обычно /etc/udev/rules.d, но это может зависеть от дистрибутива. Если есть сомнения, пусть пользователь настроит его )во время установки. Затем правило udevможет назначить символические ссылки (, аналогичные тем, которые вы видите в /dev/disks), трем последовательным устройствам, используя любую информацию (, например. идентификатор поставщика/устройства )однозначно идентифицирует вашу плату. Ваши приложения должны использовать символические ссылки.

В крайнем случае,вы также можете использовать древовидную структуру usb -, которую вы планировали использовать для ryle. См. udevadm info --attribute-walk...для получения списка свойств, доступных для ваших устройств.

1
28.01.2020, 02:42

Теги

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