запустите приложение фляги как текущий пользователь вместо root через супервизор

Я использую супервизор для вызова и поддержания работы фляжного сервера для управления моим веб-интерфейсом, который был построен как простой видеомагнитофон.

Супервизор вызывает сервер с привилегиями суперпользователя, поэтому окончательные записанные файлы будут недоступны для текущего пользователя, поскольку ему нужно преобразовать и передать их куда-то еще в конце.

Есть ли какое-либо решение, чтобы сообщить супервизору, чтобы он запускал приложение фляги как обычный пользователь, а не root?

другая проблема связана с предварительным просмотром в реальном времени, который я реализовал для своего интерфейса. используя эту опцию, пользователь может увидеть предварительный просмотр в течение 5 секунд перед началом записи (это простой конвейер gstreamer: gst-launch v4l2src device=/dev/video1 ! jpegdec ! ffmpegcolorspace )

но после перезагрузки системы, когда я пытаюсь просмотреть этот предварительный просмотр, он терпит неудачу и дает мне эту ошибку в файле журнала:

ОШИБКА: из элемента /GstPipeline:pipeline0/GstXImageSink:ximagesink0: не удалось инициализировать вывод X. Дополнительная информация об отладке: ximagesink.c(1284): gst_ximagesink_xcontext_get (): /GstPipeline:pipeline0/GstXImageSink:ximagesink0: не удалось открыть display . /testWebcam.sh: 5: kill: такого процесса нет

Вот мой конфигурационный файл для супервизора, помещенный в /etc/supervisor/conf.d/RunFlask.conf:

[program:flask_app]                                                                     
command = python main.py                                      
directory = /dir/to/your/app                            
autostart =     true                                                                
autorestart = true

и для полноты, вот конвейер gstreamer, который я использую для записи:

nohup gst-launch-1.0 v4l2src do-timestamp=true device=/dev/video0  ! 'video/x-raw,format=BGR,width=1024,height=768'  ! videoconvert ! queue ! x264enc ! mux.  pulsesrc device="alsa_input.usb-Samson_Technologies_Samson_Go_Mic_Direct-00-Direct.analog-stereo" !  'audio/x-raw,rate=88200,channels=1,depth=24' !  audioconvert  !  avenc_aac compliance=experimental ! mux. matroskamux name="mux"  ! filesink location=/home/sina/Desktop/Recordings/Screen.mp4  v4l2src device=/dev/video1 ! videorate  ! 'image/jpeg,framerate=30/1,width=1920,height=1080' ! queue ! mux2. pulsesrc device="alsa_input.usb-046d_Logitech_Webcam_C930e_AAF8A63E-02-C930e.analog-stereo" ! 'audio/x-raw,rate=44100,channels=1,depth=24' !  audioconvert !  avenc_aac compliance=experimental ! queue ! mux2.  matroskamux name="mux2" !   filesink location=/home/sina/Desktop/Recordings/Webcam.mkv & 

person Sina Sh    schedule 09.11.2015    source источник


Ответы (1)


Вы можете указать пользователя в конфигурации супервизора:

[program:flask_app]
user=yourusername

Это запустит ваше фляжное приложение под данным пользователем.

person Topiks    schedule 09.11.2015