নতুন প্রক্রিয়া সহ ইউআরএল খুলতে এক্সডিজি-ওপেন ব্যবহার করুন


13

আমি ক্রঞ্চবাং (যা ডেবিয়ান ভিত্তিক, এবং টার্মিনেটর ব্যবহার করে ) একটি ওয়েব বিকাশের পরিবেশ হিসাবে পরীক্ষা-নিরীক্ষা শুরু করছি এবং আমি যে জিনিসগুলির সাথে লড়াই করছি তার মধ্যে অন্যতম হচ্ছে আচরণ xdg-open। আমি একটি ওএসএক্স ব্যাকগ্রাউন্ড থেকে এসেছি, সুতরাং যদি এই প্রশ্নটি ঘন হয়ে আসে তবে আমাকে ক্ষমা করুন।

আমি ইউআরএলটি খুলতে xdg-open http://www.google.comএবং তারপরে একই টার্মিনাল উইন্ডোটি ব্যবহার করতে চালিয়ে যেতে সক্ষম হতে চাই (এটি openওএসএক্সে কীভাবে কাজ করে)। এই মুহুর্তে, xdg-openআমি ব্রাউজার উইন্ডোটি বন্ধ না করা বা ম্যানুয়ালি দিয়ে শেষ না করা পর্যন্ত বর্তমান ট্যাব / সেশনটি ব্যবহার করে ctrl + c। আমি এটি একটি নতুন প্রক্রিয়া শুরু করতে অনেক পছন্দ করব, এইভাবে আমি কোনও ইউআরএল খুলতে পারি, পৃষ্ঠার ডেটা উল্লেখ করতে পারি এবং অতিরিক্ত ট্যাবিকটি খোলার প্রয়োজন ছাড়াই এটি একই ট্যাব / উইন্ডোতে ব্যবহার করতে পারি।


আপনি কোন ওয়েব ব্রাউজার ব্যবহার করছেন?
ক্রিশ্চিয়ান সিউপিতু

উত্তর:


11

আশ্চর্যের বিষয়, এটি আমার ডেবিয়ানের বাক্সের বাইরে কাজ করে। ব্যাকগ্রাউন্ডে এটি চালানোর চেষ্টা করুন:

xdg-open http://www.google.com &

আপনি আপনার ~/.bashrcফাইলে এই লাইনগুলি যুক্ত করে একটি ফাংশনে পরিণত করতে পারেন :

function open () {
    xdg-open "$*" &
}

তারপরে আপনি কেবল চালাতে পারবেন open http://www.google.comএবং এটি পটভূমিতে চলবে।


1
এটি দুর্দান্ত কাজ করে। আমি আশা করছিলাম যে এটির জন্য একটি সাধারণ উপনাম রয়েছে open, (অর্থাত্ ওপেন = 'এক্সডিজি-ওপেন') xdg-open <url> &শেল ফাংশনটি ব্যবহার না করে কার্যকারিতা পাওয়ার কোনও উপায় আছে কি ?
নিক টমলিন

@ নিকটমলিন @ যতদূর আমি জানি, না, তবে কার্যকারিতাগুলির বিরুদ্ধে আপনি কী পেয়েছেন? আমার আপডেট হওয়া জবাবটিতে আপনি দেখতে পাচ্ছেন এটি একটি উপনামের মতো প্রায় সহজ।
টেরডন

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

না পারার কারণ নেই। কার্যগুলি শেলের উপর নির্ভর করে, যতক্ষণ না আপনি প্রশ্নে সমস্ত সিস্টেমে ব্যাশ ব্যবহার করেন এটি পুরোপুরি ভালভাবে কাজ করা উচিত।
টেরডন

এটি ফেডোরা ২০-তে বাক্স থেকেও কাজ করে।
ক্রিশ্চিয়ান সিউপিতু

7

যদি আপনি বর্তমান শেল থেকে প্রক্রিয়াটি ব্যাকগ্রাউন্ড কাজ হিসাবে শুরু না করে আলাদা করতে চান তবে xdg-open http://www.google.com &আমি detachইউটিলিটিটি পছন্দ করি :

detach xdg-open http://www.google.com

কেউ এর জন্য একটি উপনাম তৈরি করতে পারে। আমি ডিফল্টরূপে স্টিডিন স্টডআউট এবং স্ট্ডার বন্ধ detachকরে দেওয়ার পছন্দ করি nohupযাতে এর অনুরোধ আরও পরিষ্কার থাকে।


3
হায়রে, detachআমার ডিস্ট্রোতে বিদ্যমান বলে মনে হচ্ছে না। nohupপ্রক্রিয়া আরম্ভ করে, তবুও টার্মিনাল উইন্ডোটি দখল করে।
নিক টমলিন

detachআমার ডিস্ট্রোও হয় না; কিন্তু পাইথন URL গুলি খোলার বিচ্ছিন্ন সব ব্যবস্থা করতে সক্ষম: python -m webbrowser -t "http://example.com"। এটি লিনাক্সের প্রায় সমস্ত সামান্য ডিস্ট্রোজে বাক্সের বাইরে কাজ করা উচিত।
ক্রেটস

