एसएसएच में मशीन चलाने पर प्रोग्राम रनिंग पल्सीडियो


10

मैं दूरस्थ रूप से (ssh के माध्यम से) एक कार्यक्रम चलाना चाहता हूं, लेकिन ऑडियो दूरस्थ मशीन पर जा रहा है जहां कार्यक्रम वास्तव में चलता है। यह सामान्य रूप से ALSA के साथ काम करेगा, लेकिन pulseaudio स्पष्ट रूप से क्लाइंट से कनेक्शन की अनुमति देने से पहले कुछ सत्र प्रमाणक की जांच करता है।

इस जाँच को कम सख्त कैसे करें?

local: $ ssh remote           # remote is running pulseaudio and has sound hardware

remote:$ paplay something.wav
Connection failure: Connection refused

pa_context_connect() failed: Connection refused
remote:$ audacious something.mp3 # opens on local's X11 display
pulseaudio: Failed to connect to server: Connection refused
pulseaudio: Failed to connect to server: Connection refused

अपडेट के लिए हंस जवाब की जाँच करें। pax11publish -rमेरे Ubuntu 19.10 पर काम करता है।
स्टीफन बोस्टन

जवाबों:



2

अपराधी यह है कि ssh सेट नहीं DBUS_SESSION_BUS_ADDRESSहोता है जिसका उपयोग Pulseaudio से कनेक्ट करने के लिए किया जाता है। एक समाधान ( इस पोस्ट के आधार पर ) मेरे लिए निम्नलिखित पंक्तियों को जोड़ना था ~/.bashrc, जो ssh पर कनेक्ट करते समय उपयोग किए जाते हैं:

if [[ -n $SSH_CLIENT ]]; then
    export DBUS_SESSION_BUS_ADDRESS=`cat /proc/$(pidof nautilus)/environ | tr '\0' '\n' | grep DBUS_SESSION_BUS_ADDRESS | cut -d '=' -f2-`
fi

यह nautilus के पीआईडी ​​का उपयोग करता है (आपको इसे बदलने की आवश्यकता हो सकती है ताकि कुछ प्रक्रिया जो हमेशा सत्र में चलती है) और इसके DBUS_SESSION_BUS_ADDRESSनिर्यात के लिए इसके पर्यावरण चर खोजता है।

इससे पल्स से जुड़े कार्यक्रम ठीक चलते हैं। अन्य कार्यक्रम सत्र डी-बस के काम के साथ-साथ ( कमांड-लाइन पर दुस्साहसी ड्राइविंग के लिए ऑडिटूल ) पर संवाद करते हैं ।


उबंटू 16.04 पर, कमांड तब से होना चाहिए export DBUS_SESSION_BUS_ADDRESS=$(sudo cat /proc/$(pidof nautilus | cut -f1 -d" ")/environ | tr '\0' '\n' | grep DBUS_SESSION_BUS_ADDRESS | cut -d '=' -f2-)जब पिडोफ प्रॉसेसिड और पैरेंट प्रॉसेसिड दोनों को लौटाता है। लेकिन मेरे मामले में, यह समाधान काम नहीं करता है; मैं अभी भी connection refusedसमस्या से ग्रस्त हूं ।
हैंस डारगन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.