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

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

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




نویسنده موضوع: افزودن دستور برای اجرای برنامه ها در ترمینال  (دفعات بازدید: 2151 بار)

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

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
نصف شبه و دارم تو انجمن میگردم
توی همین بخش یه موضوع دیدم با عنوان
نقل‌قول
"چگونه اکلیپس (یا هر برنامه‌ی دیگری) را در منوها قرار دهیم. (راهنما)"

انجام دادم و جواب داد حالا برام سوال پیش اومده که میشه برای اجرای هر برنامه کاری کرد که با نوشتن اسمش توی ترمینال اجرا بشه ؟
دقیقا همونطور که firefox رو مینویسین و اینتر میزنید بعدشم firefox اجرا میشه
میخوام برای هر برنامه مثلا همین eclipse کاری کنم که با وارد کردن اسمش یا هر دستور دیگه برنامه اجرا بشه،فقط به راهنمایی شما دوستان نیاز دارم  ;D
I am Enriquette

آفلاین mohammad kazemi

  • Hero Member
  • *
  • ارسال: 896
  • جنسیت : پسر
  • ... :|
نصف شبه و دارم تو انجمن میگردم
توی همین بخش یه موضوع دیدم با عنوان
نقل‌قول
"چگونه اکلیپس (یا هر برنامه‌ی دیگری) را در منوها قرار دهیم. (راهنما)"

انجام دادم و جواب داد حالا برام سوال پیش اومده که میشه برای اجرای هر برنامه کاری کرد که با نوشتن اسمش توی ترمینال اجرا بشه ؟
دقیقا همونطور که firefox رو مینویسین و اینتر میزنید بعدشم firefox اجرا میشه
میخوام برای هر برنامه مثلا همین eclipse کاری کنم که با وارد کردن اسمش یا هر دستور دیگه برنامه اجرا بشه،فقط به راهنمایی شما دوستان نیاز دارم  ;D
آره خب. هر کاری ممکنه!  ;D
ببین، هر دستوری که توی ترمینال می‌زنی، در واقع به یه فایل اجرایی اشاره می‌کنه. این فایل‌ها توی مسیر /usr/bin/ هستن اصولا.
با دستور which می‌تونی بفهمی کجا قرار گرفتته.
مثلا اگه بزنی
which firefoxمیگه که /usr/bin/firefox . یعنی فایل اجراییش اونجاست. پس اگه تو ترمینال مستقیم بزنی:
/usr/bin/firefoxفایرفاکس اجرا میشه!
این فایل‌های اجرایی توی چند جای سیستم هستن. وقتی یه دستور رو توی ترمینال می‌زنی، می‌ره همه رو می‌گرده و اگه پیداش نکرد، میگه command not found. همه اون جا‌هایی که می‌گرده توی متغیر PATH ذخیره شده که می‌تونی اینجوری ببینیشون:
echo $PATHکه به ترتیب از اول شروع می‌کنه به گشتن.
اصولا هر برنامه‌ای که نصب کنی، خودش مسیرش به path اضافه می‌شه و یا لینکی از یه فایل اجرایی توی bin می‌سازه که با زدن دستورش، اجرا بشه.

اگه به هر دلیلی این اتفاق نیفتاده، یا خودت برنامه رو یه جایی دیگه نصب کردی، دو تا راه هست.

راه خیلی روتین اینه که از دستور alias استفاده کنی. مثلا این رو ببین:
alias do-update='sudo apt update'با این کار، یجورایی یه دستور جدید تعریف میشه. یعنی با زدن do-update توی ترمینال، دستور sudo apt update اجرا میشه.
حالا، واسه اون کار می‌تونی بزنی:
alias COMMAND='/PATH/TO/SOMETHING'یعنی آدرس مسیر فایل اجرایی اون برنامه رو بهش بدی.
اینجوری با هر بار زدن اون دستور مورد نظر، فایلی که می‌خوای (که می‌تونه اون برنامه باشه، یا یه اسکریپت که خودت نوشتی)، اجرا میشه.
البته با هربار بستن ترمینال، از بین می‌ره و برای اینکه این اتفاق نیفته، این دستور رو به انتهای فایل .bashrc توی home اصافه کن تا با هربار باز کردن ترمینال، اجرا بشه.

و یا یه راه دیگه هم اینه که مستقیم بری اون مسیر رو به متغیر PATH اضافه کنی. (که راه اول خیلی بهتره و ایمن‌تر!)
« آخرین ویرایش: 15 شهریور 1399، 01:55 ق‌ظ توسط mohammad kazemi »

آفلاین Mohammad Gho

  • Full Member
  • *
  • ارسال: 140
  • جنسیت : پسر
وارد کردن همین چند دستور ساده توی فایل  bashrc. دایرکتوری Home باعث شده که سرعت کار من با ترمینال چند برابر شده خیلی کاربردی این دستور alias


"alias q="exit
"alias c="clear
"alias l="ls -ltrh
"alias h="cd /home/username
"/ alias r="cd
"alias p="pwd
"alias hh="history
"alias t="tmux
"alias d="dir
"alias g="git
"alias gs="git status

