जवाबों:
एक समाधान है कि पुनरारंभ पर नियमित sudo की आवश्यकता नहीं है पाया
से 'एरिक जेड मा' @ systutorials :
निर्देशिका
/var/run/screen/
स्क्रीन के लिए सॉकेट निर्देशिका है।सौभाग्य से, स्क्रीन
SCREENDIR
एक वैकल्पिक सॉकेट निर्देशिका प्राप्त करने के लिए एक पर्यावरण चर पढ़ता है ।तो इसके चारों ओर काम करने के लिए, आप एक निर्देशिका बना सकते हैं, जैसे
~/.screen
:mkdir ~/.screen && chmod 700 ~/.screen
और
SCREENDIR
उस निर्देशिका को इंगित करने के लिए निर्यात करें :export SCREENDIR=$HOME/.screen
आप इस लाइन को अपने अंदर भी डाल सकते हैं
~/.bashrc
ताकि बाद में यह भी प्रभावी हो जाए।
इस मुद्दे को यहाँ प्रलेखित किया गया है । संक्षेप में,
/etc/rcS.d/S70screen-cleanup
इससे पहले कि यह चलाने की उम्मीद की तुलना में बहुत ऊपर से चल रहा है, और उस निर्देशिका को सही ढंग से साफ करने में विफल हो रहा है।
यह निम्नलिखित कमांड के साथ तय किया जा सकता है
sudo /etc/init.d/screen-cleanup start
मैं सेंटोस / आरएचईएल 7 आधारित डिस्ट्रो चलाते समय इसमें भाग गया, और इसके तहत कहीं भी 'स्क्रीन-क्लीनअप' नाम की कोई चीज नहीं है।
मेरे द्वारा पाया गया वर्कअराउंड केवल चलाने के लिए था sudo screen
और फिर तुरंत इससे बाहर निकल गया।
उसके बाद मैं बिना किसी विशेष विशेषाधिकार के स्क्रीन चला पा रहा था, इसलिए यह मौका दिए जाने पर अप / वर / अप को क्लीन अप करने के लिए प्रकट होता है।
मैं निम्नलिखित आदेशों को निष्पादित करके इस समस्या को ठीक कर सकता हूं।
sudo mkdir /var/run/screen
sudo chmod 777 /var/run/screen
टीएल; डीआर : डेबियन स्ट्रेच और बाद में, सुनिश्चित करें कि systemd-tmpfiles-setup.service
सफलतापूर्वक शुरू किया गया है:
$:> systemctl status systemd-tmpfiles-setup.service
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
Loaded: loaded (/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: enabled)
Active: active (exited) since Thu 2018-06-21 19:54:06 CEST; 41min ago
...
यदि अक्षम ( Loaded: ... ;disabled; ...
) है, तो आप इसे सक्षम करना चाहते हैं systemctl enable systemd-tmpfiles-setup.service
। यदि आप एक डॉकटर कंटेनर के भीतर स्क्रीन का उपयोग करना चाहते हैं तो आपको या तो अपने कंटेनर इमेज में सिस्टमड रनिंग प्राप्त करनी होगी या आपको अपने कंटेनर में लॉग इन करने के बाद हर बार systemctl start systemd-tmpfiles-setup.service
या /etc/init.d/screen-cleanup start
( ह्यु द्वारा सुझाए गए अनुसार ) चलना होगा ।
विवरण: डेबियन स्ट्रेच के बाद से, स्टार्टअप स्क्रिप्ट /etc/init.d/screen-cleanup
को निष्पादित नहीं किया जाता है, क्योंकि डिफ़ॉल्ट रूप से यह सेवा मुखौटा ( /lib/systemd/system/screen-cleanup.service -> /dev/null
) है, इसलिए सिस्टमड इसे अनदेखा करता है।
इसके बजाय बूट पर systemd-tmpfiles-setup.service
बनाता /run/screen
है, जैसे में कॉन्फ़िगर किया गया है /usr/lib/tmpfiles.d/screen-cleanup.conf
:d /run/screen 0775 root utmp
systemctl enable systemd-tmpfiles-setup.service
कि @Jacob रिबूट भर कायम सुझाव दिया।