۱۴۰۰/۹/۲۳ فناوری اطلاعات

کی بازار- مشکلی که اغلب سر راه کابران اوبونتو بعد از نصب آن یا آپگریدش به نسخه جدید سبز می‌شود مشکل صدا یا بهتر بگوییم خطای no-sound است. علت‌های مختلفی هم وجود دارد که این اتفاق می‌افتد. در ادامه با ما همراه شوید تا توضیح دهیم چطور می‌شود این خطا را رفع کرد. برخی‌اوقات دلیل، تنظیم ناصحیح بلندگوست یا شاید هم سخت‌افزار بخوبی پشتیبانی نمی‌شود. برای بیشتر افراد اما این خطا را خیلی راحت می‌شود رفع کرد چون اکثراً ریشه‌ی مشکل، سرویس‌هایی هستند که روی سیستم اجرا می‌شوند.

نصب کنترل ولوم برای PulseAudio

PulseAudio یک سرویس صوتی پیش‌فرض مخصوص اوبونتو و برخی پلت‌فرم‌های دیگر است. این سرویس که منبع باز بوده و معمولاً قابل‌اطمینان است برای حصول اطمینان از انتقال درست سیگنال‌ها صوتی که سیستم شما تولید می‌کند به بلندگوهایتان با درایوهای ALSA و OSS کار می‌کند.

اما درحالیکه اپ‌ها و محیط‌های دسکتاپی کنترل‌های ولوم مخصوص به خود را برای  PulseAudio دارند، به شما اجازه نمی‌دهند هر استریم پلی‌بک را جداگانه کنترل کنید. Pavucontrol به شما نظارت بیشتری روی هر دستگاه صوتی روی پی‌سی‌تان می‌دهد تا بتوانید با اسلایدرها کمی بازی کنید و اطمینان حاصل کنید که ولوم بلندگو یا هدفون شما آنطور که باید راه‌اندازی‌شده است. به منظور نصب  pavucontrol ترمینال را باز کرده و فرمان‌های زیر را وارد کنید:

pulseaudio --start

sudo apt install pavucontrol

بعد از آن pavucontrol را یا از ترمینال و یا با گشتن PulseAudio Volume Control در منوی لانچ محی دسکتاپی‌تان اجرا کنید. به تب Output Devices رفته و مطمئن شوید بلندگوهای پیش‌فرض شما انتخاب شده‌اند.

تنظیمات بلندگوی خود را چک کنید

موقع تجربه مشکلات صوتی روی دستگاه اوبونتوتان ابتدا نیاز است مشکلات کانکشن هدفون یا بلندگوی خود را چک کنید. شاید کابل صوتی به پورت اشتباهی وصل شده یا اصلاً به هیچ جا وصل نیست. اگر از دستگاه بلوتوثی استفاده می‌کنید چک کنید ببینید به طرز صحیحی جفت‌سازی شده است یا خیر. فراموش نکنید کنترل‌های ولوم دستگاه‌های خود را نیز نگاهی بیاندازید تا مطمئن شوید در سطح قابل‌قبولی هستند. همچنین می‌بایست بررسی کنید ولوم خروجی روی کامپیوترتان میوت نباشد و دستگاه خروجی درستی نیز انتخاب شده باشد.

بررسی ALSA Mixer

PulseAudio پشت ماجرا از ALSA استفاده می‌کند؛ ماژول کرنلی که مستقیماً دستگاه‌های صوتی شما را کنترل می‌کند. اگر می‌خواهید ولوم سطح ALSA شما کیفیت بهتری داشته باشد اقدامات زیر را انجام دهید:

  •         ترمینال را باز کنید.
  •         Alsamixer را تایپ کرده و کلید ENTER را فشار دهید. در ترمینال خود خروجی زیر را مشاهده خواهید کرد.
  •         با فشار دادن F6 کارت صدای صحیح خود را انتخاب نمایید. برای ما پیش‌فرض‌ها خوب کار کردند اما می‌توانید آزادانه گزینه‌های دیگر را نیز امتحان کنید.
  •         از کمان راست و چپ برای انتخاب کنترل ولوم استفاده کنید. آیتمی که در حال حاضر انتخاب شده است به رنگ قرمز در زیر نمایش داده می‌شود.
  •         کلیدهای کمان بالا و پایین نیز صدا را پایین و بالا می‌آورد.
  •         وقتی کنترل میکسر میوت باشد MM پایین نوار ولوم پدیدار می‌شود. توجه داشته باشید یک نوار می‌تواند 100% پر باشد اما میوت باشد پس حتما این موضوع را چک کنید. می‌توانید با فشار دادن کلید m یک کنترل را از حالت میوت بردارید. با این کار MM به OO تبدیل خواهد شد.
  •         به منظور خارج شدن از alsamixer دکمه Esc را بزنید.

توجه: وقتی کنترلی را صدادار یا بیصدا می‌کنید، pulseaudio ممکن است آن را بردارد و سایر کنترل‌ها را نیز صدادار و بیصدا کند. مطمئن شوید پیش از بیصدا شدن کنترل‌های مربوطه و مستر کنترل آن‌میوت شده باشد.

ALSA را ریلود کنید

چیز دیگری که می‌توانید امتحان کنید (اگر مشکل همچنان ادامه داشت) ریلود کردن ALSA است. برای انجام این کار از فرمان زیر در ترمینال استفاده کنید:

sudo alsa force-reload

خروجی باید چیزی شبیه به این عکس باشد:

وقتی انجام شد اگر هنوز مشکل بر قوت خود باقی مانده بود فرمان زیر را امتحان کنید:

pulseaudio -k && pulseaudio –D

اگر pulseaudio ثبت نکرده باشد که ماژول‌ها ریلود شده‌اند ممکن است بعد از ریلود کردن ALSA به مشکل بخورید.

اگر هنوز درگیر مشکل صوتی هستید این فرمان کوتاه و سرراست یادتان نرود:

alsactl restore

نصب مجدد ALSA و PulseAudio

اگر متودهای بالا کارساز نبود سعی کنید ALSA و  PulseAudio را به روش زیر از نو نصب کنید. ترمینال خود را باز کرده و فرمان‌های زیر را وارد کنید:

sudo apt remove --purge alsa-base pulseaudio

sudo apt install alsa-base pulseaudio

باری دیگر ALSA را ریلود کرده و کامپیوتر خود را ریبوت کنید.

عیب‌یابی پیشرفته

برای عیب‌یابی صوتی به صورت پیشرفته بعد از اینکه هر متود دیگری به در بسته خورد باید کمی پیچیده‌تر وارد عمل شویم:

خروجی شما ممکن است  ALSA را هدف گرفته باشد و نه PulseAudio را

در نهایت اگر PulseAudio خروجی را میوت کرده باشد دیگر مهم نیست ALSA چه می‌گوید. صدای بیرون آمده از دستگاه‌های شما از طریق ALSA پردازش خواهند شد و از طریق PulseAudio ارائه نخواهند گشت. برای حل این مسئله باید alsa مجبور شود به ارتباط‌گیری با PulseAudio آن هم زمانی که مستر ولوم شیفت می‌کند تا مطمئن شود مورد دوم دارد با آن همکاری می‌کند.

amixer -D pulse sset Master toggle

دستگاه‌هایی که ولوم‌شان فقط با alsa کار می‌کند به دلایل نامعلومی به PulseAudio هم ارتباط می‌گیرند.

مطمئنید مشکل فقط یک اپلیکیشن نیست؟

یک اپلیکیشن بدرفتار می‌تواند به طرق مختلفی ایراد و اشکال درست کند. شاید اصلاً بحث سر اپی باشد که بازش هم حتی نکرده‌اید. برای چک کردن این موضوع، با استفاده از کنترل صوتی خود تایپ کنید:

pacmd list-sink-inputs

اگر می‌خواهید بیشتر بدان بپردازید مورد زیر را تایپ کنید:

pacmd list-sink-inputs | grep application.name

موقع تعلیق/خواب صدا نمی‌آید

برخی‌اوقات PulseAudio با بقیه اجزای کامپیوتر شما سینک نیست و قصد ندارد از خواب بیدار شده یا از حالت تعلیق درآید. در چنین مواقعی فرمان زیر را اجرا کنید:

pasuspender /bin/true

با این کار صدا از حالت مردگی بیرون می‌آید اما خیلی هم هیجان‌زده نشوید. با ریبوت بعدی این مشکل ممکن است تکرار شود.

لطفاً راهکارهای مینیمالیستیک زیر را دنبال کنید:

درترمینال تایپ کنید:

sudo touch /etc/systemd/system/pulseaudio-sleep-fix@.service

تا فایل منیجر سرویس سیستم بسازید.

فایل را برای ادیت باز کنید:

sudo nano /etc/systemd/system/pulseaudio-sleep-fix.service

Ctrl + Shift + V را در آن پیست کنید:

[Unit]

Description=Fix PulseAudio after resume from suspend

After=suspend.target

 

[Service]

User=%I

Type=oneshot

Environment="XDG_RUNTIME_DIR=/run/user/%U"

ExecStart=/usr/bin/pasuspender /bin/true

 

[Install]

WantedBy=suspend.target

Ctrl + X را فشار دهید تا خارج شوید و در جواب این سوال که می‌خواهید تغییرات ذخیره شوند یا خیر Y را بزنید.

برای ثبت آن به عنوان سرویس سیستم‌شده فرمان زیر را تایپ کنید:

sudo systemctl enable pulseaudio-sleep-fix@your_username.service

احیاناً پک Timidity را که اجرا نمی‌کنید؟

اگر پک timidity را در اوبونتو اجرا می‌کنید ممکن است سر اجرای PulseAudio به مشکل برخورید زیرا آن پردازش صوتی را بخوبی مدیریت نمی‌کند. برای اجرای صحیح timidity آن را به استارت‌آپ اضافه کنید.

timidity -iA –Os

برای افزودن روت به گروه دسترسی پالس، فرمان زیر را اجرا کنید:

sudo usermod -a -G pulse-access root

وقتی ریبوت کردید باید مشکل صدا برطرف شده باشد. اگر هنوز مشکلی وجود داشت این است که فعلا پک timidity را از اوبونتو بردارید.

 

منبع: کی بازار (فروشگاه آنلاین نرم افزارهای اورجینال)، با دریافت انواع لایسنس‌های معتبر از تامین‌کنندگان جهانی این امکان را برای تمام کاربران فراهم آورده است تا در چند ثانیه، از خدماتی بین‌المللی لذت ببرند. در کی بازار امکان خرید لایسنس‌های اورجینال نرم افزار‌های کاربردی و امنیتی(ویندوز اورجینال، آفیس اورجینال، آنتی ویروس اورجینال، آنتی ویروس کسپرسکی، آنتی ویروس پادویش و آنتی ویروس نود 32) بصورت ارسال آنی فراهم آمده است.