Cài đặt nhanh
- Để cài JetBrains Mono trên Linux, chạy script cài đặt chính thức của JetBrains với
curl. - Cài từ trình quản lý gói của bản phân phối (
ttf-jetbrains-monotrên Arch,jetbrains-mono-fontstrên Fedora,fonts-jetbrains-monotrên Ubuntu/Debian). - Tải font JetBrains Mono thủ công, copy các tệp
.ttfvào~/.local/share/fonts, và chạyfc-cache -f -vđể làm mới bộ nhớ đệm font.
JetBrains Mono là gì?
JetBrains Mono là một font chữ đơn cách (monospaced) mã nguồn mở (open-source) và miễn phí, được thiết kế dành riêng cho lập trình viên, với chiều cao chữ tăng lên, hình dạng ký tự rõ ràng và hỗ trợ ligature giúp mã nguồn dễ đọc hơn.
Trong hướng dẫn này, chúng tôi sẽ trình bày các cách khác nhau để cài đặt font JetBrains Mono trên Linux.
Phương pháp 1: Cài JetBrains Mono bằng script cài đặt chính thức một dòng
Nhóm JetBrains Mono đã phát hành script cài đặt chính thức tự động tải xuống, giải nén và cài đặt font. Không cần thao tác thủ công!
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh)"
Đây là phương pháp dễ nhất và luôn cài đặt bản phát hành mới nhất. Bỏ qua Phương pháp 1 hoặc 2 nếu bạn muốn tự kiểm soát từng bước, hoặc nếu môi trường của bạn không cho phép chạy script từ xa.
Phương pháp 2: Cài JetBrains Mono qua trình quản lý gói
Đây là cách nhanh nhất nếu bản phân phối của bạn có JetBrains Mono trong kho lưu trữ.
Arch Linux / Manjaro:
sudo pacman -S ttf-jetbrains-mono
Fedora, hệ thống dựa trên RHEL:
sudo dnf install jetbrains-mono-fonts
Để có bản build up-to-date hơn so với kho mặc định của Fedora, hãy dùng kho COPR cộng đồng thay thế:
sudo dnf copr enable elxreno/jetbrains-mono-fonts
sudo dnf install jetbrains-mono-fonts
Debian / Linux Mint / Ubuntu:
sudo apt install fonts-jetbrains-mono
Nếu trình quản lý gói không tìm thấy gói này, kho lưu trữ của bản phân phối có thể chưa bao gồm nó; hãy dùng phương pháp thủ công bên dưới.
Phương pháp 3: Cài đặt thủ công (hoạt động trên mọi bản phân phối)
Phương pháp này hoạt động bất kể bạn đang dùng bản phân phối Linux nào, vì nó không phụ thuộc vào kho gói.
Bước 1: Tải font
JetBrains đặt tên mỗi tệp phát hành với số phiên bản (ví dụ: JetBrainsMono-2.304.zip), do đó không có URL "mới nhất" cố định. Thay vào đó, hãy lấy liên kết tải xuống hiện tại từ GitHub API:
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/JetBrains/JetBrainsMono/releases/latest | grep "browser_download_url.*zip" | cut -d '"' -f 4)
wget "$DOWNLOAD_URL" -O JetBrainsMono.zip
Hoặc chỉ cần mở trang phát hành JetBrains Mono trong trình duyệt và tải xuống tệp .zip trực tiếp.
Bước 2: Giải nén tệp lưu trữ
unzip JetBrainsMono.zip -d JetBrainsMono
Bước 3: Di chuyển tệp font vào thư mục font cục bộ
mkdir -p ~/.local/share/fonts
cp JetBrainsMono/fonts/ttf/*.ttf ~/.local/share/fonts/
Bước 4: Làm mới bộ nhớ đệm font
fc-cache -f -v
Bước 5: Xác minh cài đặt
fc-list | grep -i "jetbrains"
Nếu lệnh trả về danh sách các tệp font JetBrains Mono, quá trình cài đặt đã thành công.
Phương pháp 4: Cài đặt toàn hệ thống (cho tất cả người dùng)
Để JetBrains Mono có sẵn cho mọi người dùng trên máy thay vì chỉ tài khoản của bạn, hãy cài đặt vào /usr/share/fonts với sudo:
sudo mkdir -p /usr/share/fonts/jetbrains-mono
sudo cp JetBrainsMono/fonts/ttf/*.ttf /usr/share/fonts/jetbrains-mono/
sudo fc-cache -f -v
Trên Arch và các hệ thống dựa trên Debian, bạn cũng có thể thấy /usr/local/share/fonts được khuyên dùng cho font thêm thủ công, để tách biệt khỏi các font do package-manager-installed. Cả hai vị trí đều hoạt động, vì fontconfig quét cả hai theo mặc định.
Sau khi cài đặt: Kích hoạt font
Sau khi cài đặt, JetBrains Mono sẽ không xuất hiện cho đến khi bạn khởi động lại ứng dụng muốn sử dụng. Khởi động lại trình giả lập terminal, trình soạn thảo mã hoặc IDE, sau đó chọn JetBrains Mono từ cài đặt font của nó.
Muốn có icon? Hãy cài phiên bản JetBrainsMono Nerd Font thay thế
Nếu bạn sử dụng theme dòng lệnh như Starship, Powerlevel10k, hoặc oh-my-posh, hoặc thanh trạng thái như Polybar hay Waybar, bạn thực sự cần JetBrainsMono Nerd Font.
JetBrainsMono Nerd Font là phiên bản đã được vá (patched) thêm các glyph icon (biểu tượng nhánh Git, biểu tượng thư mục, logo hệ điều hành) trên nền font gốc. JetBrains Mono thông thường sẽ hiển thị các ô vuông bị hỏng (▯) ở những vị trí đáng lẽ có icon.
Tùy chọn A: dùng getnf (script cài đặt Nerd Fonts):
curl -fsSL https://raw.githubusercontent.com/getnf/getnf/main/install.sh | bash
getnf -i JetBrainsMono
Người dùng Arch cũng có thể cài bản build Nerd Font trực tiếp từ kho chính thức mà không cần script phụ:
sudo pacman -S ttf-jetbrains-mono-nerd
Tùy chọn B: tải thủ công:
mkdir -p ~/.local/share/fonts/JetBrainsMonoNerd
cd ~/.local/share/fonts/JetBrainsMonoNerd
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip JetBrainsMono.zip
fc-cache -f -v
Sau khi cài đặt, chọn "JetBrainsMono Nerd Font" (không phải "JetBrains Mono" thường) trong terminal hoặc cài đặt font của theme dòng lệnh.
Lưu ý về các biến thể Nerd Font: Các font đã vá có ba phiên bản. Chọn phiên bản phù hợp với thiết lập của bạn, theo hướng dẫn chính thức của Nerd Fonts:
- Nerd Font Mono (NFM): các glyph icon bị ép buộc vào độ rộng ký tự đơn cách tiêu chuẩn; dùng nếu terminal của bạn yêu cầu font có độ rộng cố định một cách strictly.
- Nerd Font (NF, không có hậu tố "Mono"): icon hiển thị lớn hơn, khoảng 1.5 ký tự rộng; hoạt động trên hầu hết terminal nhưng không phải tất cả.
- Nerd Font Propo (NFP): khoảng cách icon theo tỷ lệ; dùng cho các thành phần GUI, thanh trạng thái hoặc bài thuyết trình, không dùng cho terminal.
Không có ligatures? Hãy thử JetBrains Mono NL
Nếu ligatures hiển thị không chính xác trong một ứng dụng cụ thể (một vấn đề đã biết trên một số terminal như bản dựng xfce4-terminal cũ, nơi == và >= có thể chồng lấn hoặc đổi chỗ), hãy cài JetBrains Mono NL thay thế.
Đây là cùng một kiểu chữ nhưng đã loại bỏ hoàn toàn ligatures, và nó được bao gồm trong cùng tệp lưu trữ tải xuống với font thông thường. Chỉ cần chọn các tệp font NL trong quá trình cài đặt.
Các trường hợp đặc biệt: WSL, Flatpak và Snap
WSL (Windows Subsystem for Linux)
Cài đặt font bên trong WSL chỉ làm nó khả dụng cho các ứng dụng GUI Linux chạy dưới WSLg.
Nếu bạn muốn font hiển thị trong Windows Terminal, bạn cần cài đặt nó trên phía Windows nữa. Tải xuống các tệp .ttf và double-click vào từng tệp trong Windows Explorer, hoặc nhấp chuột phải → Install.
Ứng dụng Flatpak
Hầu hết các ứng dụng Flatpak đã có thể thấy các font được cài đặt trong ~/.local/share/fonts, vì Flatpak tự động hiển thị các thư mục font của máy chủ vào sandbox thông qua cơ chế built-in font-sharing. Thường không cần cấp quyền thủ công.
Tuy nhiên, một số ứng dụng (đặc biệt là các ứng dụng dựa trên Electron) đôi khi không nhận font trong sandbox đúng cách. Nếu một ứng dụng Flatpak cụ thể vẫn không hiển thị font sau khi khởi động lại, bạn có thể cấp cho nó quyền truy cập tệp rộng hơn như một phương án dự phòng:
flatpak override --user --filesystem=~/.local/share/fonts com.your.flatpak.app
Ứng dụng Snap
Hầu hết các ứng dụng Snap sử dụng chế độ cô lập strict và đọc font từ máy chủ tự động thông qua giao diện desktop, nhưng nếu font không xuất hiện, hãy kiểm tra:
snap connections <snap-name> | grep font
Cấu hình ligatures sau khi cài đặt
Cài đặt font mới chỉ là một nửa công việc. Hầu hết các trình soạn thảo và terminal cần được bật ligatures một cách tường minh.
VS Code: trong settings.json:
{
"editor.fontFamily": "JetBrains Mono",
"editor.fontLigatures": true
}
Kitty terminal: trong kitty.conf:
font_family JetBrains Mono
Kitty hiển thị ligatures theo mặc định nếu font hỗ trợ.
Alacritty: trong alacritty.toml:
[font]
normal = { family = "JetBrains Mono" }
Lưu ý: Alacritty không hỗ trợ ligatures nguyên bản kể từ các phiên bản gần đây.
GNOME Terminal
GNOME Terminal (và các terminal dựa trên VTE khác) không hiển thị ligatures đúng cách, vì vậy hãy chuyển sang Kitty, WezTerm hoặc Ghostty nếu ligatures quan trọng với bạn. Đừng chuyển sang Alacritty cho mục đích này vì nó cũng không hỗ trợ ligatures (xem ở trên).
Ghostty: trong config:
font-family = JetBrains Mono
Ghostty hiển thị ligatures theo mặc định khi font hỗ trợ, tương tự Kitty.
Khắc phục sự cố
1. Font đã cài nhưng không hiển thị ở bất kỳ đâu
Chạy lại fc-cache -f -v và xác nhận các tệp .ttf thực sự nằm trong ~/.local/share/fonts bằng ls ~/.local/share/fonts. Thường cần đóng hoàn toàn và mở lại ứng dụng (quit-and-reopen), không chỉ mở cửa sổ mới.
2. Hiển thị trong một số ứng dụng nhưng không hiển thị trong ứng dụng khác
Các ứng dụng GTK và Qt đôi khi lưu cache danh sách font riêng. Đăng xuất và đăng nhập lại, hoặc khởi động lại máy, để buộc làm mới hoàn toàn.
3. Hoạt động sau khi khởi động lại nhưng riêng fc-cache không khắc phục được
Điều này bình thường. Một số ứng dụng chỉ đọc danh sách font hệ thống một lần khi khởi động và sẽ không tải lại cho đến khi tiến trình khởi động lại hoàn toàn, không chỉ fc-cache.
4. Ứng dụng Flatpak không thấy font
Xem phần Flatpak ở trên. Hầu hết ứng dụng tự động thấy font, nhưng một ứng dụng cụ thể có thể cần ghi đè quyền truy cập tệp tường minh.
JetBrains Mono so với các font coding phổ biến khác
Gỡ cài đặt JetBrains Mono
Để xóa cài đặt ở cấp người dùng:
rm ~/.local/share/fonts/JetBrainsMono*.ttf
fc-cache -f -v
Đối với cài đặt toàn hệ thống:
sudo rm -r /usr/share/fonts/jetbrains-mono
sudo fc-cache -f -v
Điều chỉnh đường dẫn nếu bạn đã cài vào /usr/local/share/fonts thay thế. Xem phần cài đặt toàn hệ thống ở trên.
Câu hỏi thường gặp (FAQ)
H: JetBrains Mono được cài đặt ở đâu trên Linux?
Đ: Cài đặt ở cấp người dùng vào ~/.local/share/fonts. Cài đặt toàn hệ thống vào /usr/share/fonts (vị trí được JetBrains khuyên dùng), giúp font có sẵn cho tất cả người dùng trên máy. /usr/local/share/fonts cũng hoạt động và được ưa chuộng trên một số bản phân phối cho font thêm thủ công.
H: Tại sao JetBrains Mono không hiển thị sau khi cài đặt?
Đ: Chạy fc-cache -f -v để xây dựng lại bộ nhớ đệm font, sau đó khởi động lại hoàn toàn ứng dụng (không chỉ mở lại cửa sổ) để nó re-read danh sách font hệ thống.
H: JetBrains Mono có miễn phí sử dụng không?
Đ: Có. JetBrains Mono là open-source và được phát hành theo Giấy phép SIL Open Font, miễn phí cho cả mục đích cá nhân và thương mại.
H: JetBrains Mono có hỗ trợ ligatures không?
Đ: Có, JetBrains Mono bao gồm các ligatures lập trình tùy chọn cho các tổ hợp ký tự như ->, != và =>, mặc dù bạn có thể cần bật hỗ trợ ligature riêng trong cài đặt trình soạn thảo hoặc terminal.
H: Tôi có thể cài JetBrains Mono mà không cần trình quản lý gói không?
Đ: Có. Tải trực tiếp các tệp .ttf từ trang phát hành GitHub chính thức, copy chúng vào ~/.local/share/fonts, và chạy fc-cache -f -v.
H: Sự khác biệt giữa JetBrains Mono và JetBrainsMono Nerd Font là gì?
Đ: JetBrains Mono thường là kiểu chữ tiêu chuẩn. JetBrainsMono Nerd Font là phiên bản đã được vá với cùng hình dạng chữ cộng thêm hàng nghìn glyph icon bổ sung, được sử dụng cho các theme dòng lệnh và thanh trạng thái hiển thị icon.
H: Tại sao tôi thấy các ô vuông bị hỏng thay vì icon trong dòng lệnh?
Đ: Theme dòng lệnh của bạn (Starship, Powerlevel10k, v.v.) cần một biến thể Nerd Font, không phải font thường. Cài JetBrainsMono Nerd Font và chọn nó cụ thể trong hồ sơ terminal của bạn.
H: JetBrains Mono có hoạt động trong WSL và Windows Terminal không?
Đ: Bạn cần cài đặt font hai lần. Một lần bên trong WSL cho các ứng dụng GUI Linux, và một lần trên phía Windows (bằng cách double-click vào các tệp .ttf trong Explorer) để Windows Terminal thấy nó.
H: Tại sao ứng dụng Flatpak của tôi không thấy font đã cài?
Đ: Hầu hết các ứng dụng Flatpak tự động thấy font máy chủ thông qua tính năng chia sẻ font tích hợp. Nếu một ứng dụng cụ thể (thường là ứng dụng dựa trên Electron) vẫn không thấy, hãy cấp quyền truy cập tường minh với flatpak override --user --filesystem=~/.local/share/fonts <app-id> và khởi động lại ứng dụng.
H: JetBrains Mono NL là gì?
Đ: JetBrains Mono NL là cùng kiểu chữ với JetBrains Mono nhưng không có ligatures tích hợp. Dùng nó nếu một ứng dụng hiển thị ligatures không chính xác hoặc nếu bạn chỉ thích hiển thị ký tự đơn giản.
H: Làm thế nào để gỡ cài đặt JetBrains Mono trên Linux?
Đ: Xóa các tệp .ttf khỏi ~/.local/share/fonts (hoặc /usr/share/fonts//usr/local/share/fonts đối với cài đặt toàn hệ thống), sau đó chạy fc-cache -f -v để làm mới bộ nhớ đệm font.
Tài nguyên
Để cài JetBrains Mono trên Linux, chạy script cài đặt chính thức của JetBrains với
curl.Cài từ trình quản lý gói của bản phân phối (
ttf-jetbrains-monotrên Arch,jetbrains-mono-fontstrên Fedora,fonts-jetbrains-monotrên Ubuntu/Debian).Tải font JetBrains Mono thủ công, copy các tệp
.ttfvào~/.local/share/fonts, và chạyfc-cache -f -vđể làm mới bộ nhớ đệm font.
JetBrains Mono là gì?
JetBrains Mono là một font chữ đơn cách (monospaced) mã nguồn mở (open-source) và miễn phí, được thiết kế dành riêng cho lập trình viên, với chiều cao chữ tăng lên, hình dạng ký tự rõ ràng và hỗ trợ ligature giúp mã nguồn dễ đọc hơn.
Trong hướng dẫn này, chúng tôi sẽ trình bày các cách khác nhau để cài đặt font JetBrains Mono trên Linux.
Phương pháp 1: Cài JetBrains Mono bằng script cài đặt chính thức một dòng
Nhóm JetBrains Mono đã phát hành script cài đặt chính thức tự động tải xuống, giải nén và cài đặt font. Không cần thao tác thủ công!
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/JetBrains/JetBrainsMono/master/install_manual.sh)"
Đây là phương pháp dễ nhất và luôn cài đặt bản phát hành mới nhất. Bỏ qua Phương pháp 1 hoặc 2 nếu bạn muốn tự kiểm soát từng bước, hoặc nếu môi trường của bạn không cho phép chạy script từ xa.
Phương pháp 2: Cài JetBrains Mono qua trình quản lý gói
Đây là cách nhanh nhất nếu bản phân phối của bạn có JetBrains Mono trong kho lưu trữ.
Arch Linux / Manjaro:
sudo pacman -S ttf-jetbrains-mono
Fedora, hệ thống dựa trên RHEL:
sudo dnf install jetbrains-mono-fonts
Để có bản build up-to-date hơn so với kho mặc định của Fedora, hãy dùng kho COPR cộng đồng thay thế:
sudo dnf copr enable elxreno/jetbrains-mono-fonts
sudo dnf install jetbrains-mono-fonts
Debian / Linux Mint / Ubuntu:
sudo apt install fonts-jetbrains-mono
Nếu trình quản lý gói không tìm thấy gói này, kho lưu trữ của bản phân phối có thể chưa bao gồm nó; hãy dùng phương pháp thủ công bên dưới.
Phương pháp 3: Cài đặt thủ công (hoạt động trên mọi bản phân phối)
Phương pháp này hoạt động bất kể bạn đang dùng bản phân phối Linux nào, vì nó không phụ thuộc vào kho gói.
Bước 1: Tải font
JetBrains đặt tên mỗi tệp phát hành với số phiên bản (ví dụ: JetBrainsMono-2.304.zip), do đó không có URL "mới nhất" cố định. Thay vào đó, hãy lấy liên kết tải xuống hiện tại từ GitHub API:
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/JetBrains/JetBrainsMono/releases/latest | grep "browser_download_url.*zip" | cut -d '"' -f 4)
wget "$DOWNLOAD_URL" -O JetBrainsMono.zip
Hoặc chỉ cần mở trang phát hành JetBrains Mono trong trình duyệt và tải xuống tệp .zip trực tiếp.
Bước 2: Giải nén tệp lưu trữ
unzip JetBrainsMono.zip -d JetBrainsMono
Bước 3: Di chuyển tệp font vào thư mục font cục bộ
mkdir -p ~/.local/share/fonts
cp JetBrainsMono/fonts/ttf/*.ttf ~/.local/share/fonts/
Bước 4: Làm mới bộ nhớ đệm font
fc-cache -f -v
Bước 5: Xác minh cài đặt
fc-list | grep -i "jetbrains"
Nếu lệnh trả về danh sách các tệp font JetBrains Mono, quá trình cài đặt đã thành công.
Phương pháp 4: Cài đặt toàn hệ thống (cho tất cả người dùng)
Để JetBrains Mono có sẵn cho mọi người dùng trên máy thay vì chỉ tài khoản của bạn, hãy cài đặt vào /usr/share/fonts với sudo:
sudo mkdir -p /usr/share/fonts/jetbrains-mono
sudo cp JetBrainsMono/fonts/ttf/*.ttf /usr/share/fonts/jetbrains-mono/
sudo fc-cache -f -v
Trên Arch và các hệ thống dựa trên Debian, bạn cũng có thể thấy /usr/local/share/fonts được khuyên dùng cho font thêm thủ công, để tách biệt khỏi các font do package-manager-installed. Cả hai vị trí đều hoạt động, vì fontconfig quét cả hai theo mặc định.
Sau khi cài đặt: Kích hoạt font
Sau khi cài đặt, JetBrains Mono sẽ không xuất hiện cho đến khi bạn khởi động lại ứng dụng muốn sử dụng. Khởi động lại trình giả lập terminal, trình soạn thảo mã hoặc IDE, sau đó chọn JetBrains Mono từ cài đặt font của nó.
Muốn có icon? Hãy cài phiên bản JetBrainsMono Nerd Font thay thế
Nếu bạn sử dụng theme dòng lệnh như Starship, Powerlevel10k, hoặc oh-my-posh, hoặc thanh trạng thái như Polybar hay Waybar, bạn thực sự cần JetBrainsMono Nerd Font.
JetBrainsMono Nerd Font là phiên bản đã được vá (patched) thêm các glyph icon (biểu tượng nhánh Git, biểu tượng thư mục, logo hệ điều hành) trên nền font gốc. JetBrains Mono thông thường sẽ hiển thị các ô vuông bị hỏng (▯) ở những vị trí đáng lẽ có icon.
Tùy chọn A: dùng getnf (script cài đặt Nerd Fonts):
curl -fsSL https://raw.githubusercontent.com/getnf/getnf/main/install.sh | bash
getnf -i JetBrainsMono
Người dùng Arch cũng có thể cài bản build Nerd Font trực tiếp từ kho chính thức mà không cần script phụ:
sudo pacman -S ttf-jetbrains-mono-nerd
Tùy chọn B: tải thủ công:
mkdir -p ~/.local/share/fonts/JetBrainsMonoNerd
cd ~/.local/share/fonts/JetBrainsMonoNerd
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip JetBrainsMono.zip
fc-cache -f -v
Sau khi cài đặt, chọn "JetBrainsMono Nerd Font" (không phải "JetBrains Mono" thường) trong terminal hoặc cài đặt font của theme dòng lệnh.
Lưu ý về các biến thể Nerd Font: Các font đã vá có ba phiên bản. Chọn phiên bản phù hợp với thiết lập của bạn, theo hướng dẫn chính thức của Nerd Fonts:
- Nerd Font Mono (NFM): các glyph icon bị ép buộc vào độ rộng ký tự đơn cách tiêu chuẩn; dùng nếu terminal của bạn yêu cầu font có độ rộng cố định một cách strictly.
- Nerd Font (NF, không có hậu tố "Mono"): icon hiển thị lớn hơn, khoảng 1.5 ký tự rộng; hoạt động trên hầu hết terminal nhưng không phải tất cả.
- Nerd Font Propo (NFP): khoảng cách icon theo tỷ lệ; dùng cho các thành phần GUI, thanh trạng thái hoặc bài thuyết trình, không dùng cho terminal.
Không có ligatures? Hãy thử JetBrains Mono NL
Nếu ligatures hiển thị không chính xác trong một ứng dụng cụ thể (một vấn đề đã biết trên một số terminal như bản dựng xfce4-terminal cũ, nơi == và >= có thể chồng lấn hoặc đổi chỗ), hãy cài JetBrains Mono NL thay thế.
Đây là cùng một kiểu chữ nhưng đã loại bỏ hoàn toàn ligatures, và nó được bao gồm trong cùng tệp lưu trữ tải xuống với font thông thường. Chỉ cần chọn các tệp font NL trong quá trình cài đặt.
Các trường hợp đặc biệt: WSL, Flatpak và Snap
WSL (Windows Subsystem for Linux)
Cài đặt font bên trong WSL chỉ làm nó khả dụng cho các ứng dụng GUI Linux chạy dưới WSLg.
Nếu bạn muốn font hiển thị trong Windows Terminal, bạn cần cài đặt nó trên phía Windows nữa. Tải xuống các tệp .ttf và double-click vào từng tệp trong Windows Explorer, hoặc nhấp chuột phải → Install.
Ứng dụng Flatpak
Hầu hết các ứng dụng Flatpak đã có thể thấy các font được cài đặt trong ~/.local/share/fonts, vì Flatpak tự động hiển thị các thư mục font của máy chủ vào sandbox thông qua cơ chế built-in font-sharing. Thường không cần cấp quyền thủ công.
Tuy nhiên, một số ứng dụng (đặc biệt là các ứng dụng dựa trên Electron) đôi khi không nhận font trong sandbox đúng cách. Nếu một ứng dụng Flatpak cụ thể vẫn không hiển thị font sau khi khởi động lại, bạn có thể cấp cho nó quyền truy cập tệp rộng hơn như một phương án dự phòng:
flatpak override --user --filesystem=~/.local/share/fonts com.your.flatpak.app
Ứng dụng Snap
Hầu hết các ứng dụng Snap sử dụng chế độ cô lập strict và đọc font từ máy chủ tự động thông qua giao diện desktop, nhưng nếu font không xuất hiện, hãy kiểm tra:
snap connections <snap-name> | grep font
Cấu hình ligatures sau khi cài đặt
Cài đặt font mới chỉ là một nửa công việc. Hầu hết các trình soạn thảo và terminal cần được bật ligatures một cách tường minh.
VS Code: trong settings.json:
{
"editor.fontFamily": "JetBrains Mono",
"editor.fontLigatures": true
}
Kitty terminal: trong kitty.conf:
font_family JetBrains Mono
Kitty hiển thị ligatures theo mặc định nếu font hỗ trợ.
Alacritty: trong alacritty.toml:
[font]
normal = { family = "JetBrains Mono" }
Lưu ý: Alacritty không hỗ trợ ligatures nguyên bản kể từ các phiên bản gần đây.
GNOME Terminal
GNOME Terminal (và các terminal dựa trên VTE khác) không hiển thị ligatures đúng cách, vì vậy hãy chuyển sang Kitty, WezTerm hoặc Ghostty nếu ligatures quan trọng với bạn. Đừng chuyển sang Alacritty cho mục đích này vì nó cũng không hỗ trợ ligatures (xem ở trên).
Ghostty: trong config:
font-family = JetBrains Mono
Ghostty hiển thị ligatures theo mặc định khi font hỗ trợ, tương tự Kitty.
Khắc phục sự cố
1. Font đã cài nhưng không hiển thị ở bất kỳ đâu
Chạy lại fc-cache -f -v và xác nhận các tệp .ttf thực sự nằm trong ~/.local/share/fonts bằng ls ~/.local/share/fonts. Thường cần đóng hoàn toàn và mở lại ứng dụng (quit-and-reopen), không chỉ mở cửa sổ mới.
2. Hiển thị trong một số ứng dụng nhưng không hiển thị trong ứng dụng khác
Các ứng dụng GTK và Qt đôi khi lưu cache danh sách font riêng. Đăng xuất và đăng nhập lại, hoặc khởi động lại máy, để buộc làm mới hoàn toàn.
3. Hoạt động sau khi khởi động lại nhưng riêng fc-cache không khắc phục được
Điều này bình thường. Một số ứng dụng chỉ đọc danh sách font hệ thống một lần khi khởi động và sẽ không tải lại cho đến khi tiến trình khởi động lại hoàn toàn, không chỉ fc-cache.
4. Ứng dụng Flatpak không thấy font
Xem phần Flatpak ở trên. Hầu hết ứng dụng tự động thấy font, nhưng một ứng dụng cụ thể có thể cần ghi đè quyền truy cập tệp tường minh.
JetBrains Mono so với các font coding phổ biến khác
Gỡ cài đặt JetBrains Mono
Để xóa cài đặt ở cấp người dùng:
rm ~/.local/share/fonts/JetBrainsMono*.ttf
fc-cache -f -v
Đối với cài đặt toàn hệ thống:
sudo rm -r /usr/share/fonts/jetbrains-mono
sudo fc-cache -f -v
Điều chỉnh đường dẫn nếu bạn đã cài vào /usr/local/share/fonts thay thế. Xem phần cài đặt toàn hệ thống ở trên.
Câu hỏi thường gặp (FAQ)
H: JetBrains Mono được cài đặt ở đâu trên Linux?
Đ: Cài đặt ở cấp người dùng vào ~/.local/share/fonts. Cài đặt toàn hệ thống vào /usr/share/fonts (vị trí được JetBrains khuyên dùng), giúp font có sẵn cho tất cả người dùng trên máy. /usr/local/share/fonts cũng hoạt động và được ưa chuộng trên một số bản phân phối cho font thêm thủ công.
H: Tại sao JetBrains Mono không hiển thị sau khi cài đặt?
Đ: Chạy fc-cache -f -v để xây dựng lại bộ nhớ đệm font, sau đó khởi động lại hoàn toàn ứng dụng (không chỉ mở lại cửa sổ) để nó re-read danh sách font hệ thống.
H: JetBrains Mono có miễn phí sử dụng không?
Đ: Có. JetBrains Mono là open-source và được phát hành theo Giấy phép SIL Open Font, miễn phí cho cả mục đích cá nhân và thương mại.
H: JetBrains Mono có hỗ trợ ligatures không?
Đ: Có, JetBrains Mono bao gồm các ligatures lập trình tùy chọn cho các tổ hợp ký tự như ->, != và =>, mặc dù bạn có thể cần bật hỗ trợ ligature riêng trong cài đặt trình soạn thảo hoặc terminal.
H: Tôi có thể cài JetBrains Mono mà không cần trình quản lý gói không?
Đ: Có. Tải trực tiếp các tệp .ttf từ trang phát hành GitHub chính thức, copy chúng vào ~/.local/share/fonts, và chạy fc-cache -f -v.
H: Sự khác biệt giữa JetBrains Mono và JetBrainsMono Nerd Font là gì?
Đ: JetBrains Mono thường là kiểu chữ tiêu chuẩn. JetBrainsMono Nerd Font là phiên bản đã được vá với cùng hình dạng chữ cộng thêm hàng nghìn glyph icon bổ sung, được sử dụng cho các theme dòng lệnh và thanh trạng thái hiển thị icon.
H: Tại sao tôi thấy các ô vuông bị hỏng thay vì icon trong dòng lệnh?
Đ: Theme dòng lệnh của bạn (Starship, Powerlevel10k, v.v.) cần một biến thể Nerd Font, không phải font thường. Cài JetBrainsMono Nerd Font và chọn nó cụ thể trong hồ sơ terminal của bạn.
H: JetBrains Mono có hoạt động trong WSL và Windows Terminal không?
Đ: Bạn cần cài đặt font hai lần. Một lần bên trong WSL cho các ứng dụng GUI Linux, và một lần trên phía Windows (bằng cách double-click vào các tệp .ttf trong Explorer) để Windows Terminal thấy nó.
H: Tại sao ứng dụng Flatpak của tôi không thấy font đã cài?
Đ: Hầu hết các ứng dụng Flatpak tự động thấy font máy chủ thông qua tính năng chia sẻ font tích hợp. Nếu một ứng dụng cụ thể (thường là ứng dụng dựa trên Electron) vẫn không thấy, hãy cấp quyền truy cập tường minh với flatpak override --user --filesystem=~/.local/share/fonts <app-id> và khởi động lại ứng dụng.
H: JetBrains Mono NL là gì?
Đ: JetBrains Mono NL là cùng kiểu chữ với JetBrains Mono nhưng không có ligatures tích hợp. Dùng nó nếu một ứng dụng hiển thị ligatures không chính xác hoặc nếu bạn chỉ thích hiển thị ký tự đơn giản.
H: Làm thế nào để gỡ cài đặt JetBrains Mono trên Linux?
Đ: Xóa các tệp .ttf khỏi ~/.local/share/fonts (hoặc /usr/share/fonts//usr/local/share/fonts đối với cài đặt toàn hệ thống), sau đó chạy fc-cache -f -v để làm mới bộ nhớ đệm font.



