'स्क्रिप्ट / देव / अशक्त ’क्या करता है?


21

हर बार जब मैं suएक उपयोगकर्ता खाते में रूट के साथ एक वीएम में लॉग इन करता हूं , और screenइसका उपयोग करने का प्रयास करता है तो एक त्रुटि होती है:

Cannot open your terminal '/dev/pts/0' - please check.

एक स्टैक ओवरफ्लो पोस्ट ने कहा कि मुझे script /dev/nullइसे ठीक करने के लिए उपयोग करने की आवश्यकता है , और यह काम करता है, लेकिन यह अभी भी नहीं समझाता है कि मुझे टाइप करने की आवश्यकता क्यों है script /dev/null। मैं यह समझना चाहता हूं कि यह क्या करता है और मुझे इसे टाइप करने की आवश्यकता क्यों है।


2
> एक स्टैक ओवरफ्लो पोस्ट ने कहा - यह सहायक हो सकता है यदि आप उस पोस्ट का लिंक जोड़ते हैं, शायद एक टिप्पणी में।
törzsmókus

उदाहरण के लिए, यह stackoverflow.com/a/44244425/340790 हो सकता है ।
JdeBP

जवाबों:


27

आप खोल नहीं सकते /dev/pts/0क्योंकि यह रूट के स्वामित्व में है, और आपके द्वारा किसी अन्य उपयोगकर्ता में su-ed करने के बाद आप उसे इसके पथ के माध्यम से खोलने में सक्षम नहीं हैं, लेकिन आप अभी भी इसे खुले हैंडल के माध्यम से उपयोग करने में सक्षम हैं, जो विरासत में मिला था मूल प्रक्रिया से।

script /dev/null वर्तमान उपयोगकर्ता के स्वामित्व में एक और pty बनाएगा।

वैसे भी, यह बग / सीमा हाल के संस्करणों में तय की गई है screen(जैसे। 4.99.0), जो सही ढंग से वर्तमान टर्मिनल को हैंडल को SCM_RIGHTSयूनिक्स डोमेन सॉकेट पर सहायक संदेश के माध्यम से भेज देगा , बजाय इसके सिर्फ नाम भेजने के बजाय टर्मिनल और screenसर्वर के लिए इसे खोलने की कोशिश (और विफल)। साथ ही बात tmux

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