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

کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: EnriqueTTE در 15 شهریور 1399، 01:22 ق‌ظ

عنوان: افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 15 شهریور 1399، 01:22 ق‌ظ
نصف شبه و دارم تو انجمن میگردم
توی همین بخش یه موضوع دیدم با عنوان
نقل‌قول
"چگونه اکلیپس (یا هر برنامه‌ی دیگری) را در منوها قرار دهیم. (راهنما)"

انجام دادم و جواب داد حالا برام سوال پیش اومده که میشه برای اجرای هر برنامه کاری کرد که با نوشتن اسمش توی ترمینال اجرا بشه ؟
دقیقا همونطور که firefox رو مینویسین و اینتر میزنید بعدشم firefox اجرا میشه
میخوام برای هر برنامه مثلا همین eclipse کاری کنم که با وارد کردن اسمش یا هر دستور دیگه برنامه اجرا بشه،فقط به راهنمایی شما دوستان نیاز دارم  ;D
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: mohammad kazemi در 15 شهریور 1399، 01:44 ق‌ظ
نصف شبه و دارم تو انجمن میگردم
توی همین بخش یه موضوع دیدم با عنوان
نقل‌قول
"چگونه اکلیپس (یا هر برنامه‌ی دیگری) را در منوها قرار دهیم. (راهنما)"

انجام دادم و جواب داد حالا برام سوال پیش اومده که میشه برای اجرای هر برنامه کاری کرد که با نوشتن اسمش توی ترمینال اجرا بشه ؟
دقیقا همونطور که 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 اضافه کنی. (که راه اول خیلی بهتره و ایمن‌تر!)
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: Mohammad Gho در 15 شهریور 1399، 02:46 ق‌ظ
وارد کردن همین چند دستور ساده توی فایل  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

عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 15 شهریور 1399، 09:54 ق‌ظ
جالب بود ،خیلی ممنون  ;)
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 19 شهریور 1399، 04:20 ب‌ظ
 سوال دیگه
نمیشه کاری کرد وقتی با ترمینال یه برنامه رو باز میکنم خود ترمینال از دستور خارج بشه اما برنامه همچنان باز باشه؟
الان که تلگرامو باز میکنم داخل ترمینالم تلگرام بازه و داره اطلاعات تلگرامو نشون میده و اگه ببندمش تلگرامم بسته میشه ،میخوام جوری باشه که بعد باز کردن تلگرام ترمینال اماده گرفتن دستور جدید باشه و وقتی میبندمش تلگرام بسته نشه
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: مرتضی . م در 19 شهریور 1399، 05:48 ب‌ظ
سوال دیگه
نمیشه کاری کرد وقتی با ترمینال یه برنامه رو باز میکنم خود ترمینال از دستور خارج بشه اما برنامه همچنان باز باشه؟
الان که تلگرامو باز میکنم داخل ترمینالم تلگرام بازه و داره اطلاعات تلگرامو نشون میده و اگه ببندمش تلگرامم بسته میشه ،میخوام جوری باشه که بعد باز کردن تلگرام ترمینال اماده گرفتن دستور جدید باشه و وقتی میبندمش تلگرام بسته نشه

یه & بزار ته دستور
nohup telegram-desktop &
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 19 شهریور 1399، 06:27 ب‌ظ
نمیشه
این دوتارو امتحان کردم اما جواب نداد :
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram&'
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram'&
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: mohammad kazemi در 19 شهریور 1399، 10:17 ب‌ظ
نمیشه
این دوتارو امتحان کردم اما جواب نداد :
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram&'
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram'&
اولی درسته. فقط یدونه فاصله قبل & بدید.
اروری چیزی می‌ده؟ متنش چیه؟
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 21 شهریور 1399، 11:50 ق‌ظ
اولی درسته. فقط یدونه فاصله قبل & بدید.
اروری چیزی می‌ده؟ متنش چیه؟

با هر سه روش تلگرام باز میشه بدون هیچ ارور یا وارنینگ
یدونه فاصله قبل & گذاشتم و این خروجیش شد :
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

همچنان ترمینال برای تلگرام مشغوله همونطور که میبینید یبار بعد زدن دستور ترمینال خارح میشه و بلافاصله مشغول میشه
سه تا اروری که نوشته قبلا هم بود بنظرم
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: مرتضی . م در 22 شهریور 1399، 02:25 ب‌ظ
(nohup telegram-desktop & ) && exit
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: دانیال بهزادی در 22 شهریور 1399، 04:48 ب‌ظ
چرا تلگرام رو از مخازن نصب نمی‌کنی؟
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 22 شهریور 1399، 09:23 ب‌ظ
چرا تلگرام رو از مخازن نصب نمی‌کنی؟
یه مشکلی داشت که مجبور شدم از سایت خودش دانلود کنم ،الان یادم نیست مشکلش چی بود
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: دانیال بهزادی در 24 شهریور 1399، 08:31 ب‌ظ
مسکلش هرچی بچد، بزرگ‌تر از مسکاب که با این مدل استفاده پیش می‌آد نیست. بگو چیه که حلش کنیم.
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: EnriqueTTE در 25 شهریور 1399، 09:38 ق‌ظ
مسکلش هرچی بچد، بزرگ‌تر از مسکاب که با این مدل استفاده پیش می‌آد نیست. بگو چیه که حلش کنیم.
مشکلش اینه که هروقت تلگرامو باز میکنم باید دوباره وارد اکانتم بشم و تنظیماتشو دوباره درست کنم .هربار که تلگرامو ببندم و از نوار اعلان بالا یا همون tray هم ازش خارج بشم باید اینکارو انجام بدم .
اما وقتی از سایت خودش فایلشو دانلود و نصب میکنم اصلا این مشکلو ندارم .
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: دانیال بهزادی در 26 شهریور 1399، 10:48 ق‌ظ
این یعنی پرونده‌های پیکربندی روی خونه‌ات قابل خوندن نیست. می‌تونه مشکل از این باشه که تلگرام رو یک بار با حساب ریشه باز کرده باشی و دسترسی‌های اون پرونده‌ها رو خراب کرده باشه. شاخهٔ ‪.local/share/TelegramDesktop‬ رو پاک کن و دوباره تلگرام رو از مخازن نصب کن.
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: Mohammad Gho در 10 مهر 1399، 09:19 ب‌ظ
نمیشه
این دوتارو امتحان کردم اما جواب نداد :
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram&'
alias telegram='/home/smjt2000/Downloads/tsetup.2.3.2/Telegram/Telegram'&
اولی درسته. فقط یدونه فاصله قبل & بدید.
اروری چیزی می‌ده؟ متنش چیه؟

سلام شما راهی برای اضافه کردن دستور کنترل + سی توی ترمینال برای پایان دادن به پروسه در حال اجرا توی قسمت alias سراغ دارید من هر چی گشتم توی نت پیدا نکردم یعنی بجاش فقط یک کلید مثلا c بزنیم بجای ctr + c
عنوان: پاسخ : افزودن دستور برای اجرای برنامه ها در ترمینال
ارسال شده توسط: مرتضی . م در 10 مهر 1399، 11:10 ب‌ظ
ctrl+c در واقع یه سیگنال میفرسته(terminate اگه اشتباه نکنم)
شما میتونی با استفاده از pidof و kill و killall یه alias بسازی براش ولی این alias رو باید توی ترمینال بهش بدید (یعنی مثلا برای استفاده ازش باید یه ترمینال دیگه داشته باشید و ازش استفاده کنید
این لینک هم هست
https://askubuntu.com/questions/620626/ubuntu-terminal-how-to-change-ctrl-c-interrupt-to-something-else (https://askubuntu.com/questions/620626/ubuntu-terminal-how-to-change-ctrl-c-interrupt-to-something-else)