Langsung ke konten
.ai.id dibuka 5 Okt 08.00 WIB--:--:--
Jetorbit

Termux API: Cara Install Termux:API, Izin Android, dan Perintah yang Sering Dipakai

6 menit baca

Bagikan:
Ilustrasi Termux API untuk memakai fitur HP dari terminal
Daftar isi7 bagian

Termux API adalah pasangan aplikasi Android Termux:API dan paket termux-api yang membuat perintah di Termux bisa memakai fungsi HP, misalnya membaca status baterai, memunculkan notifikasi, mengisi clipboard, atau memotret. Kalian perlu memasang keduanya, dan aplikasi Termux serta Termux:API harus berasal dari sumber yang sama: sama-sama F-Droid atau sama-sama GitHub.

Kalau perintah dasar seperti pkg install dan nano masih asing, buka dulu daftar perintah Termux kami, karena contoh di bawah memakai keduanya.

Apa Itu Termux API dan Kenapa Butuh Dua Bagian

Termux sendiri adalah terminal dan lingkungan Linux. Ia tidak bisa langsung menyalakan senter, membaca lokasi, atau memunculkan notifikasi Android. Pekerjaan itu diambil alih Termux API, yang nama resminya ditulis Termux:API. README repositorinya menyebut aplikasi ini membuka API Android supaya bisa dipakai dari baris perintah, skrip, atau program lain.

Aplikasi Termux:API berjalan di sisi Android. Dialah yang memanggil fungsi HP dan meminta izin ke pengguna. Paket termux-api dipasang di dalam Termux dan berisi perintah seperti termux-battery-status atau termux-notification. Perintah itu memproses argumen, meneruskan permintaan ke aplikasi lewat program bantu bernama termux-api, lalu menampilkan hasilnya di terminal. Beberapa perintah, seperti status baterai dan lokasi, mengembalikan hasil dalam format JSON.

Jadi paket tanpa aplikasi tidak punya tujuan untuk dipanggil, dan aplikasi tanpa paket tidak punya perintah untuk dijalankan. Deskripsi paket di repositori Termux pun mengingatkan hal yang sama: pasang juga aplikasi Termux:API.

Kenapa Termux dan Termux:API Harus dari Sumber yang Sama

Syarat ini wajib dipenuhi sebelum memasang Termux API. README termux-app menjelaskan bahwa APK dari tiap sumber ditandatangani dengan kunci yang berbeda. Termux dan semua pluginnya, termasuk Termux:API, memakai sharedUserId com.termux yang sama, sehingga semuanya harus ditandatangani dengan kunci yang sama. README Termux:API menambahkan bahwa hanya aplikasi Termux utama yang boleh memanggil fungsi di aplikasi API, dan izinnya baru bekerja bila tanda tangannya cocok.

Pasangkan Termux dari F-Droid dengan Termux:API dari F-Droid, atau Termux dari GitHub dengan Termux:API dari GitHub. Kalau dicampur, Android biasanya menolak pemasangan dengan pesan seperti App not installed, INSTALL_FAILED_SHARED_USER_INCOMPATIBLE, atau signatures do not match previously installed version.

Mau pindah sumber? Hapus dulu Termux beserta semua pluginnya, lalu pasang ulang semuanya dari sumber baru. README Termux menyarankan mencadangkan isi Termux sebelum menghapusnya. Untuk Google Play, README yang sama menyebut build di sana masih cabang eksperimental dengan fitur yang belum lengkap, dan menyarankan F-Droid atau GitHub bagi yang bisa memakainya.

Cara Install Termux API

  1. Pastikan Termux terpasang dari F-Droid atau dari halaman rilis GitHub termux/termux-app.
  2. Pasang aplikasi Termux:API dari sumber yang sama: halaman com.termux.api di F-Droid, atau halaman Releases repositori termux/termux-api di GitHub (nama file APK-nya memuat github.debug).
  3. Buka Termux, lalu pasang paket perintahnya dengan pkg install termux-api.
  4. Uji dengan termux-battery-status. Kalau berhasil, terminal menampilkan JSON yang antara lain berisi percentage (persen baterai), status (misalnya CHARGING atau DISCHARGING), plugged, dan temperature.

Di antara perintah Termux API, status baterai tidak meminta izin apa pun, jadi cocok untuk tes pertama. Perintah yang menyentuh kamera, lokasi, atau mikrofon akan memunculkan dialog izin saat pertama kali dipanggil.

Izin Android yang Diminta Termux API

Aplikasi Termux API mendaftarkan banyak izin di manifesnya, termasuk kamera, lokasi, mikrofon, kontak, SMS, dan getar. Izin yang sensitif tidak diberikan otomatis. Aplikasi memeriksanya setiap kali perintah dipanggil. Bila izin belum ada, ia membuka dialog izin dan mengembalikan pesan error ke terminal. Beberapa contohnya:

PerintahIzin Android yang diperiksa
termux-camera-photoCAMERA
termux-locationACCESS_FINE_LOCATION
termux-microphone-recordRECORD_AUDIO
termux-contact-listREAD_CONTACTS
termux-call-logREAD_CALL_LOG
termux-sms-sendREAD_PHONE_STATE dan SEND_SMS

Kalau izin kamera belum diberikan, misalnya, keluarannya seperti ini:

{
  "error": "Please grant the following permission to use this command: android.permission.CAMERA"
}

Setelah izin diberikan lewat dialog, jalankan ulang perintahnya. Kalau izin sempat ditolak, buka pengaturan aplikasi Termux:API di Android, masuk ke bagian izin, lalu aktifkan izin yang disebut di pesan error.

Lokasi punya syarat tambahan. Di Android 11 ke atas, Termux:API juga memeriksa izin lokasi latar belakang. Bila belum ada, termux-location mengembalikan pesan Background location permission not granted dan meminta kalian membuka Settings, Apps, Termux:API, Permissions, Location, lalu memilih Allow all the time. Perintah termux-notification-list juga butuh akses notifikasi; tanpa akses itu, aplikasi menampilkan toast Please give Termux:API Notification Access dan membuka halaman pengaturannya.

Daftar Perintah Termux API yang Sering Dipakai

PerintahFungsiContoh
termux-battery-statusStatus baterai dalam JSON: persen, status pengisian, suhu, sumber dayatermux-battery-status
termux-notificationMenampilkan notifikasi sistem dengan judul (-t) dan isi (-c)termux-notification -t "Backup" -c "Selesai"
termux-toastPopup teks singkat di layar; -s untuk durasi pendektermux-toast -s "Selesai"
termux-vibrateMenggetarkan HP; -d durasi dalam milidetik (bawaan 1000)termux-vibrate -d 500
termux-clipboard-getMembaca teks di clipboardtermux-clipboard-get
termux-clipboard-setMengisi clipboard dari argumen atau stdinecho "halo" | termux-clipboard-set
termux-locationLokasi HP; -p gps/network/passive, -r once/last/updatestermux-location -p network -r last
termux-camera-infoInformasi kamera yang ada di HP, termasuk ID-nyatermux-camera-info
termux-camera-photoMemotret dan menyimpan JPEG; -c memilih ID kameratermux-camera-photo -c 0 foto.jpg
termux-wifi-connectioninfoInfo koneksi Wi-Fi saat ini, seperti SSID, IP, RSSI, dan kecepatan tautantermux-wifi-connectioninfo
termux-torchMenyalakan atau mematikan sentertermux-torch on
termux-job-schedulerMenjadwalkan skrip agar berjalan berkalalihat contoh di bawah

Sebagian besar perintah menampilkan bantuan dan daftar opsinya lewat -h, misalnya termux-notification -h. Daftar lengkap perintah Termux API ada di folder scripts repositori termux-api-package di GitHub; tiap file di sana adalah skrip satu perintah beserta teks bantuannya.

Contoh Skrip Termux API: Notifikasi Saat Baterai Hampir Habis

Skrip ini memakai tiga perintah Termux API sekaligus. Ia membaca status baterai, lalu memunculkan notifikasi dan getar singkat bila baterai sedang tidak diisi dan sisanya 20% atau kurang.

#!/data/data/com.termux/files/usr/bin/sh
BATAS=20

INFO=$(termux-battery-status)
PERSEN=$(echo "$INFO" | grep '"percentage"' | grep -o '[0-9][0-9]*')
STATUS=$(echo "$INFO" | grep '"status"' | cut -d '"' -f 4)

if [ -n "$PERSEN" ] && [ "$STATUS" = "DISCHARGING" ] && [ "$PERSEN" -le "$BATAS" ]; then
  termux-notification --id baterai -t "Baterai tinggal $PERSEN%" -c "Colokkan charger sebelum HP mati."
  termux-vibrate -d 500
fi

Baris grep mengambil angka dari baris percentage, dan cut mengambil teks status seperti DISCHARGING. Pengecekan status membuat notifikasi tidak muncul saat HP sedang dicas. Opsi --id baterai membuat notifikasi baru menimpa notifikasi lama dengan ID yang sama, jadi tidak menumpuk. Kalau susunan if dengan beberapa kondisi itu belum familier, lihat panduan if else di Bash.

Cara memasang dan menjadwalkannya:

  1. Buat filenya dengan nano ~/baterai.sh, tempel skrip di atas, lalu simpan.
  2. Jadikan executable dengan chmod +x ~/baterai.sh.
  3. Uji sekali dengan ~/baterai.sh. Supaya notifikasinya pasti muncul saat uji, ubah sementara BATAS=20 menjadi BATAS=100 dan cabut charger.
  4. Jadwalkan dengan termux-job-scheduler -s $HOME/baterai.sh --job-id 1 --period-ms 900000 --battery-not-low false.

Angka 900000 milidetik sama dengan 15 menit, batas minimum periode sejak Android 7 menurut teks bantuan perintah ini. Opsi --battery-not-low bawaannya true, artinya tugas hanya berjalan saat baterai tidak lemah. Untuk skrip peringatan baterai, nilai itu harus diubah ke false, kalau tidak skripnya justru tidak jalan saat dibutuhkan. Cek jadwal yang aktif dengan termux-job-scheduler -p dan hapus dengan termux-job-scheduler --cancel --job-id 1.

Error yang Sering Muncul Saat Memakai Termux API

PesanPenyebabSolusi
App not installed, INSTALL_FAILED_SHARED_USER_INCOMPATIBLE, signatures do not match previously installed versionTermux dan Termux:API berasal dari sumber berbedaHapus Termux dan semua pluginnya, pasang ulang dari satu sumber
Perintah seperti termux-battery-status tidak dikenali (command not found)Paket termux-api belum terpasangpkg install termux-api
Please grant the following permission to use this command: ...Izin Android untuk perintah itu belum diberikanIzinkan di dialog yang muncul atau di pengaturan aplikasi Termux:API
Background location permission not grantedAndroid 11 ke atas, izin lokasi belum diset sepanjang waktuUbah izin lokasi Termux:API ke Allow all the time
Cannot execute file: ...Skrip yang dijadwalkan belum executablechmod +x pada skrip tersebut
No such file: ...Path skrip di termux-job-scheduler -s salahPakai path lengkap, misalnya $HOME/baterai.sh

Error di luar Termux API, seperti proses yang berhenti dengan pesan signal 9 atau paket yang tidak ditemukan saat pkg install, sudah kami bahas di 10 error pada Termux dan cara mengatasinya.

Bagikan:

Artikel lain di Hosting & Server

Semua artikel Hosting & Server