بعضی وقتا یه سری نکته ها یهویی از آسمون هفتم میریزه تو دامن آدم و اینجاست که یه دفتر خوب،یه قلم همراه به کار میاد.

از اونجایی که قلم و دفتر ما شده کیبورد و لب تاب و مانیتور و سنگ نوشته هامو دیگه از این به بعد قراره اینجا "دائمی" کنم تصمیم گرفتم نکته هایی که بعضا تو کار با آرچ بهشون بر میخورم و به نظرم کاربردی میان رو باهاتون در میون بذارم.امید که یک نگاه گذرا، برای رفع مشکل تون کافی باشه *:(البته اینم بگم انواع و اقسام آموزش ها اینجا هست.بزرگان به بزرگی خودشون ببخشن اگه آموزش های مبتدی هم توشون پیدا میشه.خواستم یه چیزی درست کنم به درد همه قشری بخوره)

*فعال کردن وایرلس پس از نصب:

1-sudo pacman –S net-tools
1-1-(ifconfig)
2-sudo pacman -S network-manager-applet
3-sudo systemctl stop dhcpcd.service
4-sudo systemctl disable dhcpcd.service
5-sudo systemctl enable NetworkManager
6-sudo systemctl start NetworkManager

*تغییر بازکننده خودکار فایل ها:(از anjuta به nautilus)

xdg-mime default org.gnome.Nautilus.desktop inode/directory

و در حالت کلی برای ست کردن اپلیکیشن های پیش فرض بایستی به مسیر زیر مراجعه کنیم:

~/.config/mimeapps.list

در اینجا لیست بلند بالایی از برنامه های پیش فرض را به ازای هر پسوند فایلی مشاهده میکنیم.برای اضافه کردن یک mime-type جدید کافی ست یک عنصر دیگر به این عناصر اضافه کنیم.مثلا من میخواهم فایل های php من که با anjuta باز می شوند به sbulime تغییر کنند.کافی ست عنصر زیر را اضافه کنم:

application/x-php=sublime_text_3.desktop

برای اطلاعات بیشتر اینجا،اینجا را ببینید.

برای باز کردن فایل ها با gedit:

text/plain=org.gnome.gedit.desktop;

و برای باز کردن با atom:

text/css=atom.desktop

*نصب تم:

ابتدا میریم از سایتی که میخوایم تم دانلود کنیم،تم مدنظر رو دانلود میکنیم.بعد باید فایل زیپ رو از حالت فشرده خارج کرده و محتویاتش رو به مسیر زیر منتقل کنیم:
/usr/share/themes

حل مشکل ست نشدن تم و آیکون توسط Tweak tool:

کافیه هر چی تم و آیکون که تو مسیر /usr/share/themes و /user/share/icons هست رو بریزید تو مسیر های:~/.icons , ~/.themes

*نصب جاوا:

برخی برنامه ها هستند که برای اجرا شدن نیاز به جاوا دارند.هم چون xdm.برای نصب جاوا از دستور زیر استفاده کنید:

[saeed@saeed ~]$ sudo pacman -S jdk8-openjdk 

*دادن دسترسی write به پارتیشن ntfs:

ntfsها در لینوکس به صورت readonly مانت میشن.واسه اینکه بشه اونا رو بهشون دسترسی writeهم داد باید بسته زیر که در مخزن Extra موجود هست رو نصب کرد:

ntfs-3g

بعد سیستم رو ریبوت کرد و از تغییر حاصل شده لذت برد.

*اضافه کردن دکمه مینیمایز و ماکزیمایز بعد از نصب گنوم:

بسته gnome-tweak-tools رو نصب کنیم.

pacman -Syu
pacman -S gnome-tweak-tool

*تغییر کانفیگ برنامه ها و آوردن اونها به حالت اول:

مثلا فرض کن من زدم تنظیمات vlc رو ترکوندم.باید برم تو این شاخه:

/home/user/.config/vlc

و پوشه vlc رو پاک کنم.همین.

شناخته نشدن وسیله های جانبی(usb و گوشی)هنگام وصل به دستگاه

