লিনাক্স ব্যবহারকারীদের জন্য এই সমস্যাটি রয়েছে আমি নিম্নলিখিত স্ক্রিপ্টটি একটি কার্যক্ষম হিসাবে তৈরি করেছি:
অগ্রসর হওয়ার আগে আপনাকে অবশ্যই নিশ্চিত করতে হবে যে ক্রোম / ক্রোমিয়ামের জন্য মরিচ-ফ্ল্যাশ ইনস্টল করা আছে, (ফায়ারফক্সের জন্য ফ্ল্যাশপ্লাগিন) চেক করার একমাত্র উপায় (যেটির নীচের অংশটি ব্যবহার না করে) হ'ল ইন্টারনেটে একটি ফ্ল্যাশ ফাইল চালানো। (বা ফায়ারফক্সে, প্রায়: প্লাগইন এ যান এবং দেখুন এটিতে "শকওয়েভ ফ্ল্যাশ" আছে কিনা)
#!/bin/bash
if [ -z $1 ]; then
swf=$(ls *.swf | tail -1)
else
swf=$@
fi
html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"
#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
(ড্যাশ সঙ্গে বিকল্পভাবে সামঞ্জস্যপূর্ণ)
স্ক্রিপ্টটি ব্যবহার করতে, এটি swftohtml.sh হিসাবে সংরক্ষণ করুন (যে কোনও নাম হতে পারে, .sh এর মধ্যে শেষ করতে হবে না) আপনার যে কোনও স্থানে ইচ্ছে করলে, এটি রান্নেবল কমান্ডে রূপান্তর করতে হয় বাশার্কে এটির জন্য একটি নাম তৈরি করুন, বা এটিকে / usr / bin / এ অনুলিপি করুন। এটিকে কার্যকর করার জন্য chmod + x swftohtml.sh চালানো মনে রাখবেন ।
কোনও তর্ক ছাড়াই চললে স্ক্রিপ্টটি বর্তমান ফোল্ডারে একটি swf ফাইলের জন্য সন্ধান করবে এবং একটি সম্পর্কিত এইচটিএমএল ফাইল তৈরি করবে যা ব্রাউজারে এই swf ফাইলটি চালাতে ব্যবহার করা যেতে পারে। ফোল্ডারে যদি 1 টিও বেশি swf ফাইল থাকে তবে এটি সর্বশেষে ডিফল্ট হবে (যেমন আপনার যদি ফাইলের নাম 1.0.swf এবং filename2.0.swf থাকে তবে এটি ফাইলের নাম 2.0.swf এ ডিফল্ট হবে)
কোনও নির্দিষ্ট swf ফাইলকে টার্গেট করার জন্য, আপনি স্ক্রিপ্টের জন্য আর্গুমেন্ট হিসাবে ফাইলের নাম (বা ফাইলের সম্পূর্ণ পথ) প্রবেশ করতে পারেন এবং এটি পরিবর্তে এটি ব্যবহার করবে। (যেমন swftohtml.sh ফাইলের নাম 1.0.swf )
আপনি যদি স্ক্রিপ্টটি পুরোপুরি স্বয়ংক্রিয় করতে চান:
আপনার ব্রাউজারে স্বয়ংক্রিয়ভাবে swf ফাইলগুলি খুলতে এবং ফলাফল ব্যবহারের পরে এইচটিএমএল ফাইলটি ব্যবহারের পরে অপসারণের জন্য, স্ক্রিপ্টের নীচে নিম্নলিখিত লাইনগুলির একটিটিকে (আপনার ব্রাউজারের উপর নির্ভর করে) অস্বচ্ছন্দ করুন:
#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
স্ক্রিপ্টটি এখন আপনার ব্রাউজারে এইচটিএমএল ফাইলটি তৈরি হওয়ার সাথে সাথেই এটি খুলবে। যদি আপনার ব্রাউজারটি চলার কোনও বিদ্যমান উদাহরণ থাকে তবে এটি 20 সেকেন্ডের মধ্যে এইচটিএমএল ফাইলটি মুছে ফেলবে (এটি ফ্ল্যাশ প্লাগইন সহ ফাইলটি খোলার জন্য ব্রাউজারকে বলার জন্য আপনার যথেষ্ট সময় দেয়)। যদি আপনার ব্রাউজারের কোনও বিদ্যমান উদাহরণ না থাকে তবে ব্রাউজারটি বন্ধ হওয়ার পরে ফাইলটি 20 সেকেন্ডের পরে মুছে ফেলা হবে।
এই সেটটি দিয়ে আপনি স্ক্রিপ্টটি খোলার জন্য এসডাব্লুএফ ফাইলগুলি কনফিগার করতে পারেন এবং প্রক্রিয়াটি এখন সম্পূর্ণ স্বয়ংক্রিয়ভাবে তৈরি হয়েছে যাতে আপনি নিজেরাই এইচটিএমএল ফাইলগুলি তৈরি (বা মুছে ফেলার) সম্পর্কে চিন্তা না করেই সরাসরি এসডাব্লুএফ ফাইলগুলি খুলতে পারেন, অন্য কথায়, এটি এখন যেমন করা উচিত তেমন আচরণ করবে। (মনে রাখবেন যে কয়েকটি কোণার কেস থাকতে পারে যেখানে এইচটিএমএল ফাইলটি মুছে ফেলা হয়নি, যখন এটি ঘটে তখন আপনি এটিকে নিরাপদে উপেক্ষা করতে পারেন))
ফায়ারফক্স ব্যবহারকারীদের জন্য:
ফায়ারফক্স সংস্করণটি কিছুটা কৌশলযুক্ত ছিল, এর জন্য ডাব্লুএমটিআরটিএল এবং এক্সডটুল ইনস্টল করা প্রয়োজন। এই জন্য কারণ যে ফায়ারফক্স স্থানীয় SWF খেলার জন্য এই ভাবে আপনি নিষ্ক্রিয় করতে ফাইল হয় plugins.http_https_only মধ্যে সম্পর্কে: কনফিগ , স্ক্রিপ্ট স্বয়ংক্রিয়ভাবে নিষ্ক্রিয় খোলে ফ্ল্যাশ ফাইল, তারপর পুনরায় সক্ষম এটা, কারণ এই একটি সেটিং সবচেয়ে হয় লোকেরা সাধারণত সক্ষম রাখতে চাইবে। কমান্ড চালানোর আগে ব্রাউজারটি খোলা থাকা দরকার। আপনি যদি মনে করেন যে কমান্ডটি চালানোর সময় আপনার ফায়ারফক্স ব্রাউজারটি বন্ধ হয়ে যাবে, লাইনটি এটির সাথে প্রতিস্থাপন করুন:
firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
এটি এখন স্ক্রিপ্টের বাকী অংশটি চালানোর আগে লঞ্চ করতে ব্রাউজারটি 1 সেকেন্ড দেবে। (ধীর কম্পিউটারগুলির জন্য সামঞ্জস্য করা প্রয়োজন)।
স্ক্রিপ্টের ফায়ারফক্স সংস্করণটি সর্বদা 20 সেকেন্ডের পরে ফাইলটি মুছবে।
পারফরম্যান্স পরীক্ষা:
আমি কিছু প্রাথমিক পারফরম্যান্স পরীক্ষা করেছি এবং এগুলি আমার ফলাফল:
- ক্রোম / ক্রোমিয়াম মরিচ ফ্ল্যাশ (পিপিএপিআই): দ্রুততম
- অ্যাডোব ফ্ল্যাশ প্রজেক্টর (এনপিএপিআই) (ওয়াইন): দ্রুত
- ফায়ারফক্স ফ্ল্যাশপ্লাগিন (এনপিএপিআই): সবচেয়ে ধীরে
স্থিতিশীলতার জন্য, এমন কোণার কেস রয়েছে যেখানে পিপিএপিআই বাগ / ত্রুটিগুলিতে চলে যাবে যা এনপিএপিআই দেয় না, তবে সেগুলি বিরল।
মরিচ ফ্ল্যাশ এবং ফ্ল্যাশ প্রজেক্টরের মধ্যে পারফরম্যান্সটি বরং ছোট ছিল (এটি লক্ষণীয়, তবে সবেমাত্র) অন্যদিকে ফায়ারফক্স ফ্ল্যাশ প্লাগইনটির কার্যকারিতা অন্য কোনও কারণে উল্লেখযোগ্যভাবে ধীর ছিল slow
সুতরাং, যদি ফ্ল্যাশ গেমস খেলাই লক্ষ্য হয় তবে আমি সাধারণভাবে মরিচ ফ্ল্যাশ বিশিষ্ট ইনস্টল করে ক্রোমিয়াম ব্যবহার করার পরামর্শ দেব। অন্যান্য কাজের ক্ষেত্রে এটি অসম্ভব বলে মনে হয় না।