То, что вы хотите, я думаю, это udev правила.
Я на 12.04, поэтому ваш пробег может отличаться, но вот пример: вы хотите сменить switch / dev / video1 и / dev / video0. Сначала получите нужную информацию: udevadm info -a -p $(udevadm info -q path -n /dev/video0) udevadm info -a -p $(udevadm info -q path -n /dev/video1) Скопируйте обе эти огромные блоки текста в gedit Mine:
looking at device '/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/video4linux/video0': KERNEL=="video0" SUBSYSTEM=="video4linux" DRIVER=="" ATTR{name}=="USB2.0 PC CAMERA" ATTR{index}=="0" looking at parent device '/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0': KERNELS=="1-1:1.0" SUBSYSTEMS=="usb" DRIVERS=="uvcvideo" ATTRS{bInterfaceNumber}=="00" ATTRS{bAlternateSetting}==" 0" ATTRS{bNumEndpoints}=="01" ATTRS{bInterfaceClass}=="0e" ATTRS{bInterfaceSubClass}=="01" ATTRS{bInterfaceProtocol}=="00" ATTRS{supports_autosuspend}=="1" ATTRS{iad_bFirstInterface}=="00" ATTRS{iad_bInterfaceCount}=="02" ATTRS{iad_bFunctionClass}=="0e" ATTRS{iad_bFunctionSubClass}=="03" ATTRS{iad_bFunctionProtocol}=="00" looking at parent device '/devices/pci0000:00/0000:00:12.2/usb1/1-1': KERNELS=="1-1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 4" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="80" ATTRS{bMaxPower}=="320mA" ATTRS{urbnum}=="5064" ATTRS{idVendor}=="18ec" ATTRS{idProduct}=="3299" ATTRS{bcdDevice}=="0100" ATTRS{bDeviceClass}=="ef" ATTRS{bDeviceSubClass}=="02" ATTRS{bDeviceProtocol}=="01" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{speed}=="480" ATTRS{busnum}=="1" ATTRS{devnum}=="14" ATTRS{devpath}=="1" ATTRS{version}==" 2.00" ATTRS{maxchild}=="0" ATTRS{quirks}=="0x0" ATTRS{avoid_reset_quirk}=="0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="ARKMICRO" ATTRS{product}=="USB2.0 PC CAMERA" looking at parent device '/devices/pci0000:00/0000:00:12.2/usb1': KERNELS=="usb1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{bNumInterfaces}==" 1" ATTRS{bConfigurationValue}=="1" ATTRS{bmAttributes}=="e0" ATTRS{bMaxPower}==" 0mA" ATTRS{urbnum}=="324" ATTRS{idVendor}=="1d6b" ATTRS{idProduct}=="0002" ATTRS{bcdDevice}=="0302" ATTRS{bDeviceClass}=="09" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceProtocol}=="00" ATTRS{bNumConfigurations}=="1" ATTRS{bMaxPacketSize0}=="64" ATTRS{speed}=="480" ATTRS{busnum}=="1" ATTRS{devnum}=="1" ATTRS{devpath}=="0" ATTRS{version}==" 2.00" ATTRS{maxchild}=="6" ATTRS{quirks}=="0x0" ATTRS{avoid_reset_quirk}=="0" ATTRS{authorized}=="1" ATTRS{manufacturer}=="Linux 3.2.0-22-generic ehci_hcd" ATTRS{product}=="EHCI Host Controller" ATTRS{serial}=="0000:00:12.2" ATTRS{authorized_default}=="1" looking at parent device '/devices/pci0000:00/0000:00:12.2': KERNELS=="0000:00:12.2" SUBSYSTEMS=="pci" DRIVERS=="ehci_hcd" ATTRS{vendor}=="0x1002" ATTRS{device}=="0x4396" ATTRS{subsystem_vendor}=="0x1043" ATTRS{subsystem_device}=="0x8389" ATTRS{class}=="0x0c0320" ATTRS{irq}=="17" ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f" ATTRS{local_cpulist}=="0-3" ATTRS{numa_node}=="0" ATTRS{dma_mask_bits}=="32" ATTRS{consistent_dma_mask_bits}=="32" ATTRS{broken_parity_status}=="0" ATTRS{msi_bus}=="" ATTRS{companion}=="" ATTRS{uframe_periodic_max}=="100" looking at parent device '/devices/pci0000:00': KERNELS=="pci0000:00" SUBSYSTEMS=="" DRIVERS==""Вы ищете атрибуты из lsusb, которые соответствуют вашим камера:
SUBSYSTEMS=="usb"
ATTRS{idVendor}=="firsthalf"
ATTRS{idProduct}=="secondhalf"
Тогда как root вы редактируете свой /etc/udev/rules.d/25-video-device.rules Это имя относительно произвольно. Это число связано с тем, какие команды сначала обрабатываются, но всплывают во множестве поисковых запросов. Давайте просто используем его.
Mine выглядит так:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18ec", ATTRS{idProduct}=="3298", NAME:="video0", OPTIONS:="link_priority=100"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="090c", ATTRS{idProduct}=="c371", NAME:="video2"
Сохраните файл
Некоторые источники указывают как root service udev restart, но я получил жесткий замок. Поэтому просто перезагрузите его, включив его. Теперь запустите все, что не позволит вам выбрать видеоустройство. Поскольку они, вероятно, жестко связаны с использованием / dev / video0, это должно «просто работать».
По какой бы то ни было причине, по крайней мере для меня, он не будет перегружать и вытеснять существующее видео0, он просто создает два файла (может быть, по дизайну). Вы могли бы ln -sf /dev/video1 /dev/video0. Для меня устройства, которые я указал таким образом, похоже, работают. Я тестировал с guvcview.
Поздравляем, вы только что написали правило udev, чтобы преодолеть жесткий код.
Вы также можете указать запуск команд в конце этих правил udev.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18ec", ATTRS{idProduct}=="3298", NAME:="video0", OPTIONS:="link_priority=100", RUN+="ln -sf /dev/video1 /dev/video0"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="090c", ATTRS{idProduct}=="c371", NAME:="video2"
Теперь ваше видео USB занимает / dev / video0 и / dev / video1. Вы не потеряете свой встроенный, так как теперь он находится на /dev/video2.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Вы можете запустить приложение с помощью
gksudo
, чтобы запустить его в режиме суперпользователя, например. для запуска Tomboy выполните команду gksudo tomboy
. После ввода правильного пароля приложение будет запущено в режиме суперпользователя (root
). Однако, если вы хотите изменить это поведение в Меню приложений, то вы необходимо изменить строку Exec=
файла .desktop
, соответствующую приложению, добавив gksudo
после Exec=
.ie Exec=gksudo tomboy
. Вы также можете сделать это с помощью alacarte
или Menu Editor
, просто найдите нужный элемент меню приложения, перейдите в «Свойства» и отредактируйте его поле Command
и добавьте gksudo
до того, что там есть.
Невозможно защитить приложение с таким паролем.
Простое решение - использовать Linux так, как будто он предназначен: пусть никто не использует вашу учетную запись пользователя. Пароль вашей учетной записи является паролем для всех ваших данных.
Если вы все же хотите, чтобы все использовали вашу учетную запись, вы можете создать вторую учетную запись, назовем ее notes и воспользуемся ею. Затем вы можете позвонить:
su notes
tomboy
Затем будет запрашиваться пароль пользователя notes.
Или вы используете такой инструмент, как TrueCrypt, создайте зашифрованный контейнер и переместите ваши заметки там.
Невозможно защитить приложение с таким паролем.
Простое решение - использовать Linux так, как будто он предназначен: пусть никто не использует вашу учетную запись пользователя. Пароль вашей учетной записи - это пароль для всех ваших данных.
Если вы все равно хотите, чтобы все использовали вашу учетную запись, вы можете создать вторую учетную запись, назовем ее notes
и воспользуемся ею. Затем вы можете позвонить:
su notes
tomboy
Затем будет запрашиваться пароль пользователя notes
.
Или вы используете инструмент, например TrueCrypt, создаете зашифрованный контейнер и перемещаетесь ваши заметки там.
Невозможно защитить приложение с таким паролем.
Простое решение - использовать Linux так, как будто он предназначен: пусть никто не использует вашу учетную запись пользователя. Пароль вашей учетной записи - это пароль для всех ваших данных.
Если вы все равно хотите, чтобы все использовали вашу учетную запись, вы можете создать вторую учетную запись, назовем ее notes
и воспользуемся ею. Затем вы можете позвонить:
su notes
tomboy
Затем будет запрашиваться пароль пользователя notes
.
Или вы используете инструмент, например TrueCrypt, создаете зашифрованный контейнер и перемещаетесь ваши заметки там.
Невозможно защитить приложение с таким паролем.
Простое решение - использовать Linux так, как будто он предназначен: пусть никто не использует вашу учетную запись пользователя. Пароль вашей учетной записи - это пароль для всех ваших данных.
Если вы все равно хотите, чтобы все использовали вашу учетную запись, вы можете создать вторую учетную запись, назовем ее notes
и воспользуемся ею. Затем вы можете позвонить:
su notes
tomboy
Затем будет запрашиваться пароль пользователя notes
.
Или вы используете инструмент, например TrueCrypt, создаете зашифрованный контейнер и перемещаетесь ваши заметки там.
Невозможно защитить приложение с таким паролем.
Простое решение - использовать Linux так, как будто он предназначен: пусть никто не использует вашу учетную запись пользователя. Пароль вашей учетной записи - это пароль для всех ваших данных.
Если вы все равно хотите, чтобы все использовали вашу учетную запись, вы можете создать вторую учетную запись, назовем ее notes
и воспользуемся ею. Затем вы можете позвонить:
su notes
tomboy
Затем будет запрашиваться пароль пользователя notes
.
Или вы используете инструмент, например TrueCrypt, создаете зашифрованный контейнер и перемещаетесь ваши заметки там.
Невозможно защитить приложение с таким паролем.
Простое решение - использовать Linux так, как будто он предназначен: пусть никто не использует вашу учетную запись пользователя. Пароль вашей учетной записи - это пароль для всех ваших данных.
Если вы все равно хотите, чтобы все использовали вашу учетную запись, вы можете создать вторую учетную запись, назовем ее notes
и воспользуемся ею. Затем вы можете позвонить:
su notes
tomboy
Затем будет запрашиваться пароль пользователя notes
.
Или вы используете инструмент, например TrueCrypt, создаете зашифрованный контейнер и перемещаетесь ваши заметки там.