Миний ажлын орчин WSL2 + Terminal setup

Програмист хүний амьдрал компьютерийн ширээний ард өнгөрдөг. Миний хувьд компьютерын ард сууж буй цаг, минут бүрээ үнэ цэнэтэй, үр ашигтай байлгахыг эрмэлздэг. Учир нь нас ахих тусам бидний эрүүл мэнд юу юунаас илүү үнэ цэнэтэй гэдгийг ойлгосон юм. Нэг л өдөр таны нуруу өвддөг болж, нүдний шил зүүж, үс чинь сааралтаж эхэлсэн юм биш биз? Тэгвэл яг одооноос зааланд тоглож, бялдаржуулах төвд явж, бага ч болохнээ дасгал хөдөлгөөнтэй байхыг зөвлөж байна. Эрүүл мэнд, цаг хугацаа 2 бол энэ дэлхий дээрх хамгийн үнэтэй, юугаар ч үнэлэшгүй эрхэм зүйлс юм шүү.


Харин одоо би тантай өөрийн ажлын орчноо хэрхэн бэлдэж, үр бүтээмжтэй байлгахыг зорьдогоо хуваалцая.

Юуны өмнө хэрвээ та Windows хэрэглэж, хийж байгаа зүйлсээ янз бүрийн олон өнгийн товч дарж хийдэг бол тэрхүү зуршлаасаа түр амсхийхийг зөвлөж байна. Програмист хүний ажлын явцад дахин давтагдах үйлдлүүд маш ихээр байх бөгөөд, жишээлбэл компьютерээ асаагаад хамгийн сүүлд ажиллаж байгаа төслөө ачааллуулах, хэсэг код бичээд дахин compile хийх мэт. Миний хувьд энэхүү үйлдэл бүрээс цаг хугацаа хэмнэхийг хичээдэг учир аль болох бүх зүйлийг автоматжуулж, товчлуур дарахаас зайлсхийдэг. Хэрэв та нэг үйлдлийг 2-оос олон хийж байвал тэрхүү үйлдлээ автоматжуулахыг хичээгээрэй.

Програмист хүний зайлшгүй эзэмшсэн байх нэг чадвар бол terminal дотор төвөггүй ажиллаж сурах юм. Нэг товчлуур бүрийг нэг командаар сольвол тэрхүү командыг хаана ажиллуулах вэ гэдэг нь terminal юм. Terminal нь MacOS, Linux үйлдлийн системтэй компьютерүүд дээр цаанаасаа байх бөгөөд Windows дээр cmd, powershell гэх 2 төрлийн terminal (?) бий. Гэхдээ тэр 2 дээр ажиллах команд нь Linux, MacOS 2 дээрхээс тэс өөр юм. Иймд хэрэв та Windows хэрэглэдэг бол WSL2 хэрэглэхийг зөвлөж байна. WSL2 нь Windows үйлдлийн систем дотор Linux үйлдлийн системийг цуг ажиллуулах хялбар шийдэл юм. Windows11 үйлдлийн систем дээр WSL2 нь бүр дэлгэцийн програм ч ажиллуулах чадвартай болоод буй. Энэ нь Linux анхлан суралцагчдад таатай боломж авчирч байгаа юм.

Миний хувьд ажлын шаардлагаар Windows үйлдлийн системтэй компьютер хэрэглэх боловч WSL2 дотор бүх ажлаа амжуулдаг.


WSL2 дээрх Ubuntu 20.04 LTS нь Linux анхлан суралцагчдад хамгийн тохиромжтой үйлдлийн систем юм. Ubuntu дээрх ямар ч асуудлыг та Google-c хялбархан олох боломжтой, хамгийн их хэрэглэгчтэй үйлдлийн систем юм.

WSL2-оо суулгасны дараа cmd эсвэл powershell-ээр WSL2-луугаа хандах боломжтой. Гэхдээ хамгийн том сул тал нь эдгээр програмуудыг өөрийн хүссэнээр тохируулах боломж нь бага юм. Иймд дараагийн алхам бол Windows Terminal апп-г Windows Store-с суулгах юм. Windows Terminal-г та өөрийн хүссэнээр өнгө будгийг сольж, програмчлах боломжтой.

src
src

Дараагийн алхам нь өөрийн shell програмыг тохируулах юм. Ubuntu нь цаанаасаа bash shell-тэй ирэх бөгөөд энэ нь энгийн sh-ийг бодвол арай дээр ч хэтэрхий энгийн юм. Миний хэрэглэх дуртай shell бол zshell юм. Zsh дээр олон төрлийн plugin, framework-ууд байх бөгөөд хамгийн алдартай бөгөөд хялбар хэрэглээтэй нь Oh-My-Zsh юм. Oh-My-Zsh-ээ татаад суулгасны дараа таны хамгийн түрүүнд анзаарах зүйл бол түрүүн харсан bash-аас хамаагүй өнгөлөг, мөн маш хэрэгтэй шинэ функцууд нэмэгдсэн байна. Мөн zsh дээр хамгийн түгээмэл үйлдлүүдийн нэг нь хэрэглэхэд бэлэн plugin-ууд юм. Жишээ нь git, янз бүрийн command гүйцээх гэх мэт..

Жишээлбэл дээшээ, доошоо, зүүн, баруун сумнууд дээр дарвал өмнөх, командуудаа сэргээх, гүйцээх үйлдэл нь бүтээмжийг эрс нэмэгдүүлнэ. Мөн үүн дээр нэмээд zsh-autosuggestions гээд нэмэлт бий. Үүнийг суулгасны дараа зүүн, баруун сумаа дарахад яг ямар команд гарч ирэх гэж байгааг бүдэг саарлаар харуулдаг. Энэ мөн ч хэрэгтэй эд дээ. MacOS дээр алдартай Fish shell хэрэглэдэг хүмүүс энийг андахгүй байх. Энэ 2-той байхад хэзээ ямар команд биччихлээ байз гэсэн зовлон үгүй болно. Эхний хэдэн үсгээ бичээд л дээшээ сумаа дараад явж байхад гараад л ирнэ.

Мөн Oh My Zsh дээр хийх бас нэгэн үйлдэл бол theme (prompt) суулгах юм. Ингэснээр shell чинь өмнөхөөсөө ч илүү баялаг болно. Миний хамгийн дуртай prompt бол Starship юм. Starship-ийг суулгаснаар shell дотроо цаг гаргах, хэрэглэж буй програмынхаа хувилбарыг гаргах зэрэг нэмэлт үйлдлүүд хийх боломжтой. Жишээлбэл python програмын хувьд python хувилбар хэдийг ашиглаж байгаагаа харахаас гадна аль virtual environment-оо хэрэглэж байгааг ч харуулчихад тун зүгээр байдаг. Дээр нь хамгийн сүүлд ажилласан програм амжилттай эсвэл амжилтгүй зэргийг улаан ногоон өнгөөр ялгах, хэр удаан ажилласныг харах зэрэг  маш өргөн боломжтой.

src

Энэ мэт жижигхэн боловч цаг хэмнэж, бүтээмж нэмэгдүүлсэн зүйлс нь миний өдөр тутмын амьдралд бага ч болов өөрчлөлт оруулдаг. Танд ч бас энэхүү бяцхан зөвлөгөө маань таалагдсан бол, мөн та өөрийн нууц хөзрөө бусадтай хуваалцахыг хүсвэл сэтгэгдэл хэсэгт үлдээгээрэй.