لینوکس و من

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

باز کردن new tab هنگام اجرای فایرفاکس

برای اینکه وقتی فایرفاکس باز میشه ما صفحه ی speed dial خود فایرفاکس رو ببینیم، باید در قسمت Prefrences در قسمت آدرس Home page اینو قرار بدیم:

about:newtab

حذف بوردر فایرفاکس در گنوم ۳

برای اینکه فضای بهتری در کار در گنوم ۳ داشته باشیم، میتونیم با این افزونه بوردر یا دکوریشن فایرفاکس رو موقعی که در حالت maximized قرار داره حذف کنیم.

انتقال فایل بین دو لپتاپ لینوکسی

اگر لپتاپ جدیدی خریده باشید و بخواید که فایلهای لپتاپ قدیمی رو به جدیده منتقل کنید، یک راه ابتدایی اینه که فایلها رو روی فلش مموری جابجا کنید! که عملا کار بیهوده ایه.
اما میشه از یک راه بسیار ساده این کار رو انجام داد. ما به یک کابل معمولی شبکه نیاز داریم که دوتا کامپیوتر رو به هم متصل کنیم و بعد فایلها رو از این طریق جابجا کنیم.
بعد از اینکه کامپیوترها رو با یک کابل شبکه به هم وصل کردید باید برای هر دستگاه یک 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 غیر ایمن کارمون راه میفته.

در کامپیوتر مقصد، با استفاده از این دستور ماژول مربوط به پایتون رو نصب میکنیم:
yaourt -S python-pyftpdlib
یا
yaourt -S python2-pyftpdlib




حالا در دایرکتوری ای که میخوایم فایلها رو از اون منتقل کنیم یک ترمینال باز میکنیم و این دستور رو اجرا میکنیم

python -m pyftpdlib -w
یا
python2 -m pyftpdlib -w




حالا میتونیم در کامپیوتر مقصد با استفاده از یک نرم افزار FTP مثل Filezila به راحتی به کامپیوتر مبدا وصل بشیم و فایلها رو منتقل کنیم. IP کامپیوتر اول رو میدیم و کانکت میشیم.

اضافه کردن چند کلید دلخواه به کیبرد!

من یکی از کسانی هستم که کمتر از کیبرد لپتاپ استفاده میکنند و تقریبا 90 درصد اوقات یک کیبرد به لپتاپ متصل میکنم. اما کیبرد دوم من یک کیبرد کاملا ساده است(هیچ کلید اضافه ای برای کنترل مدیا و غیره ندارد) و خب این مساله کمی آزاردهنده است که برای رد کردن یک موسیقی از ماوس یا کیبرد لپتاپ استفاده کنم!
برای حل این مشکل 2 راه حل بیشتر نداشتم:
1- تغییر تنظمیات keyboard shortcut اوبونتو. این راه حل قطعا راه مناسبی نیست، چون نمیشه بیش از یک میانبر برای دستورهای کنترل مدیا تنظیم کرد(شاید بشه ولی من اطلاع ندارم!)، پس کل میانبر های اصلی کیبرد لپتاپ از کار می افتاد که اصلا خوشایند نیست.
2- اضافه کردن این کلید ها به کیبرد. (منظورم این نیست که به صورت فیزیکی چنتا کلید اضافه کنم!) یعنی چنتا شرتکات جدید داشته باشم که ازشون برای کنترل مدیا استفاده کنم.
ساده ترین راهی که برای این کار به نظر من رسید استفاده از  xdotool بود. از این ابزار میتوان برای شبیه سازی ورودی های موس و کیبرد (و سایر ورودی ها!)، و تغییر اندازه پنجره ها، و ... استفاده کرد. استفاده ما در اینجا خیلی ساده است و زیاد درگیر این ابزار نمیشیم. اگر علاقه دارید بیشتر با این پکیج آشنا بشید man در خدمت شماست!
خب xdotool یک دستور داره به اسم key که اسم هر کلیدی که بهش میگید رو فشار میده! (البته واقعا فشار نمیده! مجازیه!) مثلا:
 xdotool key a
به xserver میگه که a روی کیبرد فشار داده شد!
خب تا الأن یه کد کوچک دارم که میتونم جای اینکه به خودم زحمت بدم، دستم رو دراز کنم و کلیدی رو روی کیبرد لپتاپ فشار بدم، به کامپیوتر دستور بدم اینکارو انجام بده!
این یک مطلب لینوکسی نیست. اما چون مشکل خیلیهاست نوشتم

کلا در ایران جان ما اهمیت به حقوق مصرف کننده در حد زیر خط فقره. با اینکه به خیلی چیزها پول میدیم و حق داریم ازشون در آرامش استفاده کنیم، نه تنها در استفاده کردن از اون ها آرامش نداریم، بلکه وقتی اعتراض میکنیم با این فلسفه ی نهادینه شده در جامعه ایران روبرو میشیم که "همینه که هست، از این به بعدش هم همینه".
مسئله ی پیامک های تبلیغاتی منحوس و بی مصرف و هرچی بگم بازم کمه هم همینه. ساعت به ساعت پیامک تبلیغاتی میاد. با اینکه صدبار غیر فعالش کردم، زنگ زدم به مثلا پشتیبانی (که تنها کارش در هر مشکلی اینه که مشکل شما رو تایید کنه و هیچ کار دیگه ای نکنه) اما در نهایت جوابی که شنیدم این بود که همینه که هست از این به بعد هم همینه. حتی گفتند اگه خودت فهمیدی چطوری به ما هم بگو!
اما حالا به یک راه حل دائمی برای اینکار رسیدم که به طور تمام و کمال از شر همشون راحت شدم. البته کمی توضیح لازم داره و کار هم ممکنه برای بعضی ها پیچیده باشه. اما نتیجه بسیار دلنشینه!

  • آندرویدهای پایین تر از نسخه ۴.۴ این مشکل رو ندارند. با نصب نرم افزار Blacklist pro میتونن خیلی راحت پیامک های تبلیغاتی رو با انواع و اقسام روشها بلاک کنند. مثلا تعیین کنند اگر در یک پیامک کلمه "تخفیف" وجود داشت، فیلتر بشه. یا تعیین کنند هر شماره ای که با ۰۹۰۳ شروع شد فیلتر بشه و ... (در ادامه توضیح داده شده است)

  • آندروید های ۴.۴ و بالاتر متاسفانه به دلیل تغییراتی که در سیستم مدیریت اس ام اس توسط گوگل در آندروید داده شد این امکان دیگه وجود نداره که چند تا برنامه بتونن روی اس ام اس ها مدیریت کنند. بنابراین فقط در صورتی میتونین اس ام اسی رو فیلتر کنین که این ویژگی در خود برنامه ی مدیریت اس ام اس‌های شما وجود داشته باشه. که اکثر برنامه های اس ام اس پیشفرض گوشی این ویژگی رو ندارند. برنامه هایی هم که قابلیت فیلتر کردم اس ام اس بصورت کلمه ی داخل پیامک ها رو دارند بسیار کم هستند و من هرچی برنامه بود امتحان کردم اما مفید واقع نشد.
اما یک راه حل برای آندروید های ۴.۴ (و احتمالا بالاتر، چون من امتحان نکردم) وجود داره. و اون عملیات به ظاهر پیچیده اما در باطن ساده ای که در ادامه ی مطلب بخونید...

اول برای اینکه بفمید ورژن آندروید شما چیه، از منوی گوشی آخریییین گزینه یعنی About phone رو انتخاب کنید. اونجا نسخه آندروید شما رو نوشته 

چند ترفند ssh برای انتقال فایل

یکی از مشکلات همیشگی هنگام اتصال به سرورها از طریق شبکه، انتفال فایل است. ابزار هایی مثل sftp با وجود کارایی فراوان، مشکلاتی هم دارند، مثلا استفاده مکرر از آنها ملال‌آور است و اصلا برای اسکریپت نویسی مناسب نیستند و مشکلاتی مثل سطح دسترسی و غیره هم ممکن است رخ دهد.
یک راه حل جالب برای این مشکلات استفاده مستقیم از خود ssh است. مثلا به کمک دستور زیر میتوان فایلی را از سرور به کلاینت منتقل کرد.
ssh <server_ip> cat /path/to/file >/path/to/file/on/client
حال برای مثال اگر با فایلی مواجه باشیم که خواندن آن نیاز به دستور روت دارد به سادگی میتوان نوشت:
ssh -tt <server_name> sudo cat /path/to/file > /path/to/save/file
اما مزایای این روش فقط به همین جا محدود نمیشود میتوان کار های جالب تری انجام داد که برای sftp غیر ممکن است. مثلا:
 ssh <server_ip> curl http://example.com >/path/to/save
ssh <server_ip> "dd if=/dev/sdx |gzip -c9" >/path/to/save
که از اولی میتوان برای دانلود مستقیم یک فایل به کمک ssh و از دومی برای بکاپ گرفتن از یک سیستم روی شبکه کمک گرفت. تقربیا میتوان از هر ترکیبی استفاده کرد. و stdout هر دستوری را که روی سرور اجرا میشود مستقیما روی کلاینت ذخیره کرد و از مزایای رمزنگاری و ارتباط امن ssh بهره برد.
علاوه بر این میتوان از این مزیت در جهت عکس نیز استفاده کرد. مثلا به کمک این دستور میتوان از سیستم بکاپ گرفت و مستقیما روی یک کامپیوتر روی شبکه ذخیره کرد:
"dd if=/dev/sdx| gzip -c9 |ssh <server_name> "cat > /path/to/file
تذکر: فراموش کردن " ها میتواند نتایج جالبی داشته باشد :)
حتی میتوان فایل هایی را بازنویسی کرد که ویرایش آنها نیاز به دستور روت دارد.
cat /file/on/client |ssh -tt <server_address> sudo tee /path/to/file
نکته:‌ درصورت استفاده از sudo در دستورات ssh باید از سویچ -tt استفاده کنید.

علاوه بر همه این مثال ها میتوان از قدرت bash و ابرازهای مختلف استفاده کرد و به ترکیب‌های هیجان‌انگیز بیشتری رسید. اگر مثال های جالبتری به ذهنتان رسید آنهارا باما در میان بگذارید.

آپدیت:
به توصیه یکی از دوستان تصمیم گرفتم توضیح مختصری درباره دستور scp به این پست اضافه کنم.

چطوری ساعت xfce رو بیاریم وسط!

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



باید برای اینکه یک ساعت ثابت در وسط داشته باشیم یه ترفند به کار ببریم. باید سه تا پنل درست کنیم! گرفتید دیگه چی شد؟ و توی پنل وسطی، ساعت رو قرار بدیم و دو تا separator در حالت Transparent و Expand در دو طرف ساعت قرار بدیم تا در وسط پنل قرار بگیره.
در پنل سمت راست هم من قسمت نوتیفیکیشن ها و منوی برنامه ها رو گذاشتم، و در پنل سمت چپ هم دکمه ها و title پنجره در حالت maximized.

شکلک رنگی


در حالت عادی شکلک ها بدون رنگ و سیاه و سفید هستند،اما با نصب این شکلک ها رنگی و باحال میشن برای نصب روی آرچ هم

 yaourt -S emojione-color-font

و اوبونتو

 sudo apt-add-repository ppa:eosrei/fonts
sudo apt-get update
sudo apt-get install fonts-emojione-svginot


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

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

کافیه یک فایل به این اسم در پوشه ای که میخواهید فایلها و پوشه هایی رو مخفی کنید بسازید hidden. و در اون اسامی چیزهایی که میخواید هر کدوم در یک خط بنویسید و ذخیره کنید. و بعد یک بار فایل منیجر رو ببندید و باز کنید. خواهید دید که فایلها مخفی شدند. و البته با کلید Ctrl + H نمایش داده میشن.
به گفته لینک منبع این در nautilus هم عمل میکنه. و من الان با Thunar در Xfce هم که امتحان کردم کار میکنه.
چقدر خوب واقعا

آوردن صفحه لپتاپ توی گوشی!

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

البته چون تبلت من 4:3 هست اینجوری شده.
 

هرچند راه های مختلفی برای اینکار هست، اما ما میریم سراغ یک راه خیلی ساده و کم دردسر به نام vnc یا virtual network computing.
ایشون همون مسئول ایجاد کانکشن های remote desktop هستند. که حالا ما میخوایم از یک اپلیکیشن ساده ی آندرویدی استفاده کنیم و به سیستم لپتاپ یا کامپیوتر خونگیمون ریموت کنیم.
در حال حاضر این اپلیکیشن به نام bVNC رو میتونید از اینجا دانلود کنید و در دستگاه آندرویدی خود نصب کنید.

حالا بریم سراغ کامپیوتر، در اینجا مانجارو. به ادامه ی مطلب برید تا دستورات و باقی ماجرا رو بخونید...