בסקירת מאמרים אחרים נתקלתי בשאלה הקטנה הזו שעוררה לי כיף רב, נכון שאחד הדברים הראשונים שמשתמשים במערכות אחרות (למעט FreeBSD) מקבלים בפנינו הוא שאנחנו לא משתמשים בממשק המשתמש. האמת, זה נראה לי גם די סקרן בתחילת דרכי של GNU / Linux. אני חייב להודות שעם הזמן אני משתמש כעת בשורת הפקודה הרבה יותר מכל תוכנית GUI אחרת, ופעמים רבות אני מעדיף תוכניות שורת פקודה על פני תוכניות משוכללות יותר עם GUIs מסנוור.
המיתוס
למעשה, זה לא יותר ממיתוס אורבני, כי בניגוד למערכות אחרות ששמן לא יוזכר כאן, דווקא ב-GNU/Linux יש לך באמת חופש בחירה. הלוואי שמערכות אחרות היו מציעות את הרבגוניות שקיימת כאן. אבל בואו נבחן את הנושא הזה לעומק, אחרת דברים רבים נותרים לא ברורים:
שרתים
כולנו שמענו את המילה "שרת". יש אנשים שחושבים על מחשבי העל שמפעילים את גוגל או אמזון, או את זה שבחברה שלכם. אבל המציאות היא ששרת פועל לפי מודל מסוים. אנו משתמשים במונח הזה כדי להתייחס לתוכנית הזמינה למשתמשים ( לקוחות ) ומספקת להם משהו. דוגמה בסיסית היא אפאצ'י , המשמשת להצגת דפי אינטרנט באינטרנט. תוכנית זו מספקת HTML ללקוחות שמבקשים זאת.
שרת תמונות
אבל לא רק שרת יכול להיות במחשבי העל שגוגל וחברות רבות אחרות מאפשרות, אפילו המחשב הנייד ה"וותיק ביותר "יכול להיות שרת, במיוחד כאשר אנו מדברים על תמונות. כולנו מנהלים א שרת תמונות במחשבים הניידים שלנו על מנת שיהיה להם מסך פונקציונלי, במקרה זה שרת ו - לקוח הם אותו אדם. הדוגמה הנפוצה ביותר היא X (ידוע בשם xorg-server בהפצות רבות) והחלפתו החדשה Wayland. אנחנו לא מתכוונים לתת הסבר מפורט מדוע הארגון, או איך עובד ויילנד, או הפילוסופיות שקיימות מאחורי הפרויקטים הגדולים האלה, אבל אנחנו הולכים להבהיר שבזכותם נוכל לדפדפן אינטרנט. כמו Firefox או Chrome, או תוכניות רבות אחרות.
מנהל חלונות
מנהלי חלונות עובדים ישירות עם שרת התמונות. תפקידם נמצא ברמה נמוכה יותר, שכן הם מנהלים (בכוונה לעודף) כיצד חלונות נוצרים, משתנים וסגורים. הם בדרך כלל די פשוטים, וסביבות שולחן עבודה בנויות עליהם. הרשימה ארוכה, אבל אני אשאיר את זה כך: מדובר בתוכנות מינימליסטיות המאפשרות שליטה בסיסית למדי בשרת התמונות.
סביבת שולחן עבודה
סט תוכנות מיוחד יותר המאפשר לא רק הפעלת שרת תמונות, אלא גם מספק יכולות התאמה אישית. בין אלה, הוותיקים והכבדים ביותר הם KDE ו- GNOME, אך יש לנו גם סביבות קלות יותר כמו LXDE או Mate, קינמון וכו '.
CLI (ממשק שורת פקודה)
לאחר התבוננות קצרה בעולם שרתי התמונות, אנו פונים כעת לנושא שלנו. CLI, מרמז על כל תוכנית שמבוצעת על ידי שורת פקודה git, vim, weechat, או טוב, כל מה שעולה בראשך. אתה יכול לראות שאני מדבר על תוכניות שלמרות שהן פועלות בשורת הפקודה, הן מציגות מעין "ממשק גרפי" כמו weechat o vim. לכל אלה שלא ניסו אותם, אני ממליץ עליהם, הם בעצם אלה שאני משתמש בהם כל היום.
מדוע CLI עדיף על GUI
בואו ננסה משהו די פשוט לפני כמה ימים רציתי לעבוד על תיקון עבור Portage (מנהל החבילות של Gentoo) . כמו כל פרויקט שיתופי טוב, כמות הקוד עולה על 70 אלף שורות. נסו לפתוח את זה ב-IDE כמו NinjaIDE (Portage כתוב בפייתון) ותשימו לב שברגע שהמסך מתחיל להיטען, המחשב שלכם הופך לאיטי ביותר (לפחות ה-i7 שלי היה איטי), וזה היה רק ניסיון לפתוח את הקוד ולשנות את צבע ה"עזרה" המוגדר כברירת מחדל.
עכשיו נסה לעשות את אותו הדבר עם vim, הועמסו עלי באלפיות שנייה, ובאותה עת זה שם את הצבעים ה"יפים "וכל השאר.
CLI היה הרבה לפני כן
יש כאלה שיגידו שהתוכניות האלה הן antiguos, אני קורא להם חָסוֹן. אם היית יכול לראות את מספר השעות שהושקעו בבניין emacs, vim, gdb, ומאות תוכניות קונסולות אחרות, עשויים להבחין שכמות הקוד והפונקציונליות כה גדולים שהם כמעט פתרו את כל מה שהם צריכים לפתור. רב GUI עבור תוכניות שכבר חסינות ב- CLI שלהן לעולם לא תהיה באותה כמות פונקציונליות, זה פשוט בגלל שאם עשינו כרטיסייה לכל פקודת משנה זמינה, למשל git, היינו מאבדים את עצמנו בין האפשרויות וזה יהיה פרודוקטיבי מכיוון שזה יקשה על העבודה.
CLI מהיר יותר
הקסם מתחיל במפתח Tab, זה לא רק החבר הכי טוב שלך כשאתה גולש בשולחנות העבודה במסוף שלך, אלא כשהוא מוגדר כהלכה, זה מאפשר לך לקצר משפטים ארוכים ל -2 אותיות וטאב, 3 אותיות וטאב, או אפילו אות ו כרטיסייה.
אבל זה לא היתרון היחיד, אלה מאיתנו שלקחו את הזמן ללמוד vim o emacs אנו יכולים לומר שלמרות שעקומת הלמידה גבוהה מעט יותר מזו של IDE בימינו, בסופו של דבר תוצאות הפרודוקטיביות מדהימות, אי אפשר לדמיין את הזמן שאפשר לאבד בעת העברת עכבר. ידך על המקלדת 90% מהמקרים לא רק מלמדת ריכוז, אלא העובדה שהקלדת כל כך הרבה במקלדת הופכת אותך לזריז ויצרני למדי. ועכשיו אנו חוזרים לנקודה הקודמת, אחרי שהיינו איתנו כל כך הרבה זמן, לתוכניות כאלה כבר יש את כל הפונקציות שמישהו יכול לחשוב עליהן, אמירה די נפוצה עבור אלה מאיתנו המשתמשים ב- vim עולה בראש:
אם אתה משתמש ביותר מ -4 מקשים, ייתכן שיש דרך טובה יותר.
פשוט אך עוצמתי, vim מאפשר לך לעשות הכל עם מספר רב של מקשים ושילובים אפשריים, אחד לא מפסיק ללמוד, אבל נכון גם שכדי להשתמש בו אין צורך להכיר את כולם, בערך 10 או 15 מספיקים כדי להתחיל להיות פרודוקטיבי יותר.
CLI נותן לך שליטה מלאה
כאשר מבצעים פעולות עם העכבר, או תוכניות משרת התמונות, כל התצורות הנוספות שמבוצעות ברגע הלחיצה אינן תמיד קיימות, זה לא קורה עם המסוף, כאן יש לך את הכוח המוחלט של מה היא מבוצעת או לא, באיזו אפשרות או באיזו מידה. עם הזמן אתה מבין שאתה צריך פחות ממה שאתה חושב, וזה עוזר לך לעשות דברים בצורה יותר ממוקדת.
ל- GUI יש גם דבר משלו
אני לא מתכוון לומר שכולנו צריכים להשתמש ב- CLI תמיד, זה גם לא אידיאלי, אני עצמי משתמש בממשקי משתמש כמעט כל הזמן, כדי לכתוב את הפוסט הזה אני משתמש ב- Chrome שלי, וכדי לראות את הודעות הדוא"ל שלי אני משתמש ב- Evolution (אם כי אני גם משתמש mutt לא מעט לאחרונה). ואני מניח שזה המיתוס הגדול מכולם... שאנשים חושבים ש-GNU/Linux הם רק טרמינלים, אני אוהב את סביבת שולחן העבודה שלי, היא די מינימליסטית, אבל אני אוהב את זה ככה ובדרך כלל יש לי רק שניים או שלושה תוכניות פועלות, הכרום שלי, האבולוציה שלי והמסוף שלי
אלו הן כמה מהסיבות שבגללן אני כל כך אוהב CLI ומדוע אני מזמין אותך לתת להם הזדמנות, אולי מאוחר יותר תגמור כמוני להשתמש ביותר CLI מאשר GUI בברכה