Termux - Android के लिए एक terminal emulator जिसे कई पैकेज के साथ बढ़ाया जा सकता है
(github.com/termux)- Android पर Linux environment और terminal features देने वाला एक open source app, जिसे अलग-अलग पैकेज इंस्टॉल करके बढ़ाया जा सकता है
- Termux:API, Boot, Float, Styling, Tasker, Widget जैसे कई plugin apps के जरिए इसकी क्षमताएं बढ़ाई जा सकती हैं
- इंस्टॉलेशन F-Droid, GitHub, Google Play (experimental) आदि से किया जा सकता है, लेकिन हर source की signing key अलग होने के कारण इन्हें मिलाकर इस्तेमाल नहीं किया जा सकता
- Android 12 या उसके ऊपर process restrictions की वजह से instability हो सकती है, और उससे जुड़े issues व समाधान के links दिए गए हैं
- developers और maintainers के लिए shared library(termux-shared), commit message rules, fork guidelines आदि साफ़ तौर पर document किए गए हैं
Termux परिचय
- Termux Android पर Linux environment देने वाला एक terminal emulator app है
- app में खुद user interface और terminal emulation features शामिल हैं
- इंस्टॉल किए जा सकने वाले packages अलग repository termux/termux-packages में manage किए जाते हैं
- Android 12 या उसके ऊपर 32 process limit और CPU का ज़्यादा उपयोग होने पर process kill होने की समस्या आ सकती है
- इससे जुड़े issues और समाधान GitHub issue #2366 तथा Android documentation links में बताए गए हैं
Termux app और plugins
- बेसिक app के अलावा यह निम्न plugin apps को support करता है
- Termux:API, Termux:Boot, Termux:Float, Termux:Styling, Termux:Tasker, Termux:Widget
- सभी plugins एक ही sharedUserId(com.termux) का इस्तेमाल करते हैं, इसलिए केवल उसी signing key से signed APKs ही साथ में इंस्टॉल किए जा सकते हैं
इंस्टॉल करने का तरीका
- नवीनतम version v0.118.3 है, और Android 7 या उसके ऊपर पूरी तरह supported है
- Android 5·6 का support 2020 में समाप्त हो गया था, लेकिन 2022 में GitHub source पर केवल app के लिए फिर support दिया गया
- अलग signing key वाले sources (जैसे F-Droid, GitHub) को मिलाकर इंस्टॉल करने पर error होगा
- किसी दूसरे source से इंस्टॉल करने के लिए मौजूदा Termux और plugin APKs को पूरी तरह हटाकर फिर से इंस्टॉल करना होगा
F-Droid
- F-Droid से सीधे APK डाउनलोड किया जा सकता है, लेकिन app इंस्टॉल करने के बाद updates के लिए manually check करना होगा
- F-Droid build को Termux developers नहीं बल्कि F-Droid पक्ष manage करता है, और इसकी signing key अलग है
- architecture-specific APKs उपलब्ध नहीं हैं, केवल single universal APK (~180MB) वितरित किया जाता है
GitHub
- GitHub Releases या Build Action के जरिए APK उपलब्ध कराया जाता है
- Android 7 या ऊपर के लिए
apt-android-7, Android 5·6 के लिएapt-android-5version इस्तेमाल करें
- Android 7 या ऊपर के लिए
- GitHub build APK को test key (
testkey_untrusted.jks) से sign किया गया है, और कोई भी उसी key से build कर सकता है- malicious version फैलने का जोखिम होने के कारण official GitHub repository के अलावा किसी और source से APK इंस्टॉल करना recommend नहीं किया जाता
- universal APK लगभग 180MB का है, जबकि architecture-specific APK लगभग 120MB के हैं
Google Play (experimental)
- Android 11 या उसके ऊपर के लिए policy-compliant version Google Play पर मौजूद है, लेकिन इसमें कुछ features नहीं हैं और bugs भी हैं
- Play version अलग repository (termux-play-store) में develop किया जा रहा है
- F-Droid version के साथ sharedUserId हटाए जाने के कारण compatible नहीं है, और auto-update बंद रखने की सलाह दी जाती है
हटाना और backup
- किसी दूसरे installation source पर स्विच करने या app हटाने के समय, सभी Termux और plugin APKs को पूरी तरह remove करना होगा
- हटाने से पहले Backing up Termux प्रक्रिया के जरिए data backup किया जा सकता है
कम्युनिटी और दस्तावेज़
- मुख्य कम्युनिटी: Reddit(r/termux), Matrix/Gitter channels, Twitter(@termuxdevs), support email(support@termux.dev)
- आधिकारिक दस्तावेज़:
- अतिरिक्त सामग्री: FAQ, file system structure, remote access, Android storage access, terminal settings आदि
5 टिप्पणियां
मैं उस पीढ़ी से हूँ जिसने सेना में रहते-रहते अभी-अभी स्मार्टफोन इस्तेमाल करना शुरू किया था.
Termux इंस्टॉल करके web development की प्रैक्टिस की, interpreter भी लिखकर देखे,
Rust की किताब अंदर ले जाकर पढ़ाई भी की.
काफी समय बाद GUI से बाहर निकलकर
text environment में डूबकर काम करना मज़ेदार लगा.
vim भी मैंने Termux इस्तेमाल करते-करते सीखा.
Hacker News की टिप्पणियों की तरह,
आज भी कोई नया Android device मिलता है
तो मैं बिना सोचे Termux इंस्टॉल कर लेता हूँ.
व्यक्तिगत रूप से, जब बाहर रहते हुए कभी-कभी code monitoring करनी होती है, तब मैं इसे थोड़ी देर के लिए server पर ssh करने के काम में बहुत उपयोगी पाता हूँ।
मैं Pixel phone इस्तेमाल कर रहा हूँ, और latest Android version में developer settings के ज़रिए Linux container install करना officially possible हो गया है (दूसरे phones में भी संभव है या नहीं, पता नहीं। शायद होगा?)
पहले भी मैंने Termux को कभी-कभार निकालकर चलाने वाले एक खिलौने जैसी चीज़, या ज़्यादा से ज़्यादा ping test जैसे काम के लिए install करके रखा था, लेकिन अब लगता है कि शायद उस तरह के इस्तेमाल की भी ज़रूरत नहीं रहेगी।
यह एक दिलचस्प app था, इसलिए इसे अलविदा कहना थोड़ा अफ़सोसजनक लग रहा है.
मैं CopyParty को YouTube की "बाद में देखें" वीडियो लिस्ट में लंबे समय से पड़ा हुआ छोड़ रखा था, लेकिन HN की टिप्पणियाँ पढ़कर पता चला कि वह उसी व्यक्ति का बनाया हुआ था o.o
Hacker News की राय
मेरे पसंदीदा सॉफ़्टवेयरों में से एक Copyparty है, जिसे उसी व्यक्ति ने बनाया है जिसने फ़ोन पर Termux इंस्टॉल किया था
GitHub लिंक यहाँ है, और इससे जुड़ा YouTube वीडियो भी है
जब भी मुझे कोई नया Android डिवाइस मिलता है, मैं सबसे पहले Termux इंस्टॉल करता हूँ
Bluetooth keyboard case जोड़कर सोफ़े पर बैठकर Neovim से remote coding करता हूँ, vimwiki से नोट्स मैनेज करता हूँ और GitHub पर sync करता हूँ
ज़्यादातर CLI tools Termux repository में मिल जाते हैं, और अगर न मिलें तो मैं खुद clang, cmake वगैरह से build कर लेता हूँ
Termux की वजह से ही मैं अब भी Android को main device की तरह इस्तेमाल कर रहा हूँ
Termux का मेरा use case फ़ोटो backup automation है
मैं फ़ोटो को NAS पर backup करता हूँ, लेकिन कुछ फ़ाइलें छूट जाती हैं, इसलिए NAS पर MD5 checksum निकालकर फ़ोन से वही फ़ाइलें delete करने वाली script Termux में चलाता हूँ
इससे भरोसेमंद तरीके से कई दर्जन GB जगह खाली हो जाती है
संबंधित Nextcloud issue यहाँ है
findcommand से हटा देता हूँAI आधारित development बढ़ने के साथ लगता है कि Termux, tmux जैसे tools ज़्यादा लोग इस्तेमाल करेंगे
फ़ोन पर typing मुश्किल होती है, लेकिन Unexpected Keyboard(लिंक) जैसे keyboard और vim mode की वजह से यह काफ़ी उपयोगी बन जाता है
मैं Termux में SSH को सिर्फ़ ज़रूरत पड़ने पर चलाता हूँ
Termux खोलते ही SSH चालू हो जाता है, और बंद करते ही रुक जाता है। rsync से फ़ाइलें sync करने के लिए इतना काफ़ी है
इसे हमेशा चालू रखने की ज़रूरत नहीं पड़ती, इसलिए LocalSend या SyncThing जैसी apps इस्तेमाल नहीं करता। desktop पर एक साधारण sync script से direction तय करके चला देता हूँ
आजकल hardware keyboard वाले Android फ़ोन नहीं हैं, इसलिए ऐसी apps का लगभग इस्तेमाल नहीं करता
पुराने Motorola Droid के दिनों में मैंने Termux और ConnectBot से उच्च उत्पादकता वाला environment बनाया था
अब इसकी संभावनाएँ भी कम हो गई हैं, और hardware की विविधता या bootloader openness भी पहले जैसी नहीं रही। Termux उन दिनों की याद दिलाता है
Termux में आप tmux, fish, git, yazi जैसी environment वैसे की वैसी इस्तेमाल कर सकते हैं
Rust apps भी build की जा सकती हैं, और यह देखना हैरान करता है कि TUI apps touch input पर भी प्रतिक्रिया देती हैं
सोच रहा हूँ कि iOS पर भी इस स्तर का terminal मिलता है या नहीं
सुना है कि अब Android में full Linux environment आ गया है, तो क्या Termux अब भी ज़रूरी है?
इससे जुड़ी काफ़ी चर्चा r/androidterminal पर देखी है
जबकि नया Linux terminal अलग VM में चलता है, इसलिए ज़्यादा storage लेता है
Termux मेरे लिए सबसे बेहतरीन Android terminal emulator है
fzf, Neovim, Git से नोट्स व्यवस्थित करता हूँ, और SSH से remote access भी लेता हूँ
Go से CLI या TUI बनाकर NDK से compile करूँ तो उसे Termux में सीधे चलाया जा सकता है
सच कहूँ तो जिज्ञासा है, इतनी छोटी touchscreen पर terminal environment का इस्तेमाल कैसे करते हैं?
:helpदस्तावेज़ पढ़कर अभ्यास किया था। अब तो पूरी तरह अभ्यस्त हो गया हूँ