فهمیدم که پروتکل انتقال فایل در اندروید MTP هستش که یه پروتکل انحصاری انتقال فایل واسه مایکروسافت ملعونه.. :(  البته از اونجایی که معمولا  دوستای متن بازمون نمیذارن متن بسته ها زیاد جولان بدن اومدن و یه پیاده سازی متن بازشو واسه هر توزیع ارایه دادن.که واسه توزیع آرچ اسمش هست libmtp که توی مخازن اصلی یافت میشه.این بسته رو طبق  این آموزش جلو رفتم و همه چی به خوبی و خوشی حل شد.دیگه نیازی هم به کلاینت و سرور و دردسر هاش نیست.گوشی رو وصل میکنی خودش مانت میکنه و با فایل منیجرت فایل هاتو انتقال میدی.به همین سادگی

دستور قطع کردن نت در آرچ

ifconfig <esmewifiet> down

 ست کردن مرورگر پیش فرض

راه اول:

xdg-mime default firefox.desktop x-scheme-handler/http

 راه دوم:

system setting>detail>default applications

باز کردن فایل های فشرده در لینوکس

فایل tar:

tar xvf file.tar

فایل tar.gz :

tar xvfz file.tar.gz

فایل tar.bz2 :

tar xvfj file.tar.bz2

فایل tgz :

tar xzvf file.tgz

فایل zip :

unzip file.zip

تغییر لی اوت کیبورد به alt shift

گنوم:

کافی است به بخش تنظیمات کیبورد در گنوم رفته در بخش typing ابتدا دو گزینه اول را با زدن دکمه backspace غیرفعال میکنیم.سپس گزینه سوم را روی alt+shift میذاریم.

سینمون:layouts<<<system setting>>>keyboard

سپس گزینه optins را انتخاب میکنیم.سپس گزینه switting to another layout.حال مثلا میتوانیم این مقدار را روی ctrl+shift یا alt+shift یا هر گزینه دلخواه دیگر تنظیم کنیم.

*ست کردن متغیر های محلی به صورت دایمی:

میدونیم که با کمک دستور زیر میشه یک متغیر محلی رو در سیستم تعریف کرد و از طریقِ متغیر path بهش دسترسی داشت:

export VAR=programName 

مثلا میشه ویرایشگر سیستم رو، روی sublime تنظیم کرد:

export EDITOR=subl3 

اما مشکل این روش اینه که با بستن ترمینال، عملا تمامی متغیرهای محلی که ست شده ان از دست میرن و در دفعات بعدی باید دوباره ست بشن.

برای ست کردن دایمی متغیر های محلی،راه حال های متعددی وجود داره.مثلا اضافه کردن متغیر ها به فایل های  ~/.bash_profile, ~/.bash_login, ~/.profile و ~/.bashrc. و اگه zsh دارین در فایل های ~/.zprofile و ~/.zshrc.ولی هم چنان یه مشکلی وجود داره.اگه دستور env رو صادر کنید ملاحظه میکنید که هیچ کدوم ازاون متغیرهاتون نشون داده نمیشن.علتش هم اینه که مختص یوزر شما تعریف شدن و نه در یوزر روت.برای دایمی کردن و مشاهده توسط متغیر env مجبورید متغیرهاتون رو تو فایل های تنظیمات مربوط به یوزر روت بذارید تا توسط کل سیستم قابل رویت باشه. یا بایستی اونا را به انتهای یکی از فایل های زیر اضافه کنید:

اگه شل پیش فرض سیستم تون zsh هست:

/etc/zsh/zprofile

/etc/zsh/zshrc

اگه csh هست:

/etc/csh.login

و اگه bash دارین:

/etc/profile

/etc/bash.bashrc/

البته تو فایل زیر هم می تونید متغیرهاتونو ذخیره کنید:

/etc/environment

مثلا من میخوام ویم رو بعنوان ادیتور پیش فرض، پیجرمو روی less و مسیر گردل رو برای کل سیستمم ست کنم:

export EDITOR=vim 
export GRADLE_USER_HOME=/home/saeed/.gradle
export PAGER=less

حالا ترمینال را باز کنید و از صحت ثبت متغیرهاتون مطمین بشین:

echo $EDITOR

مانت کردن خودکار درایوهای ویندوزی هنگام بالا آمدن لینوکس

برای نیل به این مقصود از ابزاری به نام diskدر لینوکس استفاده میکنیم.روش انجام کار به صورت عکس واره برایتان توضیح داده شده است.

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

حال باید گزیه automatic mount options را غیر فعال کنیم و مطابق تصویر بقیه کار را طی کنیم:

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

*تنظیمات smplayer برای گرفتن بهترین کیفیت در صدا و تصویر:

خودم به شخصه بعد از کارکردن با smplayer و vlc به این نتیجه رسیدم که در حال حاضر بهترین پلیرهای موجود تو دنیای گنو/لینوکس هستن.بعد از کارکرن با هردوشون بیشتر از smخوشم اومد و دارم به صورت روزانه ازش استفاده میکنم.منتهی یه سری تریک ها داره که باید اونا رو رعایت کنیم تا به بهترین کیفیت در صدا و تصویر برسیم.

افزایش کیفیت تصویر:

اولین مشکل من هنگامی که تو برخوردهای اول داشتم با smکار میکردم پرش شدید تصویر بود که داشتم باهاش.این تنظیمات رو انجام دادم و کارساز بود.امیدوارم به درد بخوره و شما هم بتونید ازش استفاده کنید:

smرو باز کنید و برید تو تب option بعد prefrences:

بعدش باید برین تو تب ویدیو:

تو بخش output driver میتونید لیست بلند بالایی از درایورهای نصب شده روی سیستم تون رو ببینید.(البته بعدها میتونید بازم به این لیست درایورهای جدید تر اضافه کنید.)

بعد از بررسی های زیاد و آزمون و خطا بهترین درایور رو gl دیدم.پس انتخابش کنید.بقیه تنظیمات رو مطابق عکس پیش برید و از کیفیت بهتر ویدیوهاتون لذت ببرید. دی:

*تغییر پسورد یک کاربر خاص:

passwd username

*تغییر سیستم عامل پیش فرض در Grub:

روش اول:ابتدا دستور زیر را در ترمینال وارد کنید تا فایل تنظیمات گراب برایتان باز شود:

sudo vim /boot/grub/grub.cfg

تذکر: برای احتیاط یه کپی (بک‌آپ) از فایل grub.cfg در جایی از هارد کامپیوترتان قرار بدید.بعد از باز شدن فایل در ادیتور دنبال عبارت default=0 بگردید. (ممکنه عدد نوشته شده فرق داشته باشه)ا.ین عبارت نشاندهنده این مطلبه که اولین گزینه (خط اول) از گزینه‌های موجود در منوی گراب به عنوان بوت پیش‌فرض قرار گرفته است.شما با تغییر این عدد به شماره خطی از گزینه‌های گراب که سیستم‌عامل ویندوز رو مشخص میکنه٬ میتونید بوت ‌پیش‌فرض رو تغییر بدین.

نکته: بر فرض مثال اگر میخواین خط سوم رو بعنوان بوت پیش‌فرض گراب قرار بدین باید عدد ۲ رو به جای صفر در عبارت مذکور قرار بدین. در واقع باید شمارش اعداد رو از صفر شروع کنید. برای خط اول شماره صفر٬ خط دوم شماره یک٬ خط سوم شماره دو و الی آخر.

سپس تغییرات رو ذخیره و سیستم رو ریستارت کنید. هنگام بوت ملاحظه میشه که گزینه مورد نظرتون بعنوان بوت پیش‌فرض انتخاب شده.

اگر دوست داشتید که تایم انتظار رو برای بوت پیش‌فرض گراب تغییر بدین میتونید در فایل grub.cfg دنبال عبارتی مشابه timeout=5 بگردید. این عبارت نشاندهنده اینه که زمان انتظار سیستم برای آغاز فرایند بوت پنج ثانیه میباشد. به هر عددی که دلتون خواست تغییرش بدین و تغییرات رو save کنید.

 روش دوم:

دستور زیر را در ترمینال تایپ کنید:

fgrep menuentry /boot/grub/grub.cfg

ملاحظه میکنید که تمامی مدخل های گراب رو برای شما لیست میکنه.حالا کافیه اون گزینه ای که میخواد به صورت پیش فرض باشه رو کپی ش کنید و جایگزین عبارت GRUB_DEFAULT=0 در فایل /etc/default/grub کنید.

سپس دستور زیر را صادر کنید:

sudo grub-mkconfig -o /boot/grub/grub.cfg

*مشکل در شناخته نشدن کاراکتر space در ترمینال:

خیلی وقت ها پیش اومده که نیاز داشتین یه آدرسی رو به یه برنامه خاصی بدین که اون آدرس شامل کاراکترهای فضای خالی یا همون space خودمونه.یکی از ابتدایی ترین راه ها اینه که برین تمامی اون دایرکتوری ها رو عاری از space کنین.که البته کاری سخت و زمان گیر هست.امروز یه روش ساده تر رو با هم جلو میریم که دردسر کمتری داره و تو زمان تون هم صرفه جویی زیادی میکنه.(هر چند به شدت توصیه میشه از کاراکتر زیر خط به جای فضای خالی استفاده کنید.)

روش اول:

فرض کنید نام دایرکتوری ما این هستش:

~/Library/Application Support/

و مثلا با دستوری مثل cd  میخوایم به این دایرکتوری بریم:

cd "~/Library/Application Support/"

تکه خط کد بالا با بروز خطا همراهه.علت:وجود کاراکتر فضای خالی!

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

روش اول:گذاشتن کاراکتر بک اسلش قبل هر فضای خالی است به این صورت:

cd ~/Library/Application\ Support

روش دوم:استفاده از کاراکترهای تک کوتیشن( ' )و دابل کوتشین( " )برای محصور ساختن فضای خالی است.به این صورت:

cd ~/Library/Application' 'Support
cd ~/Library/Application" "Support
cd ~/Library/App'lication 'Support
cd ~/Library/Application" Supp"ort
cd ~/'Library/Application 'Support
cd ~/"Library/Application "Support

*اجرای برنامه در start up (اجرای خودکار برنامه ها هنگام شروع لینوکس):

روش اول-ابونتو)میریم تو startup applications .بعد یه پنجره ای باز میشه که  لیست تمامی برنامه های startup ما رو نشون میده.حالا اگه بخوایم یه برنامه دیگه به جمع اینا اضافه کنیم رو دکمه add‌کلیک می کنیم.و دستور اجرای برنامه مورد نظر رو تو قسمت command وارد می کنیم و تموم.

مثلا من میخوام cairo dock به صورت auto startup‌بیاد بالا.کافیه تو بخش کامندش بزنم:cairo-dock

روش دوم-تمامی توزیع ها)

برنامه Tweak Tool را نصب میکنیم و در بخش startup application برنامه هایی که قصد بالا آمدنشان همزمان با راه اندازی سیستم را داریم اد میکنیم.

روش سوم)استفاده از systemd می باشد.در این روش سرویس هایی که میخواهیم هنگام شروع به کار سیستم اجرا بشن رو enable  میکنیم.فرض کنید میخوام با هر بار راه اندازی سیستم،نرم افزار تور من اجرا بشه در پس زمینه.با دستور زیر این کار رو انجام میدهم:

sudo systemctl enable tor

*اختصاص شورت کات  کیبورد ها برای انجام عملیات خاص سیستمی:

فرض کنید میخواهیم هم چون زمانی که در ویندوز هستیم با زدن دکمه های ترکیبی ctrl+alt+delete تسک منیجر باز بشه.(البته نرم افزار معادلش در گنو/لینوکس system monitorهست که تقریبا قابلیت های مشابهی با تسک منیجر ویندوز داره) 

برای انجام این کار با فرض این که دسکتاپ شما گنوم باشه فقط کافیه به بخش تنظیمات کیبورد در ستینگ سیستم تون برید:

در بخش custom shortcuts برروی دکمه مثبت پایین کادر کلیک کنید.در بخش name نامی برای برنامه خود بنویسید و در بخش command هم دستوری که باعث اجرا شدن برنامه مدنظرتان می شود را تایپ کنید.سپس روی آن دو بار کلیک کنید و کلیدهای ترکیبی مدنظرتان را برایش ست کنید.از این به بعد با هر بار زدن کلیدهای ctrl+alt+delete پنجره systemmonitorبرایتان باز میشود.

*چگونه متوجه پینگ گرفتن توسط دیگران شویم؟

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

[saeed@saeed ~]$ sudo tcpdump -i wlp3s0 icmp and icmp[icmptype]=icmp-echo

*نصب فونت های استاندارد:

به اینجا مراجعه کنید.

*نصب فایروال (ufw) در آرچ:

برای کانفیگ ابتدایی به اینجا بروید.

پس از نصب و کانفیگ ufw بایستی تمامی rule ها را به iptables انتقال دهیم.به این شکل:

sudo iptables-save > /etc/iptables/iptables.rules 

اگر این کار را نکنیم تنظیمات منتقل نمیشن به iptables.

*دستورات کاربردی wget:

۱- دانلود یک فایل از اینترنت:

wget http://example.com/file.mp3

2-دانلود با پروکسی:

wget https://example.png -e use_proxy=yes -e http_proxy=127.0.0.1:812
3-دانلود یک فایل و ذخیره آن با نامی متفاوت:
 wget ‐‐output-document=myName.mp3 http://example.com/file.mp3
4-۳-دانلود یک فایل و ذخیره آن در یک پوشه مخصوص:
 wget ‐‐directory-prefix=/home/saeed/Downloads/ http://example.com/file.mp3
۴-ادامه ی یک دانلود قطع شده که قبلا با خود wget  شروع شده بود:
 wget ‐‐continue http://example.com/file.mp3
۵-دانلود یک فایل تنها به شرطی که ورژن روی سرور جدیدتر از ورژنی باشد که شما دارید:
 wget ‐‐continue ‐‐timestamping http://example.com/file.mp3

*رنک کردن میرورها:

خیلی وقت ها پیش میاد که میخوایم یه بسته ای رو از مخازن بگیریم یا درحالت کلی میخوایم عملیات به روزرسانی انجام بدیم اما متوجه میشیم سرعتمون نسبت به سری های قبل یکم افت پیداکرده..از دلایل این امر میتونه تغییر سرعت میرورها باشه..که به مرور ممکنه افت سرعت داشته باشن یا بعضی هاشون کلا از بین میرن..پس لازمه هر ازگاهی لیست میرورهامون رو به روز کنیم و همیشه از میرورهای با سرعت بالا بسته هامونو بگیریم.واسه این کار لازمه اول به مسیر زیر برید:
cd /etc/pacman.d/
و بعد یه کپی از فایل mirrorlist جاری تهیه کنید.
 cp mirrorlist mirrorlist.bak
بعدش دستور زیر رو بزنید:
rankmirrors -n 10 mirrorlist.bak > mirrorlist
با این کار در واقع شما دارین ده تا از پر سرعت ترین میرورهای فایل قبلی رو جدا میکنید و تو فایل جدید ذخیره می کنید.ازاین به بعد، تمامی بسته های شما هر موقع بخوان به روز بشن میرن این لیست ده تایی رو میخونن و بر اساس ترتیب موجود تو اون لیست بسته ها خودشون رو به روز میکنن.واسه تست هم یه بار کل سیستم رو به روزرسانی کنید تا تفاوت رو مشاهده کنید:
sudo pacman -Syu
حالا فرض کنیم که لیست میرورهای شما خیلی قدیمی باشن و بعضی هاشون اصلا دیگه کار نکنن.اینجا باید چکار کرد؟rankmirrors فقط میرورهای وضعیت میرورهای فعلی رو سروسامون میده..اما برای اینکه بدونیم بهترین و پرسرعت ترین میرورها در حال حاضر کدوما هستن باید چکار کنیم؟
جواب ساده است: استفاده از اسکریپت reflector یا اسکریپت های مشابه ش.که من اینجا سعی میکنم reflector رو خدمت تون  عرض کنم.
برای دانلودش دستور زیر رو صادر کنید:
sudo pacman -S reflector 
بعدش باید دست به دامن systemd/timer بشیم.یه یونیت تایمر و یه یونیت سرویس که در لحظه هایی که تایمر میگه بره لیست رو به روز رسانی کنه.
اول از همه یه بک آپ از نسخه جاری میرورلیست هاتون بگیرید:
cd /etc/pacman.d/
sudo cp mirrorlist mirrorlist.bak
لیست جدیدترین مخازن رو با دستور زیر بگیرید:
sudo curl -o /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/
حال دستور زیر رو صادر کنید تا یونیت سرویس ساخته بشه:
sudo vim /etc/systemd/system/reflector.service
اکنون محتویات زیر رو داخلش کپی کنید:
[Unit] 
Description=Pacman mirrorlist update
Requires=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=sudo /usr/bin/reflector --verbose -l 100 -p http --sort rate --save /etc/pacman.d/mirrorlist

[Install]
RequiredBy=multi-user.target
این یونیت باعث میشه هر سری که کامپیوترتون رو ریبوت میکنید سرویس ریستارت بشه و آخرین لیست میرورها رو بگیرید.
حالا این دستورات رو بزنید:
systemctl enable NetworkManager-wait-online.service

systemctl enable systemd-networkd-wait-online.service
حالا دستورات زیر رو صادر کنید:
sudo systemctl enable reflector.service
sudo systemctl start reflector.service

*افزودن مخازن دلتا به آرچ:

همون طور که میدونیم با هر سری آپدیت سیستم، پکمن میره لیست جدیدترین نرم افزار ها رو به روز میکنه و تمام نرم افزار ها رو از نو دانلود میکنه.حال فرض کنید بسته های حجیمی مثل libre-ofice یا جاوا هم رو سیستم تون داشته باشید..هیچی دیگه...نت بنده خداتون همینجوری باید تلف بشه !
اما واسه این مشکل هم راه حل هست..فعال کردن مخازن دلتا..چجوری؟
اول باید باینری دیف تولز مختص این کار که اسمش  xdelta3  هست، رو نصب کنید:
sudo pacman -S xdelta3 
بعدش باید فایل زیر رو باز کنید:
sudo vim /etc/pacman.d/mirrorlist
و تکه خط کد زیر رو بهش اضافه کنید:
## Delta Archlinux.fr
Server = http://delta.archlinux.fr/$repo/os/$arch
سپس فایل زیر رو باز کنید:
sudo vim /etc/pacman.conf
و دنبال خطی حاوی کلمه UseDelta  باشید و اون رو از حالت آن-کامنت در بیارید.
حالا دستور زیر رو بزنید و از تفاوت حاصل شده لذت ببرید. :)
sudo pacman -Syyuu


*آی پی دادن دستی در لینوکس:

ifconfig eth0 addr
ip add addr dev eth0
ip route default eth0
echo "nameserver 8.8.8.8" >> /etc/resolv.conf

آی پی اتوماتیک:

ifconfig eth0 addr
systemctl start dhcpd

*راه اندازی بلوتوث در آرچ:

sudo pacman -S blueman bluez bluez-utils
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
و اکنون برنامه را اجرا می‌کنیم:
blueman-manager
نکته :با سوییچ needed— می‌تونید به پکمن بفهمونید که بسته‌هایی را که روی سیستم نصب و آپدیت هستند را رها کند و دوباره نصب نکند:
$ sudo pacman -S clementine python —needed
warning: python-3.5.1-2 is up to date — skipping

*فارسی کردن کیبورد:

setxkbmap -model pc104 -layout us,ir variant ,dvorak -option grp:alt_shift_toggle
گر برای وصل شده به اینترنت مشکل دارید ابتدا دستور زیر را بزنید و مشخصات کارت شبکه‌ی خود را ببینید
ip link
برای مثال برای وصل شدن به شبکه از طریق لن اینترفیس شما را با اسم enp2s0 شناخته پس دستور زیر را بزنید:
sudo ip link set enp2s0 up
و حال دستورات زیر را به ترتیب بزنید:
sudo systemctl start dhcpcd@enp2s0
sudo systemctl enable dhcpcd@enp2s0
sudo dhclient
sudo dhclient enp2s0

*نصب و راه اندازی LightDM:

sudo pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings
sudo systemctl enable lightdm

*راه اندازی صدا:

 sudo pacman -S pavucontrol pulseaudio alsa-utils libpulse
حال با دستور زیر کارت صدا‌ی خود را پیکربندی کنید:
alsamixer -C 0

*راه اندازی محیط اکس در آرچ:

sudo pacman -S xorg

*نصب برنامه GNS3:

sudo pacman -S gns3-gui gns3-server

*آموزش فعال سازی مخازن AUR و نصب Yaourt در آرچ لینوکس:


ابتدا فایل پکمن کانف را از مسیر:
/etc/pacman.conf

باز کنید و سپس خطوط زیر را در انتهای آن قرار دهید:
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
حال فایل را ذخیره کنید و دستور زیر را بزنید:
sudo pacman -Syu
اکنون yaourt را نصب کنید:
sudo pacman -S yaourt
و حالا آن را امتحان کنید:
yaourt -S kazam

*نصب رابط گرافیکی اوکتپی برای پکمن:

yaourt -S octopi

*راه اندازی آپاچی در آرچ لینوکس:

اول بسته‌ی آپاچی را نصب کنید:
sudo pacman -S apache
حال سرویس را اجرا و سپس enable کنید:
sudo systemctl start httpd
sudo systemctl enable httpd

*به روز رسانی آفلاین پکیج از طریق فایل

برای این منظور از سوییچ U پکمن استفاده میکنیم:
Sudo pacman -U /path/to/file.pkg.tar.xz

حتی می‌توانید به صورت آنلاین یک بسته را از سروری خاص دانلود کنید:
Sudo pacman -U /ip/to/file.pkg.tar.xz

*به روز رسانی دیتابیس برنامه ها

Sudo pacman -Syyu
با این دستور میتوانید فقط دیتابیس ها را اپدیت کنید این کار زمانی مفید است که از اینترنت پر سرعت برخوردار نیستید و میخواهید لیست بسته های به روز تر از سیستم خود برای دانلود از سیستم دیگر را تهیه کنید

آموزش اضافه کردن پکمن در مدیربسته‌ی پکمن


ابتدا با دستور زیر به ویرایش پکمن کانف بروید:
sudo vim /etc/pacman.conf
وحالا متن ILoveCandy را به زیر  #Misc options اضافه کنید :
# Misc options
#UseSyslog
#Color
#TotalDownload
# We cannot check disk space from within a chroot environment
#CheckSpace
#VerbosePkgLists
ILoveCandy

*استفاده از رجکس در پکمن و جست و جو در مخازن:

pacman -Ssq gcc*{4}
برای ترکیب با دستور دیگری در پکمن:
sudo pacman -S $(pacman -Ssq gcc*)
دستور بالا هر چیزی را با gcc شروع شود نصب خواهد کرد :)

*نشان دادن میزان دانلود در هر لحظه هنگام نصب و بروزرسانی برنامه ها:

ابتدا کافی است pacman.conf را باز کرده:

sudo vim /etc/pacman.conf
و سپس به دنبال عبارت TotalDownload می گردیم و آنرا آن-کامنت میکنیم.(اگر میخواهید آپگرید رنگی تری را هم تجربه کنید عبارت color را نیز بردارید :) )

حذف دیتابیس بسته ها بر اثر بروزرسانی های ناقص یا تغییر میرورهای پی در پی:

ممکن است گاهی پیش بیاید که دیتابیس محلی بسته ها که در مسیر:
/var/lib/pacman/sync
قرار دارد بر اثر آپگرید های ناقص سیستم دچار مشکل گردد.در این صورت کافی است با دستور زیر همه اون ها رو پاک و دوباره سیستم رو یه بار آپگرید کنید تا همه  چی مث روز اولش شه:
sudo rm /var/lib/pacman/sync/*

*اجرای بازی های نینتندو (میکرو، دندی):

fceux رو از مخازن بگیریدو برای تنظیم دسته ها دستور زیر را صادر کنید:

fceux –inputcfg gamepad1 

بازی ها با پسوند .nes رو هم می تونید از اینجا یا از اینجا بگیرید.

مشکل هنگام نصب mpv:

بسته زیر رو نصب کنید:

libvdpau-va-gl

نصب نشدن conky-lua و دادن ارور tolua++:

برای رفع این مشکل کافیه وقتی داریم بسته conky-lua رو از aur میگیریم فایل pkgbuild شو ادیت کنیم و متد زیر رو به تهش اضافه کنیم:


prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
sed -i "s|tolua++ |toluapp |g" configure*
}

*مشاهده ترافیک شبکه:

نرم افزارهای زیر ممکنه به دردتون بخورن:

۱-iftop

ابزاری که در تمامی توزیع ها نصب شده و با دستور زیر به راحتی قابل استفاده هست:

sudo iftop -i wlp3s0 

سوییچ -i نشان دهنده نوع واسط کارت شبکه شماست که نامش در اینجا ذکر می شود.

۲-nethogs

برای استفاده از این ابزار آنرا از مخازن رسمی ابتدا دانلود و نصب کرده و سپس دستور زیر را صادر کنید:

sudo nethogs wlp3s0 

نرم افزارهای دیگه ای هم هستن واسه این کار مثل iptraf-ng و یه لیست بلند بالا البته در اینجا.

دانلود از یوتیوب:

روش اول:
افزونه flashgot رو نصب کنید و موقع تماشای ویدیو یه عکس ویدیو گوشه راست مروگرتون میاد.روش کلیک کنیدو با دانلود منیجر موردعلاقه تون شروع به دانلود کنید.
روش دوم:
اگه روش اول یه مواقعی واستون جواب نداد می تونید از youtube-dl استفاده کنید.اول ازهمه بسته شو نصب کنید و سپس آدرس url تون رو به عنوان پارامتر بهش پاس بدین:
youtube-dl https://www.youtube.com/watch?v=vOGK3TveDDk
این کار البته در حالت کلی توصیه نمیشه..به نظرمن اول از همه لیست فرمت های قابل دانلود رو با دستور زیر به دست بیارید:
torify youtube-dl --list-formats https://www.youtube.com/watch?v=vOGK3TveDDk

بااین کار یه لیست ازتمام فرمت ها بهتون پیشنهاد میشه..بعدش کافیه این دستور رو بزنید:
torify youtube-dl -f 18 https://www.youtube.com/watch?v=vOGK3TveDDk
ویدیو با کیفیت mp4 برام شروع به دانلود میشه..به همین راحتی. :)
می تونید یه لیست دانلود هم براش درست کنید و بهش پاس بدید.اینجوری:
youtube-dl -a youtube_links.txt

برای دانلود دسته جمعی از کانال خاص با بهترین کیفیت ممکن:

torify youtube-dl -f best https://www.youtube.com/playlist\?list\=PLA9AAC2725C42C334

نکات کاربردی تر:

برای دانلود یک ویدیو با بهترین کیفیت صدا و ویدیو از فرمت زیر استفاده کنید:

youtube-dl -f bestvideo+bestaudio "http://www.youtube.com/watch?v=P9pzm5b6FFY"

و اگر با خطا مواجه شدید:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 "http://www.youtube.com/watch?v=P9pzm5b6FFY"

البته جدیدا خودش مرج میکنه بهترین صدا و تصویر رو و قبلش یه هم چین هشداری بهتون میده:

WARNING: Requested formats are incompatible for merge and will be merged into mkv.

سوییچ بین کارت های گرافیک با فناوری prime:

ابتدا چهار بسته زیر را نصب میکنیم:(اگر کارت گرافیک تان انویدیاست nouveau و اگر amd است ati را نصب کنید. )

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

$ xrandr --listproviders
خروجی آن چیزی شبیه زیر است:
[saeed@saeed ~]$ xrandr --listproviders 
Providers: number : 2
Provider 0: id: 0x8f cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 5 associated providers: 0 name:Intel
Provider 1: id: 0x62 cap: 0x7, Source Output, Sink Output, Source Offload crtcs: 2 outputs: 1 associated providers: 0 name:nouveau


حال دستور زیرا بزنید:
glxinfo | grep "OpenGL renderer"

خروجی آن چیزی شبیه زیر است:

[saeed@saeed ~]$ glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile
حال از روش PRIME GPU offloading استفاده میکنیم و به صراحت میگویم چه برنامه ای ازچه کارت گرافیکی استفاده کند.بدین شرح:
$ xrandr --setprovideroffloadsink nouveau Intel
سپس دستور زیر را صادر میکنیم:
DRI_PRIME=1 glxinfo|grep 'OpenGL renderer'
خروجی آن چیزی شبیه زیر است:
OpenGL renderer string: Gallium 0.4 on NVC1
و در نهایت دستور زیر را میزنیم:
DRI_PRIME=1 <application_executable>
برای اینکه با هر سری شروع به کار سیستم هر دو کارت گرافیک فعال باشن نیاز به ساخت یک یونیت سرویس داریم.ابتدا فایل زیر را میسازیم:
$ sudo vim /etc/systemd/system/prime.service
و سپس کدهای زیر را داخل آن وارد میکنیم و سیو میکنیم.
[Unit]
Description=Dual Graphic Technology

[Service]
Type=oneshot
ExecStart=xrandr --setprovideroffloadsink nouveau Intel

[Install]
RequiredBy=multi-user.target
و برای ساخت یونیت تایمر ابتدا:
$ sudo vim /etc/systemd/system/prime.timer
و سپس کدهای زیر را داخل آن میزنیم:                                                 
[Unit]
Description=Run prime.service every boot system

[Timer]
OnBootSec=1min
Unit=prime.service

[Install]
WantedBy=multi-user.target
با این کار هر بار که سیستم ریبوت میشود گرافیک اصلی فعال میگردد.حال دستورات زیر را صادر کنید:

sudo systemctl enable prime.service
sudo systemctl start prime.service
سیستم را ریبوت کرده و از گرافیک دوگانه سوز خود لذت ببرید! :)

محدود کردن حجم اینترنت مصرفی برنامه ها:

فرض کنید دارین با پکمن به روزرسانی واسه سیستم تون انجام میدین و کل پهنای باند رو به خودش اختصاص داده..این وسط هم کلی کار با نت دارین که نمیشه انجامش بدین..چون پکمن جان داره کل پهنای باند رو می بلعه..راهکارهای زیادی واسه حل این مشکل هست..یکی از اونا استفاده از Trickle است.اول از همه نصب ش کنید و بعد با سینتکس زیر واسش محدوده تعیین کنید:
trickle -d200 -u50 pacman -Syu

محدودکردن حجم نت مصرفی هر کلاینت در شبکه lan:

برنامه های زیادی واسه این کار هستن مثل tuxctu,lartc,netlimiter,Dummynet,Wonder Shaper,L7 Filter,Squid. و یا FairNAT.لیست کاملی از این گونه برنامه ها رو در اینجا ببینید.(یه آموزش خوب)

ران کردن پروسه ها در بک گراند:

فرض کنید واسه اکلیپس تون که نصب نکردین رو سیستم و تو یه مسیر خاص مثل:/usr/bin/share هست یه آلیاس به اسم kepler تعریف کردید و وقتی تو ترمینال میزنین kepler یه زیر پروسه ایجاد میشه واسه ش که اگه ترمینال رو ببندین اکلیپس هم بسته میشه..واسه اینکه این پروسه جداگونه اجرا بشه چند تا از راهاش اینه:
1-(kepler &)
2-setsid kepler
3-kepler & disown

*چک کردن آخرین نسخه کرنل

[saeed@saeed ~]$ uname -a
Linux saeed 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux

*حذف کامل یک نرم افزار به همراه تمامی وابستگی های غیر مشترک

[saeed@saeed ~]$ sudo pacman -Rnsc docky

*تعداد بسته های نصب شده

[saeed@saeed ~]$ pacman -Q | wc -l
934

 *فهمیدن مسیر نصب برنامه ها

[saeed@saeed ~]$ pacman -Ql jdk8-openjdk

*مجموع فایل های یک بسته نرم افزاری

[saeed@saeed ~]$ pacman -Qk conky
conky: 26 total files, 0 missing files

*مشخصات یک بسته نرم افزاری خاص(لوکال)

[saeed@saeed ~]$ pacman -Qi conky

*جستجوی بسته ای خاص در دیتابیس محلی سیستم

[saeed@saeed ~]$ pacman -Qs docky

*جستجوی بسته ای خاص در دیتابیس آنلاین

[saeed@saeed ~]$ pacman -Ss docky

*مشخصات یک بسته نرم افزاری خاص(مخازن)

[saeed@saeed ~]$ pacman -Si conky

*لیست نرم افزارهای نصب شده aur

[saeed@saeed ~]$ pacman -Qem

*حذف بسته های نرم افزاری نصب شده از طریق مخازن غیر رسمی aur

yaourt -R packageName
yaourt -Rsn packageName

*لیست تمام بسته های نصب شده روی سیستم

Sudo pacman -Qe
Sudo pacman -Qe | grep kde

*اطلاع از وضعیت یک دستگاه

[saeed@saeed ~]$ systemctl status dev-sda7.device 

ساخت  دستی پکیج ها از روی سورس و فایل pkgbuild و درنهایت نصب آفلاین آنها:

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

واسه این کار مراحل زیر رو طی کنید:

۱-به صفحه مربوط به نرم افزار موردنظرتون در aur برید و در کادر سمت راست گزینه Download Snapshot رو بزنید.شروع به دانلود مجموعه ای از فایل ها براتون میکنه که یکی از اونها فایل PKGBUILD هست.(این فایل در واقع نقشه ساخت بسته برای سیستمه!)

۲-بعد باید تمام سورس هایی که در ردیف Sources می بینید رو به ترتیب دانلود کنید.(مثلا من میخوام pycharm-community edition رو دانلود کنم)

۳-حالا تو یه مسیر خاص از کامپیوترتون یه پوشه به نام بسته بسازید.

۴-معمولا تو فایل pkgbuild شما باید دو مورد رو تغییر بدید.اولی ش آدرس سورس ها هستن(آرایه source) که باید آدرس محلی کامپیوترتون رو به جای اون آدرس هایی که به جایی در نت اشاره میکنن جایگزین کنین و دومین موردهم جنریت  کردن چک سام ها مطابق فایل های محلی کامپیوترتون هست.

۴-وقتی فایل pkgbuild تون رو آماده کردید حالا کافیه که فقط تو ترمینال بزنید:

makepkg

شروع به ساخت بسته ای با پسوند .xz براتون میکنه.

۵-دستور زیر رو بزنید تا بسته روی سیستم تون به صورت آفلاین نصب شه:

pacman -U foo.pkg.tar.xz 

کار با هیستوری در خط فرمان:

واسه اینکه بشه ساعت و تاریخ دقیق اجرای فرمان ها تو لینوکس کی بودن راه های زیادی هست..یکی از اونا اضافه کردن مقدار زیر تو فایل bashrc. هست:

HISTTIMEFORMAT='%F %T %t'

و حالا میتونید با گرپ گرفتن و دادن سوییچ e- بهش تاریخ مد نظرتون رو فیلتر کنید:

history | grep -e "2016-04-10"

یه کار با حال:(دی :)

history | grep -e "2016-04-11" | grep -e ls | wc -l

واسه ست کردن اینکه چه تعداد دستور رو بیاره واستون از دستورات زیر استفاده کنید:

HISTSIZE=5000
HISTFILESIZE=10000

معرفی اسکریپت های کاربردی:

1-pacmatic

2-pacnanny

ست کردن رزولوشن مانیتور

xrandr --size 640x480

و یا :

xrandr --output default --mode 1280x1024

برای مشاهده جزییات:

xrandr

و برای اینکه این تنظیمات دایمی شوند این xrandr --size 640x480 را در xinitrc قرار دهید یا از تنظیمات میز کار خود به بخش display برید و رزولوشن مدنظرتونو ست کنید.


پاکسازی کش پکمن

بعضی وقتا دوست دارین کش پکمن تون به تعداد بسته هایی که شما مدنظرتون هست توش بسته باشه به ازای هر بسته(واسه دانگرید کردن)

میتونید از اسکریپت paccache استفاده کنید:

paccache -r

برای حذف تمام بسته هایی که در حال حاضر روی سیستم تون نصب نیستن:

# paccache -ruk0

اطلاع از بازبودن پورت های سیستم و بستن آنها

روش اول:
sudo netstat -tlnp
روش کاربردی تر:
sudo netstat -tlnp | awk '{print $4, $7}' 

ignore کردن بسته هایی خاص هنگام به روز رسانی

چند وقتی هست میخوام aur رو به روز رسانی کنم چند تا فایل گنده عظیم الجثه جلوم سبز میشن که دوست ندارم آپدیت شن.خوب به هر حال همیشه راه دور زدن هست.ببینید:
packer -Syu --ignore eclipse-jee,genymotion,atom-editor-bin,phpstorm,pycharm-community,telegram-desktop-bin

تعویض دانلود منیجر پیش فرض پکمن با aria2

از اونجایی که من عاشق آریا 2 هستم و از کرل یه کوچولو بدم میاد(دی:)تصمیم گرفتم یه حالی به مدیر بسته م بدم.واسه انجام این تغییر باید کارهای زیر رو انجام بدید:
sudo vim /etc/pacman.conf
و زیر این عبارت:
#XferCommand = /usr/bin/curl -C - -f %u > %o
عبارت زیر رو وارد کنید:
XferCommand = /usr/bin/aria2c --allow-overwrite=true --continue=true --file-allocation=none --log-level=error --max-tries=2 --max-connection-per-server=4 --max-file-not-found=1 --min-split-size=1M --no-conf --remote-time=true --summary-interval=60 --timeout=5 --dir=/ --out %o %u
ذخیره کنید و از دانلود منیجر جدیدتون لذت ببرید. :)

اجرای دستوری پس از دستور دیگر

فرض کنید میخواید دو کار رو توی بش به صورت متوالی انجام بدید.(کار دوم منوط به پایان یافتن کار اول باشه)واسش دو تا راه پیدا کردم:
command1; command2
یا:
command1 && command2
مثلا فرض کنید میخواید بعد از فول آپگرید کل سیستم, فرمان خاموش کردن رو صادر کنید:
sudo pacman -Syu;shutdown

نمایش اطلاعات بوت سیستم

نمایش اطلاعات آماری از عملیاتی که موقع بوت سیستم رخ میده همیشه یکی از کارهای هیجان انگیری بوده که میشه تو لینوکس به راحتی انجامش داد.اگه از سیستم-اینیت systemd استفاده میکنید که کار به مراتب راحت تر خواهد بود..کافیه systemd-analyze رو فراخوانی کنید از ترمینال:
[saeed@saeed ~]$ systemd-analyze 
Startup finished in 4.643s (kernel) + 39.395s (userspace) = 44.038s
یه آپشن باحال هم داره به نام critical-chain  که میاد و بلاک های دیمون سیستم رو به صورت آبشاری لیست میکنه.اگه هم میخواید از اطلاعاتتون بصری عکس بگیرید راحته..کافیه از سوییچ plot استفاده کنید و خروجی رو بفرستید تو یه فایل svg:
systemd-analyze plot > output.svg
برای مشاهده فایل اس.وی.جی تون هم:
display output.svg 

ست کردن نمو به عنوان فایل منیجر پیش فرض سیستم

خیلی وقت ها پیش میاد شما داری با فایل منیجرت کاری میکنی درصورتی که یادت رفته اونو به عنوان فایل منیجر پیش فرض ست کنی.مشکل زمانی خودشو نشون میده که مثلا تو یه اپلیکیشن خاص هستی و میخوای از طریق اون بری تو فایل منیجرت.(چرا راه دور بریم.اکلیپس رو مثال میزنم:مثلا شما میتونید تو اکلیپس روی فایل های مد نظرتون راست کلیک کنید و show in system explorer رو بزنید).اما اگه نمو ست نشده باشه به خطا برمیخورین.راه حلش چیه؟دستور زیر رو تو ترمینال صادر کنید:
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search

چطوری بفهمیم چه تعداد میزکار رو سیستم مون نصب شده؟

خیلی راحت.کافیه دستور زیر رو تو ترمینال صادر کنید:
ls -l /usr/share/xsessions

حل مشکل اضافه نشدن دسکتاپ انتری ها به داکی

بعضی وقتا پیش میاد یه نرم افزاری رو نصب میکنید اما دسکتاپ اینتری شو نمیتونید به داک تون پین کنید .این مشکل واسه من زمانی پیش اومد که بازی samorost3 رو با وین اجرا کردم اما شورت کاتش به داکی م پین نمیشد .خوب مثل همیشه راه حل وجود داره واسه هر کاری :)

کافی است فایل deskto.entry مدنظرتونو تو مسیر /usr/share/applications کپی کنید و بعد با استفاده از gconf editor به مسیر زیر برید:
/apps/docky-2/Docky/Interface/DockPreferences/Dockn
و مقدار زیر رو به آرایه Launchers اون اضافه کنید:
file://///usr/share/applications/Samorost3.desktop
حالا کافیه داکی تونو ریستارت کنید و از تغییرات لذت ببرید:)

حذف و نصب نرم افزار ها با استفاده از wine

چند صباحی بود این بازی samorost3 بد جوری رفته بود تو مخم.از اونجایی هم که تا حالا رو لینوکس بازی درست درمون نکرده بودم و راستش هیچ موقع به wine فکر نکرده بودم، ویندوزمو گذاشته بودم واسه این جور مواقع:"بازی کردن"

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

واسه نصب wine باید دستورات زیر رو تو آرچ صادر کنید:

 sudo pacman -S wine wine_gecko wine-mono 

دستور بالا وین و ملحقاتشو براتون نصب میکنه.خوب حالا واسه نصب اپلییکش هایی که پسوند exe. دارن به این نحو عمل میکنیم:

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

wine setup.exe

وقتی دستور بالا رو میزنید روال کار میفته دست wine و براتون یه محیط شبیه ساز میاره که دیگه باقی شو حس میکنید تو ویندوزید!

مراحل نصب رو طی میکنید و تمام!(شورت کات هم معمولا وسط نصب ازتون میپرسه که میخوای برات بسازم یا نه که اگه ساخت میره تو مسیر دسکتاپ یوزر جاری تون که بعدا میتونید به داک تون هم پین ش کنید.)

یه نکته ای که خیلی جالب بود برام مصرف رم پایین بازی بود.چیزی حدود 300 تا 450 مگ و مصرف ناچیز پردازنده.بدون هیچ لگی ساموروست رو لینوکس بازی کردم!

حالا اگه یه روزی روزگاری خواستین بازی تونو حذف کنید چی؟کاری نداره که.کافیه دستور زیر رو تو ترمینال صادر کنید:

wine uninstaller

با زدن دستور بالا یه پنجره ای براتون باز میشه و لیست کل برنامه های نصب شده تونو بهتون نشون میده که میتونید به راحتی اپلیکیشن مد نظرتونو باهاش uninstall کنید.

حذف فایل های با پسوند fuse.

این فایل های مخفی در واقع به پروسه در حال اجرایی متصل هستن که با هر بار حذف آنها دوباره ظاهر می شوند!(چون پرسه بک گراند دایما در حال استفاده از آنهاست.)برای خلاص شدن از شر آنها بایستی processId برنامه مربوطه اش را بیابید.ابتدا بسته lsof را نصب کنید و سپس:

lsof dir-name/.fuse_hidden000bd8c100000185

حال پروسس آیدی را در اختیار دارید.مثلا فرض کنید عدد آن 3526 است.حال:

sudo kill -9 3526

را بزنید و تمام!

حل مشکل key Ring ها :

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

حذف بسته های یتیم از سیستم

 sudo pacman -Rnsu $(pacman -Qqtd) 

دانگرید کردن بسته ها در آرج

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

sudo pacman -S downgrade 

و پس از اون نام بسته ای که میخواید دانگرید کنید رو به عنوان پارامتر ورودی بهش بدید.مثلا من میخوام نودمو از آخرین نسخه ببرمش به نسخه 7.0.0:

sudo downgrade nodejs

با زدن دستور بالا لیست بلند بالایی از تمام نسخ نود(چه اون بسته ها در کش پکمن تون باشن یا چه در مخازن اصلی) بهتون نمایش داده میشه که میتونید شماره نسخه مد نظرتو بزنید و عملیات دانگرید انجام بشه.

به روز رسانی خودکار تلگرام

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

$ whereis telegram
telegram: /opt/telegram
$ whoami
kenetik
$ sudo chown -R kenetik:users /opt/telegram && sudo chmod -R 777 /opt/telegram

وارنینگ پرمیژن پس ازفول آپگرید

اگر شما هم پس از آپگرید سیستم با این وارنینگ ها مواجه میشین:

warning: directory permissions differ on /usr/share/icons/
filesystem: 777 package: 755
warning: directory permissions differ on /usr/share/applications/
filesystem: 777 package: 755

باید دستور تغییر پرمیژن رو بزنید تا درست بشه اوضاع:

sudo chmod -R 755 /usr/share  

البته دلیل اینکه واسه من این وارنینگ رو میده به این خاطر هست که اون اوایل که آرچ نصب کرده بودم خودم رفته بودم دستی پرمیژن اون دایرکتوری رو به 777 تغییر داده بودم که درست شد با این روش.

نصب zsh , prezto:

zsh یه شل فوق العاده محبوبه که میتونه جایگزین خوبی واسه bash باشه.واسه نصبش ابتدا:

sudo pacman -Si zsh

و سپس برای اینکه شل پیش فرض تون بشه:

 sudo chsh -s /bin/zsh user_name
سپس باید prezto رو نصب کنید.از طریق مخازن aur:

packer prezto-git

بعدش تو مسیر خونگی تون یه فایل به نام zshrc. باید بسازید و مقادیر زیر رو توش بریزید:

# Created by newuser for 5.3.1
autoload -Uz promptinit
promptinit
prompt paradox

set -o emacs

prompt paradox باعث میشه که تم شل ما paradox‌باشه و عبارت set -o emacs باعث میشه که key binding شل ما شبیه ایمکس باشه.(اگه این کارو نکنید عملا ctrl+arrow ها کار نمیکنه واستون.)

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

# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'prompt' \
  'history-substring-search' \

plugins=(cloudapp node npm bower brew osx extract z)

اضافه کردن اکشن به منوی راست کلیک نمو

فرض کنید میخواید یه اکشنی به راست کلیک نمو اضافه کنید که open with Vim رو بهتون نشون بده.خوب این کار به سادگی آب خوردن هست.فقط باید بدونید مسیر اکشن های نمو در این آدرس هست:

بعدش می تونید یه فایل به نام vim.nemo_action بسازید و کدهای زیر رو داخلش بریزید:

[Nemo Action]
Name=Open With Vim
Comment=Open This File With Vim
Exec=gnome-terminal -e 'vim "%F"'
Icon-Name=vim
Selection=Any
Extensions=any

توجه کنید که پسوند فایل تون حتما .nemo_action باید باشه.(اگر خواستید کاری کنید که این اکشن واسه همه کاربرا در دسترس باشه باید اونو بذارید تو مسیر/usr/share/nemo/actions)

ساخت تصویر متحرک(GIF) به کمک ImageMagic

imagemagic ابزار فوق العاده ایه.به قول عصبانی های دنیای لینوکس:RTFM(Read The Fucking Manual)

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

convert -delay 20 -loop 0 *.png final.gif 

*مقدار delay مشخص کننده فاصله زمانی بین هر فریمه.20 در اینجا یعنی 0.2 فریم در ثانیه.و loop که مقدارش روی 0 تنظیم شده به معنای بی نهایت تکرار تصویر است.می توانید روی هر عدد دلخواهی حرکتِ تصویرِ خود را متوقف کنید.فرمول کلی محاسبه delay و fps به شکل زیر است:

100/delay = fps
1 = 100 fps
2 = 50 fps
4 = 25 fps
5 = 20 fps
10 = 10 fps
20 = 5 fps
25 = 4 fps
50 = 2 fps
100 = 1 fps

ورود به محیط chroot

بعضی مواقع پیش میاد که سیستم تون دچار مشکلاتی میشه که فقط از طریق chroot میشه حلشون کرد.یکی از اون مشکلات که به تازگی باهاش دست و پنجه نرم کردم این بود که موقع آپدیت سیستم بود و من داشتم فیلم میدیدم.انقد سرگرم فیلم شده بودم که نفهمیدم سیستم آپدیت شو کرده و وسط ساخت ایمیج جدید از کرنل بوده و من سیستم رو ریستارت کردم.بعد ریستارت با این پیغام مواجه شدم:

sh:can't access tty .job control turned off.you enter to emergency 

دست به کار شدم و یه فلش بوتیبل از ایزوی آرچ رو به کمک rufus تو ویندوز ساختم.با فلش بوت شده اومدم بالا که بازم به ارور خوردم:

waiting for 30 seconds for device /dev/disk/by-label/ARCH_201705
Error:Boot device didn't show up after 30 seconds...
Falling back to interactive prompt.
You can try and fix the problem manually..

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

mv /dev/disk/by-label/YOURLABLE /dev/disk/by-label/ARCH_201705
exit

قدم اول واسه وارد شدن به محیط chroot اطلاع از پارتیشن های سیستم تون هست که قراره مانت بشن:

lsblk

کافیه دو تا دایرکتوری بسازید.یکی برای Root سیستم و دیگری برای Boot.

mkdir /mnt/arch
mkdir /mnt/arch/boot

بعدش پارتیشن روت تون رو به دایرکتوری ای که ساختین مانت کنید.(sda8 واسه من پارتیشن روت هست)

mount /dev/sda8 /mnt/arch
mount /dev/sda6 /mnt/arch/boot

بعدش می تونید به دایرکتوریِ مانت شده تون chroot بزنید:

arch-chroot /mnt/arch

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

sudo pacman -Syu
sudo pacman -S linux-lts

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

ping www.google.com

مطمین بشید که به سایت گوگل می تونید پینگ بزنید.اگه پینگ نداد احتمالا اینترفیس تون به نت وصل نیست.پیشنهاد من اینه که با کابل لن به نت وصل شید.

فایل های torret. مربوط به deluge کجا هستند؟

گاهی وقتا لازم میشه برای عوض کردن ترکر های یه فایلی که دارین از طریق شبکه تورنت میگیرین به سایت http://torrenteditor.com سر بزنید.قبل از هر کاری باید یه فایل تورنت واسش مهیا کنید تا بتونه آنالیزش کنه و بهترین ترکر ها رو بهتون پیشنهاد بده.از اونجایی که دیلاگ فایل های تورنت تو مسیر:

~/.config/deluge/state

هستند، باید مراقب باشید که مسیر درست رو آدرس دهی میکنید.بعدش میتونید از ترکر های جدید لذت ببرید. :)

فارسی نویسی در ترمینال

برای نوشتن فارسی در ترمینال باید کتابخانه های fribidi و bicon رو صب کنیم.

 yaourt -S bicon-git

و بعدش این ها رو به انتهای فایلgnome-terminal.desktop خودتون اضافه کنید. با این دستورها.

su
echo 'Terminal=true' >> /usr/share/applications/gnome-terminal.desktop
echo 'Exec=/usr/bin/bicon' >> /usr/share/applications/gnome-terminal.desktop

شما باید قسمت خاکستری در بالا رو به ترمینالی که خودتون دارید تغییر بدید. مثلا gnome-terminal
و سپس اگر از ترمینال جایی شورتکات گذاشتید حذفش کنید و دوباره بذارید.
از این به بعد با اجرا کردن ترمینال از منوی دسکتاپتون bicon بصورت خودکار اجرا میشه و شما میتونید راحت فارسی تایپ کنید و بخونید.

تغییر ManPager

export MANPAGER=cat

دستورات کاربردی ffmpeg

ساخت گیف از روی ویدیو:

ffmpeg -t <duration> -ss <starting position in hh:mm:ss format> -i <input_video> out%04d.gif

مثلا:

ffmpeg -t 5 -ss 00:00:10 -i funny.mp4 out%04d.gif

کات کردن بخشی از ویدیو:

ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile

یا:

ffmpeg -i input.mp4 -ss 00:00:05 -c copy -t 12 sliced-output.mp4

و یا:

ffmpeg -i input.mp4 -ss 00:00:05 -c copy -to 00:00:07 sliced-output.mp4