لینوکس دسکتاپ برای برنامه‌نویس‌ها: هرآنچه لازم است بدانیم

امروز 5 سال و 9 ماه و ۲۶ روز از آخرین باری که از ویندوز به عنوان سیستم عامل اصلیم استفاده کردم می‌گذره و طی این مدت همواره از توزیع‌های مختلف لینوکس با دسکتاپ‌های متفاوت به عنوان سیستم عامل لپ‌تاپم استفاده کردم. به عنوان یک برنامه‌نویس Backend که در برخی مواقع Frontend هم کار کردم همواره برای کارم از لینوکس اسفاده کردم و هرگز برای انجام هیچ کاری مشکل نداشتم. خیلی از دوستان و همکارانم رو لینوکسی کردم و حقیقتا دیگه نمی‌تونم با هیچ سیستم عاملی به جز لینوکس کار کنم. مشکلی که همواره بین بقیه کاربرها می‌بینم اینه که نمی‌دونند از کجا و به چه صورت باید از لینوکس برای کارهای روزانه شون استفاده کنند. برای همین تصمیم گرفتم توی این پست همه کارهایی که موقع نصب یک توزیع جدید انجام میدم تا محیط مناسب برای کارم رو آماده کنم رو توضیح بدم. باشد که چند نفر دیگه رو به راه راست هدایت کنم :) قبل از شروع لازمه که چند تا نکته رو بگم:توی این پست قرار نیست نحوه نصب سیستم عامل رو بگم و طبیعتا باید از قبل سیستم عامل تون رو خودتون انتخاب و نصب کرده باشیدتمام این مواردی که در ادامه میگم رو روی لپ‌تاپ خودم پس از خرید SSD جدید واسش انجام دادم. سیستم عاملی که من نصب کردم Linux mint 19.3 هست با دسکتاپ Cinnamon که می‌تونید از اینجا دانلود کنید:https://linuxmint.com/download.phpمن برنامه‌نویس هستم. تخصص اصلیم هم PHP و WordPress هست. اگر فیلد کاری شما با من متفاوت هست با دقت بیشتر موارد گفته شده رو انجام دهید.اگر شما گرافیست هستید و سر و کارتون با نرم افزارهای گرافیکی مثل محصولات Adobe هست لینوکس رو بهتون توصیه نمی‌کنم و بهتره از یک سیستم عامل دیگه استفاده کنید.وقتی از لینوکس استفاده می‌کنید داشتن اینترنت خوب و سریع به همراه فیلترشکن جزو نیازهای اصلی است. اگر این دو مورد رو در اختیار ندارید بهتره فعلا برای استفاده از لینوکس صبر کنیداقدامات اولیهبروزرسانیپیش از هر کاری لازم هست که اول سیستم عامل تون رو آپدیت کنید. برای این کار دو راه دارید. هم می‌تونید از کامند لاین استفاده کنید و هم از ابزار گرافیکی خود سیستم عامل که من شخصا برای این کار همیشه از آپدیت منیجر خود سیستم عامل استفاده می‌کنم. برای این کار از منوی اصلی سیستم عامل عبارت Update Manager رو تایپ کنید و سپس نرم افزارش رو باز کنید و آپدیت رو انجام دهید. تنظیمات کیبوردمهم‌ترین نیاز ما فارسی زبانان از یک سیستم عامل زبان فارسی است. خوشبختانه در دنیای اوپن سورس این مورد به سادگی حل شده و تمام توزیع‌های لینوکس با هر نوع دسکتاپی به سادگی از کیبورد فارسی پشتیبانی می‌کنند. روی لینوکس مینت برای تنظیم کردن کیبورد ابتدا توی منوی اصلی عبارت Keyboard رو سرچ می‌کنیم و برنامه Keyboard رو باز می‌کنیم:احتمالا ظاهر کلی چیزی که شما می‌بینید با تصویر بالا اندکی تفاوت داشته باشد که به علت شخصی سازی‌های ظاهری‌ای هست که من توی نسخه خودم ایجاد کردم. نگران نباشید چون تمام این موارد رو در ادامه همین پست به شما هم خواهم گفت :)همون طور که از تصویر بالا مشخص هست برنامه کیبورد لینوکس مینت تنظیمات متفاوتی داره اما ما الان با زبانه Layout کار داریم. داخل تنظیمات این بخش که بشید سمت چپ پایین یک دکمه پلاس + می‌بینید که با کلیک کردن روی این گزینه می‌تونید یک لایه جدید به کیبورد اضافه کنید. توی پنجره افزودن لایه جدید وقتی عبارت Persian رو سرچ کنید سه نوع کیبورد میاره که من همیشه از لایه Persian ساده استفاده می‌کنم.اگه شما هم مثل من به دکمه‌های Alt + Shift برای زبان کیبورد عادت دارید نیازه که کیبورد سیستم عامل رو برای این منظور تنظیم کنید. برای این کار در همان زبانه Layout از برنامه Keyboard از قسمت سمت راست پایین دکمه Options رو انتخاب کنید. توی پنجره جدید که باز شد گزینه Switch to another layout رو باز کنید و سپس گزینه Alt + Shift رو فعال کنید:انتخاب Alt + Shift برای تغییر زبان کیبورداما مهم ترین بخش این قسمت: اگر تا اینجا رو انجام داده باشد خواهید دید که عملکرد Alt + Shift چپ و راست یکسان نیست. یعنی با زدن دکمه‌های راست زبان کیبورد فارسی میشه اما برای برگشتن به انگلیسی باید از دکمه‌های سمت چپ استفاده کنید! این مشکل بزرگی هست که خیلی‌ها بهش بر می‌خورند اما راه حل ساده‌ای داره، کافیه در همون بخش Options برنامه Keyboard گزینه Key to choose the 3rd level رو باز کنید و گزینه Right Alt never chooses the 3rd level رو فعال کنید. با این کار عملکرد دکمه‌های Alt + Shift یکسان خواهد شد و برای تغییر زبان کیبورد دکمه‌های هر طرف رو بزنید زبان تغییر خواهد کرد.نصب برنامه‌های مورد نیازدر این بخش اکثر ابزارهایی که خودم برای کار بهشون نیاز دارم رو به همراه روش نصب شون توضیح خواهم داد. توجه داشته باشید که نصب برنامه روی توزیع‌های مختلف لینوکس متفاوت هست و آموزشی که در ادامه خواهید دید تنها بر روی نسخه ۱۹.۳ توزیع لینوکس مینت تست شده است. هرچند به احتمال قریب به یقین برای تمام توزیع های بر پایه Debian روش به همین شکل خواهد بود اما اگر از سیستم عاملی به جز سیستم عامل گفته شده استفاده می‌کنید بهتره روش نصب رو از گوگل بپرسید :) VLCبدون شک VLC محبوب‌ترین مدیاپلیر برای من هست که برای دیدن فیلم و پخش موزیک گزینه ایده‌آلی به شمار میرهsudo apt install vlcFilezillaفایل زیلا برای مدیریت FTP کاربرد داره و حداقل من رقیبی براش نمی‌شناسم.sudo apt install filezillaChromium browserکرومیوم در واقع پدربزرگ گوگل کروم هست که من معمولا در کنار کروم از کرومیوم هم استفاده می‌کنم.sudo apt install chromium-browserPIPبه صورت پیش فرض روی لینوکس مینت پایتون ۳ نصب هست اما پکیج منیجر پایتون رو نداره و با دستور زیر به سادگی نصب خواهد شد:sudo apt install python3-pipGITفکر نمی‌کنم هیچ برنامه نویسی در دنیا وجود داشته باشه که به گیت نیازی نداشته باشه :)sudo apt install gitGeditویرایشگر متن خود لینوکس مینت رو دوست ندارم و gedit رو به خاطر سادگی بیشترش ترجیح میدم. sudo apt install geditPoeditاگر وردپرس کار می‌کنید حتما به poedit برای ویرایش فایل‌های زبان پوسته‌ها و افزونه‌ها نیاز خواهید داشت:sudo apt install poeditClipitبرای مدیریت کلیپ بورد روی لینوکس نرم‌افزارهای مختلفی وجود داره اما من با clipit تجربه خوبی داشتم و همیشه از این برنامه استفاده می‌کنمsudo apt install clipit Google chromeبه نظر من همچنان گوگل کروم با اختلاف بهترین مرورگر دنیاست و به هر مرورگر دیگری برای من ارجحیت داره و خوشبختانه به سادگی هم قابل نصب بر روی لینوکس مینت است.برای نصب گوگل کروم روی لینوکس مینت کافیه به سایت اصلی کروم مراجعه کنید:https://www.google.com/chrome/دکمه دانلود رو بزنید و فایل مخصوص نصب برای سیستم عامل‌های Ubuntu/Debian رو دریافت کنید.فایل مذکور به پسوند .deb خواهد بود که پس از تکمیل دانلود و با باز کردنش می‌تونید دکمه Install رو بزنید تا با یک کلیک مرورگر کروم روی سیستم عامل تون نصب شود.Telegram desktopتلگرام علی‌رغم همه تلاش‌های دوستان مون در بالا دست! جزو جدایی ناپذیر زندگی آنلاین ما شده است. خوشبختانه نصب تلگرام بر روی لینوکس هم خیلی ساده است.برای نصب ابتدا لازم است که فایل نصبی تلگرام رو از لینک زیر دانلود کنیم:https://desktop.telegram.org/وارد این صفحه که بشیم یه دکمه آبی بزرگ وجود داره که کلیک روش یک فایل با فرمت tar.xz دانلود خواهد شد. پس از تکمیل دانلود فایل مذکور رو extract می‌کنیم که یک فولدر به ما میده به نام telegramبرای اینکه بتونیم از این فولدر استفاده کنیم لازم است که به مسیر /opt سیستم عامل منتقلش کنیم. برای این کار کافیه دستور زیر رو توی دایرکتوری‌ای که فولدر telegram مون وجود داره وارد کنیم:cp telegram /opt/telegram حالا کافیه یک بار به مسیر /opt/telegram بریم و روی فایل telegram دوبار کلیک کنیم تا تلگرام دسکتاپ روی سیسم عامل مون نصب و آماده استفاده شود.Phpstormبرای نصب phpstorm و بقیه نرم‌افزارهای jetbrains بهتره که از toolbox خود jetbrains استفاده کنیم. برای نصب این toolbox کافیه به آدرس زیر بریم و فایل شو دانلود کنیم:https://www.jetbrains.com/toolbox-app/این فایل هم یک فایل با پسوند tar.gz خواهد بود. که پس از extract یک فایل به ما خواهد داد به نام jetbrains-toolbox که هیچ پسوندی هم نداره و برای اجرا کافیه که این فایل رو یک بار اجرا کنیم. پس از این کار toolbox روی سیستم عامل نصب خواهد شد که از طریق این برنامه می‌تونیم همه نرم‌افزارهای jetbrains رو به سادگی نصب و استفاده کنیم.Sublime mergeاگه مثل من شما هم نرم‌افزارهای گرافیکی رو برای کار با گیت به کامند لاین ترجیح می‌دید Sublime merge گزینه خیلی خوبی برای این کار هست. برای نصبش کافیه به آدرس زیر وارد بشید:https://www.sublimemerge.com/downloadفایل .deb رو دانلود کنید. و مثل نصب گوگل کروم اقدام به نصب کنید. Sublime Textیکی از محبوب‌ترین ادیتورها برای من سابلایم تکست هست. بسیار سبکه و برای کارهای موقتی عالیه برای نصب این یکی هم کافیه وارد لینک زیر بشید، فایل deb رو دانلود کنید و مثل دو مورد قبل نصبش کنید:https://www.sublimetext.com/3Insomniaاین برنامه یک rest client هست. چیزی شبیه به postman اما خیلی سبک تر و با محیط جذاب تر برای نصبش از روشی که خودش گفته استفاده می‌کنیم:https://support.insomnia.rest/article/23-installationPersepolisdmیکی از مشکلاتی که اکثر کاربران لینوکس باهاش درگیر هستند دانلود منیجر خوبه، طی این سال‌ها برنامه‌های مختلفی رو تست کردم اما بدون شک بهترین گزینه‌ای که پیدا کردم دانلود منیجر ایرانی پرسپولیس هست :) برای نصبش کافیه از کامند‌های زیر استفاده کنیم:sudo add-apt-repository ppa:persepolis/ppa sudo apt update sudo apt install persepolisسایت شونو هم دوست داشتید نگاه کنید https://persepolisdm.github.io/Dockerبرای نصب داکر چند مرحله رو باید طی کنیم:نصب Dependencyهاsudo apt-get -y install apt-transport-https ca-certificates curl software-properties-commonافزودن کلید GPG رسمی داکر curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -افزودن مخزن داکر به سیستم عاملsudo add-apt-repository &quotdeb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo &quot$UBUNTU_CODENAME&quot) stable&quotبروزرسانی پکیج‌های aptsudo apt-get updateنصب داکر و داکر کامپوزsudo apt-get -y install docker-ce docker-composeافزودن یوزرمون به گروه داکر sudo usermod -aG docker $USERاگر هنگام استفاده به خطای Got permission denied while trying to connect to the Docker daemon socket برخورد کردید دستور زیر رو بزنیدsudo chmod 666 /var/run/docker.sockاین روش نصب رو از لینک زیر گرفتم و برای من کار کرد و باهاش مشکلی ندارم:https://computingforgeeks.com/install-docker-and-docker-compose-on-linux-mint-19/LAMP: Linux, Apache, MySQL, PHPبرای راه اندازی لوکال هاست توی ویندوز از xampp یا wamp استفاده می‌شه اما روی لینوکس می‌تونیم مستقیم نرم‌افزارهای مورد نیاز رو نصب کنیم.برای نصب هر قسمت کافیه دستوراتی که گفتم رو توی ترمینال بزنیم تا به راحتی نصب بشهنصب PHPsudo apt install phpنصب Apachesudo apt install apache2نصب MariaDbsudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.utexas.edu/mariadb/repo/10.3/ubuntu bionic main'sudo apt updatesudo apt install mariadb-serversudo mysql_secure_installationsudo mysql -u root -pUSE mysql;UPDATE user SET plugin='mysql_native_password' WHERE User='root';FLUSH PRIVILEGES;exit;sudo service mysql restartنصب phpmyadminsudo apt install phpmyadmin php-mbstring php-gettextNodejs, npm & yarnنصب nodejs روی لینوکس بر اساس توزیع‌های مختلف روش‌های مختلفی داره و حتما توصیه میکنم اگر از هر توزیعی به جز لینوکس مینت ۱۹.۳ استفاده می‌کنید حتما در مورد روش نصب روی سیستم عامل خودتون گوگل کنیدcurl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt-get install -y nodejssudo apt-get install -y yarnZSH and oh my zshیکی از معروف‌ترین شل های لینوکس zsh هست که معمولا با oh my zsh که یک فریم‌ورک برای مدیریت تنظیمات zsh هست استفاده میشه:sudo apt install zshwget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zshchsh -s $(which zsh)شخصی سازیهمون طور که از عنوان این بخش مشخص هست مواردی که در ادامه میگم مربوط به شخصی سازی و زیباسازی دسکتاپ مون هست و کاملا بستگی به سلیقه خودتون داره که این بخش‌ها رو انجام بدید یا نه اما اگر می‌خواهید در نهایت ظاهر سیستم عامل‌تون چیزی شبیه به عکس زیر بشه پس با من ادامه بدید :) پوسته Arcبرای لینوکس مینت پوسته‌های خیلی زیادی وجود داره که arc جزو معروف‌ترین و زیباترین این پوسته‌ها به حساب میاد. با وارد کردن دستور بالا این پوسته روی سیستم عامل تون نصب خواهد شد:sudo apt install arc-themeپس از نصب از منوی اصلی سیستم عامل برنامه Themes رو باز کنید و پوسته Arc که به بخش‌های مختلف اضافه شده رو به عنوان پوسته فعال انتخاب کنید.آیکن‌های Arc و Mokaمن از این دو تا آیکن ست به صورت ترکیبی استفاده می‌کنم. اول فایل deb مربوط به Moka رو از اینجا دانلود و نصب می‌کنیم:https://snwh.org/moka/downloadسپس با استفاده از دستورات زیر Arc icon theme رو نصب می‌کنیم:git clone https://github.com/horst3180/arc-icon-theme --depth 1cd arc-icon-themesudo apt-get Install dh-autoreconf./autogen.sh --prefix=/usrsudo make install تصویر زیر تنظیماتی هست که من استفاده می‌کنم:مورد دیگه‌ای به ذهنم نمیرسه که نیاز داشته باشیم. با این حال احتمال آپدیت شدن این پست وجود داره و ممکنه در آینده مواردی رو بهش اضافه کنم. اگر فکر می‌کنید موردی رو فراموش کردم و بهتره به لیست اضافه بشه خوشحال میشم توی دیدگاه‌ها مطرحش کنید. اگر سوالی داشتید هم توی دیدگاه بپرسید اگر بتونم جواب خواهم داد.