मैं Ubuntu 16.04 पर हाइबरनेट कैसे कर सकता हूं?


86

मुझे सफलतापूर्वक Ubuntu 16.04 को हाइबरनेट कैसे करना चाहिए?

मैंने वेब पर लगभग हर समाधान की कोशिश की है, लेकिन उनमें से गैर वास्तव में मददगार था। मैं मेरी समस्या लगभग पूरी तरह से करने के लिए इसी पाया इस एक



sudo pm-hibernateकाम करता है ?
पायलट 6

2
सिस्टमड के साथ स्थिति नहीं बदली? अब हम इसका उपयोग करने के लिए systemctl hibernateहैं, शायद एक डुबकी नहीं ... या कम से कम अद्यतन उत्तर के लिए पुराने प्रश्न को मान्य करने के लिए आवश्यक हो सकता है
Zanna

आप किस कर्नेल संस्करण को चला रहे हैं? uname -rटर्मिनल में टाइप करें (माफी यदि आप पहले से ही यह जानते थे)।
विनयुनुच्स

कृपया अपने प्रश्न को संपादित करें और free यदि आप सफलतापूर्वक हाइबरनेट करने के लिए पर्याप्त स्वैप सेटअप है , तो हम इसका निर्धारण कर सकते हैं।
एल्डर गीक

जवाबों:


62

हाइबरनेशन का उपयोग करना systemctlऔर इसे कठिन मामलों में काम करना

मेरे लिए, pm-hibernateहमेशा विफल रहता है। कुछ ट्वीक्स के बाद, मैं सिस्टमड के इंटरफेस (16.04 और इसके बाद के संस्करण में) का उपयोग करके हाइबरनेट करने में सक्षम था। मैं भी इसे स्वैप फ़ाइल के साथ 17.04 पर काम करने में कामयाब रहा। यह केस स्टडी दूसरों की समस्याओं के लिए उपयोगी हो सकती है।

पहला प्रयास:

sudo systemctl hibernate

यदि वह विफल हो जाता है, तो समस्या निवारण शुरू करें: हाइबरनेट स्थिति (HTD या ACPI S4) में मशीन स्थिति डिस्क पर लिखी जाती है ताकि इसे संरक्षित करने के लिए किसी शक्ति की आवश्यकता न हो। राज्य या तो एक स्वैप विभाजन या एक स्वैप फ़ाइल के लिए लिखा जाता है। ध्यान दें: यदि BTRFS का उपयोग कर रहा है तो स्वैप फ़ाइल का उपयोग करने का प्रयास न करें क्योंकि इससे फाइल सिस्टम भ्रष्टाचार हो सकता है

आपका स्वैप विभाजन या स्वैप फ़ाइल रैम हाइबरनेशन अनुमति देने के लिए के रूप में एक ही आकार के होने की आवश्यकता हो सकती है, लेकिन वहाँ के अनुसार एक अच्छा मौका है आप अगर यह कम से कम 2/5 राम के आकार है हाइबरनेट करने में सक्षम हो जाएगा, आर्क विकि पृष्ठ , इसलिए स्वैप आकार बढ़ाने से पहले पहले अन्य चरणों का प्रयास करें।

यदि आपकी समस्या यह है कि आपको अपेक्षित फिर से शुरू करने के बजाय एक साफ बूट मिल जाता है, तो कम से कम आपको डिस्क छवि को खोजने के लिए बूट पैरामीटर सेट करने की सबसे अधिक आवश्यकता है।

अपना स्वैप विभाजन खोजें:

grep swap /etc/fstab

मेरे लिए यह रिटर्न (आंशिक उत्पादन)

# swap was on /dev/mmcblk0p3 during installation

/dev/mmcblk0p3निर्दिष्ट करने के लिए विभाजन कहां है

एक बूट पैरामीटर जोड़ें:

sudoedit /etc/default/grub

उद्धरणों में अनुभाग को GRUB_CMDLINE_LINUX_DEFAULTजोड़ने वाली रेखा तक resume=/dev/YourSwapPartition(उस विभाजन से प्रतिस्थापित करें जिसे आपने पहले पहचाना था)। मेरे उदाहरण का उपयोग करना:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/mmcblk0p3" 

