| KMSCON(1) | KMSCON | KMSCON(1) |
نام (NAME)
kmscon - کنسول سیستمی مبتنی بر KMS/DRM
خلاصه دستور (SYNOPSIS)
kmscon [OPTIONS...]
kmscon -l [OPTIONS...] -- /bin/login [/bin/login-OPTIONS...]
توضیحات (DESCRIPTION)
برنامه KMSCON یک کنسول سیستمی مبتنی بر KMS/DRM همراه با شبیهساز ترمینال یکپارچه برای سیستمعاملهای لینوکس است. این ابزار بهعنوان جایگزینی برای کنسول هسته لینوکس و ترمینالهای مجازی طراحی شده است.
هنگام اجرا در حالت پیشفرض، KMSCON یک ترمینال مجازی تخصیص داده و یک شبیهساز ترمینال روی آن ارائه میدهد. بنابراین میتوان از آن بهعنوان جایگزینی برای کنسول لینوکس و agetty(1) روی ترمینالهای مجازی استفاده کرد. در مقایسه با کنسول لینوکس، KMSCON مجموعهای غنی از امکانات ارتقایافته شامل پشتیبانی کامل از صفحهکلیدهای بینالمللی، پشتیبانی کامل از قلم و ورودی UTF-8، رندرینگ دارای شتاب سختافزاری، پشتیبانی از seat و قابلیتهای دیگر را ارائه میدهد.
گزینهها (OPTIONS)
گزینههای بولی هیچ آرگومانی نمیپذیرند. اگر مقدار پیشفرض true باشد، میتوانید با افزودن پیشوند no- آن گزینه را غیرفعال کنید.
گزینههای عمومی:
-h, --help
-V, --version
-v, --verbose
--debug
--silent
--configdir {/path/to/config/dir/}
گزینههای Seat:
--vt {/path/to/vt|ttyX|X}
شما نباید چندین برنامه را روی یک VT مشترک اجرا کنید، در غیر این صورت ممکن است با سیستمی مواجه شوید که پاسخگو نیست. همچنین در نظر داشته باشید که بهطور پیشفرض، KMSCON تلاش میکند از ترمینال کنترلکننده خود بهعنوان VT استفاده کند و اگر موفق نشود، سعی میکند یک VT جدید و استفادهنشده را تخصیص دهد.
--switchvt
--libseat
گزینههای نشست (Session):
--session-max {num}
--session-control
گزینههای ترمینال:
-l, --login
اگر این گزینه در فایل پیکربندی مشخص شود، آرگومان بر اساس قواعد شل POSIX به واژهها تقسیم میگردد. با قرار دادن آرگومان در گیومه تکی یا جفتی، یا با افزودن یک بکاسلش در ابتدای آن، میتوان فاصلهها را در آرگومان لحاظ کرد.
این مثال '/bin/bash -i' را در هر نشست جدید ترمینال اجرا میکند: ./kmscon --login --debug --no-switchvt -- /bin/bash -i
--oneshot
-t {term}, --term {term}
--reset-env
--issue
--issue-path
--asciicast {path}
--asciicast-loop
--backspace-delete
--sb-size {size}
--bell
--blink
گزینههای ورودی:
--xkb-model {model}
--xkb-layout {layout}
مثال برای صفحهکلید آلمانی: --xkb-layout=de
--xkb-variant {variant}
--xkb-keymap {file}
--xkb-compose-file {file}
--xkb-repeat-delay {delay}
--xkb-repeat-rate {rate}
--mouse
--soft-cursor
--dpms-timeout
میانبرها / تسخیرهای صفحهکلید (Grabs / Keyboard Shortcuts):
تمام میانبرهای صفحهکلید (در اینجا: تسخیرها یا grabs) در KMSCON را میتوان با این گزینهها تغییر داد. آرگومان چنین گزینهای فهرستی از میانبرهای صفحهکلید جداشده با ویرگول است که باید اقدام مشخصشده را فعال کنند.
برای غیرفعال کردن یک میانبر، یک آرگومان خالی (فهرست خالی) ارسال کنید. یک میانبر صفحهکلید شامل فهرستی از کلیدهای تبدیل (modifiers) است که به دنبال آن یک تککلید میآید. برای اینکه میانبر شناسایی شود، همه کلیدهای تبدیل باید هنگام فشردن کلید، پایین نگه داشته شده باشند. کلید تبدیل با '<' و '>' احاطه میشود (مانند '<shift>'). یک کلید، نام یک keysym است (مانند 'a' یا 'Return'). نامهای keysym به کوچک و بزرگی حروف حساس هستند و در صورت وارد کردن اندازه نادرست حروف، KMSCON یک نام keysym پیشنهاد میدهد. با این حال، KMSCON همیشه نمیتواند حالت درست را حدس بزند چرا که keysymهای فقطکوچک مبهم هستند.
اگر کلیدی در چیدمان صفحهکلید شما چندین keysym تولید میکند، میتوانید با الحاق کردن keysymها با '+' آنها را مطابقت دهید (مانند 'H+E+L+L+O'). این به این معنی نیست که همه کلیدهای فهرستشده باید فشرده شوند! بلکه روشی برای تطبیق کلیدهای چند-keysym است.
کلیدهای تبدیل معتبر: Shift، Control/Ctrl، Alt، Logo (کلید Windows/Apple).
--grab-scroll-up {grab}
--grab-scroll-down {grab}
--grab-page-up {grab}
--grab-page-down {grab}
--grab-zoom-in {grab}
--grab-zoom-out {grab}
--grab-session-next {grab}
--grab-session-prev {grab}
--grab-session-close {grab}
--grab-terminal-new {grab}
--grab-rotate-cw {grab}
--grab-rotate-ccw {grab}
--grab-reboot {grab}
گزینههای ویدیو (Video Options):
--drm
--hwaccel
نکته: این گزینه باید همراه با --drm فعال شود.
--gpus {all,aux,primary}
نکته: GPUهای اصلی (Primary GPUs)، پردازنده گرافیکی پیشفرض روی یک seat هستند. در هر seat همیشه فقط یک GPU اصلی وجود دارد. GPUهای کمکی (Auxiliary GPUs)، پردازندههای گرافیکی با قابلیت اتصال گرم (hot-pluggable) هستند که نمایشگرهای مستقل اضافی فراهم میکنند.
--use-original-mode
این گزینه با --mode ناسازگار است.
--mode {width}x{height}
برای استفاده از این گزینه، باید --use-original-mode غیرفعال باشد.
قابلیت Modesetting فقط در حالت DRM پشتیبانی میشود، بنابراین این گزینه در fbdev هیچ کاری انجام نمیدهد. با این حال، هنگام استفاده از fbdev همچنان میتوان از fbset برای تنظیم حالت بهصورت خارجی استفاده کرد.
سایر اجزای سیستم ممکن است برای استفاده مؤثر از حالت مورد نظر نیاز به پیکربندی داشته باشند. برای نمونه، ممکن است پارامتر هسته `video={width}x{height}` لازم باشد تا اطمینان حاصل شود که حافظه کافی برای ذخیره فریمبافرها در وضوحهای بالا وجود دارد.
--multi-monitor {clone,largest}
`clone': همه نمایشگرها اندازه یکسانی خواهند داشت. کوچکترین نمایشگر برای تعیین اندازه استفاده خواهد شد.
`largest': بزرگترین نمایشگر برای تعیین اندازه استفاده خواهد شد. سایر نمایشگرها غیرفعال خواهند شد. اگر چندین نمایشگر دارای بزرگترین اندازه باشند، از همه آنها استفاده خواهد شد.
پیشفرض: clone
--rotate {orientation}
گزینههای قلم (Font Options):
--font-engine {engine}
--font-size {pixels}
--font-name {name}
گزینههای پالت رنگ (Palette Options):
--palette {name}
--palette-black {color}
--palette-red {color}
--palette-green {color}
--palette-yellow {color}
--palette-blue {color}
--palette-magenta {color}
--palette-cyan {color}
--palette-light-grey {color}
--palette-dark-grey {color}
--palette-light-red {color}
--palette-light-green {color}
--palette-light-yellow {color}
--palette-light-blue {color}
--palette-light-magenta {color}
--palette-light-cyan {color}
--palette-white {color}
--palette-foreground {color}
--palette-background {color}
پیکربندی (CONFIGURATION)
دایرکتوری پیشفرض پیکربندی /etc/kmscon است و فایل پیکربندی اصلی /etc/kmscon/kmscon.conf نام دارد. میتوانید برای هر جایگاه (seat) یک فایل پیکربندی اضافی از طریق /etc/kmscon/{seatname}.kmscon.conf ارائه دهید. هر گزینهٔ خط فرمانی را که بتوان به KMSCON فرستاد، میتوان درون این فایلهای پیکربندی نیز قرار داد. برای نمونه:
font-name=Meslo LG M font-size=14 login=/bin/bash -i palette-foreground=255, 0, 0
گزینههای خط فرمان، گزینههای فایل پیکربندی را بازنویسی میکنند. همچنین فایلهای پیکربندی بهازای هر seat، فایل پیکربندی سراسری را بازنویسی میکنند..SH "حالت پیشفرض (DEFAULT MODE)"
در حالت پیشفرض، KMSCON به عنوان جایگزینی برای agetty(1) عمل میکند. KMSCON یک پایانه مجازی باز کرده و یک کنسول سیستم روی آن فراهم میآورد. این برنامه جایگزین linux-console روی این VT میشود. میتوانید پایانه مجازی را با گزینه --vt انتخاب کنید. KMSCON بهطور یکپارچه با ساختارهای موجود هماهنگ میشود تا بتوانید همزمان از X، Wayland یا هر سامانه گرافیکی دیگری استفاده کنید. حتی میتوانید روی تمام پایانههای مجازی دیگر از linux-console استفاده نمایید.
بهطور پیشفرض، KMSCON روی seat جاری اجرا میشود. (معمولاً seat0 است). برای seatهایی که فاقد پایانههای مجازی هستند، KMSCON بهطور خودکار فعال شده و بهصورت انحصاری روی آن seat اجرا میشود. اگر پایانه مجازی یا seatی که kmscon روی آن اجرا میشود از بین برود، KMSCON بهطور خودکار خارج خواهد شد.
برنامه KMSCON روی هر پایانه جدید login(1) را اجرا میکند. پس از خروج از یک نشست، KMSCON بهطور خودکار نشست بعدی را مجدداً اجرا مینماید. میتوانید برنامهای را که فراخوانی میشود با گزینه --login تغییر دهید. برای متوقف کردن kmscon، سیگنال SIGTERM را به فرایند KMSCON ارسال کنید.
ورودی صفحهکلید توسط libxkbcommon انجام میشود. این کتابخانه همان قابلیتهای سامانه صفحهکلید X11 را بدون هیچگونه وابستگی به کتابخانههای X11 فراهم میکند. برای روشهای تغییر چیدمان صفحهکلید، مدل، نرخ تکرار و موارد بیشتر، گزینههای --xkb-{option} را ببینید. به عنوان مثال --xkb-layout=de چیدمان صفحهکلید را به آلمانی تغییر میدهد.
برنامه KMSCON از KMS/DRM برای دسترسی به دستگاههای گرافیکی استفاده میکند (مشابه کاری که X-Server انجام میدهد). در مقایسه با کنسول لینوکس، این سازوکار به KMSCON اجازه میدهد تا رندر قلم (font-rendering) بسیار بهتر و کنترل نمایشگر پیشرفتهتری ارائه دهد. با این حال، برای سازگاری با گذشته، KMSCON میتواند از دستگاههای fbdev نیز استفاده کند. دستگاههای گرافیکی با قابلیت اتصال گرم به عنوان دستگاههای کمکی (auxiliary) علامتگذاری میشوند و GPUهای اصلی در یک seat به عنوان اصلی (primary) علامت میخورند. سایر GPUها بدون علامت باقی میمانند. بهطور پیشفرض KMSCON از تمام دستگاههای گرافیکی استفاده میکند، اما میتوانید با استفاده از گزینه --gpus آن را محدود به استفاده از دستگاههای اصلی یا کمکی کنید.
نشستها (SESSIONS)
اگر KMSCON روی یک seat فعال باشد، مدیر نشست داخلی بیدار میشود. در بیشتر مواقع، تنها نشست پایانه (terminal-session) فعال است. میتوانید با کلیدهای میانبر بین نشستها جابهجا شوید و در زمان اجرا نشستهای پایانه را ایجاد یا حذف کنید.
نشستهای پایانه یک شبیهساز پایانه ارائه میدهند. آنها تنها نوع نشست هستند و تمام عملکردهای شبیهسازی پایانه را ارائه میکنند.
پایانههای مجازی (VIRTUAL TERMINALS)
از لحاظ تاریخی، لینوکس پایانههای مجازی (VT) را تنها روی جایگاه seat0 ارائه میدهد. دلیل این امر آن است که در هر لحظه تنها یک VT میتواند فعال باشد، اما در محیطهای چندکاربره (multi-seat) شما خواهان چندین VT فعال، یکی به ازای هر seat هستید. اجرای KMSCON روی seat0 بر روی یک VT آسان است، اما اگر بخواهید KMSCON را روی seat دیگری اجرا کنید، هیچ VTای وجود ندارد. این بدان معناست که شما روی این seatها تنها میتوانید یک برنامه اجرا کنید که از دستگاههای گرافیکی استفاده میکند. در بیشتر محیطها این برنامه X-Server است. اما اگر بخواهید KMSCON را همراه با X-Server (یا هر کارساز گرافیکی دیگر) اجرا کنید، به سازوکاری نیاز دارید تا به این کارسازها اطلاع دهد چه زمانی فعال هستند. این کار از طریق رابطهای برنامهنویسی VT روی seat0 انجام میشود. اما توجه داشته باشید اگر هسته بدون CONFIG_VT (که در دسترس بودن VTها را کنترل میکند) کامپایل شده باشد، در این صورت حتی seat0 نیز VT نخواهد داشت.
همچنین ببینید (SEE ALSO)
| October 2024 | KMSCON |