اگر از لپتاپ هایی استفاده میکنید که مانیتور اونها تاچ هست و گاهی فعال بودن این تاچ باعث دردسر میشه، میتونید به راحتی هر چه تمام فعال یا غیر فعالش کنین! احتمالا غیر فعال بودنش باعث مصرف کمتر باتری هم خواهد شد.
در مانجارو xinput
برای مدیریت ورودی های کامپیوتر نصب شده. مثل وبکم، کیبور، ماوس، تاچ پد و ... با اجرای xinput
لیستی از این موارد رو میبینید:
[amin@ASUS ~]$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Elan Touchpad id=12 [slave pointer (2)]
⎜ ↳ USBest Technology SiS HID Touch Controller id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ USB2.0 HD UVC WebCam id=11 [slave keyboard (3)]
↳ Asus WMI hotkeys id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard
همون طور که میبینید تاچ اسکرین لپتاپ با ID شماره 10 مشخص شده که یک چیز ثابتی هست.
حالا با این دستور ها میتونید به راحتی هر کدوم از این ها رو فعال یا غیر فعال کنید:
xinput disable 10
xinput enable 10
ممکنه یک وقت یک فول آلبوم موسیقی دانلود کنید، سایتها علاوه بر اینکه توی هر سوراخی که بتونن اسم خودشون رو مینویسند، ممکنه تعداد زیادی فایلهای txt و url هم توی هر پوشه ای قرار داده باشند.
برای اینکه به راحتی کل این فایلهای مزاحم رو حذف کنیم کافیه در پوشه ی دایرکتوری فول آلبوم این دستور رو اجرا کنیم
find . -type f -name '*.txt' -delete
یا
find . -type f -name '*.txt' -exec rm {} \;
یا
rm -- **/*.txt
که طبیعتا بجای txt میتونید هر چیز دیگه ای قرار بدید. اما مواظب باشید که این رو در دایرکتوری های عقب تر مثل فولدر home اجرا نکنید که... وا مصیبتا!
دستور rm
برای حذف فایلها و دایرکتوری ها استفاده میشه. اما به نظر من نیاز بود که چند تا تغییر کوچولو بکنه.
برای اینکه دایرکتوری هایی که خالی نیستند هم بتونیم با این روش حذف کنیم (که ایراد میگیره و میگه این دایرکتوری خالی نیست) میتونیم از سوییچ زیر استفاده کنیم:
rm -rvI
همچنین سوییچ -I
میگه که اگه توی اون دایرکتوری بیش از ۳ فایل وجود داشت، اول بپرس بعد اگه گفتم بله y
حذفشون کن. سوییچ -v
هم میگه کارهایی که انجام دادی رو بهم نشون بده.
میتونیم alias
زیر رو به فایل ~/.bashrc
اضافه کنیم تا از این به بعد دستور rm
بطور پیشفرض همین عمل رو انجام بده
alias rm="rm -rvI"
چند تا ترفند و اسکریپت در مورد زمان درست کردم که ممکنه به دردمون بخوره
اولی ساعت رو به همراه میزان زمانی که کامپیوتر روشن بوده بوسیله notify-osd
اعلام میکنه. به درد مواقعی میخوره که شما در حالت فول اسکرین یک برنامه هستید و به ساعت دسترسی ندارید، با یه شورتکات میتونید این اسکریپت رو اجرا کنید. همچنین میتونید به cron
بدید تا مثلا سر هر ساعت یه نوتیفیکیشن بیاد و ساعت رو به شما اعلام کنه!
/usr/bin/notify-send -u critical -i "clock" "Clock" "Its $(date +%H:%M) now. Uptime: $(uptime | sed 's/.*up \([^,]*\), .*/\1/')" && paplay -q /usr/share/sounds/freedesktop/stereo/message-new-instant.oga
دستور play
مال بسته sox
هست. اگر اون رو ندارید و نمیخواید نصب کنید میتونید به جای دستور play
از mplayer
یا cvlc
یا canberra-gtk-play
یا چیزای دیگه هم استفاده کنید. و فایل صدا رو هم به دلخواه خودتون تعیین کنید.
اسکریپت بعدی که توی اینترنت پیداش کردم و با notify-osd ترکیبش کردم بوسیله zenity
یه تایمی از شما میگیره و بعد از اون تایم به شما یه نوتیفیکیشن میده. یعنی یه تایمر بسیار ساده.
#!/bin/bash
# This script asks the user for a time, waits the specified amount of time, and shows an alert dialog.
TIME=$(zenity --entry --title="Timer" --text="Enter a duration for the timer.\n\n Examples: 5s or 5m or 5h")
sleep $TIME
/usr/bin/notify-send -u critical -i "clock" "Ding Ding!" "It has been $TIME. " && paplay /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
تقویم های فارسی ای وجود دارند که ممکنه به سلیقه هر کسی خوش نیان. یا اینکه ممکنه فقط نیاز داشته باشید بدونید امروز چندمه! با یه اسکریپت ساده notify-osd میتونیم اینجوری تقویم رو داشته باشیم
قبلش باید jdate
رو نصب کنید و بعد با این دستور میتونید این نوتیفیکیشن رو داشته باشید:
/usr/bin/notify-send -u critical -i "date" "تاریخ شمسی" "امروز، $(jdate +%G\ %W)"
با گذاشتتن یک شورتکات یا alias
خیلی راحت تاریخ شمسی رو میتونیم داشته باشیم.
اما برای گذاشتن این موارد در cron باید یه تغییراتی در اسکریپت بدیم. خروجی دستور زیر رو کپی کنید:
set | grep DBUS_SESSION_BUS_ADDRESS
مثلا میشه این:
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
بعد این رو در ابتدای اسکریپت قرار بدید:
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
وگرنه notify-send در cron اجرا نمیشه.
توجه: این مطلب قدیمی است و صرفا جهت آرشیو حفظ شده است. ممکن است امروزه برخی موارد یکسان نباشند.
اگر لپتاپ جدیدی خریده باشید و بخواید که فایلهای لپتاپ قدیمی رو به جدیده منتقل کنید، یک راه ابتدایی اینه که فایلها رو روی فلش مموری جابجا کنید! که عملا کار بیهوده ایه.
اما میشه از یک راه بسیار ساده این کار رو انجام داد. ما به یک کابل معمولی شبکه نیاز داریم که دوتا کامپیوتر رو به هم متصل کنیم و بعد فایلها رو از این طریق جابجا کنیم.
بعد از اینکه کامپیوترها رو با یک کابل شبکه به هم وصل کردید باید برای هر دستگاه یک IP تعریف کنید.
در هر دستگاه به قسمت کانکشنها برید و این موارد رو اعمال کنید:
۱- در قسمت IPv4 تنظیمات IP رو از حالت اتوماتیک به Manual تغییر بدید و بعد به طور مثال برای هر کامپیوتر این مقادیر رو وارد کنید:
gateway | netmask | address |
255.255.255.0 | 10.0.0.1 کامپیوتر اول | |
255.255.255.0 | 10.0.0.2 کامپیوتر دوم |
و بعد کانکشن ها رو فعال کنید. حالا با پینگ کردن آدرس هر کدوم از کامپیوترها میتونیم به متصل بودنشون مطمئن بشیم.
حالا میخوایم با استفاده از یک ماژول ساده ی پایتون از طریق FTP به فایلها در یک کامپیوتر دسترسی پیدا کنیم. چون اینجا نیاز به اقدامات امنیتی نداره سراغ چیزای دیگه لازم نیست بریم و با یک کانکشن FTP غیر ایمن کارمون راه میفته.
در کامپیوتر مقصد، بسته python-pyftpdlib
مربوط به پایتون رو نصب میکنیم
حالا در دایرکتوری ای که میخوایم فایلها رو از اون منتقل کنیم یک ترمینال باز میکنیم و این دستور رو اجرا میکنیم
python -m pyftpdlib -w
حالا میتونیم در کامپیوتر مقصد با استفاده از یک نرم افزار FTP مثل Filezila به راحتی به کامپیوتر مبدا وصل بشیم و فایلها رو منتقل کنیم. IP کامپیوتر اول رو میدیم و کانکت میشیم.
توجه: این مطلب قدیمی است و صرفا جهت آرشیو حفظ شده است. ممکن است امروزه برخی موارد یکسان نباشند.
گوش دادن به موسیقی و رادیو و تقریبا هر چیز دیگهای که بشه شنید یکی از اصلی ترین تفریحات منه. تقریبا 95 درصد همه چیزایی که گوش میکنم روی موبایلم ذخیره شده یا از طریق اپهای متنوع ارائه دهنده محتوای صوتی پخش میشه. خب که چی؟! مشکل اینجاست که کیفیت صدای بلندگوی موبایل اصلا خوب نیست و حجم صدای مناسبی هم نداره. کاری که میخوام انجام بدم اینه که به طریقی صدای گوشی رو به لپتاپ منتقل کنم تا بتونم از یک اسپیکر یا هدفون همزمان برای موبایل و لپتاپ استفاده کنم و مجبور نباشم هر کدوم رو جدا متصل کنم. اگر با یک PC میخواستم این کار رو انجام بدم خیلی خیلی ساده بود. کارت صدا مادربردها 3 تا جک AUX داشتند که یکی برای خروجی بلندگو (همون سبزه) یکی مخصوص ورودی میکروفن(صورتی) یکی هم برای ورودیهای غیرمیکروفن (آبی). حالا فقط کافی بود یکم سیم کشی کنم و آبی رو بزنم به گوشی و سبز رو بزنم به اسپیکر (احتمالا یه کوچولو تنظیمات نرمافزاری) و پایان. ولی خب من از سیمکشی الکی متنفرم و علاوه براین لپتاپ من فقط یک پورت aux داره که دقیقا هم نمیدونم توش چه خبره به علاوه برای اتصال اسپیکر بهش نیاز دارم! پس باید به یک روش هیجانانگیر(!) دیگه گوشی رو به لپتاپم متصل کنم. اکثر توزیعهای دسکتاپ گنو/لینوکس pulseaudio را به صورت پیشفرض نصب دارند. pulseaudio برنامهایه که بین نرمافزار های مختلف و سخت افزارهای خروجی و ورودی صدا قرار میگیره و به شما اجازه میده کلی کار عجیب و غریب انجام بدید. مثلا صدای یک برنامه خاص رو کم کنید یا کلا قطع کنید، یا صدای اون برنامه رو بفرستید برای pulseaudioای که روی یک کامپیوتر دیگه اونور دنیا نصب شده و از اونجا بدید به خروجی صدا!
حاصل سر و کله زدن های من با لینوکس