انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: شخصی سازی JWM (حل شد)  (دفعات بازدید: 2296 بار)

0 کاربر و 3 مهمان درحال مشاهده موضوع.

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
شخصی سازی JWM (حل شد)
« : 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 پیدا کرده و گذاشته جلوش و اومده سر وقتمان و بخواد اذیتمان بکنه!!
« آخرین ویرایش: 10 خرداد 1401، 11:37 ب‌ظ توسط norouzi90 »

آفلاین َUxmlai-ad

  • Sr. Member
  • *
  • ارسال: 486
  • جنسیت : پسر
  • متنفر از گنو و FSF
پاسخ : شخصی سازی JWM
« پاسخ #1 : 05 خرداد 1401، 05:42 ب‌ظ »
نیازی به اون & بعد دستور اجرای تونار نیست
اون پایین تر رو نگاه کن ببین خودش آیکون ها رو معرفی کرده یا نه اگه کرده نیازی نیست مسیر کامل آیکون رو بنویسی

من برای مدیریت زبان ورودی از ibus استفاده می کنم. وقتی نصبش  کردم و تنظیمش  کردم اون پایین کنار ساعت نشونش  داد
« آخرین ویرایش: 05 خرداد 1401، 05:46 ب‌ظ توسط Aminavy »
متنفر از گنو و FSF

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM
« پاسخ #2 : 08 خرداد 1401، 11:51 ب‌ظ »
نیازی به اون & بعد دستور اجرای تونار نیست
اون پایین تر رو نگاه کن ببین خودش آیکون ها رو معرفی کرده یا نه اگه کرده نیازی نیست مسیر کامل آیکون رو بنویسی

من برای مدیریت زبان ورودی از ibus استفاده می کنم. وقتی نصبش  کردم و تنظیمش  کردم اون پایین کنار ساعت نشونش  داد

با تشکر،
برای آیتم Volume در پانل چکار می نمایید؟
در مورد برنامه هایی مانند gparted و timeshift , synaptic که برای اجرا شدن نیازمند مجوز مدیریتی می باشند،
در سیستم من اگر دستور پایینی را در قسمت autostart مربوط به فایل کانفیگ window manager ها ننویسم، کادر محاوره ای
برای پرسیدن پسورد باز نمی شود و بدین علت این برنامه ها در محیط گرافیکی ام باز و اجرا نمی شوند. نمی دانم بغیر از این
روش آیا روش بهتری وجود دارد؟ آیا بنظرتان بایستی بسته خاصی نصب نمایم؟

/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM
« پاسخ #3 : 09 خرداد 1401، 01:17 ق‌ظ »
من چون به 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 های دیگر نه.
  نمی دانم مشکلم کجاست؟

آفلاین َUxmlai-ad

  • Sr. Member
  • *
  • ارسال: 486
  • جنسیت : پسر
  • متنفر از گنو و FSF
پاسخ : شخصی سازی JWM
« پاسخ #4 : 10 خرداد 1401، 07:21 ب‌ظ »
نیازی به اون & بعد دستور اجرای تونار نیست
اون پایین تر رو نگاه کن ببین خودش آیکون ها رو معرفی کرده یا نه اگه کرده نیازی نیست مسیر کامل آیکون رو بنویسی

من برای مدیریت زبان ورودی از 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
متنفر از گنو و FSF

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM
« پاسخ #5 : 10 خرداد 1401، 11:37 ب‌ظ »
با سپاس و تشکر فراوان از دوست گلم آقای Aminavy  .

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #6 : 02 شهریور 1401، 11:30 ب‌ظ »
۳- یک مشکلی که من در 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 ، دیگر پنجره هایم نمی لرزند ولی به احتمال قوی این بایستی یک افکتی باشد. ولی نمی‌دانم بایستی چه بسته ای نصب یا چه تنظیمی انجام دهم تا شاهد عمل‌کرد درست این گزینه بر روی سیستمم باشم!!

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #7 : 18 شهریور 1401، 04:10 ب‌ظ »
بلاخره موضوع مربوط به SnapMode را حل کردم.
 از کامپوزیتور های xcompmgr  و همچنین compton دیگر استفاده نکردم و اینبار بجای آن‌ها  از
کامپوزیتور picom استفاده کردم ، بعد از نصب picom این دستور را در داخل فایل  jwmrc.  بکار بردم:

<StartupCommand>picom</StartupCommand>
و مشکل حل شد.لبه های پنجره ها دیگر نمی لرزند و توصیف دقیق حالت SnapMode  به این صورت می باشد:

همانطور که می‌بینید ، سه تا حالت دارد  none , screen,  border  .

screen :
وقتی که پنجره ای را جابجا می‌کنید با رسیدن لبه های پنجره جابجا شده به فاصله تعریف شده توسط distance  از کناره های صفحه مونیتور( یا همان screen )، پنجره جابجا شده آن لبه اش می‌رود می چسبد به کناره های screen  ، انگار که یک آهنربا جذبش کرده باشد.

border :
وقتی که پنجره ای را جابجا می‌کنید با رسیدن لبه های پنجره جابجا شده به فاصله تعریف شده توسط distance  از کناره های صفحه مونیتور یا لبه های پنجره های دیگر، پنجره جابجا شده آن لبه اش می‌رود می چسبد به کناره های screen  یا پنجره دیگر، انگار که یک آهنربا جذبش کرده باشد.


( فاصله مجاز برای  distance ، بین 1 و 32 می باشد.)

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #8 : 25 آذر 1401، 07:42 ب‌ظ »
قسمت اول:

(تجربیات شخصی من از 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 installpcmanfm    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

این برنامه را نصب میکنیم.( بهتر است که اگر می توانید، ابتدا این برنامه را بصورت فایل deb. دربیاورید و به این صورت در سیستمتان نصب نمایید تا این برنامه، توسط پکیج منیجرتان قابل شناسایی باشد.)
بعد از نصب mjwm ، این دستور را در ترمینال بزنید:
$ mjwm
با زدن این دستور برای شما می‌نویسد که فایلی با نام jwmrc-mjwm.  در دایرکتوری خانگی تان ایجاد شده است.

نکته: اگر هم دوست دارید، میتوانید از برنامه‌های دیگری مانند menumaker و ... هم بجای این برنامه mjwm استفاده کنید.
اگر  دوست داشته باشید از menumaker استفاده کنید به یکی از این دو آدرس مراجعه کنید:

https://menumaker.sourceforge.net/

https://sourceforge.net/projects/menumaker/

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

۲۵- با فرمان زیر فایل system.jwmrc  را به داخل دایرکتوری خانگی کاربر کپی می نماییم.
$ cp /etc/jwm/system.jwmrc  ~/
۲۶- با فرمان زیر، نام این فایل را به jwmrc.  تغییر نام می دهیم.
$ mv ~/system.jwmrc  ~/.jwmrc
« آخرین ویرایش: 19 خرداد 1402، 08:01 ب‌ظ توسط norouzi90 »

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5125
  • جنسیت : پسر
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #9 : 25 آذر 1401، 09:22 ب‌ظ »
فکر کنم توی مرحله ۱۲ اون sudo که اول دستور گذاشتید زیادیه. چون دارید با کاربر روت دستکرات رو اجرا می‌کنید و کاربر روت به sudo نیازی نداره.
در ضمن لازم نیست کاربر روت عضو گروه sudo باشه.

پیکربندی پیش‌فرض pam که sudo هم از اون استفاده می‌کنه، به کاربر روت اجازه می‌ده بدون وارد کردن رمزش، بتونه از sudo استفاده کنه.
میدونید که زکات علم نشر آن است

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #10 : 26 آذر 1401، 05:56 ب‌ظ »
با تشکر، اصلاح گردید.

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #11 : 27 آذر 1401، 06:34 ب‌ظ »
قسمت دوم:

محتوای فایل 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>







آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #12 : 27 آذر 1401، 08:35 ب‌ظ »
قسمت سوم:

( شرح فایل   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>قرار خواهند گرفت.

(ادامه دارد...)

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #13 : 27 آذر 1401، 09:40 ب‌ظ »
چرا jwm رو انتخاب کردی؟
آرچ و گنوم!

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 764
  • جنسیت : پسر
  • Linux Mint
پاسخ : شخصی سازی JWM (حل شد)
« پاسخ #14 : 28 آذر 1401، 01:54 ب‌ظ »
چرا jwm رو انتخاب کردی؟

jwm ،یک مدیر پنجره کاملاً دست کم گرفته شده است، بنابراین دلیل اینکه من می خواهم این پیکربندی ها را در اینجا نمایش دهم این است که نشان دهم jwm ، پتانسیل های پنهان زیادی دارد.

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