Russian Qt Forum

Программирование => Общий => Тема начата: taifun от Февраль 09, 2011, 09:17



Название: Открытие Com-port, получение прав superuser, Linux
Отправлено: taifun от Февраль 09, 2011, 09:17
Всем, доброго утра!
      Написал приложение на Qt, которое взаимодействует с устройством через  com-port, сразу скажу что ОС linux, по этому перед тем как запустить приложение я открываю терминал, захожу под супер юзером, вожу в командной строке chmod a+rw /dev/ttyS0 - открываю доступ к файлу на чтение/запись и только потом начинаю работать с программой. А хотелось бы ограничатся только запуском программы, что бы она сама делала все необходимое. Как это можно реализовать?


Название: Re: Открытие Com-port, получение прав superuser, Linux
Отправлено: Fat-Zer от Февраль 09, 2011, 09:50
ИМХО не в ту сторону копаете...
Код:
 $ ls -l /dev/ttyS0
crw-rw---- 1 root uucp 4, 64 Фев  8 15:10 /dev/ttyS0
если юзеру нужен доступ к com-порту, то просто добавляете его в нужную группу (обычно uucp). Если устройство com-порта создаётся с правами не root:uucp, то нужно пилить настройке udev'а...


Название: Re: Открытие Com-port, получение прав superuser, Linux
Отправлено: taifun от Февраль 09, 2011, 13:17
Код:
$ ls -l /dev/ttyS0
crw-rw----. 1 root dialout 4, 64 Фев  9 16:05 /dev/ttyS0

К сожалению, я не настолько владею этой ОС, чтобы
Цитировать
пилить настройке udev'а...
. Но если это единственный вариант, то придется разобраться. И все же я думал, что этот вопрос можно решить как-то програмным способом, нет?


Название: Re: Открытие Com-port, получение прав superuser, Linux
Отправлено: Fat-Zer от Февраль 09, 2011, 14:30
Код:
$ ls -l /dev/ttyS0
crw-rw----. 1 root dialout 4, 64 Фев  9 16:05 /dev/ttyS0

К сожалению, я не настолько владею этой ОС, чтобы
Цитировать
пилить настройке udev'а...
. Но если это единственный вариант, то придется разобраться. И все же я думал, что этот вопрос можно решить как-то програмным способом, нет?
у вас просто эта группа называется dialout, так что всё в порядке ;) просто добавте своего юзера в неё и перезайдите...