Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Inilah Cara Mengatur Raspberry Pi 5 dengan Ubuntu Server untuk Python dan Desktop GUI Tanpa Ribet

Posted on June 15, 2026

Kalian baru saja membeli Raspberry Pi 5, melakukan flashing Ubuntu Server, dan sekarang hanya menatap kursor yang berkedip di layar hitam. Tanpa GUI, tanpa browser, rasanya membingungkan harus mulai dari mana. Kami akan memandu kalian melewati proses setup untuk Python development hingga instalasi desktop GUI dengan lancar.

Sebelum memulai, pastikan spesifikasi yang kami gunakan di sini sesuai dengan milik kalian agar meminimalisir kendala:

  • Board: Raspberry Pi 5 (RAM 4GB)
  • OS: Ubuntu Server 24.04 LTS (Noble Numbat)
  • Kernel: 6.8.0-1056-raspi (aarch64)
  • Target Akhir: Environment Python + VS Code + ROS2 + GUI Desktop

Berikut adalah langkah-langkah instalasi dan konfigurasinya:

Cek Awal dan Update Sistem
Saat pertama kali masuk ke Ubuntu Server, kalian emang cuma bakal melihat tampilan teks hitam dengan kursor berkedip. Masuklah dengan username dan password yang udah kalian buat saat proses flashing. Langkah pertama, jalankan beberapa perintah dasar ini untuk mengecek kondisi sistem kalian:

  • uname -a untuk melihat versi kernel yang aktif.
  • free -h untuk melihat sisa RAM. Biasanya pada varian 4GB, RAM yang terbaca sekitar 3.91 GB karena sebagian kecil udah dipakai oleh sistem cadangan.
  • df -h untuk ngecek kapasitas penyimpanan MicroSD atau SSD kalian.
  • hostname -I untuk nunjukkin alamat IP Raspberry Pi kalian di jaringan lokal.
    Setelah itu, lakukan update sistem agar paket-paket di dalamnya segar kembali dengan perintah:
    sudo apt update && sudo apt upgrade -y

Ngatasi Masalah Broken Packages Setelah Proses Upgrade

Sepertinya masalah ini sering terjadi setelah upgrade sistem dilakukan. Saat kalian mencoba menginstal program lain, kalian mungkin bakal menemui error “unmet dependencies” pada paket seperti libbz2-1.0. Ini terjadi karena adanya perbedaan versi antara paket bawaan Ubuntu dan paket khusus Raspberry Pi yang memiliki akhiran “build0.1”.

Rasanya nyebelin, tapi solusinya cukup mudah yaitu melakukan downgrade paksa ke versi standar dengan perintah berikut:

sudo apt install libbz2-1.0=1.0.8-5.1 --allow-downgrades -y
sudo apt install libbz2-dev=1.0.8-5.1 --allow-downgrades -y
sudo apt install bzip2 bzip2-doc -y

Opsi --allow-downgrades ini emang ampuh buat mengatasi ketidakcocokan paket semacam ini pada arsitektur ARM Raspberry Pi.

Menginstal Perkakas Utama (Essential Tools)

Setelah urusan dependensi beres, kalian perlu menginstal perkakas dasar yang bakal ngebantu proses development ke depannya. Jalankan perintah ini:

sudo apt install -y curl wget git nano build-essential python3-pip python3-venv python3-dev

Berikut adalah penjelasan fungsi masing-masing tool tersebut:

  • curl dan wget berguna buat mengunduh file langsung dari internet lewat terminal.
  • git merupakan tool version control yang wajib ada untuk mengelola kode kalian.
  • nano adalah teks editor sederhana di terminal yang gampang dipakai.
  • build-essential berisi compiler yang sangat dibutuhkan saat kalian ngebangun program dari source code.
  • python3-pip dipakai untuk menginstal library Python dari PyPI.
  • python3-venv digunakan untuk ngebikin lingkungan virtual Python agar tidak mengotori sistem utama.

Membuat Virtual Environment Python yang Aman

Kami sangat tidak menyarankan kalian menginstal library Python langsung ke sistem global. Hal ini bisa ngebikin sistem tidak stabil atau bentrok dengan sistem operasi bawaan. Solusinya, buatlah virtual environment terisolasi di dalam direktori project kalian:

mkdir ~/projects && cd ~/projects
python3 -m venv myenv
source myenv/bin/activate

Setelah kalian menjalankan perintah source, tanda (myenv) akan muncul di sebelah kiri nama terminal kalian. Ini nunjukkin kalau kalian udah berada di dalam lingkungan terisolasi tersebut. Sekarang, silakan instal pustaka yang kalian butuhkan, misalnya:

pip install numpy pandas matplotlib

Supaya lingkungan virtual ini otomatis aktif setiap kali terminal dibuka, kalian bisa memasukkan perintahnya ke dalam konfigurasi .bashrc dengan cara:

echo "source ~/projects/myenv/bin/activate" >> ~/.bashrc

Nginstall Lingkungan Desktop (GUI)

Ubuntu Server aslinya nggak dibekali desktop grafis. Untuk penggunaan harian, kami ngerekomendasiin Xubuntu Desktop Minimal karena tampilannya bersih, fungsional, dan nggak terlalu boros RAM. Jalankan perintah:

sudo apt install xubuntu-desktop-minimal -y

Jika di tengah jalan kalian menemui error ketergantungan paket pada plymouth-label karena konflik versi, solusinya mirip kayak sebelumnya. Lakukan downgrade pada paket plymouth terlebih dahulu:

sudo apt install plymouth=24.004.60-1ubuntu7 --allow-downgrades -y

Lalu lanjutkan kembali proses instalasi desktop grafis tadi. Setelah selesai, atur sistem agar langsung masuk ke tampilan grafis saat booting, kemudian restart:

sudo systemctl set-default graphical.target
sudo reboot

Ngatasi Masalah Layar Hitam (LightDM Crash)

Ketika proses reboot selesai, terkadang kalian cuma melihat layar hitam dengan tanda garis bawah yang berkedip-kedip, bukannya halaman login desktop. Jangan panik dulu. Tekan tombol Ctrl + Alt + F2 untuk masuk kembali ke terminal teks. Login kembali, lalu periksa status display manager kalian dengan perintah:

sudo systemctl status lightdm

Seringkali masalahnya terletak pada X Server yang gagal berjalan karena driver display bawaan yang tidak terdeteksi dengan benar. Solusinya adalah dengan menginstal server grafis tambahan dan mengonfigurasi frame buffer manual:

sudo apt install -y xorg xserver-xorg xinit xserver-xorg-video-fbdev x11-xserver-utils
sudo mkdir -p /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/99-fbdev.conf

Di dalam editor nano yang terbuka, ketikkan baris konfigurasi berikut:

   Section "Device"
       Identifier "RPi GPU"
       Driver "fbdev"
       Option "fbdev" "/dev/fb0"
   EndSection

Simpan dengan menekan Ctrl+X, lalu ketik Y, dan tekan Enter. Setelah itu restart ulang service LightDM:

sudo systemctl restart lightdm

Kini layar login grafis Xubuntu seharusnya sudah muncul dengan lancar.

Nginstal Browser Chromium

Begitu kalian masuk ke tampilan desktop, buka terminal emulator di dalam GUI tersebut dan instal browser Chromium:

sudo apt install chromium-browser -y

Chromium emang jauh lebih ringan dijalankan di arsitektur ARM64 dibandingkan Firefox, sehingga aktivitas browsing kalian nggak akan terlalu terganggu oleh lag.

Sebagai tambahan referensi, berikut beberapa perintah CLI dasar yang wajib dihafal bagi pemula yang baru bermigrasi ke ekosistem Linux:

  • ls berfungsi untuk melihat daftar file dan folder di direktori aktif.
  • cd nama_folder digunakan untuk masuk ke suatu folder tujuan.
  • cd .. dipakai untuk kembali ke satu folder sebelumnya.
  • pwd untuk nunjukkin lokasi folder tempat kalian berada saat ini.
  • cat file.txt berguna untuk membaca isi file langsung tanpa mengeditnya.
  • sudo dijalankan untuk memberikan hak akses administrator pada perintah tertentu.
  • Ctrl + C dipakai untuk menghentikan proses program yang sedang berjalan secara paksa di terminal.

