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

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

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

نویسنده موضوع: تایپ یک کلمه بصورت اتومات (حل شد)  (دفعات بازدید: 1643 بار)

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

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #15 : 18 خرداد 1401، 06:01 ب‌ظ »
۱ . واسه من که اینجوری نیست !
۲ . اون علامت یعنی توی پس زمینه اجرا کن ولی اینجا فرقی نمیکنه باشه یا نه !
۳ . بله برای اصولی نوشتن اینکار لازمه ولی من به شخصه حداکثر سبکی رو میخوام !
۴ . بشدت عجیب بود اینی که گفتی ، مگه قراره کارا تداخل پیدا کنن ؟ خودش میفهمه به ترتیب بره و لازم نیست این وقفه اولش
« آخرین ویرایش: 18 خرداد 1401، 06:07 ب‌ظ توسط ㅤSudoㅤ »
آرچ و گنوم!

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #16 : 21 خرداد 1401، 03:45 ق‌ظ »
آیا راهی وجود دارد که سایز و یا رنگ فونت های خروجی را تغییر بدهم؟
آیا از کدهای html  در bash script می توان استفاده کرد؟

می‌توانید از کدهای escape character برای ترمینال استفاده کنید.

این پیوند‌ها را نگاه کنید.



آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #17 : 21 خرداد 1401، 10:52 ب‌ظ »
با تشکر از آقای esmaeelE ، زحمت کشیدید.

 تا آنجاییکه از این لینک ها متوجه شدم ، تغییرات در این زمینه در مورد رنگ فونتها و همچنین در bold, underlined کردن آنها امکانپذیر است . ولی متاسفانه نمی دانم به چه دلیلی سایز فونتها بنظر می رسد غیرقابل تغییر می باشد.
۱- بنظرتان چرا مثلا رنگ فونتها قابل تغییر است ولی سایز آنها نه؟
۲-اگر به عکس نگاه کنید مثلا در کناره های سطرهای 30 و 31  کلیک کرده ام ، یک علامت مثبت ( + ) در کنار این سطرها افتاده است، منظور از این علامت مثبت چیست؟(عکس 1)
۳- وقتیکه در ترمینال تایپ می کنم   test.sh/.  اسکریپت ها در داخل همین ترمینال اجرا می شود، چکار کنم که با RUN کردن این فایل ،ترمینالی باز بشود و این دستورات در داخل آن ترمینال اجرا بشود؟
خودم به ابتدای اسکریپت دستور    &  gnome-terminal  را اضافه کردم ولی فایده ای نداشت تنها یک ترمینال باز می شود ولی در ادامه کار این دستورات در آن اجرا نمی شود؟( بهمین جهت کامنتش کردم)

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #18 : 21 خرداد 1401، 11:12 ب‌ظ »
۱- چون تنظیمات مربوط به فونت توی برنامه‌های ترمینال فقط توسط شبیه‌ساز ترمینال اعمال میشن.
۲- فکر کنم خودتون کنار اونها کلیک کردید و باعث شده این علامت‌ها ظاهر بشن. اگه اینجوری باشه، باید با کلیک مجدد روی همون علامت‌ها، حذف بشن.
۳- شاید با ساختن فایل desktop. مناسب برای اونها بشه اینکار رو کرد.

چرا اسکریپت رو به این شکل نوشتید؟ اون علامت & آخر هر sleep رو بردارید تا sleep توی پس زمینه اجرا نشه. اون wait -n ها رو هم حذف کنید.
میدونید که زکات علم نشر آن است

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #19 : 22 خرداد 1401، 12:17 ق‌ظ »

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

چرا اسکریپت رو به این شکل نوشتید؟ اون علامت & آخر هر sleep رو بردارید تا sleep توی پس زمینه اجرا نشه. اون wait -n ها رو هم حذف کنید.
درست فرمودید،اضافی بودند و اصلاح شد ولی در خروجی تاثیری نداشت و خروجی هر دو دستور یکی است.( بنده خدا Sudo ، کمی بالاتر همین را گفته بودند ولی نمیدانم آنموقع همین ها را اصلاح کردم چرا آنموقع اصلا درست در نمی آمد!!)

۳- شاید با ساختن فایل desktop. مناسب برای اونها بشه اینکار رو کرد.
نشد. نمی دانم کجای کار اشکال دارد.(عکس 2)

آفلاین esmaeelE

  • ناظر انجمن
  • *
  • ارسال: 1270
  • جنسیت : پسر
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #20 : 22 خرداد 1401، 06:53 ق‌ظ »
۱- بنظرتان چرا مثلا رنگ فونتها قابل تغییر است ولی سایز آنها نه؟
۲-اگر به عکس نگاه کنید مثلا در کناره های سطرهای 30 و 31  کلیک کرده ام ، یک علامت مثبت ( + ) در کنار این سطرها افتاده است، منظور از این علامت مثبت چیست؟(عکس 1)
۳- وقتیکه در ترمینال تایپ می کنم   test.sh/.  اسکریپت ها در داخل همین ترمینال اجرا می شود، چکار کنم که با RUN کردن این فایل ،ترمینالی باز بشود و این دستورات در داخل آن ترمینال اجرا بشود؟
خودم به ابتدای اسکریپت دستور    &  gnome-terminal  را اضافه کردم ولی فایده ای نداشت تنها یک ترمینال باز می شود ولی در ادامه کار این دستورات در آن اجرا نمی شود؟( بهمین جهت کامنتش کردم)

۳. با توجه به ویژگی‌ها شبیه‌ساز ترمینال می‌تونید این‌کار را انجام دهید.

xterm -hold -e "echo Hello My World"

دلیل اینکه با روش شما دستورات در ترمینال اجرا نمی‌شوند این است.

#/bin/bash
gnome-termianl
ls
w

پوستهٔ بش شروع به اجرای خط به خط برنامه می‌کند. هر خط را یک پردازهٔ(process) جدا می‌بیند و هر کدام را مستقل از هم اجرا می‌کند.

می‌تونید بررسی کنید هر کدام یک pid مستقل دارند.

۱. فکر می‌کنم اندازهٔ قلم ویژگی خود پایانه یا در اینجا شبیه‌ساز باشه و ارتباطی با پوسته نداشته باشه.
اندازهٔ قلم را می‌توانید از preferences مربوط به برنامهٔ شبیه‌ساز پایانه تغییر دهید.

دستور setfont هم هست ولی اینطور به نظر می‌رسه که در ترمینال کار نمی‌کنه فقط مربوط به tty1 باشد.


آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #21 : 22 خرداد 1401، 12:11 ب‌ظ »
۳- شاید با ساختن فایل desktop. مناسب برای اونها بشه اینکار رو کرد.
نشد. نمی دانم کجای کار اشکال دارد.(عکس 2)
یه Terminal=true اضافه کنید، ببینید درست نمیشه؟

یه بار سعی کنید اینجوری اسکریپت رو اجرا کنید، شاید توی یه ترمینال جدید اجرا بشه.
gnome-terminal --command=/path/to/script.sh
میدونید که زکات علم نشر آن است

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #22 : 22 خرداد 1401، 09:02 ب‌ظ »
یه Terminal=true اضافه کنید، ببینید درست نمیشه؟
نه، درست نشد.

یه بار سعی کنید اینجوری اسکریپت رو اجرا کنید، شاید توی یه ترمینال جدید اجرا بشه.
gnome-terminal --command=/path/to/script.sh
بله ،اجرا می شود و یک پنجره ترمینال جداگانه باز می شود و اسکریپت ها در آن بدرستی اجرا می شوند ، ولی در همان ترمینال اصلی دو تا تذکر داده است. اگر در مورد آنها کمی راهنمایی بفرمایید ممنون می شوم:
نقل‌قول
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
نقل‌قول
# Use “-- ” to terminate the options and put the command line to execute after it.
اگر بخواهیم به این دو تا تذکر عمل نماییم ، برای اجرای اسکریپت بجای این فرمانی که فرمودید ، چه فرمانی بایستی بکار ببریم؟

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #23 : 22 خرداد 1401، 09:25 ب‌ظ »
اینجوری عمل کنید:
gnome-terminal -- /path/to/script
معمولا وقتی برنامه‌های ترمینال به -- می‌رسند، هر چیزی که بعد از اون نوشته شده رو به عنوان آپشن به حساب نمیارن‌.
برای مثال دستور رو ببینید:
rm -- -rfدستور بالا باعث میشه که rm سعی کنه فایلی به اسم rf- رو پاک کنه. به عبارتی rf- دیگه به عنوان یه آپشن پردازش نمیشه.
ممکنه یه دستور اینجوری نباشه ولی اکثر دستورات اینجوری هستند.
میدونید که زکات علم نشر آن است

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #24 : 22 خرداد 1401، 11:05 ب‌ظ »
ممنون، درست اجرا می شود.
 چرا در دستوری که دادید بجای " gnome-terminal " نمی توان " usr/bin/x-terminal-emulator/  " را بکار برد؟
( اگر توزیع دیگری داشتم که ترمینال پیش فرض آن ترمینال گنوم نبود ، بایستی این فرمان تغییر بیابد ، می خواستم یک جمله عمومی بنویسم که بدون تغییر در تمامی توزیع ها بکار برود.)

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #25 : 23 خرداد 1401، 10:40 ق‌ظ »
در موارد زیر هم دوستان اگر نظری داشتند ،ممنون می شوم راهنمایی بفرمایید:

۱- الان دو تا فایل دارم یکی بنام  test.sh با محتویات زیر:
#!/bin/bash

sleep 5
 
echo -n "$(tput setaf 1)H"
sleep 2

echo   -n "$(tput setaf 1)e"
sleep 2

echo   -n "$(tput setaf 1)l"
sleep 2

echo   -n "$(tput setaf 1)l"
sleep 2

echo -n "$(tput setaf 1)o"
sleep 2

echo -en  "\t"
sleep 2

echo -n  "$(tput setaf 2)W"
sleep 2

echo -n "$(tput setaf 2)o"
sleep 2

echo -n "$(tput setaf 2)r"
sleep 2

echo -n "$(tput setaf 2)l"
sleep 2

echo "$(tput setaf 2)d"
sleep 5


و دیگری هم با نام test1.sh با محتویات زیر:
#!/bin/bash

 gnome-terminal  --  /home/a/Documents/test.sh 

با RUN کردن فایل test1.sh ، در حقیقت اسکریپت فایل test.sh اجرا می شود.
۱-چکار کنم تا بجای این دو تا فایل ،تنهایک فایل داشته باشم ، که شامل محتویات این دو تا فایل باشد.
یعنی آن فایل را اجرا کنم ، اسکریپت داخل خود آن فایل اجرا بشود نه اسکریپت داخل فایل دیگر.
معمولا در اسکریپت نویسی از یک فایل استفاده می کنند و یا اینکه چندین فایل هستند که یکی از آنها فقط RUN می کند؟

۲-وقتی این برنامه اجرا می شود یک پنجره ای خالی باز می شود که اسکریپت مربوطه در آن اجرا می شود و سپس خودبه خود بسته می شود، می خواستمم بدانم این پنجره خالی ( عکس 1) چیست و تفاوت آن با پنجره ای که حاوی نام کامپیوتر وغیره است ( مثلا در اینجا هست : " a@a-H61H2-M13:~/Documents$ ") در چیست؟( عکس 2)

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #26 : 23 خرداد 1401، 11:11 ق‌ظ »
باز هم میگم ، اون مکث اولیه لازم نیست ، این سیستم عامل رو دست کم گرفتین : )
آرچ و گنوم!

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #27 : 23 خرداد 1401، 09:35 ب‌ظ »
باز هم میگم ، اون مکث اولیه لازم نیست ، این سیستم عامل رو دست کم گرفتین : )

آقای Sudo ، پیش داوری نکردم و چیزی را که فرمودید ، امتحان کردم.
اون مکث اولیه را حذف کردم.( عکس ۱)
البته  از برنامه Startup Applications استفاده کردم و فایل  اسکریپت مربوطه را به آن معرفی کردم تا در هنگام لاگین کاربر به صورت اتومات اجرا شود.
الان در کل سیستمم فقط یک لینوکس مینت نصب است.سیستم را خاموش کردم و دوباره با فشردن کلید پاور روشن کردم.
از فشردن کلید پاور تا نمایش صفحه مربوط به انتخاب کاربرها: ۵۲ ثانیه
از صفحه کاربرها  تا نمایش دسکتاب کاربر(محیط کاری کاربر): ۱۶ ثانیه

نتیجه این شد که این وقفه ۱۶ ثانیه (تصویر سیاه) تا نمایش دسکتاب کاربر ، باعث شد که سه حرف " Hel " از واژه "Hello" بدون آنکه من شاهد آن باشم در زمانیکه تصویر سیاه بود در ترمینالی که باز شده بود تایپ شده بود و من تنها شاهد تایپ "lo World" بودم.
اگر در این مورد مطلبی داشتید بفرمایید.(عکس 2)

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #28 : 23 خرداد 1401، 09:38 ب‌ظ »
عجیبه ! نمی‌دونم والا ، برای من تا وقتی دسکتاپ کاملا بالا نیومده ترمینال رو اجرا نمیکنه ! شاید مشکل از سینامونه : )
( میتونم بپرسم چرا زرد ؟ چشمتونو اذیت نمیکنه ؟ )
آرچ و گنوم!

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : تایپ یک کلمه بصورت اتومات
« پاسخ #29 : 23 خرداد 1401، 10:12 ب‌ظ »
( میتونم بپرسم چرا زرد ؟ چشمتونو اذیت نمیکنه ؟ )

برای تست این اسکریپت بهتر بود اینکار را انجام بدهم.( عکس های 1 و 2 )

ویرایش: الان که عکسها را آپلود کردم ، کیفیت رنگ فونت ها در هر دو تصویری که در خود سایت ابونتو می بینم یکی است .
 ولی  بر روی سیستم خودم با نرم افزار Xviewer که در محیط کاری خودم به عکس ها نگاه می کنم قضیه کاملا برعکس است ، رنگها خیلی فرق می کنند ، پس زمینه عکس 1 ، خیلی سیاهتر است و کیفیت رنگ فونت ها در عکس 1 به نسبت عکسی که در سایت ابونتو می بینم دارای کیفیت خیلی پایین تری می باشد!!
« آخرین ویرایش: 23 خرداد 1401، 10:36 ب‌ظ توسط norouzi90 »