পালস অডিও কীভাবে শুরু হয়?


17

পালস অডিও সবসময় আমার সিস্টেমে চলছে এবং এটি ক্র্যাশ হয়ে গেলে বা আমি এটি মেরে ফেললে এটি সর্বদা তাত্ক্ষণিকভাবে পুনরায় শুরু হয়। যাইহোক, আমি আসলে কখনও পালস অডিও শুরু করি না ।

আমি চেক করেছি /etc/init.d/এবং /etc/X11/Xsession.d/, এবং আমি পরীক্ষা করেছি systemctl list-units -a, এবং PulseAudio কোথাও খুঁজে পাওয়া যেতে হয়।

আমাকে আসার আগে কখনও না চালিয়ে পালস অডিও কীভাবে আপাতদৃষ্টিতে যাদুকরীভাবে শুরু হয় এবং এটি মারা যাওয়ার সাথে সাথে কীভাবে তাত্ক্ষণিকভাবে পুনরায় চালু হয়?

আমি এক্সনিট এবং আই 3 উইন্ডো ম্যানেজার এবং ডালস অডিও 5 দিয়ে ডেবিয়ান 8 (জেসি) ব্যবহার করছি।

উত্তর:


15

X এবং i3 উইন্ডো পরিচালকের আগে বা পরে - ভাগ করা অবজেক্টসগুলির লাইবপুলস * পরিবারের সাথে সংযুক্ত যে কোনও প্রক্রিয়া অডিও সাবসিস্টেমের সাথে ইন্টারফেস করার প্রয়াস হিসাবে আপনার ব্যবহারকারী প্রক্রিয়া অনুসারে স্পষ্টতই পলস অডিও সার্ভারকে অটোস্পেন করতে পারে । পালস অডিওর স্রষ্টা লেনার্ট পোয়েটারিং এটি সিস্টেমড-ডেভেল মেলিং তালিকায় একটি 2015-05-29 ইমেলটিতে নিশ্চিত করেছে :

"পালসোডিও সাধারণত কোনও পরিষেবা পরিষেবা নয় তবে একটি ব্যবহারকারী পরিষেবা your যদি আপনার ব্যবহারকারীর সেশনটি সিস্টেমড দ্বারাও পুরোপুরি রূপান্তরিত না হয় (তবে এটি সম্ভাব্য নয়) সিস্টেমড এটি আরম্ভ করার সাথে মোটেই জড়িত না।

"পিএ সাধারণত সেশন সেটআপ স্ক্রিপ্ট বা পরিষেবা থেকে শুরু করা হয়। উদাহরণস্বরূপ, জিনোমে এটি জিনোম-সেশন হয়। লাইব্রেরিগুলি ব্যবহার করা হয় এবং এটি অনুপস্থিত রয়েছে তা নোট করুন এটি অন-ডিমান্ড-অন-ডিমান্ডও রয়েছে" "

উদাহরণস্বরূপ, দেবিয়ান স্ট্রেচ (টেস্টিং) এ, ওয়েব ব্রাউজার আইসউইলস দুটি লিবপুলস * শেয়ার করা বস্তুর সাথে লিঙ্ক করে: 1) libpulsecommon-7.1.so; এবং 2) libpulse.so.0.18.2:

k@bucket:~$ ps -ef | grep iceweasel
k        17318     1  5 18:58 tty2     00:00:15 iceweasel
k        17498  1879  0 19:03 pts/0    00:00:00 grep iceweasel
k@bucket:~$ sudo pmap 17318 | grep -i pulse
00007fee08377000  65540K rw-s- pulse-shm-2442253193
00007fee0c378000  65540K rw-s- pulse-shm-3156287926
00007fee11d24000    500K r-x-- libpulsecommon-7.1.so
00007fee11da1000   2048K ----- libpulsecommon-7.1.so
00007fee11fa1000      4K r---- libpulsecommon-7.1.so
00007fee11fa2000      8K rw--- libpulsecommon-7.1.so
00007fee121af000    316K r-x-- libpulse.so.0.18.2
00007fee121fe000   2044K ----- libpulse.so.0.18.2
00007fee123fd000      4K r---- libpulse.so.0.18.2
00007fee123fe000      4K rw--- libpulse.so.0.18.2

