MPlayer तब रुकता है जब मैं लिनक्स में SSH सत्र से बाहर निकलता हूं


2

मैं SSH के माध्यम से MPlayer लॉन्च करना चाहता हूं और इसे चलाने देता हूं (मैं एक रेडियो प्रशंसक हूं)। इसके लिए मैं अपने रिमोट मशीन (एक क्यूब्रीक्रू रनिंग लुबंटू) में एसएसएच करता हूं और मैं निम्नलिखित कमांड जारी करता हूं:

screen mplayer -playlist .path/to/the/playlist

सब कुछ उम्मीद के मुताबिक काम करता है, लेकिन जब मैं अपने एसएसएच सत्र से बाहर निकलता हूं तो संगीत पूरी तरह से बंद हो जाता है। वापस लॉग इन करने के बाद मुझे अब अपना स्क्रीन इंस्टेंस नहीं मिल रहा है ( screen -lsकहते हैं नो सॉकेट्स इन पाया /var/run/screen/)

मैंने एक और एप्लिकेशन (जैसे rTorrent) के साथ स्क्रीन का उपयोग किया है और सब कुछ ठीक है। क्या यह एक विशिष्ट MPlayer मुद्दा है?

अपडेट: जिस कारण से मैं स्क्रीन का उपयोग करता हूं और "nohup" नहीं जा रहा हूं, वह यह है कि मैं mplayer उदाहरण तक पहुंच प्राप्त करना चाहता हूं (स्टेशन को बदलें, प्लेलिस्ट बदलें आदि)

जवाबों:


2

यहाँ आपकी आज्ञा है:

screen mplayer -playlist .path/to/the/playlist

उपयोग screenoverkill की तरह लगता है। एक Linux मशीन पर पृष्ठभूमि में लगातार संसाधित चलाने के लिए, जबकि एक टर्मिनल सत्र से लॉग आउट, मैं का उपयोग करना चाहिये nohupऔर &इस तरह:

nohup mplayer -playlist .path/to/the/playlist &

nohup"कोई लटका नहीं" का अर्थ है कि आप अपने टर्मिनल सत्र से लॉग आउट कर सकते हैं और निम्नलिखित आदेश चलते nohupरहेंगे। &में शेल कमांड उपयोग मूल रूप से मतलब है "पूर्ववर्ती आदेश लेने के लिए और एक पृष्ठभूमि कार्य के रूप में इसे चलाने"। इसलिए यदि आप उन दोनों को जोड़ते हैं जो आप मूल रूप से कह रहे हैं, "निम्न कमांड को चलाएं भले ही मैं टर्मिनल से बाहर निकलता हूं और इसे एक पृष्ठभूमि कमांड के रूप में चलाता हूं ताकि मेरा सत्र फिर से टर्मिनल तक पहुंच सके।"


जवाब के लिए धन्यवाद। मैं नोहूप के बारे में जानता हूं, लेकिन इससे मुझे एमपीलेयर पर कोई नियंत्रण नहीं मिलता है जैसे कि अगले, प्रचलित आदि
डैनियल प्लैटन

@DanielPlaton आपका प्रश्न कहता है: "सब कुछ उम्मीद के मुताबिक काम करता है, लेकिन जब मैं अपने एसएसएच सत्र से बाहर निकलता हूं तो संगीत पूरी तरह से बंद हो जाता है।" मेरा जवाब मूल रूप से आपको सत्र छोड़ने और संगीत बजाने की अनुमति देता है। आपके प्रश्न में कुछ भी फिर से बाद में लॉग इन करके नियंत्रण बनाए रखने की आवश्यकता को इंगित नहीं करता है।
जेकॉल्ड

मुझे क्षमा करें, मुझे लगा कि स्क्रीन का उपयोग करके निर्दिष्ट करने से यह निहित है। मैंने सवाल अपडेट किया है।
डैनियल प्लैटन

महान जवाब बहुत उपयोगी धन्यवाद :) क्या आप कह सकते हैं कि क्या मैं बैकग्राउंड टास्क में वापस जा सकता हूं और ऑडियो बंद कर सकता हूं? मैं एक इंटरनेट रेडियो स्टेशन खेल रहा हूं और पाई को रिबूट किए बिना इसे रोकने का पता नहीं लगा सकता।
square_eyes

