OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

הוספת צבע

רוב תוכניות אמולטור המסוף מגיבות לרצפי תווים מסוימים שאינם מודפסים כדי לשלוט בדברים כגון תכונות אופי (כמו צבע, טקסט מודגש והטקסט המהבהב המפחיד) ומיקום הסמן. נסקור את מיקום הסמן בעוד מעט, אבל קודם נסתכל על הצבע.


תמונה

בלבול טרמינלי

עוד בימי קדם, כאשר מסופים היו מחוברים למחשבים מרוחקים, היו הרבה מותגים מתחרים של מסופים וכולם עבדו אחרת. היו להם מקלדות שונות ולכולם היו דרכים שונות לפרש מידע בקרה. למערכות Unix ו-Unix יש שתי תת-מערכות מורכבות למדי להתמודדות עם הבבל של בקרת מסוף (נקראת termcap ו מונח מידע). אם תסתכל בשקעים העמוקים ביותר של הגדרות אמולטור המסוף שלך, ייתכן שתמצא הגדרה לסוג הדמיית המסוף.

במאמץ לגרום לטרמינלים לדבר איזושהי שפה משותפת, מכון התקנים הלאומי האמריקאי (ANSI) פיתח סט סטנדרטי של רצפי תווים לשליטה במסופי וידאו. משתמשי DOS של פעם יזכרו את AN- SI.SYS קובץ ששימש כדי לאפשר פרשנות של קודים אלה.


צבע התווים נשלט על ידי שליחת אמולטור הטרמינל an קוד מילוט ANSI מוטבע בזרם התווים שיוצגו. קוד הבקרה אינו "מודפס" על הצג, אלא הוא מתפרש על ידי המסוף כהוראה. כפי שראינו בטבלה למעלה, ה \[ ו \] רצפים משמשים כדי להכיל תווים שאינם מודפסים. קוד בריחה של ANSI מתחיל באוקטלי 033 (הקוד שנוצר על ידי מפתח ה-escape), ואחריו תכונת תו אופציונלית, ואחריו הוראה. לדוגמה, הקוד להגדיר את צבע הטקסט לרגיל (תכונה = 0), טקסט שחור הוא:

\033[0;30m

להלן טבלה של צבעי טקסט זמינים. שימו לב שהצבעים מחולקים לשתי קבוצות, המובדלות על ידי יישום תכונת התווים המודגשת (1) היוצרת מראה של צבעים "בהירים":


טבלה 13- 2: רצפי בריחה המשמשים להגדרת צבעי טקסט


רצף

צבע טקסט

רצף

צבע טקסט

\033[0;30m

שחור

\033[1;30m

אפור כהה

\033[0;31m

Red

\033[1;31m

אדום בהיר

\033[0;32m

ירוק

\033[1;32m

אור ירוק

\033[0;33m

חום

\033[1;33m

צהוב

\033[0;34m

כָּחוֹל

\033[1;34m

תכלת

\033[0;35m

סָגוֹל

\033[1;35m

סגול בהיר

הוספת צבע


\033[0;36m

ציאן

\033[1;36m

ציאן קל

\033[0;37m

אפור בהיר

\033[1;37m

לבן


בוא ננסה לעשות הנחיה אדומה. נכניס את קוד הבריחה בהתחלה:



$ 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;40m

שחור

\033[0;44m

כָּחוֹל

\033[0;41m

Red

\033[0;45m

סָגוֹל

\033[0;42m

ירוק

\033[0;46m

ציאן

\033[0;43m

חום

\033[0;47m

אפור בהיר


אנו יכולים ליצור הנחיה עם רקע אדום על ידי החלת שינוי פשוט בקוד הבריחה הראשון:



$ 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). למען הטעם הטוב, אמולטורים סופניים רבים מסרבים לכבד את התכונה המהבהבת, עם זאת.


תמונה


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: