Четверг , Ноябрь 16 2017
Главная / Linux / Проблемы доступа к устройствам в Linux

Проблемы доступа к устройствам в Linux

Досадно обнаружить, как установленное тобой приложение, работающее с периферийными устройствами, вдруг «радует» сообщением, что нет прав на доступ к этим устройствам, и успешно запускается только с правами суперпользователя. Например, если бы подобное произошло с tvtime в отношении видеокарты, пользователь столкнулся бы с таким сообщением в консоли:

videoinput: Cannot open capture device /dev/video0: Permission denied

Первым делом следует проверить группы доступа к устройству:

$ ls -l /dev/video0

Ожидаемо ты обнаруживаешь среди них root и video, но не обнаруживаешь в последней себя (user), выполнив проверку командой

$ groups

Естественное решение — добавить пользователя (user) в группу (video) любой из доступных команд:

$ sudo usermod -a -G video user
$ sudo useradd -a -G video user
$ sudo gpasswd -a user video

По завершении команды нужно перезайти в систему.

Ошибки размонтирования

Каждый знает, что прежде, чем вынуть флешку из USB-разъема, нужно выполнить команду (или нажать значок) размонтирования. Не всегда эта команда завершается успешно, и в ответ ты можешь получить сообщение наподобие:

Error unmounting block device 8:17: GDBus.Error:org.freedesktop.UDisks2.Error.DeviceBusy: Error unmounting /dev/sdb1: target is busy

Оно говорит о том, что некое приложение все еще использует носитель /dev/sdb1. Чтобы определить это приложение, нужно найти, куда смонтирован /dev/sdb1:

$ mount | grep /dev/sdb1

А затем выполнить такую команду:

$ lsof +D /путь_к_точке_монтирования

Или такую:

$ fuser -m /путь_к_точке_монтирования

Останется только закрыть приложение, в крайнем случае убить процесс и спокойно размонтировать носитель. С помощью fuser это можно сделать, что называется, на месте:

$ fuser -k -m /путь_к_точке_монтирования

В самом крайнем случае можно не убивать приложение, а размонтировать ФС принудительно:

$ sudo umount -f -l /путь_к_точке_монтирования
доступа к устройствам в Linux
Размонтирование устройства, занятого процессом

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *