یک راه حل پیدا شد: (البته مطمئن نیستم ولی خب...)
باید قبل از suspend/hibernate، مدیر پنجره metacity ( و kwin در کی دی ای) جایگزین compiz بشه. و در آخر resume دوباره compiz اجرا بشه. ایده اصلی این راه حل اینه. اما انجام دستیاش هم سخته و هم یه جورایی زشته! (ما که جزو سیستم عامل نیستم. ما کاربرش هستیم!) پس باید یه کارایی کرد...
این من رو یاد یه
نوشته میاندازه؛ این از نوع راه حل چهارمه. بگذریم...
انجام خودکار: (من از vim برای این کارها استفاده میکنم. هر ویرایشگری که خواستید استفاده کنید.)
sudo vim /etc/acpi/hibernate.sh
بعد از bin/bash/ !# خط زیر رو اضافه کنید:
metacity --replace
و یا در کی دی ای،
kwin --replace
و بعدش ذخیرهش کنید.
بعدش باید یه shell script بسازید. که قبل از suspend این کار رو بکنه:
#! /bin/bash
metacity --replace
و kwin --replace اگه توی کی دی ای هستید.
این فایل رو باید در /etc/acpi/suspend.d/ کپی کنید. باید توجه داشته باشید که ظاهرا اسم فایل مهمه. اگه داخل اون دایرکتوری رو ببینید. فایل های متعددی وجود دارن. که ترتیب اجرا دارن. یعنی 05، 07... 98. باید دقت کرد که اسم فایل شما هم
باید یه عدد داشته باشه. چون قراره
اول اجرا بشه، پس یه شماره کوچیک براش انتخاب کنید. مثلا من 07 رو انتخاب کردم. بعد از 05-acpi-lock.sh. باید فایل رو با chmod اجرایی کرد.
حالا نوبت به resume میرسه. مثل بالا یه پوشه هست به آدرس /etc/acpi/resume.d/ که این دفعه باید دوباره compiz رو اجرا کرد. این بار محتویات فایل اینه:
#!/bin/sh
compiz --replace
باید فایل رو توی اون پوشه کپی کرد و اجراییش کرد. ولی این بار
آخر سر باید اجرا بشه، پس یه شماره میخواد. برای من قبل از acpi-unlock.sh با شماره 97 قرار گرفت.
کار تموم شد. امتحانش کنید و خبرش رو بدید.