আপনি দেখতে পাচ্ছেন কোন চলমান প্রক্রিয়াগুলি লিবলপুলস * এর সাথে লিঙ্ক রয়েছে। উদাহরণস্বরূপ, প্রথমে লিবলপুলস * ভাগ করা অবজেক্টের একটি তালিকা পান, তারপরে প্রত্যেকের উপর এলএসফ চালান (দ্রষ্টব্য: এটি ডিবিয়ান স্ট্রেচ (পরীক্ষা) থেকে এসেছে, যাতে আপনার আউটপুট পৃথক হতে পারে):

sudo find / -type f -name "*libpulse*"
*snip*
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
/usr/lib/x86_64-linux-gnu/libpulse.so.0.18.2
/usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0
/usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0.0.5
/usr/lib/libpulsecore-7.1.so
/usr/lib/ao/plugins-4/libpulse.so

sudo lsof /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
COMMAND     PID       USER  FD   TYPE DEVICE SIZE/OFF   NODE NAME
gnome-she   864 Debian-gdm mem    REG  252,1   524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
gnome-set   965 Debian-gdm mem    REG  252,1   524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
gnome-set  1232          k mem    REG  252,1   524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
gnome-she  1286          k mem    REG  252,1   524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
chrome     2730          k mem    REG  252,1   524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
pulseaudi 18356          k mem    REG  252,1   524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so

এই প্রক্রিয়াগুলি পালস অডিওকে অটোস্পেন না করতে বলার জন্য, ~ / .config / পালস / ক্লায়েন্ট.conf সম্পাদনা করুন এবং লাইন যুক্ত করুন

autospawn = no

পালস অডিও এবং এর গ্রন্থাগারগুলি সাধারণত সেটিংটিকে সম্মান করে।

চলমান প্রক্রিয়াগুলির সাথে লিবিপুলস * লিঙ্ক করা পলস অডিওও এত তাড়াতাড়ি কেন পুনরুদ্ধার করতে ইঙ্গিত দেয়। ফ্রিডেস্কটপ.অর্গ পৃষ্ঠাগুলি, " রানিং পালস অডিও" এটি নিশ্চিত করেছে বলে মনে হচ্ছে:

"... সাধারণত কিছু পটভূমি অ্যাপ্লিকেশন তত্ক্ষণাত পুনরায় সংযোগ স্থাপন করবে, যার ফলে সার্ভারটি তাত্ক্ষণিকভাবে পুনরায় আরম্ভ হবে।"

আপনি কনসোল (xinit চালিয়ে) এর মাধ্যমে আই 3 উইন্ডো ম্যানেজারটি সূচিত করেছেন এবং ডিসপ্লে ম্যানেজার বা ডেস্কটপ পরিবেশ ব্যবহার করবেন না বলে মনে হচ্ছে। এই উত্তরের বাকী বিশদগুলির জন্য যারা জিনোম, কেডিএইচ ব্যবহার করে এবং তাদের জন্য আরও তথ্য দেয়।

অ্যাডিশনাল ইনফো, জিনোম / কেডিএ অটোস্টার্টের জন্য

প্যাকেজ পালস অডিও (5.0-13), দেবিয়ান জেসি (স্থিতিশীল) amd64 এ, নিম্নলিখিত চারটি সিস্টেম ফাইল ইনস্টল করে :

  1. /etc/xdg/autostart/pulseaudio-kde.desktop
  2. /etc/xdg/autostart/pulseaudio.desktop
  3. / Usr / bin / স্টার্ট-pulseaudio-X11
  4. / Usr / bin / স্টার্ট-pulseaudio-KDE

কিছু গ্রাফিকাল সেশন ম্যানেজার ব্যবহারকারী লগইনে স্বয়ংক্রিয়ভাবে ফ্রিডেস্কটপ.অর্গ অটোস্টার্ট স্ক্রিপ্টগুলি চালায়। পালস অডিও অটোস্টার্ট স্ক্রিপ্ট, পরিবর্তে গ্রাফিকাল সেশন ম্যানেজারদের উপযুক্ত পালস অডিও স্টার্টআপ স্ক্রিপ্টটি চালানোর জন্য বলে:

/usr/bin/start-pulseaudio-x11
/usr/bin/start-pulseaudio-kde

এই স্ক্রিপ্ট কল PulseAudio ক্লায়েন্ট / usr / bin / pactl যা spawns PulseAudio মডিউল, লোড হতে একটি উপজাত হিসাবে PulseAudio সার্ভার (দ্রষ্টব্য: আপনি "না" pactl শ্রদ্ধা করতে autospawn সেট আছে যদি এবং হবে না PulseAudio সার্ভার autospawn)।

আরো বিস্তারিত, FreeDesktop.org পৃষ্ঠা এ " PulseAudio রানিং "।

কিছু ডিসপ্লে ম্যানেজার ছাড়াও এবং অন্যান্য বিতরণগুলিতে, পালস অডিওও শুরু করতে পারে (উদাহরণস্বরূপ, এসডিডিএম, আর্চলিনাক্সে Though যদিও রক্ষণাবেক্ষণকারীরা এখনই এটি সমাধান করতে পারেন)।


4

পলসৌদিও একটু ডিমন। man pulseaudioবলেছে আপনি কমান্ডটি দিয়ে এটি বন্ধ করতে পারেন pulseaudio --killতবে তা পুনর্বার জন্ম নেয় it এটিকে বুট-এ শুরু করার জন্য একটি সাধারণ init স্ক্রিপ্ট রয়েছে /etc/rc2.d/S50pulseaudio। তবে আপনি যখন এটি সাধারণ লিনাক্স উপায়ে নিয়ন্ত্রণ না করার চেষ্টা করেন, কারণ এটি চালানো /etc/init.d/pulseaudio stopবন্ধ করে না। অপসারণ /etc/rc2.d/S50pulseaudioএটি বুট থেকে শুরু করতে বাধা দেয় না।

এর শ্বাসরোধের অভ্যাসটি বন্ধ করতে, খুলুন /etc/pulse/client.conf, এতে পরিবর্তন autospawn = yesকরুন autospawn = noএবং ডেমন-বাইনারি সেট করুন /bin/true। নিশ্চিত করুন যে এই রেখাগুলি নিঃসন্দেহে রয়েছে:

 autospawn = no
 daemon-binary = /bin/true

এখন আমরা সাধারণ লিনাক্স স্টার্টআপ ফাইলগুলি মোকাবেলা করতে পারি। প্রথমে মুছুন /etc/rc2.d/S50pulseaudio। অথবা আপনি এটি একটি কিল কমান্ডের নাম পরিবর্তন করতে পারেন, আপনি যদি আবার কখনও চান তবে লিঙ্কটি সংরক্ষণ করে:

$ mv /etc/rc2.d/S50pulseaudio /etc/rc2.d/K50pulseaudio

অথবা

আরও একটি সূচনার সঙ্গে প্রয়োগ করার জন্য ফাইল হতে পারে: /etc/X11/Xsession.d/70pulseaudio। জিনোম সেশন শুরু হওয়ার পরে এটি পালস শুরু হয়। আপনি এটি সংরক্ষণ করতে চান সেটিকে মুছুন বা আলাদা ডিরেক্টরিতে এটি অনুলিপি করুন এবং আবার সঠিক ফাইলের নাম যাচাই করুন। একটি কার্যকর কৌশল, যখন আপনি পালস অডিও শুরু করে এমন স্ক্রিপ্টগুলি খুঁজে পান তা হল যে বাইনারিটি তারা কল করে তা পরিবর্তন /usr/bin/pulseaudioকরা /bin/true। এটি একটি দুর্দান্ত সামান্য কার্যকর যাঁর একমাত্র কাজ হ'ল "কিছুই না, সফলভাবে"। এটি স্ক্রিপ্টগুলি সুখী রাখে এবং আপনি যদি এটি আবার পরিবর্তন করতে চান তবে এটি একটি সুবিধাজনক স্থানধারক।