Ngonfigurasi Ubuntu Server di Raspberry Pi 5 emang penuh tantangan, terutama saat berurusan dengan konflik dependensi paket grafis. Namun, dengan memahami cara membaca log sistem dan memanfaatkan perintah dasar Linux, semua kendala tersebut sepertinya bisa diatasi secara bertahap. Kami saranin rekan-rekanita semua untuk selalu menggunakan lingkungan virtual Python agar sistem utama tetap terjaga kebersihannya dari konflik dependensi software.

Rekan-rekanita sekalian, terima kasih banyak sudah ngebaca panduan ini hingga selesai, semoga bermanfaat untuk proyek development kalian berikutnya!

Terbaru

  • IP Address Rate Limiting is Flawed—Here is the Right Way to Do It
  • Are Fedora 45 Stuck in Its Comfort Zone? A Short Review
  • Hacktober Recap 2026, A Month Full of Dangerous CVE: eMudhra, Gitlab, Brotli, PHP, NodeJS etc
  • 7 Skill Keamanan Jaringan yang Membuat Network Engineer Makin Dibutuhkan
  • How to Spin Up Disposable macOS and Linux VMs on Apple Silicon with TartVM
  • Belajar Cyber Security dari Nol hingga Siap Kerja, Ini Roadmap Lengkapnya
  • Running Windows 11 on Apple Silicon: UTM vs. Parallels Desktop vs. VMware Fusion
  • Testing PikaOS, a Rolling Debian Distribution Special for Gaming and Content Creation
  • Engineering the On-Premises AI Data Center: An In-Depth Technical Review of the HP ZGX Fury AI Station
  • Trying my new Favourite Task Manager, TMOG on Omarchy Linux
  • ASRock Industrial AI Box A395: Is This the Best Compact Strix Halo System for Local AI?
  • Redox OS: A Rust-Based Microkernel Operating System (And How It Differs from Linux)
  • Canonical Is Bringing Back Ubuntu Core Desktop — This Time With a Clearer Plan
  • systemd Officially Adds Support for Rust Components
  • Rocky Linux Creator Builds a Brand-New “Not Linux” Kernel in 11 Days Using AI
  • Building a local AI agent in Workshop on Ubuntu 26.10
  • Omarchy 4.5 RC: 5 New Apps That Actually Look Useful
  • Worth It! Switching from Fedora KDE to Kubuntu
  • I’m Happy Using ‘Herdr’, The Fastest Growing Devtool written in Rust
  • Testing Goose on Omarchy Linux (App & CLI): The Open-Source Solution for Daily Task Automation
  • GNOME Founder Attacks Omarchy Founder as “Lazy, Racist, Ignorant”
  • Why I Stopped Using Plain Command Line Docker and Use Portainer 3.0 To Make My Home Projects Fun Again
  • Why I Switched to a Proper Firewall Box with OPNSense for My Homelab Stuff
  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Leaked Qwen 4 and GLM 5.5 Post-Training, Beating the 27B Models
  • Do you Agree? Anthropic Secretly Watermarks All Claude’s Text!
  • Some of New Gemini Notebook Update is CRAZY GOOD: Native Mobile Recording
  • Clover 35B A3B Local Test | Diffusion Model Beats Qwen 35B MoE? | Local AI Setup with llama.cpp
  • The no-code app implementation plan in 2026
  • Banyak yang tanya Manggala Agni itu apa, kerjanya gimana, dan bisa daftar CPNS pakai ijazah SMA atau tidak? Ini penjelasannya
  • Lagi rame isu menteri inisial TK ditahan gara-gara kasus penyadapan, beneran apa cuma kabar burung?
  • Giring Ganesha mundur dari pengurus PSI, bakal pindah ke Gerindra gara-gara jadi Wamen?
  • Banyak yang nanya soal beasiswa Kacer Karawang 2026, dapet berapa dan buat bayar apa aja?
  • Lagi rame istilah Apantat di medsos, apa sih artinya atau cuma sekadar bahasa gaul absurd?

©2026 emka.web.id | Design: Newspaperly WordPress Theme