1
@square_eyes ज़रूर। जब आप एक पृष्ठभूमि प्रक्रिया शुरू करते हैं, तो टर्मिनल कमांड लाइन पर अगली पंक्ति के रूप में प्रक्रिया आईडी दिखाएगा। की तरह कुछ [1] 1223यही कारण है कि 1223अपनी प्रक्रिया आईडी है। प्रक्रिया को रोकने के लिए आपको इस तरह एक कमांड का उपयोग करके प्रक्रिया को "मारना" पड़ता है kill -9 1223और फिर वह है।
जेकगॉल्ड

0

आपको इस पर एक नज़र रखना चाहिए: http://www.tuxradar.com/content/command-line-tricks-smart-geeks

दिलचस्प बिट:

रिमोट कंट्रोल MPlayer

इस दुनिया में दो प्रकार के लोग हैं: जो लोग सोचते हैं कि MPlayer अस्तित्व के इतिहास में सबसे अच्छा मीडिया प्लेयर है, और जो गलत हैं। MPlayer की कम ज्ञात विशेषताओं में से एक इसे कंसोल, एक शेल स्क्रिप्ट या यहां तक ​​कि नेटवर्क से नियंत्रित करने की क्षमता है। इस ट्रिक का रहस्य MPlayer's -slave ऑप्शन में है, जो किस्ट्रोक्स के बजाय स्टडिन स्ट्रीम से कमांड स्वीकार करने का प्रोग्राम बताता है। इसे -input विकल्प के साथ मिलाएं, और कमांड एक फ़ाइल, या फीफो से पढ़े जाते हैं। उदाहरण के लिए, इसे एक टर्मिनल में आज़माएँ:

mkfifo ~ / mplayer-control mplayer -slave -input file = / home / user / mplayercontrol filetoplay

फिर, दूसरे टर्मिनल में या स्क्रिप्ट से, दर्ज करें:

इको "ठहराव"> ~ / mplayer- नियंत्रण

यह आदेश वर्तमान में चल रहे MPlayer को रोक देगा, और फिर से कमांड जारी करने से प्लेबैक फिर से शुरू होगा। ध्यान दें कि आपको कंट्रोल फाइल का पूरा रास्ता MPlayer को / घर / उपयोगकर्ता और इसके आगे देना होगा, क्योंकि ~ / mplayer-control अकेले काम नहीं करेगा। MPlayer पर आप बहुत सारी अन्य कमांड भेज सकते हैं - वास्तव में, प्रोग्राम का कोई भी कीबोर्ड ऑपरेशन एक कमांड को ट्रिगर करता है जिसे आप अपनी कंट्रोल स्क्रिप्ट में उपयोग कर सकते हैं। आप SSH या Netcat का उपयोग करके नेटवर्क पर किसी अन्य कंप्यूटर से MPlayer भी संचालित कर सकते हैं। इस उदाहरण को देखें:

ssh उपयोगकर्ता @ होस्ट "इको पॉज़> मेलर-कंट्रोल"

यहां, हम उपयोगकर्ता नाम के साथ एक रिमोट मशीन (होस्ट) में लॉग इन करते हैं, और रिमोट मशीन के एमपीलेयर कंट्रोल फाइल को पॉज भेजने के लिए एक कमांड चलाते हैं। यदि आपके पास हर बार पासवर्ड देने की आवश्यकता नहीं है, तो निश्चित रूप से, यह बहुत तेजी से बनाया जा सकता है यदि आपके पास SSH कुंजी प्रमाणीकरण सक्षम है।

यदि आप MPlayer को स्लेव मोड में चलाते हैं जैसे वे यहाँ उल्लेख करते हैं तो इससे कोई फर्क नहीं पड़ता कि कंसोल में यह क्या होना चाहिए, MPlayer बैकग्राउंड में बना रहे, इसके लिए वह इनपुट फ़ाइल देख रहा है न कि कमांड विंडो और टर्मिनल विंडो जो इसे कहते हैं।

अंतिम नोट: वे कहते हैं कि एक अलग टर्मिनल से ब्लाह करें यह दिखाने के लिए कि यह एक नेटवर्क पर काम करता है, जब तक आप सूचीबद्ध फ़ाइल को संपादित करते हैं क्योंकि वे दिखाते हैं कि इससे कोई फर्क नहीं पड़ता कि क्या फ़ाइल उसी मशीन या किसी अन्य द्वारा संपादित की जाती है जो कि मायने रखती है। MPlayer उस फ़ाइल को उसमें रखी गई किसी भी कमांड के लिए देख रहा है और फिर यह कार्य करता है कि कमांड उसे क्या करने के लिए कह रहा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.