لینوکس و من

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

اتصال خودکار کانکشن vpn در لینوکس

چندی پیش مشکلی برای دوستم توی خوابگاه پیش اومده بود که کانکشن vpn قطع میشد و دانلودهاش نصفه شب ها نصفه میموندن!چاره ی کار بجستم و این راه یا بیافتم.
خب. اول شما کانکشن vpn مورد نظرتون رو بسازید. یا قبلا ساختید! و بعد دستور زیر رو اجرا کنید:
nmcli con
این دستور کانکشن های شما رو لیست میکنه و برای هر کدوم یک عبارت معینی به نام uuid نشون میده. شما کانکشن مورد نظرتون رو پیدا کنید و uuid مخصوص به اون رو در اسکریپت زیر جایگزین کنید. همچنین اسم کانکشن رو هم جایگزین کنید.


#!/bin/bash
while [ "true" ]
do
    VPNCON=$(nmcli con status)
    if [[ $VPNCON != *khabgah* ]]; then
        echo "Disconnected, trying to reconnect..." & zenity --info --title="VPN reconnected" --text="VPN connection khabgah has been disconnected. Please wait to auto reconnect..."
        (sleep 1s && nmcli con up uuid fe7cb00d-86b1-4457-a4df-32657c78dc4b)
    else
        echo "Already connected !"
    fi
    sleep 30
done

حالا اسکریپت بالا رو در یک فایل متنی دخیره کنید  مجوز اجرا شدن رو بهش بدید. (کلیک راست، properties , permissions و بعد allow executing file as a programs . این اسکریپت رو میتونید بدید به scheduled task تا براتون موقع بوت شدن اجرا کنه. یا یه کار دیگه هم که میشه کرد اینه که آدرس این اسکریپت رو در فایلی به نام profile. یا bashrc. که به صورت مخفی در فولدر home کاربر وجود داره قرار بدید. مثلا این خط رو:

/home/amin/Autovpnscript

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

mount کردن فایل های iso با یک کلیک راست

کافیه این بسته رو نصب کنید تا از این به بعد بتونین در nautilus روی یک فایل iso راست کلیک کنین، و بعد بزنین mount تا اون فایل به راحتی mount بشه.


نکته: من روی nautilus 2.32.2 امتحان کردم. نمیدونم روی گنوم ۳ جواب میده یا نه.

پخش آهنگ های موجود در یک فولدر در nautilus

دوست داشتم روی یک فولدر کلیک راست کنم و بزنم مثلا play all !
اینجا یه سری اسکریپت برای nautilus وجود داره که با نصب کردن اون ها به راحتی میشه این امکان رو اضافه کرد. منتها فقط برای banshee و mplayer و amarok.



فعلا فرصت ندارم. باید سر فرصت کد ها رو ببینم، ببینم چطور میشه مثلا totem رو قرار بدیم.
نکته: من روی nautilus 2.32.2 امتحان کردم. نمیدونم روی گنوم ۳ جواب میده یا نه.

فعال/غیر فعال کردن اسکرین سیور گنوم با کیبورد

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

#!/bin/sh

gconftool-2 --toggle /apps/gnome-screensaver/idle_activation_enabled
notify-send "Screen Saver status is" `gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`

exit 0

و به این فایل مجوز اجرایی بدید: (یا با دستور، یا روش رایت کلیک کنید و در properties مجوز اجرا شدن رو تیک بزنید)
chmod a+x togglescreensacer
این فایل رو کپی کنید در این پوشه:
sudo cp togglescreensaver /usr/bin

حالا با دستور togglescreensaver به راحتی اسکرین سیور شما فعال یا غیر فعال میشه. یه notification خوشگل هم گوشه تصمیر براتون میاد:



میتونید برای دستور جدیدی که ساختید یه shortcut هم برای کیبردتون تعریف کنید. تا با یه کلید ترکیبی این عمل به راحتی قابل انجام باشه.
توجه: این روی گنوم نسخه ۲ تست شده. اگر کسی روی نسخه ۳ تست کنه و نتیجه رو در کامنت ها بگه ممنون میشم.

ویرایش: متوجه شدم که اسکرین سیور درست کار میکنه، اما چون من در gnome power manager تنظیم کردم مانیتور بعد از ۱۰ دقیقه که از سیستم استفاده نکنیم، خاموش میشه. بنابراین باید یه فکری به این قضیه هم بکنیم.
با یکم ور رفتن! راه حل رو پیدا میکنم و اسکریپت بالا به شکل زیر در میاد:

کد اصلاح شده (ویرایش دوم!):
#!/bin/sh

STAT=`gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`
      if [ "$STAT" = "false" ];
         then gconftool-2 --toggle /apps/gnome-screensaver/idle_activation_enabled & gconftool-2 -t int -s /apps/gnome-power-manager/timeout/sleep_display_ac "600";
         else gconftool-2 --toggle /apps/gnome-screensaver/idle_activation_enabled & gconftool-2 -t int -s /apps/gnome-power-manager/timeout/sleep_display_ac "6000";
      fi
notify-send "Screen Saver status is" `gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`
exit 0

خاموش نگه داشتن مانیتور بدون دکمه!

مدتها پیش مطلبی نوشته بودم با عنوان خاموش کردن مانیتور بدون دکمه. اون روش قبلا کار می کرد، اما بعد از مدتی متوجه شدم وقتی مانیتور رو خاموش میکنم، چند دقیقه یا ثانیه بعد خودش روشن میشه. اولش فکر کردم تقصیر ماوس هست! ولی نه، ماوس بی گناه بود. سرچی کردم و این راه یافتم.  به جای دستور قبلی، از این استفاده کردم و مشکلم حل شد:
xset s blank ; sleep 1 ; xset s activate
میتونید این دستور رو با یک keyboard shortcut ادغام کنید و لذت ببرید. اونهایی که compiz دارن هم میتونن تنظیم کنن مثلا وقتی ماوس رو به یکی از گوشه های مانیتور میبرن مانیتور خاموش بشه.

چینش دلخواه دکمه های titlebar در metacity

شاید بخواید در دسکتاپ گنوم جای دکمه های close, minimize, maximize رو تغییر بدید. حتی ترتیبشون رو. یا شاید هم بخواید maximize رو حذف کنید. چون با دبل کلیک روی titlebar پنجره maximize میشه و برعکس. یا ممکنه دوست داشته باشید بین دکمه ی close و بقیه یک فاصله بندازید تا اشتباهی چیزی رو نبندید!
gconf-editor رو نصب کنید و این مسیر رو برید: apps, metacity, general. اون وقت button_layout رو میبینید. روش کلیک کنید، توضیحاتش رو بخونید متوجه میشید. مثلا برای عکس زیری این عبارت رو میذاریم:



close,spacer,maximize,minimize:

علامت : تعیین میکنه که دکمه ها سمت چپ باشند یا راست.
و اگه میخواید که یه دکمه ای اون طرف titlebar باشه، اون رو جلوی : بذارید. مثلا با عبارت زیر، من سه تا دکمه ی اصلی رو سمت چپ دارم و یه دکمه ی menu سمت راست titlebar دارم.

close,spacer,maximize,minimize:menu

من این موضوع رو در گنوم ۲ و metacity امتحان کردم. نمیدونم در گنوم ۳ هم همینه یا نه.

تبدیل گوشی به تاچ‌پد ماوس!

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

۱- اپلیکیشن رو نصب کنید.
۲- اگه میخواید با وایرلس این کار رو بکنید، باید یه کانکشن وایرلس Ad-hoc توی کامپیوتر درست کنید. ترجیحا بدون security. و گوشی رو به وایرلس کامپیوتر متصل کنید. این کار توی گنوم به راحتی انجام میشه.
۳- اگه میخواید با بلوتوس اینکار رو بکنید بلوتوس کامپیوتر رو روشن کنید و اون رو هم visible کنید.
۴- اپلیکیشن رو در گوشی اجرا کنید. مراحل رو یکی یکی طی کنید. خیلی ساده است. نیازی به توضیح نداره. خود اپلیکیشن برنامه ی مورد نظر برای نصب در کامپیوتر رو به کامپیوتر میفرسته. یعنی شما انتخاب میکنید که سیستم عامل کامپیوتر چیه* و اپلیکیشن فایل لازم رو میفرسته به کامپیوتر. به همین راحتی.
۵- بعد از اینکه ارتباط برقرار شد، لذت ببرید!

-----
* ویندوز - لینوکس ۳۲ بیت و ۶۴ بیت.  متاسفانه برای مک وجود نداره. برای لینوکس کتابخانه های qt4 رو باید نصب داشته باشید.

کشتن پنجره ها!

اونهایی که با گنوم ۲ خدابیامرز کار میکنن حتما با اپلت Force Close آشنا هستند. با کلیک روی اون میتونستیم یه پنجره رو به زور ببندیم! حالا دلیلش بماند.
میتونیم با استفاده از xkill هم این کار رو بکنیم. برای ساده تر شدن کار، یه شورت‌کات میسازیم و xkill رو به عنوان command اون قرار میدیم. که مثلا با فشردن کلیدهای ctrl + alt + esc برنامه xkill شروع میشه و ماوس تبدیل به یه X میشه. حالا اینو روی هر چی کلیک کنیم میییمییییره!

حل مشکل نمایش پنل گنوم

ممکنه شما از تمی استفاده کنید که با این مشکل مواجه شده باشید:



وقتی یه پنل عمودی میسازیم، یا وقتی ارتفاع پنل افقی رو زیاد میکنیم این شکلی میشه. برای این که این مشکل برطرف بشه، با کاربر root وارد پوشه ی تم ها بشید. در ترمینال تایپ کنید:

sudo nautilus /usr/share/themes

حالا وارد پوشه ی تم مورد نظر بشید. وارد پوشه gtk-2.0 بشید. و داخل پوشه ها دنبال فایلی بگردید که شبیه این باشه: panel.rc اون رو باز کنید و توش دنبال عبارت bg_pixmap بگردید. و پشتش یه # بذارید. تا این شکلی بشه bg_pixmap# حالا یه بار تم رو عوض کنید. و دوباره همین تم رو انتخاب کنید.
مشکل حل میشه :)

ترمینال داخل خود nautilus

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



این برای کسایی که با ترمینال سر و کار دارند خیلی خیلی خوبه و کارها رو بسیار ساده تر میکنه. برای اینکه این افزونه رو نصب کنید، اگر دبیان یا توزیع های مشابه دبیان دارید، این خط رو به فایل مخازن اضافه کنید:

deb http://ppa.launchpad.net/flozz/flozz/ubuntu natty main

البته فکر میکنم مهم نیست کدوم توزیع اوبونتو رو در خط بالا بذاریم. البته به شرطی که اون توزیع در مخزن مورد نظر وجود داشته باشه. من natty رو انتخاب کردم.

و بعد از یک بار reload کردن بسته ها، nautilus-terminal رو نصب کنید.
اونهایی که اوبونتو دارند، از این روش استفاده کنند:
sudo add-apt-repository ppa:flozz/flozz sudo apt-get update sudo apt-get install nautilus-terminal

و در آخر، یک بار این رو اجرا کنید: nautilus -q . حالا اگه nautilus رو اجرا کنید میبینیدش! میتونید تنظیم کنید که با شروع nautilus، این افزونه به صورت hidden شروع بشه.
شورتکات برای پنهان/آشکار کردن: Ctrl + Shift + T