जब भी आप इस फ़ाइल को बदलते हैं, आपको चलना चाहिए sudo update-grubया परिवर्तनों का कोई प्रभाव नहीं होगा।

अब आपको रिबूट करने की आवश्यकता है। फिर आप कमांड जारी करके हाइबरनेट करने का प्रयास कर सकते हैं:

sudo systemctl hibernate

फिर से शुरू करने के लिए, पावर बटन दबाएं और सिस्टम बूट होगा।

यदि आपको अभी भी समस्या है, तो डिबगिंग शुरू करें।

मैं एक उदाहरण के रूप में नीचे अपने मामले को शामिल करता हूं, लेकिन एस राज्यों को डीबग करने की विस्तृत जानकारी इस ब्लॉग में मिल सकती है और यह भी

अधिक जानकारी कैप्चर करने के लिए कुछ और बूट पैरामीटर सेट करें। निकालें quietऔर splashजोड़ें initcall_debugऔर no_console_suspendजिसके कारण init सिस्टम कॉल कंसोल में प्रिंट हो जाएगा ताकि आप देख सकें कि क्या गलत हो रहा है। मैंने इसे सेट किया:

GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/mmcblk0p3 no_console_suspend initcall_debug"

जिसने मुझे यह देखने में मदद की कि हाइबरनेशन से फिर से शुरू होने में क्या गलत था।

मेरे मामले में, फिर से शुरू करने के बाद मैंने वाईफाई खो दिया, और कर्नेल स्पष्ट रूप से अधिकांश आदेशों के रूप में परेशान था (उदाहरण के लिए /sys, मॉड्यूल या किसी भी systemctlकमांड को फिर से लोड करने से कुछ भी पढ़ने ) काम नहीं करेगा - प्रक्रिया शुरू करने के लिए प्रकट होगी और बस लटका होगा (यह सब होगा पाठ्यक्रम के रिबूट के बाद वापस सामान्य)। सिस्टम को बहुत धीरे-धीरे बंद करना और सभी डिबग संदेशों को पढ़ना, मैंने देखा कि "brcm" के साथ बहुत सारी समस्याएं थीं, इसलिए मैंने अनुमान लगाया कि मेरा ब्रॉडकॉम वायरलेस ड्राइवर मॉड्यूल को दोष देना था। निश्चित रूप से मैंने पहले मॉड्यूल को उतारने के लिए अपनी हाइबरनेशन प्रक्रिया को समायोजित किया:

sudo modprobe -r brcmfmac
sudo systemctl hibernate

फिर से शुरू करने पर मैं मॉड्यूल को पुन: स्थापित करता हूं

sudo modprobe brcmfmac

और सब कुछ पूरी तरह से काम किया। मुझे उस btsdioमॉड्यूल को ब्लैकलिस्ट करना होगा, जो असंगत लगता हैbrcmfmac


अपडेट: 17.04 पर एक स्वैप फ़ाइल का उपयोग करके हाइबरनेशन।

एक बार फिर आर्क विकी पेज और कुछ अतिरिक्त टिंकरिंग की मदद से, मैं एक स्वैप फ़ाइल के साथ 17.04 पर काम करने के लिए हाइबरनेशन प्राप्त करने में कामयाब रहा। इसके लिए एक अतिरिक्त बूट पैरामीटर की आवश्यकता होती है, resume_offset=nजहां n निम्न physical_offsetमें से पहला नंबर है sudo filefrag -v /swapfile:

