به عنوان فردی که چندین بار در سال نیاز هست سیستم عاملم رو تغییر بدم و هر دفعه به شیوه تکاملی ابزار های بهتری برای توسعه و استفاده های روزانه پیدا کنم سعی کردم در اخرین تلاشم همه موارد رو توی یک رپو گیت هاب قرار بدم و گفتم چه بهتر که از اون یک نسخه بلاگ و به زبان فارسی هم باشه و تا حدی توضیحات بیشتری بدم. الان که دارم این بخش رو مینویسم تقریبا ۱۲ ساعت پیش متن رو شروع کردم و ابتدا قرار بود فقط اموزش نصب باشه ولی گفتم بهتر هستش که بگم چطوری یک توزیع رو انتخاب کردم و چه نرم افزار هایی استفاده میکنم برای زندگی روزمره. واقعیت امر اینکه کسی که توسعه دهنده هستش بهتر از من میدونه چی کار کنه ولی برای استفاده عادی هنوز لینوکس جانیوفتاده و به نظر نمیشه ازش استفاده کرد. در حالی که کل متن این مقاله رو از طریق سیستم لینوکسیم مینیوسم و از طرفی در اینجا لیستی از نرم افزار های آزاد - انحصاری و تجاری معرفی میکنم که نشون بدم لینوکسی بودن اونقدرا هم بد نیست و چیزی رو از دست نمیدی اگر که چیز هایی که بدست میاری رو در نظر نگیری و این متن پر غلط های ویرایشی هستش چه به دلیل اینکه اون موقع صبح هوشیاری کافی نداشتم و حالا که منتشرش میکنم به دلیل اینکه نره توی بخش ویرایش ها کنار بقیه پست های منتشر نشده.
چرا چند بارسیستم عامل رو عوض میکنم؟ به خاطر تعویض سیستم ها و یا اینکه تغییر توزیع فعلی در حال حاضر از دو توزیع ubuntu 18.04 و Kubuntu 20.04 استفاده میکنم که بخش اصلی کارها رو قرار هست روی سیستم کوبونتو که در واقع کیسم هست انجام بشه پس لازم هست که کانفیگ های خوبی رو روش انجام بدم در اینجا لیست کلی نرم افزار ها رو معرفی میکنم که عموما نه فقط برای اوبونتو و لینوکس بلکه به صورت ازاد و رایگان در دسترس برای دیگر سیستم عامل ها هم هستند پس متن رو میشه به عنوان راهنمای استفاده از نرم افزار های رایگان و متن باز تقریبا توی همه سیستم عامل هم معرفی کرد.
جدول محتوایی:
- - چرا لینوکس و الان؟
- لیست نرم افزار ها
- روش نصب و ترتیب نصب
چرا لینوکس؟
سئوال مهمی هستش چرا من در حال حاضر از لینوکس بیس ها عموما استفاده میکنم و بخش قابل توجه ای از زمان توسعه / یادگیری و عادی رو باهاش میگذرونم. وقتی پا به انتخاب سیستم عامل دکستاپ / لپتاپ میرسه انتخاب های زیادی نداریم. انتخاب های خوب زیاد در واقع و خلاصه میشه به سه بخش اصلی: - windows - unix and linux base - mac os البته شاید یکم دسته بندیم تخصصی نباشه مخصوصا اینکه مک خودش یک سیستم عامل یونیکس بیس هستش ولی به خاطر انحصارش اون رو جدا کردم. خب برسیم به لیست اولین انتخاب ما ویندوز هستش سیستم عاملی که تقریبا به اندازه دو دهه عمرم از اولین دیدارش میگذره از قدیم الیام معنای سیستم عامل یعنی ویندوز رو میداده و جایگزینی هم نبوده. متاسفانه عدم دسترسی به بازار جهانی و کرک باعث شده مثل اب خوردن نسخه های گرون قیمتش هر نرم افزاری رو نصب کنیم بدون فکر کردن و یکیشون همین ویندوز هستش نسخه home اون ۱۳۹ دلار و نسخه pro اون ۱۹۹ دلار قیمت داره که خب من در حال حاضر نمیخواستم بخرم از طرفی هم به دلیل تحریم ها نمیشه به شکل درست خرید. البته که کرک هم هستش ولی مشکلات امنیتی و اخلاقی باعث میشه سعی کنم تا جای امکان ازش دور باشم. انتخاب دوم رو فعلا بیخیال برسیم سر انتخاب سوم برای انتخاب سوم دو راه هست یکی اینکه یک دستگاه اپلی داشته باشی که در دسترسم نیست و راه بعدی اینکه از طریق هکینتاژ نصب کنی که هنوز به شکل کامل تست نکردم شاید به زودی اینم تست کنم البته که چون پولی نیست مسئله خاصی رو نداره فقط امنیتش رو باید چک کنم. حالا عمیق تر چرا لینوکس؟
من گزینه دوم رو یونیکس و لینوکس بیس ها گفتم نمیخوام اینجا به انداز یک درس سیستم عامل بگم ولی کوتاه و سرنخ وار اینکه ما فقط لینوکس رو نداریم و بلکه یونیکس هم هست در کنار این موضوع دو لینک ویکی پدیا رو میذارم که اگر اطلاعات کمی دارید ابتدا کمی مطالعه کنید دربارشون: https://en.wikipedia.org/wiki/Unix https://en.wikipedia.org/wiki/Linux من رفتم سر لینوکس بیس ها به خاطر پشتیبانی اکثر ابزار های عام پسند ازشون و از طرفی انتخاب هام یکم محدود تر میشه من دنبال یک توزیع با پشتیبانی خوب در کنارش پایدار بودم / هستم که سریع باشه و منابع کمی مصرف کنه در کنارش مشکل پولی بودن رو نداشته باشه و کار کردن باهاش هم راحت باشه.
پس یکم دایره محدود تری میشدن و باید توی دو دسته از توزیع ها بگردم
۱. دبیان بیس ها ۲. آرچ بیس ها
واقعیتش زیاد مشکلی نبودش اگر دنبال اخرین تکنولوژی و اخرین کرنل بودم خب قطعا آرچ بیس انتخاب عالیه ولی من اون LTS یا Long Term Support توزیع های ابونتویی Ubuntu رو ترجیح دادم. هرچند توی آرچ بیس ها هم مشکلی نداشتم و چند وقتی رو مانجارو با میز KDE بودم و حتی الان فکر میکنم میتونستم جای Kubuntu اون رو نصب کنم ولی گفتم کل سیستم ها رو بذارم روی اوبونتو بیس ها و نرم جای دیگه ای( برای الان البته).
انتخاب محیط کار لینوکسی و گزیده از هر کدوم:
به عنوان فردی که چند تا توزیع خاص رو کار کرده انتخاب یک نسخه یک توزیع یک قدم هست و قدم بعدی تعیین محیط استفاده هست.
یکی از محیط های کار خیلی شبیه به ویندوز میشه گفت و از طرفی جزو کم مصرف ترین هاست من خودم زیاد ارتباط باهاش نگرفتم.
به نظر من و خیلیا یکی از زیباترین هاست به نظر میاد خود طراح ها و برنامه نویس های اپل پشت توسعه اش بودند و فقط هم از طریق Elementary OS در دسترس هست شباهت هایی با KDE داره اما متفاوت هست و تا اینجای کار بهترین از لحاظ ظاهر مخصوصا برای لپتاپ هاست.
محیط فعلی من توی Kubuntu هست و به نظرم خیلی بهتر از GNOME هست مخصوصا کانفیگ کردن و تنظیمات پیش فرضش خیلی جالب و زیباست و میشه تم های مختلفی نصب کرد و خیلی از بخش ها رو اون جور که باید کانفیگ کرد و امکانات زیادی داره.
محیط پیشفرض میشه گفت بعد از Unity اوبونتو به صورت پیش فرض ازش استفاده میکنه سادس ولی واقعیتش اینه که میتونست بهتر باشه مخصوصا در زمینه شخصی سازی و شاید سنگین ترین باشه در بین بقیه.
رسیدیم به گل سر سبد چیزی که نتونستم باهاش ارتباط بر قرار کنم ولی میدونم خیلی خفن هستش یک جورایی میشه گفت اگر خوره ترمینال و نمیخواهید یک پیکسل رو از مانیتورتون رو از دست بدید پس حتما سری به I3 بزنید تقریبا میشه گفت هیچ مصرف منابع خاصی نداره و اگر نمیخواهید منابع صرف پردازش لایه های گرافیکی زیبا کنید انتخاب خوبیه.
اولین تجربه ام …
اولین تجربه من برمیگرده به سال های اخر راهنمایی که دنبال این بودم بتونم پسورد رو کرک کنم و اینها و اوایل دبیرستان که بک ترک و کالی لینوکس میشه گفت اولین تجربه های من از پاک کردن هارد به خاطر لینوکس بودش.
چرا نرم افزار ازاد هم مهم است؟
نرم افزار ازاد یک رویه و سیاست برای انتشار نرم افزار هست. قطعا هر فردی که نرم افزار خودش رو به صورت متن باز ارائه میده دلایل خودش رو داره فقط اینکه نرم افزار متن باز با رایگان دقیقا یکسان نیستند. فرض کنید من یک فروشگاه در زبان راست نوشتم در کنار فایل باینتری فروشگاه و سورس کد اصلی و داکیومنت رو هم تحویل مشتری میدم که بتونه تغییراتش رو اجرا کنه روی کد. آیا این خوبه؟ بله خیلی خوبه اما مسائلی هستش که بعد از گذشت چندین سال هنوز پا برجاست. مخصوصا وقتی انجمن اصلی نرم افزار آزاد و چهار ازادیش به میان میادش که یک بخش رو کمتر کسی دوست داره. بخش پخش مجدد و پخش مجدد همراه با تغییرات که رفته رفته مسئله لایسنس ها به میون اومد و الی اخر. این جنگ هنوز هم ادامه داره و …
توی لینوکس نرم افزار پولی نیست؟
در واقع این اشتباه هست در لینوکس هم نرم افزار های تجاری داریم و انحصاری یعنی نرم افزاری که سورس کدش رو نداریم. اما بذارید یک واقعیت رو با شما درمیون بذارم گاهی سر و کله زدن با یک نرم افزار متن باز تحت ترمینال زمان زیادی رو از شما میگیره که داکیومنتش رو بخونید و بتونید به خوبی باهاش عمل کنید درحالی که نسخه های انحصاری توی دیگر سیستم عامل ها به راحتی همین کار رو انجام میدن. نبود بخش قابل توجه ای از نرم افزار های تجاری / انحصاری و حتی متن باز ویندوز رویه رو سخت تر میکنه ولی سعی کردم توی این مقاله موارد رو بگم که خودم در روزمره ازشون استفاده میکنم و صرفا همه جایگزین های متن باز و رایگان نیستند.
لیست نرم افزار ها:
دراینجا سعی میکنم لیست عامه رو بگم و بخش برنامه نویسی رو کم رنگ تر بیان کنم.
اگر دوست دارید میتونید از اینجا لیست کامل رو ببینید.
لیست نرم افزار ها:
- پکیچ منجر
- محیط توسعه
- مولتی مدیا
- آفیس و pdf
- ویدیو
- عکس
- اینترنت و ارتباطی
- ابزارک های شخصی
پکیچ منجر snapcraft یا snap
یکی از مهم ترین چیز ها استفاده از اسنپ هست برای من به خاطر وجود کلی پکیچ که میشه با استفاده از یک خط نصبش کرد. پکیچ هایی که در رپو اصلی ابونتو نیستند هم میتونید نصب کنید.
ایده کلیش این هست که کل لینوکسی ها و حتی در اینده بقیه سیستم عامل ها برای نصب یک نرم افزار از یک خط کد استفاده کنند و نگه داری و بروز رسانیشون رو اون بر عهده بگیره.
از مهم ترین پکیچ هایی که میشه توش پیدا کرد میشه به
- vscode
- skype
- discord
- gimp
اشاره کرد.
محیط های توسعه / ویرایشگر
برای من هم مثل کلی ادم دیگه مهم هست که محیط توسعه ام در جایگاه خودش عملکرد خوبی داشته باشه از سرعت و کارایی و امکانات.
واقعیتش دوست دارم اونقدری توی vim خوب باشم که بتونم تا حد یک ide کانفیگش کنم ولی از طرفی زمان بر هست و چیزی اونقدرا اضافه نداره اگر هم بتونید توی «هر ابزاری» سریع بشید خیلی خوب هست و از طرفی من هم تایپر نیستم یک بخش کار زدن کد سریع هست یک بخش کار دیباگ و تحقیق زدن کد هم هست.
سه محیط پر استفاده برای من:
- VS CODE
- IntelJ IDE
- Great VIM
VS CODE
اولین تجربیاتم برمیگرده به اوایل که اومده بودش و خب اون موقع من از atom استفاده میکردم (خیلی کند هستش متاسفانه حتی با سیستم های فعلیم) که علاقه زیادی بهش نشون ندادم ولی یکی دو سال اخیر قسمت قابل توجه ای از زمانم رو صرفش میکنم. تا حد زیادی سبک هست و قابلیت کانفیگ خوبی داره اما حس کمبود داره کمبودی که یک ابزار عالی نیست.
اگر از vscode استفاده میکنید حتما از Settings Sync استفاده کنید با این افزونه میتونید بین سیستم های مختلف تنظیماتتون رو به اشتراک بذارید.
IntelJ IDE
یک ابزار همه کاره با کلی امکانات باید اعتراف کنم اگر چندتا نرم افزار رو قرار باشه کرک شده استفاده کنم این یکیشون هست.
از وقت برگشتم بعد از چندماه بهش متوجه شدم چه کمبود هایی داشتم توی vs code هرچند مثل سابق کلیدهاش رو یادم نیست و باید مرورکنم که بتونم به سرعت خوبی برسم توش.
VIM
نمیشه حرف از ویرایش و کد و این چیزا زد ولی خبری از ویم نباشه که. به خاطر کاوه که میتونید از کانالش اموزش ویم رو هم ببینید. من عمیق تر با دنیای لینوکس و متن باز اشنا شدم و کاوه خودش ترمینال باز هامون هستش و تونسته خیلی خوب با ویم کار کنه.
من در حد ابتدایی میتونم موارد ویم رو استفاده کنم و در حد ادیت فایل های متنی ازش استفاده میکنم.
چرا emacs نه؟ ارتباط نتونستم تا الان ارتباط برقرار کنم باهاش.
مولتی مدیا
من یک برنامه نویس هستم ولی قرار نیست که همش کد بزنم نیاز دارم کارهای دیگه رو هم مدیریت کنم مثل تولید محتوا و کارهای ویرایش متنی و…
آفیس و PDF
ابتدا باید بگم جای سری مایکروسافت آفیس در لینوکس خالیه واقعا میگم ابزار های اون خیلی بهتر بودند از آفیس هایی که داریم ولی خالی از لطف نیست که بگم برای کارهای عادی و با کمی وقت گذاشتن و یادگیری میشه ابزار های آفیس خوب آزاد رو پیدا کرد.
وقتی اسم لینوکس رو میاریم در کنار آفیس معروف یعنی Libre Office میاد ولی من خودم به شخصه از Google Docs استفاده میکنم که تمام چیزی که من میخوام رو داره.
۱. ویرایش فایل متنی
۲. اسلاید شو
۳. اکسل و جدول
اگر که کارهای ساده ای دارید برای ویرایش متن و گروهی هم کار میکنید هیچ چیز بهتر از Google Docs نیست.
FOXIT Reader - یک پی دی اف خوان قهار
یک نرم افزار انحصاری و قوی برای خوندن pdf هاست. قابلیت های زیادی مثل هایلایت و اضافه کردن متن به پی دی اف فعلی رو داره.
Calibre - کتابخونه کلاسیک شما
عجیب ترین نرم افزاری که باهاش اشنا شدم ایشون هست. ظاهرکلاسیک و مدیریت خوب و ساده و عجیب تر همیشه در حال اپدیت هم هستش که نمیدونم حداقل از ۹۵ که ازش استفاده میکنم چیزی ندیدم که اونقدرا تغییر کرده باشه.
ویدیو
برای ویدیو دو مبحث هست
۱. تماشای ویدیو
۲. ویرایش و ضبط ویدیو
mpv - ساده ترین و در عین حال قابل شخصی سازی ترین پلیری که دیدین
ابتدا بگم که جای خالی pot player اینجا حس میشه ولی mpv رو دسته کم نگیرید یک چیزیه برای خودش و کم مصرفم هست.
VLC - یار قدیمی و همه جا همراهم
نیاز به معرفی خاصی نیست VLC معروف یار همه سیستم عاملمون که من خیلی کم ازش استفاده میکنم.
OBS - ضبط کننده تمام عیار
فرقی نداره میخواهید برای یوتوب فیلم بگیرید یا اینکه کلاس درسی تون رو ضبط کنید. استریم گیم دارید؟ اینم حله. همه اینها در OBS یک نرم افزار که در همه سیستم عامل ها هم در دسترسه و میتونید به سادگی باهاش کار کنید در عین حال تنظیمات خیلی پیشرفته ای برای گرفتن خروجی بهتر ازش رو هم داره.
یک درد و دل - ویرایشگر های پیچیده:
واقعیتش الان که ساعت ۴ و ۷ دقیقه صبح هست و این رو دارم میسنویم تقویم میلادی روز ۱۸ اکتبر رو نشون میده و تا این لحظه نرم افزار ساده ای که به راحتی با نگاه کردن به رابط کابریش بشه کار کرد رو برای ویرایش ویدیو ندیدم. همه نرم افزار ها چه سطح بالا مثل blender و چه از لحاظ دیداری هیچی و کامند لاین مثل ffmpeg خیلی نیاز به سطح دانش خوبی دارند.
در حالی که توی ویندوز و مک کمتازیا هست هم ضبط میکنه هم با کیفیت عالی و حجم کم خروجی میده در کنار این موضوع ادیتور ساده ای داره و یک ابزار همه کارست.
عکس
در اینجا هم نبود یک نرم افزار ساده برای من خیلی سخت بود که در حال حاضر از دو سایت استفاده میکنم برای ویرایش اصلی مثل ساخت عکس همین پست و در کنارش یک ابزار محلی:
- Canva
- photopea
- GIMP
canva - سرویسی همه کار و ساده و رایگان
یک سرویس ساده که میتونید به صورت انلاین عکس - پوستر - ویدیو بسازید و خروجی بگیرید و استفاده کنید.
نسخه رایگان خیلی خوبی داره و هزینه خریدش هم ارزونه چیزی در حدود ۱۰ دلار در ماه که برای تولید کنندگان محتوا زیاد نیست.
photopea - جایگزین فتوشاپ خود فتوشاپ است!
امکانات قابل توجه ای فتوشاپ رو داره و اینکه شما احساس نمیکنید اصلا توی محیط وب هستش از بس سریع و کاراییش بالاست
بعد از همه اینها جایگزین رایگان و متن باز که همه میگن جایگزین فتوشاپ هست رو معرفی میکنم
GIMP - سبک منحصر به فرد ویرایش تصاویر
واقعیتش برای من جای فتوشاپ نیست و سبک کاملا متفاوتی از کارها رو در پیش داره و یک کار ساده در فتوشاپ ممکن هست روش خیلی متفاوتی و گاهی به نسبت سخت تری رو داشته باشه در کنارش محیط جدیدی داره و نیازمند یادگیری هم هست درحالی که ادیت عکس برای من در فتوشاپ بدون مطالعه خاصی بودش و صرفا چندتا شکلک و متن بودش همیشه ولی اینجا یکم گنگ ترم. اخیرا سعی کردم موارد ادیتی رو ببرم سمت canva به خاطر سادگیش.
اینترنت و ارتباطی
قرار نیست مرورگر ها و نرم افزار های معروف رو مجدد معرفی کنم فقط اینکه برای دانلود من خودم از aria2 استفاده میکنم.
aria2 - سریع و سبک و ساده
هیچ وقت فکرش هم نکردم برای دانلود فایلهام از اینترنت با کمک aria2 و توی کامند لاین باشه هر چند که پرسپولیس نسخه GUI اش هم هستش و اگر هنوز اونقدرا کامند لاینی نیستید اون رو نصب کنید.
ابزارک های شخصی
در این بخش که احتمالا بخشی باشه که هر دفعه موارد جدید بهش اضافه بشه. درباره ابزار و برنامه هایی که برای بخش شخصی - مدیریت انرژی و زمان استفاده میکنم هست.
تکنیک مدیریت زمان پومودورو - pomodoro
این تکنیک بر دو پایه اصلی بر قرار هست کار کردن بدون وفقه در یک زمان خاص - استراحت و دور شدن از کار در موقع استراحت.
در باره هایی که به صورت پیش فرض ۲۵ دقیقه ای تکرار میشود و بعد از هر ۲۵ دقیقه ما ۵ دقیقه استراحت داریم و این چرخه ۴ بار تکرار میشود و بعد ازاون میتونیم ۱۵ دقیقه استراحت کنیم.
البته همه این اعداد قابل تغییر هست و برنامه هایی که معرفی کردم این قابلیت رو دارند.
اگر دوست داشتید بیشتر و به زبان ساده دربارش بخونید در بلاگ سید محمد امین جوادی عزیز میتونید درباره این موضوع با عنوان «تمرکز و کار عمیق – سلاح مخفی شما برای تبدیل شدن به یک توسعهدهندهٔ ۱۰×» بخونید.
اطلاعات بیشتر در
توی محیط KDE برنامه Pomotroid
توی محیط Gnome برنامه gnomepomodoro
هر دوی این برنامه ها امکانات خوبی دارند و دو مشکل به نظرم هست یکی اینکه مولتی پلتفرم نیستند و دیگر اینکه خب لیست کارها چی؟
اینجا وقت معرفی نرم افزاریه که اخیرا باهاش اشنا شدم
superproductivity یک ابزار مدیریت زمان و کارهای تقریبا همه کاره
بیاییم موارد رو چک کنیم:
۱. مدیریت زمان و پومودرو رو داره
۲. مدیریت تسک ها (کارها) رو هم داره
۳. ترکیب مدیریت زمان و کارها رو داره
۴. توی همه پلتفرم ها حضور داره
پس تا اینجا بهترین ابزار هست به نظرم من فقط مسئله اتصال بین چند دستگاه رو نداره (یا من پیداش نکردم)
به نظر شما چه نرم افزار کاربردی هست که جاش در لیست بالاخالیه؟ یا روش نصب رو چطوری میشه بهترش کرد؟