لینوکس و من

۲۱۶ مطلب با موضوع «ترفند» ثبت شده است

تنبلی

این مطلب چیز زیاد مهمی نیست، فقط خواستم یه ترفندی رو بگم که کارمون راحت تر شه. میتونید خروجی دستور man رو به یه فایل متنی بدید تا راحت تر بتونید باهاش ور برید! منظورم رو که متوجه میشید؟! مثلا:

man convert > ~/man-convert.txt

نکته: علامت ~ یعنی پوشه ی home یوزر شما.

جاوا و ترمینال

شاید شما هم مثل من برای عبور از سد محکم و استوار (هر هر) فیلتر از نرم افزار yourfreedom استفاده میکنید که جاوا هست. برای اینکه بتونید نرم افزار های جاوا رو در سیستمتون اجرا کنید نیاز به java runtime دارید. بسته openjdk6-6-jre این کار رو براتون میکنه.

اما وقتی بخواید دسترسی به این برنامه رو هرچه آسون تر و سریعتر کنید، یه شورتکات روی پنل ایده ی خوبیه. برای قسمت command باید یه برنامه ی jar رو این طوری اجراش کنید:

java -jar /path/to/java.jar

suspend و resume در زمان هایی که خودتون تعیین میکنید!

این بار فوق العاده ترین اسکریپتی که تا به حال پیدا کردم براتون میذارم!  داستان از چه قراره؟

 

بالاخره من هم یه نتبوک گرفتم! و PC رو دادیم خواهر کوچک جان در اتاقش کار کنه. قبلا با PC شبها شیره ی اینترنت رو میکشیدیم و میذاشتیم دانلود. (شبانه رایگان ADSL). خب PC رو از BIOS تنظیم کرده بودم سر ساعت معینی روشن میشد، کانکت میشد، تورنت باز میشد و دانلود میکرد، و سر ساعت معینی هم خاموش میشد. اما در نتبوک این تنظیمات در BIOS وجود ندارن. برای حل این مشکل و نیل به هدف شوم شیره کشی اینترنت چاره از اینترنت و لینوکس بجستم و این اسکریپت رو پیدا کردم. از اینجا دانلودش کنید. suspend_for

 

روش کار با این اسکریپت اینه که فایل مورد نظر رو با همین اسم در فولدر مثلا home یوزر خودتون قرار بدید. و با یکی از این دستور ها اجراش کنید:

 

~/suspend_for 1 hour

 

~/suspend_for 2 hours

 

~/suspend_for 1 minute

 

~/suspend_for 2 minutes

 

~/suspend_for 2 hours 30 minutes

 

معنی این دستور ها اینه که سیستم رو برای مدت مثلا یک ساعت (اولی) suspend کن و بعدش resume کن. بنابراین میتونیم اجرای این اسکریپت رو به cron بسپاریم و این کار به طور اتوماتیک خودش انجام بشه. مثلا وقتی ساعت ۷ صبح که اینترنت شبانه تموم میشه، به جای خاموش کردن سیستم، این اسکریپت اجرا بشه و سیستم رو برای مدت ۱۸ ساعت suspend نگه داره که بشه ساعت ۱ صبح فردا و resume بشه. یا به هر حال هر وقتی که بخواید این عمل اتفاق بیفته یه محاسبه کنید و زمان مورد نظر رو بهش بدید. این اسکریپت فوق العاده بود. دست سازنده اش درد نکنه. این اسکریپت برای من با اوبونتو ۱۱٫۰۴ کار کرد. اگر برای شما کار نکرد من نمیتونم راهنماییتون بکنم شرمنده.

 

نکته: حتما قبل از اجرای اسکریپت مجوز اجرا شدن رو بهش بدید.

 

منبع

ترمینال در دسکتاپ

آماده اید یه کار جالب بکنیم؟ به عکس زیر نگاه کنید...

یک دسکتاپ گنوم میبینید که در دسکتاپ شماره چهارش یه ترمینال بازه و کل صفحه تبدیل شده به ترمینال! قشنگه نه؟! پنل بالایی هم autohide شده. سوال. چرا پس توی تسکبار (پایین) ترمینال وجود نداره؟!  اصلا border های ترمینال کجان؟!!

برای اینکه یه همچین چیزی داشته باشید این کار ها رو دنبال کنید:

۱- ترمینال رو باز کنید و یک profile از منوی Edit با نام Transparency بسازید.

۲- در قسمت title and command از پنجره ی ویرایش پروفایل، initial title رو بذارید Transparency و همون جا از منوی کشویی keep initial title رو انتخاب کنید.

۳- در قسمت background هم transparency رو هر چه قدر که میخواید بذارید. (هر چه سمت چپ تر شفاف تر)

۴- حالا برنامه devilspie رو از هر طریقی که بلدید (!) نصبش کنید.

۵- این ها رو اجرا کنید:

mkdir ~/.devilspie

gedit ~/.devilspie/Transparency.ds

۶- حالا فایل Transparency.ds رو با ویرایشگر باز کنید و اینها رو توش ذخیره کنید:

(if (matches (window_name) “Transparency”) (begin maximize undecorate skip_pager skip_tasklist (set_viewport 4)))

۷- برنامه startup manager رو از منو ها پیدا کنید و این دو تا رو بصورت جدا گانه add کنید، تا از این به بعد با روشن شدن سیستم این ترمینال خاص باز شه.

devilspie -a

gnome-terminal --window-with-profile=Transparency

و در آخر میتونید یکبار login کنید تا نتیجه رو ببینید. در حقیقت devilspie برنامه ایه که شما میتونید با ایجاد پروفایل های متعدد نحوه ی باز شدن برنامه های مختلف رو تحت کنترل کامل خودتون بگیرید. مثلا میتونید تعیین کنید هر پنچره ای که توی عنوانش firefox داشت وقتی باز شد، maximize کنش. یا ببرتش توی فلان دسکتاپ. یا minimize کن و اسمش رو هم توی taskbar نیار! میتونید با man devilspie پارامتر های مختلف رو ببینید.

فکر میکنم با این برنامه میتونیم کامپیوتر خودمون رو هر چه بیشتر با نیازهامون وفق بدیم. احسنت بر لینوکس، احسنت.

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

تغییر حروف کیبرد!

وقتی لینوکس دارید یعنی چیزی نیست که نتونید داشته باشید!

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

در این جا: /usr/share/X11/xkb/symbols شما کل keyboard layouts رو میبینید. فایل مربوط به فارسی ir هست. بنابراین با دستوری شبیه این، فایل رو باز کنید:

sudo gedit /usr/share/X11/xkb/symbols/ir

و در خط ۷۳ این عبارت رو پیدا کنید: Arabic_semicolon و اون رو به quotedbl تغییر بدید. بنابراین یه چیزی خواهید داشت شبیه این:

key <AC11> { [ 0x10006af,        quotedbl,    quotedbl    ] };

فایل رو ذخیره کنید و یه بار restart کنید. حالا از این به بعد در کیبرد فارسی با گرفتن شیفت + گ میتونید ” رو تایپ کنید!

برای دیدن لیست کلید ها این عکس بدردتون میخوره. میتونید هر کلیدی رو هر طوری که خواستید تغییرش بدید. 

چند دستور خیلی بدرد بخور در terminal

۱- در موقع کار با terminal حتما براتون پیش اومده که دنبال یه دستوری که چند روز پیش وارد کردید بگردید. برای اینکار باید هی کلید up رو بزنید و یکی یکی دستورات رو برید بالا تا بالاخره بعد از معلوم نیست چند دقیقه دستور محترم رو پیدا کنید. ولی یه راه خیلی خیلی ساده هم هست! کافیه شما یکی دو کلمه از دستور یادتون مونده باشه. پس وقتی terminal بازه توش کلید control رو به همراه r فشار بدید! بعد یه همچین چیزی میبینید: (reverse-i-search)` حالا اون کلمه رو تایپ کنید. میبینید که دستورتون رو براتون پیدا میکنه! برای خروج از این حالت هم Esc رو بزنید.

 

۲- شده بخواید کرسر ماوس رو ببرید اول خط دستور؟ به راحتی Control + a رو بگیرید سریع اینکار رو براتون انجام میده. control + e هم میبرتش ته خط!

 

۳- دستور ps -ux لیست تمام پروسس هایی که در حال اجرا هستند رو براتون میاره.

 

لینوکس و وردپرس (تغییر رمز عبور)

اگر صاحب یک وبلاگ وردپرس شخصی هستید، تا به حال شده که رمز عبورتون رو فراموش کنید؟ یا آیا تا به حال شده که بخواید رمز عبور یکی از کاربرانتون رو تغییر بدید؟

خب خیلی ساده میزنید رمز عبور خود را فراموش کرده ام و یک رمز عبور جدید برای خودتون میسازید. اما با اون کاربر چه کار میکنید؟ یا اگه پیشخوان خراب شده باشه و نتونید از این طریق عمل کنید؟!

باید برید سراغ database وبلاگتون. به table کاربران وردپرس برسید و کاربر مورد نظر رو پیدا کنید و روی ویرایشش کلیک کنید.

در قسمت user_pass یه عبارت خیلی عجیب غریبی نوشته. مثلا این طوری: ۸۷۲b874f55d13597526df5217dd3d597 این همون پسورد شماست که به صورت کد در اومده. حالا اگه این رو بردارید و رمز عبور جدیدتون رو جاش بنویسید مسلما کار نخواهد کرد! باید رمز عبورتون رو به این کد تبدیل کنید.

اگر لینوکس دارید کار خیلی ساده است:

یک فایل مثلا با نام pass.txt بسازید و پسوردتون رو بذارید توش و save کنید. توجه کنید که فقط و فقط عبارت پسورد توش باشه. هیچ فاصله ای قبل و بعدش نباشه.

حالا در خط فرمان:

md5sum pass.txt

و بعد:

rm pass.txt

البته سایت هایی هستند که این کار رو میکنند. مثلا این

حذف پسورد PDF با یک دستور!

خب خب خب… و باز هم نیاز مادر کشف یا اختراع!!! حتما با PDF هایی که پسورد دارند مواجه شدید. بسته به سطح دسترسی که سازنده تعیین کرده، شما به یک سری چیزها دسترسی دارید یا ندارید. مثلا میتونید پرینت کنید یا نمی تونید و … اگر پسورد فایل رو ندونید هیچ کاری نمیتونید بکنید. در ویندوز نرم افزارهای خنده داری هستند که پسورد فایل PDF رو پیدا میکنند. اما در لینوکس یک چیز بسیار ساده و فوق العاده ای هست که به راحتی و با یک خط دستور در ترمینال فایل PDF شما رو بعله…

برای اینکار، در Terminal دستور بفرمایید:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/home/amin/bedoone-password.pdf -c .setpdfwrite -f  /home/amin/Desktop/baa-password.pdf

هم اکنون برید حالش رو ببرید. اما چه شد که دنبال این رفتم؟ در گوشیم فایل های password دار باز نمیشن! و اینجوری تونستم بازشون کنم. هیپ هیپ هورا.

کارایی بهتر دکمه ی print screen

سلام. دکمه ی print screen در Gnome برای ما یک عکس از صفحه میگیره و میتونیم اونو save کنیم. حتما با برنامه ی shutter آشنا هستید. میتونید این برنامه رو از synaptic نصب کنید. shutter یک ابزار خیلی خوب و ساده برای عکس گرفتن از دسکتاپ در انواع مختلف هست. مثلا عکس از پنجره ی فعال، عکس از منو ها، عکس از محتوای یک پنجره و عکس از محدوده ی انتخابی ما. یعنی selection. من میخوام با فشار دادن دکمه ی print screen به جای اینکه برنامه ی پیش فرض گنوم عمل کنه، shutter عمل کنه و اون هم در حالت selection.

بعد از نصب این برنامه، به سراغ keboard shortcuts  منوی preferences از منوی system برید. اونجا عبارت take a screenshot of a window رو پیدا کنید که جلوش نوشته Alt+print. روی Alt+print کلیک کنید و بعد backspace رو بزنید. حالا در عبارت take a screenshot که جلوش نوشته print روی print کلیک کنید و alt+print رو فشار بدید.

حالا روی دکمه ی Add کلیک کنید. میخوایم یه shortcut جدید بسازیم. اسمشو مثلا بذارید shutter. در قسمت command بنویسید: shutter –selection و بعد ذخیره کنید. حالا جلوش که نوشته disable روش کلیک کنید و دکمه ی print screen رو فشار بدید.

تموم شد. از این به بعد با فشار دادن این دکمه برنامه ی shutter در   حالت selection اجرا میشه و با فشار دادن Alt + Print همون برنامه ی پیش فرض گنوم میاد که از کل صفحه عکس میگیره.

ویرایش یک اتوبوس عکس در ترمینال!

عنوان ایهام تناسب داره! منظورم اینه که ویرایش چندین عکس در خط فرمان لینوکس. تنها با یک خط دستور! مثل مطلب قبلی از دستور for استفاده میکنیم تا عکس ها رو در یک فولدر پیدا کنه و بعد تغییرات خودمون رو روی عکس ها میدیم. تغییراتی که خودم لازم داشتم، یکی تغییر اندازه ی عکس ها به ۸۰۰×۶۰۰ بود و یکی گذاشتن یک watermark روی تک تک عکس ها. برای این کار اول باید imagemagic رو نصب کنیم و بعد بریم توی فولدر عکس ها و ترمینال رو اونجا باز کنیم. آنگاه: (!)

 

اول تغییر اندازه ی عکس ها:

 

for k in $(ls *.JPG); do convert -resize 800x600 -quality 90 $k re-$k; done

 

با این دستور عکس های با پسوند JPG (دقت کنید که به حروف بزرگ و کوچیک حساسه) تبدیل به عکس هایی با اندازه ی ۸۰۰×۶۰۰ با کیفیت ۹۰٪ میشن که اول اسمشون re داره. یعنی فایل اصلی دست نخورده باقی میمونه.

 

حالا میخوایم به عکس های جدید یک watermark بیفزاییم! یعنی مثلا اسم خودتون، یا وبسایتتون… بطن کار اینه که دستور پایینی دو تا عکس رو با درجه شفافیتی که تعیین میکنیم میندازه روی هم.  پس ما یه عکس کوچیک میسازیم که توش نوشته مثلا delstory.com . اندازه این عکس wm.png مثلا هست ۱۲۷×۲۷ و بعد اون رو با درجه شفافیت ۸۰% میندازیم روی عکس ها.

 

for k in $(ls re*.JPG); do composite -watermark 80% wm.png $k wm-$k; done

 

نتیجه ی این دستور، فایهایی هستند به نام wm-re-FILENAME.JPG که دارای سایز ۸۰۰×۶۰۰ و مارک دلخواه شما هستند. بنا بر این الآن سه گروه فایل داریم. یک گروه فایل اصلی (اولیه) و دست نخورده. یک گروه عکس هایی که فقط تغییر اندازه پیدا کردن و یک گروه عکس هایی که تغییر اندازه پیدا کردن و watermark روشون قرار گرفته. میتونید گروه دوم یا اول رو حذف کنید.