شده بخواید سیستم Hibernate یا Suspend بشه، اما انجام نمیشه!
به بیان دیگه، اگه وقتی شما Hibernate می کنید و سیستم شما به خواب زمستانی (!) می ره، دیگه بیدار نمیشه! (= یعنی دفعه بعدی کلی recovery اجرا میکنه یا وقتی اساسا هر کاری کنید خوابش نبره!
) این قضیه وقتی سیستم شما یک لپ تاپ باشه اهمیت زیادی پیدا میکنه. چون خداییش خیلی زور می خواد که برای هر کاری اوبونتو رو از اول بوت کنیم و بعد از کار، خاموش کنیم!
علاوه بر این، یکی از خردههای اساسی که به نصب گنو/لینوکس) روی لپ تاپ گرفته میشه، همینه. برای این مساله راهحل زیاد هست که
یکیش در ادامه گفته میشه!
خوبه اولش به Hibernate/Suspend پیشفرض بد و بیراه نگیم. اتفاقا، خیلی هم خوبه!
ولی یه چیزهایی مثل مدیران پنجره (بریل و کامپیز فیوژن) اصلا با این روش عادی کنار نمیان!
خب چه کار باید کرد؟
۱. بابا نخواستیم. اصلا Hibernate چرته و به درد نمی خوره و جیز و اینها
(!!؟!). این نوع راهها در جای خود محفوظند ولی به نظر من راههای گنو/ لینوکسی برای ماجرا نیستن! (یه کمی چالش میتونه زندگی رو از یکنواختی در بیاره!
)
۲. صبر می کنیم!(با لحن مربوطه) یعنی باید منتظر دوستان لینوکسی باشیم که مساله رو حل کنن. این هم یه راه حل کامل نیست! البته من کاملا حق می دم. چرا؟ چون دنیای متن باز خیلی بزرگه و همه ما توش شریکیم و کار شراکتی یه بخشیش صبر کردنه برای بقیه تا قسمتی که قبول کردن رو انجام بدن. گاهی هم تنها راهه...
۳. بریم توی سورس! این راه حلهای کاملا گنو/لینوکسه. از طرف من یه هورای حسابی برای بر و بچ این مسیر! ولی هر کسی از پس این راه حل بر نمی آد و معمولا از وادی اول که «جمعآوری اطلاعات فنی» هست، کم کم کنار میرن و تعداد کمی خودشون رو توی آخرین مرحله به شکل یک پنگوئن بزرگ(!) می بینن و میفهمن که پنگوئن لینوکس از اول خودشون بودن! (به دلیل نداشتن آمار دقیق از تعداد ملتی که تا آخرش هستن نمیتونم بگم سیپنگوئن!، پس میگم پنگوئن بزرگ!) [فقط به عنوان یک مثال گفتم و قصد توهین به کتاب ارزشمند و گرانقدر منطق الطیر رو نداشتم - جدی اگه وقت کردید این کتاب ارزشمند رو بخونید]
۴. بریم دو رو بر سورس! یعنی استفاده از اسکریپت ها، تغییر تنظیمات و استفاده از راههای دیگه! این راه رو بعضی از دوستانی (به خصوص ویندوزیها و مکینتاشیها) که کم لطفی میکنن، به جای عبارت Patchکردن و یا تغییر تنظیمات، «زیرآبی» تلفظ میفرمایند
که وارد جزییاتش نمیشم! خلاصه که میگن این چه سیستم عاملیه که شما دارید و باید هی دستکاری بشه تا کار کنه. در جواب این نکته، فقط همین رو میگم:
به تعداد تمام کاربران گنو/لینوکسی راه برای بکار انداختن سیستم وجود داره! که در مورد سیستم عاملهای دیگه عمرا! و همه باید از یه جوری دیکتاتوری شرکتهای محترم مربوطه رنج بکشن! (شاید هم خوششون بیاد که یک راه حل واحد داشته باشن. خب این سلیقه هست! و این نظر من)
... و اما از هر چه بگذریم، راهحل ۳ خوشتر است! (چون به درد همه میخوره!)
uswsusp یا (Userspace Software Suspend)
یکی از این راههای جایگزین، یه برنامه کوچولو که اجازه میده Suspend/Hibernate انجام بشه. این بسته فعلا دوتا برنامه متفاوت داره:
s2ram که سیستم رو به حالت suspend معمولی میبره و بعد بیدارش میکنه. (من زیاد روی این بخشش حسابی ندارم، چون معمولا انجام میشه: چه با این بسته و چه با بستههای اصلی) این برنامه یه لیست رو از ماشینهایی که حمایت میکنه، داره و کارهای لازم رو انجام میده. (مثلا کارهای مربوط به کارت گرافیکی – شما که فکر نمی کنید تصویر یکهو و خود به خود، سیاه بشه!)
s2disk این برنامه با سازوکار خاصی، حافظه رو به فضایی روی دیسک میبره.و سیستم رو خاموش میکنه و در بوت بعدی، دوباره به حافظه منتقل میکنه.
روش نصب از
اینجا گرفته شده.
اول نصب:
sudo apt-get install uswsusp
قبل از اینکه کاری کنیم یه امتحان بدک نیست! (جلوی ضرر رو هر جا بگیریم، نفعه!)
sudo s2ram
اگه کار نکرد و پیام داد Machine is unknown یعنی ماشین شما رو نمیشناسه. اشکالی نداره! به جاش این رو امتحان کنید!
sudo s2ram --force
اگه موفقیت آمیز بود، قدم بعدی امتحان s2disk هست.
sudo s2disk
....
اگه این بخش هم با موفقت انجام شد، (به بیان رمانیتکش، ادامه این پست رو دارید بدون ریست کردن و یا شکست میخونید!) وقتشه که فرمان پیشفرض برای Hibernate/Suspend تغییرکنه!
اول باید از فایلهای اصلی یک پشتیبان گرفته بشه. توجه کنید که این دو خط برای 7.04 و 7.10 کار میکنه و برای نسخههای دیگه باید محل اسکریپتها رو پیدا کرد( مثلا برای 6.10 در usr/share/hal/scripts/ قرار دارن)
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux.bak
sudo cp /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux.bak
البته محلی که درنظر گرفته شده میتونه تغییر کنه.
sudo gedit /usr/lib/hal/scripts/linux/hal-system-power-suspend-linux
حالا فایل رو کلا خالی کنید و این عبارت رو جایگزین کنید!
#!/bin/sh
/sbin/s2ram --force
وبرای فایل مربوط به Hibernate این کار رو به شکل مشابه انجام بدید:
sudo gedit /usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
حالا فایل رو کلا خالی کنید و این عبارت رو جایگزین کنید!
#!/bin/sh
/sbin/s2disk
تموم شد!
حالا اگه Hibernate/Suspend انجام بدید، کار میکنه(امیدوارم!) اگه کار نکرد، کافیه که فایلهای پشتیبان رو به جای اول برگردونید. و خب شرمنده!
این وسط من چندتا مشکل دیدم:
کامپیز فیوژن (!)، گاهی از دنده ناجورش
به روز رسانی میشه و هیچجوری درست نمیشه. میتونید در این مورد به راه حلهای ۱ یا ۲، مراجعه کنید. چون معمولا توی نسخه بعدی درست میشه.
دیگه اینکه، وقتی هسته رو به روز رسانی میکنید. حتما uswsusp رو دوباره نصب کنید. به تجربه میگم، خیلی خوبه!
امیدوارم این شبه(!) راهنما به درد بخوره.
(اگه احیانا ناخواسته، مشکلی توی این پست هست به من اطلاع بدید تا ویرایش بشه!)