.TH CDEMU 1 "February 2026" .SH "نام (NAME)" cdemu \- کلاینت خط فرمانی ساده برای CDEmu .SH "خلاصه دستور (SYNOPSIS)" .B cdemu [options] .SH "توضیحات (DESCRIPTION)" این برنامه cdemu است، یک کلاینت خط فرمانی برای کنترل دیمن CDEmu. این ابزار بخشی از مجموعه cdemu است که یک شبیه‌ساز دستگاه‌های CD/DVD-ROM رایگان و تحت مجوز GPL برای لینوکس می‌باشد. .PP این کلاینت روشی برای انجام وظایف کلیدی مربوط به کنترل دیمن CDEmu فراهم می‌کند؛ از جمله بارگذاری و تخلیه دستگاه‌ها، نمایش وضعیت دستگاه‌ها و بازیابی یا تنظیم ماسک‌های اشکال‌زدایی دستگاه‌ها. .PP هنگام اتصال به دیمن، کلاینت cdemu می‌تواند از گذرگاه نشست (session bus) یا گذرگاه سیستم (system bus) استفاده کند. به طور پیش‌فرض، از گذرگاه نشست استفاده می‌کند. گذرگاه پیش‌فرضی که باید استفاده شود را می‌توان از طریق فایل ‎/etc/cdemu-client.conf‎ یا ‎~/.cdemu-client‎ مشخص کرد؛ برای اطلاعات بیشتر، لطفاً فایل README را بخوانید. پیش‌فرض را می‌توان با استفاده از گزینه .B --bus نادیده گرفت و جایگزین کرد. .SH "پشتیبانی از ایمیج‌های رمزگذاری‌شده (ENCRYPTED IMAGES SUPPORT)" دیمن CDEmu از ایمیج‌های رمزگذاری‌شده پشتیبانی می‌کند. هنگامی که برای بارگذاری یک ایمیج به گذرواژه نیاز باشد، cdemu-client آن را از کاربر درخواست کرده و سپس به دیمن ارسال می‌کند. .PP با این حال، توجه داشته باشید که گذرواژه به صورت یک رشته متنی خام و بدون هیچ‌گونه محافظتی از طریق D-Bus ارسال می‌شود. .PP سازوکار درخواست گذرواژه به این صورت پیاده‌سازی شده است: اگر متغیر محیطی \fBCDEMU_ASKPASS\fR تنظیم شده باشد، گذرواژه با اجرای یک زیرفرایند با دستور مشخص‌شده در متغیر محیطی مذکور به دست می‌آید. در غیر این صورت، اگر کلاینت از یک کنسول اجرا شده باشد (ورودی استاندارد در دسترس باشد)، از کنسول برای درخواست گذرواژه استفاده می‌شود. اگر کنسول در دسترس نباشد، دستور موجود در متغیر محیطی \fBSSH_ASKPASS\fR (در صورت تنظیم بودن آن متغیر) استفاده می‌شود. در غیر این صورت، امکان دریافت گذرواژه وجود نخواهد داشت و خطا ایجاد می‌شود. .SH "یکپارچه‌سازی اختیاری با ZENITY (OPTIONAL INTEGRATION WITH ZENITY)" یکپارچه‌سازی اختیاری با \fBzenity\fR را می‌توان با تنظیم متغیر محیطی \fBCDEMU_USE_ZENITY\fR روی مقداری غیر از 0 فعال کرد. .PP در این حالت، کلاینت cdemu از کادر محاوره‌ای ورودی گذرواژه ارائه‌شده توسط \fBzenity\fR استفاده می‌کند تا هنگام تلاش برای بارگذاری یک ایمیج رمزگذاری‌شده، گذرواژه را از کاربر درخواست کند. این کار عملاً سازوکار ذکرشده در بخش قبل را دور می‌زند (یعنی فارغ از متغیرهای محیطی دیگر و در دسترس بودن ورودی استاندارد، همیشه از کادر محاوره‌ای \fBzenity\fR برای درخواست گذرواژه استفاده می‌شود). .PP به طور مشابه، علاوه بر چاپ خطاها در جریان خروجی خطای استاندارد (stderr)، از کادر محاوره‌ای خطای ارائه‌شده توسط \fBzenity\fR نیز برای گزارش خطاها استفاده می‌شود. توجه داشته باشید که کادر محاوره‌ای خطا اجرای برنامه را تا زمانی که کاربر پیام را تأیید کرده و کادر را ببندد، متوقف می‌کند. .PP این حالت در درجه اول برای سناریوهایی در نظر گرفته شده است که کلاینت cdemu برای پیاده‌سازی اقداماتی به کار می‌رود که بدون اتصال به کنسول اجرا می‌شوند، اما ممکن است به ورودی کاربر (گذرواژه) نیاز داشته باشند یا لازم باشد پیام‌های خطا را گزارش دهند. نمونه‌ای از این سناریو، پیاده‌سازی اقدام «بارگذاری با کلاینت CDEmu» برای محیط‌های رومیزی و مرورگرهای فایل است. .SH "گزینه‌ها (OPTIONS)" .TP .B -h --help نمایش پیام راهنما. اگر دستور مشخص شده باشد، پیام راهنما همراه با خلاصه و توضیحات آن دستور نمایش داده می‌شود. .TP .B -v --version چاپ اطلاعات نگارش و خروج. .TP .B -b --bus تنظیم نوع گذرگاه D-BUS مورد استفاده برای اتصال. مقادیر معتبر عبارتند از \fIsession\fR و \fIsystem\fR. اگر گذرگاهی مشخص نشود، به طور پیش‌فرض از گذرگاه نشست (session bus) استفاده می‌شود. .SH "دستورات (COMMANDS)" .TP .B load [options] [...] بارگذاری دستگاه؛ \fBdevice\fR شماره دستگاه مورد نظر است، یا \fIany\fR. اگر از \fIany\fR استفاده شود، کلاینت تلاش می‌کند تا ایمیج را در نخستین دستگاه خالی که پیدا می‌کند بارگذاری نماید (به شرطی که دستگاهی موجود باشد). \fBfilename\fR نام فایل ایمیج است. برای ایمیج‌های چندفایلی، می‌توان چندین نام فایل را مشخص کرد. گزینه‌های زیر را می‌توان به دستور load ارسال کرد: .B --replace (یا \fB--unload\fR) اجازه می‌دهد دستگاه مشخص‌شده تخلیه شود، و در نتیجه عملاً ایمیج موجود در دستگاهِ از قبل بارگذاری‌شده جایگزین گردد. هنگامی که دستگاه روی \fIany\fR تنظیم شده باشد، کلاینت ابتدا روی تمام دستگاه‌ها پیمایش می‌کند و تلاش می‌نماید یک دستگاه خالی پیدا کند. اگر هیچ دستگاه خالی موجود نباشد، مجدداً روی دستگاه‌ها پیمایش کرده و تلاش می‌کند ایمیج را در نخستین دستگاهی که موفق به تخلیه آن می‌شود بارگذاری کند. در عمل، این دستگاه اغلب نخستین دستگاه خواهد بود، مگر اینکه یک قفل صریح مانع تخلیه دستگاه شود. .B --create اگر هیچ دستگاه خالی در دسترس نباشد، به کلاینت اجازه می‌دهد درخواست ایجاد یک دستگاه جدید را ارسال کند و ایمیج را در آن بارگذاری نماید. تنها زمانی کاربرد دارد که دستگاه روی \fIany\fR تنظیم شده باشد. علاوه بر گزینه‌های فوق، پارامترهای تجزیه‌کننده اختیاری زیر را نیز می‌توان از طریق گزینه‌های متناظر ارسال کرد (اینکه آیا توسط یک تجزیه‌کننده ایمیج خاص پشتیبانی می‌شوند یا خیر، به پیاده‌سازی آن تجزیه‌کننده بستگی دارد): .B --encoding امکان تعیین کدگذاری برای قالب‌های ایمیج متنی (مانند CUE) را فراهم می‌کند. در صورتی که فایل توصیف‌گر ایمیج حاوی نویسه‌های غیر اسکی باشد و از یونیکد استفاده نکند، ممکن است به این گزینه نیاز باشد. .TP .B create-blank [options] --writer_id= یک دیسک خام قابل‌رایت در دستگاه مشخص‌شده ایجاد می‌کند. \fBdevice\fR شماره دستگاه مورد نظر است یا \fIany\fR. در صورت استفاده از \fIany\fR، کلاینت تلاش می‌کند ایمیج را در نخستین دستگاه خالی موجود بارگذاری کند. \fBimage_file\fR نام فایل یا نام پایه ایمیج است. همچنین باید یک \fBwriter-id\fR معتبر ارائه شود. سایر گزینه‌های معتبر عبارتند از: .B --medium-type نوع رسانه خام را تعیین می‌کند. مقادیر معتبر عبارتند از: cdr74، cdr80، cdr90، cdr99 و dvd+r. .B --param="writer.parameter_id=parameter_value" به کاربر اجازه می‌دهد پارامترهای اضافی نویسنده ایمیج را ارسال کند. \fIparameter_id\fR باید یک شناسه پارامتر معتبر از برگه‌ی پارامترهای نویسنده ایمیج باشد که با پیشوند "writer." مشخص شده است. .TP .B unload دستگاه را تخلیه می‌کند؛ \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. .TP .B status وضعیت دستگاه‌ها را نمایش می‌دهد. .TP .B add-device یک دستگاه مجازی دیگر ایجاد می‌کند. .TP .B remove-device آخرین دستگاه مجازی را حذف می‌کند. .TP .B device-mapping اطلاعات نگاشت دستگاه‌ها را نمایش می‌دهد. .TP .B daemon-debug-mask [new-value] ماسک اشکال‌زدایی دیمن را نمایش می‌دهد یا تنظیم می‌کند؛ \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. \fBnew-value\fR مقدار جدید ماسک اشکال‌زدایی است. در صورت حذف این شناسه، ماسک اشکال‌زدایی فعلی نمایش داده می‌شود. فهرست شناسه‌ها و مقادیر پشتیبانی‌شده‌ی ماسک اشکال‌زدایی را می‌توان با دستور .B enum-daemon-debug-masks به دست آورد. \fBnew-value\fR می‌تواند یک مقدار عددی منفرد (مانند 0x03)، رشته‌ای از مقادیر عددی جداشده با نویسه pipe (مانند "0x01|0x02")، یا رشته‌ای از شناسه‌های جداشده با نویسه pipe (مانند "DAEMON_DEBUG_DEVICE|DAEMON_DEBUG_MMC") باشد. .TP .B library-debug-mask [new-value] ماسک اشکال‌زدایی کتابخانه را نمایش می‌دهد یا تنظیم می‌کند؛ \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. \fBnew-value\fR مقدار جدید ماسک اشکال‌زدایی است. در صورت حذف این آرگومان، ماسک اشکال‌زدایی فعلی نمایش داده می‌شود. فهرست شناسه‌ها و مقادیر پشتیبانی‌شده‌ی ماسک اشکال‌زدایی را می‌توان با دستور .B enum-library-debug-masks به دست آورد. \fBnew-value\fR می‌تواند یک مقدار عددی منفرد (مانند 0x03)، رشته‌ای از مقادیر عددی جداشده با نویسه pipe (مانند "0x01|0x02")، یا رشته‌ای از شناسه‌های جداشده با نویسه pipe (مانند "MIRAGE_DEBUG_PARSER|MIRAGE_DEBUG_DISC") باشد. .TP .B dpm-emulation [new-value] پرچم شبیه‌سازی DPM را نمایش می‌دهد یا تنظیم می‌کند. \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. \fBnew-value\fR مقدار جدید برای تنظیم است. در صورت حذف این آرگومان، مقدار تنظیم‌شده فعلی نمایش داده می‌شود. .TP .B tr-emulation [new-value] پرچم شبیه‌سازی نرخ انتقال داده را نمایش می‌دهد یا تنظیم می‌کند. \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. \fBnew-value\fR مقدار جدید برای تنظیم است. در صورت حذف این آرگومان، مقدار تنظیم‌شده فعلی نمایش داده می‌شود. .TP .B bad-sector-emulation [new-value] پرچم شبیه‌سازی سکتورهای خراب (bad sector) را نمایش می‌دهد یا تنظیم می‌کند. \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. \fBnew-value\fR مقدار جدید برای تنظیم است. در صورت حذف این آرگومان، مقدار تنظیم‌شده فعلی نمایش داده می‌شود. .TP .B dvd-report-css [new-value] گزارش دادن DVD بارگذاری‌شده به عنوان رمزگذاری‌شده با CSS. \fBdevice\fR شماره دستگاه مورد نظر است یا \fIall\fR. \fBnew-value\fR مقدار جدید برای تنظیم است. در صورت حذف این آرگومان، مقدار تنظیم‌شده فعلی نمایش داده می‌شود. این پرچم بر تولید ساختار جعلی دیسک 0x01 تأثیر می‌گذارد و به همین دلیل تنها با ایمیج‌های ویدئویی DVD که این اطلاعات را ارائه نمی‌دهند کار می‌کند (اکثر ایمیج‌ها، به استثنای mds/mdf، این اطلاعات را ارائه نمی‌دهند). فعال‌سازی این گزینه اجازه می‌دهد ایمیج‌های DVDهای رمزگذاری‌شده با CSS (مانند موارد ایجادشده با 'dd' یا 'readcd' بدون اجرای مرحله رمزگشایی CSS در زمان ساخت ایمیج) توسط یک پخش‌کننده چندرسانه‌ای لینوکس با قابلیت deCSS پخش شوند. .TP .B device-id [new-vendor-id] [new-product-id] [new-revision] [new-vendor-specific] شناسه دستگاه را نمایش می‌دهد یا تنظیم می‌کند. \fBdevice\fR شماره دستگاه مورد نظر است. \fBnew-vendor-id\fR رشته شناسه سازنده (vendor ID) جدید است (حداکثر ۸ نویسه). \fBnew-product-id\fR رشته شناسه محصول (product ID) جدید است (حداکثر ۱۶ نویسه). \fBnew-revision\fR رشته بازنگری (revision) جدید است (حداکثر ۴ نویسه). \fBnew-vendor-specific\fR رشته اختصاصی سازنده جدید است (حداکثر ۲۰ نویسه). در صورت حذف مقادیر جدید، مقادیر تنظیم‌شده فعلی نمایش داده می‌شوند. .TP .B enum-parsers شمارش و فهرست کردن تجزیه‌کننده‌های ایمیج پشتیبانی‌شده. .TP .B enum-writers شمارش و فهرست کردن نویسنده‌های ایمیج پشتیبانی‌شده. .TP .B enum-filter-streams شمارش و فهرست کردن جریان‌های فیلتر پشتیبانی‌شده. .TP .B enum-daemon-debug-masks شمارش و فهرست کردن ماسک‌های اشکال‌زدایی دیمن پشتیبانی‌شده. .TP .B enum-library-debug-masks شمارش و فهرست کردن ماسک‌های اشکال‌زدایی کتابخانه پشتیبانی‌شده. .TP .B enum-writer-parameters بازیابی و نمایش برگه‌ی پارامترها برای نویسنده ایمیج مشخص‌شده. .TP .B version نمایش اطلاعات نگارش. .SH "مثال‌ها (EXAMPLES)" .TP .B بارگذاری یک ایمیج تکی در نخستین دستگاه: cdemu load 0 ~/image.mds .TP .B بارگذاری ایمیج چندفایلی در نخستین دستگاه: cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc .TP .B بارگذاری ایمیج متنی با کدگذاری غیر اسکی / غیر یونیکد: cdemu load 0 ~/image.cue --encoding=windows-1250 .TP .B بارگذاری ایمیج خام یک DVD رمزگذاری‌شده با CSS ایجادشده توسط 'dd'، برای پخش با mplayer: cdemu load 0 ~/image.iso cdemu dvd-report-css 0 1 .TP .B ایجاد یک دیسک خام قابل‌رایت: DVD+R SL با نویسنده ایمیج ISO: cdemu create-blank --writer-id=WRITER-ISO --medium-type=dvd+r 0 ~/output-image.iso .TP .B ایجاد یک دیسک خام قابل‌رایت: CD-R هشتاد دقیقه‌ای با نویسنده ایمیج TOC و پارامترهای رایت اضافی: cdemu create-blank --writer-id=WRITER-TOC --medium-type=cdr80 --param="writer.write_raw=1" --param="writer.write_subchannel=1" 0 ~/output-image.toc .TP .B تخلیه نخستین دستگاه: cdemu unload 0 .TP .B نمایش وضعیت دستگاه‌ها: cdemu status .TP .B افزودن یک دستگاه دیگر: cdemu add-device .TP .B حذف آخرین دستگاه: cdemu remove-device .TP .B نمایش اطلاعات نگاشت دستگاه‌ها: cdemu device-mapping .TP .B تنظیم ماسک اشکال‌زدایی دیمن برای نخستین دستگاه: cdemu daemon-debug-mask 0 0x01 .TP .B تنظیم ماسک اشکال‌زدایی دیمن برای نخستین دستگاه (ترکیبی): cdemu daemon-debug-mask 0 "0x01|0x02" .TP .B تنظیم ماسک اشکال‌زدایی دیمن برای نخستین دستگاه (ترکیبی با نام): cdemu daemon-debug-mask 0 "DAEMON_DEBUG_DEVICE|DAEMON_DEBUG_MMC" .TP .B دریافت ماسک اشکال‌زدایی کتابخانه برای نخستین دستگاه: cdemu library-debug-mask 0 .TP .B غیرفعال کردن شبیه‌سازی DPM در تمامی دستگاه‌ها: cdemu dpm-emulation all 0 .TP .B فعال کردن شبیه‌سازی نرخ انتقال داده در نخستین دستگاه: cdemu tr-emulation 0 1 .TP .B فعال کردن شبیه‌سازی سکتورهای خراب در نخستین دستگاه: cdemu tr-emulation 0 1 .TP .B تغییر شناسه دستگاه در نخستین دستگاه: cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID" .TP .B فهرست کردن تجزیه‌کننده‌های ایمیج پشتیبانی‌شده: cdemu enum-parsers .TP .B فهرست کردن نویسنده‌های ایمیج پشتیبانی‌شده: cdemu enum-writers .TP .B فهرست کردن جریان‌های فیلتر پشتیبانی‌شده: cdemu enum-filter-streams .TP .B فهرست کردن ماسک‌های اشکال‌زدایی دیمن پشتیبانی‌شده: cdemu enum-daemon-debug-masks .TP .B فهرست کردن ماسک‌های اشکال‌زدایی کتابخانه پشتیبانی‌شده: cdemu enum-library-debug-masks .TP .B دریافت برگه‌ی پارامترها برای نویسنده ایمیج TOC: cdemu enum-writer-parameters WRITER-TOC .TP .B نمایش نگارش دیمن و کتابخانه: cdemu version .SH "نویسندگان (AUTHORS)" .PP Rok Mandeljc .PP تارنمای پروژه CDEmu: http://cdemu.sourceforge.net .PP فهرست پستی پروژه CDEmu: cdemu-devel@lists.sourceforge.net