Строка /etc/fstab
usbdevfs /proc/bus/usb usbdevfs devmode=0666,noauto 0 0
не означает конкретно камеру. Он предназначен для файловой системы USB-устройства, которая обеспечивает «необработанный» доступ пользовательского пространства к USB-устройствам.
Таким образом, это не означает, что ваша камера всегда будет монтироваться автоматически :это позволяет пользователю -инструменты уровня (, часто основанные на libgphoto2)для доступа к камере, поэтому никаким приложениям не потребуются специальные разрешения для доступа к нему.
Однако предложение изменить конфигурацию usbdevfs в /etc/fstab
является устаревшим советом, который, скорее всего, не нужен.
Документация для gPhoto говорит:
4.3.5. USB ports on Linux (obsoleted by udev, dirty world-writable hack)
In ancient times, before the arrival of udev, one usually needed to mount the "usbdevfs" or later "usbfs" to /proc/bus/usb. One particular mount option allowed the whole usb filesystem (i.e. all mice, card readers, and all other USB devices) to be made group or world writeable.
Obviously, this kind of “security” is no security and should thus be avoided. Additionally, since udev exists now, just use udev. You can look up how to shoot yourself in the foot with usbdevfs... where? Well, just use udev. After all, this is almost the year 2007, not 1997.
В 2018 году большинство современных дистрибутивов Linux будут автоматически предоставлять необходимые разрешения usbdevfs пользователю, входящему в систему локально, поэтому вам не придется ничего делать. Если вам нужен удаленный доступ к вашим USB-устройствам (, например. при входе через SSH ),обычно вы можете сделать это, добавив членство в определенную группу в свою учетную запись пользователя. Эта группа может называться plugdev
:. Подробности смотрите в документации к вашему дистрибутиву.
Вот команда, позволяющая сделать вашу учетную запись членом группы plugdev
:
sudo usermod -a -G plugdev
Вы можете использовать Perl:
$ perl -alpe '$_ = join " ", shift @F, sort @F' input
a x1.1 x1.10 x1.11 x1.2
b x1.10 x1.11 x1.2 x1.3
a x1.10 x1.12 x1.13 x1.20
Сценарий зацикливается на строках ввода. -a
приводит к тому, что входные строки разбиваются на пробелы в массив по умолчанию @F
. shift @F
отсекает 0-й элемент (, чтобы исключить его из сортировки ), затем sort @F
лексикографически сортирует оставшиеся элементы -по умолчанию. join " ",...
объединяет результат, разделенный пробелом.
Я думаю , что Perl sort
игнорирует вашу локаль по умолчанию, так что LC_COLLATE=C
вы получаете бесплатно.