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

Blog Jetorbit Indonesia oleh Waktu baca 7 menit 452x dilihat
Termux API: Cara Install Termux:API, Izin Android, dan Perintah yang Sering Dipakai

Bagikan Postingan

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

Kalau perintah alas seperti pkg install dan nano statis asing, buka dahulu 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, maupun memunculkan notifikasi Android. Pekerjaan itu diambil alih Termux API, yang nama resminya ditulis Termux:API. README repositorinya mengatakan aplikasi ini membuka API Android agar bisa dipakai dari baris perintah, skrip, maupun program lain.

Aplikasi Termux:API berjalan di sisi Android. Dialah yang memanggil fungsi HP dan meminta persetujuan ke pengguna. Paket termux-api dipasang di dalam Termux dan berisi perintah seperti termux-battery-status maupun termux-notification. Perintah itu memproses argumen, meneruskan permintaan ke aplikasi lewat program bantu disebut termux-api, kemudian menampilkan akibatnya 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 menerangkan 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 mesti ditandatangani dengan kunci yang sama. README Termux:API menambahkan bahwa cuma aplikasi Termux utama yang boleh memanggil fungsi di aplikasi API, dan izinnya baru bekerja jika tanda tangannya cocok.

Pasangkan Termux dari F-Droid dengan Termux:API dari F-Droid, maupun 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, maupun signatures do not match previously installed version.

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

Cara Install Termux API

  1. Pastikan Termux terpasang dari F-Droid maupun dari halaman rilis GitHub termux/termux-app.
  2. Pasang aplikasi Termux:API dari sumber yang sama: halaman com.termux.api di F-Droid, maupun halaman Releases repositori termux/termux-api di GitHub (nama file APK-nya memuat github.debug).
  3. Buka Termux, kemudian 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 maupun DISCHARGING), plugged, dan temperature.

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

Izin Android yang Diminta Termux API

Aplikasi Termux API mendaftarkan banyak persetujuan di manifesnya, termasuk kamera, lokasi, mikrofon, kontak, SMS, dan getar. Izin yang sensitif tidak diberikan otomatis. Aplikasi memeriksanya setiap kali perintah dipanggil. Bila persetujuan belum ada, ia membuka percakapan persetujuan 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 persetujuan kamera belum diberikan, misalnya, keluarannya seperti ini:

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

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

Lokasi punya syarat tambahan. Di Android 11 ke atas, Termux:API juga memeriksa persetujuan letak latar belakang. Bila belum ada, termux-location mengembalikan pesan Background location permission not granted dan meminta kalian membuka Settings, Apps, Termux:API, Permissions, Location, kemudian 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 mekanisme 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 alasan maupun 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 hubungan Wi-Fi saat ini, seperti SSID, IP, RSSI, dan kecepatan tautantermux-wifi-connectioninfo
termux-torchMenyalakan maupun mematikan sentertermux-torch on
termux-job-schedulerMenjadwalkan skrip agar berjalan berkalalihat contoh di bawah

Sebagian besar perintah menampilkan pertolongan dan daftar opsinya lewat -h, misalnya termux-notification -h. Daftar komplit 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, kemudian memunculkan notifikasi dan getar singkat jika baterai sedang tidak diisi dan sisanya 20% maupun 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 memungut bilangan dari baris percentage, dan cut memungut teks status seperti DISCHARGING. Pengecekan status membikin notifikasi tidak muncul saat HP sedang dicas. Opsi --id baterai membikin notifikasi baru menimpa notifikasi durasi dengan ID yang sama, jadi tidak menumpuk. Kalau formasi 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, kemudian 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 masa sejak Android 7 menurut teks pertolongan perintah ini. Opsi --battery-not-low bawaannya true, artinya tugas cuma berjalan saat baterai tidak lemah. Untuk skrip peringatan baterai, harga itu mesti diubah ke false, jika tidak skripnya justru tidak jalan saat dibutuhkan. Cek agenda 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 percakapan yang muncul maupun di pengaturan aplikasi Termux:API
Background location permission not grantedAndroid 11 ke atas, persetujuan letak belum diset sepanjang waktuUbah persetujuan letak 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 selesai dengan pesan signal 9 maupun paket yang tidak ditemukan saat pkg install, sudah kami ulas di 10 error pada Termux dan metode mengatasinya.

Artikel Lainnya Blog Jetorbit Indonesia
↑
Close Right Ads
Close Left Ads