Searching for a solution to automate data entry task in my office software using Javascript, Greasemonkey and CSV Files



Ok... let's start to tell the story in short.

I am a banker and I am to spend a lot of time to enter various of kinds of data in our banking software. Sometimes we require to input a lot more data (e.g. salary of our staff, salary of the corporate customer who has more than 1000 employees) from a excel file one by one in hand which is really tedious and time consuming.

In our banking software there is an option to import file from the excel file but most of the time it fails to do what it is meant to do and it gives some weird message that  can understand only our in house developer- I guess. So we fall in a bizarre situation when it fails and are to input all those data by hand.

So that's the the short story.

After falling in that situation I began to search a way so that I can input data after loading the page in web browser (out software is web based). As I am not the developer so I need to find a different route and I have no access to the server.

Therefore I assume that I need to have some addons in my browser which will run my code (obviously JavaScript) after loading the page. Fortunately, I have found that addons namely- Greasemonkey and it's closely cousin/variants- Violentmonkey & Tampermonkey. Anyone of those addons will do the work and it can be found in addon manager of the browser. I have installed Greasemonkey in Firefox and Tampermonkey in Google Chrome. You may choose anyone of this and the matter will not vary.

Then I thought I need a CSV parser which will read my CSV file(converted from excel file) to input the data in the software. After searching some Javascript library I have decided to use https://www.papaparse.com/ which is very easy to use.

Here I will describe the process that I have followed to solve the problem.

1. Install the greasemonkey in your browser

2. Click on the icon of greasemonkey in the toolbar of the browser.

3. Click on Create New Script.

4. Copy the following line to the editor

-----------------------------------------------------------------------------------
// ==UserScript==
// @name     import csv file
// @version  1
// @grant    none
// @require https://unpkg.com/papaparse@latest/papaparse.min.js
// @include *test.html
// ==/UserScript==

var input=document.createElement("input");
input.type="file";
input.id = "userfile";

document.body.appendChild(input);

var par = document.createElement("p"); //creating the paragraph element
var text = document.createTextNode("File Format(csv)-Field-Account, Name, Amount-with row heading"); //creating the text node
document.body.appendChild(par.appendChild(text)); //appending the text to

var input1= document.getElementById('userfile');

input1.addEventListener('change', function() {
    Papa.parse(input.files[0], {
        header: true,
        complete: function(results) {
            //console.log("Finished:", results.data);
            var accTypes = document.getElementsByName('accType[]');
            var accounts=document.getElementsByName('accNo[]');
            var byNos = document.getElementsByName('byNo[]');
            var names=document.getElementsByName('empName[]');
            var salaries=document.getElementsByName('salary[]');

            var i = 0;
            //Finding the header name of the fields in CSV File (Include Field name of the data in CSV File)
            var header_1 = results.meta['fields'][0];
            var header_2 = results.meta['fields'][1];
            var header_3 = results.meta['fields'][2];

            results.data.forEach(function(row){
                if(i < accTypes.length) {
                    var cur_acc = row[header_1];
                    accTypes[i].value = cur_acc.substr(7,2);
                    accounts[i].value = cur_acc.substr(9,6);
                    byNos[i].value = cur_acc.substr(15,2);

                    names[i].value = row[header_2];
                    salaries[i].value = row[header_3];

                    i = i + 1;
                }
            });
        }
    });
})
-----------------------------------------------------------------------------------

The first 7 lines are very important to Greasemonkey. This section starts with // ==UserScript== Tag and ends with // ==/UserScript==. These lines are marked as comments to Javascript but important configurations to Greasemonkey. Here all the instructions begin with @ sign. @name is name of the script, @version is the version number, @require is to include external file(e.g. papaparse.min.js), @include is for instructing the script to the page where it can execute (here this script will run on test.html page). It can be given to any webpage by regular expression format such as http://mysite*, *mypage.html etc.

After the above works we need to create a web page for testing called test.html.
File. test.html
--------------------------------------------

------------------------------------------
In the above I have created control for 50 records.

Now create a Excel File with Three Fields( Account No- 30501231001187609, Name- A. Kalam, Salary- 5000) and at least 50 rows with sample data.

Now Export it as CSV File from the Save As Menu of Excel Software and open the test.html file. Select the file by file browser icon and select it.

Hope this may help you to automate task at your office.


লিনাক্সে মেশিনকে বিভিন্ন মোডে শাডডাউন করা

আমরা আজকাল ল্যাপটপ ব্যবহার করি কিন্তু এর পুরো সুবিধা নিতে পারি না বিভিন্ন অপশন সম্পর্কে না জানার কারনে । যেমন যারা লিনাক্স ব্যবহার করি তারা মেশিনকে বিভিন্নভাবে শাট ডাউন করতে পারি যেমন Hibernate, Suspend, Hybrid ইত্যাদি মোডে । সাধারন শাট ডাউন করার ফলে আমাদের মেশিনটি পুরোপুরি বন্ধ হয়ে যায় এবং পুনরায় চালু করলে আপনার আগের সেশনে যে সমস্ত প্রোগ্রামে কাজ করছিলেন তা পুনরায় ওপেন করতে হয়। কিন্তু সাধারন শাট ডাউন না করে আমরা যদি উপরে উল্লেখিত তিনটি মোডের যেকোন একটি মোডে শাট ডাউন করি তাহলে কয়েক সেকেন্ডের ব্যবধানে আপনার মেশিনকে চালু করতে পারবেন এবং বিভিন্ন প্রোগ্রাম যা খোলা অবস্থায় রেখেছিলেন তা পুনরায় সে অবস্থায় ফিরে পাবেন। এটি যারা বেশ কয়েকটি প্রোগ্রাম নিয়ে একসাথে কাজ করেন তাদের জন্য বেশ সুবিধাজনক।

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

Suspend মোডে মেশিনকে ল্যাপটপ ব্যাটারী দিয়ে ১-৩ দিন বা ৫ দিন ও রেখে দেয়া যায় ব্যাটারী ক্ষমতা উপর নির্ভর করে। যেমন আমি নিজেও পরীক্ষা করে দেখেছি Suspend মোডে রেখে ঘন্টাখানেক পর এসেও চার্জ ১০০% পেয়েছি ল্যাপটপে যদিও সে সময় পাওয়ার সাপ্লাই বন্ধ রেখেছিলাম।

এবার আসুন জেনে নিই কোন মোডে কি কাজ হয় ।

Suspend মোডে মেশিনের পুরো স্টেট Ram এ সেভ হয় এবং মেশিনের প্রায় সকল হার্ডওয়্যার এ মোডে বন্ধ থাকে তাই পাওয়ার খুব কম লাগে । Suspend মোডে খুব সামান্য পরিমান ব্যাটারী চার্জ নষ্ট হয় তাই ১/২/৩ এমনকি ৫ দিন পরও মেশিন চালু করা সম্ভব।

Hibernate মোডে মেশিনের পুরো স্টেট হার্ডডিস্কে সেভ হয় এবং এ অবস্থায় যতদিন পরই মেশিন ওপেন করুন না কেন সে অবস্থায় ফিরে পাবেন । Hibernate অবস্থায় ব্যাটারী চার্জ নষ্ট হয় না।

Hybrid মোডটি উপরের দুটি মোডের সমন্বয় বলতে পারেন। অর্থাৎ এ মোডে মেশিনের পুরো স্টেট হার্ডডিস্কে সেভ হয় কিন্তু মেশিনের পাওয়ার পুরো শাটডাউন হয় না। তাই মেশিন দ্রুত চালু করা যায় এবং মেশিনের চার্জ শেষ হয়ে গেলেও Hibernate মোডের মত মেশিনকে আবার চালু করা যায়।

আসুন ডেবিয়ান জিএনইউ/লিনাক্সে কিভাবে এগুলি ব্যবহার করবেন তা দেখি-

এ কমান্ডগুলির জন্য অবশ্যই pm-utils নামক প্যাকেজটি লাগবে । এটি ইনস্টলের কমান্ডঃ
aptitude install pm-utils

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

pm-suspend

ব্যস মেশিন suspend মোডে চলে যাবে। এ অবস্থায় ল্যাপটপের একটি ইন্ডিকেটর লাইট জ্বলতে/নিভতে থাকবে। পাওয়ার ডিসকানেক্ট করার পরও করতে থাকবে । চিন্তার কিছু নেই। এ অবস্থায় ল্যাপটপকে ব্যাগের মধ্যে রেখে দিতে পারেন। তারপর কয়েক ঘন্টা পর আবার চালু করার জন্য পাওয়ার বাটনকে একবার চাপ দিন। কয়েক সেকেন্ডের মধ্যে আগের চালু করার প্রোগ্রামগুলি সহ মেশিন চালু হয়ে যাবে।

অন্য দুটি মোডের কমান্ড হচ্ছে-
pm-hibernate
এবং
pm-suspend-hybrid

এগুলিও পরীক্ষা করে দেখতে পারেন এক এক করে। আশা করি এগুলির কাজ বুঝতে পারবেন।

এভাবে কমান্ড মোডে কমান্ড না দিয়ে আপনার ব্যবহৃত ডেস্কটপ এনভারোনমেন্ট যেমন- কেডিই, গ্নোম, এক্সএফসিই, এলএক্সডিই এর শাটডাউন/পাওয়ার অপশন থেকেও কমান্ড দিতে পারেন মাউসের মাধ্যমে ।

লিনাক্স ইনস্টলেশন প্রস্তুতি - ১ (হার্ডডিস্ক পার্টিশন)

লিনাক্স ইনস্টল করতে গিয়ে শুরুতে অনেকে বিভিন্ন সমস্যায় পড়েন। কারন লিনাক্স ইনস্টলের পদ্ধতি আর উইন্ডোজ ইনস্টলের পদ্ধতি পুরোপুরি ভিন্ন । এজন্য উইন্ডোজ ইনস্টলে দক্ষ ও অভিজ্ঞ ব্যক্তি ও লিনাক্স ইনস্টলের সময় হার্ডডিস্কের পার্টিশন ফরম্যাট করে ফেলা, পুরো পার্টিশন টেবিল ভেঙ্গে একটি করে ফেলা, উইন্ডোজ পার্টিশন মুছে ফেলা, উইন্ডোজ অপারেটিং সিস্টেম মুছে ফেলা ইত্যাদি নানা ধরনের সমস্যা সৃষ্টি করে ফেলেন। কিন্তু একটু সময় নিয়ে অভিজ্ঞদের সহায়তা ও ম্যানুয়াল পড়ে নিলে এ ধরনের সমস্যা এড়ানো সম্ভব।
তাই আসুন আজ আমরা লিনাক্স ইনস্টলের জন্য চমৎকারভাবে হার্ডডিস্ক পার্টিশন করা শিখে নেই।
শুরুর দিকে উইন্ডোজ ইনস্টলের জন্যও কমান্ড লাইনে fdisk নামের একটা টুলসের সাহায্যে হার্ডডিস্ক পার্টিশন করতে হত। কিন্তু বিষয়টি এখন ক্লিক এন্ড গো এর মতই সোজা । তবে একটি বিষয় এক্ষেত্রে সবার দৃষ্টি এড়িয়ে যায় আর তা হল আগে কমান্ড লাইনে কাজ করতে গিয়ে কমবেশী সবাই জেনে নিতেন হার্ডডিস্কের গঠন কাঠামো ও ফাইল সিস্টেম সম্পর্কে । আর এখন বাস্তবতা হলো- ক্লিক এন্ড গো পদ্ধতিতে কাজ করতে গিয়ে সবাই হার্ডডিস্কের ডিটেইলস সম্পর্কে না জেনে তালগোল পাকিয়ে ফেলেন।
প্রথমে আমরা উইন্ডোজ ফাইল ম্যানেজার/মাই কম্পিউটারে ঢোকার পর যে C/D/E/F ড্রাইভ দেখি এটার কথা সাময়িকভাবে ভুলে যাই। কারন এটি আপনাকে হার্ডডিস্কের আসল রহস্যটা লুকিয়ে রেখে উপরের অংশটা দেখায়। হার্ডডিস্কের ডিটেইলস জানতে হলে My Computer এর উপর রাইট মাউস বাটন ক্লিক করে Manage এ ক্লিক করুন। তারপর বাম দিকের ট্রি কন্ট্রোল/মেনু থেকে Disk Management এ ক্লিক করুন। তাহলে নিচের মত দেখতে পাবেন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DeHdhTlZPcFo4cVk
খেয়াল করে দেখুন, ছবির একদম নিচে পার্টিশন মোট ৩ প্রকার- Primary partition, Extended partition, Logical drive। প্রাইমারি পার্টিশন এর কালারের সাথে যেগুলি মিলবে সেগুলি প্রাইমারি পার্টিশন। নীল কালারের যে ৫টি লজিক্যাল ড্রাইভ /পার্টিশন রয়েছে সেগুলিকে ঘিরে আরেকটি সবুজ রংয়ের বর্ডার বিদ্যমান। অর্থাৎ এ ৫টি লজিক্যাল ড্রাইভ একটি এক্সটেনডেড পার্টিশন এর আওতায় রয়েছে ।
লিনাক্সে এটি দেখার জন্য শেল প্রম্পটে ঢুকে কমান্ড দিন- sudo fdisk -l অথবা gparted চালু করুন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DeHdhTlZPcFo4cVk
এবার আসুন কিছু তাত্ত্বিক কথাবার্তা বলি। একটি হার্ডডিস্কে সর্বমোট ৪টি প্রাইমারি পার্টিশন থাকতে পারবে । এর বেশী প্রাইমারী পার্টিশন করা সম্ভব না । যখন হার্ডডিস্কের ধারন ক্ষমতা ছিল খুব কম মাত্র কয়েক মেগাবাইট/এক বা দুই গিগাবাইট তখন এটি ছিল যথেষ্ট । কিন্তু যখন ধারনক্ষমতা বৃদ্ধি পেতে শুরু করে তখন প্রাইমারি পার্টিশন ছাড়াও আরও বেশী পার্টিশন তৈরির প্রয়োজনীয়তা দেখা দেয়। তখন ৩টি প্রাইমারী পার্টিশন করা হয়ে গেলে বাকী স্পেসকে একটি প্রাইমারী এক্সটেনডেড পার্টিশন হিসেবে তৈরীর সুযোগ দেয়া হয় । এই এক্সটেনডেড পার্টিশনকে যেকোন সংখ্যক পার্টিশনে বিভক্ত করা সম্ভব ।
তাহলে আমরা দেখলাম-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DZmRQeE9QXzlNeTA
মোট ৪টি প্রাইমারী পার্টিশন থাকতে পারে একটি হার্ডডিস্কে এবং শেষের টিকে এক্সটেনডেড পার্টিশন (এটি ও মূলতঃ প্রাইমারী পার্টিশন) হিসেবে নিয়ে যেকোন সংখ্যক পার্টিশনে ভাগ করা যেতে পারে। অর্থাৎ উপরের হার্ডডিস্ককে আমরা এখন নিচের মত ভাগ করতে পারি-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DYmVhNllUNm1iWDg
উপরের পার্টিশনটিকে উইন্ডোজের মাই কম্পিউটারে দেখাবে এমনভাবে-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DYllNOTNHVnc0Zm8
তাই মাই কম্পিউটারে ঢুকে বোঝা সম্ভব নয় ঠিক কতটি প্রাইমারী ও লজিক্যাল পার্টিশন রয়েছে আপনার হার্ডডিস্কে। যদি আরেকটি হার্ডডিস্ক জুড়ে দেয়া হয় আপনার মেশিনে বর্তমানটির সাথে তবে সেগুলিও লজিক্যাল পার্টিশন হিসেবে দেখা যাবে My Computer → Manage এ গেলে।
এবার আমরা দেখি উপরের হার্ডডিস্কটিকে লিনাক্সে কিভাবে দেখাবে-
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DT3hLOWM0V283Tzg
যদি আপনার ডিস্কে প্রাইমারি পার্টিশন ১টি কম থাকে তবে উইন্ডোজে একইরকম দেখা যাবে।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DbUEzcTgxajFhOUE
কিন্তু লিনাক্স এক্ষেত্রে আরো স্মার্ট। লিনাক্সে দেখাবে নিচের মত।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DNUVkdXVzb3prYTA
অর্থাৎ লিনাক্স সবসময় প্রাইমারি পার্টিশন এর জন্য ১-৪ নম্বর রিজার্ভ রাখে। লজিক্যাল পার্টিশন শুরু হবে ৫ নম্বর থেকে । তবে উপরের sda1 দেখে হয়তো ভাবছেন এটা আবার কি জিনিস। এর থেকে তো C/D/E/F বোঝাই সহজ। তবে আপনার জন্যই বলি, লিনাক্সের পার্টিশন টেবিল যদি একবার বুঝে যান তখন উইন্ডোজ এর টি ফালতু মনে হবে। আচ্ছা বলুন তো- যদি ৩ টি হার্ডডিস্ক থাকে আপনার মেশিন তাহলে বলতে পারবেন C/D/E/F দেখে কোনটি কোন হার্ডডিস্কের পার্টিশন? লিনাক্সে তাও সম্ভব। আসুন দেখা যাক বিষয়টি-
এখানে sda1 প্রথমে বুঝে নেই। যদি আপনার হার্ডডিস্কটি SCSI/SATA হার্ডডিস্ক হয় তবে প্রথম দুটি অক্ষর দেখবেন sd আর যদি IDE হার্ডডিস্ক হয় তবে এটিকে দেখবেন hd হিসেবে। আর sd এর পরে a এর অর্থ হল প্রথম হার্ডডিস্ক। যদি দ্বিতীয় হার্ডডিস্ক হয় তবে দেখবেন b, তৃতীয় হার্ডডিস্ক হলে দেখবেন c ইত্যাদি। তারপর আছে 1 অর্থাৎ প্রথম পার্টিশন এবং অবশ্যই এটি প্রাইমারি পার্টিশন কারন ১-৪ পর্যন্ত সবই প্রাইমারী পার্টিশন। যদি 5 হতো তাহলে এটি হতো প্রথম লজিক্যাল ড্রাইভ। যদি একটি প্রাইমারী পার্টিশন থাকে মেশিনে তবে sda5 হবে উইন্ডোজের D ড্রাইভ আর লিনাক্সের প্রথম লজিক্যাল পার্টিশন। sda3 হলে উইন্ডোজে এটি হবে E ড্রাইভ আর লিনাক্সে হবে প্রথম হার্ডডিস্কের ৩য় প্রাইমারী পার্টিশন।
এখন বলুন তো, sdc5 হলে কি হবে? হ্যাঁ ঠিক ধরেছেন, এটি হবে তৃতীয় হার্ডডিস্কের প্রথম লজিক্যাল পার্টিশন। আর উইন্ডোজে কি হবে তা প্রথম ও দ্বিতীয় হার্ডডিস্কের পার্টিশন কয়টি এবং তৃতীয় হার্ডডিস্কের প্রাইমারী পার্টিশন কয়টি তার উপর নির্ভর করবে । তাই বলা সম্ভব নয়। যদি প্রথম ও দ্বিতীয় হার্ডডিস্কে মোট ৮ টি পার্টিশন থাকে ওবং তৃতীয় হার্ডডিস্কে ২ টি প্রাইমারী পার্টিশন থাকে তবে এটি উইন্ডোজে M ড্রাইভ হিসেবে দেখাবে।
আর লিনাক্সের সবধরনের ডিস্ক, ডিভাইসকে /dev/ ফোল্ডারে দেখানো হয় তাই /dev/sda1 এর পূর্নাঙ্গ অর্থ হবে এরকম-
/dev/sda1 - /dev ফোল্ডারে প্রথম(a) sd হার্ডডিস্কের প্রথম (1) প্রাইমারী পার্টিশন। (উইন্ডোজে C Drive)
/dev/sda5 - /dev ফোল্ডারে প্রথম(a) sd হার্ডডিস্কের প্রথম (5) লজিক্যাল পার্টিশন। (উইন্ডোজে D Drive যদি একটি প্রাইমারী পার্টিশন হয়)
/dev/sda7 - /dev ফোল্ডারে প্রথম(a) sd হার্ডডিস্কের তৃতীয় (7) লজিক্যাল পার্টিশন। (উইন্ডোজে E Drive যদি একটি প্রাইমারী পার্টিশন হয়)
/dev/hda5 - /dev ফোল্ডারে প্রথম(a) hd হার্ডডিস্কের প্রথম (৫) লজিক্যাল পার্টিশন। (উইন্ডোজে D Drive যদি একটি প্রাইমারী পার্টিশন হয়)
সুতরাং লিনাক্সে আরো ভালভাবে বলা যায় আপনি কোন হার্ডডিস্কের কত নম্বর প্রাইমারী/লজিক্যাল পার্টিশনে কাজ করছেন যা উইন্ডোজে খুজে পাওয়া বেশ কষ্টকর My Computer → Manage থেকে।
তাই লিনাক্স বেশী স্মার্ট।
আরেকটি কথা- উইন্ডোজ OS প্রাইমারী পার্টিশন ছাড়া ইনস্টল করা যায় না কিন্তু লিনাক্স OS প্রাইমারী/লজিক্যাল যেকোন পার্টিশনে ইনস্টল করা যায়।
তাই পূর্বে উইন্ডোজ ইনস্টল করা মেশিনে gparted দিয়ে একটি আলাদা লজিক্যাল পার্টিশন তৈরী করে নিয়ে লিনাক্স ইনস্টল করতে পারেন। এক্ষেত্রে আপনার আগের ইনস্টল করা উইন্ডোজ থাকবে অক্ষত।
বুট করার সময় উইন্ডোজ/লিনাক্স কোনটিতে যেতে চান সেরকম অপশন পাবেন। সিলেক্ট করে দিলে মেশিন আপনার চাহিদামত লিনাক্স/উইন্ডোজে বুট করবে।
লিনাক্স ইনস্টলের জন্য পার্টিশন করার সব থেকে সহজ উপায় হচ্ছে লিনাক্সের সিডি/ডিভিডি/বুটেবল পেনড্রাইভ দিয়ে মেশিন বুট করুন। তারপর মেনু থেকে gparted সিলেক্ট করে একটি লজিক্যাল পার্টিশন তৈরী করে নিন।
তারপর লিনাক্স ইনস্টল করুন। ইনস্টলের জন্য কমান্ড এখান থেকেই দিতে পারবেন। সাধারনতঃ লিনাক্স সিডি/ডিভিডি/পেনড্রাইভ থেকে বুট করার পর ডেস্কটপের উপর শর্টকার্ট/প্রোগাম মেনুতে ইনস্টলের জন্য মেনু (Install Linux on Your Machine বা এ রকম) থাকে। উইন্ডোজের মত ইনস্টলের জন্য সিডি থেকে আলাদা বুট করতে হয় না। এমনকি সিডি থেকে আপনি সব প্রোগ্রাম চালিয়ে দেখতে পারেন ইনস্টলের আগেই যা উইন্ডোজ অপারেটিং সিস্টেমে সম্ভব নয়।
আলাদা পার্টিশন করার আগে যে ড্রাইভে জায়গা বেশী ফাঁকা সেটি থেকেই জায়গা নিতে পারেন অথবা সব থেকে শেষের পার্টিশন থেকে জায়গা বের করে নিন ঐ ড্রাইভের ফাইলসমূহ অন্য ড্রাইভে কাট-পেস্ট/মুভ করে। তবে শেষের পার্টিশন থেকে জায়গা বের করে নেয়াই নিরাপদ। এটি করলে পরবর্তীতে ঝামেলা কম হয়। এটি করাও বেশ সহজ। লিনাক্সের সিডি থেকে বুট করার পর ফাইল ম্যানেজার চালু করে উইন্ডোজের মাই কম্পিউটারে ঢুকে যেভাবে কাট-পেস্ট করেন ঠিক সেভাবে করতে পারবেন।
ফাইল সরিয়ে নেয়ার পর আসুন কিভাবে পার্টিশন করবেন তা হাতে কলমে দেখি।
প্রথমে System Tools → Administration → Gparted Partion Editor চালু করুন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DRTh2ZzdqSHl1WFk
যে পার্টিশনটি থেকে স্পেস নিবেন সেটির উপর রাইট মাউস বাটন ক্লিক করে Resize/Move এ ক্লিক করুন। তারপর Free space following (MiB) বক্সে ক্লিক করুন এবং লিখুন ১২০০০-১৩০০০ এর মধ্যে যেকোন সংখ্যা।
অর্থাৎ আমরা ১২ গিগার কাছাকাছি একটি রুট পার্টিশন করছি লিনাক্সের জন্য । এটাই যথেষ্ট । সোয়াপ পার্টিশন যাদের ১ গিগা Ram আছে তাদের দরকার নেই। যারা আলাদা হোম পার্টিশন করতে চান তারা নিজ দায়িত্বে করুন। একজন নতুন ব্যবহারকারীর জন্য রুট (/) পার্টিশনই যথেষ্ট। কারন উইন্ডোজের ড্রাইভগুলিতে লিনাক্স থেকেই ফাইল সেভ/এডিট করা যায়। লিনাক্সের জন্য আলাদা ডেটা পার্টিশন না থাকলেও চলে । তবে হোম ফোল্ডার সবসময় খালি রাখার চেষ্টা করবেন। বেশী ভারী হলেই ডেটা অন্য পার্টিশনে মুভ করে নেবেন। কারন হোমে জায়গা না থাকলে প্রোগ্রামগুলিই রান করবে না যেহেতু আপনার রুট এবং হোম ফোল্ডার একই পার্টিশনে আছে এক্ষেত্রে । এটি সবসময় খেয়াল রাখবেন তা না হলে পরে সমস্যায় পড়তে পারেন।
তারপর আবার New Size(MiB) বক্সে ক্লিক করুন। তাহলে আপনার দেয়া নতুন ড্রাইভ সাইজ প্রদর্শন করবে। এবার Resize/Move বাটনে ক্লিক করুন।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DcXFRa3Eya2VtNTg
এবার Apply All Operations এ ক্লিক করে অপেক্ষা করুন। আশা করি আপনার পার্টিশন তৈরী হয়ে যাবে ।
https://drive.google.com/uc?export=view&id=0B4dfDqcrM72DVmpBSFNKUGlrS3M
সবশেষে একটি কথা- বারবার জিপার্টেড দিয়ে হার্ডডিস্ক পার্টিশন ফরম্যাট/এডিট/ডিলিট করা থেকে বিরত থাকুন কারন ঘনঘন করলে তা আপনার হার্ডডিস্কে ঝামেলা করতে পারে। তাই প্রথমে কাগজ কলম নিয়ে বসে হার্ডডিস্কের একটি পার্টিশন টেবিল তৈরি করে নিন- অর্থাৎ কয়টি প্রাইমারি, কয়টি লজিক্যাল থাকবে, কোন ড্রাইভে কি ধরনের ফাইল রাখবেন- তা ঠিক করে নিয়ে বসে পড়ুন। তারপর ধীরে ধীরে কাজ শেষ করুন। তাড়াহুড়ো করবেন না, তাতে আপনারই ক্ষতি।
সামনের দিন দেখবো কিভাবে আপনার তৈরী করা পার্টিশনে লিনাক্স ইনস্টল করবেন। আজ এ পর্যন্তই । ভাল থাকুন – সুস্থ থাকুন ।
(এটি একই সাথে আমার ব্লগেও প্রকাশিত এবং স্ক্রিনশটগুলি নেয়া হয়েছে মুক্ত বাংলা জিএনইউ/লিনাক্স থেকে- মুক্ত বাংলা লিনাক্স সম্পর্কে জানতে এখানে দেখুন- http://forum.projanmo.com/topic46595.html )

২০১৩ সালে লিনাক্স ও ওপেন সোর্স জগতের ৫টি শীর্ষ গুরুত্বপূর্ন ঘটনা

http://drive.google.com/uc?export=view&id=0B4dfDqcrM72DSE9OTVZ6b0t3TjA
নতুন একটি বছরের শেষ দ্বারপ্রান্তে আমরা উপনীত। ২০১৪ সালের আগমন ধ্বনি আমরা স্পষ্টতঃ টের পেতে শুরু করেছি।  লিনাক্সের উত্থানের জন্য এ বছরটি খুব গুরুত্বপূর্ন।
লিনাক্স কম্পিউটিং এর বেশ কয়েকটি ক্ষেত্র যেমন সার্ভার ও সুপার কম্পিউটিংএ বহু বছর একাধিপত্য বিস্তার করে আছে। কিন্তু ২০১৩ সালে লিনাক্স এবং ওপেন সোর্স সফটওয়্যার উন্নয়ন পদ্ধতি সকল ক্ষেত্রে রাজত্বের পূর্বাভাস সূচনা করেছে যেটা গাড়ি থেকে শুরু করে ক্লাউড সিস্টেম হয়ে গ্রাহক নির্ভর কম্পিউটিংয়ে ও বিস্তৃত হচ্ছে যার জন্য সত্যিকারের ধন্যবাদ পেতে পারে এন্ড্রয়েড এবং ক্রোম ওএস।
আমি সত্যিই অভিভূত ২০১৩ সালে লিনাক্স ও ওপেন সোর্স জগতের এই সামনে এগিয়ে চলার গতিতে।
আসুন আমরা এ বছরে সংঘটিত লিনাক্স ও ওপেন সোর্স জগতে চলমান ঘটনাসমূহের মধ্যে সব থেকে গুরুত্বপূর্ন ৫টি ঘটনার উপর আলোকপাত করি। কিছু বিষয় হয়তো আপনার নজর এড়িয়ে যেতে পারে কিন্তু বিশ্বাস করুন সামনের বছরগুলিতে এগুলি সত্যিকারের প্রভাবক হিসেবে কম্পিউটিং জগতে আলোড়ন সৃষ্টি করবে। আপনি যে ধরনের কম্পিউটিং এ জড়িত থাকুন না কেন ভবিষ্যতে অবশ্যই লিনাক্স ও ওপেন সোর্স সফটওয়্যার ব্যবহারের জন্য আপনার হাতে খড়ি হতে যাচ্ছে এটা বলা যায় এ মূহুর্তে।

১. ওপেন সোর্স সফটওয়্যার উন্নয়ন পদ্ধতি 

বর্তমানে একজন ডেভেলপার ওপেন সোর্স সফটওয়্যার ব্যবহার করবেন না বা ডেভেলপ করবেন না এটা ভাবা খুবই দূরূহ ব্যাপার। এমনকি মাইক্রোসফটের মত কোম্পানিও ওপেন সোর্স উন্নয়নে এর শক্তি নিয়োজিত করছে যেমন-Node.js, একটি টুলস/ফ্রেমওয়ার্ক যা জাভাস্ক্রিপ্টকে এর স্ক্রিপ্টিং ইঞ্জিন হিসেবে ব্যবহার করে থাকে। সর্বোপরি, মাইক্রোসফটও বর্তমানে লিনাক্স উন্নয়নে পরোক্ষভাবে ভূমিকা রাখছে।
কিন্তু সবচেয়ে গুরুত্বপূর্ন যে বিষয়টি আমাকে অবাক করেছে, তা হল, বিভিন্ন ধরনের বৃহৎ কোম্পানিসমূহ লিনাক্স ফাউন্ডেশনের নেতৃত্বে ওপেন সোর্স প্রজেক্টসমূহকে উন্নয়নের জন্য কি দৃঢ়ভাবেই না ঐক্যবদ্ধ হয়েছে।
শুধু ২০১৩ সালেই লিনাক্স ফাউন্ডেশন AllSeen Alliance কে একত্রিত করেছে ইন্টারনেট বিষয়ক কাজ করার জন্য, ওপেন সোর্স বায়োলজিক্যাল রিসার্চের জন্য OpenBEL; সবধরনের সফটওয়্যার ডিফাইনড নেটওয়ার্কের (SDN) জন্য OpenDaylight; এবং Xen প্রজেক্ট ও KVM ভার্চুয়ালাইজেশনের জন্য Open Virtualization Alliance ও Xen virtualization।
এবং এটা শুধুমাত্র লিনাক্স ফাউন্ডেশনই করছে না । ফেসবুকের ওপেন কম্পিউট প্রজেক্ট ওপেন সোর্স পদ্ধতিকে ডেটা সেন্টারে নিয়ে এসেছে। এপাচি Hadoop এর মত প্রজেক্টকে এগিয়ে নিয়ে যাচ্ছে ব্যাপক ডেটা প্রসেসিং এর জন্য এবং সার্চের জন্য Lucene এবং Solr।
এ সব বড় প্রজেক্টের মাঝে একটি সাধারন মিল বিদ্যমান আর তা হলো- পূর্বের শত্রুসম প্রতিযোগীদেরকে একত্রে মিলেমিশে কাজ করানো। তাই বলে ভাববেন না, কোম্পানিগুলি ওপেন সোর্সের জাদু বা নৈতিক ভাবাদর্শের কারনে এ সমস্ত কাজ করছে ।  বরং তারা ওপেন সোর্স ব্যবহার করছে এ কারনে যে, এটি তাদেরকে সব থেকে কম খরচে সব চেয়ে কোয়ালিটি সম্পন্ন সফটওয়্যার তৈরির সুযোগ দিচ্ছে । যৌক্তিকভাবে বলা যায় যে, কোম্পানিসমূহ সিদ্ধান্ত নিয়েছে তারা বিচ্ছিন্নভাবে অসম্পূর্ন, মালিকানাধীন প্রোগ্রাম তৈরির বিপরীতে ব্যবসা সফল একীভূত ওপেন সফটওয়্যার তৈরী করবে।

২. ক্রোমবুকের উত্থান

গুগলের লিনাক্স চালিত ক্রোমবুক কতটা জনপ্রিয় সেটা নিয়ে বিতর্ক থাকতে পারে তবে এটা সত্য যে, ক্রোম বুক খুব দ্রুত ব্যবহারকারীর দৃষ্টি আকর্ষন করতে সমর্থ হয়েছে।
OEM হিসেবে ডেল ছিল সর্বশেষ কোন কোম্পানি যারা ক্রোম ব্যবহার করে কোন মেশিন বাজারজাত করতো না । কিন্তু তারাও সিদ্ধান্ত নিয়েছে ২০১৪ সালের শুরুতে ক্রোমবুক নিয়ে আসার। বৃহৎ ইলেক্ট্রনিক্স কোম্পানি এলজি ক্রোম ওএস এর জন্য একটি নতুন রূপ নিয়ে হাজির হয়েছে যার নাম ক্রোমবেস। এটি একটি অল-ইন-ওয়ান পিসি যা ক্রোম ওএস কে ২১.৫ ইঞ্চি ও ১৯২০ x ১০৯০ ফুল এইডি রেজুলেশনের একটি বড় ডিসপ্লেতে সমন্বিত করেছে।
এটাও মনে হচ্ছে, এন্ড্রয়েড নিজেই ডেস্কটপের দিকে ধাবিত হতে শুরু করেছে। রিপোর্ট অনুযায়ী PC Plus এ ধরনের মেশিন তৈরির পথে অনেকখানি এগিয়েছে। এ ধরনের ল্যাপটপে উইন্ডোজ ৮.১ ও এন্ড্রয়েড উভয়ই থাকবে যা আগামী জানুয়ারীতে লাগ ভেগাসের সিইএস এক্সপোতে উম্মোচিত হতে যাচ্ছে।
উইন্ডোজ ৮.১ তার পূর্ববর্তী ভার্সনসমূহের মত দ্রুত মার্কেট শেয়ার অর্জনের লক্ষ্যে এক বন্ধুর পথ পরিক্রমায় রত এবং মাইক্রোসফটকে এখন সার্ফেস নিয়ে নিজস্ব পিসি পার্টনারদের সাথে প্রতিযোগিতা করতে হচ্ছে, তাই এটা মোটে ও অবাক করার মত বিষয় নয় যে, লিনাক্সের ডেস্কটপ মার্কেটে প্রতিযোগিতা এর নিজস্ব হার্ডকোর ব্যবহারকারীদের সীমানা পেরিয়ে অবশেষে আলোর মুখ দেখতে যাচ্ছে।

৩. স্টিম ওএসঃ মূলধারার লিনাক্স গেমিং এর আগমন

একটি প্রধান গেমিং কোম্পানী হিসেবে Valve এর স্টিম ওএস রিলিজ সবচেয়ে গুরুত্বপূর্ন হয়ে দেখা দিয়েছে ডেস্কটপ মার্কেটে। মূলতঃ এটি একটি ডেবিয়ান নির্ভর লিনাক্স যা লিনাক্স পিসি গেমিং এর উদ্দেশ্যেই বিশেষভাবে ডিজাইনকৃত।
Valve এর এরকম সিদ্ধান্তের অন্তর্নিহিত উদ্দেশ্য অন্যান্য কোম্পানীর মত নয় যারা লিনাক্স ও ওপেন সোর্সে বিনিয়োগ করছে তাদের লিনাক্সের প্রতি উষ্ণ, আন্তরিক মনোভাবের কারনে। বছরের শুরুতে Valve এর বিলিয়নিয়ার চিফ এক্সিকিউটিভ গেব নিওয়েল মতামত দিয়েছেন এভাবে - “না, Valve তার নিজস্ব ডেস্কটপ লিনাক্স এবং স্টিম মেশিন, ডেডিকেটেড গেমিং কনসোল রিলিজ করেছে এ জন্য যে পিসির জগতে উইন্ডোজ ৮ একটি বড়সড় বিপর্যয় নিয়ে এসেছে।”
Valve এর মতে লিনাক্স হচ্ছে কম্পিউটিংয়ের ভবিষ্যত।

৪. ক্লাউড কম্পিউটিং- লিনাক্স যেখানে সর্বত্র

ডেস্কটপে আপনি লিনাক্সের উত্থান নিয়ে সন্দিহান থাকতে পারেন তবে ক্লাউড কম্পিউটিংএ লিনাক্সের প্রভাব নিয়ে কোন সন্দেহ নেই। মাইক্রোসফটের Azure প্লাটফর্ম বাদে সকল প্রধান সফটওয়্যার প্লাটফর্ম যেমন এ্যামাজনের EC2  ক্লাউড, গুগল Compute Engine এবং বিভিন্ন OpenStack সফটওয়্যারসমূহ – সবাই লিনাক্স এবং ওপেন সোর্স সফটওয়্যার এর উপর নির্ভরশীল।  জনপ্রিয়তা লাভের কারনেই Azure  প্লাটফর্মে আপনি উবুন্টু, সেন্টওএস, Suse লিনাক্স এন্টারপ্রাইজ সার্ভার এবং OpenSuse চালাতে পারেন।
আপনি যদি আইটির জন্য শীঘ্রই ক্লাউড ব্যবহার করার পরিকল্পনা করে থাকেন তবে জোর সম্ভাবনা রয়েছে লিনাক্স ব্যবহারের। তাই হিসাবটা বর্তমানে খুব সহজ এবং এটা অনুমান করে নিতে হয় না।

৫. মোবাইল কম্পিউটিংয়ে রাজত্বঃ এন্ড্রয়েড 

ডেস্কটপ বাদেই, এন্ড্রয়েড আকারে লিনাক্স, বর্তমানে ব্যবহারকারীদের মাঝে রাজত্ব শুরু করে দিয়েছে। স্মার্টফোন জগতে এ্যাপল আইওএস এর থেকে একটি সহজ অগ্রগামীতা দিয়ে এন্ড্রয়েড তার যাত্রা শুরু করেছে। এ বছরের মাঝামাঝি এন্ড্রয়েড ট্যাবলেটের মার্কেট শেয়ার আইপ্যাড লাইনকে এক প্রকার উড়িয়ে দিয়েছে বলা যায়।  এন্ড্রয়েড বর্তমানে এক নাম্বার মোবাইল অপারেটিং সিস্টেম। বর্তমানে একমাত্র বাস্তবতা হচ্ছে এন্ড্রয়েড, আইওএস এর পরে তৃতীয় স্থানটি হবে কার।
প্রকৃতপক্ষে পিসির মার্কেট ক্রমশঃ সংকুচিত হওয়ার পরিপ্রেক্ষিতে বলা যায়, ভবিষ্যতে সকল ধরনের প্লাটফর্মের মধ্যে এন্ড্রয়েড হতে পারে সব থেকে বেশী ব্যবহৃত অপারেটিং সিস্টেম।
সংক্ষেপে এগুলিই ছিল এ বছরের উল্লেখযোগ্য ঘটনা সমূহ। অর্থাৎ এটি এমন একটি বছর যেখানে লিনাক্স জগতে আলোড়ন সৃষ্টিকারী তেমন কোন ঘটনা নেই কিন্তু লিনাক্স ও ওপেন সোর্স সকল ধরনের কম্পিউটিংয়ে তার সফল পদচারনা ও প্রভাব বিস্তার অব্যাহত রেখে চলেছে। লিনাক্স ফাউন্ডেশনের চিফ এক্সিকিউটিভ জিম জেমলিন সম্প্রতি ঘোষনা দিয়েছেন, ২০১৩ সাল ছিল  "Linux on Everything"
তিনি পুরোপুরি সঠিক বলেছেন এবং সামনের বছরগুলিতে আমরা আরও বেশী লিনাক্সকে বিভিন্ন ক্ষেত্রে প্রভাব বিস্তার করতে দেখবো।
মূল লিংক- http://www.zdnet.com/5-top-linux-and-op … 000024621/

নতুনভাবে যারা জিএনইউ/লিনাক্স দিয়ে শুরু করতে চান তাদের জন্য কিছু টিপস

সিকিউরিটি সমস্যা/ ব্যক্তিগত তথ্য নিয়ে পৃথিবীর বিভিন্ন দেশে ইউএসএর বিরূদ্ধে গোয়েন্দাবৃত্তির অভিযোগ আমরা ইতিমধ্যে শুনছি প্রতিনিয়ত। ইউএসএ বেজড কোন কোম্পানির ক্লোজড সোর্স ওএস ব্যবহার করা তাই এখন বেশ ভয়ের কারন। কে জানে হয়তো আপনার অগোচরেই সাধের উইন্ডোজ আপনার ব্যক্তিগত তথ্য এনএসএর সার্ভারে পাঠিয়ে দিচ্ছে। তাই অনেকেই এখন লিনাক্সের প্রতি আগ্রহী হয়ে উঠছেন। কিন্তু লিনাক্স ইনস্টলের পর শুরু হয় আসল পরীক্ষা।
আপনার মডেমটি দিয়ে নেট কানেকশন পাচ্ছেন না।
আপনার প্রিন্টারটি লিনাক্স সাপোর্ট করছে না।
আপনার ল্যাপটপটির গ্রাফিক্স রেজুলেশন ঠিকমত আসছে না।
আপনার পছন্দের গেমস চালাতে পারছেন না।
লিনাক্সে ফটোশপ, বিজয় চলে না।
ইত্যাদি আরো অনেক অনেক সমস্যা।
তাই লিনাক্স দিয়ে শুরুর আগেই কিছু পরিকল্পনা ও পদক্ষেপ নিন।
১. যদি নতুন কোন ডেস্কটপ/ল্যাপটপ কিনে লিনাক্স ব্যবহার করতে চান তবে- প্রথমে পেনড্রাইভে লাইভ হিসেবে লিনাক্স ইনস্টল করে নিন unetbootin দিয়ে।
২. দোকানে গিয়ে পেনড্রাইভ দিয়ে মেশিনটি বুট করে দেখে নিন লিনাক্সে সব কিছু ঠিকমত চলে কিনা?
৩. মডেম, প্রিন্টার, স্ক্যানার ইত্যাদি কেনার আগেই দেখে নিন লিনাক্স সাপোর্টেড কিনা? প্যাকেটের গায়ে লেখা থাকলেই কিনবেন না। বরং ফোরাম বা নেটে গিয়ে সার্চ দিয়ে দেখে নিন বা প্রশ্ন করে জিজ্ঞাসা করুন সেটি চলবে কিনা? এজন্য প্রজন্ম ফোরামের এ লিংকে যেতে পারেন-
http://forum.projanmo.com/topic45998.html
৪. লিনাক্সের বিভিন্ন ডিস্ট্রো থেকে অন্ততঃ দুটি জনপ্রিয় ডিস্ট্রোর সিডি/ডিভিডি যোগাড় করুন। তাতে আপনার সুবিধা হবে। একটি ডিস্ট্রোতে মনিটর, প্রিন্টার, স্ক্যানার ইত্যাদি ড্রাইভার সাপোর্ট না পেলে অন্যটিতে পাওয়ার সম্ভাবনা থাকে। আমি হাতের কাছে - লিনাক্স মিন্ট ও ডেবিয়ানের ডিভিডি রাখি।
ডিস্ট্রো খোজার জন্য যান - http://distrowatch.com/
৫. উইন্ডোজে যেসব সফটওয়্যার ব্যবহার করেন লিনাক্সে তার বিকল্প একটি তালিকা তৈরি করুন। যেমন-
মাইক্রোসফট অফিস - বিকল্প - লিব্রে অফিস/ ওপেন অফিস
উইন্ডোজ এক্সপ্লোরার - বিকল্প - ফায়ারফক্স/আইসউইজেল/ক্রোমিয়াম
আউটলুক এক্সপ্রেস - বিকল্প - থান্ডারবার্ড/আইসডাভ
বিজয় কি-বোর্ড - বিকল্প - SCIM Input Method (bn-unijoy, probhat, national)
ফটোশপ - বিকল্প - GIMP
উইন্ডোজ মিডিয়া প্লেয়ার - বিকল্প - VLC Media Player
এমএসপেইন্ট - বিকল্প - মাই পেইন্ট
নোটপ্যাড - বিকল্প - Gedit/Kwrite/
লিনাক্সের জন্য কয়েকটি প্রোগ্রামিং এডিটর - Netbeans, Eclipse, codeblocks, kdevelop
লিনাক্সের জন্য কয়েকটি গেমস - lbreakout, chromium-bsu, neverball, dreamchess, secret mario chronicles, torcs
৬. লিনাক্স ইনস্টল করার সময় বেশীরভাগ ক্ষেত্রে পার্টিশন করার বিষয়টি অনেকে তালগোল পাকিয়ে ফেলেন। এজন্য gparted দিয়ে লিনাক্সের লাইভ সিডি থেকে কিভাবে পার্টিশন করা যায় সুন্দরভাবে তা ইন্টারনেট ঘেটে শিখে নিন। এটি না জানা থাকলে হার্ডডিস্কের সব তথ্য গায়েব হয়ে যেতে পারে।
৭. অনেকেই মনে করে থাকেন লিনাক্স ইনস্টল করা মানে উইন্ডোজ বাদ দেয়া।  কিন্তু উইন্ডোজের পাশাপাশি ভিন্ন পার্টিশনে লিনাক্স ইনস্টল করা যায়। মেশিন বুটের সময় লিনাক্স/উইন্ডোজ যেটি চান সেটি সিলেক্ট করে দিলেই হল। ব্যস মেশিন সেটিতে চালূ হবে। তাই নির্ভয়ে এগিয়ে যেতে পারেন।
পাশাপাশি কিছুদিন ব্যবহারে অভ্যস্ত হয়ে গেলে পুরোপুরি উইন্ডোজ মুছে দিতে পারেন। যদিও তা না করলে কোন সমস্যা নেই।
৮. লিনাক্স ব্যবহার করার পর থেকে ছোট ছোট কিছু কমান্ড লাইনের কাজ শিখতে থাকুন। এটি না পারলেও কোন সমস্যা নেই। বেশীরভাগ কাজ লিনাক্সে গ্রাফিক্যালী করা যায়। তবে মেশিন কোন কারনে বুট না করলে বা কোন সমস্যা হলে যেমন - বুট মেনু/গ্রাব না পেলে, কোন প্রোগ্রামের কনফিগারেশন ফাইলে সমস্যা হলে - আপনার এ জ্ঞানটি কাজে লাগবে। এর ফলে পুনরায় লিনাক্স ইনস্টলের হাত থেকে রেহাই পেতে পারেন।
বেসিক কয়েকটি কমান্ড-
ls -al                 - To see the directory/Folder contents
df -h                 - To see the harddisk space information
free -m            - To see the memory usage information
cp -R /src /dest            - To copy src folder to dest folder
rm -rf /folder            - To delete /folder
man command - To see the manual of the command
cd dir                - To move to the dir
fdisk -l              - To see the hardisk partitions
du -sh /path     - To see the usage space of the /path
find /path -name "*file_name*" - To find a file in /path
lsusb - To see the usb devices
lspci - To see the pci devices
uname -a - To see the kernel version
whoami - Current user
chmod -R 777 /folder_or_file- To change the permission of folder or file
fsck /dev/sda9 - To scan/check the /dev/sda9 partition and fix them manually
ntfsfix /dev/sda1 - To fix a ntfs/windows partition from linux
এছাড়া যেকোন কমান্ডের প্রথম এক/দুটি অক্ষর লিখে দুবার Tab চাপুন তাহলে ঐ অক্ষরগুলি দিয়ে শুরু হওয়া কমান্ডের লিস্ট স্ক্রিনে দেখতে পাবেন। এটি বেশ কাজের।
৯. লিনাক্সের জন্য কমান্ড লাইন/শেল নির্ভর টেক্সট এডিটর রয়েছে বেশ কয়েকটি যেমন- vi, emacs, nano ইত্যাদি। এর যেকোন একটি শিখে নিন। এটিও বিপদের সময় কাজে লাগবে।
১০. সবসময় নিজেকে আপটুডেট রাখুন প্রযুক্তির বিষয়ে। নিয়মিত টেকসাইটগুলি ভিজিট করুন আর জানুন লিনাক্স সম্পর্কে। যেমন- www.distrowatch.com, http://www.tuxmachines.org/ ইত্যাদি।
www.4shared.com সাইটে গিয়ে লিনাক্সের কিছু বই ডাউনলোড করে নিন- Linux System Administration, Red Hat Linux ইত্যাদি দিয়ে সার্চ দিলে বই পেয়ে যাবেন।
আশা করি পরামর্শগুলি অনেকের কাজে লাগবে - সে প্রত্যাশায় শেষ করছি।

প্রিয় কিছু এন্ড্রয়েড সফটওয়্যার- পর্ব- ২

আজ আরও কয়েকটি প্রয়োজনীয় এন্ড্রয়েড সফটওয়্যার নিয়ে আলোচনা করবো। আসুন শুরু করি-

১. Pocket - অনলাইনে আর্টিকেল পড়ার সময় মনে হলো এটি অফলাইনের জন্য সংরক্ষন করা দরকার বা প্রিয় কিছু আর্টিকেল এর লিংক মোবাইল, ডেস্কটপ, ল্যাপটপ সব জায়গা থেকে দেখতে চান তাহলে এটি আপনার জন্য। অসাধারন কনসেপ্ট। ব্যবহার করলে নিশ্চয়ই পছন্দ হবে। এমনকি ডেস্কটপের ব্রাউজারে এডঅন ইনস্টল করে নিলে ডেস্কটপ থেকেও সব লিংক গুলি পড়তে পারেবন।

২. Bengali Dictionary Offline - নাম শুনেই বুঝতে পারছেন কি কাজে লাগে সফটওয়্যারটি। তবে এর বিশেষত্ব হলো এটি ইংলিশ থেকে বাংলা এবং বাংলা থেকে ইংলিশ যেকোনটি সার্চ করতে পার। সফটওয়্যারটির সাইজ বেশ ছোট হলেও এর শব্দভান্ডার একেবারে কম নয়। এটি সমার্থক শব্দগুলিও দেখিয়ে থাকে। তাছাড়া কোন শব্দ পরবর্তীতে মনে রাখার জন্য একটি আলাদা লিস্ট সংরক্ষনের ব্যবস্থা আছে। এছাড়া কুইজ, গেম ইত্যাদির ব্যবস্থা ও আছে সফটওয়্যারটিতে দক্ষতা বাড়ানোর জন্য। তবে বাংলা শব্দ দিয়ে সার্চ করার জন্য অবশ্যই বাংলা লেখার কি-বোর্ড ইনস্টল করতে হবে।

৩. PDF Viewer - চমৎকার একটি পিডিএফ রিডার সফটওয়্যার। লাইটওয়েট, ফ্লেক্সিবল এবং অসংখ্য কাস্টোমাইজেশন ফিচার সম্বলিত সফটওয়্যর এটি। যেমন আমার পছন্দের কয়েকটি হল- পিডিএফ ফাইল ওপেন থাকা অবস্থায় স্ক্রিন লক অপশন (অর্থাৎ স্ক্রিনের লাইট অন থাকবে), নাইট মোড (কালো ব্যাকগ্রাউন্ডে সাদা লেখা দেখানো), স্ক্রল ফিচার( স্ক্রিনের নিচে বা ওপরে একটি করে টাচ করলে নির্দিষ্ট দূরত্ব স্ক্রল করবে), স্ক্রিনে ডাবল ক্লিক করলে অপশন মেনু আসে (এডোবিতে লেখা বড় হয়ে যায় যা মাঝে মাঝে পড়ার সময় ঝামেলা করে-কারন ফোন স্লো হয়ে গেলে আপনি টাচ করলেন স্ক্রলের জন্য কিন্তু তার বদলে জুম হয়ে গেল-যা সমস্যা!)। এ সফটওয়্যারটিতে এ সব ঝামেলা একেবারে নেই। তাছাড়া এটি অনেক ফাস্ট কারন সাইজ ছোট- মাত্র ৩.৫০ মেগাবাইটের মত।

৪. Prayer Times - নামাজের সময় দেখানোর সফটওয়্যার। অফলাইনে পৃথিবীর বিভিন্ন দেশের, বিভিন্ন শহরের সময় দেখানোর ব্যবস্থা আছে।

৫. QPython+ - যারা পাইথনে প্রোগ্রামিং করতে ভালবাসেন তাদের জন্য। কম্পাইলার, এডিটর সবকিছু বান্ডেলড আছে সফটওয়্যারটিতে। ইনস্টল করুন আর কোডিংয়ে লেগে যান। আর এটি অবশ্যই ফ্রি।

৬. Unit Converter - এক ইউনিট থেকে আরেক ইউনিটে কনভার্ট করার অসাধারন সফট। যেমন- ফুট থেকে মিটার, কিলোগ্রাম থেকে পাউন্ড ইত্যাদি। প্রচলিত প্রায় সব ধরনের ইউনিট খুজে পাবেন সফটটিতে। এমনকি অনলাইন চালু থাকলে মুদ্রার বিনিময় হারের সর্বশেষ রেট ও পাবেন এটিতে।

৭. Zedge - মোবাইলের রিং টোন, ওয়ালপেপার, থিম ইত্যাদির বহু কালেকশন রয়েছে সফটওয়্যারটিতে। নেট চালু করে সফটওয়্যারটি দিয়ে ফ্রি সেগুলি নামিয়ে নিতে পারবেন আপনার মোবাইলের জন্য।

রিলিজ হল বহু প্রতিক্ষীত ডেবিয়ান জিএনইউ/লিনাক্স ৭.০ (কোড নেম wheezy)

দীর্ঘ প্রতীক্ষার অবসান ঘটিয়ে গত ৪ মে, ২০১৩ তারিখ ডেবিয়ান জিএনইউ/লিনাক্সের ৭.০ ভার্সন (কোড নেম wheezy) রিলিজ হয়েছে।
এটি একটি স্ট্যাবল ভার্সন এবং কমপক্ষে ২ বছর ধরে এটি সারাবিশ্বে ব্যবহৃত হতে থাকবে আশা করা যায়। কারন ডেবিয়ান নির্দিষ্ট মেয়াদ পর পর ভার্সন রিলিজ দেয় না বরং যখন কমিউনিটি মনে করে একটি স্ট্যাবল ভার্সন প্রস্তুত তখনই তারা রিলিজ দিয়ে থাকে ।
আর এটিই মূলত ডেবিয়ান লিনাক্সের মূল শক্তি যা একে প্রকৃত পক্ষে একটি ইউনিভার্সাল অপারেটিং সিস্টেমে পরিনত করেছে। কোথায় নেই ডেবিয়ান- ডেস্কটপ থেকে নেটবুক, ডেভেলপমেন্ট সার্ভার থেকে ক্লাস্টার সিস্টেম, ডাটা সার্ভার, ওয়েব সার্ভার, স্টোরেজ সার্ভার ইত্যাদি ইত্যাদি। অসম্ভব রিলায়েবল এবং বাগ ফিক্সড হয়ে থাকে এদের একেকটি ভার্সন।
ডেবিয়ান ৭.০ ভার্সনে একটি ইউনিক ফিচার যুক্ত হয়েছে- মাল্টি আর্কিটেকচার সাপোর্ট। ফলে একটি পিসিতে একই সাথে ৩২বিট এবং ৬৪বিটের সফটওয়্যার ইনস্টল করা যাবে এবং ডিপেনডেন্সী সমস্যাগুলি নিজেই সমাধান করে নেবে।
এ ভার্সনে বেশ কিছু সফটওয়্যারের আপডেট ভার্সন দেয়া হয়েছে। উল্লেখযোগ্য কয়েকটি হলঃ
Apache 2.2.22
Asterisk 1.8.13.1
GIMP 2.8.2
an updated version of the GNOME desktop environment 3.4
GNU Compiler Collection 4.7.2
Icedove 10 (an unbranded version of Mozilla Thunderbird)
Iceweasel 10 (an unbranded version of Mozilla Firefox)
KDE Plasma Workspaces and KDE Applications 4.8.4
kFreeBSD kernel 8.3 and 9.0
LibreOffice 3.5.4
Linux 3.2
MySQL 5.5.30
Nagios 3.4.1
OpenJDK 6b27 and 7u3
Perl 5.14.2
PHP 5.4.4
PostgreSQL 9.1
Python 2.7.3 and 3.2.3
Samba 3.6.6
Tomcat 6.0.35 and 7.0.28
Xen Hypervisor 4.1.4
the Xfce 4.8 desktop environment
X.Org 7.7
মোট নয়টি প্রসেসর আর্কিটেকচার সাপোর্ট রয়েছে ডেবিয়ান ৭.০ তে। এগুলি হল-
32-bit PC / Intel IA-32 (i386)
64-bit PC / Intel EM64T / x86-64 (amd64)
Motorola/IBM PowerPC (powerpc)
Sun/Oracle SPARC (sparc)
MIPS (mips (big-endian)
mipsel (little-endian)),
Intel Itanium (ia64),
IBM S/390 (31-bit s390 and 64-bit s390x),
এবং ARM EABI
যা যেকোন ডিস্ট্রিবিউশনের চাইতে বেশী।
বেশ কয়েকটি ডেস্কটপ এনভারোনমেন্ট ডেবিয়ান সাপোর্ট দিয়ে থাকে- কেডিই, গ্নোম, এক্সএফসিই, এলএক্সডিই ইত্যাদি। ডিফল্ট ডেস্কটপ হিসেবে বরাবরের মতই গ্নোম দেয়া হয়েছে ডেবিয়ানের সাথে যা প্রথম সিডি/ডিভিডি ডাউনলোড করলেই পাবেন।
লিনাক্স মিন্ট, উবুন্টু, কুবুন্ট, জুবুন্টু, লুবুন্টু, নপিক্স, পেপারমিন্ট, মেপিস, পারদুস, জোরিন, স্নোলিনাক্স, সোলাস ওএস, ইলাইভ, বোধি লিনাক্স, এপটুসিড সহ প্রায় ২৫০ এর ও বেশী ডিস্ট্রো-র ভিত্তি হিসেবে ডেবিয়ান কাজ করে থাকে । ডেবিয়ান এর মূল চালিকা শক্তি এর শক্তিশালী কমিউনিটি । ডেবিয়ান প্রজেক্ট লিডার এর সদস্যদের ভোটের মাধ্যমে নির্দিষ্ট সময়ের জন্য নির্বাচিত হন। তাই ডেবিয়ান সত্যিকারের ওপেন সোর্সের স্বাদ দিয়ে থাকে। এটি উবুন্টু বা রেড হ্যাটের মত কমার্শিয়াল হওয়ার সম্ভাবনাও নেই। তাই যত বেশী ডেবিয়ানকে আমরা ছড়িয়ে দিতে পারবো ততই আমাদের দেশের জন্য তা সম্ভাবনা বয়ে নিয়ে আসবে। এছাড়া ডেবিয়ানকে ভিত্তি করে আমরা নিজেদের জন্য কাস্টম কোন ডিস্ট্রো বানিয়ে নিতে পারি যা লিনাক্সের ভিত্তিকে আরো মজবুত করবে আমাদের দেশে।
বর্তমানে ডেবিয়ান লিনাক্সের লাইভ সিডি প্রজেক্ট রয়েছে যা উবুন্টু বা মিন্টের মতই ব্যবহার করা যায় এবং তা থেকে মেশিনে ইনস্টল ও করা যায়। এর জন্য দেখুন http://live.debian.net/cdimage/release/ … so-hybrid/
প্রথম ডিভিডিটি ডাউনলোড করা যথেষ্ট । এতে মোটামুটি সব ধরনের ব্যবহারিক প্রয়োজনীয় সফট দেয়া আছে। আর অতিরিক্ত সফট এর জন্য প্যাকেজ ম্যানেজার তো আছেই।
মূল ইনস্টলেশন ডিভিডি ডাউনলোডের জন্য দেখুন - http://cdimage.debian.org/debian-cd/7.0.0/i386/iso-dvd/
যদিও এ লিংকে অনেকগুলি ইমেজ দেয়া আছে তবে ইনস্টল/চালিয়ে দেখার জন্য প্রথম সিডি/ডিভিডি যথেষ্ট। বাকিগুলি রিপোজিটরী সিডি হিসেবে দেয়া হয়।
চালিয়ে দেখুন । ভাল লাগলে ইনস্টল করে দেখতে পারেন । আর সমস্যায় পড়লে এ থ্রেডে জানান । আশা করি ফোরামের অনেকেই সাহায্য করতে পারবেন ।

প্রিয় কিছু এন্ড্রয়েড সফটওয়্যার- পর্ব- ১

ওয়াল্টনের প্রিমো জি-২ মোবাইল কেনার পর থেকে বেশ কিছু এন্ড্রয়েড সফটওয়্যার ব্যবহার করছি যেগুলি সত্যিই চমৎকার। এগুলির মধ্যে কয়েকটির বিবরন নিম্নে দিচ্ছি-

১. CamScanner -  মোবাইল ফোনের ক্যামেরা দিয়ে স্ক্যান করে ডকুমেন্ট পিডিএফ করার জন্য অসাধারন একটি সফটওয়্যার।
২. CamCard - ভিজিটিং কার্ড মানিব্যাগে রাখতে রাখতে সাইজ বেঢপ হয়ে গেছে। চিন্তার কিছু নেই। এ সফটওয়্যার দিয়ে ভিজিটিং কার্ডগুলিকে স্ক্যান করে সংরক্ষন করুন আর হার্ডকপিগুলিকে ফেলে দিন। এ সফটওয়্যারটি স্ক্যান এর সাথে সাথে কার্ড থেকে কনট্যাক্ট ডিটেলসও সংরক্ষন করতে পারে।
৩. AirDroid - এটি দিয়ে আপনার মোবাইলটিকে ইন্টারনেট ছাড়াই ওয়াইফাই এর সাহায্যে ডেস্কটপ/ল্যাপটপ দিয়ে একসেস করতে পারবেন। এটির সাহায্যে ফাইল, মেসেজ, ছবি, সফটওয়্যার ইত্যাদি ডেস্কটপ/ল্যাপটপ থেকে মোবাইলে ট্রান্সফার করতে পারবেন।
৪. 920 Text Editor - অসাধারন একটি টেক্সট এডিটর। মোবাইলে যে কোন সোর্স কোড এডিট করতে পারবেন। এটি সিনট্যাক্স হাইলাইট করে থাকে অনেকগুলি ল্যাংগুয়েজের।
৫. AndroPHP - নাম শুনেই আন্দাজ করতে পারছেন হয়তো। এটি মোবাইলকে LAMP সার্ভারে পরিনত করবে। যেকোন ওয়েব এ্যাপ মোবাইলে চালাতে পারবেন। ইচ্ছা করলে ওয়াইফাই এর সাহায্যে আপনার নেটওয়ার্ক এর আওতায় থাকা যেকোন ল্যাপটপ/ডেস্কটপ উক্ত ওয়েব এ্যাপ ব্যবহার করতে পারবে নেট কানেকশন ছাড়াই।
৬. Clean Master- বেশ কাজের একটি Memory Booster সফট। ব্যাকগ্রাউন্ডে চলতে থাকা এ্যাপগুলিকে মেমোরী থেকে বের করে মেশিনের স্পিড বাড়িয়ে দেয় এবং ব্যাটারীর চার্জ ও সংরক্ষন করে কার্যকরভাবে।
৭. Clean Music - নোকিয়া ফোনের মত ফোল্ডারের ভিত্তিতে গান শোনার সফটওয়্যার। যে ফোল্ডারে ব্রাউজ করবেন প্লে-লিস্টে সেই ফোল্ডারের গানগুলিকে শোনাতে থাকবে।
৮. ES File Explorer - চমৎকার একটি ফাইল ব্রাউজার সফট। লোকাল ফাইল ব্রাউজ করার সাথে সাথে অনলাইন স্টোরেজে রাখা ফাইল সার্ভার যেমন- ড্রপবক্স, স্কাইড্রাইভ, গুগল ড্রাইভের ফোল্ডারগুলি একসেস করতে পারে এবং সরাসরি মোবাইল থেকে এসব অনলাইন স্টোরেজ থেকে ফাইল কপি, পেস্ট করা যায়। বিপরীতভাবে উক্ত অনলাইন স্টোরেজ সমূহ থেকে ফাইল ডাউনলোড ও করা যায় আপনার মোবাইলে।
৯. Memor Bar Simple - স্ক্রিনের উপরে নোটিফিকেশন এরিয়াতে কতটুকু Ram ফাকা আছে তা প্রদর্শন করে থাকে। বেশ কাজের জিনিস।
১০. Battery Bar Simple - স্ক্রিনের উপরে নোটিফিকেশন এরিয়াতে কতুটুক ব্যাটারী চার্জ আছে তা % আকারে প্রদর্শন করে থাকে।
১১. Call Block - নাম শুনেই বুঝতে পারছেন এর কাজ কি। অনাকাংখিত কল এড়ানোর জন্য মোবাইল কোম্পানিকে আর টাকা দিতে হবে না।
১২. Flashlight - মোবাইলকে টর্চ লাইট হিসেবে ব্যবহারে এর জুড়ি নেই। ফ্ল্যাশ লাইট না থাকলেও সামনের বড় স্ক্রিনকে আলোর উৎসে পরিনত করতে পারে।
১৩. Keep - টুকটাক নোট সংরক্ষনের সফটওয়্যার। এটি গুগল ড্রাইভের সাথে সিন্ক্রোনাইজ করে ব্যবহার করা যায়। বেশ ছোট ও স্মার্ট সফট।
১৪. Auto Resize Wallpaper - মোবাইলের যেকোন ছবি কে ওয়ালপেপার হিসেবে সেট জন্য চমৎকার সফট।





লিনাক্স শর্ট টিপস-৬ (ওপেন/লিব্রে অফিসে কারেন্ট পেজ প্রিন্টের জন্য ম্যাক্রো তৈরী করা)


আমার অফিসে প্রিন্ট দেয়ার জন্য সবার পিসিতে একটি ম্যাক্রো তৈরী করে দিয়েছি। প্রিন্ট দেয়ার সময় F3 প্রেস করলেই বর্তমান পেজ প্রিন্ট হয়। এতে সুবিধা হচ্ছে অনেক সময় ভুল করে অলপেজ প্রিন্ট কমান্ড দিয়ে দেয়ার হাত থেকে বাঁচা যায়। আসুন দেখি এটি লিব্রে/ওপেন অফিসে কিভাবে করা যায়।

প্রথমে Tools → Macros → Organize Macros → OpenOffice.org Basic এ ক্লিক করুন। তারপর Edit বাটনে ক্লিক করুন। এবার নিচের কোডটুকু কপি করে পেস্ট করে দিন এবং সেভ করুন। ম্যাক্রো উইন্ডো বন্ধ করুন।

sub Print_Cur_Page
Dim oDoc,oVC,CurrentPage
oDoc = ThisComponent
oVC = oDoc.CurrentController.getViewCursor
CurrentPage = Str(oVC.getPage)
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Copies"
args1(0).Value = 1
args1(1).Name = "RangeText"
args1(1).Value = CurrentPage
args1(2).Name = "Collate"
args1(2).Value = false
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args1())
end sub