« آخرین ویرایش: 15 شهریور 1399، 02:50 ق‌ظ توسط Mohammad Gho »

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
جالب بود ،خیلی ممنون  ;)
I am Enriquette

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
 سوال دیگه
نمیشه کاری کرد وقتی با ترمینال یه برنامه رو باز میکنم خود ترمینال از دستور خارج بشه اما برنامه همچنان باز باشه؟
الان که تلگرامو باز میکنم داخل ترمینالم تلگرام بازه و داره اطلاعات تلگرامو نشون میده و اگه ببندمش تلگرامم بسته میشه ،میخوام جوری باشه که بعد باز کردن تلگرام ترمینال اماده گرفتن دستور جدید باشه و وقتی میبندمش تلگرام بسته نشه
I am Enriquette

آفلاین مرتضی . م

  • High Hero Member
  • *
  • ارسال: 1116
سوال دیگه
نمیشه کاری کرد وقتی با ترمینال یه برنامه رو باز میکنم خود ترمینال از دستور خارج بشه اما برنامه همچنان باز باشه؟
الان که تلگرامو باز میکنم داخل ترمینالم تلگرام بازه و داره اطلاعات تلگرامو نشون میده و اگه ببندمش تلگرامم بسته میشه ،میخوام جوری باشه که بعد باز کردن تلگرام ترمینال اماده گرفتن دستور جدید باشه و وقتی میبندمش تلگرام بسته نشه

یه & بزار ته دستور
nohup telegram-desktop &

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
نمیشه
این دوتارو امتحان کردم اما جواب نداد :
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram&'
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram'&
I am Enriquette

آفلاین mohammad kazemi

  • Hero Member
  • *
  • ارسال: 896
  • جنسیت : پسر
  • ... :|
نمیشه
این دوتارو امتحان کردم اما جواب نداد :
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram&'
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram'&
اولی درسته. فقط یدونه فاصله قبل & بدید.
اروری چیزی می‌ده؟ متنش چیه؟

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
اولی درسته. فقط یدونه فاصله قبل & بدید.
اروری چیزی می‌ده؟ متنش چیه؟

با هر سه روش تلگرام باز میشه بدون هیچ ارور یا وارنینگ
یدونه فاصله قبل & گذاشتم و این خروجیش شد :
smjt2000@Enrique:~$ telegram
[1] 4896
smjt2000@Enrique:~$ Telegram-Message: 11:41:59.337: You can disable tray icon counter with TDESKTOP_DISABLE_TRAY_COUNTER and make it look better if it is monochrome.
error: : cannot open
error: : cannot open
error: : cannot open
  OpenType support missing for "DAOpenSansSemibold", script 11
  OpenType support missing for "DAOpenSansSemibold", script 16
  OpenType support missing for "DAOpenSansSemibold", script 18

همچنان ترمینال برای تلگرام مشغوله همونطور که میبینید یبار بعد زدن دستور ترمینال خارح میشه و بلافاصله مشغول میشه
سه تا اروری که نوشته قبلا هم بود بنظرم
I am Enriquette

آفلاین مرتضی . م

  • High Hero Member
  • *
  • ارسال: 1116
(nohup telegram-desktop & ) && exit
« آخرین ویرایش: 23 شهریور 1399، 10:14 ق‌ظ توسط Morteza Malekinejad »

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19677
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
چرا تلگرام رو از مخازن نصب نمی‌کنی؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
چرا تلگرام رو از مخازن نصب نمی‌کنی؟
یه مشکلی داشت که مجبور شدم از سایت خودش دانلود کنم ،الان یادم نیست مشکلش چی بود
I am Enriquette

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19677
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
مسکلش هرچی بچد، بزرگ‌تر از مسکاب که با این مدل استفاده پیش می‌آد نیست. بگو چیه که حلش کنیم.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین EnriqueTTE

  • High Sr. Member
  • *
  • ارسال: 607
  • جنسیت : پسر
مسکلش هرچی بچد، بزرگ‌تر از مسکاب که با این مدل استفاده پیش می‌آد نیست. بگو چیه که حلش کنیم.
مشکلش اینه که هروقت تلگرامو باز میکنم باید دوباره وارد اکانتم بشم و تنظیماتشو دوباره درست کنم .هربار که تلگرامو ببندم و از نوار اعلان بالا یا همون tray هم ازش خارج بشم باید اینکارو انجام بدم .
اما وقتی از سایت خودش فایلشو دانلود و نصب میکنم اصلا این مشکلو ندارم .
I am Enriquette

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19677
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
این یعنی پرونده‌های پیکربندی روی خونه‌ات قابل خوندن نیست. می‌تونه مشکل از این باشه که تلگرام رو یک بار با حساب ریشه باز کرده باشی و دسترسی‌های اون پرونده‌ها رو خراب کرده باشه. شاخهٔ ‪.local/share/TelegramDesktop‬ رو پاک کن و دوباره تلگرام رو از مخازن نصب کن.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن