Levin, Don M CIV USA ATEC wrote:
> chmod a+rwx /dev/raw1394
> chmod a+rwx /dev/video1394/*
> allows me to run coriander as a regular user, **UNTIL** I reboot.
> Do: ls -l /dev/*1394* /dev/*1394*/*
> crw-rw---- 1 root disk 171, 0 2009-02-20 17:27 /dev/raw1394
> crw-rw---- 1 root video 171, 16 2009-02-20 17:27 /dev/video1394/0
> total 0
> crw-rw---- 1 root video 171, 16 2009-02-20 17:27 0
These character device files are created on-the-fly by udev when the
raw1394 and the video1394 driver respectively initialized themselves.
Also, the files are deleted again when the drivers are unloaded, e.g.
when you reboot or if the drivers were manually unloaded.
> Do: grep -rl 1394 /etc/udev/
OK. First check if your unprivileged user account is member of group
This command lists current user ID, current group ID, and all groups to
which the user ID belongs to. If video is not among them, run
$ sudo adduser $(id -nu) video
and then log out and log in again to let it become effective. Now you
are permanently able to access /dev/video1394/*.
To make /dev/raw1394 permanently accessible too, you have two options:
- Add your account to the disk group:
$ sudo adduser $(id -nu) disk
and log out/ log in.
However, this may be dangerous because the disk group may perform
some system management tasks which would be a security concern.
- Modify /etc/udev/rules.d/40-permissions.rules to assign raw1394 to
group video instead of disk. (Or it is in file 20-names.rules.)
Then restart the raw1394 driver to make this change effective:
# modprobe -r raw1394
# modprobe raw1394
The modprobe steps are only required for the current session; you
don't need them after future system reboots.
The second way is safer than working as disk group member. But a
drawback is that future updates of the udev package will overwrite your
change again and you need to repeat this. There may however be a file
for local rules which package updates will not overwrite:
$ ls /etc/udev/rules.d/*local*
If such a file exists and you want to use that, then it is important
that udev will evaluate it *before* the Ubuntu default rules. I.e. it
must have a low number, for example 10-local.rules.
-=====-==--= --=- =-=-=