সেভ করা শেষ হলে Tools → Customize → Keyboard → F3 ক্লিক করুন। এবার Category বক্সের ভিতরে OpenOffice.org Macro তে ক্লিক করুন। তারপর User → Standard → Module1 এ ক্লিক করুন। ডানপাশের Function বক্স থেকে Print_Cur_Page নামের উপর ক্লিক করুন। সবশেষে উপরের Modify বাটনে ক্লিক করে Ok করুন। তারপর কারেন্ট পেজ প্রিন্টের জন্য F3 চাপুন।

যদি ম্যাক্রো ঠিকমত কাজ না করে তবে এ ফাইলটি ডাউনলোড করে তারপর কপি করুন।

লিনাক্স শর্ট টিপস-৫ (ওপেন/লিব্রে অফিসে রিকভারী উইজার্ড সমস্যা)


ওপেন অফিস বা লিব্রে অফিসে রিকভারী অপশনটি বেশ দরকারী। কিন্তু মাঝে মাঝে কোন ফাইল রিকভারী করতে না পারলে প্রতিবার কোন ফাইল ওপেন করার সময় রিকভারী উইজার্ড এসে বিরক্ত করতে থাকে। এজন্য আপনি "soffice -norestore" অথবা "soffice -nocrashreport" অথবা "soffice -norestore -nocrashreport" কমান্ডের মাধ্যমে ওপেন অফিস চালু করে দেখতে পারেন। এতেও সমস্যা না গেলে নিচের পদক্ষেপ গ্রহন করুন।

প্রথমে ডিলিট করুন নিচের ফাইল দুটি-
in windows:
C:\Documents and Settings\\Application Data\OpenOffice.org2\user\registry\data\org\openoffice\Office\Recovery.xcu

in linux:
/home/zahid/.openoffice.org/3/user/registry/data/org/openoffice/Office/Recovery.xcu

এবং
in windows:
C:\Documents and Settings\\Application Data\OpenOffice.org2\user\registry\cache\org.openoffice.Office.Recovery.dat

in linux:
/home/zahid/.openoffice.org/3/user/registry/cache/org.openoffice.Office.Recovery.dat

সবশেষে নিচের ফোল্ডারটিতে যা আছে তার সব মুছে দিন।
in windows:
C:\Documents and Settings\\Application Data\OpenOffice.org2\user\backup\

in linux:
/home/zahid/.openoffice.org/3/user/backup/

লিনাক্স শর্ট টিপস-৪ (হার্ডডিস্কের স্পেস দেখা)


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

df -h

ফলাফলঃ
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 5.2G 8.9G 37% /
tmpfs 941M 0 941M 0% /lib/init/rw
udev 934M 276K 934M 1% /dev
tmpfs 941M 0 941M 0% /dev/shm
/dev/sda6 11G 7.3G 2.8G 73% /media/win_d
/dev/sda7 11G 2.1G 8.0G 21% /media/win_e
/dev/sda8 11G 5.2G 4.9G 52% /media/win_f
/dev/sda9 11G 3.5G 6.6G 35% /media/win_g
/dev/sda10 21G 5.3G 15G 27% /media/win_h
/dev/sda12 32G 14G 16G 47% /media/Lin_Bkup
/dev/sda13 99G 13G 82G 14% /media/Lin_Big
/dev/sda11 15G 5.9G 8.2G 42% /home
/dev/sr0 647M 647M 0 100% /media/cdrom0