যদিও detachএটি এওআর-তেও নয়, উত্স থেকে ইনস্টল করা সহজ প্রমাণিত হয়েছিল এবং তদুপরি আমি একমাত্র প্রোগ্রাম যা আমি যা চেয়েছিলাম তা অর্জন করেছিল। (এখানে এবং detachওয়েবসাইটে তালিকাভুক্ত বিকল্পগুলি যতক্ষণ xdg-openচলমান থাকবে ততক্ষণ শেলটি বন্ধ করার অনুমতি দেয় না , বা detachআমার শেলটি কমপক্ষে একটি
অভিযোগও করে না

4

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

আপনি যদি অপেক্ষা করতে না চান xdg-openতবে পটভূমিতে চালান । আপনি ব্যাকগ্রাউন্ডে কোনও শেল কমান্ড চালাতে পারেন শেষে একটি এম্পারস্যান্ড রেখে।

xdg-open http://www.google.com &

কিছু প্রোগ্রাম সহ, xdg-openঅবিলম্বে ফিরে। যা ঘটে তা হ'ল সেই প্রোগ্রামটি যা xdg-openতাড়াতাড়ি প্রত্যাবর্তন করে returns এটি সাধারণত জিইআইআই প্রোগ্রামগুলির সাথে ঘটে যা সমস্ত ফাইলগুলি একক দফায় খোলায়: আপনি যখন তাদের দ্বিতীয়বার শুরু করেন, ফাইলটি খোলার জন্য এটি বলার জন্য তারা একটি বার্তা প্রেরণ করে এবং ততক্ষনে প্রস্থান করে exit


এই জাতীয় অ্যাপ্লিকেশনগুলি কীভাবে একক উদাহরণ নীতি প্রয়োগ করে? ডিবিস আমার জানা এক উপায় তবে এটি বাস্তবায়নের কোনও 'এক্সডিজি' উপায় আছে কি?
পটএনপি

@ নলেডপয়েন্টার লক ফাইল, এক্স 11 উইন্ডো বার্তা, ডি-বাস,… আমি মনে করি ডি-বাস হ'ল "স্ট্যান্ডার্ড" ফ্রিডেস্কটপ উপায় তবে এর কোনও আনুষ্ঠানিক স্পেসিফিকেশন আছে কিনা তা আমি জানি না।
গিলস 'এস-অশুভ হওয়া বন্ধ করুন'

2
আমার উবুন্টু 16.04 সিস্টেমে, এক্সডিজি-ওপেন সর্বদা অবিলম্বে ফিরে আসে। আমার বর্তমান অ্যাপ্লিকেশনটির জন্য, আমি এটি পছন্দ করি এটি ব্লক করে দেয়। আপনার "এক্সডিজি-ওপেনটি প্রোগ্রামটি শেষ হওয়ার জন্য অপেক্ষা করে This এটি নকশা দ্বারা।" তথ্য আসে কোথা থেকে?
চার্ল বোথা

@ চ্যারেল বোথা xdg-openতাত্ক্ষণিকভাবে ফিরে আসবে (আমি এটি উবুন্টু ১ 16.০৪ তে নিশ্চিত করতে পারি), তবে এটি যে প্রোগ্রামটির আবেদন করে তা পটভূমিতে চলে যেতে পারে। উদাহরণস্বরূপ, আমার সিস্টেমে xdg-openপিডিএফ ফাইলগুলির জন্য এভান্সকে আহ্বান জানানো হয়েছে; evince foo.pdfআপনি পিডিএফ ফাইলটি বন্ধ না করা পর্যন্ত অবরুদ্ধ করে রাখুন, যদি না পিডিএফ ইতিমধ্যে খোলা থাকে, তবে সেক্ষেত্রে দ্বিতীয় evinceপ্রক্রিয়াটি শুরু হওয়া উপস্থিতির xdg-openউপর দৃষ্টি নিবদ্ধ করে এবং প্রস্থান করে। xdg-openপ্রোগ্রামটির একটি চলমান প্রক্রিয়া চালিয়ে যাওয়ার কোনও উপায় না থাকলে তার উপর কোনও নিয়ন্ত্রণ নেই।
গিলস 'এস-অশুভ হওয়া বন্ধ করুন'

@ গিলস আমি মনে করি আপনি চার্ল বোথাকে ভুল বুঝেছেন। আপনার উত্তরে বলা হয়েছে "এক্সডিজি-ওপেনটি প্রোগ্রামটি শেষ হওয়ার জন্য অপেক্ষা করে This এটি ডিজাইনের মাধ্যমে" " তবে তারপরে আপনার মন্তব্যটি "xdg- ওপেন রিটার্নগুলি অবিলম্বে" বলে ... যা বিরোধী।
CHESirekow

1

টেরডনের উত্তর এবং ড্যান ডি এর আলোচনারnohup সমন্বয়ের মাধ্যমে আমি একটি ফাংশন তৈরি করেছি যা আমি যা চাই ঠিক তা করে:

  1. টার্মিনালে কোনও লেখা ছাড়াই বাছাই করা অ্যাপে ফাইলটি খোলে ।
  2. প্রক্রিয়াটি আলাদা করে তাই টার্মিনাল উইন্ডোটি বন্ধ করা যায়।
  3. অ্যাপটি টার্মিনালে উত্পন্ন কোনও ত্রুটি লিখবে না।

আমি আমার .bashrc/.zshrcফাইলে এটি যুক্ত করেছি:

function open () {
  nohup xdg-open "$*" > /dev/null 2>&1
}

একজন explanantion জন্য /dev/null 2>&1দেখতে গোপন সম্পর্কে এই আলোচনা stdoutএবংstderr


0

এটা চেষ্টা কর:

DISPLAY=:0.0; xdg-open '<url>'

আমি এই কৌশলটি চুম্বকটি এন-ক্যু করতে ব্যবহার করি: // আমার বিট টরেন্ট ক্লায়েন্ট ভুজে ইউআরএল।

ssh someserver "DISPLAY=:0.0; xdg-open 'http://www.google.com/'"

একক উদ্ধৃতি ইউআরএলগুলির বিষয়বস্তু সুরক্ষিত করতে সহায়তা করে যাতে শেলটি তাদের ব্যাখ্যা করার চেষ্টা না করে।


এটি এখনও বর্তমান টার্মিনাল উইন্ডোতে প্রক্রিয়া চালিত রাখে। আমার প্রশ্নটি পরিষ্কার করার দরকার হলে আমাকে জানান।
নিক টমলিন

হ্যাঁ, আপনি যদি এটি অবিলম্বে পটভূমিতে যেতে চান তবে কেবল এম্পারস্যান্ড "&" পটভূমিতে রেখে দিন। @ টার্ডনের উত্তরটি কি তা করতে বলা হয়নি?
slm

এখানে সমস্যাটি এক্সডিজি-ওপেন নয়, @ গিলসের উত্তর দেখুন, তিনি কেন এক্সডিজি-ওপেনটি ধরে রাখা হচ্ছে তা ব্যাখ্যা করেছেন, এটি জিইউআই যা আপনি ইউআরএল প্রেরণ করছেন যার ফলে এক্সডিজি-ওপেন অপেক্ষা করতে বাধ্য করছে।
slm

আপনি কোন ব্রাউজারে ইউআরএল প্রেরণ করছেন? আপনি ডাব্লু / ইউআরএল পাঠানোর সময় কি কোনও ডায়লগ বাক্স বা অন্য কোনও কিছু পপ করা হচ্ছে xdg-open? এখানে বেশ কয়েকটি উত্তরদাতাদের মতো মনে হচ্ছে যে স্বাভাবিক আচরণটি হ'ল কিছু সময়ের পরে নিয়ন্ত্রণটি টার্মিনালে ফিরে আসে।
slm

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

0

আপনার যদি কমান্ড লাইন (লুপ) থেকে ওয়েব পৃষ্ঠাগুলি খোলার প্রয়োজন হয় তবে স্ক্রিপ্টটি শুরু করার আগে আপনি কেবল ব্রাউজারটি খুলতে পারেন।

এই ক্ষেত্রে এটি প্রথম লিঙ্কের পরে ব্রাউজারটি বন্ধ হওয়ার অপেক্ষা রাখে না, তবে সেগুলি নতুন ট্যাবে খোলে।


0

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

আমি মৃত-সরল কাজ শেষ করেছি chrome https://google.es --new-window || chromium https://google.es --new-window || firefox https://google.es

যদি আপনার কাছে এই 3 টি ব্রাউজারের কোনও না থাকে তবে কেবল নিজের অর্ডারটিকে পছন্দ করে নিলে সঠিক ব্যবহার করুন।

দ্রষ্টব্য: ফায়ারফক্স কোনও কিছুই না যুক্তই একটি নতুন উইন্ডো খুলল। কেস আপনার জন্য নির্বিঘ্নে কাজ করে না, ব্যবহার করুন firefox https://google.es -new-instance -new-window। লক্ষ্য করুন যে -ফায়ারফক্স পতাকাগুলির জন্য কেবল একটি ।


0

অস্বীকার করা এটির জন্য সঠিক আদেশ।

আমি এটির জন্য আরও পাঠ্য রাখার জন্য 2 টি ফাংশন ব্যবহার করি।

f_x()
{
   xdg-open "$1" &
   disown
}

x()
{
   f_x "$*" > /dev/null 2>&1
}

কী, আপনি বিশ্বাস করেন যে একটি ফাংশন যা অন্য ফাংশনকে ডাকে তিন লাইনের দীর্ঘ একক ফাংশনের চেয়ে পড়া এবং বোঝা সহজ?
জি-ম্যান বলছেন 'পুনরায় ইনস্টল করুন মনিকা'

disownটার্মিনালে প্রেরণ করা ত্রুটিগুলি রোধ করে না।
লন্ডনরব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.