टर्मिनल के साथ एक नई फ़ायरफ़ॉक्स विंडो कैसे खोलें


2

मैं OS X Lion v10.7.3 के साथ Firefox v10.0.1 चला रहा हूं

Apple डॉक से, आप फ़ायरफ़ॉक्स आइकन पर राइट-क्लिक कर सकते हैं और नया चुन सकते हैं और फ़ायरफ़ॉक्स की एक नई विंडो खुल जाएगी।

टर्मिनल से, मैंने कोशिश की है

    open -n /Applications/Firefox.app

लेकिन यह कहता है (फ़ायरफ़ॉक्स पहले से ही खुला है)

फ़ायरफ़ॉक्स की एक प्रति पहले से ही खुली है। फ़ायरफ़ॉक्स की केवल एक प्रति एक बार में खुली हो सकती है।

आप कैसे खोल सकते हैं नयी खिड़की टर्मिनल की कमांड लाइन से फ़ायरफ़ॉक्स में?


नीचे दिए गए स्लोक का उत्तर सही है और मैंने इसे स्वीकार कर लिया है, लेकिन यहां संबंधित प्रश्न और उत्तर है: superuser.com/questions/397277/...
jsherk

जवाबों:


4

इसके लिए आपको AppleScript का उपयोग करने की आवश्यकता है। आदर्श समाधान फ़ायरफ़ॉक्स से एक अंतर्निहित फ़ंक्शन का उपयोग करना होगा, लेकिन यह एक की पेशकश नहीं करता है - इसका AppleScript शब्दकोश बहुत सीमित है। इसलिए हमें कीबोर्ड शॉर्टकट्स का अनुकरण करना होगा।

खोलो अपने ~/.bash_profile और निम्नलिखित शेल फ़ंक्शन जोड़ें:

function firefox-window() {
/usr/bin/env osascript <<-EOF
tell application "System Events"
    if (name of processes) contains "Firefox" then
        tell application "Firefox" to activate
        keystroke "n" using command down
    else
        tell application "Firefox" to activate
    end if
end tell
EOF
}

यह कॉल करेगा osascript, जो AppleScript कमांड निष्पादित करता है, फिर फ़ायरफ़ॉक्स को सक्रिय करता है, और फिर एक अनुकरण करता है ⌘N कीप - लेकिन केवल अगर यह पहले से ही चल रहा है। यदि नहीं, तो फ़ायरफ़ॉक्स सिर्फ खोला जाएगा, इसलिए आपको दो नई विंडो नहीं मिलेंगी। इसके अलावा, आप विनिमय कर सकते हैं "n" सेवा मेरे "t" नया टैब पाने के लिए, जाहिर है।

बचाओ ~/.bash_profile दर्ज करें और दर्ज करें source ~/.bash_profile इसे फिर से लोड करने के लिए। फिर, जब भी आपको एक नई फ़ायरफ़ॉक्स विंडो की आवश्यकता हो, तो निम्न फ़ंक्शन को कॉल करें:

firefox-window

बेशक, फ़ंक्शन का नाम बदलने के लिए स्वतंत्र महसूस करें।

यदि आप कमांड लाइन से URL तर्क पारित करने में सक्षम होना चाहते हैं, तो यह उत्तर देखें: URL तर्क के साथ एक नई फ़ायरफ़ॉक्स विंडो कैसे खोलें


~/.bash_profile वह जगह है जहां आपके सभी कस्टम फ़ंक्शन को निवास करना चाहिए। यदि फ़ाइल मौजूद नहीं है, तो आप इसे बना सकते हैं।

खोल कार्यों उपनाम से अधिक शक्तिशाली हैं, उदाहरण के लिए वे आपको तर्क का भी उपयोग करने की अनुमति देते हैं। आप सैद्धांतिक रूप से नई विंडो का URL भी पास कर सकते हैं, और फिर फ़ायरफ़ॉक्स को इसे खोलने के लिए कह सकते हैं OpenURL या Get URL आदेश - लेकिन मैंने उन्हें कोशिश नहीं की है।

प्रयुक्त सिंटैक्स के बारे में: द <<-EOF एक है यहाँ दस्तावेज़ , जिससे मल्टी-लाइन इनपुट पास करना आसान हो जाता है osascript। इनपुट तक पार्स किया जाएगा EOF मार्कर फिर से दिखाई देता है।


ठीक है, मैं यह कोशिश करूँगा। क्या यह फ़ायरफ़ॉक्स शुरू करने के लिए भी काम करेगा अगर यह नहीं चल रहा है, या यह केवल अगर यह पहले से चल रहा है?
jsherk

पुनः लोड करने का प्रयास करते समय यह प्राप्त हो रहा है: -Bash: /User/myname/.bash_profile: लाइन 9: वाक्यविन्यास त्रुटि: फ़ाइल का अप्रत्याशित अंत
jsherk

यह भी काम करेगा अगर फ़ायरफ़ॉक्स नहीं चल रहा है, हालांकि यह तब दो खिड़कियां खोलेगा - यह ऐसा नहीं करने के लिए ट्विक किया जा सकता है, ज़ाहिर है। तुम्हारा पूरा क्या है? bash_profile, क्या आप इसे कहीं भी पोस्ट कर सकते हैं (पास्टबीन, आदि)? मैं अनुमान लगा रहा हूं कि एक लापता बोली है। जांचें कि क्या आपने सब कुछ सही ढंग से टाइप किया है।
slhck

यहां आप जाएं: www.iwebss.com/test/bashprofile.txt
jsherk

क्षमा करें, यह एक इंडेंटेशन त्रुटि रही होगी। आपको इंडेंट नहीं करना चाहिए EOF। मेरी अद्यतन पोस्ट देखें!
slhck
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.