انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: جلوگیری از Wake Up شدن گنولینوکس با Mouse بعد از Sleep شدن  (دفعات بازدید: 1250 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین milad.fashi

  • Hero Member
  • *
  • ارسال: 843
  • جنسیت : پسر
  • میلاد فشی
 تو ویندوز راه حل گرافیکی برای جلوگیری از روشن شدن کامپیوتر (وقتی که standbyهستش)توسط حرکت اتفاقی موس   وجود داشت.اما تو لینوکس هم میشه کاری کرد که وقتی کامپیوتر رو Suspend to ram کردیم دیگه با موس روشن نشه!؟
کیفیت زندگی شما را دو چیز تعیین می کند: کتابهایی که می‌خوانید و انسانهایی که ملاقات می‌کنید. (مک لوهان)
To love GNU/Linux, you don't need to hate Microsoft

آفلاین milad.fashi

  • Hero Member
  • *
  • ارسال: 843
  • جنسیت : پسر
  • میلاد فشی
برای این کار دستور زیر رو وارد نمایید :
cat /proc/acpi/wakeupبا وارد کردن این دستور خروجی زیر به شما نمایش داده می شود :
Device  S-state   Status   Sysfs node
P0P1      S4    *disabled
EHC1      S3    *disabled  pci:0000:00:1d.0
USB1      S3    *disabled
USB2      S3    *disabled
USB3      S3    *disabled
USB4      S3    *disabled
EHC2      S3    *disabled  pci:0000:00:1a.0
همان طور که می بینید باید مقابل ستون های EHC1 و EHC2 عبارت enabled نوشته شده.چون enable هستند باعث Wake up شدن لینوکس شما میشن.حال من میخوام اونها رو disable کنم تا مانع روشن شدن لپ تاپم بعد از اسلیپ شدن بشه.EHC1 و EHC2 در واقع پورت های USB 2 لپ تاپ من هستند که با غیرفعال شدن اون ها دیگه لپ تاپ من به وسیله موس بی سیمی که به این پورت های USB متصل شده روشن نمیشه.اما برای غیرفعال کردنشون هم باید دستورات زیر رو وارد کنید :
echo EHC1 | sudo tee /proc/acpi/wakeupecho EHC2 | sudo tee /proc/acpi/wakeupدستوارت بالا کار خاصی نمیکنند.فقط در فایل متنی "/proc/acpi/wakeup" مقدارهای EHC1 و EHC2 رو disabled میکنند.شما با Text editor هم میتونید این کار رو انجام بدید.
اگر لپ تاپ شما پورت USB3 هم داشت باید مقدار XHCI رو هم disable کنید.
الان تست کنید بعد از Sleep نباید کامپیوتر شما با موس Wakeup بشه.اما مشکل اینجاست بعد از ریستارت کردن دوباره روز از نو و روزی از نو و بازهم با موس Wakeup میشه.چون اگر مجددا فایل مذکور رو نگاه کنید مقابل EHC1 و 2 عبارت enabled رو نوشته !
برای تثبیت اون باید این کار رو انجام بدید.دستورات زیر رو اجرا کنید تا تکه کد شما در هر بار که کامپیوتر شما بوت میشه اجرا بشه :
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.localsudo chmod +x /etc/rc.local
حالا هر اسکریپتی که داخل فایل rc.local  بنویسید موقع بوت شدن سیستم اجرا میشه.چون rc.local یه فایل اجرایی (Executable) هستش و هروقت سیستم شما بوت بشه اسکریپت های داخل فایل اجرایی rc.local اجرا میشه.
داخل این فایل اجرایی باید دستورات زیر رو بنویسید:
#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
exit 0
البته در بعضی از distro ها مثل فدورا اسکریپ بالا جلوی wake up شدن با موس رو نمیگیره و باید همان دستورات بالا یعنی echo EHC1 | sudo tee /proc/acpi/wakeup رو در داخل rc.local بنویسید.خودتون با آزمون و خطا میتونید راه حل رو پیدا کنید.
حالا کامپیوتر خود را ریستارت کنید.بعد از ریستارت شدن باید موس نتواند کامپیوتر sleep شده شما را روشن کند.
« آخرین ویرایش: 02 خرداد 1399، 11:58 ب‌ظ توسط milad.fashi »
کیفیت زندگی شما را دو چیز تعیین می کند: کتابهایی که می‌خوانید و انسانهایی که ملاقات می‌کنید. (مک لوهان)
To love GNU/Linux, you don't need to hate Microsoft

آفلاین Issac

  • Hero Member
  • *
  • ارسال: 890
  • جنسیت : پسر
    • Mastodon
جالب بود ، ممنون . اگه کامل تر بشه میشه یه ویکی.
معنی اون عبارات هم اگه میدونین یکم  توضیح بدین مثلا EHC1 و EHC2 و RP03 و UAR1 و ... اینا فقط برای  Wake Up هستند ؟ وقتی سیستم روشن هست فعالن و وقتی سیستم خاموش هست غیر فعال؟
دستور tee چیکار میکنه؟
این پست رو فرستادم که تعداد ارسال‌هام زیاد بشه.

آفلاین Farhaad 1992

  • Hero Member
  • *
  • ارسال: 943
  • جنسیت : پسر
  • گنو با گنوم
 :o چه کارهای پیچیده و طولانی!

از BIOS مثل آب خوردن تنظیم کن |:
* نام کاربری حساب من Fedora-Red Hat است ولی نام نمایهٔ (پروفایل) من، نام حقیقی + سال تولد من است
* از دی ۱۳۹۸ دیگر فعالیت پیوسته و دائم ندارم
* نظرات و ارسال‌های من فقط در زمان ارسال خود معتبر بودند و نشان‌دهنده طرز فکر و سطح دانش فعلی من نیستند

آفلاین milad.fashi

  • Hero Member
  • *
  • ارسال: 843
  • جنسیت : پسر
  • میلاد فشی
:o چه کارهای پیچیده و طولانی!

از BIOS مثل آب خوردن تنظیم کن |:
بایوس لپ تاپ ها معمولا قابلیت های کمتری داره.لپ تاپ ASUS k43sj بنده قابلیت های کمی داره و هر چی گشتم گزینه ای در خصوص Wakeup پیدا نکردم.
کیفیت زندگی شما را دو چیز تعیین می کند: کتابهایی که می‌خوانید و انسانهایی که ملاقات می‌کنید. (مک لوهان)
To love GNU/Linux, you don't need to hate Microsoft

آفلاین milad.fashi

  • Hero Member
  • *
  • ارسال: 843
  • جنسیت : پسر
  • میلاد فشی
من امروز همین دستورات رو در توزیع مانجارو نوشتم.همه دستورات و اسکریپت ها کار کرد.ولی بعد از ریبوت شدن سیستم دوباره با موس سیستم wake up میشد.با کمی جستجو متوجه شدم که مانجارو که از Arch GNU-Linux مشتق شده دستوراتی رو که در فایل rc.local نوشته میشه رو هنگام بوت اجرا نمیکنه.ولی در اوبونتو / دبیان به صورت خودکار این فایل هنگام بوت اجرا میشه.برای حل این مشکل راه حل رو در اینترنت پیدا کردم.و این راه حل رو اینجا گذاشتم شاید بعدها به درد کسی بخوره :
دستور زیر رو اجرا کنید تا فایلی به اسم rc-local.service رو ایجاد کنید و محتویات زیر رو در اون قرار بدهید :
sudo nano /etc/systemd/system/rc-local.service
محتویات این فایل باید این طور باشه :
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

سپس دستور زیر رو اجرا کنید :
sudo systemctl enable rc-local.service
با این کار سرویس rc.local.service شما فعال میشه.سپس باید با دستور زیر میتونید اون رو تست کنید که ببینید درست اجرا میشه !؟
sudo systemctl start rc-local.service
فراموش نکنید که فایل مذکور باید قابلیت اجرایی داشته باشه پس دستور زیر رو هم اجرا کنید :
chmod a+X /etc/systemd/system/rc-local.service

با دستور زیر هم میتونید وضعیت سرویس خود رو مشاهده کنید :
sudo systemctl status rc-local.service
منبع : https://superuser.com/questions/278396/systemd-does-not-run-etc-rc-local
کیفیت زندگی شما را دو چیز تعیین می کند: کتابهایی که می‌خوانید و انسانهایی که ملاقات می‌کنید. (مک لوهان)
To love GNU/Linux, you don't need to hate Microsoft

آفلاین milad.fashi

  • Hero Member
  • *
  • ارسال: 843
  • جنسیت : پسر
  • میلاد فشی
چون توزیع فدورا تفاوت هایی با دبیان/اوبونتو داره برای فعال کردن یک سرویس در هنگام راه اندازی سیستم و  bootable کردن اسکریپت شخصی خود در فدورا به آدرس زیر بروید :
https://www.linode.com/docs/quick-answers/linux/start-service-at-boot/
« آخرین ویرایش: 03 خرداد 1399، 01:29 ق‌ظ توسط milad.fashi »
کیفیت زندگی شما را دو چیز تعیین می کند: کتابهایی که می‌خوانید و انسانهایی که ملاقات می‌کنید. (مک لوهان)
To love GNU/Linux, you don't need to hate Microsoft