উপরে আমার কম্পিউটারে প্রত্যেকটি ড্রাইভের জায়গা কতটুকু খালি আছে তা ৪নং কলামে দেখা যাচ্ছে।

লিনাক্স শর্ট টিপস-৩ (স্ক্রিন রেজুলেশন সমস্যা)


অনেক সময় দেখা যায়, মনিটরের রেজুলেশন সেট করার পরও রিস্টার্টের সময় আবার পরিবর্তিত হয়ে যায়। যেমন আপনি রেজুলেশন সেট করলেন 1280 x 800 কিন্তু রিস্টার্টের পর আবার 1024 x 768 এ পরিবর্তিত হয়ে গেল। এ সমস্যা থেকে পরিত্রানের জন্য /etc/gdm/Init/Default ফাইলটি খুলে তাতে নিচের কোডগুলি লিখে সেভ করুন।

কমান্ডঃ
xrandr --output VGA1 --mode 1024x768 --rate 60

লাইনটি অবশ্যই exit 0 এর আগে লিখবেন। exit 0 এর পর যাই লিখুন না কেন তা মেশিন এক্সিকিউট করবে না।

যদি কেডিই ইন্টারফেস ব্যবহার করেন তবে আপনার কনফিগারেশন ফাইলটি হবে /etc/kde*/kdm/Xsetup
উপরের কমান্ডটিতে কি কি ইনপুট দিবেন (VGA1, 1024x768, 60 স্থানে) তা দেখার জন্য আরেকটি কমান্ড দিন।

xrandr -q

ফলাফল÷
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
1280x800 60.0*+
1024x768 60.0
800x600 60.3 56.2
640x480 59.9

উপরে দেখুন LVDS1 কানেক্টেড দেখাচ্ছে এবং বেস্ট রেজুলেশন দেখাচ্ছে 1280x800 এবং রিফ্রেশ রেট 60.0। তাহলে প্রথম কমান্ডটি হবে বর্তমান মেশিনের জন্য-

xrandr --output LVDS1 --mode 1280x800 --rate 60

এটি etc/gdm/Init/Default অথবা /etc/kde*/kdm/Xsetup ফাইলে exit 0 এর আগে লিখে সেভ করুন। তারপর মেশিন রিস্টার্ট দিন।

লিনাক্স শর্ট টিপস-২ (কেডিই স্টার্ট মেনু সমস্যা)


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

কমান্ড-

rm .kde/share/config/plasma-desktop-appletsrc

এ কমান্ডটি দিলে বর্তমান ব্যবহারকারীর জন্য স্টার্ট মেনুর সেটিংসটি ডিলিট হয়ে যাবে। পরবর্তীতে মেশিন রিস্টার্টের সময় ডিফল্ট সেটিংসসহ স্টার্ট মেনু চালু হবে।

লিনাক্স শর্ট টিপস-১ (সিডিরম শব্দ সমস্যা)


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

