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

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

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


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

نویسنده موضوع: برنامه اجرای خودکار اسکریپت هنگامی که usb شناسایی میشود  (دفعات بازدید: 2424 بار)

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

آفلاین ahoora3

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
سلام.
شرمنده هنوز عضو نشدم درخواست برنامه دارم .اما واقعا نیازمند همچین برنامه ای هستم.

برنامه جوری باشه که وقی یک usb به کامپیوتر وصل میشه یک اسکریپت رو اجرا کنه.

از دوستان کسی اطلاعی داره (یا اگر برنامه یا سورس آماده داره که وقتی usb متصل شد یک لیست از فایل های داخل فلش تهیه کنه)
 کمکم کنه.

پ.ن : در حد ابتدایی با ابونتو و زبان اسکریپت نویسی آن کار کردم.
سپاس

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

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

آفلاین ahoora3

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
ممکنه یخورده توضیح دهید.
هنوز ساختار کلی و ساختار برنامه سازی لینوکس را بلد نیستم

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
ممکنه یخورده توضیح دهید.
هنوز ساختار کلی و ساختار برنامه سازی لینوکس را بلد نیستم

udev اجازه میده دستگاه‌های مشخصی رو بر اساس uuid بصورت خاص برنامه ریزی کنید مثلا اگر یک تلفن همراه خاص رو وصل کردید به سیستم، تصاویر اون خودکار ذخیره بشه تو سیستم.

اینجارو ببین : http://www.reactivated.net/writing_udev_rules.html
I just felt like running

Altern AI Directory --- GitHub

آفلاین ahoora3

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
سلام باز هم نشد.
توی نسخه های اوبونتو فرق میکنه.اصلا بیشتر دستور هاییی که توی نت هست و در این سایته هست توی 14 نیست.باید عوض شه.
هرچی هم عوض میکنم با نسخه جدیدش مشکل داره.

میخوام هر نوع چیزی که به یو اس بی وصل میشه ترمینال باز شه (ساده ترین حالت. بقیشو میتونم انجام بدم)فقط طوری باشه که وقتی هرچیزی به پرت یو اس بی وصل شد خودکار ترمینال باز شه

سپاس

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

  • ناظر انجمن
  • *
  • ارسال: 19724
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
udev بیست ساله که ساختارش همینه.
http://lmgtfy.com/?q=How+to+add+a+udev+rule%3F
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین ahoora3

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
تمام سایت هایی که شما  فرمودید رفتم همه رو دیدم.

هنوز متوجه نشدم چطوری اسرکیپتی بنویسم هر چیزی که به یو اس بی وصل شد خودکار ترمینال رو باز کنه همین.

کسی ننوشته همچین چیزی؟

توی بیشتر فروم ها همین مطرح است .خیلی راه حل گفته میشه اما یکی نیومده یه اسکریپت بگذاره جواب بده بعد بقیه ساختار اسکریپتو نگاه کنند.

فقط توی این جا گیر کردم که فایل اجرا نمیکنه یعنی وقتی فلش وارد دستگاه میشه شورت کات میسازه اما چیزی اجرا نمیکنه


سپاس از شما

آفلاین ahoora3

  • Newbie
  • *
  • ارسال: 5
  • جنسیت : پسر
please help meeee!!!!



for up

آفلاین 藤沼

  • Sr. Member
  • *
  • ارسال: 414
  • جنسیت : پسر
اسکریپت زیر رو اجرا کنید (حرف x رو با حرف موجود در نام دستگاه موردنظر جایگزین کنید) و نتیجه‌اش رو اینجا بگذارید.
#!/usr/bin/env bash
expr='KERNEL==\"\w{3}\"|ATTRS{vendor}==\"0[xX][0-9a-fA-F]+\"|ATTRS{model}==\".+\"|ATTRS{serial}==\".+\:.+\:.+\"'
udevadm info -a -n "$1" | grep -E "$expr" | sed -s "s/ //g" | xargs
# ----USAGE----:
./udevgen.sh /dev/sdx
پیوند کد بالا
« آخرین ویرایش: 04 اردیبهشت 1394، 11:57 ب‌ظ توسط نوید راد »

آفلاین احمد حمزه ئی

  • Jr. Member
  • *
  • ارسال: 66
  • جنسیت : پسر
    • Github
از دوستان کسی اطلاعی داره (یا اگر برنامه یا سورس آماده داره که وقتی usb متصل شد یک لیست از فایل های داخل فلش تهیه کنه)
 کمکم کنه.

این برنامه با پایتون که دقیقا همین کار رو میکنه:
https://gist.github.com/AhmadHamzeei/38b4d7220196bfb05782
روش کار به این صورته که با استفاده از GFileMonitor پوشه ی /media/username/ رو چک میکنه.
وقتی که پوشه ی جدیدی تو این پوشه ایجاد شد، یعنی اینکه دستگاه usb جدید وصل شده.
پس تابع on_usb_connected اجرا میشه و محتویات پوشه ی جدید رو تو پنجره نشون میده.

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
سلام
درک ات می کنم منم نتونستم با udev رابطه ی دوستانه ای برقرار کنم (udev کلا احمقانه است!) . ولی به جاش lsusb هست. که لیست دستگاه های یو اس بی رو نشون می ده پس هروقت که این لیست تغییر کرد یعنی دستگاهی رو وصل کردی  و باید اسکریپت اجرا بشه . (با یک حلقه ی while ساده می شه انجامش داد) البته فکر کنم که منظور شما از دستگاه یو اس بی ، حافظه فلش هست که برای اون هم یک راه خیلی بهتر هست اون هم استفاده از lsblk هست . اگر این راهنمایی کمکت نکرد بگو که اسکریپت رو بنویسم.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره