Another Term – এর বিধ্বংসী এন্ট্রি! এখন স্মার্টফোনেই চলবে Linux under PRoot সাথে থাকছে SSH, USB Bluetooth Serial এবং Libusb Support যা আপনার হাতের সাধারণ ফোনটিকে বানিয়ে দেবে টেক দুনিয়ার এক অপরাজেয় জাদুকরী দানব!

Level 31
সনিক টিউনার, টেকটিউনস, গাইবান্ধা

আপনি কি এমন একজন মানুষ যিনি নিজের Android ফোনটিকে সাধারণ ব্যবহারের বাইরেও অন্য উচ্চতায় নিয়ে যেতে চান? আপনি যদি একজন Developer, Hardware Engineer বা Tech-Enthusiast হন, তবে আপনার জন্য Another Term হতে পারে একটি স্বপ্নের Application। এটি কেবল একটি সাধারণ অ্যাপ নয়, বরং আপনার ডিভাইসের ভেতরে লুকিয়ে থাকা অসীম ক্ষমতাকে আনলক করার একটি চাবিকাঠি।

লোকাল শেল এবং হার্ডওয়্যার ইন্টারঅ্যাকশনের নতুন দিগন্ত

Another Term

Another Term মূলত একটি Local Shell Terminal Emulator। তবে একে অন্য সবার থেকে আলাদা করেছে এর Libusb Support। এর মাধ্যমে আপনি সরাসরি একটি Command Line Tool ব্যবহার করে Android Environment-এর সাথে নিবিড়ভাবে কাজ করতে পারেন।

সবচেয়ে ইন্টারেস্টিং ব্যাপার হলো, আপনি আপনার ফোনের ভেতরেই PRoot ব্যবহার করে যেকোনো Linux Distribution-এর স্বাদ নিতে পারেন। আপনি কি কোড Compile করতে চান? নাকি কোনো হার্ডওয়্যার Debug করতে চান? আপনার Programmer যদি Libusb ব্যবহার করে (যেমন বিভিন্ন ধরনের Dongles-এর সাথে OpenOCD), তবে আপনি সরাসরি ফোন থেকেই MCUs (Microcontroller Units) Flash এবং Debug করতে পারবেন।

এই অ্যাপটির বহুমুখিতা আপনাকে মুগ্ধ করবে:

  • এটি একই অ্যাপ্লিকেশনের ভেতরে Local Pty, USB এবং Bluetooth Serial (UART) Ports সাপোর্ট করে।
  • দূরবর্তী সার্ভার ম্যানেজ করার জন্য এতে রয়েছে শক্তিশালী SSH এবং Telnet Support
  • একটি Terminal Run করার জন্য যে ধরনের বিশেষ Keyboard Functions প্রয়োজন, তার জন্য এতে রয়েছে অত্যন্ত উন্নত এবং পর্যাপ্ত Screen Input Methods
  • আপনি চাইলে আপনার পছন্দমতো Screen Columns এবং Rows Numbers সেট করে নিতে পারেন।
  • Android Environment-এর সাথে সব ধরনের ইন্টারঅ্যাকশনের জন্য রয়েছে ডেডিকেটেড Shell Tool

Another Term

অফিসিয়াল ওয়েবসাইট @ Another Term

কীভাবে Another Term ব্যবহার করবেন?

কীভাবে Another Term ব্যবহার করবেন?

১. প্রথমে আপনার অ্যান্ড্রয়েড ফোনে Droid-ify, Neo Store বা আপনার পছন্দের ক্লায়েন্ট ওপেন করে IzzyOnDroid রেপোজিটরি যুক্ত করুন এবং সেখান থেকে লোকাল শেল টার্মিনাল এমুলেটর (Local Shell Terminal Emulator) Another Term ডাউনলোড করে ইন্সটল করুন।

Another Term ডাউনলোড করে ইন্সটল

২. আপনার ফোনের ভেতরেই PRoot ব্যবহার করে লিনাক্স এনভায়রনমেন্ট (Linux Environment) তৈরি করুন এবং সরাসরি ফোন থেকেই কোড কম্পাইল করা বা হার্ডওয়্যার ডিবাগ করার কাজ শুরু করুন।

Linux Environment

৩. লোকাল নেটওয়ার্কে কাজ করার পাশাপাশি দূরবর্তী সার্ভার ম্যানেজ করতে অ্যাপের শক্তিশালী SSH এবং Telnet Support ফিচারগুলো ব্যবহার করুন।

SSH এবং Telnet Support ফিচারগুলো ব্যবহার

৪. টার্মিনালে কাজের সুবিধার্থে অ্যাপের Built-in Screen Keyboard ও ভার্চুয়াল মাউস ব্যবহার করুন এবং নিজের পছন্দমতো Screen Columns ও Rows Numbers সেট করে নিন।

