मैं डिस्क स्थान खाने से .xsession-त्रुटियों को कैसे रोकूं?


12

क्या .xsession-error फ़ाइल को पूरी तरह से अक्षम करने का कोई तरीका है? मेरे पास इसे सिंपलिंक / tmp के रूप में है ताकि मेरा लैपटॉप हार्ड डिस्क (उम्मीद) एक बार सो जाए, लेकिन फ़ाइल में कम से कम 95% सामान (यह लगभग 500k प्रति घंटा भर जाता है) ...

(नॉटिलस: 1618): GLib-GObject-CRITICAL **: g_value_get_object: अभिकथन `G_VALUE_HOLDS_OBJECT (मान) 'विफल

जो मेरे लिए कुल कचरा है। मैंने / dev / null के लिए एक सिमलिंक करने की कोशिश की है, लेकिन यह काम नहीं करता है (परिणामस्वरूप लिंक ओवरराइट किया गया है), और मैं भी गतिविधि नहीं चाहता, ताकि उम्मीद है कि मेरा लैपटॉप एक बार सोने के लिए जा सके।

मैं Ubuntu 11.04 का उपयोग कर रहा हूं, Nautilus में कोई विशेष ऐड-ऑन नहीं है।


वह चाल मेरे लिए काम नहीं करती है, क्योंकि स्टार्टअप पर /etc/X11/Xsessionयह जांच नहीं होती है कि प्रतीकात्मक लिंक क्या इंगित कर रहा है। मेरे लिए यह एक नई .xsession-errorsनियमित फ़ाइल बनाता है , और इससे .xsession-errors.oldजुड़ा हुआ है /dev/null। जो मैं चाहता हूं वैसा नहीं है। जब तक मैं स्पष्ट रूप से इसे स्वयं नहीं बदलूंगा, तब तक - मैं अप्रत्यक्ष रूप .xsession-errorsसे चाहता /dev/nullहूं।
bjem

सिर्फ @ j-johan-edwards को स्पष्ट करने के लिए। मैंने आपकी आज्ञा का परीक्षण किया और यह ठीक काम करता है, मैं चाहता हूं कि यह स्थायी हो।
bjem

क्या 11.04 GDM या LightDM को इसके प्रदर्शन प्रबंधक के रूप में उपयोग करता है?

मुझे लगता है कि मेरा जीडीएम है, अगर वह डिफ़ॉल्ट है। मैंने इसे एकता डेस्कटॉप से ​​दूर जाने के अलावा नहीं बदला है।
bjem

हां, मेरा एक जीडीएम है। जाहिरा तौर .xsession-errorsपर अपने स्रोत कोड में कठिन कोडित (!) का मार्ग है। जीडीएम लोड को पुनर्निर्देशित .xsession-errorsकरने के बाद स्क्रिप्ट चलाने का एक अच्छा तरीका है /dev/null?
bjem

जवाबों:


10

मुझे एक अंतरिम समाधान मिला।

मैं में एक छोटे से स्क्रिप्ट डाल /etc/X11/Xsession.dकहा जाता है 91redirect-xsession-errorsकि अब के लिए काम करता है, लेकिन अगर आप के लिए अपने स्वयं के कस्टम सिमलिंक करना चाहते हैं .xession-errorsयह है कि लिए काम नहीं करता (मैंने कोशिश की और यह किसी भी डेटा उत्पादन नहीं किया था)।

#! / Bin / श

# पुनर्निर्देशन $ HOME / .xsession- त्रुटियों को / dev / null करने के लिए।
# BJEM 11 जनवरी 2012

XSESSION_ERRFILE = $ घर / .xsession-त्रुटियों

# यह एक नियमित फ़ाइल के लिए काम नहीं करता है,
# यानी यदि आप $ HOME / .xsession-error को सिमिलिंक करना चाहते हैं
# किसी अन्य फ़ाइल में। मुझे नहीं पता क्यों।
XSESSION_ERRFILE_FINAL = / dev / बातिल

# यदि मौजूद नहीं है तो लक्ष्य फ़ाइल बनाता है।
"$ XSESSION_ERRFILE_FINAL" स्पर्श करें

# लिंक। इच्छित लक्ष्य के लिए .xsession-त्रुटियाँ फ़ाइल
# कोई बात नहीं क्या।
ln -sf "$ XSESSION_ERRFILE_FINAL" "$ XSESSION_ERRFILE"

# परीक्षण का मामला।
# जाली और

##### फाइल समाप्त #####

यह थोड़ा 'मोटा और तैयार' है, लेकिन यह मेरे लिए काम करता है। ध्यान दें कि यह एकमात्र फ़ाइल है जिसे बदल दिया गया है।


दुर्भाग्य से मैंने @lsonrails का उत्तर नहीं देखा। / etc / X11 / Xsession wil फ़ाइल को / tmp में बनाते हैं यदि यह एक प्रतीकात्मक लिंक है तो यह विधि बेकार है।
int_ua

4

एक फ़ाइल है जिसे / etc / X11 / Xsession कहा जाता है। जो एक tmp फाइल के लिए सिमलिंक बनाएगा। अर्थात। लाइन नंबर 61 पर शुरू होता है

ERRFILE=$HOME/.xsession-errors

# attempt to create an error file; abort if we cannot
if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] &&
  [ ! -L "$ERRFILE" ]; then
  chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
  if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
    message "warning: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
             "\"$ERRFILE\"; look for session log/errors in" \
             "\"$TMPDIR/xsession-$USER\"."
  fi
else
  errormsg "unable to create X session log/error file; aborting."
fi

आप इस Xsession फ़ाइल को Xsession.bak पर cp कर सकते हैं। फिर एक सिर पर जाएं और अपने ERRFILE को / dev / null IE पर इंगित करें। लाइन 83

exec >> /dev/null 2>&1

धन्यवाद! काश मैं इस जवाब पर पहले गौर करता। मैं आपको 200 की प्रतिष्ठा दिलाऊंगा। मैंने एक पैच बनाया है जो पर्यावरण चर $NOXSESSIONERRORS पेस्ट के लिए जांचता है ।ubuntu.com / p / TFxZ344k2p इस तरह से हम इसे अपस्ट्रीम बनाने की उम्मीद कर सकते हैं।
int_ua

1
आपका बहुत बहुत धन्यवाद! मेरे लिए वर्षों पहले यह एक बड़ा मुद्दा था जब मैंने एक कंपनी के लिए काम किया था जो कियोस्क बनाती थी। हम उन्हें कॉम्पैक्ट फ्लैश कार्ड से चलाते हैं, आमतौर पर कैमरों के लिए इस्तेमाल किया जाता है। इन कार्डों में कार्ड लिखने में विफल होने से पहले उन्हें केवल एक निश्चित संख्या में लिखना होगा। इसलिए कई बार फाइल डिलीट करना, जैसा कि कुछ अन्य लोग सुझाव देते हैं, केवल समस्या को और बदतर बनाता है।
--१

डुप्लीकेट के रूप में अच्छी तरह से मेरा उत्तर यहाँ के साथ सवाल ही नहीं है askubuntu.com/questions/177058/...
earlonrails

मैंने सबसे पास की चीज़ में एक मर्ज करने का अनुरोध किया है जो मुझे ऊपर की ओर मिल सकती है : salsa.debian.org/xorg-team/xorg/merge_requests/7 कृपया कियोस्क के बारे में अपनी कहानी जोड़ें।
int_ua

0

मुझे redhat linux 6.4 सर्वर में एक ही समस्या का सामना करना पड़ा, लेकिन मैं पा सकता हूं कि कौन सा फ़ोल्डर या उपयोगकर्ता इस कमांड का उपयोग करके अधिक स्थान लेता है "ढूँढें / -xdev -type f -size + 100000000c -exec ls -lh {}"; " तब मैंने rm -rf कमांड का उपयोग करके मैन्युअल रूप से x सत्र त्रुटियों को हटा दिया


1
यह उत्तर त्रुटियों को रोकने के लिए HOW नहीं कहता है। यह केवल यह कहता है कि उन्हें कैसे हटाया जाए। कृपया अपना उत्तर अपडेट करें।
कज़ वोल्फे

0

कृपया ध्यान दें कि .xsession-त्रुटियाँ फ़ाइल को हटाने से सिस्टम के पुनरारंभ होने तक कोई स्थान खाली नहीं होता है यदि कोई प्रक्रिया अभी भी फ़ाइल में लिख रही है। एक वर्ण में फ़ाइल सेट करने के लिए फ़ाइल सामग्री को अधिलेखित करने के लिए इको का उपयोग करें। जब तक प्रक्रिया .xsession- त्रुटियों को रोकती है, तब तक फ़ाइल तुरंत फिर से बढ़ने लगेगी। मुझे मुझे रेमिना को रोकना है और फिर फ़ाइल को काट देना है और मैं वापस चल रहा हूं। नोट भी मदद करता है अगर आप अपनी फ़ाइल की सीमा कुछ गिग आकार में सेट करते हैं तो आपकी .xsession-त्रुटियाँ फ़ाइल ड्राइव को फ़ाइल नहीं कर सकती हैं और आपके सिस्टम को क्रैश कर सकती हैं। अभी भी स्पष्ट रूप से सभी लिनक्स ऑपरेटिंग सिस्टम में अंतर्निहित वायरस की इस समस्या के उत्तर की तलाश है। Microsoft डेवलपर्स की तरह ध्वनि लिनक्स में योगदान कर रहा है ... ;-)


>.xsession-errors, :>.xsession-errors एक फ़ाइल को शून्य करने के अन्य अच्छे तरीके हैं।
इयरलोनरिल्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.