.TH GPM-ROOT 1 "February 1995" .UC 4 .SH "نام (NAME)" gpm-root \- گرداننده پیشفرض gpm جهت رسم منوها بر روی پنجره ریشه .SH "خلاصه دستور (SYNOPSIS)" .B gpm-root [ .I گزینه‌ها ] .br .SH "توضیحات (DESCRIPTION)" .LP برنامه .B gpm-root برای مدیریت رویدادهای Control-Mouse جهت رسم منوها بر روی پس‌زمینه tty جاری طراحی شده است. منوهای واقعی توسط یک فایل پیکربندی در دایرکتوری خانگی کاربر تعریف می‌شوند. .LP لطفاً توجه داشته باشید که .B gpm-root باید با لینوکس نسخه 1.1.73 یا جدیدتر اجرا شود، زیرا هسته‌های پیشین فاقد برخی قابلیت‌های مدیریت صفحه‌نمایش مورد نیاز این برنامه هستند. .LP این برنامه از فایل‌های .I /dev/vcs* برای رسم بر روی صفحه کنسول استفاده می‌کند. این فایل‌ها تنها از هسته 1.1.81 به بعد در دسترس هستند. اگر این گره‌های دستگاه را ندارید، باید آن‌ها را با استفاده از .B create_vcs در دایرکتوری توزیع ایجاد کنید. این ابزار بر روی هسته‌های قدیمی‌تر از 1.1.81 اجرا نخواهد شد، زیرا فاقد قابلیت تخلیه/بازیابی (dump/restore) کامل صفحه بودند. .LP گزینه‌های خط فرمان موجود به شرح زیر است: .TP \-m \fBnumber\fP انتخاب کلید تغییردهنده (modifier) برای استفاده (به‌طور پیش‌فرض: control). کلید تغییردهنده می‌تواند به‌صورت یک عدد یا رشته نمادین ارائه شود. رشته‌های مجاز عبارتند از: .BR shift ، .BR anyAlt ، .BR leftAlt ، .B rightAlt و .BR control . .TP \-u عدم استفاده از فایل‌های پیکربندی ویژه کاربر. با فعال بودن این گزینه، تنها فایل .I /etc/gpm-root.conf به‌عنوان منبع اطلاعات پیکربندی استفاده خواهد شد. این گزینه برای آن دسته از مدیران سیستمی در نظر گرفته شده است که نگران به خطر افتادن امنیت توسط این دیمن هستند. امنیت برنامه باید کافی باشد، اما اگر نقصی پیدا کردید لطفاً آن را گزارش دهید. .TP \-D عدم ورود خودکار به حالت اجرا در پس‌زمینه هنگام شروع به کار، و ثبت پیام‌ها در جریان خطای استاندارد (stderr) به‌جای سازوکار .BR syslog . این گزینه برای اشکال‌زدایی مفید است؛ در نسخه‌های قبلی این کار از طریق یک گزینه زمان کامپایل انجام می‌شد. .TP \-V \fBverbosity increment\fP افزایش حداکثر سطح پیام‌هایی که ثبت خواهند شد. بنابراین یک آرگومان مثبت باعث می‌شود که برنامه خروجی پرجزئیات‌تری داشته باشد. همچنین می‌توان یک آرگومان منفی برای کم‌صدا کردن برنامه مشخص کرد؛ با این حال، توجه داشته باشید که طبق قواعد .BR getopt (3) یک آرگومان منفی باید بدون فاصله دقیقاً پس از گزینه قرار گیرد (یعنی .B \-V\-1 و نه .BR "\-V \-1" ). Program Arguments,,,libc. این آرگومان اختیاری است و مقدار پیش‌فرض آن 1 است. .LP هر بار که منویی رسم می‌شود، در صورت تغییر فایل پیکربندی، مجدداً تجزیه می‌شود. این امر امکان تغییر تنظیمات شخصی را بدون نیاز به فراخوانی مجدد دیمن فراهم می‌کند. .LP فایل پیکربندی واقعی را می‌توان به بهترین شکل با بررسی فایل .I /etc/gpm-root.conf سیستم خود شناخت. .fi .LP دستور زبان (syntax) این فایل در اینجا شرح داده نمی‌شود، زیرا از مثال‌های بالا کاملاً مشخص است. فاصله‌ها و خطوط جدید در تجزیه فایل نادیده گرفته می‌شوند و ساختار چیدمان فایل آزاد است. درج توضیحات در فایل مجاز است: هر علامت هش (#) که در ابتدای خط یا پس از نویسه‌های فاصله قرار گیرد، باعث می‌شود تجزیه‌کننده تمام محتوای تا انتهای آن خط را نادیده بگیرد. برای درج علامت نقل‌قول (") در رشته‌ها، پیش از آن از یک بک‌اسلش استفاده کنید. .LP توجه داشته باشید که منوهای بازگشتی (تودرتو) تا هر سطحی از بازگشت مجاز هستند. .LP کلیدواژه‌ها به سه گروه تعلق دارند: کلیدواژه button، کلیدواژه‌های cfg و کلیدواژه‌های عمل (action). همه آن‌ها در جدول زیر شرح داده شده‌اند: .TP button \fBnumber\fP \fBmenu\fP کلیدواژه .B button برای معرفی یک منو استفاده می‌شود. پس از آن شماره دکمه مربوطه (1=چپ، 2=وسط، 3=راست)، یک آکولاد باز، یک منو و یک آکولاد بسته قرار می‌گیرد. یک منو از دستورات cfg و به دنبال آن دستورات action تشکیل شده است. دستورات cfg می‌توانند به هر ترتیبی بیایند، در حالی که ترتیب دستورات action مشخص‌کننده ترتیب واقعی نمایش اعمال روی صفحه از بالا به پایین است. .LP دستورات زیر متعلق به مجموعه cfg هستند. .TP name \fBstring\fP در صورت وجود کلیدواژه name، رشته مشخص‌شده در .B string به‌عنوان نام منوی جاری استفاده خواهد شد. .TP background \fBcolor\fP این دستور برای تعیین رنگ پس‌زمینه در منوی جاری استفاده می‌شود. مقدار .B color می‌تواند با یکی از هشت رشته استاندارد black، red، cyan و غیره مشخص شود. رنگ پس‌زمینه به‌طور پیش‌فرض black (سیاه) است. .TP foreground \fBcolor\fP این دستور برای تعیین رنگ پیش‌زمینه گزینه‌های منو استفاده می‌شود. مقدار پیش‌فرض آن white (سفید) است. کلیدواژه اختیاری .B bright می‌تواند قبل از رنگ اصلی قرار گیرد. .TP border \fBcolor\fP کلیدواژه .B border برای تعیین رنگ کادر منو استفاده می‌شود. مقدار پیش‌فرض آن white است. کلیدواژه اختیاری .B bright می‌تواند قبل از رنگ اصلی قرار گیرد. .TP head \fBcolor\fP کلیدواژه .B head برای تعیین رنگ پیش‌زمینه عنوان منو استفاده می‌شود. مقدار پیش‌فرض آن white است. کلیدواژه اختیاری .B bright می‌تواند قبل از رنگ اصلی قرار گیرد. .LP دستورات زیر متعلق به مجموعه action هستند. .TP \fBstring\fP f.fgcmd \fBcmdstring\fP هنگامی که دکمه ماوس روی گزینه مربوطه در منو رها شود، .B cmdstring در صف صفحه‌کلید کنسول جاری الصاق (paste) می‌شود. این قابلیت هنوز پیاده‌سازی نشده است. .TP \fBstring\fP f.bgcmd \fBcmdstring\fP هنگامی که دکمه ماوس روی گزینه مربوطه در منو رها شود، یک پوسته .RI ( /bin/sh ) انشعاب می‌یابد تا دستور مشخص‌شده را اجرا کند، در حالی که ورودی استاندارد (stdin) به .I /dev/null و خروجی استاندارد (stdout) و خطای استاندارد (stderr) به کنسول فعال متصل هستند. .TP \fBstring\fP f.jptty \fBttynumber\fP هنگامی که دکمه ماوس روی گزینه مربوطه در منو رها شود، کنسول به شماره مشخص‌شده تغییر می‌یابد. مقدار .B ttynumber باید به‌صورت یک رشته مشخص شود. هر tty را می‌توان از این طریق در دسترس قرار داد، حتی مواردی که از طریق صفحه‌کلید قابل دسترسی نیستند. .TP \fBstring\fP f.mktty \fBttynumber\fP هنگامی که دکمه ماوس روی گزینه مربوطه در منو رها شود، یک کنسول بلااستفاده انتخاب شده و .I /sbin/mingetty در آن اجرا می‌شود. کنسول جاری به کنسول تازه بازشده تغییر می‌یابد. از این دستور می‌توان برای صرفه‌جویی در حافظه هسته با باز کردن یک کنسول واحد از طریق .I /etc/inittab و درخواست سایر کنسول‌ها تنها در زمان نیاز به ورود به سیستم (login) استفاده کرد. .TP \fBstring\fP \fBWhole-menu\fP یک منو می‌تواند مستقیماً پس از رشته برچسب بیاید. هنگامی که اشاره‌گر ماوس در سطح .B string از کادر منو خارج شود، یک منوی ثانویه بر روی صفحه نمایش داده می‌شود. .TP \fBstring\fP f.lock هنگامی که دکمه ماوس روی گزینه مربوطه در منو رها شود، صفحه‌کلید و صفحه‌نمایش قفل می‌شوند و تنها کاربر قفل‌کننده یا مدیر سیستم (superuser) می‌توانند قفل آن‌ها را باز کنند. این قابلیت هنوز پیاده‌سازی نشده است. .TP \fBstring\fP f.load میانگین بار کاری سیستم (loadavg) فعلی در هنگام نمایش منو، به .B string الحاق می‌شود تا پیام واقعی نمایان‌شده بر روی صفحه ساخته شود. هنگام رها کردن دکمه هیچ اتفاقی نمی‌افتد. .TP \fBstring\fP f.free حافظه آزاد و مقدار سواپ (swap) هنگام نمایش منو، به .B string الحاق می‌شود تا پیام واقعی نمایان‌شده بر روی صفحه ایجاد شود. هنگام رها کردن دکمه هیچ اتفاقی نمی‌افتد. .TP \fBstring\fP f.time زمان جاری با استفاده از تابع .BR strftime (3) و مطابق با .B string قالب‌بندی می‌شود. رشته حاصل پیام واقعی نمایان‌شده بر روی صفحه خواهد بود. هنگام رها کردن دکمه هیچ اتفاقی نمی‌افتد. .TP \fBstring\fP f.pipe \fBcmdline\fP هنگامی که اشاره‌گر ماوس در سطح .B string از کادر منو خارج شود، یک کادر پیام روی صفحه ظاهر می‌شود که ده خط آخر خروجی .B cmdline را نمایش می‌دهد. .B cmdline توسط .I /bin/sh اجرا می‌شود. این قابلیت هنوز پیاده‌سازی نشده است. .TP \fBstring\fP f.nop این دستور کاری انجام نمی‌دهد و تنها .B string را در منو نمایش می‌دهد. .LP متغیرهای محیطی .BR HOME ، .B LOGNAME و .B USER پیش از اجرای یک فرآیند خارجی .RB ( f.bgcmd "، " f.pipe ) به مقادیر مربوط به کاربری که برنامه را فراخوانی کرده تنظیم می‌شوند. دایرکتوری جاری همیشه .I / است. .LP .SH "اشکالات (BUGS)" .LP اشکالات شناخته‌شده برطرف شده‌اند. به‌ویژه، اگر .B gpm-root را بلافاصله پس از .B gpm اجرا کنید، چند ثانیه پیش از تلاش برای اتصال به دیمن تأخیر خواهد داشت. .LP .SH "نویسنده (AUTHOR)" Alessandro Rubini .LP .SH "فایلها (FILES)" .nf /dev/gpmctl سوکت مورداستفاده برای اتصال به gpm. /etc/gpm-root.conf فایل پیکربندی پیش‌فرض. $(HOME)/.gpm-root فایل پیکربندی کاربر. /dev/vcs* صفحه‌نمایش‌های کنسول مجازی (Virtual Console Screens) .fi .LP .SH "همچنین ببینید (SEE ALSO)" .nf \fB gpm(8) \fP .fi فایل info درباره `gpm' که اطلاعات جامع‌تری ارائه می‌دهد و نحوه نوشتن یک کلاینت gpm را شرح می‌دهد.