Terminal dan shell bukan sekadar alat untuk menjalankan perintah, melainkan ruang kerja yang dapat Anda sesuaikan agar semakin nyaman dan produktif. Melalui perubahan pada file konfigurasi, penambahan environment variable, pembuatan alias, hingga penggantian tampilan prompt, Anda dapat membentuk pengalaman bekerja di terminal sesuai kebutuhan. Bab ini membahas berbagai cara kustomisasi shell di Ubuntu 26.04 LTS dan Fedora Workstation 44, termasuk beberapa perbedaan kecil namun penting antara kedua distro yang sering membingungkan pemula.
File Konfigurasi Shell
Perilaku shell dikendalikan oleh file konfigurasi yang disimpan di direktori home Anda. Sebelum mengubah file-file ini, penting untuk memahami kapan masing-masing file dibaca oleh Bash, karena Ubuntu dan Fedora ternyata memiliki kebiasaan default yang sedikit berbeda.
~/.bashrc: Dibaca Setiap Membuka Terminal
File ~/.bashrc dibaca oleh Bash setiap kali Anda membuka shell interaktif non-login, yaitu situasi yang terjadi setiap kali Anda membuka jendela atau tab terminal baru dari desktop GNOME. Karena itu, ~/.bashrc adalah tempat yang tepat untuk menyimpan alias, fungsi, dan pengaturan yang ingin selalu aktif di setiap sesi terminal.
Anda dapat melihat isi file tersebut dengan:
cat ~/.bashrcSetelah mengubah file ini, terapkan perubahan tanpa menutup terminal menggunakan perintah:
source ~/.bashrc~/.bash_profile dan ~/.profile: Bedanya Ubuntu dan Fedora
File yang dibaca saat Anda login (misalnya login ke sesi desktop atau login lewat SSH) disebut file login shell. Di sinilah letak perbedaan yang sering membingungkan: Ubuntu dan Fedora tidak menyediakan file login shell yang sama secara default.
- Ubuntu 26.04 LTS tidak membuat
~/.bash_profileuntuk pengguna baru. Sebagai gantinya, Ubuntu menyediakan~/.profile, yang secara otomatis memuat (source)~/.bashrcdi dalamnya. - Fedora Workstation 44 menyediakan
~/.bash_profilesecara default (disalin dari/etc/skelsaat akun dibuat), yang juga memuat~/.bashrc.
Tabel berikut merangkum perbedaannya:
| File | Ubuntu 26.04 LTS | Fedora Workstation 44 |
|---|---|---|
~/.bashrc | Ada, dibaca setiap buka terminal | Ada, dibaca setiap buka terminal |
~/.bash_profile | Tidak dibuat secara default | Ada secara default |
~/.profile | Ada, dibaca saat login | Tidak dibuat secara default |
Dalam praktiknya, karena kedua file di atas sama-sama sudah memuat ~/.bashrc, Anda hampir tidak perlu mengeditnya secara langsung. Cukup simpan seluruh alias, fungsi, dan environment variable Anda di ~/.bashrc, dan itu akan berlaku baik saat login maupun saat membuka terminal baru.
~/.zshrc (Jika Menggunakan Zsh)
Jika Anda beralih ke Zsh, file konfigurasinya adalah ~/.zshrc. Fungsinya serupa dengan ~/.bashrc, yaitu menampung pengaturan yang dibaca setiap kali Zsh dijalankan sebagai shell interaktif.
Environment Variable
Environment variable adalah variabel yang menyimpan informasi tentang lingkungan sistem dan dapat dibaca oleh program yang berjalan.
echo $HOME, $PATH, $USER
Untuk melihat nilai sebuah environment variable, gunakan echo diikuti nama variabel yang diawali tanda dolar.
echo $HOMEecho $PATHecho $USER$HOME menunjuk ke direktori home Anda, $USER berisi nama pengguna, dan $PATH berisi daftar direktori yang dicari shell ketika Anda menjalankan sebuah perintah. Untuk melihat seluruh environment variable yang aktif sekaligus, gunakan perintah:
envMenambahkan Direktori ke $PATH
Agar shell dapat menemukan program yang Anda simpan di direktori sendiri, tambahkan direktori tersebut ke $PATH. Misalnya, untuk menambahkan ~/.local/bin:
export PATH="$HOME/.local/bin:$PATH"Susunan ini menempatkan direktori baru di awal daftar, sehingga program di dalamnya diprioritaskan. Simpan baris ini di ~/.bashrc agar berlaku permanen setiap kali Anda membuka terminal.
export: Mengeset Environment Variable
Perintah export menjadikan sebuah variabel tersedia bagi program yang dijalankan shell. Tanpa export, variabel hanya dikenali di dalam shell itu sendiri dan tidak diteruskan ke program lain.
Kenapa Aplikasi GUI Tidak Melihat Variabel di .bashrc?
Ini adalah jebakan umum bagi pemula: environment variable yang Anda tambahkan di ~/.bashrc hanya berlaku untuk program yang dijalankan dari dalam terminal. Aplikasi yang Anda buka lewat Activities Overview atau Dash tidak melewati ~/.bashrc sama sekali, sehingga tidak akan melihat variabel tersebut.
Solusi modern yang berlaku untuk Ubuntu maupun Fedora (karena keduanya memakai GNOME dan systemd) adalah membuat file konfigurasi di direktori ~/.config/environment.d/. Variabel yang didefinisikan di sana akan tersedia bagi seluruh aplikasi pada sesi desktop Anda, termasuk yang dibuka lewat GUI. Contoh:
mkdir -p ~/.config/environment.d
nano ~/.config/environment.d/10-custom.confIsi filenya cukup berupa pasangan VARIABEL=nilai, misalnya:
PATH=${HOME}/.local/bin:${PATH}Perubahan ini baru terlihat setelah Anda logout dan login kembali.
Alias: Membuat Shortcut Perintah
Alias memungkinkan Anda membuat nama pendek untuk perintah yang panjang atau sering digunakan.
alias ll='ls -lh'
Untuk membuat alias, gunakan sintaks alias nama='perintah'.
alias ll='ls -lh'Setelah itu, mengetik ll setara dengan menjalankan ls -lh. Untuk melihat seluruh alias yang sedang aktif, jalankan perintah alias saja tanpa argumen, dan untuk menghapus sebuah alias dari sesi berjalan gunakan unalias nama.
Menyimpan Alias di .bashrc
Alias yang dibuat langsung di terminal hanya bertahan selama sesi berlangsung. Agar tersimpan permanen, tambahkan baris alias ke file ~/.bashrc, lalu jalankan source ~/.bashrc untuk menerapkannya.
Shell Prompt Kustom (PS1)
Prompt yang tampil sebelum Anda mengetik perintah dikendalikan oleh variabel bernama PS1. Anda dapat mengubahnya untuk menampilkan informasi seperti nama pengguna, nama host, dan direktori aktif.
Contoh berikut mengatur prompt agar menampilkan informasi tersebut:
export PS1="\u@\h:\w\$ "Dalam string tersebut, \u mewakili nama pengguna, \h nama host, \w direktori aktif, dan \$ menampilkan simbol dolar. Simpan pengaturan ini di ~/.bashrc agar berlaku permanen.
Menambahkan Warna pada PS1
Prompt juga bisa diberi warna menggunakan kode escape ANSI. Contoh berikut membuat bagian nama pengguna dan host tampil hijau:
export PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\w\$ "\033[01;32m mengubah warna teks menjadi hijau tebal, sedangkan \033[00m mengembalikan warna ke keadaan normal. Perhatikan bahwa kode warna tersebut dibungkus dengan \[ dan \]. Tanda kurung siku ini memberitahu Bash bahwa teks di dalamnya tidak menghasilkan karakter yang tampil di layar, sehingga Bash dapat menghitung panjang prompt dengan benar. Jika tanda ini dilupakan, tampilan prompt bisa kacau saat Anda mengetik perintah panjang atau menekan tombol panah untuk memanggil history.
Pengenalan Zsh dan Oh My Zsh
Selain Bash, tersedia shell alternatif bernama Zsh yang menawarkan fitur pelengkap seperti autocompletion yang lebih kaya dan koreksi perintah. Zsh dapat diinstal melalui package manager.
sudo apt install zshDi Fedora, gunakan:
sudo dnf install zshSetelah terinstal, Anda dapat menjadikan Zsh sebagai shell default menggunakan perintah chsh:
chsh -s $(which zsh)Perubahan ini baru berlaku setelah Anda logout dan login kembali. Perlu dicatat, baik Ubuntu 26.04 LTS maupun Fedora Workstation 44 tetap menggunakan Bash sebagai shell default; Zsh selalu bersifat opsional dan perlu dipasang serta diaktifkan secara manual.
Karena Ubuntu 26.04 dan Fedora Workstation 44 sama-sama memakai Ptyxis sebagai terminal default, Anda juga bisa mencoba Zsh tanpa mengganti shell default sistem: buka Preferences pada Ptyxis, pilih profil terminal Anda, lalu pada bagian Command pilih opsi untuk menjalankan perintah kustom dan isikan path Zsh. Cara ini berguna untuk mencoba shell baru per-profil terminal sebelum memutuskan menggantinya secara permanen dengan chsh.
Untuk kemudahan konfigurasi, banyak pengguna memasang Oh My Zsh, sebuah framework yang menyediakan tema dan plugin siap pakai untuk Zsh. Karena pengaturannya lebih lanjut, Oh My Zsh bersifat opsional dan dapat Anda eksplorasi setelah nyaman dengan dasar-dasar shell.
Starship: Alternatif Prompt Modern Lintas Shell
Jika Anda hanya ingin mempercantik dan memperkaya informasi pada prompt tanpa harus berpindah shell atau memasang seluruh framework Oh My Zsh, ada pilihan lain bernama Starship. Starship adalah prompt ringan yang bekerja sama baiknya di Bash, Zsh, maupun Fish, dan dapat menampilkan informasi kontekstual seperti branch Git aktif atau versi bahasa pemrograman yang terdeteksi di direktori kerja Anda.
Ketersediaan paket Starship di repositori resmi berbeda-beda antar versi distro, sehingga cara pemasangan yang paling konsisten untuk Ubuntu maupun Fedora adalah lewat skrip instalasi resminya:
curl -sS https://starship.rs/install.sh | shSetelah terpasang, aktifkan Starship dengan menambahkan baris berikut di akhir ~/.bashrc:
eval "$(starship init bash)"Konfigurasi lebih lanjut, seperti memilih modul apa saja yang ditampilkan, dilakukan melalui file ~/.config/starship.toml.
Kustomisasi shell adalah langkah menyenangkan untuk menjadikan terminal lebih pribadi dan efisien. Dari file konfigurasi, environment variable, alias, hingga prompt, setiap elemen dapat Anda sesuaikan secara bertahap. Pada bab berikutnya, Anda akan menerapkan semangat yang sama untuk menata tampilan desktop GNOME sesuai selera.

