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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: geeksesi | javad در 09 آذر 1398، 02:02 ب‌ظ

عنوان: اجرای برنامه در هنگام شروع سیستم
ارسال شده توسط: geeksesi | javad در 09 آذر 1398، 02:02 ب‌ظ
سلام.
من با Rust یه پایانه کوتاه کننده لینک ساختم.
می خوام یه تنظیم روش بزارم که کاربر تعیین کنه می خواد نرم افزار توی استارت اپ اجرا بشه یا نه.
توی گشستنم به ابزاری نرسیدم که این کار رو بکنه.
این رو پیدا کردم :
https://github.com/crow-translate/crow-translate/blob/2535dc7d6999610d2ae68157036f3f846082f7bd/src/settings/appsettings.cpp#L136که خب با cpp نوشته شده برای ویندوز کپی کرده توی دایرکتوری استارت اپ اما برای لینوکسش رو متوجه نمیشم.
توی سرچام راهی که نیاز به دسترسی روت نداشت. نیاز به kde | gnome داره. خب حالا اگه یکی از i3 استفاده کنه چی ؟

اینه که اومدم اینچا بپرسم.
راهی می شناسید که بدون دسترسی روت بتونم کدی بنویسم که برام برنامه رو توی استارت اپ تنظیم کنه ؟
عنوان: پاسخ : اجرای برنامه در هنگام شروع سیستم
ارسال شده توسط: nimaarek در 09 آذر 1398، 04:34 ب‌ظ
سلام، فکر کنم استفاده از ~.bash_profile نیازی به روت نداشته باشه چون در مسیر home کاربر قرار میگیره و اگر کاربر دسترسی روت نداشته باشه، نیازی به استفاده از دسترسی روت نیست.
فایل ~/.bashrc هم هست منتها با اجرای shell این فایل بارگذاری میشه
عنوان: پاسخ : اجرای برنامه در هنگام شروع سیستم
ارسال شده توسط: geeksesi | javad در 09 آذر 1398، 06:32 ب‌ظ
سلام، فکر کنم استفاده از ~.bash_profile نیازی به روت نداشته باشه چون در مسیر home کاربر قرار میگیره و اگر کاربر دسترسی روت نداشته باشه، نیازی به استفاده از دسترسی روت نیست.
فایل ~/.bashrc هم هست منتها با اجرای shell این فایل بارگذاری میشه
ممنون اره اینو دیدم.
چندتا مشکل داره
اومدیمو پیشفرض zsh بود.
و اینکه این شل دقیقا کی اجرا میشه ؟
وقتی اولین بار من ترمینال بازی می کنم ؟ یا وقتی که سیستم سعی می کنه سشن x رو اجرا کنه ؟ یا ؟
عنوان: پاسخ : اجرای برنامه در هنگام شروع سیستم
ارسال شده توسط: nimaarek در 10 آذر 1398، 01:59 ق‌ظ
دوست عزیز bashrc با اجرای شل، اجرا میشه اما bash_profile با ورود به شل.

اطلاعات بیشتر در مسیر /usr/share/doc/bash/examples/startup-files
Some sample startup files.  The ones starting with capital letters
are originally from Brian Fox.  The ones starting with lowercase
letters are from Chet Ramey.

They will require changes for your environment.

Bash_aliases Some useful aliases (Fox).
Bash_profile Sample startup file for bash login shells (Fox).
bash-profile Sample startup file for bash login shells (Ramey).
bashrc Sample Bourne Again SHell init file (Ramey).
Bashrc.bfox Sample Bourne Again SHell init file (Fox).
README README

اینجا هم یه سر بزن:
http://hayne.net/MacDev/Notes/unixFAQ.html#shellStartup

یه پیشنهاد دیگه هم دارم اما اول باید بپرسم که شما به همه سیستم هایی که می خوای این کار انجام بشه دسترسی داری؟ یا این کار برای برنامه خودت میخوای که قرار منتشر بشه؟
اگر فقط برای خودت میخوای نهایتش اینکه یکی از فایل های اصلی سیستم عامل (مثل init یا هرچی) برمیداری به آخر برنامه یه تیکه کد inject میکنی که یه اسکریپت بش در فلان آدرس و اجرا کن
عنوان: پاسخ : اجرای برنامه در هنگام شروع سیستم
ارسال شده توسط: ساسان در 10 آذر 1398، 05:33 ق‌ظ
استاندارد دسکتاپ این هست که برنامه ات فایل .desktop داشته باشه و بعد یوزر برای auto start هر برنامه ای، فایل .desktop رو توی $XDG_CONFIG_HOME/autostart کپی کنه. اینجا (https://wiki.archlinux.org/index.php/XDG_Autostart) رو ببین.
به نظرم به جای اینکه سعی کنی این کار رو داخل برنامه‌ات انجام بدی، انجامش رو عهده یوزر و محیط گرافیکیش بزاری. مثلا KDE تو تنظیماتش این رو داره خیلی هم ساده است.
نقل‌قول
دوست عزیز bashrc با اجرای شل، اجرا میشه اما bash_profile با ورود به شل.
نه واقعا. این‌ها فایل تنظیمات بش هستن. اگر شل دیگه ای این ها رو میخونه به خاطر این هست سعی کردن فال بک داشته باشن. قانونی نیست. Fish (https://fishshell.com/) از این کارها نمیکنه.
عنوان: پاسخ : اجرای برنامه در هنگام شروع سیستم
ارسال شده توسط: geeksesi | javad در 10 آذر 1398، 06:44 ب‌ظ
نقل‌قول
یه پیشنهاد دیگه هم دارم اما اول باید بپرسم که شما به همه سیستم هایی که می خوای این کار انجام بشه دسترسی داری؟ یا این کار برای برنامه خودت میخوای که قرار منتشر بشه؟
ممنون
نه مسئله خودم نیستم.
خودم که از i3 استفاده می کنم و خیلی راحت اضافه کردمش با اجرا شدن i3 اون هم اجرا میشه برام.
مسئلم اینه که می خوام یه ساختار خودکار براش بزارم که یا با یه تنظیمات یا به قول ساسان با کپی کردن یه فایل خیلی راحت بتونن برنامه رو توی استارت اپ بزارن.


نقل‌قول
به نظرم به جای اینکه سعی کنی این کار رو داخل برنامه‌ات انجام بدی، انجامش رو عهده یوزر و محیط گرافیکیش بزاری. مثلا KDE تو تنظیماتش این رو داره خیلی هم ساده است.
اره فکر می کنم بهترین کار همین باشه.

خیلی ممنون.