Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

B2G ডেস্কটপ ক্লায়েন্ট ব্যবহারবিধি

ফায়ারফক্স ওএস ডেস্কটপ ক্লায়েন্ট (যা B2G ডেস্কটপ ক্লায়েন্ট নামেও পরিচিত)  আপনাকে গেকো ভিত্তিক বা মূল ডিভাইসের মত পরিবেশে গায়া এবং ওয়েব অ্যাপস রান করার সুযোগ দেয় । এটি ডিভাইস হার্ডওয়্যারকে এমুলেট করে না, তাই এটি ডিভাইস এপিআই পরীক্ষার জন্য যথাযথ নয় । তাছাড়া, এটি মূল হার্ডওয়্যারে পরীক্ষার বিকল্পও নয় । তবে, এতে কন্ট্যাক্টস এবং সেটিংস এপিআই এর মত কিছু এপিআই চালু আছে, যা ফায়ারফক্সে নেই । ফলে, এটা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্ট অথবা গায়া ইউজার ইন্টারফেসে কাজ করার ক্ষেত্রে সহায়ক হবে । এই লেখাটিতে কীভাবে ফায়ারফক্স ওএস ডাউনলোড অথবা তৈরি করতে হয় ; একইসাথে কীভাবে ব্যবহার করতে হয়, তা দেখানো হবে ।

দ্রষ্টব্য: ফায়ারফক্স ওএস ডেস্কটপ  ক্লায়েন্ট ব্যবহারের সহজতম পন্থা হল ফায়ারফক্স ওএস সিমুলেটর ।  এর জন্য আপনাকে আলাদাভাবে ডেস্কটপ ক্লায়েন্ট তৈরি করা লাগবে না ।

সর্বশেষতম নির্মাণ ডাউনলোড

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

আপনি এখন সরাসরি ডেস্কটপ ক্লায়েন্ট রান করায় (Running the desktop client) চলে যেতে পারেন, যদি না আপনি এটি নিজ থেকে তৈরি করতে চান ।  কোডবেস-এ পরিবর্তন আনতে ও তা পরীক্ষা করতে চাইলে এটি দরকার ।

ডেস্কটপ ক্লায়েন্ট তৈরি

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

প্রথমবার কোড ডাউনলোড

যে ডিরেক্টরিতে সোর্স কোডটি পাঠাতে চান, সেটিতে সকল গেকো সমৃদ্ধ mozilla-central রিপোজিটরি ক্লোন করুন :

 hg clone https://hg.mozilla.org/mozilla-central

একই কোড আপনি গিটহাব থেকেও নামাতে পারেন :

 

 git clone https://github.com/mozilla/gecko-dev

কোড নবায়ন

ক্রম-নির্মাণের ক্ষেত্রে আপনার সর্বশেষ পরিবর্তনগুলো আনা উচিত :

cd mozilla-central
hg pull -u

অথবা,

cd gecko-dev
git pull

mozconfig তৈরি

এরপর, ফায়ারফক্সের বদলে গেকো ক্লায়েন্টে বুট তৈরি করার সিস্টেম কনফিগার করতে mozilla-central ডিরেক্টরিতে mozconfig নামের একটি ফাইল তৈরি করুন । ফাইলটিতে যা থাকবে :

. "$topsrcdir/b2g/config/mozconfigs/common"

mk_add_options MOZ_OBJDIR=../build
mk_add_options MOZ_MAKE_FLAGS="-j9 -s"

ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo
 
# This option is required if you want to be able to run Gaia's tests
ac_add_options --enable-tests

# turn on mozTelephony/mozSms interfaces
# Only turn this line on if you actually have a dev phone
# you want to forward to. If you get crashes at startup,
# make sure this line is commented.
#ac_add_options --enable-b2g-ril

B2G ডেস্কটপ ক্লায়েন্টে  Mochitests (হয় mochitest-b2g-desktop নাহলে mochitest-plain) অথবা গায়া ইউনিট টেস্টস রান করাতে আপনাকে ENABLE_MARIONETTE=1 যুক্ত করতে হবে ।

প্রস্তুতকরণ

এখন আপনি নিচের কমান্ডটি দিয়ে ডেস্কটপ ক্লায়েন্ট তৈরি করতে পারেন (এটিকে mozilla-central ডিরেক্টরি থেকে রান করান) :

./mach build

এই তৈরিকৃত ক্লায়েন্টটি ../build/dist ডিরেক্টরিতে থাকবে (এটি নির্ভর করবে mozconfig ফাইলের MOZ_OBJDIR তে আপনি যে মানটি উল্লেখ করেছেন, তার উপর) ।

দ্রষ্টব্য : কোন সমস্যা হলে প্রথমেই এখানে আপনার ডিপেন্ডেন্সিস পরীক্ষা করুন ।

গায়া ডাউনলোড

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

প্রথমবার গায়া ডাউনলোডের সময় সোর্সকোড রিপজিটরি-টি গিটহাবে ক্লোন করুন :

git clone https://github.com/mozilla-b2g/gaia
cd gaia

ইতিমধ্যে থাকা গায়া ক্লোনটি নবায়ন করতে আপনি গিটহাব থেকে সর্বশেষ পরিবর্তনগুলো আনতে পারেন :

cd gaia
git pull

একটি custom-settings.json তৈরি

আপনি যদি জেনে থাকেন যে আপনি কি করছেন এবং বিভিন্ন config অপশান তৈরি করতে চান, তাহলে gaia/build/config/custom-settings.json ফাইলটি তৈরি করুন এবং সেখানে অপশানগুলো যুক্ত করুন । উদাহরণস্বরূপ :

{
  "lockscreen.enabled": false,
  "lockscreen.locked": false,
  "devtools.debugger.remote-enabled": true
}

উদাহরণটি লকস্ক্রিনটি বাইপাস করতে কাজ দেয়, যেটি অন্য কোনভাবে ডেস্কটপে বাইপাস করা অসম্ভব, কারণ এটি মাউস বা ট্র্যাকপ্যাড দ্বারা আনলক করা যায় না ।

একটি প্রোফাইল তৈরি

এখন আমাদের ডেস্কটপ ক্লায়েন্টটির জন্য গায়ার অ্যাপগুলো সেটআপ করা লাগবে । ঠিক যেভাবে গায়া অ্যাপগুলো ডিভাইসে ইন্সটল করার কথা, সেভাবে প্যাকেজ করা, একইসাথে অগ্রাধিকারপ্রাপ্ত সিস্টেম অ্যাপগুলোর জন্য অনুমতি সেটআপ করা এর অন্তর্ভুক্ত । একটি প্রোফাইল তৈরির মাধ্যমে আমরা কাজগুলো করি । নিচের কমান্ডটিই (ডাউনলোড করা gaia ডিরেক্টরিতে রান করান ) এর জন্য যথেষ্ট : 

DESKTOP_SHIMS=1 NOFTU=1 DEBUG=1 make

এটি gaia ডিরেক্টরির নিচে profile-debug নামে একটি ডিরেক্টরি তৈরি করবে । এই নতুন প্রোফাইলে B2G ঠিকমত রান করানোর জন্য প্রয়োজনীয় একটি কাস্টমাইজড এক্সটেনশন এবং অন্যান্য কনফিগারেশন ডিটেলস যুক্ত আছে ।

ডেস্কটপ ক্লায়েন্টটি রান করানো

একবার যদি আপনি ক্লায়েন্টটি তৈরি করে থাকেন (অথবা নাইটলি ডেস্কটপ অ্যাপলিকেশনটি ডাউনলোড এবং ইন্সটল করে থাকেন) এবং গায়া ডাউনলোড করে থাকেন, তাহলে আপনি ফায়ারফক্স ওএস ডেস্কটপ ক্লায়েন্ট চালু করার জন্য তৈরি ।

লিনাক্সে রান করানো

এমবেডেড গায়া প্রোফাইল ব্যবহার করে ডেস্কটপ ক্লায়েন্টটি লিনাক্সে রান করানোর জন্য স্রেফ b2g এক্সিকিউটেবলটি রান করান । যদি আপনি একটি ভিন্ন গায়া প্রোফাইল উল্লেখ করতে চান (যেমন উপরেরটি ব্যতীত পৃথকভাবে ডাউনলোডকৃত গায়া), আপনাকে b2g র‍্যাপার প্রোগ্রামটি বাইপাস করতে হবে এবং b2g-bin বাইনারিটি রান করাতে হবে । বাইনারিটি আপনার ডাউনলোডকৃত আর্কাইভে অথবা, আপনার তৈরি করা ক্লায়েন্ট হলে ../build/dist/bin ডিরেক্টরিতে আছে ।

.../b2g-bin -profile gaia/profile-debug

আপনি বিরক্তিকর রেন্ডারিং সমস্যার সম্মুখীন হতে পারেন । এটি উপেক্ষা করতে নিচের লাইনটি আপনার gaia/profile/user.js ফাইলে যুক্ত করুন :

user_pref("layers.acceleration.disabled", true);

ম্যাকে রান করানো

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

যদি আপনি একটি ভিন্ন গায়া প্রোফাইল উল্লেখ করতে চান (যেমন উপরেরটি ব্যতীত পৃথকভাবে ডাউনলোডকৃত গায়া), আপনাকে b2g র‍্যাপার প্রোগ্রামটি বাইপাস করতে হবে এবং b2g-bin বাইনারিটি রান করাতে হবে । b2g-bin বাইনারিটির লোকেশনের কারণে এবং প্রোফাইল ডিরেক্টরি নির্দেশের সময় নিখুঁত পথনির্দেশের প্রয়োজনে কমান্ড লাইনটি একটু বেশি জটিল :

.../B2G.app/Contents/MacOS/b2g-bin -profile /full/path/to/gaia/profile-debug

উইন্ডোজে রান করানো

উইন্ডোজে নাইটলি বিল্ড রান করানো b2g.exe চালু করার মতই সহজ । আপনি চাইলে এক্সিকিউটেবল b2g-bin.exe রান করিয়ে এক্সিকিউশনটি কাস্টমাইজ করতে পারেন; এটি স্বয়ংক্রিয়ভাবে বান্ডেলকৃত গায়া ব্যবহারকারি র‍্যাপার প্রোগ্রামটি বাইপাস করে দেয় ।

কমান্ড লাইন বিকল্প

ডেস্কটপ ক্লায়েন্ট ব্যবহারের সময় পছন্দমত রানটাইম অভিজ্ঞতা পাল্টাতে আপনি কিছু কমান্ড লাইন বিকল্প ব্যবহার করতে পারেন । -help অপশান ব্যবহার করে আপনি একটি লিস্ট পেতে পারেন । নিচে তাদের মধ্যে আকর্ষণীয় কিছুর উল্লেখ আছে ।

স্ক্রিন সাইজ উল্লেখকরণ

আপনি --screen অপশান ব্যবহার করে যে ডিভাইসটি সিমুলেট করতে চান, তার স্ক্রিন সাইজ উল্লেখ করতে পারেন :

b2g --screen=<width>x<height>@<dpi>

এখানে <width>, <height>, এবং <dpi> মূলত নিজ নাম অনুযায়ী প্যারামিটার: এখানে ডিভাইস স্ক্রিনের দৈর্ঘ্য ও প্রস্থ হল পিক্সেল এককে এবং ডিভাইস রেজ্যুলেশন হল DPI এককে । কিছু বাস্তব উদাহরণ :

b2g --screen=320x480
b2g --screen=320x480@160

বিকল্প হিসাবে কিছু ডিভাইসের নাম উল্লেখ করে আপনি তাদের স্ক্রিন সাইজ এবং রেজ্যুলেশন সিমুলেট করতে পারবেন :

  • iphone
  • ipad
  • nexus_s
  • galaxy_nexus
  • galaxy_tab
  • wildfire
  • tattoo
  • salsa
  • chacha

জাভাস্ক্রিপ্ট কন্সোল খোলা

কমান্ড লাইন থেকে -jsconsole ব্যবহার করে আপনি B2G ক্লায়েন্ট চালু করার সময় জাভাস্ক্রিপ্ট কন্সোল খুলতে পারবেন । তৈরির পর স্রেফ নিচের কাজ করুন :

.../b2g -jsconsole -profile /path/to/your/profile

আপনি ম্যাকে নাইটলি বিল্ড ইন্সটল করে থাকলে নিচের কাজ করতে পারেন :

/Applications/B2G.app/Contents/MacOS/b2g-bin -jsconsole -profile /path/to/your/profile-debug

দ্রষ্টব্য : উৎপাদন নির্মাণের সময় আগে থেকেই কন্সোল লগিং (যেমন console.log()) বন্ধ করা থাকে । এটি চালু করতে, ডেভেলপার সেটিংসে গিয়ে Console Enabled preference চালু করে দিন ।

B2G আরম্ভ হওয়ার সময় নির্দিষ্ট অ্যাপলিকেশন চালু করা

ডেস্কটপ ক্লায়েন্টে B2G  আরম্ভ হওয়ার সময় স্বয়ংক্রিয়ভাবে চালু হওয়ার জন্য আপনি একটি অ্যাপলিকেশন উল্লেখ করতে পারেন । বাকি সিস্টেম লোড হওয়ার সাথে সাথেই কাজটা হয়ে যাবে । এটি করতে, স্রেফ --runapp অপশনটি ব্যবহার করুন, যেটি চালু করার জন্য একটি অ্যাপলিকেশনের নামকে প্যারামিটার হিসেবে নেয় । উদাহরণস্বরূপ :

 .../b2g-bin -profile /path/to/your/gaia/profile-debug --runapp email

দ্রষ্টব্য : উল্লেখিত নামটিকে ছোট হাতের অক্ষরে পরিবর্তিত করে এবং সকল ড্যাশ ও স্পেস মুছে দিয়ে স্বাভাবিক করা হয় । এরপর এই স্বাভাবিককৃত নামটিকে প্রাপ্ত অ্যাপগুলোর manifestগুলোর সাথে তুলনা করা হয় । যেমন, ইমেইল অ্যাপটির বর্তমান নাম "E-mail", কিন্তু --runapp email কাজ করবে এই স্বাভাবিককরণের কারণে ।

আপনি যদি কোনো আর্গুমেন্ট ছাড়া অথবা একটি শূন্য আর্গুমেন্ট নিয়ে --runapp অপশানটি উল্লেখ করেন, b2g ক্লায়েন্ট আপনার টার্মিনালে একটি জানা অ্যাপলিকেশনের লিস্ট দেখাবে, সংক্ষিপ্ত ব্যবহারবিধিসহ ।

দ্রষ্টব্য : --runapp অপশনটি পার্শ্বপ্রতিক্রিয়া হিসেবে লকস্ক্রিন বন্ধ করে দেয় এবং পুনরায় চালু করে না । এটি ধরে নেয়া হয় যে, আপনি লকস্ক্রিন পরীক্ষার সময় একই প্রোফাইলে, এই কমান্ডটি ব্যবহার করবেন না, অথবা Settings > Screen Lock এ গিয়ে আপনি ম্যানুয়ালি এটিকে পুনরায় চালু করবেন । এটি যদি একটি সমস্যা হয়, নিঃসংকোচে এই আচরণ পরিবর্তনের জন্য একটি প্যাচ দান করুন ।