আজ আলোচনা করবো লিনাক্সে সিডিরমের অতিরিক্ত শব্দ সমস্যা।

এ সমস্যাটি সাধারনত হয়ে থাকে ভিডিও সিডি চালানোর সময়। লিনাক্স ডিফল্টভাবে সিডিরম থেকে সরাসরি রিড করে ভিডিও চালাতে চেষ্টা করে। কিন্তু ভিডিও সাইজ বড় হওয়াতে প্রতি মূহুর্তে রিড করার প্রয়োজন হয়। ফলে অতিরিক্ত শব্দ তৈরী হয়। যদি লিনাক্সকে সিডি/ডিভিডি রিড করার স্পিড সেট করার নির্দেশ দেয়া যায় তবে অতিরিক্ত শব্দ কমে যাবে। এজন্য কমান্ড দিন-

sudo hdparm -E 2 /dev/cdrom

এখানে /dev/cdrom এর জায়গাতে আপনার সিডি/ডিভিডির ডিভাইস লোকেশন দিয়ে দিন।

লোকেশন জানার জন্য কমান্ড দিন-

sudo mount -l

ডেবিয়ান লিনাক্সে কমান্ড লাইনে রিমোট এডমিনিস্ট্রেশন করা

লিনাক্সে গ্রাফিক্যালি  কাজের জন্য যেমন সুবিধা রয়েছে তেমনি কমান্ড লাইনে কাজের জন্য রয়েছে একটি শক্তিশালী স্ট্রাকচার। যারা একটু অভিজ্ঞ তারা কমান্ড লাইনে কাজ করে বেশি স্বাচ্ছ্যন্দ পেয়ে থাকেন।

প্রশ্ন হতে পারে - তাতে কি লাভ? ভেবে দেখুন তো- ইউরোপের কোন শহরে অবস্থিত একটা সার্ভার এডমিনিস্ট্রেশনের জন্য গ্রাফিক্যাল মোড ভাল নাকি কমান্ড লাইন মোড ভাল?

যারা VNC বা TeamViewer এর মত সফটওয়্যার ব্যবহার করেছেন তারা জানেন কোনটা সুবিধাজনক? অনেক সময় একটা মাউস ক্লিক করতেই কয়েক মিনিট লাগে নেটওয়ার্ক দূর্বল থাকলে। তাই কমান্ড মোডে এক লাইনে আপনি  সার্ভারের অনেক সমস্যা ঠিক করতে পারবেন। যেখানে মাউস ক্লিক করতেই কয়েক ঘন্টা লাগতে পারে। তাছাড়া সিকিউরিটির ব্যাপার আছে। গ্রাফিক্যাল মোডে বেশ কিছু সার্ভিস ব্যাকগ্রাউন্ডে রান করতে থাকে যা

সিকিউরিটিকে ভালনারেবল করে তুলতে পারে। কমান্ড মোড তাই অনেক ক্ষেত্রে বেশী কার্যকর।

অনেক তত্ব কথা তো হল। আসুন এবার হাতে কলমে শুরু করে দেই। এজন্য অবশ্যই কমপক্ষে দুটি মেশিন লাগবে। দুটি মেশিনকে নেটওয়ার্কে যুক্ত করুন। তারপর ssh প্যাকেজটি ইনস্টল করুন।

কমান্ডঃ

apt-get install ssh

ssh হল কোন রিমোট মেশিনে শেল মোডে লগইন করা এবং উক্ত মেশিনে কমান্ড চালানোর জন্য বিশেষ প্রোগ্রাম। এটি সিকিউরড এবং RSA Key নির্ভর। অর্থাৎ প্রথমবার কোন রিমোট মেশিনে লগইন করার সময় আপনার মেশিনে একটি কি-জেনারেট করবে যা রিমোট লগইন সেশনের সময় ডাটা ইনক্রিপ্ট করার জন্য দু'মেশিনের মাঝে যোগসূত্র হিসেবে কাজ করে থাকে। তাই এটি অনেক নিরাপদ।

ssh ইনস্টল শেষ হলে রিমোট মেশিনে লগইন করার জন্য কমান্ড দিনঃ

ssh user@host_machine_name/ip_address

Example: ssh root@192.168.0.1

এরপর RSA Key Fingerprint দেখাবে। এখানে Yes/Y লিখে এন্টার দিন। তারপর পাসওয়ার্ড দিন। এটি রিমোট মেশিনে সেটআপকৃত ব্যবহারকারীর  পাসওয়ার্ড। আপনার নিজের মেশিনের পাসওয়ার্ড নয়।

পাসওয়ার্ড সঠিক হলে প্রম্পট দেখাবে। এখানে লিনাক্সের যে কোন কমান্ড ব্যবহার করতে পারেন।

যদি উইন্ডোজ মেশিন থেকে লিনাক্স মেশিনে লগইন করতে চান তবে Putty নামক সফটওয়্যারটি ডাউনলোড করে ইনস্টল করে নিন। এটি লিনাক্স মেশিনেও ব্যবহার করা যায়। তবে লিনাক্সে শেল প্রোগ্রাম থাকায় তার দরকার নেই।

Putty চালু করে Host Name এর বক্সে Machine_name or IP Address দিন। Port 22 রাখুন। তারপর Open বাটনে ক্লিক করুন।

login as: এর সামনে username লিখে এন্টার দিন।

আগের মতই পাসওয়ার্ড দিন। তারপর লিনাক্সের যে কোন কমান্ড দিন আপনার মেশিন থেকে।

ডেবিয়ান লিনাক্সে রিমোট ডেস্কটপ শেয়ারিং