Screen Columns ও Rows Numbers সেট

প্রফেশনাল লেভেলের SSH এবং ইনপুট ফিচার

প্রফেশনাল লেভেলের SSH এবং ইনপুট ফিচার

যারা সিকিউর কানেকশন নিয়ে কাজ করেন, তাদের জন্য Another Term অফার করছে প্রিমিয়াম সব ফিচার। এর SSH Features-এর মধ্যে রয়েছে Zlib Compression, Port Forwarding, এবং নিরাপত্তার জন্য PasswordPublic Key Authentication

অ্যাপটির ইউজার ইন্টারফেসও বেশ আধুনিক। এতে রয়েছে Built-in Screen Keyboard এবং একটি ভার্চুয়াল Mouse। এছাড়া বিশ্বের বিভিন্ন প্রান্তের ভাষা ও কোডিং ফরম্যাট সাপোর্টের জন্য রয়েছে ভিন্ন ভিন্ন Charsets এবং আপনার কাজের সুবিধার্থে Customizable Key Mapping Support

ডাউনলোড এবং আপডেট করার নিয়মাবলী

ডাউনলোড এবং আপডেট করার নিয়মাবলী

আপনি চাইলে সরাসরি APKs Download করতে পারেন, তবে রিকমেন্ডেশন হলো একটি F-Droid Client ব্যবহার করা। এতে আপনার ডিভাইসে অ্যাপটি সবসময় Up-to-Date থাকবে। Neo Store, Droid-ify, অথবা Sunil-এর তৈরি ক্লায়েন্টগুলোতে এই Repo (Repository) ডিফল্টভাবেই চালু থাকে। তবে আপনি যদি F-Droid-এর মতো অন্যান্য ক্লায়েন্ট ব্যবহার করেন, তবে আপনাকে ম্যানুয়ালি এই Repo Add করতে হবে। এটি কীভাবে করতে হয়, তার জন্য সাইটের ওপরের Hint দেখে নিতে পারেন।

এই অ্যাপ্লিকেশনটি বিভিন্ন ধরনের ABIs সাপোর্ট করে, যেমন: Arm64-V8a, Armeabi-V7a, X86, এবং X86_64

অ্যাপ কনফিগারেশন এবং স্পেশাল অ্যাক্সেস (Special Access)

Special Access

অ্যাপটির পূর্ণাঙ্গ কার্যকারিতা নিশ্চিত করতে কিছু বিশেষ পারমিশন প্রয়োজন হয়:

  • : Used for Connections in the Local Network: এটি লোকাল নেটওয়ার্কে কানেকশন তৈরির জন্য ব্যবহৃত হয়।
  • : (Required to Connect to any USBCLASSVIDEO Device since Android 9): অ্যান্ড্রয়েড ৯ বা তার পরবর্তী ভার্সনগুলোতে ইউএসবি ভিডিও ডিভাইসের সাথে সংযোগের জন্য এটি প্রয়োজন।
  • : (Needed to Navigate the File System): ফাইল সিস্টেমের ভেতরে যাতায়াত বা নেভিগেট করার জন্য এটি অত্যাবশ্যক।

পর্দার আড়ালের কারিগরি কাঠামো: Development Framework & Utilities

Development Framework & Utilities

এই অ্যাপ্লিকেশনটি তৈরির পেছনে রয়েছে এক বিশাল কারিগরি কর্মযজ্ঞ। এর প্রতিটি অংশ আধুনিক সব Library দিয়ে সাজানো হয়েছে:

১. ডেভেলপমেন্ট ফ্রেমওয়ার্ক (Development Framework)

অ্যাপটি তৈরিতে Android Support Library ব্যবহার করা হয়েছে। এটি আসলে কোনো একটি নির্দিষ্ট লাইব্রেরি নয়, বরং অনেকগুলো লাইব্রেরির একটি বিশাল সংগ্রহ। একে মূলত Compatibility এবং Component Libraries—এই দুটি ভাগে ভাগ করা যায়। বিস্তারিত তথ্যের জন্য আপনি Understanding the Android Support Library গাইডটি দেখতে পারেন।

