- Android'de Linux ortamı ve terminal işlevleri sunan açık kaynaklı bir uygulama olup, çeşitli paketler kurularak genişletilebilir
- Termux:API, Boot, Float, Styling, Tasker, Widget gibi çeşitli eklenti uygulamalarıyla işlevler tamamlanabilir
- Kurulum F-Droid, GitHub, Google Play (deneysel) gibi kaynaklardan yapılabilir; ancak her kaynağın imzalama anahtarı farklı olduğundan birlikte kullanılamaz
- Android 12 ve sonrasında işlem kısıtlamalarından kaynaklanan kararsızlıklar yaşanabilir; ilgili sorunlar ve çözüm bağlantıları sunulmaktadır
- Geliştiriciler ve bakım sorumluları için paylaşılan kütüphane (
termux-shared), commit mesajı kuralları ve fork yönergeleri açık biçimde belgelenmiştir
Termux genel bakış
- Termux, Android'de Linux ortamı sunan bir terminal emülatörü uygulamasıdır
- Uygulamanın kendisi kullanıcı arayüzü ve terminal emülasyonu işlevlerini içerir
- Kurulabilir paketler, ayrı bir depo olan termux/termux-packages içinde yönetilir
- Android 12 ve sonrasında 32 işlem sınırı ve aşırı CPU kullanımı durumunda işlemlerin sonlandırılması sorunu ortaya çıkabilir
- İlgili sorunlar ve çözüm yolları GitHub issue #2366 ve Android dokümantasyonu bağlantılarıyla yönlendirilir
Termux uygulaması ve eklentiler
- Temel uygulamaya ek olarak şu eklenti uygulamaları desteklenir
- Termux:API, Termux:Boot, Termux:Float, Termux:Styling, Termux:Tasker, Termux:Widget
- Tüm eklentiler aynı sharedUserId(com.termux) değerini kullandığından, yalnızca aynı imzalama anahtarıyla imzalanmış APK'ler birlikte kurulabilir
Kurulum yöntemleri
- En güncel sürüm v0.118.3 olup Android 7 ve sonrası tam olarak desteklenir
- Android 5 ve 6 desteği 2020'de sona ermiş olsa da, 2022'de GitHub kaynağında yalnızca uygulama için yeniden desteklenmiştir
- Farklı imzalama anahtarlarına sahip kaynaklardan (F-Droid, GitHub vb.) karışık kurulum yapılırsa hata oluşur
- Başka bir kaynağa geçmek için mevcut tüm Termux ve eklenti APK'lerinin kaldırılıp yeniden kurulması gerekir
F-Droid
- APK doğrudan F-Droid üzerinden indirilebilir; uygulama kurulduktan sonra güncellemeler manuel olarak kontrol edilmelidir
- F-Droid yapıları Termux geliştiricileri tarafından değil, F-Droid tarafında yönetilir ve imzalama anahtarı farklıdır
- Mimariye özel APK sunulmaz; yalnızca tek bir universal APK (~180MB) dağıtılır
GitHub
- APK'ler GitHub Releases veya Build Action üzerinden sunulur
- Android 7 ve sonrası için
apt-android-7, Android 5 ve 6 için apt-android-5 sürümü kullanılır
- GitHub build APK'leri test anahtarı (
testkey_untrusted.jks) ile imzalanır ve herkes aynı anahtarla build alabilir
- Kötü amaçlı sürüm dağıtımı riski bulunduğundan resmî GitHub deposu dışındaki kaynaklardan APK kurulması önerilmez
- universal APK yaklaşık 180MB, mimariye özel APK'ler ise yaklaşık 120MB boyutundadır
Google Play (deneysel)
- Android 11 ve sonrası için politika uyumlu bir sürüm Google Play'de bulunur, ancak eksik işlevler ve hatalar içerir
- Play sürümü ayrı bir depoda (termux-play-store) geliştirilmektedir
- F-Droid sürümüyle sharedUserId kaldırıldığı için uyumlu değildir; otomatik güncellemelerin devre dışı bırakılması önerilir
Kaldırma ve yedekleme
- Başka bir kurulum kaynağına geçerken veya uygulamayı silerken tüm Termux ve eklenti APK'leri tamamen kaldırılmalıdır
- Kaldırmadan önce Backing up Termux adımlarıyla veriler yedeklenebilir
Topluluk ve dokümantasyon
- Başlıca topluluklar: Reddit(r/termux), Matrix/Gitter kanalları, Twitter(@termuxdevs), destek e-postası(support@termux.dev)
- Resmî dokümantasyon:
- Ek kaynaklar: SSS, dosya sistemi yapısı, uzaktan erişim, Android depolama erişimi, terminal ayarları vb.
5 yorum
Ben daha yeni askerde akıllı telefon kullanmaya başlayan kuşaktanım.
Termux kurup web geliştirme pratiği yaptım, yorumlayıcı da yazdım,
Rust kitabı getirip çalıştım.
Uzun bir aradan sonra GUI'den uzaklaşıp
metin tabanlı ortama yoğunlaşınca keyifliydi.
vimi de Termux kullanırken öğrendim.Hacker News yorumlarındaki gibi,
şimdi de yeni bir Android cihaz elime geçerse
hiç düşünmeden Termux kuruyorum.
Kişisel olarak, dışarıdayken kodu izlemem gereken durumlarda sunucuya kısa süreliğine
sshile bağlanmak için çok kullanışlı buluyorum.Pixel telefon kullanıyorum; en yeni Android sürümünde geliştirici ayarları üzerinden Linux container kurmak resmi olarak mümkün hale geldi (diğer telefonlarda da mümkün mü bilmiyorum. Muhtemelen mümkündür, değil mi?)
Aslında Termux’u da ara sıra elime aldığım bir oyuncak gibi, ya da illa bir şey diyeceksek ping testi gibi işler için kurulu tutuyordum; ama artık böyle kullanım alanlarına da pek ihtiyaç kalmayacakmış gibi geliyor.
İlginç bir uygulamaydı, o yüzden ona veda etmek biraz üzücü geliyor.
CopyParty’yi YouTube’da daha sonra izlenecek videolar listesinde bekletiyordum ama HN yorumlarını görünce onun da aynı kişiye ait olduğunu fark ettim o.o
Hacker News yorumları
Telefona Termux kuran kişinin yaptığı Copyparty, en sevdiğim yazılımlardan biri
GitHub bağlantısı burada, ilgili YouTube videosu da var
Elime her yeni Android cihaz geçtiğinde ilk kurduğum şey Termux oluyor
Bluetooth klavyeli kılıf bağlayıp kanepede Neovim ile uzaktan kod yazıyor, notlarımı vimwiki ile yönetip GitHub’a senkronluyorum
Çoğu CLI aracı Termux deposunda var, yoksa da clang, cmake vb. ile kendim derliyorum
Hâlâ Android’i ana platform olarak kullanmamı sağlayan şey Termux
Benim Termux kullanım senaryom fotoğraf yedeklemeyi otomatikleştirmek
Fotoğrafları NAS’a yedekliyorum ama bazıları eksik kalıyor; bu yüzden NAS üzerinde MD5 checksum hesaplayıp telefondaki aynı dosyaları silen bir betiği Termux ile çalıştırıyorum
Bu sayede onlarca GB alanı güvenilir biçimde boşaltabiliyorum
İlgili Nextcloud konusu burada
Yapay zeka tabanlı geliştirme arttıkça daha fazla insanın Termux, tmux gibi araçları kullanacağını düşünüyorum
Telefonda yazı yazmak zor ama Unexpected Keyboard(bağlantı) gibi klavyeler ve vim modu sayesinde gayet kullanılabilir oluyor
Ben Termux ile SSH’yi sadece gerektiğinde çalıştırıyorum
Termux’u açınca SSH açılıyor, kapatınca da duruyor. Dosyaları rsync ile senkronize etmek için bu yeterli
Sürekli açık tutmaya gerek olmadığından LocalSend ya da SyncThing gibi uygulamaları kullanmıyorum. Masaüstünde basit bir sync betiğinde sadece yönü belirleyip çalıştırıyorum
Artık donanım klavyeli Android telefonlar olmadığı için bu tür uygulamaları neredeyse hiç kullanmıyorum
Eski Motorola Droid zamanlarında Termux ve ConnectBot ile yüksek verimli bir ortam kurmuştum
Şimdi hem potansiyel azaldı hem de donanım çeşitliliğiyle bootloader açıklığı eskisi kadar iyi değil. Termux bana o günlerin nostaljisini hatırlatıyor
Termux içinde tmux, fish, git, yazi gibi ortamları aynen kullanabiliyorsunuz
Rust uygulamaları da derlenebiliyor ve TUI uygulamalarının dokunmatik girdiye tepki vermesi şaşırtıcı
iOS’ta da bu seviyede bir terminal olup olmadığını merak ediyorum
Android’e artık tam Linux ortamı geldiği söyleniyor; peki o zaman Termux’a hâlâ ihtiyaç var mı?
Bununla ilgili tartışmaları r/androidterminal içinde çok görüyorum
Buna karşılık yeni Linux terminali ayrı bir VM içinde çalıştığı için daha fazla depolama alanı kullanıyor
Termux benim için en iyi Android terminal emülatörü
fzf, Neovim ve Git ile notlarımı düzenliyor, SSH ile uzak sistemlere bağlanıyorum
Go ile CLI veya TUI yazıp NDK ile derlediğimde doğrudan Termux içinde çalıştırabiliyorum
Dürüst olmak gerekirse merak ediyorum: bu kadar küçük bir dokunmatik ekranda terminal ortamı nasıl kullanılıyor?
:helpbelgelerini okuyup pratik yapıyordum. Şimdi tamamen alıştım