টারমিনাল বা স্ক্রিপ্ট থেকে ডিফল্ট অ্যাপলিকেশনের মাধ্যমে ফাইল ওপেন করার মোটামুটি অব্যর্থ উপায়

আমরা লিনাক্স বেইজড ডিস্ট্রিবিউশন গুলা যারা চালাই তারা অনেকেই টার্মিনাল ব্যবহারে অভ্যস্ত, GUI থাকার পরেও। অধিকাংশ ক্ষেত্রেই আমাদের একাধিক অ্যাপ থাকে একই কাজের জন্য। যেমন, ভিডিও প্লেব্যাকের জন্য VLC ছাড়াও আরও অনেক অ্যাপ থাকাটা অস্বাভাবিক না। এখন আপনি হয়ত বলবেন, আমি তো appname filename.extension এই ফরম্যাটে কমান্ড দিলেই যেকোন অ্যাপলিকেশন দিয়ে ওপেন করতে পারি। হ্যাঁ, তা পারেন। তবে এটার দুইটা সমস্যা আছে।
১। অ্যাপলিকেশন ভেদে আপনি আর ঐ টার্মিনাল উইন্ডোটা ব্যবহার নাও করতে পারেন
২। আপনি যদি কোন স্ক্রিপ্টের মাধ্যমে ওপেন করতে চান তাহলে আপানর স্ক্রিপ্টের ইউজারের কাছে যে ঐ অ্যাপ থাকবে তার কোন গ্যারান্টি নাই।

মূলত দুই নং পয়েন্টটার জন্যই অধিকাংশ সময়ই ঝামেলায় পড়তে হয়। ম্যাকে open নামে একটা কমান্ড দেখে মুগ্ধ হয়ে গেছিলাম। সুন্দর মত MIME Type দেখে ডিফল্ট অ্যাপলিকেশন দিয়ে এই কমান্ডটি ফাইল ওপেন করে ফেলে। এখন প্রশ্ন আসতে পারে, ভাই MIME Type আবার কি? সংক্ষেপে উত্তর দেই আমরা সাধারণত মনে করি একটা ফাইলের মধ্যে কি আছে তা মনে হয় ফাইলের এক্সটেনশন দেখে বুঝা যায়। কিন্তু আসলে বিষয়টা তা না। আমি কোন এক্সটেনশন ছাড়াও ফাইল রাখতে পারি এবং অনেক ক্ষেত্রেই এক্সটেনশন গুলা জাস্ট কন্টেইনার হিসাবেও কাজ করে। ফাইলের ভেতরে আসলে কি ধরনের ডাটা আছে, কোন কম্প্রেশন এলগোরিদম ব্যবহার করা হয়েছে এগুলা আসলে MIME Type দেখে বোঝা যায়। যেমন, একটা ইমেজ ফাইলের MIME Type হতে পারে ‘image/jpeg’, অর্থাৎ, ফাইলটি একটা ইমেজ আর এর কম্প্রেশন অ্যালগোরিদম হচ্ছে jpeg। তো এই প্রতিটা MIME Type এর জন্য আপানর অপারেটিং সিস্টেমের একটা ডেটাবেইজ আছে, যেখানে কোন MIME Type এর ফাইল কোন অ্যাপলিকেশন দিয়ে বাই ডিফল্ট ওপেন করা হবে তার একটা লিস্ট থাকে। সুতরাং আমরা যদি ইউজারের ডিফল্ট অ্যাপলিকেশন দিয়ে ফাইল ওপেন করতে চাই, তাহলে আমাদের এই ডেটাবেইজ থেকে ইনফরমেশন নিয়ে সম্পর্কিত অ্যাপটা কল করতে হবে।

ওকে, থিউরি বুঝা শেষ। খুব পেইনের কাজ মনে হচ্ছে তাই না? আসলে না। এইসব জিনিসপত্র হ্যান্ডেল করার জন্য ডেস্কটপ লিনাক্স ডিস্ট্রিবিউশন গুলাতে xdg-utils নামে একটা প্যাকেজ থাকে (সাধারণত, আমি এখনও এই প্যাকেজ ছাড়া কোন ডিস্ট্রিবিউশন দেখি নাই। আপনার জানা থাকলে অবশ্যই জানাবেন)। এই প্যাকেজের দ্বায়িত্বই হচ্ছে ডেটাবেজ টা ম্যানেজ করা আর ডিফল্ট অ্যাপলিকেশন সেট করা। xdg-utils প্যাকেজের সাথে একটা কমান্ড আছে ‘xdg-open’ এবং আশা করি কাজ বুঝে ফেলেছেন 😉

কমান্ডটির ব্যবহার,
xdg-open filename

ব্যাস, কাজ শেষ। 🙂

মাইম টাইপের ব্যাপরে প্রথমে শিখতে হয়েছিল একটা বিশাল বাঁশ খেয়ে। শিখিয়েছিলেন, লিজেন্ড বাবর ভাই। 🙂

কারও কোন প্রশ্ন বা অন্য কিছু জানার থাকলে কমেন্ট করতে পারেন। অথবা, আমাকে মেইল করতে পারেন [email protected] এ 🙂

Huawei Honor Band 3 এর মনের ভেতর থেকে একটা রিভিউ

যখনই Honor Band 3 এর কথা উঠে, একটা কথা বারবার শুনতে হয়, সেটা হচ্ছে Color Band A2 এর ডিস্প্লে বড়, ফিচার সেটও দুই ব্যান্ডের প্রায় একই তাহলে ১ হাজার টাকা বেশি দিয়ে Honor Band 3 কেন কিনব? উত্তরটা হচ্ছে, Honor Band 3 জল নিরোধোক, এটা পুরা পানিতে চুবিয়ে দিলেও কিছু হবে না এবং এটা পরে সাঁতার দেওয়া যায়। ডিস্প্লে ছোট হওয়াই এটার চার্জও সামান্য বেশি যায়। তবে সেটা চোখে পড়ার মত কোন বিষয় না। দুই ব্যান্ড হাতে দিয়ে ব্যান্ড থ্রি আমার কাছে বেশি আরাম দায়ক মনে হয়েছে। বেশি কথা না বাড়িয়ে ভালমন্দ দিক নিয়ে বলতে চাই। অধিকাংশ জিনিসই দুই ব্যান্ডের জন্য একই হবে। তেমন তফাৎ নাই (সাঁতার আর হার্টরেট সেন্সরের কন্সিস্টেন্সি ছাড়া)।

ভাল দিক:
১। ৫০ মিটার পর্যন্ত পানি নিরোধী হওয়ায় সাঁতার ট্রাক করা যায়
২। হার্টরেট সেন্সরের একুরেসি কতটুক জানি না তবে কন্সিস্টেন্সি ভাল
৩। স্লিপ ট্র্যাকিং পার্ফমেন্স অসাধারন। আপনি সারাদিনে যেকোন সময় ঘুমাতে পারেন। এটা ট্র্যাক করবে, অত্যন্ত দক্ষতার সাথে
৪। এক ঘণ্টা বসে থাকলে ঝাঁকি দিয়ে নড়াচড়া করতে বলে
৫। নাম ও ফোন নম্বর সহ ডিস্প্লে তে নটিফিকেশন আসে, কেও ফোন দিলে
৬। কোন ফোন না ধরতে চাইলে সরাসরি ব্যান্ড থেকেই কল এবর্ট করা যায়, ফোন পকেট থেকে বের করার দরকার নাই
৭। এসএমএস ও অন্যান্য নটিফিকেশন ফুল সো করে, ফলে চাইলে ইংরেজিতে লিখা মেসেজ ব্যান্ডেই পড়ে নেওয়া যায়
৮। রেইজ টু ওয়েক ফিচার টা অস্থির কাজ করে। সামনে আনতেই ডিসপ্লে অন হয়ে যায় আবার সরানো মাত্রই বন্ধ
৯। সারাদিন হার্টরেইট মনিটরিং গ্রাফটা অস্থির লেভেলের ডিটেইলড
১০। সারাদিনে কত টুকু ঘুমানো বা হাঁটা হলো ব্যান্ডে সরাসরি দেখা যায়
১১। ব্যান্ড থেকে সরাসরি বিভিন্ন ট্র্যাকিং (দৌড়, সাঁতার, হার্টরেট) চালু করা যায়। ফোনের দরকার নাই

মন্দ দিক:
১। রোদে ডিস্প্লে দেখতে ভাল কষ্ট হয় (রাজশাহীর রোদ ভাই 🙂 রাস্তা দেখতেও কষ্ট হয়)
২। বাংলা টেক্সট রেন্ডার করতে পারে না। ফলে কেও বাংলায় মেসেজ দিলে বা কারও নাম বাংলায় সেইভ করা থাকলে সেটা দেখা যায় না
৩। অসম্ভব রকমের বাগি সফটওয়ার, এটা নিয়ে বলা শুরু করলে সারাদিনেও শেষ হবে না
৪। চার্জ ৫-৬ দিনের বেশি থাকে না, সব ফিচার ব্যবহার করলে (বিশেষ করে ট্রু স্লিপ ট্র্যাকিং)
৫। সফটওয়ারে ক্লাইম্বিং কাউন্টার থাকলেও আপনি গাছে উঠেন আর এভারেস্টের চুড়ায়, কিচ্ছু কাউন্ট হয় না (এটা সফটওয়ার ইস্যু)
৬। কল রিসিভ করার পরেও ব্যান্ডে মিসড্ কল হিসাবে সো করে এবং নতুন কোন কল আসার আগ পর্যন্ত ঐ মিসড্ কল এলার্ট উঠে থাকে (এটা সব থেকে বেশি বিরক্তিকর)
৭। Health অ্যাপ দিয়ে সরাসরি কানেক্ট না করলে ঘড়ি ১২ ঘণ্টা করা যায় না
৮। Wear অ্যাপ দিয়ে কানেক্ট করলে নটিফিকেশন ভাল মত পাওয়া যায় কিন্তু ঘড়ি ১২ ঘণ্টার করা যায় না
৯। আমার মত চামড়া পাতলা হলে ব্যান্ডটা কেটে বসে যাবে চামড়ায় আর চুলকাতে পারে। তবে এটা অন্য কারও সাথে হয়েছে বলে এখনও শুনি নাই
১০। ডিস্প্লেতে স্ক্র্যাচ পড়ে, যদিও কোথাও স্ক্রাচ রেজিস্টেন্স দাবি করা হয় নাই তারপরও এটা উল্লেখ করা ভাল
১১। দিনের ডেটা দিনে সিঙ্ক না হলে তা হারিয়ে যায়। মানে আপনি সারাদিন ফোন ছাড়া ব্যান্ড ব্যবহার করলে সব ডেটা ব্যান্ডে সেইভ থাকবে তবে অবশ্যই রাত ১১:৫৯ এর মধ্যে ফোন কানেক্ট করে সিঙ্ক করে নিতে হবে

ব্যান্ডের কোন ছবি নাই, দেখতে মন চাইলে গুগল করে দেখেন -_-