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

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

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

نویسنده موضوع: ویرایش <usr/bin/<app/  (دفعات بازدید: 662 بار)

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

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
ویرایش <usr/bin/<app/
« : 24 شهریور 1400، 01:06 ب‌ظ »
سلام
میخوام پرونده <usr/bin/<app/ فایرفاکس رو طوری ویرایش کنم که قبل از اجرای فایرفاکس، وای فای روشن بشه. دقیقا باید چه تغییراتی توی پرونده مذکور ایجاد کنم؟ فعلا محتویات پرونده به صورت زیر هست:
#!/bin/sh

FIREFOX="$(which firefox)"
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"

exec firefox-esr "$@"
خط آخر رو به صورت زیر ویرایش کردم ولی کار نکرد:
exec nmcli radio wifi on && firefox-esr "$@"
جست و جو کنید و چیز های جدید بیابید

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : ویرایش <usr/bin/<app/
« پاسخ #1 : 24 شهریور 1400، 03:35 ب‌ظ »
با rfkill می‌تونید وایفای رو خاموش روشن کنید. برای دیدن دستگاه‌های بی‌سیم متصل به سیستم، اینجوری از rfkill استفاده کنید.
rfkill list all
برای اینکه یه دستگاه رو خاموش بشه، این دستور رو وارد کنید.
rfkill block <device-name>به‌جای <device-name> اسم دستگاه بی‌سیم موردنظر رو قرار. اسم دستگاه رو می‌تونید با دستور بالا که گذاشتم پیدا کنید.

ممکنه برای اجرا دستور بالا، به دسترسی روت نیاز داشته باشید، ولی اگه کاربری که این رو اجرا می‌کنه، توی گروه netdev باشه، دیگه لازم نیست که با دسترسی روت اجرا بشه.
برای اینکه یه‌کاربر رو به گروه netdev اضافه بشه، می‌تونید از دستور usermod استفاده کنید. اینجوری
sudo usermod -aG netdev <username>به‌جای <username> نام‌کاربری موردنظر رو قرار بدید. برای اینکه اینها درست اعمال بشه، کاربر باید یه بار از حسابش خارج، و دوباره وارد بشه.

ولی بهتره اون فایل رو ویرایش نکنید. می‌تونید اون فایل رو کپی کنید توی مسیر زیر
/usr/local/binو بعد تغییرات رو توی فایل کپی شده انجام بدید. چون مسیر /usr/local/bin/ معمولا زودتر از مسیر /usr/bin/ توی متغییر PATH تعریف شده، اون فایلی که کپی کردید اجرا میشه، نه فایل اصلی. هر وقت هم خواستید، می‌تونید پاکش کنید.

یا اگه برای یه‌کاربر خاص می‌خواهید اینکار رو انجام بدید، بازهم کار شبیه بالا هست ولی جایی که باید کپی کنید فرق داره. متغییر PATH اون کاربر رو هم باید تنظیم کنید.
اگه بازهم مشکل دارید، بپرسید.
میدونید که زکات علم نشر آن است

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
پاسخ : ویرایش <usr/bin/<app/
« پاسخ #2 : 24 شهریور 1400، 05:22 ب‌ظ »
اون فایل نباید تغییری بکنه. یک فایل دیگه ایجاد کنید و مثلا روی صفحهٔ اصلی یا هر جای دیگه‌ای (که دسترسی ریشه نخواد) بذارید و بذارید اون فایل اینکارها رو براتون انجام بده.

آفلاین 🇮🇷

  • رضا حسین‌زاده
  • High Hero Member
  • *
  • ارسال: 1001
  • کنجکاو
    • Reza
پاسخ : ویرایش <usr/bin/<app/
« پاسخ #3 : 24 شهریور 1400، 08:02 ب‌ظ »
با rfkill می‌تونید وایفای رو خاموش روشن کنید.
نه دستوری که گفتم به طور عادی کار میکنه. نیازی به دستور دیگه نیست. ولی توی اون فایل کار نمیکنه؛ مشکل اینه
ولی بهتره اون فایل رو ویرایش نکنید. می‌تونید اون فایل رو کپی کنید توی مسیر زیر
/usr/local/binو بعد تغییرات رو توی فایل کپی شده انجام بدید. چون مسیر /usr/local/bin/ معمولا زودتر از مسیر /usr/bin/ توی متغییر PATH تعریف شده، اون فایلی که کپی کردید اجرا میشه، نه فایل اصلی. هر وقت هم خواستید، می‌تونید پاکش کنید.

یا اگه برای یه‌کاربر خاص می‌خواهید اینکار رو انجام بدید، بازهم کار شبیه بالا هست ولی جایی که باید کپی کنید فرق داره. متغییر PATH اون کاربر رو هم باید تنظیم کنید.
اگه بازهم مشکل دارید، بپرسید.
درسته کاری که گفتید کار میکنه ولی با یه مشکل. الآن وای فای روشن میشه ولی در عوض فایرفاکس اجرا نمیشه. در هر از دو حالت زیر این اتفاق میافته:
cat /usr/local/bin/firefox
#!/bin/sh

FIREFOX="$(which firefox)"
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"

exec nmcli radio wifi on "$@"
exec firefox-esr "$@"
#!/bin/sh

FIREFOX="$(which firefox)"
[ -x "$FIREFOX.real" ] && exec "$FIREFOX.real" "$@"

exec nmcli radio wifi on && firefox-esr "$@"
اون فایل نباید تغییری بکنه. یک فایل دیگه ایجاد کنید و مثلا روی صفحهٔ اصلی یا هر جای دیگه‌ای (که دسترسی ریشه نخواد) بذارید و بذارید اون فایل اینکارها رو براتون انجام بده.
روش بالا (ساخت فایل در /usr/local/bin) خوب نیست؟
جست و جو کنید و چیز های جدید بیابید

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : ویرایش <usr/bin/<app/
« پاسخ #4 : 26 شهریور 1400، 01:31 ق‌ظ »
مشکل با exec هست. اون exec اول nmcli رو بردارید.
یعنی اینطوری بنویسید
nmcli radio wifi on && exec firefox-esr "$@"یا اینطوری
nmcli radio wifi on
exec firefox-esr "$@"
« آخرین ویرایش: 26 شهریور 1400، 01:34 ق‌ظ توسط Dragon- »
میدونید که زکات علم نشر آن است