একটি নির্দিষ্ট প্রোফাইলে কীভাবে দূরত্বে ফায়ারফক্সে একটি URL খুলবেন?


9

আমার ফায়ারফক্সের বেশ কয়েকটি উদাহরণ রয়েছে যার সাথে বিভিন্ন বিভিন্ন প্রোফাইল চলছে। এর মধ্যে "সফ্টওয়্যার" এবং "পরীক্ষা" নামের প্রোফাইল রয়েছে।

প্রোফাইলে "টেস্ট" এ খোলা থাকার জন্য আমি বাশ স্ক্রিপ্ট থেকে একটি URL খোলার চেষ্টা করছি:

firefox -P "test" http://www.example.org/

তবে এটি যেভাবেই এটি প্রোফাইল "সফ্টওয়্যার" এ খোলে। কোন ধারনা?

মজিলা / 5.0 (এক্স 11; ইউ; লিনাক্স x86_64; এন-ইউএস; আরভি: 1.9.1.8) গেকো / 20100308 আইসওয়েজেল / 3.5.8 (ফায়ারফক্স / 3.5.8 এর মতো)

না, এটি কোনও অনুমতির সমস্যা নয়, আমার সমস্ত প্রোফাইল ডিরেক্টরিগুলি আমার অনুমতি অনুসারে পুরোপুরি:

root@przehyba:~/.mozilla# ls -ld firefox/
drwx------ 13 miernik miernik 4096 Mar 11 09:15 firefox/
root@przehyba:~/.mozilla# ls -ld firefox/*
drwxr-xr-x  9 miernik miernik 4096 Mar 12 11:29 firefox/info
-rw-r--r--  1 miernik miernik  560 Mar 11 09:15 firefox/profiles.ini
drwxr-xr-x 10 miernik miernik 4096 Mar 16 11:51 firefox/software
drwxr-xr-x  9 miernik miernik 4096 Mar 11 09:14 firefox/tech
drwxr-xr-x 11 miernik miernik 4096 Mar 15 22:48 firefox/test
root@przehyba:~/.mozilla# 

উত্তর:


7

3 বছরের দেরিতে উত্তরের জন্য দুঃখিত, আমি এখনই এই বিষয়ে আগ্রহী হয়েছি এবং এই প্রশ্নটি পেয়েছি।

আমি কোথাও কোনও নথিভুক্ত সমাধান খুঁজে পাইনি, সুতরাং আমি উত্স কোডটি পরীক্ষা করে দেখেছি এবং এখানে একটি খুব প্রাসঙ্গিক অংশ: http://dxr.mozilla.org/mozilla-central/source/toolkit/xre/nsAppRunner.cpp#1537

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

তবে, আমরা দেখতে পাচ্ছি যে ব্যবহারকারীর নামটি পাস করা হচ্ছে এবং এটি ব্যবহারকারীর নামটি LOGNAME এনভায়রনমেন্ট ভেরিয়েবল থেকে সূচিত করা হচ্ছে। এর ভিত্তিতে, আমি নিম্নলিখিত সমাধান নিয়ে এসেছি:

  • আমি এই স্ক্রিপ্টটি দিয়ে ফায়ারফক্সকে আবৃত করি, যার নাম ফায়ারফক্স.শ:
FOX_PROFILE = ফেসবুক
LOGNAME = ত্রুটি রফতানি করুন $ FOX_PROFILE
/ অপ্ট / ফায়ারফক্স / ফায়ারফক্স-প্রোফাইলে ~ / .মজিলা_প্রোফাইল / $ ফক্সপ্রোফিলস "$ @"
  • প্রথমবার যখন চলে তখন এটি নতুন উদাহরণ শুরু করে এবং ~ / .mozilla_profiles / ফেসবুক ডিরেক্টরি উপস্থিত থাকতে হবে,

  • ফেসবুক প্রোফাইল ইতিমধ্যে চলমান থাকলে দ্বিতীয়বার দৌড়ে গেলে এটি সঠিকভাবে এর সাথে সংযুক্ত হয়,

  • এটি একাধিক পৃথক চলমান প্রোফাইলগুলিতে কমান্ডগুলি সঠিকভাবে প্রেরণ করতে পারে (অবশ্যই আপনাকে বিভিন্ন স্ক্রিপ্টগুলির প্রথম লাইনে FOX_PROFILE পরামিতিটি পরিবর্তন করতে হবে)।

আমি এটি ফায়ারফক্স 26 এর সাথে লিনাক্সে পরীক্ষা করেছি এবং এটি কার্যকর হয়।

বিকল্পভাবে, এখানে আমার সম্পূর্ণ সমাধান রয়েছে যা আপনি চাইবেন বা না ব্যবহার করতে চাইতে পারেন:

#! / বিন / ব্যাশ

সেট -ই

ফক্স = / অপ্ট / ফায়ারফক্স / ফায়ারফক্স

বার্তা = $ @

যদি [-z "$ FOX_PROFILE"]; তারপর
  যদি [-z "$ ESS বার্তা}"]; তারপর
    FOX_PROFILE = ডিফল্ট
  আর
    FOX_PROFILE = $ (kdialog --default default --menu "- {ESS MESSAGE} -" ডিফল্ট ডিফল্ট গুগল গুগল ফেসবুক ফেসবুক স্প্যাম স্প্যাম এরজ করেছে)
  ফাই
ফাই
FOX_PROFILE রফতানি করুন

# এই হ্যাকটি দরকার, কারণ ফায়ারফক্স রিমোট কমান্ড লাইন প্রেরণ করছে
# প্রোফাইল প্যারামিটার উপেক্ষা করে। NsAppRunner.cpp: 1505 দেখুন।
LOGNAME = ত্রুটি রফতানি করুন $ FOX_PROFILE

# নির্বাহের পরিবর্তে ব্যাকগ্রাউন্ড এক্সিকিউশন ব্যবহার করা হচ্ছে, সুতরাং আচরণটি
# ইতিমধ্যে যখন প্রোফাইল ইতিমধ্যে চলছে এবং যখন এটি ঠিক
# শুরু হচ্ছে।
$ ফক্স-প্রোফাইল ~ / .মজিলা_প্রোফাইল / $ ফক্স_প্রোফাইল "$ @"

# ব্যাপক সফলতা.
প্রস্থান 0

আপনি যদি কোনও প্যারামিটার ছাড়াই স্ক্রিপ্টটি চালনা করেন তবে এটি ডিফল্ট প্রোফাইলটি স্বনির্বাচিত করে, তবে আপনি নিজের শেলটিতে FOX_PROFILE সেট করে ওভাররাইড করতে পারেন। যদি কোনও কমান্ড লাইনে কোনও ইউআরএল পাস করা হয় তবে সর্বদা এটির জন্য কোনও প্রোফাইল জিজ্ঞাসা করা হয় যাতে এটি খোলার কারণ এটি হ'ল কারণ আমি সাধারণত আমার চ্যাট এবং ইমেল প্রোগ্রামটি থেকে ক্লিক করি এবং সেই ক্ষেত্রে আমি সর্বদা একটি প্রোফাইল নির্বাচন করতে চাই (ক্যালেন্ডারের জন্য গুগল) স্প্যাম, জন্মদিনের স্প্যামের জন্য ফেসবুক ইত্যাদি)। অবশ্যই আপনি আপনার ব্যবহারের ধরণটি ফিট করার জন্য যুক্তি পরিবর্তন করতে পারেন, এটি কেবল একটি উদাহরণ, গুরুত্বপূর্ণ জ্ঞানটি LOGNAME কৌশল।

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


এই জন্য অনেক ধন্যবাদ. আমার কাছে মনে হচ্ছে যে প্রোফাইলটি সেট করা প্রয়োজনীয় নয় এবং সঠিক কাজ করার জন্য LOGNAME সেটিংসই যথেষ্ট।
dset0x

0

আপনার যদি ইতিমধ্যে কোনও দৃষ্টান্ত চলমান থাকে তবে ফায়ারফক্স আবার এটি ব্যবহার করবে। ব্যবহার করে দেখুন firefox -no-remote


তবে আমি এটি একটি উদাহরণ পুনরায় ব্যবহার করতে চান! কেবলমাত্র একটি নির্দিষ্ট এটি পছন্দ করে এমন কোনও এলোমেলো নয়। আমি যদি আমার কমান্ডটিতে "-নো-রিমোট" যুক্ত করার চেষ্টা করি, আমি পেয়েছি: "আইসওয়েসেল ইতিমধ্যে চলছে, কিন্তু সাড়া দিচ্ছে না a একটি নতুন উইন্ডো খোলার জন্য আপনাকে প্রথমে বিদ্যমান আইসওয়েজল প্রক্রিয়াটি বন্ধ করতে হবে, বা আপনার সিস্টেম পুনরায় চালু করতে হবে।"
মের্নিক

আহ, এটি আরও আকর্ষণীয় করে তোলে। আমি ভয় করি যে আপনি কীভাবে এটি করতে পারতেন তা আমি জানি না। আইআইইউসি, -দুর-দূরবর্তী উদাহরণগুলির মধ্যে "কথা বলা" অক্ষম করে। এটি লক্ষ্যমাত্রা এবং সম্পূর্ণ ওভারকিলের উপায়ে হতে পারে তবে আপনি একটি এক্সটেনশন তৈরি করতে পারেন যা একটি কেন্দ্রীয় ফাইল বা সার্ভারের ইউআরএল কাতারে পোল করে এবং এটি বর্তমান প্রোফাইলের জন্য বোঝানো হলে এটি খুলবে। তারপরে আপনি আপনার সমস্ত দৃষ্টিতে সেই এক্সটেনশনটি ইনস্টল করেন।
janmoesen

0

@miemik

"তবে আমি এটি একটি উদাহরণ পুনরায় ব্যবহার করতে চাই! কেবলমাত্র একটি নির্দিষ্ট এটি, এটির পছন্দমত কোনও এলোমেলো নয় I আমি যদি আমার কমান্ডটিতে" -নো-রিমোট "যুক্ত করার চেষ্টা করি, আমি পেয়েছি:" আইসওয়েসেল ইতিমধ্যে চলছে, তবে কোনও প্রতিক্রিয়া দিচ্ছে না। একটি নতুন উইন্ডো খোলার জন্য আপনাকে প্রথমে বিদ্যমান আইসওয়েজল প্রক্রিয়াটি বন্ধ করতে হবে বা আপনার সিস্টেম পুনরায় চালু করতে হবে। "

আপনি একটি আছে আপনার প্রোফাইল Dir সঙ্গে অনুমতি সমস্যা ... অনুমতি পরীক্ষা করুন। আপনি কি অন্য কোনও জায়গা থেকে এই অনুলিপি বা সরানো হয়েছে (পার্টিশন..ডিস্ক ..)?

সমাধান:

এটি রুট হিসাবে চলমান কিনা তা দেখতে রুট হয়ে ওঠুন এবং উপরে যান। তারপরে প্রোফাইল দির উপর ls -ld (যা আপনার বাড়ির দির অধীনে একটি পিরিয়ড (।) থাকা উচিত তাদের সামনে..এর জন্য এটি দেখতে আপনাকে "ls -al" ব্যবহার করতে হবে।

সেই দিরের অন্য অনুমতি যাচাই করুন এবং সেই অনুযায়ী পরিবর্তন করুন।

চিয়ার্স!


আমি অনুমতিগুলি যাচাই করেছিলাম এবং আমার প্রশ্নের একটি সম্পাদনায় ফলাফল আটকালাম। এটা যে সমস্যা নয়।
মের্নিক

0

এটি কাজ করবে না। মোজিলা অ্যাপ্লিকেশন চলার একমাত্র উপায় হ'ল দ্বিতীয়টি (সাধারণত MOZ_NO_REMOTE = 1 সহ) এর সাথে দূরবর্তী সংযোগ অক্ষম করে। এর অর্থ আপনি এটির জন্য অন্যান্য দৃষ্টান্তের সাথে যোগাযোগ করার ক্ষমতাটি অক্ষম করুন (যেমন একটি নতুন পৃষ্ঠা খোলার মতো)।

সুতরাং আপনার পছন্দগুলি হয় no remoteসক্ষম সহ একটি নতুন অ্যাপ্লিকেশন খুলুন বা দূরবর্তী অ্যাক্সেসের অনুমতি দেয় এমন দৃষ্টান্তটি পুনরায় ব্যবহার করুন।


এটি সত্যিই কাজ করে, এরজের উত্তর দেখুন। আপনি কি বোঝাতে চাইছেন এটি কাজ করবে না ?
pts

0

আপনি -no-remoteকেবল টেস্ট প্রোফাইল কলটিতে (সফ্টওয়্যার প্রোফাইল ইতিমধ্যে খোলা থাকার পরে) এর মতো যুক্ত করতে সক্ষম হবেন :

firefox -P "test" -no-remote http://www.example.org/

এটি অন্য সমস্ত লিঙ্কগুলি এখনও আপনার অন্যান্য প্রোফাইলে দূরবর্তীভাবে খোলার অনুমতি দেয়।

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


এই উত্তরটি ভাল হতে পারে না কারণ -no-remoteপতাকাটির সাহায্যে একটি নতুন ফায়ারফক্স ইনস্ট্যান্স শুরু হয়েছে এবং প্রশ্নটি বিদ্যমান ফায়ারফক্সের উদাহরণগুলি ইতিমধ্যে চালু থাকলে পুনরায় ব্যবহার করা প্রয়োজন running
pts

0

আপনার যদি মজিলা ফায়ারফক্স ইতিমধ্যে ডিফল্ট প্রোফাইল বা অন্য কোনও প্রোফাইল দিয়ে খোলা থাকে, চেষ্টা করুন:

Path-To/firefox -remote openurl("http://www.example.org")

মোজিলা ফায়ারফক্সের সাথে আমার জন্য 2.x থেকে 12.x পর্যন্ত পরীক্ষিত এবং কাজ করেছে


এই উত্তরটি ভাল হতে পারে না কারণ কমান্ড-লাইনে ব্যবহার করার জন্য প্রয়োজনীয় প্রোফাইল নেই।
pts

0

প্রথমবার আপনি যখন কোনও প্রদত্ত প্রোফাইল দিয়ে ফায়ারফক্সের উদাহরণ শুরু করেন, কমান্ডটি ব্যবহার করুন:

firefox -P foo -new-instance

আপনি এটি খুলতে উপরের কমান্ডের শেষে একটি URL যুক্ত করতে পারেন। পরে, আপনি যখন এই পরিস্থিতিতে একটি URL খুলতে চান, আপনি ব্যবহার করতে পারেন:

firefox -P foo -remote 'openurl(http://www.example.org)'

আপনি যদি কোনও স্ক্রিপ্ট লিখছেন এবং উপরে জানতে চাইলে উপরের কোন কমান্ডটি ডাকা উচিত তা দেখার জন্য ইতিমধ্যে সেই প্রোফাইলটি চলছে কিনা তা জানতে চাইলে আপনি ব্যবহার করতে পারেন:

firefox -P foo -remote 'ping()'

লিনাক্সে ফায়ারফক্স 34 এর সাথে পরীক্ষিত।

নোট করুন যে ফায়ারফক্সে বর্তমানে একটি বাগ রয়েছে যা বার্তাটি দিয়ে এটিকে ত্রুটিযুক্ত করে তোলে

Error: Failed to send command: 500 command not parseable

যদি -remote openurl()কমান্ডটি নিয়ন্ত্রণকারী tty ছাড়াই তৈরি করা হয় (যেমন, ডেমন দ্বারা চালিত স্ক্রিপ্ট থেকে)।

আমি কেডিএর একটি .ডেস্কটপ ফাইল থেকে স্ক্রিপ্ট চালু করার সময় এই বাগটি আঘাত করেছি (উদাহরণস্বরূপ, প্যানেলের একটি লঞ্চার থেকে), সুতরাং আমাকে "রান ইন টার্মিনাল" বিকল্পটি টিক দিতে হবে, যা কিছুটা বিরক্তিকর।


-1

রেকর্ডের জন্য, একটি সমাধান হ'ল কে-ডি-তে আমরা নিম্নলিখিত কমান্ডটি দিয়ে চালানোর জন্য ডিফল্ট ব্রাউজার সেট করেছিলাম:

firefox -P "default"

যেখানে "ডিফল্ট" হ'ল আমাদের প্রোফাইল আমরা প্রতিটি সময় ব্যবহার করতে চাই।

এখন, আমরা আমাদের ফায়ারফক্স উদাহরণটি কোনও আর্গুমেন্ট (ডিফল্ট কে। ডি। ফায়ারফক্স লঞ্চার) দিয়ে শুরু করি। এটি ফায়ারফক্সটি সাধারণত খোলে, এখন আমরা অন্য একটি প্রোফাইল খুলতে চাই, এটির জন্য আমরা কে.ডি.ই মেনু সম্পাদকে অন্য একটি লঞ্চার তৈরি করি:

firefox -ProfileManager -no-remote %u

এটি প্রোফাইল ম্যানেজারটি খুলবে, আমরা কোন প্রোফাইলটি ব্যবহার করব তা চয়ন করি।

একযোগে চলমান বেশ কয়েকটি প্রোফাইলে পরীক্ষিত, যখন আমরা কোনও অ্যাপ্লিকেশন থেকে (কোনও চ্যাট ক্লায়েন্টের মতো) কোনও ইউআরএল ক্লিক করি, তারপরে আমরা বেছে নেওয়া প্রোফাইলটিতে একটি নতুন ট্যাব খোলা হয় is

আশা করি কেউ এই সহায়ক খুঁজে পেয়েছেন :)।

জোনোমে পরীক্ষা করা হয়নি, তবে আমি আশা করি এটি পুনরায় তৈরি করা যেতে পারে।


1
এটি প্রশ্নের উত্তর দেয় না, ওপি স্বয়ংক্রিয়ভাবে একটি স্ক্রিপ্ট থেকে বিভিন্ন প্রোফাইলের সাথে ফায়ারফক্স চালু করতে চায়।
টেরডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.