لینوکس و من

حذف windows decorator در پنجره هایی که maximized میشن

compiz واقعا میشه گفت بهترین چیزی هست که یک دسکتاپ مدرن میتونه داشته باشه. و من برای تیم گنوم واقعا متاسفم که پشتیبانی از اون رو متوقف کردند. من الآن از دسکتاپ mate استفاده میکنم و هر کاری که دلم میخواد با compiz انجام میدم. یکی از این کارها، حذف حاشیه ی پنجره ها (windows decorator) از پنجره های maximize شده هست. البته قبلش باید برای سه تا عمل close و minimize و maximize شورتکات های خودتون رو تعیین کنید. برای تعیین شورتکات های دلخواه برای اینها، در برنامه ی تنظیمات compiz به قسمت General options و بعد Key bindings برید و این موارد رو برای این سه تا کار به دلخواه خودتون تغییر بدید. کیبورد شورتکات های خودم این ها هستند:
close window: <Super>space یعنی کلید ویندوز + اسپیس
minimize window: <Super>down یعنی کلید ویندوز + کلید جهت‌نمای پایین
toggle window maximized: <Super>up یعنی کلید ویندوز + کلید جهت‌نمای بالا

حالا آماده ایم که بریم سر اصل مطلب. به قسمت Window Decoration برید. میبینید که در فیلد Decoration Windows نوشته any. شما به جاش این عبارت رو قرار بدید: 
!state=maxvert

کار با compiz واقعا جذابه. خیلی کارها میتونید باهاش بکنید. وقت کنم حتما در مورد کارهاش مینویسم. مثلا میتونید هر برنامه ی دلخواهی رو در موقعیت خاصی از صفحه باز کنید. مثلا برنامه مرورگر همیشه در وسط صفحه با اندازه های مشخصی باز بشه. یا مثلا میتونیم کار کنیم که وقتی چیزی در حال کپی شدن هست، اون پنجره که پروسه ی کپی رو نشون میده، در گوشه ی صفحه باز بشه و همیشه روی همه ی پنجره ها قرار بگیره. یا میتونیم چیزهایی که لازم نیستن window decoration داشته باشن کاری کنیم که نداشته باشن. مثل همین پنجره ی کپی. یا پنجره هایی مثل shutdown یا delete و ... که به اینها میگن dialog. و خیلی کارهای خوب دیگه.
البته اینها فقط در دسکتاپ هایی قابل انجام هست که window manager اونها compiz باشه. مثلا در gnome-shell که ویندو منیجر mutter داره یا در دسکتاپ Pantheon که ویندو منیجر gala داره امکانش نیست. چون اینها بر اساس gnome 3 ساخته شدن و نمیتونن compiz رو اجرا کنن. اما مثلا mate, xfce, Openbox و حتی KDE میتونن compiz رو به جای ویندو منیجر خودشون انتخاب کنن.

تنظیم صدا

در حال حاضر از دسکتاپ Mate استفاده میکنم. متاسفانه تنظیم صدا و  کار با مدیاپلیر با کلید های Fn لپتاپ در Mate مشکل داره. کلید های مدیاپلیر رو که در نوشته های قبلی گفته بودم چطوری راه بندازیم. الآن Banshee به عنوان مدیاپلیر با کلید های Fn از اون روش کار میکنه. (vlc هم همین طور) و اما تنظیم صدا...
البته این متن رو بیشتر برای یاد آوری خودم نوشتم. و شاید به درد کس دیگه‌ای هم خورد. 
توی Compiz یا Keyboard Shortcuts این مقادیر رو میذاریم و براشون کلید های مورد نظرمون رو که همون کلید های Fn هستند قرار میدیم.

افزایش صدا:
amixer set Master playback 5%+
کاهش صدا:
amixer set Master playback 5%-
قطع/وصل کردن صدا:
amixer set Master toggle
ترکیب های مختلف و زیادی میشه در آورد. میتونید از manpage دستور amixer استفاده کنید.
یه مشکل وجود داشت و اون این بود که وقتی صدا رو کم میکردم، صدای برنامه ی پلیر هم میومد پایین. اما با بالا بردن صدا توسط این دستور ها، دیگه صدای پلیر بالا نمیومد. از این لینک اشکل رو پیدا کردم و حل شد.
این فایل رو ویرایش میکنیم:
sudo nano /etc/pulse/daemon.conf 
و مقدار عبارت flatvolumes  رو به no تغییر میدیم و اون رو فعال میکنیم (uncomment) و یک بار login/out میکنیم.
نکته: یک باگ در برنامه ی keyboard shortcuts در mate وجود داره که وقتی مقادیر دلخواه براش تعریف میکنیم، دیگه دفعه ی بعد برنامه اجرا نمیشه. من راه حلش رو پیدا نکردم. و از compiz استفاده کردم. و برای اینکه اون مقادیر رو پاک کنیم و برنامه دوباره اجرا بشه (که عملا بی فایده است) از این دستور استفاده کردم تا مقادیر دلخواهی که داده بودم پاک بشن.
dconf reset -f /org/mate/desktop/keybindings/
این روش فقط مخصوص mate نیست و در هر دسکتاپ دیگه ای میشه ازش استفاده کرد.

ساده کردن دستورهای pacman

میخوام این بار در مورد این بنویسم که چطوری فرایند نصب یا حذف بسته ها از خط فرمان رو ساده تر کنیم. البته در آرچ.
مثلا برای نصب یک بسته از مخازن از دستور pacman -S استفاده میکنیم. برای اینکه این دستور رو ساده تر کنیم، مثلا با یه دستور دلخواه مثل ins این کار رو انجام بدیم، میایم این اسکریپت رو میسازیم.

sudo nano /usr/local/bin/ins
و این محتوی رو توش مینویسیم:
#!/bin/bash
sudo pacman -S "$@"
حالا کلید ctrl + x رو بگیرید و اینتر بزنید تا فایل ذخیره بشه. و بعد فایلمون رو مجوز اجرایی بهش میدیم:
sudo chmod +x /usr/local/bin/ins
حالا مثلا این طوری میتونیم یه بسته ای مثلا libgdata  رو  از مخازن نصب کنیم. به راحتی:
ins libgdata
برای عملکرد های دیگه ی pacman هم میشه این کار رو کرد. مثلا برای نصب یک بسته که دانلودش کردیم، میتونیم این محتوی رو در یک اسکریپت دیگه مثلا با نام pkg بکار ببریم:
#!/bin/bash
sudo pacman -U "$@"

مثلا برای نصب بسته ای که در یک لوکیشن خاصی قرار داره، کافیه در ترمینال تایپ کنیم pkg و اون بسته رو از توی فایل منیجر drag کنیم جلوش که آدرس محلش بیفته جلوی دستور.

و برای حذف بسته ها، این محتوی رو در اسکریپت دیگه ای مثلا با نام rem قرار بدیم:
#!/bin/bash
sudo pacman -R "$@"
انتخاب اسم های rem, pkg, ins به دلخواه شماست.

solusOS از تپش می ایستد!

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

من قبلا یه مدتی با این توزیع کار کردم. مثل دبیان توزیع پایدار و خوبی بود. و بر خلاف پارسیکس، انجمن هاش شلوغ تر بود و توسعه دهنده اش ارتباط بهتری با کاربرانش داشت و سیستم به روز تری نسبت به پارسیکس داشت.

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

چگونه تنظیم پروکسی را هوشمندانه انجام دهیم

نکته مهم: این مطلب هرگز هیچ آنتی فیلتر یا پروکسی‌ای را معرفی نمی کند، و صرفا در مورد تنظیمات پروکسی مرورگر هاست. 

خب من مدتها با فایرفاکس کار میکردم، اما چون فایرفاکس خیلی سنگینه و سرعتش نسبت به کروم به طور قابل توجهی کمتره، مدتیه که دارم کروم رو امتحان میکنم. و اگر به خاطر افزونه ی fireftp نبود، الان اثری از فایرفاکس توی لپتاپم دیده نمیشد. بگذریم... میخوام روشی رو توضیح بدم که با اون بتونیم مدیریت پروکسی رو در کروم به صورت هوشمندانه ای انجام بدیم. یعنی چی؟ یعنی مثلا به کروم بگیم که چه سایت هایی رو از طریق پروکسی باز کن و چه سایت هایی رو مستقیم بدون پروکسی باز کن. و حتی اینکه فلان سایت از یه پروکسی، یه سایت دیگه از یه پروکسی دیگه استفاده کن! و همه ی اینها با چند کلیک مختصر. 
این فایده اش اینه که وقتی شما از پروکسی استفاده میکنید، که سرعت اینترنت رو طبیعتا میاره پایین، و گاهی هم قطع میشه، شما محکوم به این نباشید که نتونید از سایت هایی که لازم نیستند از پروکسی رفته باشن استفاده بکنید. مثلا فیسبوک بازه، و کلی تب های دیگه هم باز هستن. پروکسی قطع میشه، و مثلا یه سایت معمولی ورزشی هم دیگه کار نخواهد کرد. ما میخوایم یه کاری کنیم که فقط فیسبوک (و غیره) از پروکسی استفاده کنن.
اول اصلا ببینیم کروم یا کرومیوم رو چطوری نصب کنیم! در حال حاضر در آرچ با این دستور آخرین ورژن موجود نصب میشه:
sudo pacman -S chromium

و اما در اوبونتو و توزیع های مربوط به اون، من اوبونتو ندارم الان و نمیدونم این روشی که پیدا کردم جواب میده یا نه. اما میذارمش. اگه کسی امتحان کرد بگه.
sudo add-apt-repository ppa:saiarcot895/chromium-dev
sudo apt-get update
sudo apt-get install chromium-browser
البته در این لینک پروژه ی کرومیوم برای پلتفرم های مختلف قابل دانلود هست. که اینطوری دیگه مفهوم آپدیت شدن خودکار کروم از بین میره و باید دستی خودتون هر دفعه فایلش رو دانلوذ کنید و نصب کنید. عین ویندوز یه جورایی.

خب. کروم رو نصب کردیم. میخوایم بریم افزونه های دیگه ای رو نصب کنیم. اما مشکل اینجاست که سایت افزونه های کروم حالا یا فیلتره یا تحریمه یا هرچی، باز نمیشه. و باید با پروکسی برید!!! بنابراین از تنظیمات کروم پروکسی رو به چیزی که دارید تغییر بدید:
settings > show advance settings > change proxy settings
و بعد وارد قسمت extensions بشید و روی Get more extensions کلیک کنید و Proxy SwitchySharp رو جست و جو کنید. و نصبش کنید. یک آیکن کره ی زمین میبینید که اضافه میشه. از اون options رو انتخاب کنید.
در قسمتی که در عکس زیر میبینید، باید تنظیمات پروکسی خودتون رو وارد کنید. مثلا مال من این طوریه. شما میتونید چند تا پروفایل داشته باشید که هر کدوم مال چند پروکسی مختلف باشن. (منظور روشنه؟ دیگه اسم نبرم از پروکسی ها) البته الان فعلا دست نگه دارید. اول قدم بعدی رو انجام بدید!


به قسمت import/export برید و در قسمت Restore from online این لینک رو وارد کنید: http://mylaboratory.persiangig.com/other/SwitchyOptions.bak و روی دکمه‌اش کلیک کنید. با این کار تنظیماتی که من در مرورگر خودم دارم، بیکباره (!) وارد تنظیمات شما میشه. این تنظیمات شامل یک لیست بلند‌بالایی از وبسایت هاست که در کشور چین فیلتر هستند که اکثرا در اینجا هم همین طوره. به اضافه ی چند تا سایت دیگه که خودم اضافه کردم.

حالا به قمست قبلی برید میبینید که پروفایلی که من ساختم اونجا هست. شما با توجه به پروکسی خودتون، تغییرش بدید و همه چیز رو save کنید. حالا ببینیم چطوری کار میکنه...
اون آیکن کره ی زمین، سه تا نوع مختلف داره:
Direct connection: یعنی هیچ سایتی از پروکسی استفاده نکنه و مستقیما وارد اینترنت میشید.
Auto switch mode:‌ یعنی سایت ها طبق این لیستی که ما دادیم از پروکسی استفاده کنن.
و انتخاب پروفایل ها. که یعنی همه ی سایت ها از اون پروفایل استفاده کنن.

اگر یه سایتی رفتید که نیاز بود از پروکسی واردش بشید، خیلی راحت، روی آیکن افزونه کلیک کنید، و بزنید New Rule و بعد تنظیمات مربوطه رو انجام بدید (مثلا اون سایت از چه پروفایلی استفاده کنه) و Add رو بزنید. 
اگر سایتی رو باز کردید که با پیام خطای مرورگر مبنی بر اینکه پروکسی سرور اشتباهه، مواجه شدید. معنیش اینه که اون سایت جزو اون لیست هست و چون پروکسی شما روشن یا فعال نیست، سایت باز نشده. یکم که با این فزونه آشنا بشید و متوجه بشید که چطوری کار میکنه، میتونید اون لیست رو بیخیال شید و سایت هایی که خودتون میخواید رو بهش بدید.

کنترل نامحسوس ترافیک اینترنت!

تا به حال شده بخواید ببینید چه برنامه ای داره از اینترنت استفاده میکنه؟ حالا به هر دلیلی. مثلا متوجه شدید لینک مودم در حال فعالیته ولی شما کاری با اینترنت ندارید. یکی از برنامه های خوب که به درد من خورد nethogs هست. برای نصب این برنامه در آرچ، از این دستور استفاده کنید:
sudo pacman -S nethogs

حالا باید interface که با اون به اینترنت وصل هستیم به دستور nethogs بدیم. چطوری پیدا کنیم؟ با یکی از این دستورها متوجه اینترفیس های موجود میشیم:

/sbin/ifconfig -a
netstat -i
ip link show
و بعد به nethogs این طوری بگیم. مثلا:
sudo nethogs eth0


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

دانلود ویدئوی youtube در chromium

سیاست های گوگل اینه که ملت حق دانلود از یوتیوب رو ندارن! ولی آخه مگه میشه؟! من بعضی از ویدئو های یوتیوب رو واقعا باید فایلش رو داشته باشم. این کار توی فایرفاکس به راحتی با نصب یک افزونه امکان پذیره. اما در کروم که مال خود گوگله، این افزونه از فروشگاه کروم حذف شده.  برای اینکه بتونیم بر این سیاست زورگویانه چیره شویم، به این سایت برید و افزونه رو دانلود کنید. متاسفانه کروم گستاخی رو به درجات بالاتر هم برده و اجازه نمیده که از اون سایت افزونه ای نصب بشه. ولی ما فایل افزونه رو داریم. به قسمت extensions در تنظیمات کروم برید و فایل افزونه رو داخل کروم drag and drup کنید. و سپس در ویدئو های یوتیوب این رو می بینید:

و خب... دانلود کنین و لذت ببرین. من تست کردم و کار کرد. نسخه ی کرومیوم من ۳۰ و در آرچ لینوکس هستم.

 

اوه. البته برای دانلود ویدئو های دیگه از سایت های دیگه مثل فیسبوک، این افزونه رو نصب کنید: FVD Video Downloader

امضا رو توقیف کردیم برادر

برای آپدیت آرچ، این پیام خطا رو دریافت میکردم که بسته ی فلان، سیگنچر اشتباه داره. پاکش کنیم؟ بعد من میزدم نه، پروسه ی آپدیت متوقف میشد، میزدم آره، باز قطع میشد. گفتیم بریم خودمون به زور این بسته رو نصب کنیم!
error: libpng12: key "Daniel Wallace <danielwallace@gtmanfred.com>" is disabled
:: File /var/cache/pacman/pkg/libpng12-1.2.50-3-i686.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).

پس باید یه کاری کنیم که این سیگنچر فعال بشه. اول لیست سیگنچر ها رو با این دستور بروز میکنیم و میبینیم:

sudo pacman-key --refresh-keys
و بعد Daniel Wallace رو پیدا میکنیم که یه عددی داره. و اون عدد رو میذاریم توی این دستور:
sudo gpg --homedir /etc/pacman.d/gnupg --edit-key 4F010D48  enable quit
و بعد کاری رو که میخواستیم انجام میدیم.
راستش من نمیدونم این ارور چیه و چرا بوجود اومد. صرفا داشت روی اعصابم راه میرفت. و برای یاداوری این مطلب رو نوشتم.

USB3 چرا خاموش شد؟!

امروز برای اولین بار بعد از resume شدن از suspend متوجه شدم که پورت های USB3 کار نمیکنند. چاره ی کار بجستم و مشکل حل شد. صرفا جهت یادآوری خودم مینویسم. اگه این مشکل به طور مداوم برای شما پیش میاد، یه سری به لینک منبع بزنید.
sudo rmmod xhci_hcd
sudo modprobe xhci_hcd

آخرین سرور های بسته های آرچ رو داشته باشید

آرچ برای بسته های خودش سیستم جالبی رو داره. به این صورت که سرورهای مختلفی در سراسر دنیا بسته های آرچ رو در خودشون دارن. بنابراین شما میتونید بهترین سرور رو از نظر سرعت پیدا کنید و در لیست mirrors بسته ها قرار بدید. همه ی این کارها با این برنامه قابل انجام هست: reflector
اول این برنامه رو نصب کنید:
sudo pacman -S reflector
بعد این دستور رو اجرا کنید تا ۱۰ تا سرور پرسرعت به ترتیب لیست بشن.

sudo reflector --verbose -l 10 -p http --sort rate --save /etc/pacman.d/mirrorlist
برای اطلاعات بیشتر به منبع مراجعه کنید.