Как запустить сыр дважды, одновременно

Использование grep с PCRE (-P):

diskutil info / | grep -Po 'Free Space:\s+\K[^(]+(?=\s+\()'
Free Space:\s+ соответствует части до желаемого выхода, \K отбрасывает совпадение [^(]+, совпадающее с желаемым выходом, нулевая ширина позиционного шаблона (f9) гарантирует, что за совпадением следуют пробелы и (.

Аналогичная логика с использованием sed:

diskutil info / | sed -r 's/.*Free Space:\s+([^(]+)\s+\(.*/\1/'

Пример:

% grep -Po 'Free Space:\s+\K[^(]+(?=\s+\()' <<<'Volume Free Space:        31.5 GB (31519584256 Bytes) (exactly 61561688 512-Byte-Units)'
31.5 GB

% sed -r 's/.*Free Space:\s+([^(]+)\s+\(.*/\1/' <<<'Volume Free Space:        31.5 GB (31519584256 Bytes) (exactly 61561688 512-Byte-Units)'
31.5 GB
0
задан 1 December 2017 в 17:45

2 ответа

Предполагая, из вашего вопроса и замечаний, что вы пользователь только для GUI.

В вашей среде GUI cheese запускается через файл с именем cheese.desktop ], вероятно, находится в $HOME/.config/cairo-dock/current_theme/launchers/cheese.desktop (или, как упражнение для ученика, где-то в дереве каталогов $HOME/.config/...), или вы можете найти оригинал в /usr/share/applications/cheese.desktop. Формат файла desktop описан в Спецификации файла рабочего стола

. Сначала создайте временную рабочую директорию и сделайте ДВУХ копий вашего cheese.desktop файла. Назовите их camera1.desktop и camera2.desktop или что угодно.

Отредактируйте camera1.desktop и camera2.desktop. В каждом файле измените строки

Exec=cheese

и

Name=cheese

на

Exec=cheese --device=/dev/camera1 Name=camera1

или

Exec=cheese --device=/dev/camera2 name=camera2

Измените ТОЛЬКО линию Exec=cheese и Name=cheese.

Когда вы довольны своими изменениями, скопируйте их обратно на $HOME/.config/cairo-dock/current_theme/launchers/, сохранив имена camera1.desktop и camera2.desktop.

Нажмите camera1, чтобы начать cheese --device=/dev/camera1 и camera2, чтобы начать cheese --device=/dev/camera1.

Примечание: Я на самом деле не пробовал это.

0
ответ дан 18 July 2018 в 02:14

Предполагая, из вашего вопроса и замечаний, что вы пользователь только для GUI.

В вашей среде GUI cheese запускается через файл с именем cheese.desktop ], вероятно, находится в $HOME/.config/cairo-dock/current_theme/launchers/cheese.desktop (или, как упражнение для ученика, где-то в дереве каталогов $HOME/.config/...), или вы можете найти оригинал в /usr/share/applications/cheese.desktop. Формат файла desktop описан в Спецификации файла рабочего стола

. Сначала создайте временную рабочую директорию и сделайте ДВУХ копий вашего cheese.desktop файла. Назовите их camera1.desktop и camera2.desktop или что угодно.

Отредактируйте camera1.desktop и camera2.desktop. В каждом файле измените строки

Exec=cheese

и

Name=cheese

на

Exec=cheese --device=/dev/camera1 Name=camera1

или

Exec=cheese --device=/dev/camera2 name=camera2

Измените ТОЛЬКО линию Exec=cheese и Name=cheese.

Когда вы довольны своими изменениями, скопируйте их обратно на $HOME/.config/cairo-dock/current_theme/launchers/, сохранив имена camera1.desktop и camera2.desktop.

Нажмите camera1, чтобы начать cheese --device=/dev/camera1 и camera2, чтобы начать cheese --device=/dev/camera1.

Примечание: Я на самом деле не пробовал это.

0
ответ дан 24 July 2018 в 17:30
  • 1
    Спасибо, но ты меня не понял. Я также являюсь пользователем cmd. Моя цель - не создавать две кнопки, которые запускают сыр с предустановленным устройством. Я хочу simulatenously запускать два окна одного и того же приложения, но разные устройства. С помощью вашего решения я нажимаю camera1 и вижу видео с камеры 1, затем нажмите camera2, и он переключится на отображение камеры 2 вместо (предполагаемого поведения), начиная новое, одновременное окно с камерой 2. Сыр выполняет чек ( видимый в его источнике), если приложение уже запущено и возвращает старое окно. Я хочу как-то обмануть его, чтобы всегда создавать новый. – Jatentaki 3 December 2017 в 13:50
  • 2
    Поскольку я только узнал об этой проверке после публикации этого вопроса, теперь это более или менее ", как я могу изменить PID Cheese / все, что он использует, чтобы идентифицировать себя, чтобы он выполнялся дважды? & Quot ;. Если это невозможно, я закрою этот вопрос, так как то, что я прошу, отключено прямо в источнике приложения. – Jatentaki 3 December 2017 в 13:56

Другие вопросы по тегам:

Похожие вопросы: