ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

افزودن رنگ

اکثر برنامه‌های شبیه‌ساز پایانه به دنباله‌های کاراکتر غیرچاپی خاصی پاسخ می‌دهند تا مواردی مانند ویژگی‌های کاراکتر (مانند رنگ، متن پررنگ، و متن چشمک زن مخوف) و موقعیت مکان‌نما را کنترل کنند. ما موقعیت مکان نما را کمی پوشش می دهیم، اما ابتدا رنگ را بررسی می کنیم.


تصویر

سردرگمی ترمینال

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

در تلاشی برای اینکه پایانه‌ها به نوعی به زبان مشترک صحبت کنند، مؤسسه استاندارد ملی آمریکا (ANSI) مجموعه استانداردی از دنباله‌های کاراکتر را برای کنترل پایانه‌های ویدیویی ایجاد کرد. کاربران قدیمی DOS آن را به خاطر خواهند آورد AN- SI.SYS فایلی که برای فعال کردن تفسیر این کدها استفاده شد.


رنگ کاراکتر با ارسال شبیه ساز ترمینال کنترل می شود کد فرار ANSI تعبیه شده در جریان کاراکترهایی که قرار است نمایش داده شوند. کد کنترل روی صفحه نمایش "چاپ" نمی شود، بلکه توسط ترمینال به عنوان یک دستورالعمل تفسیر می شود. همانطور که در جدول بالا دیدیم، \[ و \] توالی ها برای کپسوله کردن کاراکترهای غیرچاپ استفاده می شوند. کد فرار ANSI با یک اکتال 033 (کدی که توسط کلید فرار تولید می‌شود) شروع می‌شود که با یک ویژگی کاراکتر اختیاری و به دنبال آن یک دستورالعمل دنبال می‌شود. به عنوان مثال، کد تنظیم رنگ متن به حالت عادی (خصیصه = 0)، متن سیاه:

\033[0;30 متر

در اینجا جدولی از رنگ های متن موجود است. توجه داشته باشید که رنگ‌ها به دو گروه تقسیم می‌شوند که با استفاده از ویژگی پررنگ (1) که ظاهر رنگ‌های "روشن" را ایجاد می‌کند، متمایز می‌شوند:


جدول 13-2: توالی های فرار مورد استفاده برای تنظیم رنگ های متن


دنباله

رنگ متن

دنباله

رنگ متن

\033[0;30 متر

سیاه پوست

\033[1;30 متر

خاکستری تیره

\033[0;31 متر

قرمز

\033[1;31 متر

قرمز روشن

\033[0;32 متر

سبز

\033[1;32 متر

نور سبز

\033[0;33 متر

قهوهای

\033[1;33 متر

رنگ زرد

\033[0;34 متر

آبی

\033[1;34 متر

آبی کمرنگ

\033[0;35 متر

رنگ بنفش

\033[1;35 متر

نور بنفش

افزودن رنگ


\033[0;36 متر

فیروزه ای

\033[1;36 متر

فیروزه ای روشن

\033[0;37 متر

خاکستری روشن

\033[1;37 متر

سفید


بیایید سعی کنیم یک اعلان قرمز ایجاد کنیم. ما کد فرار را در ابتدا وارد می کنیم:



$ PS1="\[\033[0;31m\]<\u@\h \W>\$ "

$

$ PS1="\[\033[0;31m\]<\u@\h \W>\$ "

$


این کار می کند، اما توجه کنید که تمام متنی که بعد از دستور تایپ می کنیم نیز قرمز است. برای رفع این مشکل، کد فرار دیگری را به انتهای فرمان اضافه می کنیم که به شبیه ساز ترمینال می گوید به رنگ قبلی بازگردد:



$ PS1="\[\033[0;31m\]<\u@\h \W>\$\[\033[0m\] "

$

$ PS1="\[\033[0;31m\]<\u@\h \W>\$\[\033[0m\] "

$


که بهتر است!

همچنین می توان رنگ پس زمینه متن را با استفاده از کدهای فهرست شده در زیر تنظیم کرد. رنگ های پس زمینه از ویژگی پررنگ پشتیبانی نمی کنند.


جدول 13-3: توالی های فرار مورد استفاده برای تنظیم رنگ پس زمینه


دنباله

رنگ پس زمینه

دنباله

رنگ پس زمینه

\033[0;40 متر

سیاه پوست

\033[0;44 متر

آبی

\033[0;41 متر

قرمز

\033[0;45 متر

رنگ بنفش

\033[0;42 متر

سبز

\033[0;46 متر

فیروزه ای

\033[0;43 متر

قهوهای

\033[0;47 متر

خاکستری روشن


ما می توانیم با اعمال یک تغییر ساده در اولین کد فرار، یک دستور با پس زمینه قرمز ایجاد کنیم:



$ PS1="\[\033[0;41m\]<\u@\h \W>\$\[\033[0m\] "

<me@linuxbox ~>$

$ PS1="\[\033[0;41m\]<\u@\h \W>\$\[\033[0m\] "

<me@linuxbox ~>$


کدهای رنگ را امتحان کنید و ببینید چه چیزی می توانید ایجاد کنید!


تصویر

توجه: علاوه بر ویژگی‌های کاراکتر معمولی (0) و پررنگ (1)، به متن نیز ممکن است ویژگی‌های زیرخط (4)، چشمک زن (5) و معکوس (7) نیز داده شود. با این حال، بسیاری از شبیه‌سازهای ترمینال، به‌خاطر حسن سلیقه، از رعایت ویژگی چشمک‌زن خودداری می‌کنند.


تصویر


برترین سیستم عامل Cloud Computing در OnWorks: