Tuesday, November 28, 2017

লিনাক্স নাকি গনু/লিনাক্স? এবং সামান্য আলোচনা

লিনাক্স নিয়ে (গনু+লিনাক্স) মোটামুটি প্রাথমিক ধারণা সম্ভবত আমি লিখে ফেলেছি। যে সকল বন্ধুগণ সবেমাত্র গনু/লিনাক্স ব্যবহার করা শুরু করেছেন বা শুরু করতে চাচ্ছেন তারা যদি আমার লেখাগুলি পড়ে থাকেন তাহলে নিশ্চই খানিকটা উপকার পাবেন। আমি যতটা সম্ভব বাস্তবিক দিকগুলি নিয়েই লিখেছি, বাস্তবিক দিক বলতে এর ব্যবহার কে বুঝাচ্ছি। একটি কথা বারবার বলি, মনে হয় বলাটাই উচিৎ তা হল , লিনাক্স কোন অপারেটিং সিস্টেম নয়। এটা হল অপারেটিং সিস্টেমের কার্নেল। আপনি একে অপারেটিং সিস্টেমের প্রাণ/হৃদপিন্ড...... যা খুশি বলতে পারেন। তবে একে অপারেটিং সিস্টেম বললে সম্ভবত এই মুক্তসোর্স অপারেটিং সিস্টেমের ধারা কে অব্যাহত রাখার জন্য যে হার না মানা যোদ্ধা নিরলস শ্রম দিয়ে যাচ্ছেন সেই রিচার্ড স্টলম্যান কে ছোট করা হয়। ইউনিক্স অপারেটিং সিস্টেম যখন তার উন্মুক্ত সোর্সকোড প্রথা বাতিল করে ফেলল, তখন এমআইটি (MIT) এর আর্টিফিশিয়াল ইন্টিলিজেন্স ল্যাবে কাজ করা তরুণ প্রোগ্রামার ঘোষণা করলেন এক নতুন প্রকল্পের। গনু ,নট ইউনিক্স (GNU, not Unix) , অর্থাৎ ইউনিক্স ইউনিক্সের আদলে গড়া নতুন অপারেটিং সিস্টেমের, সেই প্রজেক্টের নাম দিলেন গনু(GNU)।
অপারেটিং সিস্টেম আসলে একটি কারখানার মত, আর সফ্টয়্যার হল সেই কারখানার যন্ত্রপাতি এবং লোকবল। এজন্য স্টলম্যান প্রতিষ্ঠা করলেন "ফ্রী সফ্টয়্যার ফাউন্ডেশন", এটা বিনামূল্যের "ফ্রী" নয় (তবে বর্তমানে প্রায় সবই বিনামূল্যে, যেমন: LibreOffice, VLC Player, Mozila Firefox etc.) , এই "ফ্রী" হল "ফ্রীডম", স্বাধীনতা।  ব্যবহারকারী ইচ্ছেমত তার সফ্টয়্যার নিয়ে কাজ করতে পারেন। তিনি চাইলে সোর্সকোড পরিবর্তন এবং পরিবর্ধন করতে পারেন। একজন শিক্ষার্থীর জন্য আদর্শ প্ল্যাটফর্ম (কাজ করার জায়গা)।

তবে লিনাক্স নামটি বেশ স্মার্ট হওয়ায় আর গনু/লিনাক্স নামটি দীর্ঘ হওয়ায় মানুষ সম্ভবত লিনাক্স নামটিই বেছে নিয়েছে।
আপনি আসলে কি অপারেটিং সিস্টেম চালাচ্ছেন তা দেখতে চাইলে কমান্ড লাইনে uname --operating-system লিখে এন্টার_কী চেপে দেখে নিতে পারেন।

যাহোক, এপ্রসঙ্গ আর বাড়াতে চাই না। আপনি যা খুশি বলবেন আপনার একান্ত ব্যাক্তিগত ব্যাপার , তবে দেশের ভালোর জন্য গনু হোক বা লিনাক্স হোক অথবা গনু/লিনাক্স ই হোক , ব্যবহার করুণ, এটা উন্মুক্ত, সবার জন্য।

লিনাক্স কার্নেল টি লিখেছেন (প্রোগ্রামিং) লিনাস/লিনুস তোরভাল্দ্স , আর একজন মহান মানুষ। তবে রিচার্ড স্টলম্যান বা লিনুস তোরভাল্দসের কাছেই সব কৃতিত্ব যায় না আর তারা সেটা চান ও না। হাজার হাজার প্রোগ্রামারের
মিলিত শক্তি হল আজকের এই গনু/লিনাক্স অপারেটিং সিস্টেম। এর অগ্রযাত্রা দ্রুততার সাথে হচ্ছে। থেমে থাকার তো প্রশ্লই আসে না। যারা এখনো উইন্ডোজ চৌর্যবৃত্তির মাধ্যমে চালাচ্ছেন তাদের উচিৎ অন্তত লিনাক্সের শক্তিটা চেখে দেখা। লাভ-ক্ষতি আপনারই।

আমি নিজে ব্যবহার করি, (কম্পিউটার সাইন্সের ছাত্র নই, আর কোন প্রযুক্তিবিদও নই), যা যা দরকার সবই পেয়েছি।  তার থেকেও বেশি কিছু।

এটি তৈরীই হয়েছে নিজে শেখার জন্য। গনু/লিনাক্স শিখতে কোন টিউটর এর দরকার নেই কারণ এর সব সফ্ট্যার ব্যবহারের পদ্ধতি বলে দেওয়া আছে।)  আর রয়েছে শক্তিশালী কমিউনিটি (সম্প্রদায়)। সকল সমস্যার সমাধান নেট(ইন্টারনেট) ঘাটলেই পেয়ে যাবেন।

আর কমান্ড লাইনে ম্যান লিখে স্পেস দিয়ে প্রোগ্রামের নাম লিখে এন্টার চাপলেই সব তথ্য হাজির হবে।
এখুনি চেষ্টা করুন, man bash লিখে এন্টার চাপুন। আপনার টার্মিলালের সমস্ত তথ্যই পেয়ে যাবেন।

man হল manual এর সংক্ষিপ্ত রূপ।


আমি ফেসবুক চালাই না, তাই কোন প্রয়োজনে আমার সাথে যোগাযোগ করতে চাইলে (s.samrat22@gmail.com) আর টুইটার এ @samrat221

সর্বোপরি শুভকামনা রইল সবার প্রতি।

Saturday, October 28, 2017

যেভাবে লগইন করা ওয়াইফাই পাসওয়ার্ড দেখবেন (গনু/লিনাক্স ব্যবহারকারীদের জন্য)

লগইন করা ওয়াই-ফাই পাসওয়ার্ড দেখতে আপনাকে মোট ৬টি ক্লিক করতে হবে। প্রথম ক্লিকটি মাউসের ডান বোতামে আর বাকি ৫টি বাম বোতামে 😀, ধাপে ধাপে দেখা যাক!

প্রথম ধাপ: স্ক্রিনে দেখানো ওয়াইফাই চিহ্নের উপর কার্সর নিয়ে যান, মাউসের ডান বোতামে ক্লিক করুন এবং সেখান থেকে Edit Connection অপশনে ক্লিক করুন।


দ্বিতীয় ধাপ: আপনার ওয়াইফাই নেটওয়ার্ক চিহ্নিত করুন এবং নিচের দিকে সেটিংসের মত চিহ্নে (Edit the selected Connection) এ ক্লিক করুন।



তৃতীয় ধাপ: Wi-Fi Security লেখার উপর ক্লিক করুন।



চতুর্থ ধাপ: এখন Show password লেখার উপর ক্লিক করুন। আপনার লগইন করা পাসওয়ার্ড দেখাবে।



গনু/লিনাক্স ব্যবহার করুন এবং ভাইরাস মুক্ত সুরক্ষিত থাকুন। ধন্যবাদ।


আরো দেখুন,



Tuesday, October 24, 2017

জিপার্টেড (GParted) এবং এর ব্যবহার (পার্টিশন করা, পেনড্রাইভ ফরমেট করা/ তৈরি করা)

জিপার্টেড (GParted) এর ব্যবহার
[
GParted (acronym of GNOME Partition Editor) is a GTK+ front-end to GNU Parted and an official GNOME partition-editing application (alongside Disks). GParted is used for creating, deleting, resizing, moving, checking, and copying disk partitions and their file systems. This is useful for creating space for new operating systems, reorganizing disk usage, copying data residing on hard disks, and mirroring one partition with another (disk imaging).
যে যে ফিচার সাপোর্ট করে
]



জিপার্টেড হল গনু/লিনাক্সের পার্টিশন করার টুল।

ইন্সটল করার কমান্ড:
১. Debian Based (Ubuntu, Linux Mint) GParted = sudo apt-get install gparted
২. Fedora GParted = su -c "yum install gparted"
৩. OpenSUSE GParted = sudo zypper install gparted

source: https://gparted.org/download.php


এর অনেক রকম ব্যবহার রয়েছে, যেমন ধরুন পার্টিশন করা, পেনড্রাইভ ফরমেট করা, লেবেল ঠিক করা.....ইত্যাদি।

লিনাক্স যথেষ্ট নিরাপত্তা সচেতন, এজন্য সুপার ইউজার হিসেবে (পাসওয়ার্ড দিয়ে) এটা ব্যবহার করতে হয়।



পাসওয়ার্ড দিয়ে চালু করতে হবে

লোকাল ড্রাইভগুলি সাধারণত /dev/sda এবং পেনড্রাইভ বা এই টাইপের ড্রাইভগুলিকে /dev/sdb দিয়ে প্রকাশ করা হয়।
জিপার্টেড (আপনারটি অন্যরকম দেখাবে)

পেনড্রাইভ যুক্ত থাকা অবস্থায় জিপার্টেডের ডানদিকে উপরে যেখানে /dev/sda (আয়তন) ; লেখা থাকে সেখানে ক্লিক করলেই /dev/sdb (আয়তন) দেখাবে।

সেখান থেকে ওটা সিলেক্ট করবেন।
এরপর আনমাউন্ট (unmount) করে নিবেন এবং device অপশন থেকে একটি পার্টিশন টেবিল নিতে হবে, (আর থাকলে নেবার দরকার নেই), এরপর
পার্টিশন টেবিল
File System: এ সিলেক্ট করবেন ntfs (ডিফল্ট ভাবে ext4 দেয়া থাকে, ext4 সিলেক্ট করলে শুধু লিনাক্স ব্যবহারকারীরা ব্যবহার করতে পারবেন।)
Label: পেনড্রাইভটির যে নাম দিতে চান তা এখানে লিখবেন। যেমন : Flash

এরপর উপরে যে টিকচিহ্ন দেখা যাচ্ছে, ওটাই এপ্লাই বাটন। সেখানে ক্লিক করার পর আবার অনুমতি চাইবে, দেওয়ার পর কাজ শেষ না হওয়া পর্যন্ত অপেক্ষা করুন।
এরপর close করে দিন।

বি.দ্র: এটা ছাড়াও পেনড্রাইভ ঠিক করার অনেক উপায় রয়েছে। ব্যাক্তিগতভাবে এটাই আমার বেশি ভালো লাগে।



Sunday, October 22, 2017

ডিডি কমান্ড (dd command) দিয়ে পেনড্রাইভ বার্ন/বুট করতে যা করতে হবে

dd কমান্ড, লিনাক্সের অন্যতম বহুল প্রচলিত কমান্ড এটি , আজ এটা নিয়েই কিছু আলোচনা করা যাক!

dd = Data Duplicator (তথ্যের অনুলিপি তৈরিকারী), সাধারণত .iso ফাইল/image কে বার্ন করার জন্য এ কমান্ড ব্যবহৃত হয়।
.iso ফাইলকে পেনড্রাইভ বা ডিভিডি ডিস্কে বার্ন করে Bootable (বুট হবার উপযোগী) করা হয়।

কমান্ড : dd if=<source_file_neme> of=<target_file_neme> bs = <size>

 dd = Data Duplicator
 if = Input File
 of = Output File
 bs = Block Size

এখন একটি উদাহরণ দেওয়া যাক, হয়তো ব্যাপারটি আরো ভালো ভাবে বোঝা যাবে।
ধরে নেওয়া যাক, আপনার কম্পিউটারের Downloads ডাইরেক্টরিতে
ubuntu-17.10-desktop-amd64.iso ফাইলটি রয়েছে।
এখন এই ফাইলটিকে আপনি আপনার পেনড্রাইভে বার্ন/বুট করতে চাচ্ছেন, কি কি করতে হবে? ধাপে ধাপে এগুনো যাক!

(১) পেনড্রাইভ বা ডিভিডি ডিস্ক কম্পিউটারে যুক্ত করুন।
(২) টার্মিনাল চালু করুন। (Ctrl+Alt+T)
(৩) সেখানে লিখুন sudo fdisk -l সেখানে লক্ষ্য করুন ।
নিচের দিকে এই টাইপের লেখা দেখতে পাবেন।

Disk /dev/sdb: 14.5 GiB, 15518924800 bytes, 30310400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0cf771fd

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb        2048 30310399 30308352 14.5G  7 HPFS/NTFS/exFAT

(৪) এখন টার্মিনালে যান আর লিখুন, cd ~/Downloads  ; এই কমান্ডে আপনি Downloads ডাইরেক্টরি তে যাবেন।
(৫) এখন কমান্ড দিন ls , এর ফলে Downloads ডাইরেক্টরি তে যা যা ফাইল রয়েছে সেগুলি দেখাবে। সেখানে ubuntu-17.10-desktop-amd64.iso ফাইলটিও খুঁজে পাবেন।

(৬) এখন কমান্ড লিখুন :
sudo dd if=ubuntu-17.10-desktop-amd64.iso of=/dev/sdb bs=512k

পাসওয়ার্ড দিন এবং অপেক্ষা করুন। ২-৩ মিনিট অথবা ৫-১০ মিনিট সময় লাগতে পারে, এটা নির্ভর করবে আপনার পেনড্রাইভের ক্লাসের উপর।

আপনার পেনড্রইভটি বুট হয়ে গেছে।
এখন লক্ষ্য করুন,
(1) আমি ইনপুট ফাইলের (if=) জায়গায় কিছুই লিখি নি, এর কারণ হচ্ছে "আমার কাঙ্খিত ফাইলটি Downloads এ রয়েছে, আর আমিও সেখানে রয়েছি। "

(2) আউটপুট ফাইলের (of=) জায়গায় লিখেছি /dev/sdb এর কারণ সোখানে আমার পেনড্রাইভের device location হল /dev/sdb

(3) আমি ব্লক সাইজ bs=512k দিয়েছি, এটা দিয়েছি সেক্টর সাইজের উপর ভিত্তি করে, আপনার সেক্টর সাইজ 1 * 1024 bytes হলে আপনি bs=1024k অথবা bs=1M অথবা bs=2M দিতে পারেন আর bs অপশনটি ব্যবহার না করলে নিজে থেকেই 512 bytes নিয়ে নেবে। এটা নিয়ে চিন্তার কিছু নেই।


(কিভাবে পেনড্রাইভকে আগের অবস্থায় ফিরিয়ে আনবেন পরবর্তী পোস্টে তা নিয়ে আলোচনা করা হবে । )

পরবর্তী অংশ : 


Saturday, September 30, 2017

লিনাক্স নিয়ে প্রচলিত ধারণা এবং বাস্তবতা

আগে শুনতাম লিনাক্স কঠিন, কমান্ড দিয়ে দিয়ে কাজ করতে হয়, খুব বেশি দিন আগের কথা না, ২০১৬ সালের কথা এটা। তাও এ কথাটা কোন সাধারণ লোকের মুখ থেকে শুনলে এক কথা হত, কিন্তু দুর্ভাগ্যবশত লোকটি ছিল একজন কম্পিউটার ইঞ্জিনীয়ার! এরপর বহু দিন কেটে গেছে, ধীরে ধীরে অনেক কিছুই জানার সুযোগ হল, আর প্রতিনিয়ত জেনেই যাচ্ছি আর চেষ্টা করছি আমি যতটুকু জানি তা যেন নতুন ব্যবহারকারীদের জানাতে পারি যেন আমার মত তাদের কোন কম্পিউটার ইঞ্জিনীয়ারদের কাছ থেকে শুনতে না হয়, "লিনাক্স কঠিন, কমান্ড দিয়ে কাজ করতে হয়, অনেক কমান্ড জানতে হয়...."।

একটু ভুল শুধরে নিই, আসলে যে অপারেটিং সিস্টেমকে গণহারে  লিনাক্স বলা হয় বা লিনাক্স নামে পরিচিতি পেয়েছে, এটা আসলে গনু+লিনাক্স বা গনু/লিনাক্স (দূর্ভাগ্যজনক হলেও সত্য আমি যখন শুরুর দিকে উবুন্টু ব্যবহার করতাম তখনো জানতাম না এর নাম গনু/লিনাক্স(GNU/Linux) আর রিচার্ড স্টলম্যান(Richard Stallman) এর নাম জেনেছি আরো অনেক পরে! লিনাস তরভার্লস (Linus Torvalds) এর নাম অবশ্য জানতাম! গনু/লিনাক্স ব্যবহার শুরু করার আগে এই দু'জন মানুষ সম্পর্কে জেনে নেবার অনুরোধ রইলো) 

লিনাক্স হল কার্নেল, যা কম্পিউটারের হার্ডয়্যারের সাথে এর সফ্ট্যয়ারের যোগাযোগ করিয়ে দেয়।
আর গনু হল ইউনিক্স সদৃশ অপারেটিং সিস্টেমের গঠন (Unix like Operating System's Interface), (ইউনিক্স হল প্রথম অপারেটিং সিস্টেম। )

এখন গনু (অপারেটিং সিস্টেমের গঠন) লিনাক্স কার্নেল ব্যবহার করে, তাই দু'টি মিলে একটি পূর্ণাঙ্গ অপারেটিং সিস্টেম।
আশাকরি কিছুটা বোঝাতে পেরেছি। শুরুর দিকে এসব খুব আজব লাগতো, কিচ্ছু বোঝতাম না।
তবে এসব না বুঝলেও গনু/লিনাক্স চালাতে কোন বাধা নেই।

[লিনাক্স অপারেটিং সিস্টেম না হলেও বর্তমানে "গনু/লিনাক্স" ই লিনাক্স নামেই এতটা পরিচিতি পেয়েছে যে প্রায় ৯০% ওয়েব সাইটে "লিনাক্স" নামেই গনু/লিনাক্সের কথা বলা হয়েছে, তাই আপনাদের বোঝার সুবিধার জন্য গনু/লিনাক্সের পরিবর্তে আমিও শুধু "লিনাক্স" ব্যবহার করবো ]
সাধারণত, "কেন লিনাক্স নির্ভর অপারেটিং সিস্টেম ব্যবহার করব?" এর জন্য ৬টি কারণকে প্রাধান্য দেওয়া হয়।

১।  সম্পূর্ণ ফ্রী : লিনাক্স সম্পূর্ণ ফ্রী, কোন টাকা খরচ করতে হবে না এটা ব্যবহার করতে। আর স্বাধীন ভাবে চালাতে পারবেন। এমনকি চাইলে আপনি এটা নিজের মত করে পরিবর্তনও করে নিতে পারবেন, এবং বিতরণও করতে পারবেন।

২। নিরাপত্তা : যখন অন্যান্য অপারেটিং সিস্টেম ব্যবহারকারীরা তাঁদের কম্পিউটার ভাইরাস নিয়ে চিন্তিত, আর বছর বছর অ্যান্টিভাইরাস কোম্পানিগুলিকে টাকা দিয়ে যাচ্ছে, তখন লিনাক্স ব্যবহারকারীরা নিশ্চিন্তেই থাকেন।

৩। পুরাতন কম্পিউটারেও স্বচ্ছন্দে চালাতে পারবেন।

৪। অ্যাপ্লিকেশন : লিনাক্সের সফ্টয়্যার সেন্টারে আপনার প্রয়োজনীয় সকল অ্যাপ্লিকেশনই পাবেন। হাজার হাজার সফ্টয়্যারে পরিপূর্ণ।

৫। মনের মত পরিবর্তন : আপনার মন যেমনটি চায় ঠিক তেমন করেই সাজিয়ে নিতে পারবেন আপনার প্রিয় যন্ত্রটিকে। লিনাক্স আপনাকে সে সুযোগ দেয়।

৬। কমিউনিটি (সংঘ) : লিনাক্স কমিউনিটি নির্ভর, যে কোন সমস্যা আপনার কমিউনিটিতে জানালে সেখান থেকেই সমাধান পেয়ে যাবেন।

আরো কিছু সুবিধা আমার অভিজ্ঞতার আলোকে যোগ করতে পারি।
৭। ড্রাইভার : অপারেটিং সিস্টেম ইন্সটলেশনের সময় আপনার যে সকল ড্রাইভার প্রয়োজন, তা সে নিজে নিজেই ইন্সটল করে নেবে।

৮। আপ-টু-ডেট(নতুনত্বে পরিপূর্ণ) : সব সময়ই আপনি আপ-টু-ডেট থাকতে পারবেন।

৯। নিয়ন্ত্রন : আপনার কম্পিউটার আপনার নিয়ন্ত্রণেই থাকবে, আপনিই এখানে প্রধান।

১০। নৈতিকতা : আপনি নীতিবান মানুষ হলে নিশ্চই পাইরেসি আপনার পছন্দের নয়, আর এখানে আপনার পাইরেসি করতে হবে না, সব কিছু ফ্রী, আপনার জন্য।

আরো অনেক কিছুই, রয়েছে যা আপনাকে দুঃচিন্তা মুক্ত রাখতে পারে। যেমন, কম্পিউটার হ্যাং হওয়া, শর্টকাট সমস্যা, ড্রাইভার সমস্যা, আপডেট দিতে না পারা, সফ্টয়্যার ক্র্যাক করে চালাতে গিয়ে কম্পিউটার হ্যাক হওয়া.........ইত্যাদি।

তবে লিনাক্স চালাতে হলে আপনাকে একটু স্মার্ট (চৌকশ) হতেই হবে, অথবা চালাতে চালাতে হয়ে যাবেন। ☺

আরো দেখুন,

কেন শিক্ষা-প্রতিষ্ঠানের ফ্রী-সফ্টয়্যার ব্যবহার করা উচিৎ ?--(রিচার্ড স্টলম্যান)

Wednesday, September 6, 2017

গনু/লিনাক্সে বাংলা ফন্ট সমস্যা এবং সমাধান


গনু/লিনাক্সের বিভিন্ন ডিস্ট্রোতে একটি সাধারণ সমস্যা প্রায়ই নতুন ব্যবহারকারীদের কিছুটা বিব্রত করে। এটা হল বাংলা ফন্ট সমস্যা । আশা করি লেখাটি পড়ার পর নতুন ব্যবহারকারীদের আর এই সমস্যা থাকবে না।
মাত্র ১০-১২ সেকেন্ডের সমস্যা, আসুন ৫ ধাপে সমাধান করি।

১। বাংলা ফন্ট প্যাকেজ ডাউনলোড করুন। Bangla-fonts.tar.xz (1.5 MiB) এবং Extract করুন।
"Bangla-fonts" নামের 7.3 MiB এর একটি ডাইরেক্টরি পাবেন।

২। হোম (Home) ডাইরেক্টরিতে যান আর  Ctrl+H (কন্ট্রোল এবং এইচ একসাথে) প্রেস করুন।

৩। সেখানে .fonts (ডট ফন্টস্) নাম দিয়ে একটি ডাইরেক্টরি তৈরী করুন।

৪। এখন Extract করে পাওয়া "Bangla-fonts" নামের ডাইরেক্টরিটি .fonts (ডট ফন্টস্) এর ভেতর এনে রাখুন।

৫। sudo fc-cache -fv



[ যখন কোন ফন্টের প্রয়োজন হবে তখন ওই ফন্টটি ডাউনলোড করে .fonts ডাইরেক্টরির ভেতরে রাখবেন, সমস্যা সমাধান! ]


আরো দেখুন,

Tuesday, September 5, 2017

কোন ডিস্ট্রো দিয়ে শুরু করবো আর কোন Environment?

গনু/লিনাক্স(GNU/Linux) যে নিরাপদ এবং যথেষ্ট ভাল অপারেটিং সিস্টেম তা মোটামুটি প্রযুক্তি জ্ঞান সম্বলিত সকলেরই জানা। কিন্তু গনু/লিনাক্স(GNU/Linux) এর ডিস্ট্রো(Distro)র তো অভাব নেই। হাজার হাজার ডিস্ট্রো, তাই নতুন ব্যবহারকারীরা প্রথম দিকে বেশ দ্বিধায় পড়ে যায় যে কোনটা দিয়ে শুরু করবো অথবা কোনটি সেরা?
আজ এ বিষয় নিয়ে কিছুটা কথা বলবো, আশাকরি তা আপনার দ্বিধা দূর করতে সাহায্য করবে।

× কোনটি (কোন ডিস্ট্রো) দিয়ে শুরু করা উচিৎ?
উত্তর: চোখ বন্ধ করে আপনার লিনাক্স মিন্ট অথবা উবুন্টু দিয়ে যাত্রা শুরু করা উচিৎ। বিভিন্ন ওয়েব সাইটেও এই সাজেশন ই পাবেন। এর কারণ হিসেবে হয়তো ভাবতে পারেন অন্য ডিস্ট্রোগুলি কঠিন! আসলে ব্যপারটি ওরকম নয়। লিনাক্স মিন্ট এবং উবুন্টুর সফটওয়্যার ম্যানেজারটি আসলে চমৎকার ভাবে সাজানো, তাই নতুন ব্যবহারকারীদের সফ্টওয়্যার ইনস্টলেশন এ কোনরূপ ঝামেলা পোহাতে হয়না বা টার্মিনালে কোন কমান্ড লিখতে হয় না।
অনেকটা স্মার্টফোনের মতই সহজ ব্যাপার।

আবার গনু/লিনাক্সের অনেকগুলি Environment রয়েছে, যেমন: GNOME, Mate, Cinnamon, Unity, Lxde, Xfce, KDE.......আরো শ খানেক বা তারও বেশি । স্বাভাবিক ভাবে এখানেও নতুন ব্যবহারকারি বেশ দ্বিধায় ভোগে। এর কিছুটা সহজ সমাধান বাতলে দিচ্ছি,

১. যদি আপনার র্যাম ২জিবি হয়, তাহলে ৩২ বিট(x86) ব্যবহার করবেন। (বাকি সব নিচের মতই)
২. ৪ জিবি র্যাম + ডুয়াল কোর = Lxde অথবা Xfce ব্যবহার করা ভাল, Cinnamon ও ব্যবহার করা যেতে পারে।
৩. ৪ জিবি র্যাম + কোর আই-৩ = Mate, Cinnamon, Unity, Xfce, GNOME ও ব্যবহার করা যেতে পারে।
৪. ৪ জিবি র্যাম + কোর আই-৫ = GNOME, KDE, Unity, Mate, Cinnamon, Xfce (সব)



কাজের ক্ষেত্রে সবগুলি একই, শুধু ফ্লেভারে একেক রকম আমেজ(Environment) পাবেন। আর সিক্যুরিটি অ্যাডমিন বা হ্যাকারদের জন্য বিশেষ(Special) ডিস্ট্রিবিউশনগুলি হচ্ছে কালি লিনাক্স(Kali Linux), প্যারট সিক্যুরিটি ওএস(Parrot Security OS), ব্ল্যাক আর্চ লিনাক্স(Black Arch Linux), ব্যাকবক্স(BackBox) ইত্যাদি। এদের কাজ কিছুটা আলাদা।

এই বিশেষ কিছু ডিস্ট্রো ছাড়া সব ডিস্ট্রো দিয়েই একই রকম কাজ করা যায়, শুধু স্টাইলে কিছুটা ভিন্নতা থাকে। তাই এখানে যেসব কথা বলা হচ্ছে তা সকল ক্ষেত্রেই প্রযোজ্য।

Environment অনুযায়ী ডিস্ট্রোর লিঙ্ক (এখানে শুধু উবুন্টু আর লিনাক্স মিন্টের লিঙ্ক দেওয়া হচ্ছে), এগুলি মাস তিনেক চালালে আপনি নিজেই পরবর্তী পদক্ষেপ নিতে পারবেন।

× Lxde - লুবুন্টু (Lubuntu)

× Xfce
১. লিনাক্স মিন্ট এক্সএফসিই (Linux Mint Xfce)
২. যুবুন্টু(Xubuntu)

× Cinnamon - লিনাক্স মিন্ট সিনামন (Linux Mint)

× Mate
১. উবুন্টু মেট(Ubuntu Mate)
২. লিনাক্স মিন্ট মেট(Linux Mint Mate)

× Unity - উবুন্টু ই্উনিটি (Ubuntu Unity)

× GNOME - উবুন্টু (Ubuntu)

× KDE

১. লিনাক্স মিন্ট কেডিই(Linux Mint KDE)
২. কুবুন্টু (Kubuntu)
সোর্স: আমার অনিয়মিত লেখার ব্লগ (কোন ডিস্ট্রো দিয়ে শুরু করবো আর কোন Environment?)

Saturday, August 26, 2017

কমান্ড লাইন -৬ (কমান্ড নিয়ে কাজ করা)

পর্ব: ৬

কমান্ড লাইন যারা শেখার চেষ্টা করছেন, অবশ্যই ভালো উদ্দ্যোগ, অন্তত অপ্রয়োজনীয় নয়। আর যারা শিখছেন না, তাদেরও সমস্যা নেই! মনের সুখে গ্রাফিক্যালি চালাবেন।
গতদিন যে তুরুপের তাস(Wildcard) নিয়ে আলোচনা করেছিলাম তার সব কাজ ফাইল ম্যানেজারেও করা যায়।
Nautilus, Nemo, Caja, Dolphin ইত্যাদি গনুলিনাক্সের ডিফল্ট ফাইল ম্যানেজার।

কমান্ড (Command) আসলে কি? আগে এটা জেনে নেওয়া প্রয়োজন। বুঝতেই পারছেন, ধীরে ধীরে আমরা লিনাক্সের গভীরে যাওয়ার চেষ্টা করছি, গুরুত্বপূর্ণ  বিষয় মোটেই এড়িয়ে যাওয়া যাবে না।
কমান্ড (command) ইংরেজি শব্দ, বাংলা অর্থ হল "নির্দেশ দেওয়া", এটা সবারই জানা । কমান্ড লাইনে বা টার্মিনালে আমরা যা লিখি তার অর্থও সামঞ্জস্যপূর্ণ অর্থাৎ আমরা সেখানে নির্দেশ ই দেই।
লিনাক্সে কমান্ড চার রকমের হতে পারে।

১। এক্সিবিউটেবল প্রোগ্রাম (executable program)। (/usr/bin এ আমরা যা দেখি তার সবই আসলে এক্সিকিউটেবল প্রোগ্রাম)
২। সেলের নিজস্ব প্রোগ্রাম (command built into the shell itself) [(bash= GNU Bourne-Again SHell) BASH এর নিজস্ব  কিছু প্রোগ্রাম  রয়েছে, cd কমান্ড এই ধরণের প্রোগ্রাম]
৩। সেলের ফাংশন (shell function)
৪। এলিয়াস (alias) দিয়ে আমরা নিজেদের মত কমান্ড তৈরি করতে পারি।

আপাতত এতটুক জানা থাকলেই হবে। পরে আস্তে আস্তে আমরা আরো বিশদ জানবো।

আজ আমরা কমান্ড নিয়ে কাজ করবো, লিনাক্সের রহস্যময় কমান্ড! আগে অর্থগুলি যে জেনে নেওয়া যাক,

@ type = কমান্ডের টাইপ দেখায়। সেলের নিজস্ব কমান্ড এটা, কোথা থেকে কমান্ডটি এক্সিকিউট হয় তা দেখায়।
@ which = প্রোগ্রাম যেখান থেকে চালু হয় তার পথটি (Location) দেখায়।
@ --help = সেল(Shell) থেকে তথ্য দিয়ে সাহায্য করে।
@ man = প্রোগ্রামের ম্যানুয়াল পেজ দেখায়।(এখান থেকে প্রোগ্রাম সম্পর্কিত তথ্য পাওয়া যায়)।
@ apropos = সঠিক কমান্ডটি দেখাবে। (যে প্রোগ্রাম সম্পর্কে জানতে চান)
@ whatis = কমান্ডেের সম্পর্কে সংক্ষিপ্ত বর্ণনা দেবে।
@ alias = এটা দিয়ে নিজেই কমান্ড তৈরি করতে পারবেন।

এখন আপনার bash এ  নিচের কমান্ডগুলি লিখুন আর কাজগুলি বোঝার চেষ্টা করুন।
type ls
which ls
ls --help
man ls
apropos floppy
whatis ls
আশাকরি আপনার ধারণা পরিষ্কার হয়েছে।

এখন আসুন alias টা বোঝার চেষ্টা করি।
type ls
লেখা উঠল, ls is aliased to `ls --color=auto'
আচ্ছা, এখন আমি লিখছি, type sam
আউটপুট পেলাম: bash: type: sam: not found
মেনে নিলাম, দেখা যাক এটাকে কিভাবে একটি কমান্ড বানানো যায়!
লিখুন, alias sam='ls'
কাজ শেষ!
এখন, type sam
কি পেলেন?
কমান্ড লাইনে এবার sam লিখে এন্টার চাপুন, বুঝতে পেরেছেন?


unalias sam লিখে sam কে কমান্ড থেকে বাদ দিতে পারবেন। অথবা কমান্ডলাইন বন্ধ করলেও এটা আবার আগের মত হয়ে যাবে।

Tuesday, August 1, 2017

কমান্ডলাইনে সি এবং সি++ কম্পাইল এবং রান করা (Compile & Run C/C++ in Comand Line)





আজ কমান্ড লাইনে সি/সি++ কম্পাইল ও রান করা শিখবো। যথেষ্ট সহজ।

কোডব্লকস্ (CodeBlocks), জিনি (Geany), এসব কম্পাইলার দিয়ে গ্রাফিক্যালি কাজ করতে পারবেন।

প্রথমে যে কোন টেক্সট এডিটর দিয়ে একটি সি কোড লিখছি,
------------------------------------------------------------------
#include<stdio.h>
int main(void)
{
printf("Hello friends, I'm Using GNU+Linux!\n");
return 0;
}
------------------------------------------------------------------
আর এই প্রোগ্রামটির নাম দেওয়া হল hello_friends.c
আর ধরে নিচ্ছি প্রোগ্রামটি রাখা হয়েছে ডেক্সটপ (Desktop) ডাইরেক্টরিতে
------------------------------------------------------------------
কম্পাইল পদ্ধতি:
আপনার ডিস্ট্রো লিনাক্স মিন্ট হলে,
sudo apt-get install g++ অথবা সফ্টয়্যার ম্যানেজার থেকে g++ ইন্সটল করে নেবেন।

------------------------------------------------------------------
Ctrl+Alt+T (টার্মিনাল চালু হবে)
সেখানে লিখুন,
cd Desktop (যেহেতু আমাদের সোর্সকোড (hello_friends.c) ডেক্সটপে রাখা হয়েছে, তাই সেই ডাইরেক্টরিতে আসা হল। অন্য কোন ডাইরেক্টরিতে রাখলে সেই ডাইরেক্টরি সিলেক্ট করতে হত।)

gcc hello_friends.c -o hello_friends

এখানে, gcc = গনু(GNU) সি কম্পাইলার।
hello_friends.c = সোর্সকোড
-o = হাইফেন "-" "o" ; এটা সোর্সকোড কে অবজেক্ট কোড (Object Code) এ রূপান্তরিত করে অথবা বলা যেতে পারে কম্পাইল করে।
শেষের অংশ, hello_friend হচ্ছে যে নাম এ অবজেক্ট কোড সংরক্ষিত(save) হবে । এখানে যেকোন নাম দেওয়া যাবে।
------------------------------------------------------------------
এখন ডেক্সটপে hello_friends.c এবং hello_friends নামের দুইটি ফাইল দেখতে পাবেন। এর অর্থ হচ্ছে আপনার প্রোগ্রামটি সঠিক ভাবে কম্পাইল হয়েছে।
------------------------------------------------------------------
প্রোগ্রাম রান করা:
------------------------------------------------------------------
টার্মিনালে লিখুন,
./hello_friends আর এন্টার(Enter) চাপুন।
ডট, স্ল্যাশ , অবজেক্ট_কোডের_নাম।
------------------------------------------------------------------
সি প্লাস প্লাস (C++) এর ক্ষেত্রে একই নিয়ম।
শুধু g++ ইন্সটল করে নিতে হবে।(অন্য ডিস্ট্রোগুলির জন্য)
------------------------------------------------------------------

অথবা, (এটা আরো সহজ উপায়)

(১) sudo apt-get install build-essential
(২) make hello_friends
(৩) ./hello_friends

কোন রকমের আত্মপ্রচার বা লাভের জন্য কিছু নয়, তাই আমার পরিশ্রম যদি সামান্য হলেও আপনার কাজে লাগে, সেটাই আমার বড় পাওয়া।



গনু/লিনাক্সের প্রয়োজনে আমার লেখাগুলি কপি/পেস্ট করতে পারেন।
 

Sunday, July 30, 2017

কমান্ড লাইন -৫ (Wildcard/তুরুপের তাস)


পর্ব= (Wildcard/তুরুপের তাস)

আজকের বিষয় হল Wildcard, লিনাক্স সেলের এক বিশেষ ফিচার, বাংলায় একে তুরুপের তাস বললে মনে হয় অন্যায় কিছু হবে না, কারণ এর কাজটা এমনই। যেমন, মনে করা যাক আপনি চাচ্ছেন কোন ডাইরেক্টরির সকল .pdf ফাইল কপি করবেন অথবা মুভ(move) করবেন, তাহলে শুধু মাত্র ওই ডাইরেক্টরিতে গিয়ে লিখবেন,
cp -uv *.pdf গন্তব্য
গন্তব্য = যেখানে(যে ডাইরেক্টরিতে) কপি করে রাখবেন।
@ লক্ষ্য করুন, শুধুমাত্র * (স্টার) দেওয়ার জন্য আপনার আর একটা একটা করে ফাইলের নাম লিখে কপি করতে হল না।
এখানে এই স্টার ই আপনার তুরুপের তাস!
@ স্টার (*) চিহ্নের পর কোন স্পেস (ফাঁকা স্থান) রাখবেন না।
এমন আরো অনেক রকমের তুরুপের তাস রয়েছে যা আপনার কাজকে অনেক সহজ করে দেয়। সেগুলি নিচে দেওয়া হল,

------------------------------------------------------------------------------------------------------
* = সকল ক্যারেক্টার নিয়ে কাজ করবে।
যেমন, cp -uv *.txt গন্তব্য ; এই কমান্ড সকল .txt ফাইল কপি করে আপনার নির্দেশিত ডাইরেক্টরিতে রাখবে ।
? = যে কোন একটি ক্যারেক্টার নিয়ে কাজ করবে ।
যেমন, cp -uv Gnu????? গন্তব্য ; Gnu দিয়ে শুরু হবার পর যেগুলির সাথে আরো পাঁচটি ক্যারেক্টার আছে তাদের নিয়ে কাজ করবে ।
[characters] = সেটের ভেতর যে সব ক্যারেক্টার থাকবে তাদের নিয়ে কাজ করবে।
যেমন, [ASDF] ; যেসব ফাইল বা ডাইরেক্টরি ASDF দিয়ে শুরু তাদের নিয়ে কাজ করবে।
[!characters] = সেটে যেসব ক্যারেক্টার রাখবেন, সেগুলি ছাড়া অন্য সব ক্যারেক্টার নিয়ে কাজ করবে।
[[:class]] = বিশেষ ক্লাসের মধ্যে যে সকল ক্যারেক্টার আছে তাদের নিয়ে কাজ করবে ।
------------------------------------------------------------------------------------------------------
[:alnum:] = (alphabet + number) অক্ষর এবং সংক্ষা নিয়ে কাজ করবে।
[:alpha:] = শুধুমাত্র অক্ষর নিয়ে কাজ করবে।
[:digit:] = সংখ্যা(ডিজিট) নিয়ে কাজ করবে।
[:lower:] = ছোট হাতের অক্ষর(smaller letter/lower case letter) নিয়ে কাজ করবে।
[:uppr:] = বড় হাতের অক্ষর(capital letter/upper case letter) নিয়ে কাজ করবে।
------------------------------------------------------------------------------------------------------
* = সকল ক্যারেক্টার নিয়ে কাজ করবে।
a* = যেসব ক্যারেক্টার a দিয়ে শুরু হয়েছে তাদের নিয়ে কাজ করবে।
a*.mp3 = যেসব ক্যারেক্টার a দিয়ে শুরু হয়েছে এবং শেষ হয়েছে .mp3 দিয়ে।

আপনি যা কিছু সিলেক্ট করতে যাচ্ছেন তা দেখে নিতে পারেন ls কমান্ড ব্যবহার করে।
যেমন, ls a*.mp3 
 
------------------------------------------------------------------------------------------------------
Reference Book: The Linux Command Line

Writer: William Shotts

Third Internet Edition
------------------------------------------------------------------------------------------------------



কোন রকমের আত্মপ্রচার বা লাভের জন্য কিছু নয়, তাই আমার পরিশ্রম যদি সামান্য হলেও আপনার কাজে লাগে, সেটাই আমার বড় পাওয়া।



গনু/লিনাক্সের প্রয়োজনে আমার লেখাগুলি কপি/পেস্ট করতে পারেন।



আরো দেখুন,

Sunday, July 23, 2017

উইন্ডোজ আর গনু+লিনাক্স

আজ উইন্ডোজ আর গনু+লিনাক্স নিয়ে কিছুটা আলোচনা করবো, এ নিয়ে আর কথা বলব না বলেই ঠিক করেছি, তাই এটি সম্ভবত এই বিষয় নিয়ে আমার শেষ পোস্ট।

অধিকাংশ নতুন লিনাক্স ব্যবহারকারীদের মত আমিও একটি কাজ প্রায়ই করেছি, শুধু উইন্ডোজের কটুক্তি করা।
যে সব বিষয়ে ওগুলি করেছি বা কেউ করে, তথ্যগুলি ভুল থাকে না, ভুল থাকে চেতনায়।
উইন্ডোজ অবশ্যই অত্যন্ত বন্ধুসুলভ এবং ভাল গ্রাফিক্সের অপারেটিং সিস্টেম। এ বিষয়ে সারা দুনিয়া একমত, কারণ এটাই সত্য। আমি সত্য ভালবাসি, তাই আমিও একমত। গেমস খেলায় ভাল অনুভুতি পেতে হলে উইন্ডোজ ব্যবহারের বিকল্প এখনো নেই। আর আমাদের নিত্য প্রয়োজনীয় প্রায় সকল সফ্টয়্যারই উইন্ডোজে পাওয়া যায়। এমনকি গনু প্রজেক্টের প্রায় সকল অ্যাপ্লিকেশন (সফ্টয়্যার) এর উইন্ডোজ ভার্সন রয়েছে।
-----------------------------------------------------------
হ্যাঁ, তবে প্রশ্ন হল, "সবই যদি ওখানেই পাওয়া যায় তবে (উইন্ডোজ) ব্যবহার করতে দোষ কি?"
=> এখানে দোষের কিছু নেই।
----------------------------------------------------------
তাহলে গনু+লিনাক্স কেন ব্যবহার করবো?
=>
১। আপনি যদি আপনার কম্পিউটারের সম্পূর্ণ নিয়ন্ত্রণ নিজের কাছে রাখতে চান,
২। যদি অপারেটিং সিস্টেম কিভাবে কাজ করে বা কিভাবে লেখা হয়েছে দেখতে চান বা জানতে চান,
৩। যদি সফ্টয়্যারকে নিজের মত করে ব্যবহার করতে চান,
৪। যদি অযথা টাকা খরচ করে ভাইরাস/অ্যান্টিভাইরাস খেলা না খেলতে চান,
৫। যদি টাকা দিয়ে ভিপিএন না কিনে সর্বোচ্চো নিরাপত্তা চান,
৬। যদি ড্রাইভার ইন্সটলেশনের ঝামেলা থেকে দূরে থাকতে চান ,
৭। যদি সফ্টয়্যয়ার কোম্পানীর দাসত্ব না করতে চান,
তাহলে গনু+লিনাক্স আপনার জন্যই।

এছাড়াও যে কোন গনু+লিনাক্স ডিস্ট্রো উইন্ডোজের তুলনায় অনেক কম জায়গা ব্যবহার করে [(এর কারণ হল শেয়ারিং পদ্ধতি (শেষের দিকে আলোচনা করা হবে)]
-------------------------------------------------------------
যেহেতু বাংলাভাষী ভাই-বোনদের কথা ভেবে লিখি, তাই আরো কিছু তথ্য দেওয়ার প্রয়োজনীয়তা অনুভব করছি,
আমাদের দেশে গ্রাম-গঞ্জ থেকে শুরু করে বড় শহর পর্যন্ত যারা উইন্ডোজ ব্যবহার করেন, তাঁদের অধিকাংশ এটাকে সম্পূর্ণ বিনামূল্য ভেবেই করেন। আর জানেনও না যে অপারেটিং সিস্টেম কি? এটা অবশ্য তাঁদের দোষ নয়, দোষটা আমাদের, শিক্ষিত সমাজের। যারা শুধু জ্ঞান প্রচারের চেয়ে জ্ঞান বিক্রি কে বেশি প্রাধান্য দিই। নিজেদের স্বল্প স্বার্থের জন্য দেশের বৃহৎ স্বার্থকে ধ্বংস করা উচিৎ নয়। আবার আসবো এ বিষয়ে, তার আগে আর একটি বিষয় সামনে আনা জরুরী, তা হল সফ্টয়্যার "ক্র্যাক (crack)" করে চালানো, এক্ষেত্রে অধিকাংশ মানুষ জানেও না যে সে আসলে কি করছে, এটা ভাল না খারাপ, নিরাপদ নাকি অনিরাপদ.......অবশ্যই খারাপ এবং অনিরাপদ। এভাবে আপনার তথ্য বেহাত হবার আশঙ্কা থেকেই যায়।
আগের প্রসঙ্গে আসা যাক, প্রত্যেক নাগরিকই দেশের অংশ, আর আপনার তথ্য অন্য দেশের হাতে যাওয়া মানে হল দেশের তথ্য পাচার হওয়া, অন্তত এই সুযোগটা কাওকে দেয়া উচিৎ নয়। নিজেকে এবং নিজের দেশকে ভালবাসতেই হবে কারণ এটাই আপনার পরিচয় ।
.
এজন্য মুক্ত সোর্সের(open source) সফ্টয়্যার ব্যবহার করাই যথার্থ।
-------------------------------------------------------------------
গনু+লিনাক্সের প্রোগামগুলি তাদের লাইব্রেরী ফাইল নিজেদের মাঝে শেয়ার করে ব্যবহার করে, যেমন ধরুণ VLC প্লেয়ার চালাতে যেসব কোডেক(Codec : A codec is a device or computer program for encoding or decoding a digital data stream or signal) ব্যবহার করে SMPlayer ও সেই কোডেকেই চলে, এক্ষেত্রে উইন্ডোজ হলে একই কোডেক দুইবার ইন্সটল হবে, কিন্তু লিনাক্সে তা একবার ইন্সটল হবে আর তারা সেগুলি নিজেদের মাঝে শেয়ার(share) করে ব্যবহার করবে। এ কারণে বেশ কম জায়গাতেই লিনাক্স নির্ভর অপারেটিং সিস্টেম বেশ সাবলীল ভাবেই চলে।
-----------------------------------------------------------------
আপনি যখন গনু+লিনাক্স অপারেটিং সিস্টেম ইন্সটল করবেন তখন তা প্রয়োজনীয় ড্রাইভারগুলিও ইন্সটল করে নেবে। তাই ড্রাইভার দেওয়া নিয়ে দুশ্চিন্তা করতে হবেনা।
---------------------------------------------------------------
উইন্ডোজ অপারেটিং সিস্টেমে যা যা রয়েছে, গনু+লিনাক্সেও সেগুলি আছে, তাই অযথা কেন উইন্ডোজ চালাবেন?







কোন রকমের আত্মপ্রচার বা লাভের জন্য কিছু নয়, তাই আমার পরিশ্রম যদি সামান্য হলেও আপনার কাজে লাগে, সেটাই আমার বড় পাওয়া।

গনু/লিনাক্সের প্রয়োজনে আমার লেখাগুলি কপি/পেস্ট করতে পারেন।


আরো দেখুন,


কেন শিক্ষা-প্রতিষ্ঠানের ফ্রী-সফ্টয়্যার ব্যবহার করা উচিৎ ?--(রিচার্ড স্টলম্যান)

Simple Screen Recorder এবং ফেসবুকে স্ক্রিন শেয়ারিং এর Black Screen সমস্যার সমাধান

 লিনাক্স নির্ভর অপারেটিং সিস্টেমে GNOME Interface ব্যবহারকারীদের কেউ কেউ ফেসবুকের ভিডিও কলে স্ক্রিন শেয়ারিং অপশনে কিংবা সিম্পল স্ক্রিন রেকর্...