CDEMU-DAEMON(8) System Manager's Manual CDEMU-DAEMON(8)

cdemu-daemon - دیمن شبیه‌ساز درایو نوری CDEmu

cdemu-daemon [گزینه‌ها]

این برنامه cdemu-daemon، بخش فضای کاربری (userspace) از مجموعه cdemu است؛ یک شبیه‌ساز آزاد و تحت مجوز GPL برای درایوهای CD/DVD-ROM در لینوکس.

این دیمن دستورات SCSI را از ماژول هسته دریافت و پردازش کرده و داده‌های درخواست‌شده را به هسته بازمی‌گرداند. دیمن دستگاه مجازی واقعی را پیاده‌سازی می‌کند؛ یک نمونه به ازای هر دستگاه ثبت‌شده توسط ماژول هسته اجرا می‌شود. این برنامه از libMirage، یک کتابخانه دسترسی به ایمیج که بخشی از مجموعه cdemu است، برای دسترسی به محتوای ایمیج‌ها (مانند خواندن سکتورها) استفاده می‌کند.

این دیمن خود را روی گذرگاه سیستم یا نشست D-Bus (بسته به گزینه‌های ارائه‌شده) ثبت می‌کند و رابطی را در اختیار کلاینت‌ها قرار می‌دهد تا از طریق آن بتوانند دیمن را کنترل کنند.

فایل پیکربندی برای بارگذاری. برای جزئیات بیشتر به بخش فایل پیکربندی (CONFIGURATION FILE) مراجعه کنید.
تعداد دستگاه‌ها. تعداد دستگاه‌های مجازی را که این نمونه از دیمن باید در ماژول هسته ثبت کرده و کنترل کند مشخص می‌کند. به صورت پیش‌فرض، ۱ دستگاه مجازی ایجاد می‌شود.
دستگاه کنترلی. مسیر دستگاه کنترلی را مشخص می‌کند. دستگاه کنترلی یک دستگاه نویسه‌ای (character device) ارائه‌شده توسط ماژول هسته است که برای ارتباط میان هسته و بخش فضای کاربری مجموعه CDEmu به کار می‌رود. به صورت پیش‌فرض، مسیر /dev/vhba_ctl استفاده می‌شود.
درایور صوتی. درایور صوتی مورد استفاده برای پخش صدای دستگاه‌های مجازی را مشخص می‌کند. از آنجا که برای پخش صدا از libao استفاده می‌شود، هر درایور معتبر libao را می‌توان تعیین کرد. اگر از مقدار default استفاده شود، درایور پیش‌فرض libao به کار گرفته می‌شود. نمونه‌هایی از درایورهای معتبر libao عبارتند از alsa، oss، pulse یا null. برای تمام درایورها از دستگاه پیش‌فرض استفاده می‌شود. به صورت پیش‌فرض، در صورتی که درایور صوتی به طور صریح مشخص نشده باشد، مقدار null به کار می‌رود.
نوع گذرگاه. گزینه‌های معتبر شامل system یا session هستند. به صورت پیش‌فرض، گذرگاه نشست (session bus) استفاده می‌شود. (لطفاً توجه داشته باشید که اجرای دیمن CDEmu روی گذرگاه سیستم منسوخ تلقی شده و به دلایل امنیتی توصیه نمی‌شود).
فایل ثبت وقایع (لاگ). فایلی که خروجی وقایع در آن نوشته می‌شود. به صورت پیش‌فرض، استفاده از فایل لاگ غیرفعال بوده و پیام‌ها در خروجی استاندارد (stdout) نوشته می‌شوند.
ماسک اشکال‌زدایی پیش‌فرض برای دستگاه‌های CDEmu (در سطح پیاده‌سازی دیمن CDEmu). مقدار پیش‌فرض 0 است.
ماسک اشکال‌زدایی پیش‌فرض برای دستگاه‌های CDEmu (در سطح پیاده‌سازی libMirage). مقدار پیش‌فرض 0 است.
فعال یا غیرفعال کردن کنترل‌کننده خواب سیستم در systemd-logind. در صورت فعال بودن، دیمن تلاش می‌کند یک قفل تاخیرانداز خواب (sleep inhibitor lock) را از رابط org.freedesktop.login1.Manager متعلق به systemd-logind در مسیر /org/freedesktop/login1 روی گذرگاه سیستم دریافت نماید و یک گرداننده برای سیگنال prepare-for-sleep ثبت کند. هنگامی که سیستم در آستانه ورود به حالت تعلیق/خواب زمستانی (suspend/hibernation) است (طبق سیگنال دریافت شده)، دستگاه‌های مجازی متوقف شده و قفل بازدارنده آزاد می‌شود. پس از بازگشت سیستم به حالت عادی (طبق سیگنال دریافت شده)، قفل بازدارنده مجدداً دریافت شده و دستگاه‌های مجازی دوباره راه‌اندازی می‌شوند. این سازوکار سعی دارد مشکلاتی را کاهش دهد که در آن‌ها فعال بودن دستگاه‌های مجازی مانع از تعلیق یا هایبرنیت صحیح سیستم می‌شود. مقدار پیش‌فرض 1 است (کنترل‌کننده فعال است). اگر این قابلیت در زمان کامپایل برنامه غیرفعال شده باشد، این گزینه هیچ اثری نخواهد داشت.
-?, --help
نمایش پیام راهنما.

اجرای دیمن روی گذرگاه پیش‌فرض با درایور صوتی PulseAudio و ۴ دستگاه مجازی:

cdemu-daemon --num-devices=4 --audio-driver=pulse

اجرای دیمن روی گذرگاه سیستم با ۲ دستگاه مجازی و هدایت خروجی لاگ به یک فایل:

cdemu-daemon --num-devices=2 --bus=system --logfile=/tmp/cdemu-daemon.log

تنظیمات دیمن را می‌توان در یک فایل پیکربندی جمع‌آوری کرد که از طریق گزینه --config-file به دیمن منتقل می‌شود. فایل پیکربندی شامل جفت‌های key=value (کلید=مقدار) است که در یک بخش واحد به نام [settings] قرار دارند. کلیدهای موجود در فایل پیکربندی متناظر با نام‌های طولانی گزینه‌های خط فرمان هستند.

اگر گزینه‌ای هم در فایل پیکربندی و هم در خط فرمان مشخص شده باشد، مقدار مشخص‌شده در خط فرمان اولویت خواهد داشت.

اگر فایل پیکربندی مشخص‌شده وجود نداشته باشد، بدون نمایش پیام خطا نادیده گرفته می‌شود. اما اگر فایل نامعتبر باشد (برای مثال دارای خطای نحو بوده یا فاقد بخش‌بندی باشد)، یک خطا رخ خواهد داد.

مثال

ذخیره پیکربندی زیر در یک فایل و ارسال آن به دیمن از طریق گزینه --config-file معادل اجرای مستقیم دیمن با گزینه‌های --num-devices=2 --audio-driver=pulse خواهد بود:

[settings]
num-devices=2
audio-driver=pulse

Rok Mandeljc <rok.mandeljc@gmail.com>

صفحه وب پروژه CDEmu: http://cdemu.sourceforge.net

لیست پستی پروژه CDEmu: cdemu-devel@lists.sourceforge.net

cdemu(1)

November 19, 2025