ব্যবহারের জন্য টিপস

এই ধাপটি B2G ডেস্কটপ ক্লায়েন্ট ব্যবহারে জন্য কিছু গুরুত্বপূর্ণ টিপস দিচ্ছে ।

  •  Esc চাবিটি "back" বোতামের মতই কাজ করে ।
  •  Home চাবিটি "home" বোতামের মতই কাজ করে; আপনি যদি ম্যাকে থাকেন, Home চাবিটি Fn + ← (Fn + Left Arrow) এ পাবেন ।
  • End চাবিটি ঠিক "power" বোতামের মতই কাজ করে; আপনি যদি ম্যাকে থাকেন , End চাবিটি Fn + → (Fn + Right Arrow) এ পাবেন ।
  •  Page Up এবং Page Down চাবিগুলো যথাক্রমে "Volume Up" এবং "Volume Down" বোতামের মত কাজ করে; আপনি যদি ম্যাকে হন, Page Up চাবিটি Fn + ↑ (Fn + Up Arrow) এ এবং Page Down চাবিটি Fn + ↓ (Fn + Down Arrow) এ পাবেন ।
  • লম্বা সময় ধরে Home চাবি চেপে রাখলে "Card View" খোলে; আপনি ম্যাকে থাকলে, Cmd + Fn + ← (Cmd + Fn + Left Arrow) ই "Card View" খুলবে ।

ট্রাবলশ্যুটিং: B2G ডেস্কটপ চালুর সময় ফাঁকা স্ক্রিন

b2g -profile gaia/profile ব্যবহার করে b2g চালুর সময় "Cannot reach app://system.gaiamobile.org" এরর সহ একটি ফাঁকা স্ক্রিন দেখা যেতে পারে । এটি ঠিক করার জন্য কিছু জিনিস পরীক্ষা করে দেখতে পারেন :

  • গায়া ডিরেক্টরিতে DEBUG=1 make প্রোফাইল ব্যবহার করে পুনরায় গায়া প্রোফাইলটি তৈরি করুন ।
  • b2g আবারও রান করান ।
  • যদি এতে সমাধান না হয়, 8080 পোর্টে আর কোনো কাজ চলছে কিনা দেখুন । গায়ার ডিফল্ট প্রোফাইল শুরু হয় httpd.js দিয়ে, যেটি 8080 পোর্টে কাজ করে । একটি ডিবাগ প্রোফাইল রান হওয়ার সময়, B2G localhost:8080 তে সংযুক্ত হয় । যদি 8080 পোর্টে অন্য কাজ চলতে থাকে, b2g গায়ার হোমস্ক্রিন দেখাতে ব্যর্থ হবে ।
    1. এটিই সেই সমস্যা কিনা বুঝতে httpd.js এ লগইন চালু করুন । প্রোফাইলের মধ্যে httpd.js থাকে gaia/profile/extensions/httpd/content/httpd.js লোকেশনে । সংশোধনের জন্য ফাইলটি খুলুন ।
    2.  var DEBUG=false; লাইনটি মুছে var DEBUG=true; লিখুন ।
    3. ফাইলটি সেভ করে B2G বন্ধ করে পুনরায় চালু করুন । এখন আপনি কন্সোলে httpd এর লগ দেখতে পাবেন ।

পরবর্তী ধাপগুলো

এখন আপনার গেকো রান করানোর জন্য বুটের একটি ডেস্কটপ বিল্ড আছে, আপনি এখন এটিতে পরীক্ষা, উন্নয়ন এবং অন্যান্য কাজ করতে পারেন ।

ডকুমেন্ট ট্যাগ এবং অবদানকারী

ট্যাগ: 
 Contributors to this page: chrisdavidmills, pranjal
 সর্বশেষ হালনাগাদ করেছেন: chrisdavidmills,