$ sudo filefrag -v /swapfile
Filesystem type is: ef53
File size of /swapfile is 1425873920 (348114 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   32767:      34816..     67583:  32768:            
   1:    32768..   63487:      67584..     98303:  30720:            
   .... 

इसलिए, मेरे मामले में अतिरिक्त बूट पैरामीटर है resume_offset=34816। विभाजन से फिर से शुरू करने के लिए आपको अभी भी एक बूट पैरामीटर सेट करने की आवश्यकता है। यह रूट विभाजन होगा (या जो भी विभाजन आपकी स्वैप फ़ाइल पर स्थित है) मेरे पैरामीटर अब हैं:

GRUB_CMDLINE_LINUX_DEFAULT="no_console_suspend initcall_debug resume=/dev/mmcblk1p2 resume_offset=34816"

/dev/mmcblk1p2मेरा रूट विभाजन कहां है (आपका कुछ होने की संभावना अधिक है /dev/sda2)।

फिर से शुरू करने के दौरान मैंने छवि को सफलतापूर्वक लोड किया, लेकिन मेरे मामले में (सिर्फ एक उदाहरण - YMMVAPD) फिर कुछ और ड्राइवरों ( i2c_designware) ने कुछ त्रुटियां फेंक दीं और मुझे फिर से शुरू होने पर एक पूरा सिस्टम फ्रीज हो गया। हाइबरनेशन काम करता है अगर मैं इसके अलावा उन मॉड्यूल को अनलोड करता हूं brcmfmac, लेकिन सिस्टम उन मॉड्यूल के बिना जल्दी से बेकार हो जाता है। इसलिए मैंने छोटी-छोटी मॉड्यूल्स को उतारने और फिर से उन्हें फिर से शुरू करने के लिए स्क्रिप्ट का एक प्रकार बनाया:

# remove buggy modules
modprobe -r brcmfmac i2c_designware_platform i2c_designware_core &&
# hibernate
echo disk > /sys/power/state
# reinsert
modprobe i2c_designware_core i2c_designware_platform brcmfmac

जब मैं हाइबरनेट करना चाहता हूं, तो मैं दौड़ता हूं sudo bash script। यह बहुत अच्छा काम करता है।


टी एल; डॉ

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


वह जानकारी कहां से है, कि RAM आकार का 2/5 पर्याप्त हो सकता है, और किन परिस्थितियों में? मेरे पास Gnome, "Hibernate" में एक उपयोगकर्ता विकल्प है और यह हाइबरनेट लगता है, लेकिन जागने पर, यह ठीक से काम नहीं करता है। मेरे पास 8GB और 32GB रैम का एक स्वैप विभाजन है। यह 2/5 नहीं है, लेकिन 32 जीबी स्वैप फ़ाइल (या विभाजन) बनाने से पहले यह जानना अच्छा होगा।
शालीनता

@cslotty मुझे आर्क विकी IIRC से वह जानकारी मिली - मुझे बताएं कि क्या आप इसे प्रबंधित करते हैं
Zanna

धन्यवाद, @Zanna। मुझे पता चला कि यह वास्तव में हाइबरनेट नहीं है, जो मैं चाहता हूं, लेकिन सस्पेंड (एस 3 / एसटीआर) - संतरी।
शालीनता

@cslotty को कोई चिंता नहीं है। उस स्थिति में, स्वैप आपकी समस्या नहीं है क्योंकि यह संबंधित नहीं है।
ज़न्ना

1
धन्यवाद, मुझे इस उत्तर के संश्लेषण के साथ-साथ सिक्योरबूट को अक्षम करने के लिए टिप की आवश्यकता थी ताकि यह अंत में काम कर सके।
ओलिगोफ़्रेन

62

आप उपयोग कर सकते हैं

sudo pm-hibernate 

यह जांचने के लिए कि क्या हाइबरनेट आपके सिस्टम पर काम करता है ( यह आपके कंप्यूटर को हाइबरनेट कर देगा )।

यदि यह काम नहीं करता है, तो जांच लें कि क्या आपके स्वैप का आकार कम से कम आपकी रैम जितना बड़ा है।

सेटिंग्स मेनू में विकल्प जोड़ने के लिए, आप एक कॉन्फ़िगरेशन फ़ाइल बना सकते हैं। एक टर्मिनल विंडो खोलें और इस कमांड को चलाएं:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

यह एक खाली फाइल के साथ नैनो को खोलता है। नीचे की पंक्तियों को कॉपी करें और उन्हें नैनो विंडो में पेस्ट करें।

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

फिर परिवर्तनों को सहेजें और नैनो को बंद करें और हाइबरनेट को "पावर विकल्प" पर प्रकट करने के लिए सिस्टम को रिबूट करें।

संदर्भ: मैं अपने कंप्यूटर को हाइबरनेट कैसे करूं? Ubuntu 16.04 के लिए आधिकारिक दस्तावेज में।

मुझे भरोसा है ये काम करेगा। अन्य सभी विकल्पों को आजमाने के बाद मेरे लिए यह काम किया।


हाइबरनेट को "पावर विकल्प" पर प्रदर्शित करने के लिए फ़ाइल को संपादित करने के बाद हमें रिबूट की आवश्यकता है।
जस १२

21
'सुडो दोपहर-हाइबरनेट' ने चेतावनी के बिना तुरंत मेरे सिस्टम को मार दिया। आपको लोगों को बताना चाहिए कि क्या होने वाला है।
यार दान

सबसे बढ़िया उत्तर । यह 17.4 और 17.10 पर भी काम कर रहा था।
सौरभ भंडारी

1
इस जवाब ने GRUB_CMDLINE_LINUX_DEFAULT को "फिर से शुरू करने" को जोड़ने के लिए कहा, जो मेरे लिए इसे हल करता है - thx!
क्रिस्टोफ

मेरे स्वैप विभाजन में 17GB और 16GB RAM है, यह काम क्यों नहीं कर रहा है? यह हाइबरनेटिंग लगता है क्योंकि कंप्यूटर को बंद करने में हमेशा के लिए लग जाता है जबकि अगर मैं "शटडाउन" करता हूं तो यह लगभग तुरंत बंद हो जाता है। लेकिन जब मैं अपना कंप्यूटर वापस चालू करता हूं, तो सब कुछ बंद हो जाता है और मुझे फिर से शुरू करना पड़ता है। यह बिल्कुल भी हाइबरनेट नहीं है। यह विंडोज में उतना सरल क्यों नहीं हो सकता है? अगर किसी के पास आइडिया है कि मैं इसे ठीक से हाइबरनेट कैसे कर सकता हूं, तो मुझे कुछ मदद चाहिए।
user1271772

20

मुझे लगता है, 16.04 उत्तर के लिए हाइबरनेट को कैसे सक्षम किया जाए, यह सभी को उबंटू विकी में वर्णित के रूप में जाना जाता है (नीचे देखें यदि आपको चरणों की आवश्यकता है)। लेकिन जिन चीज़ों की जाँच की ज़रूरत है, वे पूरी तरह से मेरे हिसाब से नहीं हैं। कम से कम, मुझे यही मिला।

जाँच करने की बातें

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

यहाँ कुछ जाँच हैं -

  1. जांचें कि आप किसी भी btrfs विभाजन का उपयोग नहीं कर रहे हैंजी हां । अपने परीक्षण से, मैंने पाया कि यदि आपके पास btrfs विभाजन हैं, तो हाइबरनेट काम नहीं करेगा। विभाजन प्रकार को हटाने या बदलने से ext4मुझे मदद नहीं मिली। मुझे btrfs-toolsपैकेज निकालने की जरूरत थी ।

    sudo apt-get purge btrfs-tools
    

    आप अन्य नए विभाजन प्रकारों की जांच करना चाहते हैं जो अच्छी तरह से परीक्षण नहीं किए गए हैं। पैकेज को हटाने के बिना, ड्राइवर को ब्लैकलिस्ट करना भी काम कर सकता है, लेकिन मैंने इसका परीक्षण नहीं किया है।

  2. इसके अलावा, आपको यह जांचने की आवश्यकता है कि रैम की सामग्री को रखने के लिए आपके पास एक स्वैप विभाजन पर्याप्त है। यदि आपकी रैम 4 जीबी है, तो स्वैप कम से कम 4 जीबी बड़ा होना चाहिए (आपको सुरक्षित रहने के लिए कुछ और एमबी आवंटित करना चाहिए)।

हाइबरनेट को सक्षम करने के लिए कदम

इसमें ये चरण शामिल हैं

  1. रूट के रूप में एक फ़ाइल बनाएँ /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla

    sudo -i nano /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla
    
  2. इन सामग्रियों को उस फ़ाइल पर रखें

    [Re-enable hibernate by default in upower]
    Identity=unix-user:*
    Action=org.freedesktop.upower.hibernate
    ResultActive=yes
    
    [Re-enable hibernate by default in logind]
    Identity=unix-user:*
    Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
    ResultActive=yes
    
  3. फ़ाइल को दबाकर सहेजें Ctrl- O। इसके साथ बाहर निकलें Ctrl-X

  4. पुन: प्रारंभ करें polkitdडेमॉन

    sudo systemctl restart polkitd.service
    

इसे हाइबरनेट सक्षम करना चाहिए।


2
धन्यवाद, अनवर। मैंने बग # 1619846 दर्ज किया और आपको अपना जवाब ऊपर दिया। कोई भी मौका जो आप आधिकारिक दस्तावेज में उस पृष्ठ पर अधिक सटीक परिवर्तन / परिवर्धन का प्रस्ताव कर सकते हैं?
गुन्नार हजलमर्सन

1
@GunnarHjalmarsson मैं इस चेतावनी को प्रस्तावित करूंगा। लेकिन, मुझे इसकी पुष्टि करने वाले अधिक परीक्षकों की आवश्यकता होगी। आपको बाद में बताएंगे
अनवर

ठीक है, फिर और बात करते हैं।
गुन्नार हेजलरमसन

मैंने एक btrfs विभाजन पर स्थापित किया है और btrfs-toolsआपके निर्देशों के अनुसार शुद्ध किया गया है। अभी भी हाइबरनेट नहीं कर सकते।
ऑक्सविवि

1
डिस्क पर केवल vfatयूईएफआई के लिए है, btrfsऔर swap। मुझे वास्तव में संदेह है कि यह हार्डवेयर (एएमडी लैपटॉप) के कारण है। मैं btrfs के साथ किसी अन्य सिस्टम पर यह परीक्षण करने जा रहा हूं और आपको वापस मिलूंगा।
ऑक्सीविवि

7

शुरुवात सुरक्षित करो

(मैंने इसी तरह का सवाल पूछा था जो सिस्टमड आधारित उत्तरों पर ध्यान देने के लिए कह रहा था, इस सवाल का अनुसरण करने वाले लोगों के लिए यहां अपना समाधान साझा कर रहा हूं)

यह समाधान फेडोरा विषयों से आता है (उन्होंने कुछ समय पहले सिस्टम को स्विच किया ताकि वहां अधिक सामग्री हो)।

मेरे मामले में (ताजा 16.04.1 एक मशीन पर स्थापित करें जो हमेशा हाइबरनेशन का समर्थन करती है), कॉलिंग अप्रचलित sudo pm-hibernateकुछ भी करने के लिए नहीं लगती थी, और अप करने के लिए सिस्टमड दृष्टिकोण, systemctl hibernateऔर वापस आ जाएगी:

Failed to hibernate system via logind: Sleep verb not supported

यह पता चला है कि सुरक्षित बूट अपराधी था: 16.04 स्थापित करते हुए आपसे पूछा जाता है कि आप इसके साथ क्या करना चाहते हैं (जो एक नई चीज है जहां तक ​​मैं याद कर सकता हूं) और मैंने इसे बहुत सोचा दिए बिना इसे चालू रखा।

सुरक्षित बूट पर मेरी मशीन पर, cat /sys/power/diskउत्तर दिया:

 [disabled]

BIOS सेटिंग्स में सुरक्षित बूट को रीबूट और अक्षम करने के बाद (ये मशीन-विशिष्ट हैं, लेकिन आमतौर पर बहुत सरल हैं) मैंने कोशिश की cat /sys/power/diskऔर प्राप्त किया:

 [platform] shutdown reboot suspend 

जो बेहतर लग रहा है। और वास्तव systemctl hibernateमें एक सफल हाइबरनेट / पिघलना अनुक्रम में कॉलिंग परिणाम।

इसके अलावा, उसके बाद मैं किसी भी polkitहैक की आवश्यकता के बिना चित्रमय इंटरफ़ेस के विभिन्न स्थानों में एक विकल्प के रूप में उपलब्ध हाइबरनेशन देख सकता था । तो ऐसा लगता है कि systemdवास्तव में यह अनुमान लगा रहा था /sys/power/diskकि सिस्टम हाइबरनेट करने में सक्षम नहीं था।


मैंने वही किया जो आपने यहाँ समझाया है। लेकिन जब मैं "systemctl hibernate" कमांड निष्पादित करता हूं, तो स्क्रीन 3 सेकंड के लिए काली हो जाती है, फिर डेस्कटॉप मेरे सभी खुले हुए प्रोग्रामों के साथ वापस चला जाता है जैसे कि मैंने कमांड निष्पादित किया था। जब मैंने कमांड "कैट / एसआईएस / पावर / डिस्क" निष्पादित किया ... तो इसने मुझे यह पाठ दिखाया: "[प्लेटफ़ॉर्म] शटडाउन रिबूट सस्पेंड टेस्ट_रेसुम" जो कि परिणाम के समान है जब आपने अपनी तरफ से अंतिम पाठ किया था लेकिन अंतिम पाठ : "test_resume"। क्या आपको अंदाजा है कि मैं अपनी समस्या को हल करने के लिए क्या कर सकता हूं?
फॉक्सहार्ड

बहुत निश्चित नहीं है, ऐसा लगता है कि हाइबरनेशन आपके हार्डवेयर पर बॉक्स से बाहर काम नहीं करता है, यही कारण है कि इसे डिफ़ॉल्ट रूप से अक्षम किया गया है। आप अपने विशिष्ट मुद्दे के बारे में एक अलग प्रश्न शुरू कर सकते हैं।
मार्क

मेरे लिए केवल आधा काम है। हाइबरनेट्स लेकिन हाइबरनेशन से जागने के बजाय, सामान्य बूट पर जाता है, फिर एक कठिन शारीरिक बंद होने तक हमेशा के लिए अटक जाता है।
मैट

6

इस निर्देश ने मेरे उबंटू 18.04 स्थापना के लिए काम किया।

  1. sudo apt install hibernate यह हाइबरनेट और अन्य निर्भरताएं स्थापित करेगा जिन्हें हाइबरनेट करने की आवश्यकता है
  2. grep swap /etc/fstab (उंगलियां UUID)
  3. sudoedit /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT = "शांत छप" पर स्वैप का UUID जोड़ें। यह रेखा इस तरह दिखाई देती है GRUB_CMDLINE_LINUX_DEFAULT = "शांत स्पलैश फिर से शुरू = UUID of swi"
  4. sudo update-grub
  5. पुनरारंभ करें, और पुनरारंभ करने के बाद sudo systemctl hibernate। यदि सब कुछ ठीक काम करता है तो मेनू प्रविष्टि जोड़ें।
  6. sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla अब इसे पेस्ट करें:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

https://askubuntu.com/a/819891/712203 से कॉपी किया गया

  1. कंप्यूटर को पुनरारंभ
  2. Https://extensions.gnome.org/extension/755/hibernate-status-button/ स्थापित करें

1
/etc/default/grubउपयोग करने के लिए initramfs को अपडेट करने पर विचार करने के लिए एक निश्चित मान जोड़ने के बजाय update-initramfs -u -k allऔर जैसे संदेश की तलाश करें The initramfs will attempt to resume from /dev/dm-0। यह स्वचालित रूप से रिज्यूम डिवाइस को सेट कर देगा।
दोपहर

धन्यवाद, उबंटू 18.04 पर पूरी तरह से काम करता है! ध्यान दें कि यदि यह पहली बार है जब आप एक सूक्ति एक्सटेंशन का उपयोग करते हैं, तो आपको एक ब्राउज़र एक्सटेंशन और एक कनेक्टर स्थापित करना होगा। यह शीर्ष पर एक्सटेंशन लिंक में समझाया गया है।
करीम सोनबोल

4

Kelvinelove के जवाब पर अपनी टिप्पणी का विस्तार करते हुए, वह जिस फ़ाइल को संपादित करने का सुझाव देता है, वह मेरे सिस्टम पर मौजूद नहीं थी (ताजा Ubuntu 16.04)। इसके बजाय, मैंने ऐसा किया:

  1. sudo nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

  2. इन वर्गों के लिए देखें (वे एक दूसरे के द्वारा सही हैं):

    [Upower में डिफ़ॉल्ट रूप से हाइबरनेट को अक्षम करें] पहचान = यूनिक्स-उपयोगकर्ता: * क्रिया = org.freedesktop.upower.hibernate परिणाम = नहीं

    [लॉगिन में डिफ़ॉल्ट रूप से हाइबरनेट को अक्षम करें] पहचान = यूनिक्स-उपयोगकर्ता: * क्रिया = org.freedesktop.login1.hibernate; org.freedesktop.login1.handle-hibernate-key; ResultActive = नहीं

  3. ResultActive = No को ResultActive में बदलें = उन दोनों के लिए हाँ

  4. प्रेस Ctrl + O फ़ाइल को बचाने के लिए।
  5. कंप्यूटर को दोबारा चालू करो
  6. हाइबरनेट विकल्प अब अपनी शक्ति मेनू में उपलब्ध है।

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

स्रोत: http://www.zedt.eu/tech/linux/enable-hibernation-xubuntu-16-04/


फ़ाइल /etcडिफ़ॉल्ट रूप से मौजूद नहीं है। यह एक कॉन्फ़िगरेशन फ़ाइल है जिसे आप बनाते हैं। पैकेज स्वामित्व वाली फ़ाइल का संपादन, जैसा कि आप ऊपर सुझाव देते हैं, बुरी सलाह है, क्योंकि यह अगले पैकेज अपडेट पर ओवरराइट किया जाएगा।
गुन्नार हजलमर्सन

@GunnarHjalmarsson यदि ऐसा है तो मैं तर्क दूंगा कि यह कहा जाना चाहिए कि यह मौजूद नहीं है। मैं एक शीर्ष रेटेड से अधिक उम्मीद करता हूं कि "इस आदेश की प्रतिलिपि / पेस्ट करें" की तुलना में उबंटू उत्तर पूछें -> "इस प्रकार" -स्टाइल उत्तर टाइप करें जिसमें किसी भी तरह के सत्यापन का अभाव है कि क्या आप सही काम कर रहे हैं (अगर यह काम किया है तो जाँच के अलावा) । क्या होगा यदि कोई व्यक्ति कुछ वर्षों में उस उत्तर को पाता है, लेकिन फ़ाइल के खाली होने के बाद से यह कोशिश करने से डरता है, और निर्देश स्पष्ट रूप से फ़ाइल में जोड़ने के लिए कहता है, जिसका अर्थ है कि यह मौजूद है? बहरहाल, मैं जानकारी की सराहना करता हूं, इसे पूरा करने के लिए उत्तर में जोड़ूंगा।
fgblomqvist

1
निष्पक्ष बिंदु; मैंने NirajW के उत्तर को उस स्पष्टीकरण के साथ संपादित किया। यह ध्यान दिया जाना चाहिए कि इस पृष्ठ पर जानकारी का मूल स्रोत निर्माण के बारे में बात करता है ।
गुन्नार हजलमर्सन

यह सही है कि आपने मुझे बचा लिया भाई :)
आजम अलवी

4

मेरे लिए, यह hibernateपैकेज स्थापित करने , रिबूट करने और फिर चलाने के लिए काम करता है sudo hibernate-disk। मुझे यकीन है कि इसे मेनू में जोड़ना संभव है, लेकिन मेरे लिए समय के लायक नहीं है।


3

सबसे पहले, मैं अनुशंसा करता हूं कि आप परीक्षण करें कि क्या आपकी मशीन हाइबरनेशन का समर्थन करती है, क्योंकि यही कारण है कि हाइबरनेशन डिफ़ॉल्ट रूप से अक्षम है क्योंकि यह कभी-कभी कुछ मशीनों पर अप्रिय परिणाम होता है। टर्मिनल ( Ctrl+ Alt+ T) खोलकर और फिर टाइप करके अपनी मशीन का परीक्षण करेंsudo pm-hibernate

आपकी मशीन को हाइबरनेट होना चाहिए। हाइबरनेशन के बाद अपनी मशीन को जगाएं और देखें कि क्या यह गलत व्यवहार करता है या यदि यह सामान्य रूप से कार्य करता है। यदि आप हाइबरनेशन के बाद किसी भी असामान्यता का अनुभव करते हैं, तो मैं आपको निम्नलिखित प्रक्रिया के साथ जारी नहीं रखने की सलाह देता हूं। हालांकि, अगर यह ठीक काम करता है, तो ऐसा करके हाइबरनेशन को सक्रिय करना जारी रखें:

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

