LinAcademy – Telegram
LinAcademy
630 subscribers
346 photos
26 videos
9 files
278 links
LinAcademy Team

Contact us : @Pakrohk

Support : https://daramet.com/pakrohk
Download Telegram
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با حسن

دسته‌بندی: #آموزشی #کاربردی

بحث راجب این بود که چرا فایلی رو داریم انتقال میدیم یا کار های دیگه انجام میدیم باهاش توی لینوکس روی 100% زمان بیشتری طول میکشه یا گیر میکنه.

توضیح اتفاقی که میفته به صورت کامل :

اتفاقی که میفته از این قرار هست که هسته لینوکس فایلی که قراره کپی بشه با سرعت بالایی توی بافر حافظه اصلی (RAM) کپی میکنه و سرعت بسیار بالایی داره .

این وسط مدیر فایل وقتی هسته، فایل رو به بافر منتقل کرد فکر میکنه که واقعا فایل توی مقصد کپی شده (ولی در اصل فایل توی بافر (RAM) کپی شده و فایل منیجر سعی میکنه کپی کردن رو کنسل کنه !!! ولی هسته داره فایل رو از بافر به هارد یا یو اس بی کپی میکنه و فایل منیجر چاره ای نداره جز اینکه هنگ کنه و منتظر سیگنال هسته باشه و دقیقا بعد از اینکه هسته لینوکس کپی کردن رو تموم میکنه فایل منیجر هم تموم پنجره رو میبنده .

اتفاقی که میفته این هست که پیشروی کپی کردن رو به صورت ریل تایم نمیبینی ...!!!

راه حل هم داره .

راه حل این مشکل :

راه حل این هست که فضای بافر برای این عملیات رو محدود کرد به یک رقم خاص که هسته بعد از پر شدن این فضا دیتا رو روی مقصد رایت کنه

این فایل رو باید توی این مسیر ایجاد کرد :
etc/sysctl.d/90-dirty.conf

و داخل این فایل این کامند رو گذاشت:
vm.dirty_background_bytes=16777216 vm.dirty_bytes=50331648

خب حالا این کامند چیه؟

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


حتما بعد از کانفینگ یک بار ریستارت کنید سیستم رو

🔅@LinFAQ
🔅@LinAcademy
❤‍🔥31
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با رضا

دسته‌بندی: #آموزشی #کاربردی #sshpass

نمی‌دونم شده براتون پیش بیاد موقع ssh زدن ، خسته بشید از رمز زدن
یا رمز رو بخواهید داخل فایل بزارید اون فایل رو بخواهید استفاده کنید
یا یه متغیر تعریف کنید رمز اونجا بزارید
(دیگر نگران نباشید :)

خب برای همه اینکارا یه ابزار هست
به اسم sshpass میتونید از مخازن بگیرید اکثر مخازن های رسمی هم دارنش

حالا چجوری کار می‌کنه
یکسری فلگ داره
مثل
-f filename  
-d number 
-p password
-e  Password is passed as env-var "SSHPASS"
-h  Show help
-V  print version

حالا خب چندتاشون مثال میزنم
sshpass -p 'پسورد سرور' ssh root@example
روش فایل
sshpass -f password_file ssh root@example
و خب البته میتونید به کمک ابزار های دیگه مثل scp رو ... هم استفاده کنید
یا alias براش بزارین

اینم یه سری لینک مفید
man sshpass
توضیح با مثال flag ها
اینم یه cheat sheet خوب
امیدوارم مفید باشه ابزار دیگه ای می‌شناسید معرفی کنید

🔅@LinFAQ
🔅@LinAcademy
👍1👎1
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #آموزشی #کاربردی #latex #rubber

راجب rubber برای کامپایل latex:

مقدمه: اگه از latex/xelatex برای کامپایل استفاده کنید، نیاز به چند سری کامپایل برای گرفتن خروجی درست هست وگرنه داخل pdf تولید شده، فهرست یا... درست نمایش داده نمیشن.
سرچ زدم و ظاهرا یه راه حل ساده داره: rubber
داخل مخازن رسمی آرچ بیسا هستش، بقیه توزیع ها رو نمیدونم.

برای کامپایل هم خیلی ساده از دستور زیر استفاده میکنید:
rubber -m xelatex <file>
"اسم file رو باید بدون پسوند tex بنویسید"


بخش وسطش هم برای اینه که اگه متنتون فارسی باشه اصولا با xelatex برای کامپایل سر و کار دارید و این میگه که از xelatex استفاده بشه.
مثال:
rubber -m xelatex myfile

جهت اطلاعات بیشتر میتونید من پیجش رو بخونید.

منبعی که منو با rubber آشنا کرد این stackoverflow بود.

در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.

🔅@LinFAQ
🔅@LinAcademy
👍3
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با A.R.S

دسته‌بندی: #کاربردی #آموزشی #make

کسایی که پکیجینگ برای توزیع های مختلف لینوکسی انحام میدن. این حتما بدردتون میخوره. تا حالا خواستید که
make install

رو روی یه مقصد خاصی جز روت بزنید و این همه دنبال makefile یا استراکچر مسیر بیلد نگردید.

این کارتون رو خیلی آسون میکنه
کافیه که فلگ DESDIR رو ست کنید روی مسیری که میخواید نصب بشه و جای مسیر روت توزیعتون میاد اون مسیر رو روت فرض میکنه و طبق اون فولدر ها و فایل هارو میسازه یا کپی میکنه.
make DESTDIR=/path/to/dir install
خیلی این کار پکیجینگ رو ساده میکنه.

Source

🔅@LinFAQ
🔅@LinAcademy
👍4
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #آموزشی #کاربردی #eshell #emacs

باز کردن ابزار های tui داخل eshell:

اگه ابزار tui رو از طریق eshell باز کنید، به صورت پیش فرض فقط نمایش درست کار میکنه و کلید ها پاسخ نمیدن، اما با دستور زیر میشه ردیفش کرد:
(setq eshell-visual-commands'("bash" "crawl" "htop" "ssh" "top"))
البته صرفا یه راه حل... رو مخ! اجباری! هست چون کیفیت خیلی خوبی ارائه نمیده و اگه کلیدی با ایمکس مشترک باشه، به جای ابزار، ایمکس کلید رو میخونه
(مثل f10 برای htop).


منابع:
1- https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org

2- https://www.emacswiki.org/emacs/EshellVisualCommands

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #emacs

نمایش تصاویر داخل ایمکس:
خیلی ساده و با find-file، همونطور که فایل های عادی رو باز میکنید، به صورت پیش فرض میشه تصاویر رو هم باز کرد (((((=

Source


"خب من برم nsxiv رو حذف کنم که دیگه نیازی بهش ندارم"

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #آموزشی #کاربردی #emacs

باز کردن فایل با کمک dired:
کافیه وقتی داخل dired هستید، نشانگر رو روی فایلی که میخواید باز کنید ببرید، بعد ! رو بزنید، در انتها اسم ابزار
(مثل mpv برای فایل ویدئویی)

رو وارد کنید و فایل مورد نظر از داخل اون ابزار باز میشه.

Source

"خب دیگه فایل منیجر هم ردیف شد"

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #emacs #eshell

راجب دستور man داخل eshell:

اگه
which man
رو داخل eshell بزنید با این نتیجه مواجه میشید... ((((=
یعنی man هم به lisp بازنویسی شده و میتونید راحت manpage ها رو از داخل eshell باز کنید و پیش فرض هایلایت ردیف هست و...
"امیدوارم درست بیان کرده باشم، سطح هوشیاریم پایینه"

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #emacs #eshell

راجب دستور diff داخل eshell:

قضیه مشابه نکته قبلی هست، فقط اینم یکم خفن تر شده و علاوه بر هایلایت، اگه روی تغییرات اینتر بزنید فایل رو باز میکنه.

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #Emacs #eshell

داشتم پیام های گروه میخوندم دیدم دارن از ربات (GPT) سوال میپرسن بعد دیدم جالبه دلاتو هم فرستاد برام دیگه به عنوان نکته گذاشتم

در Emacs ، می‌توانید از قابلیت ‍‍‍eshell برای پنهان کردن modeline استفاده کنید. برای این کار می‌توانید دستور زیر را به init.el یا فایل تنظیمات خود در Emacs اضافه کنید:


(add-hook 'eshell-mode-hook (lambda () (setq mode-line-format nil)))


با اضافه کردن این قطعه کد، modeline در eshell مخفی خواهد شد. اگر می‌خواهید بار دیگر نمایش داده شود، می‌توانید این تغییرات را بازنشانی کنید.

🔅@LinFAQ
🔅@LinAcademy
👍2
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #emacs #melpa

اضافه کردن melpa
(Milkypostman’s Emacs Lisp Package Archive)

و بروز کردن مخازن داخل ایمکس:
از کد زیر استفاده میکنید
(داخل init.el قرارش میدید):

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless package-archive-contents
  (package-refresh-contents))

اگه اون لاین unless package-archive-contents نباشه هر سری موقع لود ایمکس مخازن رو رفرش میکنه و زمان لود شدیدا بالا میره.

Source

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinMemes (Pakrohk)
نام : این یک دوراهی سرنوشت سازه.

دسته بندی : #ImageMeme

🔅@LinMemes
🔅@LinAcademy
😁5
Forwarded from LinNews (Pakrohk)
گناه جوان ایرانی چیست؟ چرا جوابی وجود ندارد؟!

دسته بندی : #سخنرانی

🔅@LinNews
🔅@LinAcademy
4👍1
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #emacs #lsp

ردیف کردن lsp داخل emacs
language server protocol

کافیه دستور زیر رو به کانفیگتون اضافه کنید
(نمونه برای python هست، اسم مد رو بسته به زبان/ زبان ها عوض کنید):

(use-package eglot
  :ensure nil
  :hook
  (python-mode . eglot-ensure))
طبیعتا باید lsp برای اون زبان نصب باشه
(مثلا pyright رو از مخازن رسمی آرچ گرفتم).

اگه lsp رو تشخیص نداد باید دستی بهش مسیر بدید.

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinMemes (Pakrohk)
This media is not supported in your browser
VIEW IN TELEGRAM
نام : وقتی ادمین اجازه نمیده فحش بدی و فقط مجبوری کارت رو بکنی.

دسته بندی : #VideoMeme


🔅@LinMemes
🔅@LinAcademy
🤣6
نایت کوین دیگه، اینم لینک لین آکادمیش

https://news.1rj.ru/str/notcoin_bot?start=rp_1988721

🔅@LinAcademy
👎2🤣1
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #کاربردی #آموزشی #eshell #emacs #alias

نحوه اضافه کردن alias به eshell ایمکس:
کافیه داخل eshell بنویسید:
eshell (emacs shell)

alias command1 'command2'
که هر دفعه command1 رو بزنید command2 اجرا میشه.
خودش alias رو به فایل alias داخل مسیر زیر اضافه میکنه:
~/.emacs.d/eshell/
البته دقت کنید که باید آرگومان ها رو دقیق معلوم کنید، مثال برای باز کردن فایل:
alias vim 'find-file $1'
وگرنه آرگومان رو قبول نمیکنه
(تو اینجا اسم فایل هدف رو).


Source

🔅@LinFAQ
🔅@LinAcademy
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #آموزشی #کاربردی
#emacs #corfu

اضافه کردن auto completion به ایمکس:

کافیه پکیج corfu رو نصب کنید،  مراحل کامل کانفیگ و نصب اینجا گفته شده و چون یکم دستورات طولانی هستن اینجا تایپ نمیکنم که شلوغ نشه... و خب همش کپی پیسته.
راجب اون popup menu ای که داره توضیحات نشون میده، برای فعال کردنش
(corfu-popupinfo-mode)

رو به بخش init ااون use-package اضافه کنید، اگه موفق نشیدید یا سوالی داشتید راحت باشید و بپرسید.

🔅@LinFAQ
🔅@LinAcademy
👍1
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو

دسته‌بندی: #emacs #debug #آموزشی #کاربردی

برای دیباگ کردن کد پایتون داخل ایمکس با pdb
(بدون نیاز به پکیج اضافه یا...):

اول alt x (در واقع M-x) رو میزنید.
بعد pdb رو تایپ میکنید و اینتر میزنید.
بعد دستور رو
(خودش python -m pdb رو اول داره، اسم فایل رو به انتهاش اضافه کنید)

وارد میکنید، مثال:
python -m pdb test.py
الان وارد دیباگر شدید، بقیه مراحل مشابه این ویدئو پیش میره:
Command-Line Python Debugging with pdb

دقت کنید محتوای ویدئو داخل هر جایی قابل انجامه و به ادیتور/ ide وابسته نیست.

🔅@LinFAQ
🔅@LinAcademy