प्लग इन होने पर मैं अपने USB हेडसेट को स्वचालित रूप से कैसे स्विच कर सकता हूं?


10

मैं चल रहा हूँ Funtoo लिनक्स , एक Gentoo व्युत्पन्न। मेरे दो नए प्लांट्रोनिक्स USB हेडसेट (एक वायर्ड, एक वायरलेस) अच्छी तरह से काम करते हैं। मैं एक में प्लग करता हूं, एएलएसए इसे नोटिस करता है, और यदि मैं मैन्युअल रूप से डिफ़ॉल्ट डिवाइस के बजाय इसका उपयोग करने के लिए एक एप्लिकेशन सेट करता हूं, तो यह होगा।

मुझे लगता है कि जब वर्तमान में हेडसेट मेरा डिफ़ॉल्ट इनपुट / आउटपुट बन जाएगा, और मेरे ऑन-बोर्ड स्पीकरों पर डिफ़ॉल्ट रूप से वापस आ जाएगा। मैं इस तरह के स्विच को कैसे स्वचालित कर सकता हूं?

जवाबों:


4

आप udev नियमों का उपयोग कर सकते हैं। इसके लिए, आपको डिवाइस विशेषताओं को खोजने की आवश्यकता होगी जो आपके प्लग में एक बार अपने USB हेडसेट को अलग करती हैं। यह आमतौर पर दो चरणों में किया जा सकता है:

  • भागो udevadm monitor --udevडिवाइस प्लग befor। फिर इसे प्लग करें। आउटपुट लाइनों का एक गुच्छा होगा - बस एक चुनें और इसे से डिवाइस पथ को कॉपी करें - यह कुछ ऐसा है /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0

  • हेडसेट के साथ अभी भी जुड़ा हुआ है, udevadm info --path=/your/device/path --attribute-walkकुछ विशेषताओं को खोजने के लिए उपयोग करें जो आपके डिवाइस को दूसरों (जैसे ATTR{idVendor}और ATTR{idProduct}) से अलग करते हैं ।

जब आपके पास वह है, तो आप डिवाइस को जोड़ने पर ट्रिगर होने के लिए एक udv नियम का निर्माण कर सकते हैं। /etc/udev/rules.d/ये कैसे दिखते हैं, इसके लिए फाइलों को देखें। आप जिस का निर्माण कर रहे हैं वह संभवत: समाप्त हो जाएगा RUN+="some command"। ध्यान दें कि पहचानकर्ता ( SUBSYSTEM=, ATTRS=आदि) के लाइन में प्रयुक्त सभी एक ही डिवाइस का वर्णन से आना चाहिए - का एक ही हिस्सा udevadm info --attribute-walkउत्पादन।

कार्य का दूसरा भाग उन amixerसेटिंग्स को खोजना है जो प्रत्येक परिदृश्य के लिए आपकी आवश्यकताओं के अनुरूप हैं और उन्हें एक कमांड में लपेटते हैं जिसे आप RUN+=udv नियम के हिस्से में डालेंगे। इसके साथ, मैं आपकी मदद नहीं कर सकता क्योंकि मेरे पास समान हार्डवेयर नहीं है।


3

जैसा कि कालेब ने उल्लेख किया है, पल्सएडियो आपको एक डिवाइस से दूसरे डिवाइस में माइग्रेट करने की सुविधा देता है।

मैन्युअल रूप से के बजाय स्वचालित रूप से स्विच करने के लिए, यहां वर्णित के रूप में अपने PulseAudio कॉन्फ़िगरेशन में मॉड्यूल pavucontrolजोड़ें module-switch-on-connect:

/ubuntu/158241/automatically-change-sound-input-output-device/158250#158250


1
यह भी ध्यान दें कि पीए ( pacmdऔर pactl) को नियंत्रित करने के लिए सीएलआई अंतर्निहित उपकरण हैं ।
HalosGhost

2

यदि आपके पास यह अभी तक नहीं है, pulseaudioतो आपको रूटिंग कंसोल नामक उपयोग करने के लिए वास्तव में आसान इस तरह का लचीलापन देगा pavucontrol। पसंदीदा और फालबैक डिवाइस को प्रति एप्लिकेशन और सिस्टम डिफॉल्ट्स में सेट किया जा सकता है।


1
और आउटपुट डिवाइस का परिवर्तन अनुप्रयोग के लिए पारदर्शी है (यदि यह पल्सेयुसियो का उपयोग करता है) - आपको उदाहरण के लिए आउटपुट डिवाइस के परिवर्तन के लिए एप्लिकेशन को पुनरारंभ करने की आवश्यकता नहीं है - प्लेबैक के दौरान आउटपुट डिवाइस को बदलना संभव है।
maxschlepzig

0

मैंने अभी एक प्लांट्रोनिक्स हेडसेट खरीदा है, और इसकी एक ही समस्या थी, इसे http://alsa.opensrc.org/Multipleards के द्वारा हल किया गया था :

/etc/modprobe.d/50-alsa.confडिफ़ॉल्ट आदेश सेट करने के लिए संपादित फ़ाइल:

options snd slots=snd-usb-audio,snd-hda-intel

मैंने अन्य सभी संबंधित कॉन्फ़िगरेशन भी हटा दिए हैं /etc/modprobe.d/50-sound*

मैं हेडसेट / अनप्लगइन की जाँच कर रहा हूँ और आउटपुट को देख रहा हूँ aplay -l

यह OpenSUSE 12.2 और प्लांट्रोनिक्स .Audio 655 का उपयोग कर रहा था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.