লিনাক্সে ডেস্কটপ শেয়ারিং এর জন্য বেশ কয়েকটি পদ্ধতি রয়েছে। এজন্য অনেকেই প্রথমে কোনটি দিয়ে শুরু করবেন তা বুঝতে পারেন না। বিভিন্ন অফিস ও প্রতিষ্ঠানে আইটি সাপোর্ট এর জন্য Real VNC, উইন্ডোজের Remote Desktop ইত্যাদি ব্যবহার করা হয়ে থাকে। দু'ভাবে রিমোট ডেস্কটপ শেয়ারিং করা হয়। একটি হচ্ছে- মেশিনে বর্তমান ইউজার লগইন অবস্থায় যে ডেস্কটপ ব্যবহার করেন সরাসরি সেটিতে একসেস করা আর অপরটি প্রতিটি ব্যবহারকারীর জন্য আলাদা আলাদা ডেস্কটপ সেশন প্রদান করে। ফলে একজন ব্যবহারকারী আরেকজনের ডেস্কটপ দেখতে পায় না। লিনাক্সে দু'ধরনের শেয়ারিং এর জন্য আলাদা আলাদা প্রোগ্রাম রয়েছে।

শুরুতেই বেসিক যে ব্যাপারটি মনে রাখা দরকার তা হল, রিমোট ডেস্কটপ শেয়ারিং এর জন্য দুটি প্রোগ্রাম ব্যবহার করতে হবে।

এক. সার্ভার প্রোগ্রাম যেমন- vnc server, x11vnc ইত্যাদি
দুই . ক্লায়েন্ট প্রোগ্রাম যেমন – vnc viewer, tightvnc viewer ইত্যাদি

প্রথম প্রোগ্রামটি যে ডেস্কটপ শেয়ার করা হবে তাতে ইনস্টল করে ব্যাকগ্রাউন্ডে চালু রাখতে হবে।

দ্বিতীয় প্রোগ্রামটি যে মেশিন থেকে রিমোট ডেস্কটপটি দেখতে চান সেখানে ইনস্টল করতে হবে।

এবার আসুন দেখি লিনাক্সে কি কি প্রোগ্রাম রয়েছে ডেস্কটপ শেয়ারিং এর জন্য।

প্রতিটি ব্যবহারকারীর আলাদা সেশন প্রদানের সুবিধা দিয়ে থাকে vncserver। এটিতে আপনি সরাসরি কোন ব্যবহারকারীকে সাহায্য করতে পারবেন না। প্রত্যেক ব্যবহারকারী আলাদা ডেস্কটপ এনভারোনমেন্ট পাবেন কাজের জন্য।

আর সরাসরি অন্য মেশিনে লগইন থাকা ব্যবহারকারীর ডেস্কটপ শেয়ারিং এর জন্য প্রয়োজন হবে x11vnc।

প্রথমে তাই আমরা x11vnc ব্যবহারের পদ্ধতি দেখবো যাতে অন্যকে রিয়েল টাইমে সাহায্য করা যায়।

x11vnc ইনস্টলের জন্য কমান্ড দিন-

apt-get install x11vnc

ইনস্টল শেষ হওয়ার জন্য টার্মিনালে কমান্ড দিনঃ

x11vnc -many &

উক্ত কমান্ড দিলে x11vnc ব্যাকগ্রাউন্ডে রান করবে এবং অন্য মেশিন থেকে tightvnc viewer দিয়ে বা Real VNC Viewer দিয়ে ডেস্কটপ দেখা যাবে।

vnc viewer ইনস্টলের জন্য কমান্ড দিনঃ
apt-get install xvncviewer or xvnc4viewer

তারপর প্রোগ্রাম মেনু থেকে vnc viewer চালু করুন অথবা শেল প্রম্পটে লিখুন – vncviewer

এবার server: এর সামনে লিখুন যে মেশিনে ঢুকতে চান তার IP Address (192.168.0.1)।

উপরের নিয়মে প্রতিবার মেশিন চালুর পর x11vnc -many & কমান্ডটি দিয়ে সার্ভার চালু করতে হবে। যদি মেশিন বুটের সময় x11vnc স্বয়ংক্রিয়ভাবে চালু করতে চান তবে /etc/gdm/Init/Default ফাইলের শেষে (অবশ্যই exit(0) এর আগে) নিচের লাইনটি যোগ করুন ।

কমান্ডঃ
sudo gedit/vi /etc/gdm/Init/Default
/usr/bin/x11vnc -ultrafilexfer -rfbversion 3.7 -bg -reopen -forever

-ultrafilexfer -rfbversion 3.7 – এই দুটি অপশন এনাবল করা হয়েছে যাতে Ultravnc Viewer এর মাধ্যমে ফাইল কপি করা যায় এক মেশিন থেকে অন্য মেশিনে। এ দুটি অপশন বাদ দিতে পারেন যদি ফাইল ট্রান্সফার সুবিধা দরকার না হয়।

etc/gdm/Init/Default ফাইলটি ডিসপ্লে ম্যানেজার (kdm/gdm/xdm/cde) ভেদে পরিবর্তিত হয়। যেমনঃ

GDM (GNOME)     এর ক্ষেত্রে /etc/X11/gdm/Init/Default অথবা /etc/gdm/Init/Default
     KDM (KDE)    এর ক্ষেত্রে /etc/kde*/kdm/Xsetup
     XDM          এর ক্ষেত্রে /etc/X11/xdm/Xsetup (or sometimes xdm/Xsetup_0)
     CDE          এর ক্ষেত্রে /etc/dt/config/Xsetup
x11vnc প্রোগ্রামের পর এবার আমরা VNC Server এর ব্যবহার দেখব। এটি প্রতিটি ব্যবহারকারীকে আলাদা ডেস্কটপ সেশন প্রদান করে থাকে।

vncserver ইনস্টলের জন্য কমান্ড দিনঃ

apt-get install vncserver

প্রথমবার পাসওয়ার্ড সেট করার জন্য রান করুন-
vncpassword
আপনার পাসওয়ার্ড দিন। এটি পাসওয়ার্ডকে ~/.vnc/passwd ফাইলে সেভ করবে।
নতুন সার্ভার চালুর জন্য কমান্ড দিনঃ
vncserver
এর ফলে নতুন সার্ভার চালু হবে এবং এর ডেস্কটপ ১ নম্বর দিয়ে শুরু হবে। যেহেতু একই সময়ে একাধিক vnc সার্ভার থাকতে পারে তাই এ নম্বরটি যথেষ্ট গুরুত্বপূর্ন। যখন আপনি সার্ভারে কানেক্ট করতে চাইবেন তখন এ নম্বরটি জানা থাকতে হবে। ডেস্কটপ নম্বর এরপর বাড়তে থাকবে ১,২,৩.. এরকম । প্রথম সার্ভার চালু করলে সেটি চিহ্নিত হবে machine:1, পরেরটি হবে machine:2 ইত্যাদি।
এবার প্রোগ্রামস মেনু থেকে vnc viewer চালু করে মেশিনের এড্রেস হিসেবে machine:1 দিলে কানেক্ট হতে পারবেন।


নিচের অংশটুকু জেনে রাখার জন্য -
মূল VNC প্রোগ্রামটি একটি ইউনিভার্সিটির ল্যাব প্রজেক্ট ছিল যা পরবর্তীতে কয়েকটি শাখায় বিভক্ত হয়ে যায়।
  • TightVnc – একটি উন্নতমানের কমপ্রেশানযুক্ত সংস্করন
  • TridiaVnc – মূল Vnc এর আরেকটি শাখা
  • RealVNC – এটিই হচ্ছে মূল vnc প্রোগ্রামারের সংস্করন

আজ এ পর্যন্তই। সবাই ভাল থাকুন সে কামনায় শেষ করছি।

লিনাক্সে সিটিসেল ZTE AC682 মডেম এর সমাধান

মাস তিনেক আগে সিটিসেলের ZTE AC682 মডেমটি কিনে খুব মনোকষ্টে ছিলাম। লিনাক্সে চালাতে পারছিলাম না। অবশেষে বহু ঘাটাঘাটির পর একটি সমাধান পেয়ে গেছি। dancing খুব ভাল লাগছে। লিনাক্সেই নেট চালাতে পারছি মডেমটি দিয়ে। যারা বহু ঘাটাঘাটি করেছেন তাদের জন্য বলি- একটি মাত্র শব্দের জন্য নেট কানেকশন হচ্ছিল না - আর সেটি হচ্ছে - sudo।


তাহলে আসুন দেখি কিভাবে কানেকশন করা যায়।


প্রথমে মডেমটি ঢোকান ইউএসবি পোর্টে। তারপর কমান্ড দিন-
lsusb


দেখুন নিচের লাইনটি পাওয়া যায় কিনা-
Bus 007 Device 002: ID 19d2:ffde ONDA Communication S.p.A.


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


কমান্ড দিন-


sudo eject /dev/sr1


যদি আপনার মেশিনে সিডি/ডিভিডি ড্রাইভ না থাকে তবে sr1 এর জায়গাতে sr0 দিন।


এবার কমান্ড দিন- lsusb


Bus 007 Device 003: ID 19d2:ffdd ONDA Communication S.p.A.


উপরের লাইনটি পাওয়া গেলে দেখুন ffdd অংশটি যা আগে ffde ছিল। অর্থাৎ এখন এটি মডেম হিসেবে কাজ করছে। কার্নেলের জন্য প্যারামিটার দেয়ার পালা এবার।


কমান্ডঃ
sudo modprobe usbserial vendor=0x19d2 product=0xffdd


wvdial কনফিগারেশনের জন্য কমান্ড দিন-


sudo wvdialconf
------------------------------------------------
আউটপুট হবে নিচের মত-
-------------------------------------------------
Editing `/etc/wvdial.conf'.


Scanning your serial ports for a modem.


Modem Port Scan<*1>: S0 S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB0<*1>: Modem Identifier: ATI -- Manufacturer: +GMI: China TeleCom
ttyUSB0<*1>: Speed 9600: AT -- OK
ttyUSB0<*1>: Max speed is 9600; that should be safe.
ttyUSB0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
WvModem<*1>: Cannot get information for serial port.
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB1<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
WvModem<*1>: Cannot get information for serial port.
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer: +GMI: China TeleCom
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK


Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
-------------------------------------------------------------------------------------------------------------
wvdial.conf ফাইলটি এডিটের জন্য কমান্ড দিনঃ

gksu gedit /etc/wvdial.conf

এ ফাইলে নিচের অংশটুকু কপি করে পেস্ট করুন-
----------------------------------------
[Dialer citycell]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Stupid Mode = 1
Modem Type = Analog Modem
Command Line = ATDT
ISDN = 0
New PPPD = yes
Phone = #777sudo
Modem = /dev/ttyUSB0
Username = waps
Password = waps
Baud = 460800
----------------------------------------

উপরে Phone = #777sudo অংশটুকু ভালভাবে লক্ষ্য করুন। এজন্যই আমি গত তিনমাস ধরে মডেমটি দিয়ে কানেক্ট করতে পারিনি লিনাক্সে। sudo লেখাটি অন্য কোন মডেমেই লাগেনি এর আগে যা বেশ অবাক করেছে আমাকে।

সবশেষে এবার নেট কানেক্টের জন্য কমান্ড দিন-


sudo wvdial citycell

output
---------------------
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Modem initialized.
--> Sending: ATDT#777sudo
--> Waiting for carrier.
ATDT#777sudo
~[7f]}#@!}!} } }=}!}$}%
CONNECT 153600
\}"}&} } } } }#}%B#}%}%}&`Tw'}'}"}(}"^2~
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Thu Jan 5 21:32:45 2012
--> Pid of pppd: 2657
--> Using interface ppp0
--> local IP address 10.1.39.177
--> remote IP address 2.2.2.2
--> primary DNS address 117.18.224.146
--> secondary DNS address 117.18.224.147
----------------------------------------------------------
ব্যস আপনি কানেক্টেড!! dancing

চমৎকার টিউটোরিয়ালটির জন্য যার কাছে অবশ্যই কৃতজ্ঞ তার লিংক।