انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: norouzi90 در 05 خرداد 1401، 09:50 قظ
-
با سلام و احترام،
بر روی JWM کار می کنم، برای کانفیگ این winow manager معمولا فایل jwmrc. را بکار می برند.
لطفا در صورت امکان در موارد زیر مرا راهنمایی بفرمایید:
۱- مثلا من برای قرار دادن آیتم برنامه thunar در پانل از این دستور استفاده می کنم.( عکس 1)
و مشکلی از این بابت ندارم. ولی برای برنامه هایی که بایستی در قسمت system tray قرار بگیرند ،
مثلا برای زبان ، ولوم صدا و نشانگر اتصال اینترنت ، نمی دانم دستورات مرتبط با اینها را چگونه
بکار بگیرم؟ کد دستوری xml. را برای اینکار بلد نیستم.چون نمی خواهم Button درست کنم تا با کلیک
بر روی آن مثلا آیکن ولوم صدا نشان داده شود، بلکه می خواهم با ورود کاربر به دسکتاپ این آیتم بصورت اتوماتیک وار اجرا شود.
۲- در OPENBOX ، یک فایلی بنام autostart وجود دارد که دستوراتی را که می خواهیم حین ورود کاربر به محیط دسکتاپ بصورت اتوماتیک اجرا شود ،
در آن قرار می دادیم ، در JWM بنظرتان من چکار بکنم؟ بایستی از همین فایل jwmrc. استفاده کنم؟ به چه نحوی؟ یا اینکه روش دیگری وجود دارد؟
۳- یک مشکلی که من در JWM دارم و در OPENBOX نداشتم این است که وقتی پنجره باز شده مربوط به یک برنامه را با ماوس می خواهم جابه جا کنم،
وقتی پنجره برنامه در لبه های دسکتاپ قرار می گیرد ، پنجره برنامه شروع به لرزیدن می کند. آیا راهکاری برای این مورد دارید؟
فقط در لبه ها اینطوری می شود ولی اگر پنجره برنامه را کوچکتر کنم تا به لبه ها نخورد مشکلی نیست.
۴- بطور کلی با کلیک راست بر روی دسکتاپ ، منوی راست باز می شود، آیا در برخی window manager ها مانند JWM علت خاصی دارد که این عمل را بصورت پیش فرضر
بعهده کلیک چپ گذاشته اند؟ آیا راهی وجود دارد که این عمل را دوباره بدهیم به کلیک راست؟
حالا نگویید که باز هم نوروزی یه دونه window manager پیدا کرده و گذاشته جلوش و اومده سر وقتمان و بخواد اذیتمان بکنه!!
-
نیازی به اون & بعد دستور اجرای تونار نیست
اون پایین تر رو نگاه کن ببین خودش آیکون ها رو معرفی کرده یا نه اگه کرده نیازی نیست مسیر کامل آیکون رو بنویسی
من برای مدیریت زبان ورودی از ibus استفاده می کنم. وقتی نصبش کردم و تنظیمش کردم اون پایین کنار ساعت نشونش داد
-
نیازی به اون & بعد دستور اجرای تونار نیست
اون پایین تر رو نگاه کن ببین خودش آیکون ها رو معرفی کرده یا نه اگه کرده نیازی نیست مسیر کامل آیکون رو بنویسی
من برای مدیریت زبان ورودی از ibus استفاده می کنم. وقتی نصبش کردم و تنظیمش کردم اون پایین کنار ساعت نشونش داد
با تشکر،
برای آیتم Volume در پانل چکار می نمایید؟
در مورد برنامه هایی مانند gparted و timeshift , synaptic که برای اجرا شدن نیازمند مجوز مدیریتی می باشند،
در سیستم من اگر دستور پایینی را در قسمت autostart مربوط به فایل کانفیگ window manager ها ننویسم، کادر محاوره ای
برای پرسیدن پسورد باز نمی شود و بدین علت این برنامه ها در محیط گرافیکی ام باز و اجرا نمی شوند. نمی دانم بغیر از این
روش آیا روش بهتری وجود دارد؟ آیا بنظرتان بایستی بسته خاصی نصب نمایم؟
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
-
من چون به window manager ها علاقه دارم سعی دارم ، کار در این زمینه را برای کاربرانی که در این زمینه علاقمندند و یا کسانیکه احتمالا بعلت ضعف سخت افزاری در مضیقه هستند، تا جایی که بتوانم راحت تر بکنم.
چند روزی است که روی این موضوعی که در اینجا عنوان کرده ام دارم تحقیق می کنم. فکری به ذهنم رسیده که بنظرم تا حد زیادی اگر امکانپذیر باشد، کار را برای کاربران در این زمینه راحت تر بکند. یکی از دغدغه های اصلی در زمینه کار بر روی window manager ها برای شخصی سازی برای استفاده روزمره گی ، این است که معمولا دسکتابی که می خواهیم بر روی آن کار بکنیم نیازمند panel می باشد. پانل خالی هم که چندان بدرد نمی خورد ، بایستی نشانگرهایی مانند زبان و ولوم صدا و کانکشن اینترنت
بر روی پانل داشته باشند. بغیر از اینها در مورد background هم معمولا بجای استفاده از تنها یک صفحه رنگی و یا سیاه سفید بیروح بصورت پیش فرض بهتر است از نرم افزار هایی مانند feh یا nitrogen استفاده نماییم و اما برای استفاده از اینها باز هم محتاج فایل کانفیگ window manager و یا در صورت ارایه توسط توسعه دهندگان، فایل autostart هستیم. ( در بعضی window manager ها برای این فایل نامهای دیگری مانند start و غیره استفاده می شود).
(هر چند که می شود در بعضی موارد محدودی مثلا برای گزینه زبان از ibus استفاده شود که دیگر نیاز به این کارها نباشد ولی من بیشتر ترجیحم بر روی fbxkb است.)
مشکل وقتی دو چندان می شود که بعضی window manager ها ، اصلا فایلی بنام autostart ندارند و بایستی مانند ویندو ومنیجر JWM ، این دستورات را بر روی همان فایل کانفیگ که نامش برای این window manager هست jwmrc. ،نوشته شود ، که حساب کنید که یک فایل داده برای نوشتن و کانفیگ root menu و Tray و IconPath و Key bindings و ...
نوشتن این همه مطلب در یک فایل و یا نوشتن یک فایل اسکریپت و ارجا آن در این فایل ، شاید روش معمول قضیه باشد. آنهم در صورتیکه شما بتوانید روش درست آنرا مخصوصا در مورد برنامه هاییکه بصورت autostart بخواهند اجرا کنید را بیابید که شاید در بعضی window manager ها نیازمند جستجوی وسیع و در اکثر موارد نیازمند خلاقیت از طرف کاربر است.
روش میانبریکه به ذهن من رسید این بود که در لینوکس مینت و ابونتو و خانواده های آنها نرم افزاری بنام autostart application وجود دارد . کار این نرم افزار همانطور که بهتر از من می دانید این است که آن برنامه یا کامندی را که می خواهید در هنگان لاگین کاربر به حساب کاربری خود اجرا شود را از طریق این نرم افزار به سیستم معرفی می نمایید. روش کار در لینوکس مینت تا آنجایی که من فهمیدم این بود که در مسیر config./~ ، پوشه ای بنام autostart است.
فایلی که از طریق برنامه autostart application ایجاد می شود ، در داخل این پوشه قرار می گیرد.
چون در دبیان stable ، متاسفانه این برنامه تا جایی که اطلاع دارم نیست من رفتم از لینوکس مینت بصورت لایو استفاده کردم و برنامه ها و دستورات موردنظرم را که می خواهم در هنگام لاگین کاربر اجرا شود ، از طریق این برنامه و محتویات این پوشه استفاده کردم. البته بعد از کپی در سیستم خودم در مسیر /config/autostart/~ ، مالکیت مربوط به فایل ها را
به کاربر جاری انتقال دادم و همچنین فایل ها را به حالت اجرایی درآوردم.
این روش بدون مشکل در openbox کار می کند و دیگر نیازی به پوشه autostart مربوط به openbox نیست ولی در window manager های زیر که امتحان کردم جواب نداد:
fluxbox - jwm -lwm -icewm - miwm - pekwm - stumpwm - twm - aewm++ - evilwm - flwm - openbsd-cwm - w9wm
در این زمینه امتحان دیگری که کردم این بود که فایل های مربوطه که از autostart application در لینوکس مینت بدست آورده بودم ، اینبار برداشتم و در مسیر
دیگری یعنی /etc/xdg/autostart/ قرار دادم و باز هم در openbox جواب داد ولی در window manager های دیگر نه.
نمی دانم مشکلم کجاست؟
-
نیازی به اون & بعد دستور اجرای تونار نیست
اون پایین تر رو نگاه کن ببین خودش آیکون ها رو معرفی کرده یا نه اگه کرده نیازی نیست مسیر کامل آیکون رو بنویسی
من برای مدیریت زبان ورودی از ibus استفاده می کنم. وقتی نصبش کردم و تنظیمش کردم اون پایین کنار ساعت نشونش داد
با تشکر،
برای آیتم Volume در پانل چکار می نمایید؟
در مورد برنامه هایی مانند gparted و timeshift , synaptic که برای اجرا شدن نیازمند مجوز مدیریتی می باشند،
در سیستم من اگر دستور پایینی را در قسمت autostart مربوط به فایل کانفیگ window manager ها ننویسم، کادر محاوره ای
برای پرسیدن پسورد باز نمی شود و بدین علت این برنامه ها در محیط گرافیکی ام باز و اجرا نمی شوند. نمی دانم بغیر از این
روش آیا روش بهتری وجود دارد؟ آیا بنظرتان بایستی بسته خاصی نصب نمایم؟
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
برای صدا هنوز کاری نکردم ;D
این به حاطر اینه که jwm اصلا autostart نداره! ولی یک راه که به ذهنم می رسه اینه که می تونید یک فایل دیگه بسازید و توی اون بگید که اون دستور رو اجرا کنه و اون رو ابتدای فایل .jwmrc معرفی کنید
البته حتما لازم نیست همه پیکربندی توی یک فایل باشه میشه بقیه رو توی یک فایل یا چند تا دیگه هم قرار بدید برای اینکار از include استفاده کنید برای اجرای اون دستور بعد از لاگین احتمالا این روش جواب بده اگه دبیان دارید می تونید فایل
/etc/jwm/debian-menu
رو یه نگاه کنید و تگ <JWM> هم یادتون نره
احتمالا راهنمای خودش رو خوندید:
https://joewing.net/projects/jwm/config.html (https://joewing.net/projects/jwm/config.html)
-
با سپاس و تشکر فراوان از دوست گلم آقای Aminavy .
-
۳- یک مشکلی که من در JWM دارم و در OPENBOX نداشتم این است که وقتی پنجره باز شده مربوط به یک برنامه را با ماوس می خواهم جابه جا کنم،
وقتی پنجره برنامه در لبه های دسکتاپ قرار می گیرد ، پنجره برنامه شروع به لرزیدن می کند. آیا راهکاری برای این مورد دارید؟
در این زمینه به نتایجی رسیدم.
در فایل jwmrc. قسمتی بدین صورت وجود دارد:
<!-- The snap mode (none, screen, or border) -->
<SnapMode distance="10">border</SnapMode>
و در تعریف این قسمت چنین آمده است:
SnapMode
The snap mode. The default is "border". Valid values are "none"
(for no snapping), "screen" (for snapping to the edge of the
screen), and "border" (for snapping to the borders of windows and
the screen). An optional attribute, distance, specifies the distance
for snapping. The default is 5. Valid values are between 1 and 32
inclusive.
حالت پیشفرض border میباشد ، اگر من گزینه را بگذارم روی none این قضیه برایم حل میشود و دیگر پنجره نمی لرزد.
ولی قضیه بهمین جا ختم نمیشود و یک مورد بخصوصی وجود دارد . چندین سال قبل یکی از توزیعهای گنو/لینوکسی را نصب کرده بودم و داشتم امتحانش میکردم ، ولی نامش یادم نمیآید ، یک مشکل خاصی با این توزیع داشتم و آن این بود که موقع حرکت دادن پنجره ها ، پنجره ها می لرزیدند، این برایم حسابی مورد کلافه کننده ای بود و بنظرم میرسید که این بایستی یک باگ بوده باشد. بعد از کلی تحقیق ، آخر سر این را فهمیدم که این مورد باگ نمی باشد ، بلکه میتوان گفت که این یک افکت مانندی است که باعث میشود که پنجره در حین حرکت حالت موج گونه و مواجی داشته باشد و راهکارش هم نصب بسته ای بود یا یک تنظیمی بود ، خلاصه یادم نمی آید، بعد از نصب آن بسته یا انجام آن تنظیم ، پنجره ها در حین حرکت الکی و اعصاب خوردکن نمی لرزیدند و بصورت مواج گونه زیبایی حرکت میکردند.
هر چند که با none کردن این تنظیم در jwm ، دیگر پنجره هایم نمی لرزند ولی به احتمال قوی این بایستی یک افکتی باشد. ولی نمیدانم بایستی چه بسته ای نصب یا چه تنظیمی انجام دهم تا شاهد عملکرد درست این گزینه بر روی سیستمم باشم!!
-
بلاخره موضوع مربوط به SnapMode را حل کردم.
از کامپوزیتور های xcompmgr و همچنین compton دیگر استفاده نکردم و اینبار بجای آنها از
کامپوزیتور picom استفاده کردم ، بعد از نصب picom این دستور را در داخل فایل jwmrc. بکار بردم:
<StartupCommand>picom</StartupCommand>
و مشکل حل شد.لبه های پنجره ها دیگر نمی لرزند و توصیف دقیق حالت SnapMode به این صورت می باشد:
همانطور که میبینید ، سه تا حالت دارد none , screen, border .
screen :
وقتی که پنجره ای را جابجا میکنید با رسیدن لبه های پنجره جابجا شده به فاصله تعریف شده توسط distance از کناره های صفحه مونیتور( یا همان screen )، پنجره جابجا شده آن لبه اش میرود می چسبد به کناره های screen ، انگار که یک آهنربا جذبش کرده باشد.
border :
وقتی که پنجره ای را جابجا میکنید با رسیدن لبه های پنجره جابجا شده به فاصله تعریف شده توسط distance از کناره های صفحه مونیتور یا لبه های پنجره های دیگر، پنجره جابجا شده آن لبه اش میرود می چسبد به کناره های screen یا پنجره دیگر، انگار که یک آهنربا جذبش کرده باشد.
( فاصله مجاز برای distance ، بین 1 و 32 می باشد.)
-
قسمت اول:
(تجربیات شخصی من از debian + jwm ، البته با الطافی که دوستان ارجمند تاکنون داشته اند.)
۱- نصب دبیان بصورت مینیمال.
۲- افزودن contrib و non-free به etc/apt/sources.list/
۳-
# apt update
۴-
# apt install firmware-linux
۵-
# reboot
۶-
# apt install firmware-realtek
۷-
# dpkg-reconfigure tzdata
نکته: اگر در هنگام نصب دبیان کشور دیگری را انتخاب کرده باشید و الان بخواهید آنرا تغییر بدهید تا ساعت شما مطابق، ساعت رسمی کشورتان باشد.
۸-
# apt install lightdm
۹-
# apt install jwm
۱۰-
# apt install synaptic
۱۱-
# apt install sudo
۱۲-
# usermod -aG sudo username
نکته: کاربر اصلی اتان را عضو گروه sudo نمایید.
۱۳-
# reboot
۱۴-
$ sudo apt install
pcmanfm gvfs-backends network-manager-gnome firefox-esr geany alsa-utils alsamixergui pnmixer fbxkb mtp-tool feh gimp xfce4-terminal
gnome-screenshot chromium timeshift gnome-disk-utility virt-manager parole
libreoffice libreoffice-gtk3 transmission screenfetch brasero evince
packagekit-command-not-found command-not-found xpdf net-tools file-roller
gparted catfish x11-xserver-utils xscreensaver lxappearance
oxygen-icon-theme gnome-brave-icon-theme gnome-calculator onboard gdebi
aria2 vlc fsarchiver netselect-apt neofetch tumbler ffmpegthumbnailer picom eog fonts-farsiweb hplip-gui
photocollage
نکته: یا اینکه این بسته ها را در synaptic نصب نمایید.
$ sudo synaptic
۱۵-
$ sudo gnome-disks
automount کردن پارتیشن های موردنظر و همچنین تنظیم Identify As توسط نرمافزار Disks ،
از قسمت Edit Mount Options مربوط به این نرم افزار.
۱۶-
$ sudo reboot
۱۷-
$ mkdir -p ~/Pictures/wallpaper
نکته: عکس هایی را که میخواهید، بعنوان background در دسکتابتان قرار بگیرند، در این پوشه قرار بدهید.
۱۸- فایل ir.png را که قبلاً تهیه کرده و تغییر ابعاد داده اید، به محل زیر کپی کنید:
(اینکار برای نشان دادن علامت پرچم موردنظرمان در system tray در پانل، برای زبان موردنظرمان انجام می گیرد.)
/usr/share/fbxkb/images
۱۹-
show list all users at login with lightdm
$ sudo nano /etc/lightdm/lightdm.conf
then uncomment:
greeter-hide-users=false
۲۰- ایجاد کاربر جدید:
$ sudo adduser new-username
۲۱- Automatic login برای کاربر موردنظر:
$ sudo passwd -d username
حذف پسورد برای کاربر موردنظر.
۲۲- اگر سیستم را با این روش نصب کرده باشید، در پانل در قسمت system tray ، در آیکن network ، لیستی را که نشان می دهد، اسامی wireless ها را نشان میدهد ولی برای wired چیزی را نشان نمیدهد که مثلاً وصل است و یا قطع است و یا بشود با آن wired را disconnect کرد.
و وقتی که بر روی علامت network در پانل کلیک راست میکنیم و گزینه connection information
را میزنیم این آلارم می آید:
Error displaying connection information
No valid active connections found!
برای حل این موضوع از این روش استفاده می کنیم:
$ sudo nano /etc/network/interfaces
تمامی قسمتها را کامنت یا پاک کنید ولی بغیر از این قسمت:
source /etc/network/interfaces.d/*
دلیل اینکه این سطر را کامنت یا پاک نکردیم این بود که اگر خواستیم یک تنظیمی توی
etc/network/interfaces.d بگذاریم، قابل استفاده باشد. بعد از save کردن تغییرات در فایل،
کامپیوتر را restart می کنیم.
نکته: حتی برای حل شدن مشکل بالایی میتوانید فایل etc/network/interfaces را حذف کنید یا کل محتویاتش را پاک کنید ولی بعلت دلیل ذکر شده در بالا، بهتر است که متن قسمت source باقی بماند.
۲۳-
sudo reboot
۲۴-
اگر بخواهید، بجای میزکار از window manager استفاده کنید،در برخی از window manager ها، مانند
openbox بصورت پیشفرض منو پویا اختصاص داده شده است. ولی در برخی دیگر مانند jwm منو بصورت استاتیک می باشد.
برای استفاده از منو پویا برای jwm ، به این آدرس بروید:
https://github.com/chiku/mjwm (https://github.com/chiku/mjwm)
این برنامه را نصب میکنیم.( بهتر است که اگر می توانید، ابتدا این برنامه را بصورت فایل deb. دربیاورید و به این صورت در سیستمتان نصب نمایید تا این برنامه، توسط پکیج منیجرتان قابل شناسایی باشد.)
بعد از نصب mjwm ، این دستور را در ترمینال بزنید:
$ mjwm
با زدن این دستور برای شما مینویسد که فایلی با نام jwmrc-mjwm. در دایرکتوری خانگی تان ایجاد شده است.
نکته: اگر هم دوست دارید، میتوانید از برنامههای دیگری مانند menumaker و ... هم بجای این برنامه mjwm استفاده کنید.
اگر دوست داشته باشید از menumaker استفاده کنید به یکی از این دو آدرس مراجعه کنید:
https://menumaker.sourceforge.net/ (https://menumaker.sourceforge.net/)
https://sourceforge.net/projects/menumaker/ (https://sourceforge.net/projects/menumaker/)
نکته: البته مجبور نیستید که از برنامههای بالا و یا هر برنامه دیگر برای ایجاد منو پویا استفاده کنید، در این حالت بایستی از روش منو ایستاتیک استفاده نمایید و خودتان در این حالت بایستی فایل jwmrc. ، برای این مورد ویرایش نمایید.
۲۵- با فرمان زیر فایل system.jwmrc را به داخل دایرکتوری خانگی کاربر کپی می نماییم.
$ cp /etc/jwm/system.jwmrc ~/
۲۶- با فرمان زیر، نام این فایل را به jwmrc. تغییر نام می دهیم.
$ mv ~/system.jwmrc ~/.jwmrc
-
فکر کنم توی مرحله ۱۲ اون sudo که اول دستور گذاشتید زیادیه. چون دارید با کاربر روت دستکرات رو اجرا میکنید و کاربر روت به sudo نیازی نداره.
در ضمن لازم نیست کاربر روت عضو گروه sudo باشه.
پیکربندی پیشفرض pam که sudo هم از اون استفاده میکنه، به کاربر روت اجازه میده بدون وارد کردن رمزش، بتونه از sudo استفاده کنه.
-
با تشکر، اصلاح گردید.
-
قسمت دوم:
محتوای فایل etc/jwm/system.jwmrc/ بصورت اورجینال و بدون ویرایش:
<?xml version="1.0"?>
<JWM>
<!-- The root menu. -->
<RootMenu onroot="12">
<Include>/etc/jwm/debian-menu</Include>
<Program icon="terminal.png" label="Terminal">xterm</Program>
<Separator/>
<Program icon="lock.png" label="Lock">
xlock -mode blank
</Program>
<Separator/>
<Restart label="Restart" icon="restart.png"/>
<Exit label="Exit" confirm="true" icon="quit.png"/>
</RootMenu>
<!-- Options for program groups. -->
<Group>
<Option>tiled</Option>
<Option>aerosnap</Option>
</Group>
<Group>
<Class>Pidgin</Class>
<Option>sticky</Option>
</Group>
<Group>
<Name>xterm</Name>
<Option>vmax</Option>
</Group>
<Group>
<Name>xclock</Name>
<Option>drag</Option>
<Option>notitle</Option>
</Group>
<!-- Tray at the bottom. -->
<Tray x="0" y="-1" height="25" autohide="off">
<TrayButton icon="/usr/share/jwm/jwm-red.svg">root:1</TrayButton>
<Spacer width="2"/>
<TrayButton label="_">showdesktop</TrayButton>
<Spacer width="2"/>
<Pager labeled="true"/>
<TaskList maxwidth="256"/>
<Dock/>
<Clock format="%H:%M"><Button mask="123">exec:xclock</Button></Clock>
</Tray>
<!-- Visual Styles -->
<WindowStyle>
<Font>Sans-9:bold</Font>
<Width>4</Width>
<Height>21</Height>
<Corner>3</Corner>
<Foreground>#FFFFFF</Foreground>
<Background>#555555</Background>
<Outline>#000000</Outline>
<Opacity>0.5</Opacity>
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#0077CC</Background>
<Outline>#000000</Outline>
<Opacity>1.0</Opacity>
</Active>
</WindowStyle>
<TrayStyle group="true" list="all">
<Font>Sans-9</Font>
<Background>#333333</Background>
<Foreground>#FFFFFF</Foreground>
<Outline>#000000</Outline>
<Opacity>0.75</Opacity>
</TrayStyle>
<TaskListStyle>
<Font>Sans-9</Font>
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#555555</Background>
</Active>
<Foreground>#FFFFFF</Foreground>
<Background>#333333</Background>
</TaskListStyle>
<PagerStyle>
<Outline>#000000</Outline>
<Foreground>#555555</Foreground>
<Background>#333333</Background>
<Text>#FFFFFF</Text>
<Active>
<Foreground>#0077CC</Foreground>
<Background>#004488</Background>
</Active>
</PagerStyle>
<MenuStyle>
<Font>Sans-9</Font>
<Foreground>#FFFFFF</Foreground>
<Background>#333333</Background>
<Outline>#000000</Outline>
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#0077CC</Background>
</Active>
<Opacity>0.85</Opacity>
</MenuStyle>
<PopupStyle>
<Font>Sans-9</Font>
<Foreground>#000000</Foreground>
<Background>#999999</Background>
</PopupStyle>
<!-- Path where icons can be found.
IconPath can be listed multiple times to allow searching
for icons in multiple paths.
-->
<IconPath>/usr/share/icons/gnome/256x256/actions</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/apps</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/categories</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/devices</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/emblems</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/mimetypes</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/places</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/status</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/actions</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/animations</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/apps</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/categories</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/devices</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/emblems</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/mimetypes</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/places</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/status</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/actions</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/apps</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/categories</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/devices</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/emblems</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/mimetypes</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/places</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/status</IconPath>
<IconPath>/usr/share/icons/hicolor/256x256/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/256x256/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/actions</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/categories</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/devices</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/emblems</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/status</IconPath>
<IconPath>/usr/share/icons/hicolor/512x512/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/512x512/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/actions</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/categories</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/devices</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/emblems</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/places</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/status</IconPath>
<IconPath>/usr/share/icons</IconPath>
<IconPath>/usr/share/pixmaps</IconPath>
<IconPath>
/usr/local/share/jwm
</IconPath>
<!-- Virtual Desktops -->
<!-- Desktop tags can be contained within Desktops for desktop names. -->
<Desktops width="4" height="1">
<!-- Default background. Note that a Background tag can be
contained within a Desktop tag to give a specific background
for that desktop.
-->
<Background type="solid">#111111</Background>
</Desktops>
<!-- Double click speed (in milliseconds) -->
<DoubleClickSpeed>400</DoubleClickSpeed>
<!-- Double click delta (in pixels) -->
<DoubleClickDelta>2</DoubleClickDelta>
<!-- The focus model (sloppy or click) -->
<FocusModel>sloppy</FocusModel>
<!-- The snap mode (none, screen, or border) -->
<SnapMode distance="10">border</SnapMode>
<!-- The move mode (outline or opaque) -->
<MoveMode>opaque</MoveMode>
<!-- The resize mode (outline or opaque) -->
<ResizeMode>opaque</ResizeMode>
<!-- Key bindings -->
<Key key="Up">up</Key>
<Key key="Down">down</Key>
<Key key="Right">right</Key>
<Key key="Left">left</Key>
<Key key="h">left</Key>
<Key key="j">down</Key>
<Key key="k">up</Key>
<Key key="l">right</Key>
<Key key="Return">select</Key>
<Key key="Escape">escape</Key>
<Key mask="A" key="Tab">nextstacked</Key>
<Key mask="A" key="F4">close</Key>
<Key mask="A" key="#">desktop#</Key>
<Key mask="A" key="F1">root:1</Key>
<Key mask="A" key="F2">window</Key>
<Key mask="A" key="F10">maximize</Key>
<Key mask="A" key="Right">rdesktop</Key>
<Key mask="A" key="Left">ldesktop</Key>
<Key mask="A" key="Up">udesktop</Key>
<Key mask="A" key="Down">ddesktop</Key>
</JWM>
محتوای فایل jwmrc. ، ویرایش شده توسط خودم:
<?xml version="1.0"?>
<JWM>
<!-- The root menu. -->
<RootMenu onroot="12">
<!-- <Include>/etc/jwm/debian-menu -->
<Include>$HOME/.jwmrc-mjwm</Include>
<Program label="Terminal" icon="terminal.png">xfce4-terminal</Program>
<Separator/>
<Program label="Reset-Menu-Itemes" icon="edit-redo.png">
rm ~/.jwmrc-mjwm
jwm -reload
mjwm
jwm -reload
</Program>
<!-- <Restart label="Restart" icon="view-refresh.png"/> -->
<Separator/>
<Program label="xscreensaver" icon="xscreensaver.png">
xscreensaver-command -activate
</Program>
<Program label="suspend" icon="stop.png">
systemctl suspend
</Program>
<Exit label="Exit" confirm="true" icon="system-log-out.png"/>
<Program label="خاموش" icon="system-shutdown.png">
/usr/sbin/shutdown now
</Program>
</RootMenu>
<!-- Options for program groups. -->
<Group>
<Option>tiled</Option>
<Option>aerosnap</Option>
</Group>
<Group>
<Class>Pidgin</Class>
<Option>sticky</Option>
</Group>
<Group>
<Name>xterm</Name>
<Option>vmax</Option>
</Group>
<Group>
<Name>xclock</Name>
<Option>drag</Option>
<Option>notitle</Option>
</Group>
<!-- Tray at the bottom. -->
<Tray x="0" y="-1" height="30" autohide="off">
<TrayButton icon="/usr/share/jwm/jwm-red.svg">root:1</TrayButton>
<Spacer width="2"/>
<TrayButton label="_">showdesktop</TrayButton>
<TrayButton icon="system-file-manager.png" popup="File Manager PCManFM">exec:pcmanfm</TrayButton>
<TrayButton icon="synaptic_32x32.xpm" popup="Synaptic Package Manager">exec:synaptic-pkexec</TrayButton>
<TrayButton icon="xfce-terminal.png" popup="Xfce Terminal">exec:xfce4-terminal</TrayButton>
<TrayButton icon="accessories-text-editor.png" popup="Geany">exec:geany</TrayButton>
<TrayButton icon="libreoffice-writer.png" popup="LibreOffice Writer">exec:libreoffice --writer</TrayButton>
<TrayButton icon="default16.png" popup="Firefox ESR">exec:firefox</TrayButton>
<TrayButton icon="web-browser.png" popup="Chromium Web Browser">exec:chromium</TrayButton>
<TrayButton icon="applets-screenshooter.png" popup="Screenshot">exec:gnome-screenshot -i</TrayButton>
<Spacer width="2"/>
<Pager labeled="true"/>
<TaskList maxwidth="256"/>
<Dock/>
<Clock format="%H:%M"><Button mask="123">exec:xclock</Button></Clock>
</Tray>
<!-- Visual Styles -->
<WindowStyle>
<Font>System-ui</Font>
<Width>5</Width>
<Height>30</Height>
<Corner>3</Corner>
<Foreground>#FFFFFF</Foreground>
<Background>#555555</Background>
<Outline>#000000</Outline>
<Opacity>1.0</Opacity>
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#0077CC</Background>
<Outline>#000000</Outline>
<Opacity>1.0</Opacity>
</Active>
</WindowStyle>
<TrayStyle group="false" list="desktop">
<Font>Sans-9</Font>
<Background>#333333</Background>
<Foreground>#FFFFFF</Foreground>
<Outline>#000000</Outline>
<Opacity>0.9</Opacity>
</TrayStyle>
<TaskListStyle>
<Font>Sans-9</Font>
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#555555</Background>
</Active>
<Foreground>#FFFFFF</Foreground>
<Background>#333333</Background>
</TaskListStyle>
<PagerStyle>
<Outline>#000000</Outline>
<Foreground>#555555</Foreground>
<Background>#7f6000</Background>
<Text>#FFFFFF</Text>
<Active>
<Foreground>#0077CC</Foreground>
<Background>#004488</Background>
</Active>
</PagerStyle>
<MenuStyle>
<Font>Sans-9</Font>
<Foreground>#FFFFFF</Foreground>
<Background>#333333</Background>
<Outline>#000000</Outline>
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#0077CC</Background>
</Active>
<Opacity>0.9</Opacity>
</MenuStyle>
<PopupStyle>
<Font>Sans-9</Font>
<Foreground>#000000</Foreground>
<Background>#999999</Background>
</PopupStyle>
<!-- Path where icons can be found.
IconPath can be listed multiple times to allow searching
for icons in multiple paths.
-->
<IconPath>/usr/share/icons/gnome/256x256/actions</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/apps</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/categories</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/devices</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/emblems</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/mimetypes</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/places</IconPath>
<IconPath>/usr/share/icons/gnome/256x256/status</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/actions</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/animations</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/apps</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/categories</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/devices</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/emblems</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/mimetypes</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/places</IconPath>
<IconPath>/usr/share/icons/gnome/32x32/status</IconPath>
<IconPath>/usr/share/icons/gnome/22x22/apps</IconPath>
<IconPath>/usr/share/synaptic/pixmaps</IconPath>
<IconPath>/usr/share/firefox-esr/browser/chrome/icons/default</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/actions</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/apps</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/categories</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/devices</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/emblems</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/mimetypes</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/places</IconPath>
<IconPath>/usr/share/icons/gnome/scalable/status</IconPath>
<IconPath>/usr/share/icons/hicolor/256x256/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/256x256/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/actions</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/categories</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/devices</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/emblems</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/32x32/status</IconPath>
<IconPath>/usr/share/icons/hicolor/512x512/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/512x512/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/actions</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/apps</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/categories</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/devices</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/emblems</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/mimetypes</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/places</IconPath>
<IconPath>/usr/share/icons/hicolor/scalable/status</IconPath>
<IconPath>/usr/share/icons</IconPath>
<IconPath>/usr/share/pixmaps</IconPath>
<IconPath>
/usr/local/share/jwm
</IconPath>
<!-- Virtual Desktops -->
<!-- Desktop tags can be contained within Desktops for desktop names. -->
<Desktops width="4" height="1">
<!-- Default background. Note that a Background tag can be
contained within a Desktop tag to give a specific background
for that desktop.
-->
<Background type="solid">#111111</Background>
</Desktops>
<!-- <StartupCommand></StartupCommand-->
<StartupCommand>xrandr --size 1152x864</StartupCommand>
<StartupCommand>feh --bg-fill --randomize ~/Pictures/wallpaper/*</StartupCommand>
<StartupCommand>pnmixer</StartupCommand>
<StartupCommand>(sleep 3s ; nm-applet)</StartupCommand>
<StartupCommand>(sleep 4s ; fbxkb)</StartupCommand>
<StartupCommand>/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1</StartupCommand>
<StartupCommand>xdg-user-dirs-update</StartupCommand>
<StartupCommand>rm ~/.config/user-dirs.dirs</StartupCommand>
<StartupCommand>xdg-user-dirs-update</StartupCommand>
<StartupCommand>picom</StartupCommand>
<StartupCommand>xscreensaver -no-splash</StartupCommand>
<StartupCommand>rm ~/.jwmrc-mjwm ; jwm -reload ; mjwm ; jwm -reload</StartupCommand>
<!-- <StartupCommand>compton --vsync opengl-swc --backend glx</StartupCommand> -->
<!-- Double click speed (in milliseconds) -->
<DoubleClickSpeed>400</DoubleClickSpeed>
<!-- Double click delta (in pixels) -->
<DoubleClickDelta>2</DoubleClickDelta>
<!-- The focus model (sloppy or click) -->
<FocusModel>sloppy</FocusModel>
<!-- The snap mode (none, screen, or border) -->
<SnapMode distance="10">none</SnapMode>
<!-- The move mode (outline or opaque) -->
<MoveMode coordinates="off" delay="0">opaque</MoveMode>
<!-- The resize mode (outline or opaque) -->
<ResizeMode coordinates="off">outline</ResizeMode>
<!-- Key bindings -->
<Key key="Up">up</Key>
<Key key="Down">down</Key>
<Key key="Right">right</Key>
<Key key="Left">left</Key>
<Key key="h">left</Key>
<Key key="j">down</Key>
<Key key="k">up</Key>
<Key key="l">right</Key>
<Key key="Return">select</Key>
<Key key="Escape">escape</Key>
<Key key="Print">exec: gnome-screenshot</Key>
<Key key="Super_L">root:1</Key>
<Key mask="A" key="Tab">nextstacked</Key>
<Key mask="A" key="F4">close</Key>
<Key mask="A" key="#">desktop#</Key>
<Key mask="A" key="F1">root:1</Key>
<Key mask="A" key="F2">window</Key>
<Key mask="A" key="F10">maximize</Key>
<Key mask="A" key="Right">rdesktop</Key>
<Key mask="A" key="Left">ldesktop</Key>
<Key mask="A" key="Up">udesktop</Key>
<Key mask="A" key="Down">ddesktop</Key>
</JWM>
-
قسمت سوم:
( شرح فایل jwmrc. )
وقتی که jwm را با فرمان
sudo apt install jwm
نصب می کنید، یک فایلی در مسیر etc/jwm/system.jwmrc/ ایجاد می شود. که یک کپی از این فایل را در دایرکتوری خانگی تمامی کاربران کپی میکنیم و اسم آنرا به jwmrc. تغییر می دهیم.
در این قسمت مروری خواهیم داشت بر محتویات این فایل.
اگر نمیخواهید از میزکار استفاده کنید و بجایش از window manager استفاده کنید، از هر
window manager ای که میخواهید استفاده کنید، مطالب زیر مهم هستند، بایستی در مورد آنها اطلاعاتی کسب نمایید:
۱-آیا این window manager بصورت پیش فرض تنها برای استفاده از صفحهکلید طراحی و بهینه سازی شده یا اینکه با موس هم کاربرد دارد؟
۱- آیا از منو پویا استفاده میکند یا از منو استاتیک؟
۲- آیا بصورت پیشفرض پانل ارایه میکند و یا اینکه بایستی خودتان یکی نصب کنید؟
۳- تنظیمات root menu در کدام فایل قرار دارد؟
۴- تنظیمات autostart برنامهها در کدام فایل قرار دارد؟
۵- میانبرهای صفحه کلید، تنظیمات دسکتاب، دسکتاب مجازی، تنظیمات پنجره برنامهها و ...
در کدام فایل قرار دارد؟
مثلاً در openbox ، منو پویا ارایه شده ولی پانل پیشفرض ارایه نشده و برای تنظیمات دیگر برای هر کدام فایل تنظیمات جداگانه در نظر گرفته شده است.( یکی از نقاط قوت بسیار مهم openbox وجود منو پویا می باشد، وجود یا نبود پانل اصلاً موضوع مهمی نیست، در مخازن چندین پانل وجود دارد که یکی از آنها را میتوانید به سادگی با قرار دادن آن در فایل autostart استفاده نمایید.)
ولی در jwm ، منو پویا ارایه نشده و منو بصورت استاتیک میباشد، در قسمت قبل توضیح دادم که برای این مورد چکار بکنید. ولی بصورت پیشفرض یک پانل برایش در نظر گرفته شده است.
و همچنین نکته مهم این است که برای jwm ، تنها این فایل بعنوان فایل کانفیگ در نظر گرفته شده است، پس هر کاری که بخواهید در این زمینه بکنید در داخل این فایل بایستی انجام بدهید.پس مثل openbox ، چندین فایل مجزا برای کانفیگ وجود ندارد.
مفاهیم اولیه:
JWM : Joe s Window Manager
تعریف: JWM ، یک مدیر پنجره برای سیستم پنجره X11 است.
آپشن ها:
برخی از آپشن ها را میتوانید بهمراه jwm بکار ببرید.
مثلا:
$ jwm -h
display X- : صفحه نمایش X را برای استفاده تنظیم می کند.
exit- : : از jwm خارج شوید.
f file- : از فایل پیکربندی مشخص شده استفاده کنید.
h- : نمایش صفحه راهنما
p- : پس از انجام تغییرات در فایل پیکربندی از این مورد استفاده کنید تا مطمئن شوید که هیچ خطایی وجود ندارد.
reload- : بارگیری مجدد منو ( Reload Menu )
restart- : مجدداً JWM را راه اندازی کنید.( Restart JWM )
v- : نمایش اطلاعات نسخه
نکته:
از مهمترین آپشن ها، آپشن p- می باشد، سعی کنید که بعد از هر تغییری که در فایل jwmrc. ، میدهید، از این آپشن به صورت زیر استفاده کنید تا ببینید که خطایی را نشان میدهد یا نه؟
$ jwm -p
الان میرویم بسراغ فایل و محتویات آن و بهینه سازی آن برای استفاده روزمره امان.
نکته:
در جاهایی که نیاز به کامنت یاتوضیح بوده از این علایم استفاده گردیده است:
<!-- -->
نکته:
<!-- The root menu. -->
root menu یا منوی ریشه، راه اصلی شروع برنامهها در jwm است و همچنین راهی برای راه اندازی مجدد ( restart ) و یا خروج از مدیر پنجره است.
نکته:
<RootMenu onroot="12">
با کلیک راست یا چپ موس ( بسته به تعریفی که کردهاید ) بر روی دسکتاب یا کلیک بر روی آرم JWM بر روی پانل میتوانید، این منو را باز کنید.
“onroot=”1 : با کلیک چپ موس، منو ریشه (root menu) باز می شود.
“onroot=”2 : با کلیک کلید وسطی موس یا فشردن اسکرول موس، منو ریشه (root menu) باز می شود.
“onroot=”3 : با کلیک راست موس، منو ریشه (root menu) باز می شود.
“onroot=”4 : با کلیک اسکرول به جلو یا عقب، منو ریشه (root menu) باز می شود.
“onroot=”12 : این حالت پیشفرض است و در این حالت میتوان با کلیک چپ موس یا کلیک کلید وسطی موس یا فشردن اسکرول موس، منو ریشه (root menu) باز می شود.
نکته:
<Include>path of file</Include>
میتوان محتویات یک فایل را در ساختار منو قرار داد. خود آن فایل دیگر بایستی با یک تگ
”JWM” شروع شود، یعنی
<JWM>
محتوای فایل
<JWM/>
در اینجا مثلاً محتویات فایل etc/jwm/debian-menu/ را بوسیله این کد در داخل فایل jwmrc. قرار دارد و اگر نگاه کنید به root menu ، آیتمی بنام Debian دارد، ولی چون من به این آیتم و زیر مجموعه های آن نیازی ندارم، این خط کد را از فایل jwmrc. به حالت کامنت درآورده ام.(حتی اگر دوست داشته باشید، میتوانید حذفش کنید.)
نکته:
<Include>$HOME/.jwmrc-mjwm</Include>
(این کد را من اضافه کرده ام.)
من چون از برنامه mjwm استفاده میکنم تا منوی برنامهها را بصورت پویا در root menu ایجاد گردد، این خط کد را به jwmrc. اضافه می نمایم.
نکته:
برای اضافه کردن برنامههایی که دوست دارید به root menu ، از این کد استفاده کنید:
<Program label=" " icon=" ">run command for program</Program>
بجای run command for program ، از دستوری که با بکارگیری آن برنامه موردنظر اجرا می شود، استفاده نمایید.
نکته:
<Separator/>
این تگ به سادگی یک خط به root menu قرار میدهد که امکان تقسیم منو را فراهم می کند.
نکته:
label
برچسب برای نمایش، این نامی است که در root menu برای برنامه موردنظر نشان داده می شود.
نکته:
<Program icon="lock.png" label="Lock">
xlock -mode blank
</Program>
این منو از root menu در دبیان کار نخواهد کرد چون بسته ای بنام xlock در دبیان نداریم، بجایش مثلاً میتوانیم از بسته i3lock استفاده کنیم و بجای کد بالایی بنویسیم:
<Program icon="lock.png" label="Lock">
i3lock
</Program>
اگر از این دستور میخواهید استفاده کنید، نیاز است که بسته i3lock را نصب کنید.
نکته:
البته من از هیچکدام از کدهای lock بالایی استفاده نکردم، و بجای آنها ابتدا به قسمت
Startup Command این کد را اضافه کردم:
<StartupCommand>xscreensaver -no-splash</StartupCommand>
چونکه بدون این کد، در اجرای منوهای suspend و xscreensaver دچار مشکل می شوم، مثلاً اصولی آنست که در هنگام suspend کردن، کامپیوتر خاموش شود ولی در هنگام روشن شدن کامپیوتر، اول رمز عبور پرسیده شود.
بدون اضافه کردن این کد به قسمت Startup Command، در suspend بعد از روشن شدن کامپیوتر رمز عبور پرسیده نمی شود، و بدون رمز عبور وارد سیستم می شد.( حتما توجه کنید، این کد را من به قسمت Startup Command در فایل jwmrc. اضافه کرده ام نه به قسمت مثلا Root Menu در فایل jwmrc. .)
نکته:
<Program label="Reset-Menu-Itemes" icon="edit-redo.png">
rm ~/.jwmrc-mjwm
jwm -reload
mjwm
jwm -reload
</Program>
(این کد را من اضافه کرده ام.)
بعد از اضافه یا حذف کردن اپلیکیشنی، برای اینکه به لیست منو اضافه یا کم بشود، این آیتم را به root menu اضافه کردم تا با کلیک کاربر بر روی این منو (Reset-Menu-Itemes) عمل بروزرسانی در این زمینه انجام بگیرد و همچنین برای اینکه همین کار با ورود و یا خروج کاربر همچنین عملی صورت بگیرد، این کد را به صورت زیر به قسمت Startup Command اضافه کردم:( تذکر مجدد، دستور زیری به Startup Command اضافه شده نه به قسمت Root Menu )
<StartupCommand>rm ~/.jwmrc-mjwm ; jwm -reload ; mjwm ; jwm -reload</StartupCommand>
نکته:
همانطور که میبینید در قسمت <RootMenu> از کارکتر
;
قابل استفاده نبود و کارآیی نداشت ولی در قسمت StartupCommand کارآیی داشت.
نکته:
<Restart label="Restart" icon="restart.png"/>
این آیتم Restart برای راه اندازی مجدد مدیر پنجره jwm کاربرد دارد و برای restart کردن کل سیستم نمی باشد. من به حالت کامنت درآوردم که در root menu دیده نشود.
نکته:
<Program label="xscreensaver" icon="xscreensaver.png">
xscreensaver-command -activate
</Program>
(این کد را من اضافه کرده ام.)
این آیتم را برای رفتن به حالت screensaver من به منوها اضافه کرده ام.
نکته:
<Program label="suspend" icon="stop.png">
systemctl suspend
</Program>
(این کد را من اضافه کرده ام.)
این آیتم را برای رفتن به حالت suspend به لیست منو اضافه کرده ام.
نکته:
<Program label="خاموش" icon="system-shutdown.png">
/usr/sbin/shutdown now
</Program>
(این کد را من اضافه کرده ام.)
با کلیک بر روی این گزینه از root menu ، سیستم خاموش خواهد شد.
نکته:
پس کلیه آیتم های مربوط به Root Menu در داخل
<!-- The root menu. -->
<RootMenu onroot="12">
و
</RootMenu>
قرار خواهند گرفت.
(ادامه دارد...)
-
چرا jwm رو انتخاب کردی؟
-
چرا jwm رو انتخاب کردی؟
jwm ،یک مدیر پنجره کاملاً دست کم گرفته شده است، بنابراین دلیل اینکه من می خواهم این پیکربندی ها را در اینجا نمایش دهم این است که نشان دهم jwm ، پتانسیل های پنهان زیادی دارد.
البته روی صحبت من فقط به علاقمندان استفاده از jwm ، نمی باشد. در بین مطالب ارائه شده، مطالبی خواهند بود که مورد استفاده برای سایر عزیزان که از مدیران پنجره دیگری استفاده میکنند، قرار خواهد گرفت.
-
قسمت چهارم:
( شرح فایل jwmrc. )
می رسیم به این قسمت:
<!-- Options for program groups. -->
تنظیمات گروه:
گروههای برنامه به فرد اجازه میدهند تا گزینههایی را که برای گروهی از برنامهها با نام و/یا کلاس اعمال میشوند، مشخص کند.
مثلاً فرض کنیم میخواهیم وقتیکه پنجره مرورگر کرومیوم باز می شود، اصلاً نوار عنوان نداشته باشد.به این قسمت این کدها را اضافه می کنیم:
<Group>
<Name>chromium</Name>
<Option>notitle</Option>
</Group>
( نتیجه شکل notitle.png )
مثلاً فرض کنیم میخواهیم وقتیکه پنجره مرورگر کرومیوم باز می شود، اصلاً مولفه ماگزیمم در نوار عنوان نداشته باشد.در این قسمت این کدها را اضافه می کنیم:
<Group>
<Name>chromium</Name>
<Option>nomax</Option>
</Group>
( نتیجه شکل nomax.png )
یا مثلاً فرض کنیم میخواهیم وقتیکه پنجره مرورگر کرومیوم باز می شود، اصلاً نتوانیم در دسکتاب پنجره آنرا جابجا کرده و حرکت بدهیم. در این قسمت این کدها را اضافه می کنیم:
<Group>
<Name>chromium</Name>
<Option>nomove</Option>
</Group>
در این زمینه دیگر آپشن ها و موارد به این قرار است:
Group Settings
Program groups allow one to specify options which apply to a group of programs by their name and/or class. A program group is created with the Group tag. As many program groups can be created as desired. Within the Group tag the following tags are supported.
Name
The window name of a program to match to be in this group (the first string in WM_CLASS). This field is parsed as an extended POSIX regular expression (see regex(7) for more information). If one or more Name tags is specified, at least one must be matched.
Class
The window class for a program to match to be in this group (the second string in WM_CLASS). This field is parsed as an extended POSIX regular expression (see regex(7) for more information). If one or more Class tags is specified, at least one must be matched.
Option
A option for this group. The table below lists possible options.
Option Description
aerosnap Enable auto-maximization.
border Enables the border on windows in this group.
centered Center windows in this group upon initial placement instead of using cascaded placement.
constrain Prevent clients in this group from moving off-screen.
desktop:# The desktop on which windows in this group will be started.
drag Do not pass mouse events to the window. Instead, use the mouse to move/resize the window.
fixed Fix the windows in this group to the current desktop. This will cause the desktop to change when the window is raised rather than the default behavior of moving the window to the current desktop.
height:n Set the initial height for windows in this group to n (pixels).
hmax Make windows in this group maximize horizontally by default.
icon:icon The icon to be used for windows in this group.
iignore Ignore the increment size hint when maximizing windows in this group.
layer:layer The layer on which windows in this group will be started. Valid ooptions are below, normal, and above.
maximized Make windows in this group maximized.
minimized Make windows in this group minimized.
noborder Disables the border for windows in this group.
noclose Hides the close button for windows in this group.
nodrag Disable mod1+drag for moving/resizing windows in this group.
nofocus Prevents windows in this group from grabbing the focus when mapped.
nofullscreen Prevents windows in this group from being fullscreen.
nolist Causes the tray to ignore windows in this group.
nomax Disallows maximization for windows in this group.
nomin Disallows minimization for windows in this group.
nomove Prevents windows in this group from being moved.
nopager Causes the pager to ignore windows in this group.
noresize Prevents windows in this group from being resized.
noshade Disallows shading for windows in this group.
notitle Disables the title bar for windows in this group.
noturgent Ignore the urgent hint for windows in this group. Without this option set, JWM will flash the border of urgent windows.
opacity:# Set the opacity for windows in this group. The value is a number between 0.0 and 1.0 inclusive.
pignore Ignore program-specified initial position.
shaded Make windows in this group shaded.
sticky Make windows in this group sticky.
tiled Attempt to tile windows in this group upon initial placement. If tiled placement fails, windows will fall back to cascaded (the default) or centered if specified.
title Enables the title bar for windows in this group.
vmax Make windows in this group maximize vertically by default.
width:n Set the initial width for windows in this group to n (pixels).
x:n Set the initial x-coordinate for windows in this group to n.
y:n Set the initial y-coordinate for windows in this group to n.
منبع:
https://joewing.net/projects/jwm/config.html (https://joewing.net/projects/jwm/config.html)
ادامه دارد...
-
قسمت پنجم:
برای ادامه کار ابتدا بهتر است با مفاهیمی آشنا بشویم:
taskbar یا نوار وظیفه معمولاً از سه قسمت تشکیل می شود:
۱) quick launch bar یا نوار راه اندازی سریع .
محل قرارگیری: به طور پیشفرض در انتهای سمت چپ taskbar (نوار وظیفه) قرار دارد.
هدف: قرار دادن میانبرهایی برای برنامههایی است که اغلب استفاده می شوند.
مانند مرورگر وب، واژه پرداز و ...
امکان راه اندازی سریع برنامهها فقط با یک کلیک.
۲) task button area یا ناحیه دکمه وظیفه .
محل قرار گیری: در قسمت میانی taskbar قرار دارد.
هدف: به راحتی بین برنامههای باز شده جابه جا شوید. هر بار که یک برنامه جدید را باز میکنید یک
task button جدید ظاهر می شود.
همچنین ممکن است چندین برنامه از یک برنامه را باز کنید. از آنجایی که این مورد میتواند نوار وظیفه را شلوغ کند، طراحان، دکمه های پنجره یا window buttons را در یک دکمه برنامه واحد دسته بندی کردند.
۳) system tray یا سینی سیستم یا منطقه اعلان .
محل قرارگیری: انتهای سمت راست taskbar .
هدف: نمادهایی برای برنامههای کاربردی و خدماتی که در حال اجرا هستند را نمایش می دهد.
مانند ساعت سیستم، نشانگر باطری، نشانگر شبکه، بلوتوث، فایروال، آنتی ویروس و ... .
anti – virus , firewall , bluetooth service , network indicator , battery indicator , system clock
سینی سیستم همچنین میتواند میانبرهای اختیاری را برای ابزارهای قابل تنظیمی که در حال اجرا هستند، مانند تنظیم صدای بلندگو و کارت گرافیک نگه دارد.
میرسیم به محتویات این قسمت:
<!-- Tray at the bottom. -->
که اگر به قسمت دوم آموزشهایم مراجعه کنید، بصورت کامل کدهای مربوطه را مشاهده خواهید کرد.
این قسمت مربوط است به تنظیمات و آیتم های panel/taskbar یا همان پنل / نوار وظیفه پیشفرض jwm .
<Tray x="0"y="-1" height="30" autohide="off">
اگر y=-1 باشد، پانل در پایین دسکتاب قرار خواهد گرفت.
اگر y=0 باشد، پانل در بالای دسکتاب قرار خواهد گرفت.
اگر y=+1 باشد، پانل در بالای دسکتاب قرار خواهد گرفت.
همانطور که میبینید بصورت پیشفرض autohide پانل در حالت off قرار دارد ولی اگر خواستید آنرا فعال نمایید:
برای autohide کردن پانل، اگر y=-1 باشد، بایستی مقدار autohide=”bottom” قرار بدهید.
برای autohide کردن پانل، اگر y=0 باشد، بایستی مقدار autohide=”top” قرار بدهید.
همانطور که مشخص است با گزینه height ، ارتفاع موردنظرتان برای پانل را تعریف می کنید.
در tray ، یک تنظیمی داریم بنام layer که دارای سه حالت:
above ، normal ، below
که حالت پیشفرض above می باشد. در حالت above ، اگر پنجره ای باز باشد، پانل روی آن پنجره قرار میگیرد و پنجره در زیر پانل قرار می گیرد.
همانطور که میبینید این گزینه نوشته نشده است ولی در عمل این گزینه اعمال میگردد ولی اگر بخواهید حالت پیشفرض را تغییر بدهید و مثلاً از حالت below استفاده کنید که در این حالت اگر پنجره ای باز باشد، پانل زیر آن پنجره قرار میگیرد و پنجره روی پانل قرار می گیرد. مثلا اینطوری بنویسید:
<!-- Tray at the bottom. -->
<Tray x="0"y="-1" height="30" autohide="off" layer="below">
بر روی پانل میتوانید برای دسترسی سریعتر به برنامههای دلخواهتان آیکن آن برنامه را بعنوان شورتکات قرار بدهید، مثلاً برای فایر فاکس:
<TrayButton icon="default16.png" popup="Firefox ESR">exec:firefox</TrayButton>
با آیتم icon میتوانید، آیکن مورد نظرتان برای این برنامه در جایی از سیستمتان که این آیکن قرار گرفته به مدیر پنجره معرفی نمایید. این آدرس دهی به دو صورت کامل یا نسبی میتواند انجام بدهید. در آدرس دهی کامل مسیر کامل و دقیق محل قرار گیری آیکن را بنویسید ولی در آدرس دهی نسبی کافیست اگر محل دایرکتوری مربوط به قرار گیری آیکن ها را در قسمت:
<!-- Path where icons can be found.
IconPath can be listed multiple times to allow searching
for icons in multiple paths.
-->
به مدیر پنجره معرفی کرده اید، اگر خواستید دیگر نیازی به آدرس دهی کامل نیست و تنها میتوانید بدون اشاره به مسیر دایرکتوری ها ، فقط نام آیکن را بنویسید.
قسمت popup هم برای این است که وقتی که نشانگر ماوس بر روی آیکن قرار گرفت نوشته کوچکی نشان بدهد که مثلاً نام این برنامه چیست.
در قسمت :exec ، میخواهیم نشان دهیم اگر بر روی این آیکن کلیک کنیم چه دستوری اجرا شود،
مثلاً برای اجرا شدن فایرفاکس بنویسید:
exec:firefox
و مثلاً برای اجرا شدنsynaptic بنویسید:
exec:synaptic-pkexec
البته حتماً قرار نیست همیشه از آیکن استفاده شود، مثلاً در مورد زیر:
<TrayButton label="_">showdesktop</TrayButton>
بجای icon از lable استفاده شده، که باعث میشود، با کلیک بر روی _ در پانل، تمامی پنجره ها مینیمایز بشوند و دسکتاب نشان داده شود.
اما در مورد کد زیر:
<Clock format="%H:%M"><Button mask="123">exec:xclock</Button></Clock>
باعث میشود در قسمت راست پانل یعنی در قسمت system tray ، ساعت نشان داده شود.
نکته مهم اینجاست که برای اینکه نشانگر network connection و نشانگر زبان کیبورد و همچنین نشانگر ولوم صدا در قسمت system tray نشان داده شود، در این قسمت کار خاصی در این باره نداریم(شاید هم بشود و من بلد نیستم) و این کار را بایستی برویم در قسمت:
<!-- <StartupCommand></StartupCommand-->
انجام بدهیم. که در نوشتههای بعدی انشاءالله به این قسمت هم خواهیم رسید.
ادامه دارد...
-
برای tray باید اضافه کنم که اینجا یه آپشن به اسم Swallow هست که میتونید پنجره برنامه های x11 رو داخلش بزارید مثلا می تونید از xclock استفاده کنید یا اگه لبتاپ دارید از یک برنامه استفاده کنید که میزان شارژ باتری رو نشون بده (احتمالا توی مخازن پیدا بشه)
مثلا برای ساعت:
<Swallow name="Clock">xclock</Swallow>
برای این چند تا آپشن دیگه غیر از name هست که width, height (عرض و ارتفاع) هستن (به پیکسل) صفر به معنای حداقل اندازه هست.
-
قسمت ششم:
<!-- Visual Styles -->
Visual Styles یا سبک های بصری.
در این قسمت ما با موارد زیر سر و کار داریم:
- WindowStyle : تنظیمات سبک های بصری مربوط به پنجره ها.
- TrayStyle : تنظیمات سبک های بصری مربوط به پانل .
- TaskListStyle : تنظیمات سبک های بصری مربوط به task button area یا ناحیه دکمه وظیفه.( برای اطلاعات بیشتر به قسمت پنجم آموزشها مراجعه فرمایید.)
- PagerStyle : تنظیمات سبک های بصری مربوط به ناحیه ای از پانل که برای سوپیچ بین Virtual Desktops یا همان دسکتاپ های مجازی استفاده می شود.
- MenuStyle : تنظیمات سبک های بصری مربوط به root menu یا منوی ریشه یا همان منوی ای که با کلیک راست بر روی دسکتاب برایتان باز می شود.
- PopupStyle : تنظیمات سبک های بصری مربوط به قسمت popup ( popup یعنی وقتی که نشانگر ماوس بر روی آیکن برنامه در پانل قرار گرفت نوشته کوچکی نشان بدهد که مثلاً نام این برنامه چیست.)
برای نمونه آیتم های مربوط به WindowStyle را شرح می دهم:
<WindowStyle>
<Font>Sans-9:bold</Font>
<Width>4</Width>
<Height>21</Height>
<Corner>3</Corner>
<Foreground>#FFFFFF</Foreground>
<Background>#555555</Background>
<Outline>#000000</Outline>
<Opacity>0.5</Opacity>
<Font> : از چه فونتی برای نوشته نوار عنوان پنجره ها استفاده شود.(تمام پنجره ها)
<Width> : یعنی ضخامت کناره یا نوار دور تا دور پنجره چقدر باشد.(تمام پنجره ها)
<Height> : یعنی ارتفاع نوار عنوان پنجره چقدر باشد.(تمام پنجره ها)
<Foreground> : فونت نوشتههای نوار عنوان پنجره به چه رنگی باشد.(پنجره های غیر فعال)
<Background> : پس زمینه نوار حاشیهای دور تا دور و همچنین پس زمینه نوار عنوان پنجره ها به چه رنگی باشد.(پنجره های غیر فعال)
<Outline> : رنگ خارجی ترین لایه یا همان نوار بسیار نازک دور تا دور پنجره ها به چه رنگی باشد.(پنجره های غیر فعال)
<Opacity> : میزان شفافیت یا کدری پنجره (پنجره های غیر فعال)
<Active>
<Foreground>#FFFFFF</Foreground>
<Background>#0077CC</Background>
<Outline>#000000</Outline>
<Opacity>1.0</Opacity>
</Active>
</WindowStyle>
<Foreground> : فونت نوشتههای نوار عنوان پنجره به چه رنگی باشد.(پنجره فعال)
<Background> : پس زمینه نوار حاشیهای دور تا دور و همچنین پس زمینه نوار عنوان پنجره ها به چه رنگی باشد.(پنجره فعال)
<Outline> : رنگ خارجی ترین لایه یا همان نوار بسیار نازک دور تا دور پنجره ها به چه رنگی باشد.(پنجره فعال)
<Opacity> : میزان شفافیت یا کدری پنجره (پنجره فعال)
نکته : اگر یک پنجره در محیط کاریتان باز کرده باشید آن پنجره فعال است ولی اگر چندین پنجره باز کرده باشید، پنجره فعال همان پنجره ای است که در حال حاضر از آن استفاده می کنید و بقیه غیرفعال هستند. پنجره فعال پنجره ای است که ورودی کاربر به آن می رود (به عنوان پنجره ای که فوکوس دارد نیز گفته می شود). این پنجره فعال معمولاً به نوعی برجسته می شود.
نکته : برای تغییر رنگ آیتم های مورد نظرتان در اینجا از رنگ های هگزادسیمال یا HEX استفاده نمایید.مثلا:
FFFFFF# : سفید
#000000 : سیاه
FF0000 # : قرمز
#00FF00 : سبز
#0000FF : آبی
نکته:
<TrayStyle group="true" list="all">
اگر مقدار آیتم group را "true" قرار دهیم، پنجره های باز شده مربوط به یک نوع در پانل در یک دسته قرار میگیرند ولی اگر مقدار آیتم group را "false" قرار بدهیم برای هر پنجره باز شده در پانل (در ناحیه task button area یا ناحیه دکمه وظیفه)، برای هر پنجره بدون توجه به نوعی که ازآن قرار دارد ، دکمه جداگانه ایجاد میشود.
مثلاً اگر مقدار آیتم group را "false" قرار بدهیم، و دو تا پنجره مرورگر فایرفاکس را باز نماییم،
در پانل برای هر کدام task button جداگانه ایجاد میشود.
اگر مقدار آیتم list را "all" قرار بدهیم، در پانل task button های مربوط به برنامهها در تمامی Virtual Desktops یا همان دسکتاپ های مجازی نشان داده میشود، بدون توجه به اینکه این برنامه در کدام دسکتاب مجازی باز شده ولی اگر مقدار آیتم list را برابر "desktop" قرار بدهیم، task button مربوط به یک برنامه تنها در دسکتاب مجازی ای که آنرا باز کردهایم نشان داده خواهد شد و در سایر دسکتاب ها task button آن برنامه را نخواهید دید.
ادامه دارد...
-
سلام جناب نوروزی من نصبش کردم دارم شروع میکنم . فقط یه سوال این که من وقتی توی منوی برنامه هاش ترمینال رو میزنم هیچگونه اتفاقی نمیوفته. یکم راهنمایی میدین؟من توزیعم آرچه و دسکتاپم کی دی ایه و بنابر این sddm دارم. باید lightdm استفاده کنم؟
-
خیلی دوست داشتم یک مدیر پنجره رو خودم کانفیگ کنم ،ممنون
-
نوروزیجان، توصیه میکنم قبل از اینکه بیشتر پیش بری، ببرش تو ویکی که موندگار بشه.
-
من اما ازش پشیمون شدم. نتونستم توش ترمینال باز کنم .میرم یه i3 کانفیگ میکنم استفاده میکنم.
-
من توزیعم آرچه و دسکتاپم کی دی ایه و بنابر این sddm دارم. باید lightdm استفاده کنم؟
SDDM ، یکپارچه سازی بسیار خوبی با KDE دارد.
فقط یه سوال این که من وقتی توی منوی برنامه هاش ترمینال رو میزنم هیچگونه اتفاقی نمیوفته. یکم راهنمایی میدین؟
۱- وقتی که برای اولین بار JWM را نصب بکنید و بدون آنکه کار خاصی کرده باشید، در محیط دسکتاب کلیک راست کنید، با منوی شکل 1 مواجه خواهید شد.
ولی وقتی در همین منو بر روی ترمینال کلیک میکنیم و هیچ اتفاقی نمی افتد.
اکثریت نصب کنندگان JWM با ناامیدی با آن خداحافظی می کنند. چرا؟
چون:
در JWM بصورت پیشفرض خبری از منوی پویا نیست. چیزی که در مقابل شما قرار دارد یک منوی استاتیک میباشد.
برای راه اندازی منوی پویا به قسمت اول آموزشها مراجعه بفرمایید.
فرض کنیم شما میخواهید با همین منوی استاتیک که به صورت پیشفرض تعریف شده ادامه بدهید. پس من هم شما را تنها نمیگذارم و با هم ادامه می دهیم.
۲- در دبیان وقتی که شما JWM را نصب می کنید، در مسیر etc/jwm/ دو تا فایل با نام های system.jwmrc و debian-menu ایجاد می شود.
چون من آرچ ندارم، احتمال میدهم که در آرچ ، در آن مسیر تنها فایل system.jwmrc ایجاد بشود و فایل debian-menu ایجاد نشود.
این فایل debian-menu چیست و به چه دردی می خورد؟
اگر دبیان نصب میکردید، بوسیله همین فایل debian-menu ، در منویی که در دسکتاب با کلیک راست باز می شد، نگاه می کردید، منویی با نام Debian با زیر منوهایش قرار می گرفت.
خوب به چه دردمان می خورد؟
مثلاً اگر در همان منو به مسیر زیر بروید:
Debian >> Application >> Shells
بروید، سه تا نرمافزار Bash و Dash و Sh در اختیارتان خواهد بود.( عکسهای 2 و 3 )
با همین سه نرمافزار میتوانید کارهای مدنظرتان را انجام بدهید.
ولی فرض میکنیم، که الان ما آرچ داریم و (احتمالا) به این منو Debian دسترسی نداریم.
پس چکار بکنیم؟ با من همراه باشید و عجله نکنید تا بگویم.
۳- الان وقت آنست که برویم سر وقت پرسش اصلی و ببینیم که چه نیم کاسه ای زیر کاسه است که ما بر روی منو Terminal کلیک میکنیم و هیچ اتفاقی نمی افتد.
اینجاست که ما بایستی برویم سر وقت فایل etc/jwm/system.jwmrc/ و ببینیم این ناقلا چرا ما را اذیت می کند.
به این کدها نگاه کنید:
<!-- The root menu. -->
<RootMenu onroot="12">
<Include>/etc/jwm/debian-menu</Include>
<Program icon="terminal.png" label="Terminal">xterm</Program>
<Separator/>
<Program icon="lock.png" label="Lock">
xlock -mode blank
</Program>
<Separator/>
<Restart label="Restart" icon="restart.png"/>
<Exit label="Exit" confirm="true" icon="quit.png"/>
</RootMenu>
وقتی کلیک راست می کنید، ساختار منوی مربوطه از این کدها ایجاد می گردد.
به این کد که قسمتی از کدهای بالایست، دقیقاً توجه کنید:
<Program icon="terminal.png" label="Terminal">xterm</Program>
این کد میگوید در هنگام راست کلیک منویی با نام "Terminal" ایجاد کن و همچنین برای این منو آیکنی با شکل "terminal.png" در کنارش در همانجا ایجاد کن.
خوب وقتی که کاربر این منو را انتخاب کنه چه دستوری بایستی اجرا بشود؟
این دستور:
xterm
دوست عزیز چرا من پیرمرد را اذیت می کنی، ببین اصلاً نرمافزار xterm در سیستمت نصب است؟ نرم افزاری که نصب نیست، چطور میخواهد اجرا بشود؟!
پس برو xterm را نصب کن، آنوقت که میبینی مشکلی که پرسیدی حل می شود.(عکس 4 )
مثلاً من از ریخت و قیافه xterm خوشم نمیآید و با توسعه دهندگانش سر لج هستم،
مثلاً بجایش از xfce4-terminal خوشم می آید، خوب چکار می کنم، این کار را :
این دستور را جایگزین دستور بالایی می کنم:
<Program icon="terminal.png" label="Terminal">xfce4-terminal</Program>
(اگر بخواهی خیلی هم سلیقه بازی دربیاورید می توانید، حتی آیکن دقیق خود برنامه موردنظرتان را هم کنارش قرار بدهید.)
۴-
مطالب تکمیلی:
میشود با ویرایش فایل etc/jwm/system.jwmrc/ کارهایی را که گفتم انجام بگیرد ولی بهتر است بجای اینکار:
۲۵- با فرمان زیر فایل system.jwmrc را به داخل دایرکتوری خانگی کاربر کپی می نماییم.
$ cp /etc/jwm/system.jwmrc ~/
۲۶- با فرمان زیر، نام این فایل را به jwmrc. تغییر نام می دهیم.
$ mv ~/system.jwmrc ~/.jwmrc
چرا؟
یکی از دلایل مهمش این است که اگر بخواهید سیستمتان را آپدیت نمایید و برای این نرمافزار آپدیتی آمده باشد، فایل etc/jwm/system.jwmrc/ اور رایت میشود و تمامی ویرایش هایتان بر روی این فایل میرود روی هوا. پس بهتر است این کارها را در فایل jwmrc. در همان home کاربریتان انجام دهید.
-
نوروزیجان، توصیه میکنم قبل از اینکه بیشتر پیش بری، ببرش تو ویکی که موندگار بشه.
لطف دارید، فکر نکنم در حد ویکی باشد، بیشتر در حد دل نوشته اند.
-
پس که اینطور. مال من تنظیمات jwm وجود نداشت پس تو دایرکتوری هوم میسازمش.
ویرایش:نه بودش
-
تعجبی ندارد. من از debian stable استفاده میکنم و ورژن JWM برای من Version: 2.3.7-5+deb11u1
می باشد. ولی چون شما از آرچ استفاده میکنید و ورژن نسخه JWM شما از مال من به روزتر و جدیدتر می باشد،
حتماً شاهد تفاوتهایی خواهید بود و حتماً توسعهدهنده اش تغییراتی اعمال کرده است.
-
خدارو چه دیدی شاید اومدم . البته اگه با آپدیت نبودن دبیان کنار بیام.
-
قسمت هفتم:
می رسیم به کدهای این قسمت:
<!-- Path where icons can be found.
IconPath can be listed multiple times to allow searching
for icons in multiple paths.
-->
مسیری که آیکون ها را می توان یافت. به jwm نشان بده که آیکن ها در کدام پوشه ها قرار دارند.
مثلاً من در پانل میخواهم میانبری برای نرمافزار فایرفاکس بصورت آیکن نماد فایرفاکس نشان داده شود. من دو کار میتوانم انجام بدهم:
روش اول:
بیایم در همین جا مسیر پوشه ای که آیکن فایرفاکس قرار گرفته را تعریف کنم، مثلاً:
<IconPath>/usr/share/firefox-esr/browser/chrome/icons/default</IconPath>
و سپس بروم در قسمت
<!-- Tray at the bottom. -->
و در هنگام تعریف میانبر فایرفاکس در پانل در قسمت icon برای آن تنها نام آیکن را ذکر کنم مثلاً:
<TrayButton icon="default16.png" popup="Firefox ESR">exec:firefox</TrayButton>
روش دوم:
بدون آنکه در قسمت Path where icons can be found چیزی تعریف کرده باشم بروم و در قسمت
<!-- Tray at the bottom. -->
و در هنگام تعریف میانبر فایرفاکس در پانل در قسمت icon، آنرا اینگونه تعریف کنم:
icon=/usr/share/firefox-esr/browser/chrome/icons/default/default16.png
که روش اول، تمیزتر است.
خوب الان می رویم سر وقت کدهای دیگر:
<!-- Virtual Desktops -->
<!-- Desktop tags can be contained within Desktops for desktop names. -->
<Desktops width="4" height="1">
<!-- Default background. Note that a Background tag can be
contained within a Desktop tag to give a specific background
for that desktop.
-->
<Background type="solid">#111111</Background>
</Desktops>
width : تعداد دسکتاپ های مجازی در جهت افقی. پیش فرض 4 است.
Height : تعداد دسکتاپ های مجازی در جهت عمودی. پیش فرض 1 است.
مثلاً اگر شما انرا اینگونه تغییر بدهید که width=5 و height=3 . در اینصورت در پانل در قسمت سوئیچ بین دسکتابهای مجازی شما دارای 15 دسکتاب مجازی خواهید بود که در ۵ ستون و در ۳ ردیف برای شما نشان داده خواهد شد.(عکس 1)
در قسمت Background می توانید، رنگ پس زمینه را تغییر بدهید یا برای پس زمینه اتان محل تصویر مورد نظرتان را تعریف کنید یا از دستوری برای حالتهای خاص استفاده کنید.
برای type میتوانید از بین این گزینه ها یکی را انتخاب کنید. پیشفرض گزینه solid است.
حالتهای مختلف type :
solid
gradient
image
scale
tile
command
استفاده از solid :
مثلاً من میخواهم رنگ پس زمینه قرمز باشد. پس اینطوری کدها را تغییر میدهم:(عکس 2)
<Background type="solid">#FF0000</Background>
استفاده از gredient:
مثلاً من میخواهم از حالت gradient استفاده کنم، گرادیان ها عناصر CSS از نوع داده تصویر هستند که انتقال بین دو یا چند رنگ را نشان می دهند. این انتقال ها به صورت خطی یا شعاعی نشان داده می شوند.
ترکیبی از رنگهای قرمز و آبی:(عکس 3)
<Background type="gradient">red:blue</Background>
ترکیبی از رنگهای بنفش و زرد:(عکس 4)
Background type="gradient">purple:yellow</Background>
یادتان باشد در حالت gradient ، رنگها را با دو نقطه از هم جدا کنید.
استفاده از image :
مثلاً میخواهم یک عکس را بعنوان پس زمینه بگذارم:
<Background type="image">/home/a/Pictures/wallpaper/3.jpg</Background>
استفاده از tile :
مثلاً میخواهم یک عکسی را بصورت کاشی کاری شده نشان داده شود:
(عکس 5)
<Background type="tile">/home/a/Pictures/wallpaper/index.jpeg</Background>
استفاده از command :
مثلاً من میخواهم دستوری بنویسم که عکسهای پوشه ای را بصورت رندوم با لاگین کاربر عوض بشود:
<Background type="command">feh --bg-fill --randomize ~/Pictures/wallpaper/*</Background>
یادتان باشد برای اینکه این دستور اجرا بشود اول بروید و feh را نصب کنید.
(داخل پارانتز:
یک نکته ریزی را بگویم اینکه شما میتوانید این قسمت را بهمان حالت پیشفرض بگذارید بماند، یعنی:
<Background type="solid">#111111</Background>
بعد میتوانید بجای اینکه در اینجا از دستور command بالایی برای ایجاد حالت رندوم یا حالت image برای نشان دادن یک عکس ثابت استفاده کنید، این دستورات را در قسمت <StartupCommand> بکار بگیریم تا حالت دلخواهمان عوض این کدها در اینجا، با آن کدهایمان در آنجا اعمال بشود. فرقی نمیکند، هر دو حالت هم میشود. مثلاً در قسمت startup اینطوری بنویسیم:
<StartupCommand>feh --bg-fill --randomize ~/Pictures/wallpaper/*</StartupCommand>
)
ادامه دارد...
-
قسمت هشتم:
<!-- <StartupCommand></StartupCommand-->
این قسمتی است که بصورت پیشفرض در فایل پیکربندی jwm نوشته نشده است. این قسمت یکی از مهمترین قسمتهای این فایل پیکربندی می باشد.که بایستی خودمان بنویسیم.
Startup دستورات و کدهایی است که میخواهیم در هنگام لاگین کاربر اجرا شود.
مال من به اینصورت می باشد:
<!-- <StartupCommand></StartupCommand-->
<StartupCommand>xrandr --size 1152x864</StartupCommand>
<StartupCommand>pnmixer</StartupCommand>
<StartupCommand>(sleep 3s ; nm-applet)</StartupCommand>
<StartupCommand>(sleep 4s ; fbxkb)</StartupCommand>
<StartupCommand>/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1</StartupCommand>
<StartupCommand>xdg-user-dirs-update</StartupCommand>
<StartupCommand>rm ~/.config/user-dirs.dirs</StartupCommand>
<StartupCommand>xdg-user-dirs-update</StartupCommand>
<StartupCommand>picom</StartupCommand>
<StartupCommand>xscreensaver -no-splash</StartupCommand>
<StartupCommand>rm ~/.jwmrc-mjwm ; jwm -reload ; mjwm ; jwm -reload</StartupCommand>
کارکرد یکایک آنها را توضیح می دهم:
<StartupCommand>xrandr --size 1152x864</StartupCommand>
برای اجرای این کد لازم است که بسته x11-xserver-utils در سیستمتان نصب شده باشد.
در اینجا بصورت دستی تعیین میکنم که رزولویشن صفحه نمایش چقدر باشد.
<StartupCommand>pnmixer</StartupCommand>
برای اجرای این کد لازم است که بسته های pnmixer و alsamixergui و alsa-utils در سیستمتان نصب شده باشد.
این کد باعث میشود در هنگام لاگین کاربر نشانگر صدا در قسمت System tray نشان داده شود
<StartupCommand>(sleep 3s ; nm-applet)</StartupCommand>
برای اجرای این کد لازم است که بسته network-manager-gnome در سیستمتان نصب شده باشد.
این کد باعث میشود در هنگام لاگین کاربر نشانگر کانکشن شبکه یا اینترنت در قسمت System tray نشان داده شود.
<StartupCommand>(sleep 4s ; fbxkb)</StartupCommand>
برای اجرای این کد لازم است که بسته fbxkb در سیستمتان نصب شده باشد.
این کد باعث میشود در هنگام لاگین کاربر نشانگر صفحه کلید در قسمت System tray نشان داده شود.
البته شما میتوانید بجای این کد و نصب نرمافزار fbxkb ، بسادگی تنهانرم افزار ibus را نصب نمائید و در اینصورت با نصب ibus نیازی به هیچ کار اضافی دیگری نیست و نشانگر مربوطه بصورت اتوماتیک در قسمت مربوطه در پانل قرار می گیرد.البته من fbxkb را بیشتر دوست دارم.
<StartupCommand>/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1</StartupCommand>
این کد برای این استکه اگر مثلاً نرمافزاری که در محیط گرافیکی و در غیر محیط ترمینالی که نیازمند مجوز مدیریتی (یعنی پسورد بخواهد) را بخواهید باز کنید، اجرا بشود.
به زبان خیلی ساده اگر شما بخواهید بجای میزکار از مدیر پنجره استفاده کنید و مثلاً بخواهید نرمافزار Synaptic را باز کنید، اگر از این کد استفاده نکنید، نر م افزار Synaptic برایتان باز نخواهد شد.
تذکر مهم: در هنگام نصب دبیان بصورت مینیمال، بصورت پیشفرض این polkit یعنی بسته libpolkit-agent-1-0 نصب میشود ولی اگر از توزیع دیگر استفاده کرده باشید شاید توسعهدهنده اش از polkit دیگری مانند lxpolkit یا mate-polkit یا polkit-kde-agent-1 و یا ... استفاده کرده باشیدیا حتی خودتان بخواهید از اینها استفاده نمائید، در اینصورت شما بایستی این کد بالایی را تغییر بدهید. برای راهنمایی بیشتر به ارسال هایم پیرامون openbox مراجعه نمائید.
وقتی polkit فرق کند،یکی از فرق هایش این میشود که پنجره محاوره ای که برای پسورد خواستن برای باز کردن برنامههایی که نیازمند مجوز مدیریتی هستند، شکل و شمایلشان فرق خواهد کرد.
<StartupCommand>xdg-user-dirs-update</StartupCommand>
<StartupCommand>rm ~/.config/user-dirs.dirs</StartupCommand>
<StartupCommand>xdg-user-dirs-update</StartupCommand>
این کد را به اینصورت با آزمایش و خطاهای فراوان نوشتهام .
Xdg-user-dirs-update ، ابزاری است برای کمک به مدیریت دایرکتوری های کاربر مانند پوشه دسکتاپ و پوشه موسیقی و ... .
خیلی سادهاش این میشود که در هنگام لاگین به حساب کاربری خود میبینید که پوشه های
Desktop ، Documents ، Downloads ، Music و ... در Home کاربریتان موجود است.
فرض کنید یکی یا تعدادی از همین پوشه هایتان را حذف کنید و دوباره از سیستم لاگ اوت و سپس لاگین کنید خواهید دید که دوباره این پوشه ها دوباره بصورت اتوماتیک ایجاد شده اند، اینها همین کار را میکنند. در میزکارها اینکار بصورت اتوماتیک صورت میگیرد چون توسعهدهنده محترم زحمتش را کشیده و اگر بخواهیم از مدیر پنجره به جای میزکار استفاده کنیم بایستی خودمان زحمتش را بکشیم.
به نوعی Xdg-user-dirs-update کنترل میکند که پوشه هایی که در بالا نام بردم در هوم کاربر هست یا نیست، اگر نیست، در هنگام لاگین کاربر دستور میدهد ساخته شود.
در ضمن نام بسته آن xdg-user-dirs میباشد که در هنگام نصب دبیان بصورت اتوماتیک نصب میشود اگر زمانی در این مورد دچار مشکل شدید ببینید که آیا این بسته از سیستمتان احیاناً حذف شده است یا نه.
<StartupCommand>picom</StartupCommand>
برای اجرای این کد لازم است که بسته picom در سیستمتان نصب شده باشد.
picom یک کامپوزیتور برای X11 بر اساس xcompmgr است. البته مجبور نیست از picom استفاده کنید، بجایش میتوانید از کامپوزیتورهای دیگر مانند xcompmgr یا compton استفاده کنید. با توجه به تجربیاتی که دارم در jwm گزینه picom ، عملکرد بهتری دارد.
ولی اگر زمانی خواستید از کامپوزیتور compton بجای picom استفاده نمائید، بجای کد بالایی از این کد استفاده کنید:
<StartupCommand>compton --vsync opengl-swc --backend glx</StartupCommand>
البته توجه کنید از هر کامپوزیتوری که بخواهید استفاده نمائید بایستی قبلاً آنرا نصب کرده باشید.
<StartupCommand>xscreensaver -no-splash</StartupCommand>
برای اجرای این کد لازم است که بسته xscreensaver در سیستمتان نصب شده باشد.
این کد برای عملکرد xscreensaver میباشد.به زبان ساده این کد برای این استکه بنوعی سیستم از هنگام لاگین کاربر در حالت آماده باش برای وقتی است که من در root menu، منوی xscreensaver را انتخاب کنم تا دستور :
<Program label="xscreensaver" icon="xscreensaver.png">
xscreensaver-command -activate
</Program>
واقع در قسمت:
<!-- The root menu. -->
اجرا شود.
<StartupCommand>rm ~/.jwmrc-mjwm ; jwm -reload ; mjwm ; jwm -reload</StartupCommand>
این کد را هم به اینصورت با آزمایش و خطاهای فراوان نوشتهام . اگر بخواهید برای ایجاد منوی پویا در Jwm از mjwm استفاده نمائید و عملکرد درستی داشته باشد از این کد استفاده نمائید.
البته توجه کنید در جاهایی که لازم بوده از sleep برای ایجاد وقفه برای انجام درست کدها و برنامهها استفاده کرده ام.
-
قسمت نهم:
<!-- Double click speed (in milliseconds) -->
<DoubleClickSpeed>400</DoubleClickSpeed>
نمی دانم.(هر وقت دانستم در همین جا توضیحش خواهم داد.)
<!-- Double click delta (in pixels) -->
<DoubleClickDelta>2</DoubleClickDelta>
نمی دانم.(هر وقت دانستم در همین جا توضیحش خواهم داد.)
<!-- The focus model (sloppy or click) -->
<FocusModel>sloppy</FocusModel>
برای این مورد ما چهار حالت داریم:
click
clicktitle
sloppy
sloppytitle
تفاوت بین حالت sloppy و click :
بطور ساده بخواهیم بگوییم، فرض کنید چند تا پنجره باز کردهاید، اگر این حالت را بگذارید روی
sloppy یا sloppytitle با بردن ماوس بر روی پنجره دلخواه، آن پنجره در حالت انتخاب شده قرار می گیرد.( مثلاً نوار عنوان و نوار کناره های پنجره به رنگ آبی در میآید و نوار عنوان و نوار کناره های پنجره های دیگر به رنگ خاکستری در می آید.) در این حالت اگر بخواهید پنجره ای از بین پنجره های موجود در حالت انتخاب شده قرار بگیرد کلیک لازم نیست، فقط کافیست ماوس را بر روی پنجره ببرید.
اگر این حالت را بگذارید روی click یا clicktitle ، برای اینکه پنجره ای از بین پنجره باز شده در دسکتاب به حالت انتخاب شده در بیاید بایستی در داخل آن پنجره کلیک نمایید.
تفاوت بین حالت title و نبود این گزینه:
بطور ساده بخواهیم بگوییم، فرض کنید چند تا پنجره باز کردهاید و این پنجره ها تا حدودی بر هم افتاده اند. اگر این حالت را بگذارید روی clicktitle و یا sloppytitle ، برای اینکه پنجره دلخواهتان بالاتر از سایر پنجره ها قرار بگیرد، بایستی یا بر روی نوار عنوان یا بر روی نوار کناره های پنجره کلیک نمایید. توجه شود که با کلیک کردن در محیط داخلی پنجره این عمل صورت نمی گیرد.
ولی اگر این حالت را بگذارید بر روی click یا sloppy ، برای اینکه پنجره دلخواهتان بالاتر از سایر پنجره ها قرار بگیرد، کافیست در هر قسمتی از پنجره دلخواهتان کلیک نمایید.
<!-- The snap mode (none, screen, or border) -->
<SnapMode distance="10">border</SnapMode>
سه حالت دارد:
none
screen
border
در حالت screen ، اگر پنجره ای را به لبه های screen یا همان صفحه نمایش اتان ببرید، در فاصلهای که باdistance تعیین کرده اید، در آن فاصله پنجره اتان بطور اتوماتیک وار میچسبد به کناره screen اتان، مثل آهن ربا کناره های screen ، پنجره اتان را جذب می کند.
در حالت border هم اگر پنجره ای را به لبه های screen اتان و یا لبه پنجره ای دیگر نزدیک کنید، در فاصلهای که باdistance تعیین کرده اید، در آن فاصله پنجره اتان بطور اتوماتیک وار میچسبد به کناره screen اتان و یا لبه های پنجره دیگر.
بنا به تجربه شخصی ام برای اینکه این مورد بدرستی در سیستم شما کار بکند و با اجرای این حالت پنجره دچار لرز آزار دهنده نشود، لازم است بسته picom بر روی سیستم شما نصب باشد. ( بجای picom همچنین میتوانید از بسته های compton و xcompmgr استفاده نمایید ولی درسیستم من عملکرد این مورد تنها با picom درست بود نه با compton و یا xcompmgr .) و حتماً با کدهای زیر آنرا در قسمت StartupCommand قرار دهید تا در هنگام لاگین کاربر، picom بطور اتوماتیک وار شروع به کار بکند:
<StartupCommand>picom</StartupCommand>
<!-- The move mode (outline or opaque) -->
<MoveMode>opaque</MoveMode>
حالت و شکلی که پنجره در حین حرکت به خود می گیرد، که دارای دو حالت outline و opaque می باشد.
<!-- The resize mode (outline or opaque) -->
<ResizeMode coordinates="screen">outline</ResizeMode>
حالت و شکلی که پنجره در حین resize کردن پنجره یا همان تغییر اندازه دادن به ابعاد پنجره به خود می گیرد، که دارای دو حالت outline و opaque می باشد.
در این قسمت تنظیم دیگری بنام coordinates داریم که دارای چهار حالت است:
off
corner
window
screen
می باشد، که در هنگام resize کردن پنجره یا همان تغییر اندازه دادن به ابعاد پنجره، مختصات پنجره را به ما نشان می دهد.
اگر از گزینه off استفاده کنیم، هیچ مختصاتی نشان داده نخواهد شد.
اگر از گزینه corner استفاده کنیم، مختصات پنجره در هنگام resize کردن را در گوشه بالا سمت چپ screen به ما نشان داده خواهد شد.
اگر از گزینه window استفاده کنیم، مختصات پنجره در هنگام resize کردن را درداخل خود پنجره به ما نشان داده خواهد شد.
اگر از گزینه screen استفاده کنیم، مختصات پنجره در هنگام resize کردن را در قسمت مرکزی screen به ما نشان داده خواهد شد.
سه تا عکس از حالت های corner ، window و screen برای آشنایی بیشتر با این حالتها گذاشته ام.
ادامه دارد...
-
ممنون از شما بزودی کانفیگ i3 راجبش یه پست میسازیم
-
قسمت دهم :
<!-- Key bindings -->
<Key key="Up">up</Key>
<Key key="Down">down</Key>
<Key key="Right">right</Key>
<Key key="Left">left</Key>
<Key key="h">left</Key>
<Key key="j">down</Key>
<Key key="k">up</Key>
<Key key="l">right</Key>
<Key key="Return">select</Key>
<Key key="Escape">escape</Key>
<Key mask="A" key="Tab">nextstacked</Key>
<Key mask="A" key="F4">close</Key>
<Key mask="A" key="#">desktop#</Key>
<Key mask="A" key="F1">root:1</Key>
<Key mask="A" key="F2">window</Key>
<Key mask="A" key="F10">maximize</Key>
<Key mask="A" key="Right">rdesktop</Key>
<Key mask="A" key="Left">ldesktop</Key>
<Key mask="A" key="Up">udesktop</Key>
<Key mask="A" key="Down">ddesktop</Key>
در این قسمت، میانبرهای صفحهکلید را تعریف می کنیم.
مثلاً برای اینکه با فشردن کلید Print صفحه کلید، عمل اسکرین شات گرفتن با استفاده از نرمافزار gnome-screenshot انجام بگیرد، از این کد استفاده می کنیم:
<Key key="Print">exec: gnome-screenshot</Key>
یا مثلاً برای اینکه با فشردن کلید Super سمت چپی صفحه کلید، منو اصلی نشان داده شود، از این کد استفاده می کنیم:
<Key key="Super_L">root:1</Key>
اسامی تعدادی از کلیدهای صفحه کلید برای استفاده در این کدها، عبارتند از:
Shift_L
Shift_R
Caps_Lock
Control_L
Control_R
Alt_L
Alt_R
Num_Lock
Super_L
Super_R
Print
در اینجا به پایان بررسی فایل system.jwmrc یا همان jwmrc. می رسیم.
پس ما تا اینجا :
۱- نصب دبیان بصورت مینیمال.
۲- نصب jwm و پیکربندی آن.
۳- اگر بخواهیم از سیستممان بعنوان میزکار برای کارهای روزمره استفاده نماییم، نیازمندیم که تعدادی بسته نصب نماییم.
اگر با عملکرد تعدادی از بسته های اصلی و ضروری آشنا نباشیم در هنگام کار با توزیع نصب شده بصورت مینیمال با یک مدیر پنجره نصب شده بر روی آن به مشکل خواهیم خورد.
بنابراین در این قسمت به توضیح مختصری از بسته هایی که در ابتدا معرفی کردم، تا نصب گردند می پردازم، تعدادی از این بسته ها اختیاری و بیشتر براساس سلیقه شخصی من می باشند ولی تعدادی از این بسته ها ضروری اند.
pcmanfm : یک فایل منیجر یا همان مدیر فایل بر اساس + GTK است. البته به جای این فایل منیجر میتوانید از
4pane یا caja یا dolphin یا nautilus یا nemo یا thunar یا ... استفاده نمایید.
gvfs-backends : برای عملکرد کامل تر pcmanfm بایستی این بسته نصب گردد.
mtp-tool : این بسته حاوی ابزارهایی برای برقراری ارتباط با دستگاه های MTP است.
خیلی ساده بگوییم وقتی که موبایل را به سیستمتان وصل می کنید برای اینکه توسط فایل منیجر شناسایی شده و ارتباط برقرار شود.
network-manager-gnome : یک سرویس شبکه سیستمی است که دستگاه های و اتصالات شبکه شما را مدیریت می کند و همچنین تلاش برای حفظ اتصال شبکه فعال هنگامی که در دسترس اترنت، وای فای، پهنای باند موبایل (WWAN) و PPPoE را مدیریت می کند.
net-tools : این بسته شامل ابزارهای مهم برای کنترل شبکه می باشد. جعبه ابزار شبکه است.
netselect-apt : این بسته ابزاری را ارائه می دهد که می توانید بهترین آینه دبیان را انتخاب کنید.
neofetch : اطلاعات سیستم لینوکس شما را جمع آوری می کند و آن را در ترمینال نمایش می دهد.
screenfetch : اطلاعات سیستم لینوکس شما را جمع آوری می کند و آن را در ترمینال نمایش می دهد.
chromium : یک مرورگر وب است.
firefox-esr : یک مرورگر وب است.
geany : یک ویرایشگر متنِ سبک است.
alsa-utils : برای داشتن صدا در سیستمتان به این بسته نیاز خواهید داشت.
alsamixergui : یک برنامه میکسر صدا است و تکمیل کننده alsa-utils است.( اگر بر روی آیکن صدا در پانل کلیک کنید، برای اینکه دکمه Mixer ای که برای شما نشان داده می شود کار بکند، نیاز به این بسته خواهید داشت.)
pnmixer : برای کار بر روی سیستم هایی طراحی شده است که از ALSA برای مدیریت صدا استفاده می کنند. یک برنامه Mixer ساده برای قسمت system tray است.
خیلی ساده بگوییم از این بسته استفاده می کنیم تا اینکه آیکن صدا بر روی پانل در قسمت system tray نشان داده شود و بایستی حتما در قسمت StartupCommand ، کد مربوطه اش را برای اجرا شدن در هنگام لاگین کاربر نوشته شود.
virt-manager : یک رابط کاربری دسکتاپ برای مدیریت ماشین مجازی از طریق libvirt است.
خیلی ساده بگوییم یک ماشین مجازی است و من بجای VirtualBox و یا VMware از این استفاده می کنم.
fbxkb : نشانگر و سوئیچر صفحه کلید بر پایه X11 است.
پرچمی از صفحه کلید کنونی را در یک ناحیه system tray نشان می دهد و به شما امکان می دهد به یکی دیگر سوئیچ کنید.
بجای این بسته می توانید از بسته های gxkb یا xxkb یا ibus استفاده کنید.
خیلی ساده بگوییم اگر این بسته را نصب کنید، زبان صفحه کلید به شکل پرچم در پانل برایتان نشان داده خواهد شد که بدانید که مثلا الان زبان صفحه کلیدتان بر روی انگلیسی است یا فارسی.
feh : در اصل یک نمایشگر تصویر و عکس است. ولی اصلی ترین کاربردش برای من در هنگام کار با window manager ها برای قرار دادن عکس یا عکسهایی بعنوان بک گراند صفحه نمایش می باشد. قرار دادن عکس ها می تواند بصورت ثابت و یا چرخشی با توجه به کدی که در قسمت StartupCommand قرار می دهیم، باشد.
در jwm برای Background ، سه کار می توانید انجام دهید:
روش ۱- استفاده از کد پیش فرض:
<Background type="solid">#111111</Background>
و نام رنگ و یا کد رنگ دلخواهتان را بدهید.
مثلا:
<Background type="gradient">purple:yellow</Background>
روش ۲- استفاده از feh و همچنین کد پیش فرض برای نشان دادن عکس های دلخواهتان.
مثلا:
<Background>feh --bg-fill --randomize ~/Pictures/wallpaper/*</Background>
روش ۳- استفاده از feh در قسمت StartupCommand برای نشان دادن عکس های دلخواهتان.
مثلا:
<StartupCommand>feh --bg-fill --randomize ~/Pictures/wallpaper/*</StartupCommand>
اگر در window manager ای را که می خواهید، عکسی در background قرار دهید، در فایل کانفیگ هایش قسمتی برای background قرار نداده شده باشد از همین feh در قسمت startup آن مدیر پنجره استفاده نمایید.
eog : یک نمایشگر گرافیکی برای نشان دادن تصاویر و عکس ها است.
gimp : یک ویرایشگر تصویر پیشرفته است.
xfce4-terminal : یک شبیه ساز ترمینال یا همان terminal emulator است.
بجای این بسته می توانید از بسته های دیگر مانند موارد زیر استفاده نمایید:
gnome-terminal , konsole , lxterminal , mate-terminal , xterm , termit و ...
gnome-screenshot : این ابزار از دسکتاپ یا یک پنجره عکس می گیرد و آن را در یک فایل ذخیره می کند.
vlc : یک پخش کننده چند رسانه ای است. یا به زبان ساده فایل های ویدیویی اتان را پخش می کند.
parole : یک پخش کننده چند رسانه ای است. یا به زبان ساده فایل های ویدیویی اتان را پخش می کند.
timeshift : از ابزارهای بکاپ گیری از سیستم است.
یک ابزار بازیابی سیستم است که در فواصل منظم عکس های فوری از سیستمتان می گیرد.
fsarchiver : از ابزارهای بکاپ گیری از سیستم است.
یک ابزار سیستمی است که به شما امکان می دهد، محتویات سیستم فایل را به صورت یک فایل آرشیو فشرده ذخیره کنید.
gnome-disk-utility : یک ویرایشگر پارتیشن است.
gparted : یک ویرایشگر پارتیشن است.
libreoffice : یک مجموعه نرم افزارهای اداری است.
libreoffice-gtk3 : این بسته شامل افزونه Gtk برای ترسیم ویجت های LibreOffices می باشد.
به زبان ساده مثلا برای اینکه پنجره های باز شده libreoffice در بعضی حالت ها درست نشان داده شود.
fonts-farsiweb : این بسته شامل مجموعه استانداردی از فونت های فارسی (فارسی) یونیکد از جمله:
Titr, Nazli, Nazli Bold, and Homa می باشد.
transmission : برای کار با BitTorrent بکار می رود.
brasero : یک برنامه ساده برای رایت، کپی و پاک کردن CD و DVD است.
بجای این بسته می توانید از k3b استفاده نمایید.
اگر هم از فایل منیجر Nautilus استفاده می کنید می توانید از بسته های
nautilus-extension-brasero و nautilus-extension-burner استفاده نمایید.
packagekit-command-not-found : پیشنهاد نصب خودکار برنامه های از دست رفته (missing programs ) در خط فرمان .
با استفاده از این، بسته های گم شده را در خط فرمان نصب کنید.
command-not-found : پیشنهاد نصب بسته ها برای برنامه هایی که در حال حاضر نصب نشده اند اما در مخازن موجود هستند.
evince : یک نمایشگر اسناد pdf است.
xpdf : یک نمایشگر اسناد pdf است.
file-roller : یک مدیر آرشیو است.
مشاهده محتوای یک فایل فشرده با فرمت zip یا gzip یا tar یا ...
و همچنین استخراج فایل ها از حالت آرشیو یا همان فشرده.
catfish : یک ابزار مفید برای جستجوی فایل است.
x11-xserver-utils : مجموعه ای از برنامه های کاربردی سرور X .
برای من از برنامه های کاربردی متعددش، برنامه xrandr در مورد زیر برایم کاربرد دارد.
با دستور xrandr می توان رزولوشن را تنظیم کرد، مثلا در قسمت StartupCommand این کد را گذاشت:
<StartupCommand>xrandr --size 1152x864</StartupCommand>
xscreensaver : یک محافظ صفحه نمایش و همچنین برای قفل کردن آن می باشد.
lxappearance : یک برنامه رابط کاربری گرافیکی برای محیط دسکتاپ سبک X11 است.
این یک تعویض کننده تم +GTK و همچنین تعویض کننده فونت ها و آیکن ها برای برنامه های مورد استفاده می باشد. با نصب این برنامه، زیر منوی Customize Look and Feel به منوی Settings در منوی اصلی یا همان root menu اضافه می شود.
oxygen-icon-theme : نوعی تم آیکن .
gnome-brave-icon-theme : نوعی تم آیکن .
gnome-calculator : یک ماشین حساب گرافیکی.
onboard : صفحه کلید مجازی .
gdebi : رابط کاربری گرافیکی ساده برای مشاهده و نصب فایل های deb است.
aria2 : ابزار دانلود با سرعت بالا از طریق خط فرمان.
tumbler : یک سرویس D-Bus برای برنامههایی است که میتوانند thumbnails یا همان تصاویر کوچک را برای برنامههای مختلف درخواست کنند.
یک تصویر کوچک سبک وزن است که می تواند توسط فایل منیجرتان برای ساخت thumbnails از عکس ها و تصاویر استفاده شود.
ffmpegthumbnailer : یک تصویر کوچک ویدیویی سبک وزن است که می تواند توسط فایل منیجرتان برای ساخت thumbnails از فیلم ها و ویدیوها استفاده شود.
به زبان خیلی ساده، اگر این بسته بر روی سیستم شما نصب باشد، اگر فایل ویدیویی در کامپیوترتان داشته باشید، بر روی فایل ویدیویی که توسط فایل منیجر مشاهده می کنید، یک تصویری از یک قسمت از آن ویدیو مشاهده خواهید کرد، اگر این بسته نصب نباشد بجای این تصویر از آن فیلم، تصویر لوگو فایل های ویدیویی را مشاهده خواهید کرد.
picom : یک کامپوزیتور برای X11 که بر اساس xcompmgr است.
از کامپوزیتور های دیگر بغییر از picom که می توانید استفاده نمایید، عبارتند از:
compton ، xcompmgr است.
کامپوزیتور چیست و چه کاربردی دارد؟
مثلا درفایل پیکربندی jwm در قسمت <-- Visual Styles --!> ، حاوی گزینه هایی برای Opacity یا همان میزان کدری و شفافیت پنجره های فعال و غیر فعال نسبت بهم و همچنین میزان کدری و شفافیت پانل و همجنین میزان کدری و شفافیت منو اصلی یا root menu می باشد. یعنی اگر مثلا کامپوزیتوری مانند picom در سیستمتان نصب نباشد در نتیجه گزینه Opacity هم کار نخواهد کرد.
میزان کدری و شفافیت پنجره های فعال و غیر فعال نسبت بهم یعنی چه؟
مثلا دو تا پنجره باز کرده اید، یکی از پنجره ها را بگذارید روی پنجره دیگر، مثلا آیا می خواهید میزان شفافیت پنجره رویی را آنقدر بالا ببرید که محتویات پنجره زیری هم دیده شود؟!
hplip-gui : اگر پرینتر با مارک HP داشته باشید، می توانید از این بسته استفاده کنید.
photocollage : این امکان را می دهد به شما که چند عکس را کنار هم بچسبانید تا تبدیل به یک عکس بشود.
synaptic : یک ابزار مدیریت بسته گرافیکی مبتنی بر +GTK و APT است. Synaptic شما را قادر می سازد بسته های نرم افزاری را نصب، ارتقا و حذف کنید.
به زبان ساده مجبور نیستید برای نصب و حذف بسته ها اگر محیط ترمینال و خط فرمان را دوست نداشته باشید، استفاده کنید، این یک رابط گرافیکی است که این کارها و خیلی کارهای دیگر مربوط به مدیریت بسته ها و نرم افزارها را برایتان بسادگی انجام می دهد.
بیشترین سعی ام در اینجا این بوده که الگویی هر چند ناقص برای کار با مدیران پنجره به خدمت دوستان تقدیم کنم.
خوشحال می شوم دوستان مطالب ارسالی بنده را تصحیح و یا تکمیل نمایند.
از دوستانی که در زمینه jwm سوالی دارند خواهشمندم برای اینکار موضوع جدیدی ایجاد نمایند.
این آخرین ارسالی من برای این موضوع می باشد و دیگر ارسالی جدید دیگری برای این موضوع در اینجا نخواهم داشت.
پایان