২. ইউটিলিটি এবং ইউজার ইন্টারফেস (Utility & UI Components)

  • Activity Subclass & Hooks: এটি একটি Composable Structure তৈরি করতে এবং Base Activity Subclass প্রদান করতে সাহায্য করে।
  • Android Jetpack Annotations: কোডিংয়ের মান বজায় রাখতে এটি ব্যবহৃত হয়।
  • Backward Compatibility: পুরানো অ্যান্ড্রয়েড ভার্সনগুলোতে নতুন সব ফিচার সাপোর্ট দেওয়ার জন্য বিশেষ ইউটিলিটি ব্যবহার করা হয়েছে।
  • ConstraintLayout & Nested Views: ভিউ লেভেলে জটিলতা কমাতে এবং পারফরম্যান্স বাড়াতে এই লাইব্রেরিগুলো কাজ করে।
  • Static Library: এটি এমন সব APIs ব্যবহারের সুযোগ দেয় যা হয়তো পুরানো প্ল্যাটফর্মে নেই।
  • Emoji Compatibility: Kitkat বা তার পরবর্তী ডিভাইসে ইমোজিগুলো যাতে সঠিকভাবে দেখা যায় (ফাঁকা বক্স না আসে), তার জন্য রয়েছে Core Library
  • Fragments & Lifecycle: ইউজার ইন্টারফেসের বিভিন্ন অংশকে পুনরায় ব্যবহারযোগ্য Components-এ রূপান্তর করতে এবং Activities-এর লাইফসাইকেল পরিবর্তন অনুযায়ী কাজ করতে এটি সাহায্য করে।
  • ViewModel: এটি এমন একটি লাইব্রেরি যা Configuration Changes-এর সময়ও আপনার UI-এর ডেটা সুরক্ষিত রাখে।
  • Interactive Settings Screens: ডিভাইসের স্টোরেজ ম্যানেজ করার ঝামেলা ছাড়াই সুন্দর সেটিংস স্ক্রিন তৈরির জন্য এতে বিশেষ ইউটিলিটি রয়েছে।
  • RecyclerView: মেমোরি খরচ কমিয়ে বড় ডেটা সেট সুশৃঙ্খলভাবে প্রদর্শনের জন্য এটি ব্যবহার করা হয়েছে।
  • App Startup: অ্যাপ চালু হওয়ার সময় কম্পোনেন্টগুলো যাতে অত্যন্ত দ্রুত এবং সহজভাবে Initialize হয়, তা নিশ্চিত করে এই AndroidX Library
  • Vector Graphics: হাই-কোয়ালিটি ভিজ্যুয়াল অভিজ্ঞতার জন্য Vector Graphics Render করার সুবিধা রয়েছে।
  • Binary Serialization Format: প্রসেসগুলোর মধ্যে ডেটা আদান-প্রদানের জন্য একটি স্থিতিশীল এবং কমপ্যাক্ট ফরম্যাট প্রদান করে।
  • Flexbox Layout: এটি অ্যান্ড্রয়েডে CSS Flexible Box Layout Module-এর মতো সুবিধা নিয়ে আসে।
  • SeekBarPreference: এটি একটি চমৎকার ও আধুনিক ইউজার ইন্টারফেস এলিমেন্ট।

৪. কমিউনিকেশন এবং কনকারেন্সি

  • JSch - Java Secure Channel: এটি SSH2-এর একটি বিশুদ্ধ Java Implementation। এর মাধ্যমেই অ্যাপটি Sshd Server-এ কানেক্ট হতে পারে এবং Port Forwarding, X11 Forwarding, ও File Transfer-এর মতো জটিল কাজগুলো সম্পাদন করে।
  • Kotlin Coroutines: অ্যাপের পারফরম্যান্সকে সর্বোচ্চ পর্যায়ে নিতে এবং ব্যাকগ্রাউন্ডের কাজগুলো কোনো ল্যাগ ছাড়াই সম্পন্ন করতে এতে রয়েছে Kotlin Coroutines-এর শক্তিশালী সাপোর্ট। (উল্লেখ্য যে, এই প্রজেক্টে পারফরম্যান্স অপ্টিমাইজেশনের জন্য এই লাইব্রেরিটি বারবার গুরুত্বের সাথে ব্যবহার করা হয়েছে)।

পরিশেষে, Another Term কোনো সাধারণ টার্মিনাল অ্যাপ নয়। এটি একটি পূর্ণাঙ্গ পোর্টেবল ল্যাবরেটরি যা আপনার পকেটে থাকা স্মার্টফোনটিকে একটি প্রফেশনাল গ্রেড কম্পিউটিং ডিভাইসে পরিণত করার ক্ষমতা রাখে। আপনি যদি প্রযুক্তির গভীরে কাজ করতে ভালোবাসেন, তবে আজই এটি ট্রাই করে দেখুন!

Level 31

আমি মো আতিকুর ইসলাম। সনিক টিউনার, টেকটিউনস, গাইবান্ধা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 5 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 775 টি টিউন ও 94 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 67 ফলোয়ার আছে এবং আমি টেকটিউনসে 3 টিউনারকে ফলো করি।

“আল্লাহর ভয়ে তুমি যা কিছু ছেড়ে দিবে, আল্লাহ্ তোমাকে তার চেয়ে উত্তম কিছু অবশ্যই দান করবেন।” —হযরত মোহাম্মদ (সঃ)


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস