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

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

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

نویسنده موضوع: کار نکردن دستورات در rc.local  (دفعات بازدید: 878 بار)

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

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
کار نکردن دستورات در rc.local
« : 26 فروردین 1401، 12:34 ب‌ظ »
با سلام، دوستان من برای فعال شدن نور کیبورد در فایل rc.local این دستور نوشتم:
xset led 3دستور به شکل عادی کار میکنه و وقتی میزنم نور صفحه‌کلید روشن میشه، ولی توی این فایل وقتی میریزم اجرا نمیشه. محتوای کامل فایل rc.local:
#!/bin/bash
xset led 3
sudo chmod 777 /sys/class/backlight/intel_backlight/brightness
exit 0
‌البته اگه خود فایل را هم به شکل عادی اجرا کنم درسته و کار میده:
/etc/rc.local start
اون دستور تغییر سطح دسترسی نیز اوکیه و اجرا میشه پس فکر نکنم مشکل از اجرا نشدن هنگام بالا آمدن سیستم باشه.

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : کار نکردن دستورات در rc.local
« پاسخ #1 : 28 فروردین 1401، 06:31 ب‌ظ »
چه توزیعی دارید؟ اصلا فکر نکنم اون فایل موقع بوت اجرا بشه.
میدونید که زکات علم نشر آن است

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
پاسخ : کار نکردن دستورات در rc.local
« پاسخ #2 : 28 فروردین 1401، 07:38 ب‌ظ »
Lubuntu
چرا دیگه الان یک باگ کوچیک برای تنظیم نور در دسکتاپ LXQt وجود داشت که نیاز داشتم به کاربر فعلی دسترسی به این فایل بدم:
/sys/class/backlight/intel_backlight/brightnessواسه همین یکسری دستورها رو زدم و این فایل فعالش کردم تا حین اجرا این دستورات اجرا بکنه و خوب میکنه و مشکلی نداره. دسترسی داده میشه به کاربر فعلیم.

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : کار نکردن دستورات در rc.local
« پاسخ #3 : 28 فروردین 1401، 09:16 ب‌ظ »
شاید دلیلش اینه که اون فایل قبل از بالا اومدن xorg اجرا میشه و به همین خاطر، xset کار نمی‌کنه.
شاید بهتر باشه یه سرویس systemd ایجاد کنید و تنظیم کنید که برای graphical.target و بعد از سرویس disply-manager.service اجرا بشه. فکر کنم اینجوری جواب بده. این سرویس رو ببینید:
[Unit]
Description=Set screen brightness
Requires=display-manager.service
After=display-manager.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/xset led 3

[Install]
WantedBy=graphical.target

محتوای بالا رو توی یه فایل با پسوند service. توی دایرکتوری /etc/systemd/system/ ذخیره کنید. بعد دستور زیر رو بزنید تا systemd دوباره فایل‌های سرویس‌ها، target ها و ... بخونه.
sudo systemctl daemon-reload
بعد هم اون سرویس رو enable کنید تا موقع بوت اجرا بشه. بعد کامپیوتر رو راه‌اندازی مجدد کنید و بررسی کنید که درست شده یا نه.
اون chmod رو فعلا بذارید توسط rc.local انجام بشه، بعدا میشه اون رو به سرویس systemd تغییر داد.
میدونید که زکات علم نشر آن است

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
پاسخ : کار نکردن دستورات در rc.local
« پاسخ #4 : 28 فروردین 1401، 09:45 ب‌ظ »
آهان متوجه شدم، چشم حتماً امتحان می‌کنم. ممنون از وقتی که گذاشتید، اکثراً مفیدترین ارسال‌ها از سمت شما بوده حداقل برای بنده  ;D
تشکر