এখন আপনি সমস্ত স্টার্টআপ এবং রেসওয়ানিং স্ক্রিপ্টগুলি মুছে ফেলেছেন, এখন পালস অডিও থামাতে এবং শুরু করতে নীচের কমান্ডগুলি ব্যবহার করুন।

 $ pulseaudio --kill
 $ pulseaudio --start

1
এটি কিছুটা সহায়তা করে তবে সত্যই প্রশ্নের উত্তর দেয় না। আমার এখনও এখনও ধারণা নেই যে পলস অডিও আমার সিস্টেমে প্রাথমিকভাবে কীভাবে / কোথায় / কেন চালু করবে। ডেবিয়ান 8 সিস্টেমেড ব্যবহার করে এবং যেমনটি আমি বলেছিলাম systemctl list-units -aপালস অডিওকে অন্তর্ভুক্ত করা হয়নি। xinit স্ক্রিপ্টগুলি প্রবর্তন করে /etc/X11/Xsession.dএবং উল্লিখিত হিসাবে এটিতে পালস অডিওও অন্তর্ভুক্ত নয়।
হুব্রো

আপনার পালসওডিও প্রক্রিয়াটির জন্য পিতামাতার প্রক্রিয়াটি কী?
থুশি

1
এই উত্তরের পাঠ্যটি 2010 সালের কার্লা শ্রডারের নিবন্ধ থেকে এসেছে বলে মনে হয়েছে: linuxplanet.com/linuxplanet/tutorials/7130/2 । নির্দেশিকাগুলি আর দেবিয়ান জেসি এবং পালস অডিওতে (5.0-13) প্রযোজ্য বলে মনে হয় না।
আইকেভিনস

0

থিশি / কার্লা শ্রোডার প্রদত্ত উত্তর (পরবর্তী উত্তর দেখুন) এখনও ডেবিয়ান হুইজি থেকে জেসিতে আপগ্রেড হওয়ার পরেও ঠিকঠাক কাজ করছে। আমার বুট বার্তাগুলি অনুসন্ধান করার পরে আমি নিম্নলিখিত ত্রুটি পেয়েছি (ত্রুটিটি শেষ লাইনে তালিকাভুক্ত করা হয়েছে)।

root@voylinx:/etc#journalctl -b | grep pulseaudio
Dez 31 16:19:46 voylinx rtkit-daemon[1507]: Successfully made thread 1506 of process 1506 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
Dez 31 16:19:49 voylinx rtkit-daemon[1507]: Successfully made thread 1526 of process 1506 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Dez 31 16:19:49 voylinx rtkit-daemon[1507]: Successfully made thread 1527 of process 1506 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Dez 31 16:19:49 voylinx rtkit-daemon[1507]: Successfully made thread 1528 of process 1506 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Dez 31 16:19:49 voylinx rtkit-daemon[1507]: Successfully made thread 1533 of process 1506 (/usr/bin/pulseaudio) owned by '1000' RT at priority 5.
Dez 31 16:19:50 voylinx rtkit-daemon[1507]: Successfully made thread 1548 of process 1548 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
Dez 31 16:19:50 voylinx pulseaudio[1548]: [pulseaudio] pid.c: Daemon already running.

পালসওডিও-ডেমন দু'বার শুরু হয়েছিল। একবার আরটিকিট-ডেমন দ্বারা এবং অন্যান্য সময় জিনোম / কেডিএ অটোস্টার্ট বা অন্য কোনও অ্যাপ্লিকেশন দ্বারা। যাইহোক /etc/pulse/client.conf এ সেটিং করা হচ্ছে

autospawn = no
daemon-binary = /bin/true

আমার সমস্যা সমাধান আমি যা নিশ্চিত করতে পারি না তা হ'ল কোনও /etc/rcX.d ডিরেক্টরিতে আর কোনও স্টার্টআপ স্ক্রিপ্ট নেই। খুব পরিষ্কার কারণ rtkit-daemon systemd এর মিথস্ক্রিয়া নিয়ে কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.