Правило Udev не может выполнить команду VLC, с терминала оно работаетLinux

Ответить Пред. темаСлед. тема
Anonymous
 Правило Udev не может выполнить команду VLC, с терминала оно работает

Сообщение Anonymous »

Я пишу простое решение, в котором при подключении USB-накопителя к системе видео автоматически начинают воспроизводиться с него по порядку. Для простоты в приведенном ниже примере я воспроизвожу только постоянное видео, которое уже есть на моем компьютере.
Я настроил правило udev для выполнения сценария оболочки от имени пользователя ( который называется администратором):

Код: Выделить всё

ACTION=="add", RUN+="/bin/su admin -c '/home/admin/Desktop/test/test.sh'"
Данный сценарий оболочки затем регистрирует и вызывает файл Python:

Код: Выделить всё

#!/bin/bash

python3 /home/admin/Desktop/test/play_vids.py >> /home/admin/Desktop/test/logs.txt 2>&1 || echo "Error executing play_vids.py" >> /home/admin/Desktop/test/logs.txt
Затем файл Python выполняет логику воспроизведения видео. Обратите внимание, что он все еще находится на ранней стадии проверки концепции.

Код: Выделить всё

import os
import subprocess
import pyudev

video_dir = "/home/admin/Desktop/test"
video_exts = ['.mp4', '.avi', '.mkv', '.mov']

video_files = [f for f in os.listdir(video_dir) if any(f.endswith(ext) for ext in video_exts)]
video_files.sort()

for video_file in video_files:
subprocess.call(['cvlc', '--fullscreen', os.path.join(video_dir, video_file)])
Вот в чем проблема. Запуск сценария оболочки или файла Python вручную из терминала воспроизводит видео, как и ожидалось. Подключение USB-накопителя также доходит до конца файлов Python, однако в этом случае видео не воспроизводится. Я получаю некоторые ошибки, связанные с VLC, в моем файле logs.txt:

Код: Выделить всё

[000055565091ff00] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[0000555650991d80] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
[0000555650991d80] main interface error: no suitable interface module
[000055565084d560] main libvlc error: interface "dbus,none" initialization failed
[000055565095db60] main interface error: no suitable interface module
[000055565084d560] main libvlc error: interface "globalhotkeys,none" initialization failed
[00005556508f2180] dummy interface: using the dummy interface module...
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
error: XDG_RUNTIME_DIR is invalid or not set in the environment.
[00007ffea8002d20] gles2 generic error: parent window not available
[00007ffea8002d20] xcb generic error: window not available
[00007ffea80013f0] mmal_xsplitter vout display: Try drm
[00007ffea8002d20] drm_vout generic: 

Подробнее здесь: [url]https://stackoverflow.com/questions/78355821/udev-rule-fails-to-execute-vlc-command-from-terminal-it-works[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сформулируйте файл systemd .link как простое правило udev или переименуйте сетевой интерфейс без MAC-адреса.
    Anonymous » » в форуме Linux
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Выполнить команду терминала в Python
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Правило цены каталога Magento и правило корзины — количество равно или больше 1
    Гость » » в форуме Php
    0 Ответы
    145 Просмотры
    Последнее сообщение Гость
  • Как отладить правила udev?
    Anonymous » » в форуме Linux
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Драйвер акселерометра kxcjk1013 использует идентификационную матрицу, несмотря на то, что правила hwdb и udev определяют
    Anonymous » » в форуме Linux
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»