खोली गई फ़ाइल को संपादित करें और इस लाइनों को जोड़ें:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

इसके बाद, अपनी मशीन को पुनरारंभ करें, और लॉग इन करने के बाद, आपको शीर्ष सही सेटिंग्स कोने पर, पावर मेनू पर जोड़ा गया हाइबरनेशन विकल्प देखना चाहिए।


मेरे पास थिंकपैड -E550 है और इसे हाइबरनेशन के साथ कोई समस्या नहीं है, जब मेरा ओएस ubuntu 15.1 या windows8.1 है। लेकिन ubuntu 16.04 का उपयोग करते हुए, जब मैं कमांड "sudo pm-hibernate" का उपयोग करता हूं, तो यह पूरी तरह से हाइबरनेट नहीं होता है और बस स्क्रीन काली हो जाती है और मशीन अभी भी चालू है।
महियार

मेरे मामले में, कमांड कुछ भी नहीं करता है। टर्मिनल न्यूलाइन में जाता है और अगली कमांड की प्रतीक्षा करता है अर्थात पिछली कमांड को निष्पादित किया गया है। लेकिन यह कुछ नहीं करता हैat all
आलोक

यह मेरे लिए काम नहीं करता है। उबंटू 16.04। हाइबरनेट विकल्प नहीं आता है और सेटिंग में अक्षम रहें -> पावर, कुछ और?
डेनियल सेगाटो 17

पहले से मौजूद नीति का संपादन बेहतर है: zedt.eu/tech/linux/enable-hibernation-xubuntu-16-04
fgblomqvist

में अपूर्ण सामग्री com.ubuntu.enable-hibernate.pkla। NirajW द्वारा पोस्ट किया गया उत्तर देखें।
गुन्नार हजलमर्सन

3

उबंटू के तहत कुछ और अधिक सामान्य हाइबरनेट मुद्दों को सुलझाने में मदद करने के लिए यहां कुछ बहुत अच्छे संसाधन हैं।

मेरे मामले में, लेनोवो u300s पर उबंटू 16.10 चल रहा है, हाइबरनेट के लिए सही ढंग से काम करने के लिए मुझे निम्नलिखित कार्य करना था:

  • एक उचित आकार की स्वैप फ़ाइल बनाएं (मैं आमतौर पर आकार में ~ 1x के लिए सेट करता हूं, लेकिन मैंने 1.6x और 2x तक सुना है)
  • /etc/default/grubनिम्नलिखित पंक्ति को शामिल करने के लिए संपादित करें :

    GRUB_CMDLINE_LINUX_DEFAULT="splash quiet pci=nomsi RESUME=UUID=92781adb-f2a6-4f15-88fc-e1ce801291dd"
    

RESUME आपकी विशिष्ट स्वैप फ़ाइल UUID को संदर्भित करता है। विशेष रूप से, मेरी मशीन सेटिंग pci=nomsiमें कुंजी थी।

शुभकामनाएँ!


क्या ग्रब केस असंवेदनशील है? RESUME का उपयोग क्यों करें?
नेल्सनगॉन

1

आपको इसे थोड़े प्रयास से मैन्युअल रूप से सक्षम करना होगा। यह डिफ़ॉल्ट रूप से अक्षम हो गया है।

http://ubuntuhandbook.org/index.php/2014/04/enable-hibernate-ubuntu-14-04/

फिर, यदि यह काम नहीं करता है, तो यह 4.4.0 कर्नेल समस्या हो सकती है, और आपको कर्नेल को अपग्रेड करना पड़ सकता है।


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