همون طور که میدونید آفیسسوییت های متعددی وجود دارند که اکثرا سعی کرده اند از آفیس مایکروسافت تقلید کنند و شکل و شمایل اون رو در نرم افزار خودشون پیاده سازی کنند. بعضی از این آفیسسوییت ها برای دسکتاپ لینوکس هم توسعه داده میشن و موفق هم هستند. از معروف ترین اونها WPS Office, Collabora Office, OnlyOffice هستند که ظاهری بسیار شبیه به آفیس مایکروسافت دارند.
در این بین، آفیس قدیمی LibreOffice که در اکثر توزیع های لینوکسی نصب میشه، حداقل در ظاهر پیشرفت بسیار آهسته ای داره و هیچ وقت هم تلاش نکرده خودش رو شبیه به مایکروسافت بکنه. اما چند وقت پیش بود که بالاخره یک تغییر ظاهر اساسی در خودش ایجاد کرد و کمی به روز شد.
در این پست میخوام یک تم GTK رو معرفی بکنم که رنگ و استایل آفیس مایکروسافت رو داره و ما میتونیم از اون برای LibreOffice استفاده کنیم تا ظاهری "از نظر من" دلنشین تری داشته باشیم.
برای این کار کافیه این فایل رو دانلود کنید و در پوشه
~/.local/share/themes
کاربر خودتون از حالت فشرده خارجش کنید. و بعد LibreOfficeرو با این دستور اجرا کنید. در واقع ما به سیستم میگیم فلان برنامه رو با تم مورد نظر ما اجرا کنه.
برای برنامه writer:
$ GTK_THEME=libmod-writer libreoffice --writer --nologo
برای impress
و calc
و math
و draw
هم به جای writer
اونها رو قرار بدید. در نهایت هم فایل اجرایی اونها رو ویرایش کنید تا این تغییرات همیشگی باشن. برای اینکار فایل .desktop
مورد نظر رو پیدا کنید و در خط مربوط به فرمان بدین شکل عمل کنید. و یا اینکه اینجا رو ببینید.
Exec=env GTK_THEME=libmod-writer libreoffice --writer --nologo %U
اما ایراد این روش اونجا معلوم میشه که شما وقتی یک بار libreoffice رو مثلا با writer اجرا میکنید، اگر همون موقع impress رو هم اجرا کنید دیگه impress تم قرمز به خودش نمیگیره و همون تم آبی رو به خودش میگیره. یعنی هر کدوم رو که اول اجرا کردید بعدی هم با همون تم باز میشه. کاریش هم نمیشه کرد... (بنابراین نتیجه میگیریم که عکس فوق ساختگی است 😬 )
اگر LibreOffice رو از Flatpak نصب کردید هم بایستی عبارت GTK_THEME=libmod-writer
یا یکی دیگه از تم ها رو بعنوان یک متغیر برای برنامه آفیس تعیین کنید:
$ flatpak override --env=GTK_THEME=libmod-writer --user org.libreoffice.LibreOffice
من راهی پیدا نکردم که برای Flatpak برای هر کدوم از برنامه ها به صورت جدا env تعریف کنم. چون فقط یک libreoffice وجود داره که Flatpak میشناستش. یعنی باید برای همه برنامه های آفیس یک رنگ رو انتخاب کنید.
توجه کنید برای اینکه Flatpak تم شما رو بشناسه فایل تم ها حتما باید در مسیر ~/.themes
باشن. و نه در جای دیگه.
و نکته آخر اینکه صفحه سازنده این تم اینجا است. من رنگ ها رو کمی تغییر دادم تا همون رنگ های آفیس مایکروسافت باشن و پهنای بوردر رنگی رو هم کمی کاهش دادم. همچنین برای draw و math هم درست کردم که در فایل اصلی نیستن.
برای سالها، مدیریت آیکن برنامه ها در منوی دسکتاپ گنوم یا XFCE تحت سلطه alacarte بود. اما قدیمی شد و جای خودشو به Menulibre داد. ولی این هم دیگه قدیمی شد و پا به پای پیشرفت GTK جلو نیومد.
حالا یک ابزار دیگه برای این کار به تازگی متولد شده که شکل و شمایل مدرن برنامه های امروزی GTK رو داره. به نام Main Menu یا libre-menu-editor
برای نصب کردن این برنامه در آرچ کافیه libre-menu-editor
رو از AUR نصب کنید.
مدتها بود که یک اسکریپت دم دستی رو برای راحت تر کردن فانکشنهای پکمن استفاده میکردم. که البته ایرادهای فنی و اسکریپتی زیادی داشت. سر انجام با راهنمایی های چند تا دوست خوب توی گروه های آرچ، دستی به سر و روی اسکریپت کشیدم.
هدف این اسکریپت اینه که یک سری عملکردهای رایج و به درد بخور پکمن رو که بعضا دستورات بلندی میشن و نمیشه به یاد سپرد، به دستورات کوتاه تبدیل کنیم.
ویژگی ها و کارهایی که این اسکریپت میکنه:
اخیرا یک هارد SSD خریدم و بر آن شدم تا آرچی که روی HDD نصب داشتم منتقل کنم روی SSD. کار سختی نیست، ولی باید چهارچوب قضیه رو توی ذهنتون ترسیم کنین و بدونین که دقیقا قراره چه کاری بکنین.
سناریوهای مختلف و روش های مختلفی برای این کار وجود داره. اصطلاحا به این کار میگن clone کردن. یعنی شما یک کپی نظیر به نظیر از یک فایل سیستم (درایو) در یک فایل سیستم دیگه میسازید. و پیکربندی های مربوط به بوت لودر رو هم انجام میدید و سیستم با دیسک جدید بالا میاد.
تیتروار قراره چه کار بکنیم؟
چند سناریو رو مطرح میکنم:
اینکه چه سناریویی با شما همخوانی داره، خدا میدونه! به تعداد آدم ها راه هست برای پارتیشن بندی برای لینوکس! من در این مطلب کلیت ماجرا رو میگم. شما بر اساس شرایط خودتون باید عمل کنید.
یک اسکریپت هست به نام wat (Wat dafuq did I do?) که میاد از لاگ پکمن به ما میگه کدوم پکیج ها اخیرا آپگرید شدند. این طوری میشه حدس زد بعد از آپگرید کدوم پکیجها ممکنه اتفاقی افتاده باشه!
طبق صفحه ویکی این اسکریپت، میتونید اون رو یک جا ذخیره کنید و اجراش کنید. و میتونید با AUR پکیج wat-git رو در آرچ نصب کنید.
برای استفاده کافیه دستور wat رو اجرا کنید. میتونید متغیر هم بهش بدید. مثلا:
$ wat
پکیج های آپدیت شده در آخرین بروزرسانی رو میگه.
$ wat 3
پکیج های آپدیت شده از ۳ تا بروزرسانی اخیر رو میگه.
$ wat 7 4
پکیج های آپدیت شده بین هفتمین تا چهارمین بروز رسانی رو میگه.
اگر از سوییچ -i
استفاد کنید، پکیج هایی که install شدند رو هم نشون میده. مثلا:
$ wat -i 3
توجه: اقدامات زیر ممکنه باعث بشه سیستم شما موقتا بوت نشه. بنابراین با دقت کامل و با جست و جوی بیشتر در این مورد، عمل بفرمایید.
systemd میتونه بدون نیاز به فایل fstab پارتیشن ها رو مونت کنه. قبلا توضیح دادم چطوری. اما در این پست میخوام بگم systemd با استفاده از systemd-gpt-auto-generator میتونه پارتیشن های سیستمی رو بدون اینکه ما دخالتی داشته باشیم و حتی یونیت برای اونها بسازیم، مونت کنه. البته به شرطی که شما از هوک systemd در ساخت ایمیج کرنل استفاده کرده باشید.
منظور از پارتیشن های سیستمی یعنی پارتیشن روت در /
پارتیشن بوت در /boot
یا /efi
پارتیشن هوم در /home
و همچنین پارتیشن های دیگه از جمله /var
و var/tmp
و... مونت بشن.
توجه: حتما یک نسخه live روی مموری داشته باشید تا اگر با دستکاری های زیر دچار مشکل شدید بتونید قضیه رو حل کنید.
برای این کار اول اینکه باید پارتیشن های شما از نوع GPT باشند تا هر کدوم یک آی دی خاصی که بهشون Partition Type GUID میگن اختصاص داده بشه. در واقع systemd با استفاده از این نوع پارتیشن ها رو مشخص میکنه و اونها رو در جایی که باید، مونت میکنه. با این کار دیگه نیازی به فایل fstab نیست و نیازی هم به اضافه کردن مسیر پارتیشن root در خط کرنل بوت لودر هم نیست.
حاصل سر و کله زدن های من با لینوکس