Hướng dẫn Linux

[SERIES Hướng dẫn Rice hệ điều hành Linux] Phần 4: Terminal

Đừng quên xem

Terminal, à phải rồi, Terminal, cái cánh cửa thiên đàng của anh em dùng Linux, thứ phân biệt giữa 1 ông dùng Linux và 1 ông dùng Windows, công cụ trời ban mà cứ ngỡ là thằng con nhà người ta…
Ẹ hèm, chắc chả cần giải thích Terminal là gì đâu nhỉ, nhưng mà :D, với việc mấy lão dùng Linux quý Terminal chắc còn nhiều hơn bạn gái thì chắc chắn việc trang điểm và áp dụng nó trong Rice của mình là điều không thể tránh khỏi rồi. Bài này hôm nay sẽ chỉ về Terminal và Terminal mà thôi, dù sao thì, bắt đầu nào.

I. Shell

Chắc những ai dùng Linux thì cũng biết đến khái niệm Shell rồi. Định nghĩa khá là đơn giản dễ hiểu:

Cung cấp 1 Interface để tương tác với hệ điều hành dựa trên Unix. Nó lấy lệnh do người dùng nhập vào và thực thi cái lệnh đó.

Yeah, chỉ có thế này thôi. Vậy, tại sao 1 công việc chuyên liên quan đến việc trang trí màn hình các kiểu lại phải chú trọng đến shell thế. Well, có 1 vài lý do:

  • Có khá nhiều loại shell được phát triển trên linux, tiêu biểu là: bash, sh, zsh, fish,… các loại shell này có cách dùng và các tính năng khác nhau, kể cả có rice thì ta vẫn phải chú trọng 1 phần đến shell để tránh bất tiện khi sử dụng máy
  • Ta tương tác với shell qua Terminal Emulator, nên là cho dù có ra sao thì shell vẫn có thể mang vài trò là 1 vật để trang trí Terminal
  • Có một vài thứ khá là “ngầu ngầu” có thể làm được đặc biệt nếu biết code shell, Like this

Vì thế, nên ai rice cũng sẽ chăm chút qua cho cái shell của mình một tẹo, vậy, những shell phổ biến hiện tại ra sao? Well, em không phải là thằng chuyên nhất về cái này nhưng đây là những thứ có thể xét đến:

  • bash: The basic one, căn bản nhất, và hầu như đều được cài sẵn tại bất kì 1 distro nào, nếu ai đã quen code bash rồi, thì chắc sẽ luôn dùng anh này trong Terminal, Dotfiles tùy chỉnh thường nằm tại ~/.bashrc
  • zsh: Một trong những shell được khá nhiều người ưa thích vì khả năng tùy biến của nó, tiêu biểu là với hỗ trợ của oh-my-zsh mà nó được rất nhiều lão rice ưa chuộng. Dotfiles tùy chỉnh thường nằm tại ~/.zshrc
  • fish: Thằng này… khá là lạ… vì cấu trúc viết lệnh của nó khác với những loại shell phổ biến khác, là một trong những lý do nhiều người rice “chửi”. Thế nhưng, điều khiến những ông dùng nó cố gắng bảo vệ nó là nó hỗ trợ khá nhiều thứ mà các shell khác nên có, ví dụ: Auto completion. Dotfiles tùy chỉnh thường nằm tại ~/.config/fish/config.fish

Tùy người mà sẽ chọn các shell khác nhau để làm việc. Vậy nên nếu phân vân phải chọn shell nào, tốt nhất cứ phải thử mới biết.

II. Terminal Emulator

Có nhiều khái niệm… và nhiều ông sẽ chỉ trích em vì thiếu trình độ chuyên môn, nhưng mà… ta kéo nó về cách dễ hiểu nhất nhé…
Ta dùng thằng này để tương tác với shell. Hết.

Đối với Terminal Emulator (Gọi tắt là terminal cho gọn), thì nếu hoạt động trên một DE/WM mà muốn rice thì chắc chắn thằng này là cửa hang rồi. Tuy phần color scheme ta không nói đến ở đây (Ai muốn biết có thể tra phần 3), và thực chất thằng này chẳng có gì nói nhiều lắm ngoài việc đưa ra kha khá công cụ và một vài “mành lới” để dùng nó trong Rice làm màu, nhưng thật ra, trong những lần rice, em đã phải chuyển qua lại khá nhiều loại Terminal khác nhau vì độ “đa năng” của nó… nên danh sách những loại Terminal sau hoàn toàn là ý kiến cá nhân, dù sao thì… Here it goes:

Loại “nếu đang dùng ổn thì tốt nhất cứ dùng, trừ khi cần tính năng thừa”: Dùng tạm ổn, có những tính năng cơ bản, không có vấn đề gì thì chuyển làm gì

  • gnome-terminal: Terminal mặc định của Gnome. Đơn giản, dễ dùng, dễ chỉnh điều duy nhất có thể phàn nàn là thằng khỉ này cli của nó khá là hạn hẹp.
  • xfce4-terminal: Y hệt Gnome nhưng được cái CLI của nó thêm hỗ trợ profile id, tiện để làm những thứ đơn giản như set rules trong mấy cái Tiled WM

Loại “Fancy một chút”: Nhưng thằng này có một vài đặc điểm thiên về thẩm mĩ hơn qua đó những ai thích customization có thể sẽ hài lòng hơn

  • Konsole: Yep, nhìn cái blur đi… 2 thằng kia không thể nào đạt được phần đó trừ khi nó phải giảm toàn bộ cả opacity của chữ (Có thể sẽ sai với gnome-terminal). CLI khá là ổn, ít nhất là hơn 2 thằng kia tẹo. Thuộc dạng “hơi nặng” đối với máy thằng này, nếu như muốn customize thêm một chút thì ổn thôi
  • Alacritty: Thằng này có nhiều mánh lới trong tay… nhất là với việc có sẵn những thứ như alacritty-colorscheme đã khiến thằng này dùng 1 thời gian. Và vì thứ này đã chơi hẳn một cái colorscheme switcher (thậm chí implement palette riêng được không như 2 thằng đầu), thì không ít ông rice sử dụng nó

Loại “Tối giản nhưng tốt”: Tốn nhiều công để chỉnh, nhưng đã quen rồi thì quý như con nuôi. Những thằng này bất đầu có một cái man page cực kì dài nên sẽ có thể sử dụng cho nhiều “mánh” hơn.

  • urxvt: Thằng này sử dụng ~/.Xresources để tùy chỉnh tất cả mọi thứ. Thực chất thì ~/.Xresources lại là một công cụ khá tiện vì tính lưu động của nó (Chi tiết nói ở phần sau này). Nó có một vài điểm lên, xuống nhưng nhìn chung thì khá ổn.
  • st: Như đúng cái từ viết đầy đủ của nó “suckless terminal”, nó đi theo đúng cái lý tưởng mà project suckless đề ra: Nhẹ, cực kì nhẹ. Vậy nên thằng này gần như chả có cái gì hết, mọi thứ muốn thêm vào phải tự code (hoặc apply patch có được trên github) và tự compile. Nếu những ai quan tâm đến việc chạỵ 1 cái terminal nhẹ nhất có thể, thì ối giời… con của giời ban đây. Nếu lười… cài xst và nó sẽ đầy ứ tính năng (có khi chắc vượt urxvt) trong khi vẫn khá nhẹ.

III. Mánh lới với Terminal

A.k.a mục “Tài nguyên” nhưng thực chất có kèm kinh nghiệm riêng:

  • http://terminal.sexy: Đã bao giờ chọn thử quần áo cho người yêu chưa anh em… ừ, tập làm thế với trang này đi. Đợt làm phần color scheme quên không thêm vào giờ thêm
  • Biến terminal thành cái lịch di động  căn bản là… một event mouse click trong polybar đi kèm với 2 cái script này: Script 1 | Script 2 (Lưu ý là script sử dụng xst thế nên nếu ai muốn dùng riêng phải chỉnh nhé. (Thanks mr yuhioh man trên discord))

  • https://github.com/Banbeucmas/patchart: Kho ảnh ansi theo phong cách của game Patchcon – Defend the Library (1 game hay… nếu biết Touhou là gì) thằng này rảnh hơi viết tay (theo nghĩa đen). Copy về, chmod +x và chạy script thì các bác sẽ hiểu, chỉ hỗ trợ tốt nếu term hỗ trợ 256 colors. Sẽ cập nhật thêm… em hứa mà…
  • https://github.com/stark/Color-Scripts: vài thứ linh tinh để hiện trên terminal làm màu
  • neofetch & screenfetch: Hiện thông tin hệ thống trên terminal
  • cmatrix: Cái thứ hiện đống hiệu ứng trông như mình là hacker
  • pipes.sh: Mấy con giun bò trên cái terminal

Đó là hết phần ngày hôm này :3… em vừa đi du lịch về xong viết luôn bài… giờ ngủ đây. Ảnh preview hôm nay là rice của SuperUser (r/unixporn Discord): Terminal, bar, menu đều cùng background với nhau. Vừa gọn, vừa thẩm mĩ. Hình như wallpaper đã được sửa qua bằng GIMP rồi hay sao ý (nó tối hơn bình thường)

Đón xem Phần 5

Credit: Banbeucmas – Phạm Đình Duy

Lưu ý: Bài viết này đã được Linux Team Việt Nam trả nhuận bút và chia sẻ độc quyền. Nghiêm cấm copy khi chưa có sự cho phép của Linux Team Việt Nam hay tác giả Banbeucmas – Phạm Đình Duy

Bài hay nên đọc

Nhận biết một trang đăng nhập an toàn

Cảnh báo hình thức hack tài khoản Facebook mới năm 2018 (“Bình mới, rượu cũ”)

Cài Đặt Acunetix Mới Nhất Và Crack Trên Linux

Cài đặt SSH trên Ubuntu Server

Hits: 129