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

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

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

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

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

آفلاین geeksesi | javad

  • Sr. Member
  • *
  • ارسال: 345
  • جنسیت : پسر
  • GeekSesi.xyz
    • GeekSesi
کپی پیست کردن متن با بش (حل شد )
« : 25 اردیبهشت 1396، 03:10 ق‌ظ »
سلام
ببخشید چجوری می تونم یک متنی رو به وسیله بش پیست کنم ؟

یعنی مثلا وقتی ctrl+shift+s رو می زنم کلمه ی سلام رو برام چاپ کنه توی اونجایی که هستم !
حالا یا دارم توی یه فایل متنی چیزی می نویسم با زدن این کلید این کار انجام بشه یا توی تلگرام یا .....

یا حتی اگه بگید که کلید  ctrl+v چجوری یه چیزی رو از داخل کلیپ بورد چاپ می کنه ( یا پیست می کنه ) خیلی ممنون میشم  ;)
« آخرین ویرایش: 26 اردیبهشت 1396، 01:07 ق‌ظ توسط javadkhof »
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.
javadkhof converted to GeekSesi
Geek Səsi

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

  • ناظر انجمن
  • *
  • ارسال: 12311
  • جنسیت : پسر
  • Urahara Kiesuke
    • صفحهٔ ویکی
پاسخ : کپی پیست کردن متن با بش
« پاسخ #1 : 25 اردیبهشت 1396، 09:31 ق‌ظ »
نیازی به دکمه‌های صفحه‌کلید نیست. می‌تونی متنی که می خوای رونوشت بشه رو با موشی گزینش کنی و بعد بری اون‌جا که می‌خوای چسبونده بشه، دکمهٔ وسط موشی رو بزنی.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین geeksesi | javad

  • Sr. Member
  • *
  • ارسال: 345
  • جنسیت : پسر
  • GeekSesi.xyz
    • GeekSesi
پاسخ : کپی پیست کردن متن با بش
« پاسخ #2 : 25 اردیبهشت 1396، 10:27 ق‌ظ »
خب نه کارم یکم پیچیده تر از اینیه که گفتم توی این قسمتش گیر کردم !
خلاصش اینه که می خوام یه سری متن ها رو با  دکمه های صفحه کلید چاپ کنم ( یا paste ) کنم !

یعنی مثلا کنترل + شیفت + L ===> سلام
کنترل + شیفت + M ===>  خداحافظ

به طور مثال !

چطوری می تونم این کار رو انجام بدم ‌؟‌
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.
javadkhof converted to GeekSesi
Geek Səsi

آفلاین علیرضاامیرصمیمی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2397
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
پاسخ : کپی پیست کردن متن با بش
« پاسخ #3 : 25 اردیبهشت 1396، 11:11 ق‌ظ »
سلام

میتونید از ابزاری مثل xdotools استفاده کنید و برای مدیریت clipboard هم از xclip استفاده کنید.
مثلا با استفاده از xdotools یه اسکریپت بنویسید که بنویسیه سلام ! و به وسیله میزکارتون برای اجرای اون اسکریپت شرتکات تعیین کنید

آفلاین M!lad

  • Hero Member
  • *
  • ارسال: 972
  • YPSD
پاسخ : کپی پیست کردن متن با بش
« پاسخ #4 : 25 اردیبهشت 1396، 01:08 ب‌ظ »
xdotool رو نصب کن:

sudo apt install xdotool
برو توی تنظیمات، قسمت صفحه کلید، میانبرهای شخصی‌سازی شده.
یک میانبر جدید تعریف کن با کلیدهای مورد نظرت و با یک دستوری به این شکل:

sh -c "xdotool type سلام"
...

آفلاین geeksesi | javad

  • Sr. Member
  • *
  • ارسال: 345
  • جنسیت : پسر
  • GeekSesi.xyz
    • GeekSesi
پاسخ : کپی پیست کردن متن با بش
« پاسخ #5 : 25 اردیبهشت 1396، 01:37 ب‌ظ »
سلام

میتونید از ابزاری مثل xdotools استفاده کنید و برای مدیریت clipboard هم از xclip استفاده کنید.
مثلا با استفاده از xdotools یه اسکریپت بنویسید که بنویسیه سلام ! و به وسیله میزکارتون برای اجرای اون اسکریپت شرتکات تعیین کنید


سلام اقای امیر صمیمی :)
خب من میز کارم i3 هست
و این رو گزاشتم توی فایل کانفیگ
bindsym $mod+Shift+n exec "xdotool type slm"


ولی کار نمی کنه‌!

و جالب تر این جاست
وقتی می خوام با  xclip همین کار رو بکنم :
bindsym $mod+Shift+n exec "echo hi | xclip"     این دستور کار می کنه
 ولی
 bindsym $mod+Shift+n exec "xclip -o"      این کار نمی کنه !

راستی بگم بالا رو دوبار تست کردم یعنی اول خط اولی رو گزاشتم و کار کرد

بعد پاک کردم دومی رو گزاشتم و کار نکرد !

ظاهرا توی خروجی دادن مشکل داره
« آخرین ویرایش: 25 اردیبهشت 1396، 01:39 ب‌ظ توسط javadkhof »
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.
javadkhof converted to GeekSesi
Geek Səsi

آفلاین علیرضاامیرصمیمی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2397
  • جنسیت : پسر
  • Arch Linux + KDE
    • وبسایت شخصی من
پاسخ : کپی پیست کردن متن با بش
« پاسخ #6 : 25 اردیبهشت 1396، 03:14 ب‌ظ »
من نمیدونم مدیرپنجره i3 چه جوری هست . استفاده نکردم (البته علاقه ای هم بهش ندارم :D)
ولی در کل این دو خط رو باید در اسکریپت بگذارید . خط اول معلوم میکنه چه پنجره ای فعال هست و خطا دوم سعی میکنه کلمه سلام رو در اون پنجره فعال بنویسه
دقت کنید هر دو باید پشت سر هم در اسکریپت شما با کلید شرتکات تعیین شده اجرا بشن.


window_pid=$(xdotool getactivewindow) #get active window PID

xdotool type --delay 400 --window $window_pid "سلام"


البته delay رو هم میتونید به سلیقه خودتون تغییر بدید بعد

آفلاین geeksesi | javad

  • Sr. Member
  • *
  • ارسال: 345
  • جنسیت : پسر
  • GeekSesi.xyz
    • GeekSesi
پاسخ : کپی پیست کردن متن با بش
« پاسخ #7 : 26 اردیبهشت 1396، 01:06 ق‌ظ »
من نمیدونم مدیرپنجره i3 چه جوری هست . استفاده نکردم (البته علاقه ای هم بهش ندارم :D)
ولی در کل این دو خط رو باید در اسکریپت بگذارید . خط اول معلوم میکنه چه پنجره ای فعال هست و خطا دوم سعی میکنه کلمه سلام رو در اون پنجره فعال بنویسه
دقت کنید هر دو باید پشت سر هم در اسکریپت شما با کلید شرتکات تعیین شده اجرا بشن.


window_pid=$(xdotool getactivewindow) #get active window PID

xdotool type --delay 400 --window $window_pid "سلام"


البته delay رو هم میتونید به سلیقه خودتون تغییر بدید بعد

سلام
این کد شما کار نکرد
ولی یکی از دوستان توی irc راهنمایی کردن با  این  دستور مشکل حل شد :)

bindsym --release $mod+Control+t    exec --no-startup-id xdotool type --clearmodifiers 'slm'
اگر اشتباه کردم راهنمایی کنید تا تکرار نکنم.
javadkhof converted to GeekSesi
Geek Səsi