محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
جمعه, ۱۸ آذر ۱۳۹۰، ۱۱:۱۶ ق.ظ

DWM راهکار مناسبی برای مدیریت پنجره ها در لینوکس

dwm-logoمدت ها میشد که دنبال یک window manager می گشتم که هم خیلی سبک تر desktop environment هایی مثل gnome باشه هم خیلی راحت تر بتونم تنظیمش کنم. برای همین منظور چیز هایی مثل awesome, wmii, i3, ratpoison رو امتحان کردم که در انتها window manager dwm نظرمو جلب کرد که با کمی تغییرات شد محیط اصلی ای که باهاش کار می کنم.

 

window manager چیست:

ابزاری نرم افزاری که در محیط گرافیکی gui موقعیت پنجره ها رو مدیریت می کند. البته می توان گفت اکثر window manager ها تکمیل تر می شوند و کار DE ها رو هم انجام می دهند. DE ها از یک wm یک برنامه مدیریت فایل، یک مجموعه کتابخانه و ... تشکیل می شود.

نصب Dwm کار سختی نیست که شما هم می توانید از طریق ریپو هایتان نصبش کنید و هم می توانید از طریق کامپایل کردن پکیجش نصب کنید. برای عوض کردن تنظیماتش راه دوم بهتر است.

برای همین از سایت اصلی source مربوطه را دریافت کنید. ( به این بسته هم نگاه کنید. )

برای عوض کردن رنگ و چیزهای دیگر باید فایل config.h را تغییر بدهید. به طور مثال من با دکمه Alt به عنوان کلید اصلی مشکل داشتم برای همین همه چیز را به دکمه super تغییر دادم که با  emacs دوست داشتنی ام مشکلی نداشته باشد.

یکی از مهمترین خاصیت های dwm پشتیبانی از سیستم tiling است که در این حالت می تونید دو برنامه را به صورت خرد شده در کنار هم ببینید. من در تنظیمات خودم ۳ حالت دارم. اینکه یک پنجره را فقط نشان بدهد اینکه همه را tile کند اینکه کلا float باشد.\

 

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

 

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

dmenu رو یا همون باز کننده برنامه هاتونه --> super + space

باز کردن workspace ها --> super + numkey

انتقال پنجره به workspace های دیگر --> shift + super + numkey

layout به صورت tile در بیاید --> super + t

layout به صورت full در بیاید --> super + m

layout به صورت float در بیاید --> super + f

و ...

کلا با خواندن فایل تنظیمات می توانید به همه دکمه ها پی ببرید D: .

 

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

برای مدیریت شبکه توصیه می کنم از برنامه wicd استفاده کنید

sudo yum install wicd wicd-gtk wicd-curses
sudo service NetworkManager stop # Bad password errors if both are running…
sudo service wicd start
wicd-client -n

 

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

terminator که قابلیت tile شدن داخلی داره و خیلی کارایی دارد ( یه سری آموزش و توضیحات اینجا است.)

guake که یه سری کارهای گرافیکی می کنه :D

 

برای تغییر بک گراند از ابزاری به اسم feh می تونید استفاده کنید که می تونه تصویر رو عوض کنه

 

برای فایل منیجر هم ابزار هایی مثل krusader, doublecommander, thunar هم خوب است. البته بی مشکل ترینشون همین krusader است که kde است.

 

برای تغییر زبان هم می توانید از setxkbmap استفاده کنید.

setxkbmap -option grp:switch,grp:alt_shift_ toggle,grp_led:scroll us,ir

 

کلا شما می توانید یک سری تنظیمات داشته باشید که در init ی جایی بازش کنید

نمونه کدی که می توانید بنویسید:

 

while true; do
    xsetroot -name "Memory $(free -m | grep '^Mem' | awk '{print "\x02 total: " $2 "MB used: " $3"MB \x01"}') CPU $(top -bn 1 | grep '^Cpu' | tr -d 'usy,' | awk '{print "\x02 user " $2 ", sys " $3 "\x01 Date \x02"}') $( date +"%F %R" ) $(uptime | awk '{print  "Up:" $3}' | tr -d ',')"
     
    sleep 60s
done &

# start wallpaper

feh --bg-scale ~/Pictures/wallpapaer/7sobhgoode.jpg

در این کد با xsetroot مقدار رم مصرف شده و ... رو نوشته بک گراند هم عوض کردیم.

 

چند screenshot:

dwm



نوشته شده توسط محمد افاضاتی
ساخت وبلاگ در بلاگ بیان، رسانه متخصصان و اهل قلم

محمد افاضاتی

دیده ها، شنیده ها و علاقه مندی های یک برنامه نویس
محمد افاضاتی
محمد افاضاتی برنامه نویس python php دیتابیس های postgresql mongodb و ...

رونوشتی از علاقه مندی هایم برای ماندگار تر شدن!

تبلیغات

طبقه بندی موضوعی

Feedburner RSS

Others

توییتر

dwm-logoمدت ها میشد که دنبال یک window manager می گشتم که هم خیلی سبک تر desktop environment هایی مثل gnome باشه هم خیلی راحت تر بتونم تنظیمش کنم. برای همین منظور چیز هایی مثل awesome, wmii, i3, ratpoison رو امتحان کردم که در انتها window manager dwm نظرمو جلب کرد که با کمی تغییرات شد محیط اصلی ای که باهاش کار می کنم.

 

window manager چیست:

ابزاری نرم افزاری که در محیط گرافیکی gui موقعیت پنجره ها رو مدیریت می کند. البته می توان گفت اکثر window manager ها تکمیل تر می شوند و کار DE ها رو هم انجام می دهند. DE ها از یک wm یک برنامه مدیریت فایل، یک مجموعه کتابخانه و ... تشکیل می شود.

نصب Dwm کار سختی نیست که شما هم می توانید از طریق ریپو هایتان نصبش کنید و هم می توانید از طریق کامپایل کردن پکیجش نصب کنید. برای عوض کردن تنظیماتش راه دوم بهتر است.

برای همین از سایت اصلی source مربوطه را دریافت کنید. ( به این بسته هم نگاه کنید. )

برای عوض کردن رنگ و چیزهای دیگر باید فایل config.h را تغییر بدهید. به طور مثال من با دکمه Alt به عنوان کلید اصلی مشکل داشتم برای همین همه چیز را به دکمه super تغییر دادم که با  emacs دوست داشتنی ام مشکلی نداشته باشد.

یکی از مهمترین خاصیت های dwm پشتیبانی از سیستم tiling است که در این حالت می تونید دو برنامه را به صورت خرد شده در کنار هم ببینید. من در تنظیمات خودم ۳ حالت دارم. اینکه یک پنجره را فقط نشان بدهد اینکه همه را tile کند اینکه کلا float باشد.\

 

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

 

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

dmenu رو یا همون باز کننده برنامه هاتونه --> super + space

باز کردن workspace ها --> super + numkey

انتقال پنجره به workspace های دیگر --> shift + super + numkey

layout به صورت tile در بیاید --> super + t

layout به صورت full در بیاید --> super + m

layout به صورت float در بیاید --> super + f

و ...

کلا با خواندن فایل تنظیمات می توانید به همه دکمه ها پی ببرید D: .

 

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

برای مدیریت شبکه توصیه می کنم از برنامه wicd استفاده کنید

sudo yum install wicd wicd-gtk wicd-curses
sudo service NetworkManager stop # Bad password errors if both are running…
sudo service wicd start
wicd-client -n

 

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

terminator که قابلیت tile شدن داخلی داره و خیلی کارایی دارد ( یه سری آموزش و توضیحات اینجا است.)

guake که یه سری کارهای گرافیکی می کنه :D

 

برای تغییر بک گراند از ابزاری به اسم feh می تونید استفاده کنید که می تونه تصویر رو عوض کنه

 

برای فایل منیجر هم ابزار هایی مثل krusader, doublecommander, thunar هم خوب است. البته بی مشکل ترینشون همین krusader است که kde است.

 

برای تغییر زبان هم می توانید از setxkbmap استفاده کنید.

setxkbmap -option grp:switch,grp:alt_shift_ toggle,grp_led:scroll us,ir

 

کلا شما می توانید یک سری تنظیمات داشته باشید که در init ی جایی بازش کنید

نمونه کدی که می توانید بنویسید:

 

while true; do
    xsetroot -name "Memory $(free -m | grep '^Mem' | awk '{print "\x02 total: " $2 "MB used: " $3"MB \x01"}') CPU $(top -bn 1 | grep '^Cpu' | tr -d 'usy,' | awk '{print "\x02 user " $2 ", sys " $3 "\x01 Date \x02"}') $( date +"%F %R" ) $(uptime | awk '{print  "Up:" $3}' | tr -d ',')"
     
    sleep 60s
done &

# start wallpaper

feh --bg-scale ~/Pictures/wallpapaer/7sobhgoode.jpg

در این کد با xsetroot مقدار رم مصرف شده و ... رو نوشته بک گراند هم عوض کردیم.

 

چند screenshot:

dwm

موافقین ۱ مخالفین ۰ ۹۰/۰۹/۱۸
محمد افاضاتی linux window manager dwm desktop environment

نظرات  (۸)

من از زنجان به بعد با(آخر تابستون) این سیستم کار میکردم،  ولی الان دقیقا از امروز سوییچ کردم به i3
البته یه مشکلی که هست، guake اصلا و ابدا کار نمیکنه با dwm و من تعجب میکنم چرا معرفیش کردی :))
علاوه بر همه اینها، همچنان network-manager گزینه خوبیه برای استفاده، و اگه tray بخوای هم stalonetray هست

پاسخ:
من guake الان دارم D: چطور برات کار نمی کنه؟
i3 هم به نظرم چیز خوبی اومده ولی فعلا dwm جواب کارم و میده ولی config file تو برام بفرست ببینمش
یه مشکلی هم که بود عوض کردن alt به super بود که نتونستم... باهاش ور می رم ببینم چجوریه

ویرایش: تصویر guake هم گذاشتم D:
 کانفیگ i3? من الان نسخه ۴.۱ از i3 رو دارم، و راضیم ازش. یه سری ابزار با خودش داره، مثل bar و یا msg یا nagbar که میشه از اونها هم استفاده کرد.
یه input هم هست که از طریق پایپ یا سوکت، دستور میفرسته واسه i3 که کلا چیز جالبیه
علاوه بر همه یه i3-config-wizard هست که اگه کانفیگ نداشته باشی یکی میسازه برات، و اونجا ازت میپرسه که alt میخوای یا super و بعد یه کانفیگ ساده تحویلت میده، به هر حال این کانفیگ منه :
http://pastebin.com/46BSLHyz
پ-ن :‌تا الان ۳ دفعه کپچا رو ایراد گرفته ازم!!! - اصلاح میکنم الان شد ۴ دفعه!!
پاسخ:
ایول منم نصب کردم چیز خوبیه. احتمالا یه مدتی باهاش کار کنم...
یه مشکل داره نمی تونی workspace ها رو merge کنی

پ.ن: خوبه که D:

۰۱ اسفند ۹۰ ، ۱۵:۱۵ James the programmer
.dwm is great,I like awesome more, for dropdown terminals,you can use tilda too,its similar to Guake
۲۳ مرداد ۹۱ ، ۲۳:۳۴ یوشا آل ایوب
پاسخ:

در کل arch برای کسی که می خواد خیلی به روز باشه و ... عالیه ولی slack این حس رو برام نداره هرچند که ساختار خیلی شبیه ی دارند و هر دوشون دوست داشتنی اند
۲۷ مرداد ۹۱ ، ۲۳:۳۴ یوشا آل ایوب
اولاً که بروز بودن دو بعد داره:
1- پچ های امنیتی و رفع باگ های core
2- بروزرسانی پکیژ ها

دوماً آرچ، بیشتر بروز رسانی پکیژ هاشه که زود به زود ترخیص میکنه - و از نظر من(و خیلی ها) اشتباهه - چون اینکار باید توط کاربر انجام بشه و نه تیم توسعه
و برعکس اسلکور فقط موقعی ترخیص میکنه که باگ رفع کنه و نه پیکج بروز کنه!
در ضمن مقایسه این دو کار نابخردانه ایه. چرا؟
چون هدف آرچ واقاً یه lightweigh واقعی هستش - ولی هدف اسلکور کامل بودن(که مناسب سرور هم هست)


بعدم ممد این dmw عجب چیزیه - سرعتش عین بنز می مومنه!
پاسخ:
آره تو همون لینک هایی که دادم توضیح داده بود که ببینید نیازتون چیه. برای من خیلی مهم نیست و خیلی راحت اگر پیکجی مشکل داشته باشه downgrade می کنم و دسترسی به aur برام از همه چیز مهمتره :D

راضی ام ازش :D
۲۹ مرداد ۹۱ ، ۲۱:۵۳ یوشا آل ایوب
ممد این مقالمو بخون:

Kernel Module لینوکس چیست:

 http://slack-world.com/forum/index.php?topic=274
سلام.مطالی در موردpictuer manager اخه باید کنفرانس بدم درموردش هیچی نمیدونم.اگه لطف کنید بذارید ممنون میشم...
درود
محمد جان dwm رو نصبش کردم و باهاش ور رفتم .
چیز خوبیه منتها چند وقت پیش به لینک پایین سرزدم که یک سری کانفیگ گذاشته و کانفیگ برای dwm هم داره ولی نتونستم بفهمم هرکدوم رو باید کجا قرار بدم تا تغییرات اعمال بشه . بک آپ دارم ولی نخواستم خودم دستکاری کنم اگه میشه لینک و تصویر زیر رو ببین که با فلش قرمز مشخص کردم و برام توضیح بده هرکدوم رو کجا توی سیستم خودم اعمال کنم .
متشکرم

لینک : http://dotshare.it/dots/444/
لینک تصویر : http://www.mediafire.com/download/1355vyjnu90dd6q/Selection_001.png

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی