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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: اسکریپتهای پرکاربرد در منوی کلیک راست [ ویکی شد ]  (دفعات بازدید: 22659 بار)

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

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک
« پاسخ #45 : 09 فروردین 1387، 06:28 ب‌ظ »
او...ه! چه خبره اینجا! رومو برگردندونم دیدم تاپیک سه صفحه شده!
فکر کنم  یواش  یواش  خودمون بریم  تو  مد    اسکریپت   نوشتن        \\:D/
پس دستور chmod فراموش نشه;) در ضمن فکر کنم سرعت شما از یواش یواش گذشته! :)
اگر بچه ها  پایه  باشن  بعد از  این  تاپیک   یه  تاپیک   اسکریپتهای     درخواستی    (Script On Demand)    میزنیم.
 
من که پایه‌ام.

بهتره یه سری نکاتی رو هم در نوشتم اسکریپت‌های ناتیلوس یاد بگیرید. مثلا:

1. برای اینکه اسم فایل بتونه شامل فاصله باشه،  باید داخل کوتیشن کذاشته بشه. مثلا این دستور یک فایل سلکت شده رو به دسکتاپ لینک می‌فرسته (اگه چند تا سلکت شده باشن اولیشون رو). دقت کنید که 1$ (یعنی آرگومان اول خط فرمان) داخل double quote قرار گرفته.
ln -s "$PWD/$1" ~/Desktopمتغیر PWD حاوی مسیر جاری هست. علت استفاده از اون اینه که آرگومان اول دستور ln باید مسیر کامل فایل باشه وگرنه خواستهٔ ما رو برآورده نمیکنه (اگه مسیر نسبی باشه یک dynamic link ساخته میشه)

2. برای اینکه یک کار رو روی تمام فایل‌های سلکت شده انجام بدیم، میتونیم از آرایهٔ آرگومان‌های خط فرمان یعنی @$ استفاده کنیم:
for FILE in "$@" ; do
  ln -s "$PWD/$FILE" ~/Desktop
done
راه اینکه از متغیر NAUTILUS_SCRIPT_SELECTED_FILE_PATHS استفاده کنیم، اما در اینصورت مسیر فایل‌ها نباید space داشته باشه، چون این متغیر یک رشته هست که مسیر فایل‌ها را با یک فاصله از هم جدا کرده (مگه اینکه یه خورده پردازش متن روش انجام بدید و مسیر فایل‌ها تشخیص داده بشه.) در ضمن چون مسیر هستند نه فقط اسم، پس متغیر PWD نباید آورده بشه.
for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ; do
  ln -s $FILE ~/Desktop
done

3. چهار متغیر
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
NAUTILUS_SCRIPT_SELECTED_URIS
NAUTILUS_SCRIPT_CURRENT_URI
NAUTILUS_SCRIPT_WINDOW_GEOMETRY
اطلاعات مفیدی رو به ما میدن. اگرچه عیبشون بالا گفته شد.

4. اسکریپت‌های ناتیلوس را نه تنها می‌تونید با زبان شل (bash یا sh) بنویسید، بلکه با هر زبان اسکریپتی دیگه، و بلکه با هر زبان برنامه‌نویسی(که در لینوکس پشتیبانی شود) میتوانید بنویسید. اگه می‌خواید با یک زبان اسکریپتی(مثل python و perl و php) بنویسید، باید در خط اول برنامه مفسر آن را به یک از دو صورت بیان کنید. مثلا در مورد پایتون باید این خط
#!/usr/bin/pythonیا این خط
#!/usr/bin/env pythonرو دقیقا بعنوان خط اول برنامه قرار بدید.
اگر هم با یک زبان کامپایلری می‌خواید بنویسید، کافیه فایل کامپایل شده (یا همون اجرایی) رو بجای اسکریپت قرار بدید(توی پوشه nautilus-scripts).

با هر زبونی که می‌نویسید، از طریق آرگومان‌های خط فرمان میتونید به اسم فایل‌های سلکت شده دسترسی پیدا کنید. در ضمن بهتره بدونید که چطوری میشه از توی اون زبون برنامه‌نویسی، دستورات شل رو احضار کرد. بعنوان مثال، همون مثال
#!/bin/bash
for FILE in "$@" ; do
  ln -s "$PWD/$FILE" ~/Desktop
done
رو با پایتون می‌نویسم:
#!/usr/bin/python
import os, sys
for FILE in sys.argv[1:]:
  os.popen('ln -s $PWD/\'%s\' ~/Desktop' %(FILE))
پس اگه به syntax شل عادت ندارید، میتونید با یه زبون دیگه بنویسید. اما به تدریج به syntax شل هم عادت می‌کنید.
شخصا با پایتون راحت‌ترم. البته شل هم جای خود دارد.
« آخرین ویرایش: 09 فروردین 1387، 06:33 ب‌ظ توسط ilius »

lomion

  • مهمان
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک راست...
« پاسخ #46 : 09 فروردین 1387، 06:38 ب‌ظ »
به عنوان یه پیشنهاد خوبه که این تاپیک به صورت ویکی دربیاد تا تمام این اسکریپتها به صورت مجتمع در یک محل قرار بگیرن که همه بتونن ازش استفاده کنن تا تمام تاپیک رو بخوان بگردن.
ویکی می‌تونه نسخه بخوره و به مرور کامل تر بشه.

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک راست...
« پاسخ #47 : 09 فروردین 1387، 09:31 ب‌ظ »
ilius   جان دستت درد نکنه  ،  خیلی  مفید بود.

lomion  جان  چشم .  طرز  کار با این  ویکی  رو یاد  بگیرم حتما این  کارو میکنم   ;)

آفلاین 404

  • Full Member
  • *
  • ارسال: 145
  • جنسیت : دختر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک راست...
« پاسخ #48 : 09 فروردین 1387، 10:18 ب‌ظ »
ایول! چه کار خوبی کردین!‌اگه ویکی ام بشه که دیگه حرف نداره ;D

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک
« پاسخ #49 : 09 فروردین 1387، 10:48 ب‌ظ »
یواش  یواش  داره   ویکی میشه  ،  یعنی  دارم یکم  متنشو تغییر  میدم   تا   ویکی  پسند تر  بشه   ;)


Mehdi   جان   دستت درد  نکنه   دارم  روی  صفحه  ویکی  که برام  ایجاد  کردی  کار میکنم   \\:D/

فقط    یک   مشکلی  که   دارم   اینکه  که     اطلاعات  داخل  جدول ها    درست  نمایش داده نمیشه !!!     :o
« آخرین ویرایش: 10 فروردین 1387، 12:08 ق‌ظ توسط Behnam Golds »

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک
« پاسخ #50 : 10 فروردین 1387، 01:00 ق‌ظ »
شخصی  به نام    میلاد   خواجوی   توضیحات   خوبی  رو  به ویکی  اضافه  کردن  ازشون    ممنونم  و  با  اجازشون   توضیحات   خوبشونو  اینجا  قرار  میدم  :

میلاد  خواجوی   :

همان طور که دیدید تمام این scriptها بدون کنترل خاصی در منوی scripts در لیست Right Click ظاهر می شوند. منظور این است که بعضی وقت ها نیاز نیست که script خاصی در این منو ظاهر شود، برای مثال audio-convert باید تنها برای fileها ی صوتی با فرمت خاص ضاهر شود و نیازی نیست که با right click بر روی یک file تصویری این script نمایان شود. برای استفاده ی بهتر از این script ها ابتدا برنامه ی nautilus-actions را نصب کنید:

sudo apt-get install nautilus-actions
این برنامه از طریق systems > prefrences قابل اجرا می باشد. بعد از اجرای برنامه یک script جدید ایجاد کنید و آدرس script قابل اجرا (Executable) را در قسمت pach وارد نمایید. نوع file های مورد نظرتان را وارد کنید یک Icon مناسب برای script انتخاب کنید (می تونید این Icon ها را از مسیر /usr/share/pixmaps انتخاب کنید و در قسمت parameters گزینه ی مناسبی را وارد نماید برای مثال %f را وارد نمایید. از این به بعد این scripts تنها روی format خاصی از fileها در منوی right click ظاهر می شود.


واقعا   عالی  بود  ولی  کاش  این  مبحث   رو  در  یک تاپیک  دیگه  ادامه میدادن  چون  خود  nautilus-actions   یه  مقوله ی  مفصلیه  و امکانات  جانبی  دیگه داره  و  فرمت  دیگه ای  از  این  فایل هارو هم سا پورت میکنه  که   کار رو از این  هم  ساده تر  کرده  ولی فکر نکنم  کسیو  علاقه مند به  اسکریپت   نویسی  بکنه   .  در  هر  صورت  اگر کسی  دوست  داره  یک  تاپیک  با  این عنوان  بزنه  به  نظر من  مشتریش   از  این  تاپیک  بیشتر  خواهد شد.


در  ضمن  احتمال داره این  تاپیک رو به دوستان  واگذار  کنم  چون  ترم آخرمه  و  سرم  بد جوری  شلوغه  این  چند خطی  هم که  نوشتم  در  حال  تعطیلات  نوروز  بودم  و  تا حدودی  سرم  خلوت بود  ،  امیدوارم  بچه های  فریوم  این  تاپیک رو  زنده نگه دارن.   
« آخرین ویرایش: 11 فروردین 1387، 12:13 ق‌ظ توسط Behnam Golds »

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک
« پاسخ #51 : 10 فروردین 1387، 02:08 ق‌ظ »
یک  کارایی  در    ویکی   انجام دادیم   اینم   لینکش  :

NautilusScripts
« آخرین ویرایش: 10 فروردین 1387، 05:15 ق‌ظ توسط Behnam Golds »

آفلاین hisitech

  • Full Member
  • *
  • ارسال: 145
  • جنسیت : پسر
    • iShell
عالی بود ممنون
لینوکس یکی از بزرگترین دستاوردهای بشر.............
http://ishell.wordpress.com

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک
« پاسخ #53 : 14 فروردین 1387، 02:15 ب‌ظ »
خواهش میکنم  hisitech  جان خوشحالم که مفید واقع شد ...

دوستانی که  نیاز به اسکریپتهای  بیشتری دارن میتونن اینجا مطرح کنن  و با توجه به چیزی که قبلا گفتم  من کمتر میتونم در خدمت دوستان باشم  ، ولی با توجه به اینکه دست تنها هستم سریعا نمیتونم جوابگوی نیازها باشم .  ولی محض اطلاع  با یک جستجوی  کوچک در گوگل با عنوان  Nautilus Scripts   یا   Nautilus Actions   میشه  هزاران اسکریپت  و یا تمپلیت خوب برای برنامه Natilus-Actions   پیدا کرد  و اگر کسی مطلب مناسبی هم پیدا  کرد  روحیه لینوکسی  خودش رو نشون بده و  در اختیار بقیه بگذاره ...  
« آخرین ویرایش: 14 فروردین 1387، 02:17 ب‌ظ توسط Behnam Golds »

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
یکی  از  دوستان   زحمت  کشیدن   و   Nautilus  Actions    رو  توضیح دادن  دستشون  درد  نکنه   . اینم  لینکش  :

http://forum.ubuntu.ir/index.php?topic=2267.new#new

آفلاین iqson716

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
    • اُرِم
دو تا script برای mount و unmount کردن فایل های iso که ارزش رایت کردن ندارند یا به هر حال هر چیز دیگه
برای اضافه کردنشون فرض میکنیم که تو Desktop وجود دارند:
iqson@iqson:~/Desktop$ sudo chmod +x mount.shو
iqson@iqson:~/Desktop$ sudo chmod +x unmount.shو سپس :
iqson@iqson:~/Desktop$ sudo mv mount.sh ~/.gnome2/nautilus-scripts/و
iqson@iqson:~/Desktop$ sudo mv unmount.sh ~/.gnome2/nautilus-scripts/

آفلاین Alinn

  • High Hero Member
  • *
  • ارسال: 1440
  • جنسیت : پسر
  • هدیه فاتحه شما برای روح پدرم تسلای دلم خواهد بود:)
    • کاوش‌های من
ناتیلوس یعنی چی؟
مثل عکس رخ مهتاب که افتاده در آب
در دلم هستی و بین من و تو فاصله هاست
اللهم عجل لولیک الفرج


کاوش‌های من

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: اسکریپتهای پرکاربرد در منوی کلیک
« پاسخ #57 : 11 اردیبهشت 1387، 11:49 ب‌ظ »
ناتیلوس   همون   برنامه ی  مدیریت  فایل ها در  gnome   هست  ،  مثل  اکسپلورر  در  ویندوز  ...   مدیر   فایل  kde    فکر   کنم   دولفین   باشه ... 

البته  میتونی  مدیر  فایل  دلخواه  خودتو  نصب  کنی ...

آفلاین Mehdi

  • ناظر ویژه انجمن
  • *
  • ارسال: 3284
  • جنسیت : پسر
    • هزاردستان
اسکریپتهای mount کردن فایلهای iso خیلی مفید بودند. ممنون :)
Of one Essence is the human race,
Thusly has Creation put the Base;
One Limb impacted is sufficient,
For all Others to feel the Mace.
~Saadi (persian poet) -1258
Hezardastan | Free As in Freedom

آفلاین iqson716

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
    • اُرِم
اسکریپتهای mount کردن فایلهای iso خیلی مفید بودند. ممنون :)
مخلصیم قربان  ;)