ترمینال دوست داشتنی در دسکتاپ
آوریل 30th, 2008
همه ی ما از نقش اساسی ترمینال در زندگی با خبریم. اگه بتونیم ترمینال رو در همه ی شئونات زندگی مون وارد کنیم، خیلی موفق تر خواهیم بود و زندگی لذت بخش و آسون تر میشه D:
هدف از این مقدمه ی کوتاه گیکی، معرفی یک ابزار کوچک ولی بسیار جالب و کاربردی و همچنین آموزش یک کار بسیار قشنگ با استفاده از اونه: گذاشتن ترمینال به عنوان پس زمینه ی دسکتاپ! ذوق کردین، نه؟ پس اسکرین شات ها رو داشته باشین: این و این یکی که از دسکتاپ خودمه:
همین اولش یه چیزی رو یادآوری کنم که این برنامه در اصل برای محیط Gnome طرحی شده، اما تا جایی که میدونم با نصب کتابخانه های مورد نیاز، باید تو محیط KDE هم کار کنه.
devilspie اسم این برنامه است. نویسنده برنامه اون رو اینطور معرفی کرده:
این یک window-matching utility است که از قابلیت Matched Windows در برنامهی Sawfish الهام گرفته شده و چنین قابلیتی رو به مدیر پنجرهی Metacity اضافه میکند. Devilspie میتونه طوری پیکربندی بشه که به محض ایجاد پنجرهها، در صورت وجود یک سری شرایط در آنها (که شما تعیین میکنید)، مجموعهای از عملیات را روی آنها انجام دهد. مثلا میتواند تمام پنجره های مربوط به X-Chat را در تمام workspase ها نمایش دهد.
سازنده اصلی برنامه راهنمای کاملی براش ننوشته (به جز manual برنامه)، اما اگه خواستین بهتر با طرز استفاده از برنامه و بسیاری کارهای جذاب دیگه که میشه با اون انجام داد آشنا بشید اینجا یک راهنمای بهتر هست. البته این برنامه هنوز در نسخه ی 0.22 هستش، بنابراین هنوز نباید انتظار کارایی خیلی خوبی ازش داشت.
اصول کار:
اگه دوست دارید بدونید دارین چه کار میکنین، این قسمت رو بخونین، وگرنه این قسمت رو نخونید و مستقیم برین سراغ “مراحل کار”
کلا مواد لازم برای این کار، دو تا ابزار هستن: gnome-terminal و devilspie. میخوایم یه ترمینال بدون نوار منو و نوار لغزنده و با زمینه ی شفاف داشته باشیم و کلا طوری باشه که بعنوان پس زمینه دسکتاپ جلوه کنه. پس در گنوم ترمینال چنین پروفایلی می سازیم و ترمینال رو با این پروفایل، در start up میذاریم. برای devilspie هم یه فایل پیکربندی ایجاد می کنیم که بقیه ی کارهای لازم رو روی این پنجره ترمینال انجام بده. برای لیست کامل دستورات، به manual یا همون ویکی بالا مراجعه کنین، اما دستوراتی که در اینجا استفاده می کنیم (مرحله3 که پایین تر نوشتم) رو به ترتیب شرح میدم:
- خط اول: اگر عنوان پنجره DesktopConsole بود، دستورات بعدی رو اجرا می کنه
- (wintype “utility”): نوع پنجره را از نوع “utility” تعیین میکنه (یعنی metacity با این پنجره به عنوان یه utility رفتار کنه).
- (below): این پنجره رو زیر تمامی پنجره ها قرار میده.
- (undecorate): دکوراسیونش رو کلا به هم میریزه! :-) یعنی قاب دور پنجره رو حذف میکنه.
- (pin): باعث میشه این ترمینال در همه ی دسکتاپ ها (همون workspace) باشه.
- (set_workspace 3): پنجره رو فقط در یه دسکتاپ به خصوص نشون میده، که چون من از pin استفاده کردم، این رو کامنت کردم. این و دو تا دستور بعدی رو می تونید کلا حذف کنید.
- (skip_tasklist)و(skip_pager): پنجره رو در لیست برنامه ها (مثلا تسک بار و Alt+Tab) نشون نمیده. که البته وقتی نوع پنجره رو utility انتخاب کنید، نیازی به اینها نیست.
- (geometry “15×7+500+400″): اینم که برای اندازه و موقعیت جغرافیایی ترمینال ;)
احتمالا خودتون متوجه این مطلب شدین که این کار اونطور که فکر میکردین (از راه اصولی) انجام نمیشه، به این معنی که این ترمینال جزئی از دسکتاپ شما نیست و به اون نچسبیده! مثل یه پنجره ی عادیه، با این تفاوت که شفافه و منو و نوار عنوان هم نداره، ضمن این که این ترمینال، در پنل پایین (task bar) هم نشون داده نمیشه. در نتیجه شما فکر میکنید که جزئی از دسکتاپ شماست! اما در اصل دچار یه توهم شدین ;−) این ترمینال زیر تمامی پنجره های دیگه و روی دسکتاپ (و مسلما آیکونها) قرار میگیره. برای اینکه بهتر متوجه موضوع بشین، دکمه ی show desktop رو بزنید. میبینید که terminal هم میره پایین! البته بعد از این کار اگر هر کدوم از پنجره ها رو Restore (ببخشید،Unminimize!)کنید، این ترمینال بازیگوش دوباره سر جای اولش بر میگرده، پس از این نظر مشکل زیادی وجود نداره.
مراحل کار:
1- نصب devilspie: در مخازن اوبونتو موجوده و میتونید با دستور زیر نصبش کنید. حجمش هم فقط 34KB :
sudo apt-get install devilspie
2- باید براش یک فایل “تنظیمات” بسازید:
mkdir ~/.devilspie
gedit ~/.devilspie/DesktopConsole.ds
3- این دستورات رو در این فایل paste کنید و بعدش ذخیره ی تغییرات:
(if
(matches (window_name) "DesktopConsole")
(begin
(wintype "utility")
(below)
(undecorate)
(pin)
;(set_workspace 3)
;(skip_tasklist)
;(skip_pager)
;(geometry "15x7+500+400")
)
)
هر دستوری که در این زبان (ظاهرا اسمش X−Expressions هست) با “;” شروع بشه، کامنت محسوب شده و اجرا نمیشه. من هم سطر مربوط به Geometry رو (به خاطر مشکل داشتن این دستور در توزیع اوبونتو!) غیر فعال کردم، که البته میتونین کلا حذفش کنین. به جای اون، برای مشخص کردن اندازه و موقعیت ترمینال، من از گزینه ای به همین نام در option های gnome-terminal استفاده کردم(مرحله ی 5 رو بخونید). با این کار نتیجه ی بهتری خواهید گرفت.
4- در gnome-terminal (همون ترمینال خودمون) از منو edit ، گزینه ی پروفایل رو انتخاب کنید و یک پروفایل جدید به این نام بسازید: DesktopConsole
در سربرگ general باید علامت تیک “show menubar by default…” رو بردارید.
در سربرگ scrolling مقدار گزینه ی “Scrollbar is” رو Disabled بگذارید.
و در سربرگ Effects باید “Transparent background” رو انتخاب کنید. لغزنده ی زیرش (shade ) هم مربوط به میزان شفافیت ترمینال مورد نظره که من روی صفر میذارم، البته بستگی به سلیقه داره، شما میتونید روی یک عددی مثل 10 تنظیم کنید.
5- حالا باید devilspie وترمینال رو در srart up گنوم بگذارید(جاش رو که می دونید؟ system>preference>sessions سربرگ startup):
برای اولی، این دستور رو رو باید در قسمت command وارد کنید:
devilspie -a
و برای دومی اینا رو:
gnome-terminal --window-with-profile=DesktopConsole --geometry=62x15+522+490
فقط یه نکته ای رو همینجا بگم که این اعدادی که من به عنوان geometry دادم برای دسکتاپ خودم که 1024×768 هستش مناسبه و با کلی جنگولک بازی به این اعداد رسیدم! اگه شما از رزولوشن دیگه ای استفاده می کنین، احتمالا باید کمی با این اعداد ور برین تا بتونین یه چیزی شبیه اسکرین شات من بدست بیارین. دو عدد اول طول و عرض، دو عدد دوم مولفه ی x و y. البته نمی دونم اینا بر حسب چی هستن! هر چی هست، پیکسل که نیست، گفتم در جریان باشین(البته در مورد چیزایی مثلgedit درست کار میکنه ها، ولی کلا با شبیه سازهای ترمینال درگیری داره :) )
کار تمومه، دفعه بعد که Gnome راه اندازی بشه، یک ترمینال زیبا روی دسکتاپتون دارین! میتونین Logout کنین و دوباره وارد بشید تا همین الان از نتیجه ی کارتون لذت ببرید.
البته برای داشتن یک ترمینال دم دستی و به قول فرنگی ها super handy! ابزارهای دیگر و یا شاید بهتری هم وجود داره، اما داشتن یه ترمینال (با عنایت به نقش اساسی آن در زندگی!) بلورین در میزکار ایده ی خیلی قشنگیه که نمیشه ازش گذشت، خصوصا برای تشویق تازه کارهای ظاهربینی (مثل من ;) ) که زیبایی سیستم عامل هم براشون اهمیت داره. با Devilspie دیگه ترمینال یه محیط خشک تاریک و مخوف و … نیست :D . برنامه ای به نام yakuake هم هست که در مخازن ubuntu وجود داره، البته شخصا ندیدم اما ظاهرا یه ترمینال به صورت drop down باید باشه که وقتی کرسر رو روش میبری از پنل آویزون میشه!
امیدوارم این آموزش ناچیز به درد دوستان بخوره و تونسته باشم قدمی در جهت هر چه جذاب تر کردن ترمینال بردارم :) این کار رو یه نفر تو UbuntuForums.org آموزش داده بود، که من برای نمایش بهتر، یکی دوتا تغییر کوچک دادمش.
شاید اینترمیلان (این ترمینال!) بیشتر به درد لاف زدن بخوره یا حداکثر برای کارهای کوچک. وگرنه به قول یه نفر که تو کانال اوبونتو باهاش صحبت میکردم:
to have the shell as your ACTUAL background, go kill X :D
پ ن: دوستان KDE کار، من چون kde ندارم نتونستم تو اون محیط تستش کنم، اما اگه یه وقتی تو کا دی ای جواب نداد شاکی نشین، راه حلش آسونه: به آغوش گنوم بیایید! ;-)
پ ن2: البته خود من هم از این گنوم خسته شدم. خوشحال شدین، نه!؟ فرمودیم “این” گنوم، وگرنه ما همچنان درهمون آغوش گنوم هستیم ;) این گنوم اوبونتو داره منو دیوونه می کنه. من دو سه هفته به اوبونتو فرصت میدم تا با Hardy یه گنوم درست حسابی به من نشون بده، در غیر این صورت با تمام علاقه ای که به اوبونتو دارم، مجبورم به توزیع دیگهای مهاجرت کنم >:-| (نمی دونم، شاید دبیان یا جنتو)
پ ن3: البته تصمیم گرفتم KDE رو هم در کنار گنوم شروع کنم

