#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs
راجب دووم آوردن داخل ایمکس تو روز اول، پارت دوم:
گام بعدی و واجب برای بقا در این محیط خشن، رسیدن به آتش برای تامین غ... منظورم اینه کی بایند هاست، خب لیست از کی بایند هایی که نیازم شد رو سعی میکنم این وسط جا بدم
رفتن به ابتدای لاین:
رفتن به انتهای لاین:
مشابه visual mode برای انتخاب:
کات کردن:
کپی کردن:
پیست کردن:
جا به جایی مشابه hjkl داخل متن:
جا به جایی به یک کلمه بعد یا قبل:
سرچ از مکان فعلی کرسر تا انتهای فایل:
سرچ از مکان فعلی کرسر تا ابتدای فایل:
مشابه command mode داخل ویم:
برای help موارد مختلف:
سیو کردن:
خروج:
برای سوییچ بین بافر ها
بستن بافر:
ایجاد split:
برای سوییچ بین split ها:
بستن سایر split ها:
بستن split فعلی:
برای undo و redo کردن:
(برای redo باید undo رو undo کنید P:)
برای تغییر زوم، اول
برای حذف کاراکتر:
برای حذف کلمه:
برای حذف از مکان فعلی کرسر تا انتهای لاین:
برای رفتن به ابتدا و انتهای فایل:
فکر کنم این کی بایند ها برای دووم آوردن داخل ایمکس برای روز اول کافی باشن.
اضافه کنم: اگه درست یادم باشه
میشه با C-u و بعد عدد کی بایند ها رو تکرار کرد، مثلا:
3 کلمه کرسر رو به جلو حرکت میده.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs
راجب دووم آوردن داخل ایمکس تو روز اول، پارت دوم:
گام بعدی و واجب برای بقا در این محیط خشن، رسیدن به آتش برای تامین غ... منظورم اینه کی بایند هاست، خب لیست از کی بایند هایی که نیازم شد رو سعی میکنم این وسط جا بدم
(M منظور alt و C منظور ctrl هست، پس C-a
مثلا یعنی ctrl a):
رفتن به ابتدای لاین:
C-a
رفتن به انتهای لاین:
C-e
مشابه visual mode برای انتخاب:
C-SPC
(منظور از SPC همون space هست).
کات کردن:
C-w
کپی کردن:
C-W
پیست کردن:
C-y
جا به جایی مشابه hjkl داخل متن:
C-b
, C-n
, C-p
, C-f
جا به جایی به یک کلمه بعد یا قبل:
M-b
, M-f
سرچ از مکان فعلی کرسر تا انتهای فایل:
C-s
سرچ از مکان فعلی کرسر تا ابتدای فایل:
C-r
مشابه command mode داخل ویم:
M-x
برای help موارد مختلف:
C-h
سیو کردن:
C-x C-s
خروج:
C-x C-c
برای سوییچ بین بافر ها
(همون eshell ای که اول باز کردید یکیشونه):
C-x b
بستن بافر:
C-x k
ایجاد split:
C-x 2
, C-x 3
برای سوییچ بین split ها:
C-x o
بستن سایر split ها:
C-x 1
بستن split فعلی:
C-x 0
برای undo و redo کردن:
C-x u
(برای redo باید undo رو undo کنید P:)
برای تغییر زوم، اول
C-x
میزنید، بعد با موارد زیر زوم رو کم و زیاد میکنید:C-=
, C--
برای حذف کاراکتر:
C-d
برای حذف کلمه:
M-d
برای حذف از مکان فعلی کرسر تا انتهای لاین:
C-k
برای رفتن به ابتدا و انتهای فایل:
M->
, M-<
فکر کنم این کی بایند ها برای دووم آوردن داخل ایمکس برای روز اول کافی باشن.
اضافه کنم: اگه درست یادم باشه
(تست نکردم)
میشه با C-u و بعد عدد کی بایند ها رو تکرار کرد، مثلا:
C-u 3 M-f
3 کلمه کرسر رو به جلو حرکت میده.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
👍3❤1
#روزی_یک_نکته این قسمت با خودم (رضا)
دستهبندی: #کاربردی #آموزشی #wayland
میخواستم یه اسکرین شات بگیرم ولی از اونجایی که لپتاپ به مانیتور وصل بود از جفت صفحه ها اسکرین شات میگرفت
و چون از sway wm استفاده میکنم
و تنها ابزاری که میشناختم اسکرین شات بگیره grim بود
رفتم دنبالش ببینم باید چیکار کنم تا با موس قسمتی که select میکنم اسکرین شات بگیره
که با Slurp آشنا شدم احتمالا خیلی هاتون میدونید چیه و یا کار هم کردید باهاش ولی ،
یه سری آپشن ها داره که منطقه ای که select میکنی رو مختصات اون مکان رو میگه و یا به عنوان color picker هم میتونید استفاده کنید و خیلی کارهای دیگه
و خب معلومه باید این ابزار رو داخل grim استفاده کنیم
برای مثال
مثلا کامند زیر از مانیتور فوکوس شده میگیره
image magick
کار
Color picker
انجام میدیم
Source
نکته: jq رو یادتون نره نصب کنید
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #wayland
میخواستم یه اسکرین شات بگیرم ولی از اونجایی که لپتاپ به مانیتور وصل بود از جفت صفحه ها اسکرین شات میگرفت
و چون از sway wm استفاده میکنم
(ویلند عه)
و تنها ابزاری که میشناختم اسکرین شات بگیره grim بود
رفتم دنبالش ببینم باید چیکار کنم تا با موس قسمتی که select میکنم اسکرین شات بگیره
که با Slurp آشنا شدم احتمالا خیلی هاتون میدونید چیه و یا کار هم کردید باهاش ولی ،
یه سری آپشن ها داره که منطقه ای که select میکنی رو مختصات اون مکان رو میگه و یا به عنوان color picker هم میتونید استفاده کنید و خیلی کارهای دیگه
و خب معلومه باید این ابزار رو داخل grim استفاده کنیم
برای مثال
grim -g "$(slurp)"و خب میتونیم بیشتر دسترسی کاستوم کردن تو فایل نهایی عکس داشته باشیم
مثلا کامند زیر از مانیتور فوکوس شده میگیره
(همونی که الان آیکون موس روشه و پنجره ها فعال)
grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')یا مثال دیگه با این کامند با استفاده از
image magick
کار
Color picker
انجام میدیم
grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:-
Source
نکته: jq رو یادتون نره نصب کنید
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی
راجب وارد کردن محتوای چند فایل به stdin:
بعضی مواقع یه اسکریپت یا دستوری دارید (مثل دستور
اولین چیزی که به ذهن میرسه اینه که شخص کل اون فایل ها رو پشت هم لیست کنه، اما جواب نمیده و فقط یکیشون رو به عنوان ورودی ارائه میکنه (فکر کنم مورد آخر؟). راه حلش هم ساده هست، مثال:
با خطای "no such file or directory" مواجه میشید
در نهایت تاکید کنم اون cat ابتدای 3 دستور بالا صرفا جهت بررسی صحت مقدار stdin از طریق پرینتش هست و طبیعتا باید با دستور یا اسکریپت مد نظرتون جایگزین بشه.
منابع بیشتر:
https://stackoverflow.com/questions/33157198/multiple-input-text-files-as-stdin-under-unix
https://unix.stackexchange.com/questions/20285/shorthand-for-feeding-contents-of-multiple-files-to-the-stdin-of-a-script
https://stackoverflow.com/questions/1487319/submitting-multiple-files-from-shell-script-through-standard-input
https://stackoverflow.com/questions/44552188/redirect-multiple-files-to-stdin
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی
راجب وارد کردن محتوای چند فایل به stdin:
بعضی مواقع یه اسکریپت یا دستوری دارید (مثل دستور
sudo pacman -Syu --needed - < packages.txtکه داخل یکی از نکات قبلی بیان شد) و نیازه که به جای یه فایل، چند فایل رو به عنوان ورودی بهش بدید
(تو همین مورد بالا به عنوان مثال بخواید لیست پکیج هاتون رو داخل فایل های مختلف قرار بدید و دسته بندی کنید).
اولین چیزی که به ذهن میرسه اینه که شخص کل اون فایل ها رو پشت هم لیست کنه، اما جواب نمیده و فقط یکیشون رو به عنوان ورودی ارائه میکنه (فکر کنم مورد آخر؟). راه حلش هم ساده هست، مثال:
cat < <(cat file.txt file2.txt)که دستور بالا محتوای هر 2 فایل رو نمایش میده، اما اگه تست کنید
cat < file.txt file2.txtفقط محتوای فایل دوم نمایش داده میشه و اگه از
cat < cat file.txt file2.txtاستفاده کنید احتمالا
(اگه فایلی به اسم cat تو اون مسیر نداشته باشید P:)
با خطای "no such file or directory" مواجه میشید
(پس بین این 3 مورد فقط مورد اول درست جواب میده).
در نهایت تاکید کنم اون cat ابتدای 3 دستور بالا صرفا جهت بررسی صحت مقدار stdin از طریق پرینتش هست و طبیعتا باید با دستور یا اسکریپت مد نظرتون جایگزین بشه.
منابع بیشتر:
https://stackoverflow.com/questions/33157198/multiple-input-text-files-as-stdin-under-unix
https://unix.stackexchange.com/questions/20285/shorthand-for-feeding-contents-of-multiple-files-to-the-stdin-of-a-script
https://stackoverflow.com/questions/1487319/submitting-multiple-files-from-shell-script-through-standard-input
https://stackoverflow.com/questions/44552188/redirect-multiple-files-to-stdin
🔅@LinFAQ
🔅@LinAcademy
Stack Overflow
Multiple input text files as stdin under unix
new to Linux and C so probably a simple task..but
As per the title,
How, via the command line, do you redirect 2 distinct files as input, so that when the program is done with the ...
As per the title,
How, via the command line, do you redirect 2 distinct files as input, so that when the program is done with the ...
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs
یه سری منابع برای mu4e
راستی یه کپی از emacswiki راجب mu4e برم:
- قبلا یه ویدئو distrotube راجبش داده:
https://youtu.be/LKp3hQP2VxQ
کم و بیش درسته، فقط اون mbsync-git رو تا جایی که میدونم نیاز نیست نصب کنید، isync داخل مخازن رسمی هست.
اگه میخواید راجب isync بیشتر مطالعه کنید
https://wiki.archlinux.org/title/isync
منابع بیشتر راجب mu4e:
https://www.emacswiki.org/emacs/mu4e
اسکرین شات ها و منبع رسمی:
https://www.djcbsoftware.nl/code/mu/mu4e.html
میتونید کانفیگ gavin رو هم راجبش چک کنید:
https://github.com/Gavinok/emacs.d/blob/main/lisp/mu4e-config.el
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs
یه سری منابع برای mu4e
(هنوز سراغش نرفتم، صرفا تحقیقه):
راستی یه کپی از emacswiki راجب mu4e برم:
mu4e is an email client for Emacs. It’s based on the mu email indexer/searcher.
- قبلا یه ویدئو distrotube راجبش داده:
Setting Up The Mu4e Email Client In Doom Emacs
https://youtu.be/LKp3hQP2VxQ
کم و بیش درسته، فقط اون mbsync-git رو تا جایی که میدونم نیاز نیست نصب کنید، isync داخل مخازن رسمی هست.
اگه میخواید راجب isync بیشتر مطالعه کنید
(به صورت کلی چیز جالبیه، بنظرم به چک کردنش میرزه):
https://wiki.archlinux.org/title/isync
منابع بیشتر راجب mu4e:
https://www.emacswiki.org/emacs/mu4e
اسکرین شات ها و منبع رسمی:
https://www.djcbsoftware.nl/code/mu/mu4e.html
میتونید کانفیگ gavin رو هم راجبش چک کنید:
https://github.com/Gavinok/emacs.d/blob/main/lisp/mu4e-config.el
🔅@LinFAQ
🔅@LinAcademy
YouTube
Setting Up The Mu4e Email Client In Doom Emacs
Do you use Emacs? Do you also use a desktop email client like Thunderbird or Geary? There is no need to run those desktop email clients when Emacs has a great email client available. That email client is called mu4e.
NOTE:
When I did the git clone of…
NOTE:
When I did the git clone of…
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs
راجب hook و فعال کردن لاین نامبر در مد های مورد نیاز داخل ایمکس:
وقتی میخوان یه فانکشن بعد از یه رویدادی
اجرا بشه، از hook استفاده میکنن
یه نمونه هم ازش بخوام بگم این هست:
که در واقع داره میگه اگه major mode بافر جزو prog-mode بود، بیاد لاین نامبر رو هم فعال کنه.
حالا کد زیر رو داریم:
تو اینجا داریم از use-package استفاده میکنیم، برای همین اسم پکیجی که فانکشن display-line-numbers-mode شامل میشه رو به کار میبریم، بعد بهش میگیم که تو کدوم پکیج ها قراره لاین نامبر نمایش داده بشه، اینطوری ۲ سود داره:
1- به جای اسم فانکشن ها، اسم پکیج ها رو به کار میبریم که عموما کوتاه تره.
2- همونطور که میبینید میتونم با یه بار نوشتن hook، داخل هر چند مدی که میخوام لاین نامبر رو نمایش بدم. مثلا اینجا علاوه بر prog-mode، داخل فایل هایی که org هستن هم لاین نامبر نمایش داده میشه.
اگه توی نکته ایرادی بود پیشاپیش عذر میخوام، به دلیل آشنایی کمم با ایمکس هست چون کلا یه هفته هست که دارم ازش استفاده میکنم و تو این یه هفته هم شاید بیشتر از ۱۰ ساعت ازش استفاده نکردم، ضمنا خوشحال میشم اگه خواستید ایراد رو اصلاح و بیان کنید.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs
راجب hook و فعال کردن لاین نامبر در مد های مورد نیاز داخل ایمکس:
وقتی میخوان یه فانکشن بعد از یه رویدادی
(مثل اجرای یه فانکشن دیگه یا مد خاصی یا...)
اجرا بشه، از hook استفاده میکنن
(یا حداقل برداشت من از hook اینطوری بوده).
یه نمونه هم ازش بخوام بگم این هست:
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
که در واقع داره میگه اگه major mode بافر جزو prog-mode بود، بیاد لاین نامبر رو هم فعال کنه.
اینطوری داخل چیز هایی مثل dired که مدیر فایل هست یا کلا هر جایی که کد نیست، لاین نامبر رو هم نمیبینیم.
کلا major mode هایی که زبان برنامه نویسی هستن توی این دسته قرار میگیرن (در کل مفهوم major mode مشابه file type داخل (نئو)ویم هست).
حالا کد زیر رو داریم:
(use-package display-line-numbers
:hook org-mode prog-mode
)
تو اینجا داریم از use-package استفاده میکنیم، برای همین اسم پکیجی که فانکشن display-line-numbers-mode شامل میشه رو به کار میبریم، بعد بهش میگیم که تو کدوم پکیج ها قراره لاین نامبر نمایش داده بشه، اینطوری ۲ سود داره:
1- به جای اسم فانکشن ها، اسم پکیج ها رو به کار میبریم که عموما کوتاه تره.
2- همونطور که میبینید میتونم با یه بار نوشتن hook، داخل هر چند مدی که میخوام لاین نامبر رو نمایش بدم. مثلا اینجا علاوه بر prog-mode، داخل فایل هایی که org هستن هم لاین نامبر نمایش داده میشه.
راجب use-package بخوام مختصر بگم، برای کانفیگ ساده تر ازش استفاده میشه و پیش فرض توی نسخه های جدید ایمکس نصب هست.
جهت فهمیدن این که function یا variable مربوط به کدوم پکیج هست میتونید کی بایند C-h f یا C-h v رو بسته به function یا variable بودن بزنید و بعد اسمش رو وارد کنید، همون چند خط اول نوشته که برای کدوم پکیج هست، میتونید از طریق پسوند el تشخیص بدید.
اگه توی نکته ایرادی بود پیشاپیش عذر میخوام، به دلیل آشنایی کمم با ایمکس هست چون کلا یه هفته هست که دارم ازش استفاده میکنم و تو این یه هفته هم شاید بیشتر از ۱۰ ساعت ازش استفاده نکردم، ضمنا خوشحال میشم اگه خواستید ایراد رو اصلاح و بیان کنید.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
www.gnu.org
Hooks (GNU Emacs Manual)
Next: Local Variables, Previous: Examining and Setting Variables, Up: Variables [Contents][Index]
❤1
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #makefile
راجب make:
احتمالا تا حالا Makefile رو دیده باشید
تعریفم شاید دقیق نباشه، اما سعی میکنم واضح بیانش کنم: make یه ابزار هست که محتوای Makefile رو میخونه و بر اساس آرگومانی که بهش میدیم، میاد یه کاری رو انجام میده.
طوری که بهش نگاه میکنم: یه جورایی Makefile انگار یه فایل با یه سری switch case هست که وجود یا بروز بودن یه فایل یا یه case دیگه رو نگاه میکنه و بر اساس اون آرگومانی که بهش میدید، یه سری دستوراتی رو انجام میده.
کاربرد اصلیش بیلد کردن پکیج ها و کامپایل، اکسپورت کردن و... هست
و خاصیتش اتومات کردن کار، سادگی تایپ، سرعت بالا تر
و عدم تکرار اسم فایل ها و... هست.
نمونه کار های خلاقانه دیگه ای که براش دیدم میشه از مدیریت کانفیگ ها گفت:
How To Manage Your Dotfiles With Make
خودم خیلی باهاش کار نکردم، پس هم در حد پایه گفتم و هم خیلی اعتبار این نکته بالا نیست، اما قابل بیان دونستمش، اگه توضیح کامل میخواید منبع رسمی شاید بهترین گزینه باشه.
داخل یوتیوب هم آموزش راجبش زیاد هست، 2 تا آموزش کوتاه و یه نکته ای که نسبتا باید حواستون بهش باشه رو اضافه میکنم:
How to Create a Simple Makefile - Introduction to Makefiles
Learn make in 60 seconds.
Why that "Perfect" Makefile Doesn't Work.
چون 3 لینک بالا رو اضافه کردم و توضیحاتشون رو بیشتر از دانش خودم دونستم، پس نحوه نوشتن Makefile رو دیگه توضیح نمیدم. صرفا یه نمونه که برای نیاز خودم نوشتم رو ضمیمه این پست میکنم.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #makefile
راجب make:
احتمالا تا حالا Makefile رو دیده باشید
مخصوصا اگه از ابزارا suckless استفاده کردید.
تعریفم شاید دقیق نباشه، اما سعی میکنم واضح بیانش کنم: make یه ابزار هست که محتوای Makefile رو میخونه و بر اساس آرگومانی که بهش میدیم، میاد یه کاری رو انجام میده.
طوری که بهش نگاه میکنم: یه جورایی Makefile انگار یه فایل با یه سری switch case هست که وجود یا بروز بودن یه فایل یا یه case دیگه رو نگاه میکنه و بر اساس اون آرگومانی که بهش میدید، یه سری دستوراتی رو انجام میده.
کاربرد اصلیش بیلد کردن پکیج ها و کامپایل، اکسپورت کردن و... هست
مثلا جای این که بنویسید gcc... میاید میزنید make و تمام.
و خاصیتش اتومات کردن کار، سادگی تایپ، سرعت بالا تر
خودش چک میکنه اگه فایلی بروز بود دیگه دستش نمیزنه و... سر همین پروسه زمان کمتری میبره.
و عدم تکرار اسم فایل ها و... هست.
میتونید متغیر براش تعریف کنید.
نمونه کار های خلاقانه دیگه ای که براش دیدم میشه از مدیریت کانفیگ ها گفت:
How To Manage Your Dotfiles With Make
خودم خیلی باهاش کار نکردم، پس هم در حد پایه گفتم و هم خیلی اعتبار این نکته بالا نیست، اما قابل بیان دونستمش، اگه توضیح کامل میخواید منبع رسمی شاید بهترین گزینه باشه.
داخل یوتیوب هم آموزش راجبش زیاد هست، 2 تا آموزش کوتاه و یه نکته ای که نسبتا باید حواستون بهش باشه رو اضافه میکنم:
How to Create a Simple Makefile - Introduction to Makefiles
Learn make in 60 seconds.
Why that "Perfect" Makefile Doesn't Work.
چون 3 لینک بالا رو اضافه کردم و توضیحاتشون رو بیشتر از دانش خودم دونستم، پس نحوه نوشتن Makefile رو دیگه توضیح نمیدم. صرفا یه نمونه که برای نیاز خودم نوشتم رو ضمیمه این پست میکنم.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
YouTube
How to Create a Simple Makefile - Introduction to Makefiles
In this video I show how to create a simple makefile.
Want to learn C++? I highly recommend this book https://amzn.to/1PftaSt
Donate - https://bit.ly/17vCDFx
STILL NEED MORE HELP?
Connect one-on-one with a Programming Tutor. Click the link below:
http…
Want to learn C++? I highly recommend this book https://amzn.to/1PftaSt
Donate - https://bit.ly/17vCDFx
STILL NEED MORE HELP?
Connect one-on-one with a Programming Tutor. Click the link below:
http…
👍3
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs
قابلیت های پیش فرض ایمکس که برام جالب و مهم بودن و آشنایی باهاشون موقع تغییر ادیتور به ایمکس نسبتا واجبه:
- مورد اول org mode هست، میشه یه سری پکیج مثل org-modern نصبید که ظاهر بهتر بشه، اما حتی وجود خود org mode و گرفتن خروجی کد داخل هر فایل دیگه و... قابلیت مفیدیه.
- مورد بعد eshell هست، عملا بهتون یه شل میده که داخلش میتونید از فانکشن های ایمکس استفاده کنید، مثلا بیاید با find-file یه فایل رو داخل همون پنجره ایمکس باز کنید و...
- برا مدیر فایل هم dired رو داریم. ازش زیاد استفاده نکردم پس نظری نمیدم، اما قابلیت هاش رو نگاه بندازید جالبه.
- میشه داخل هر فایلی (تا جایی که میدونم هر بافری که میشه داخلش تایپ کرد) کد elisp نوشت و با C-x C-e اجراش کرد. مثلا وسط کد نوشتن جای این که M-x بزنید، داخل همون فایل فانکشن رو مینویسید و اجراش میکنید و بعد لاین رو حذف میکنید.
- کلید تب به صورت پیش فرض indent اون خط رو اصلاح میکنه.
- سیستم daemon client. هم زمان باز شدن پنجره رو صفر میکنه و هم میتونید باهاش از طریق شل یا ابزار های مختلف به ایمکس فرمان بدید.
ضمنا دیگه نیاز نیست نگران اشتباهی بستن پنجره باشید.
پیشنهاد میدم ویدئو زیر از protesilaos stavrou رو براش ببینید:
Basics of Emacs client (`emacsclient' program)
- تو نسخه جدید ایمکس، use-package به صورت builtin وجود داره که استفاده ازش کمک میکنه کانفیگ خیلی منظم تر بشه (علاوه بر بهبود سرعت لود اولیه و...).
- وجود major modes و prog-mode. تا حدی مشابه file type هستن، اما انگار درک خیلی بهتری دارن.
برای لیست زبان هایی که دیفالت major mode شون ردیفه قبلا لینک داده بودم.
- سیستم راهنماش. چند نکته راجبش هست:
1- راهنما های بخش های مختلف کی بایند هاشون جدا و دسته بندی شده.
2- وقتی راهنمای function یا variable یا... رو چک میکنید، داخل split ای که براش باز میشه فقط مطالب مربوط به همون function یا variable یا... رو میبینید.
3- داخل راهنما گفته شده که اون function یا... برای کدوم پکیج هست.
4- اگه درست یادم باشه مقدار پیشفرض و مقدار فعلی اون variable یا... رو میگه.
- گرافیکی بودنش و پشتیبانی عالی از ligatures و زبان فارسی و...
اینا قابلیت هایی بودن که تو چند ساعت اول کار با ایمکس به چشمم اومدن و هنوز قابلیت هایی مثل compiler و debugger رو نگاه هم ننداختم.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs
قابلیت های پیش فرض ایمکس که برام جالب و مهم بودن و آشنایی باهاشون موقع تغییر ادیتور به ایمکس نسبتا واجبه:
- مورد اول org mode هست، میشه یه سری پکیج مثل org-modern نصبید که ظاهر بهتر بشه، اما حتی وجود خود org mode و گرفتن خروجی کد داخل هر فایل دیگه و... قابلیت مفیدیه.
- مورد بعد eshell هست، عملا بهتون یه شل میده که داخلش میتونید از فانکشن های ایمکس استفاده کنید، مثلا بیاید با find-file یه فایل رو داخل همون پنجره ایمکس باز کنید و...
- برا مدیر فایل هم dired رو داریم. ازش زیاد استفاده نکردم پس نظری نمیدم، اما قابلیت هاش رو نگاه بندازید جالبه.
- میشه داخل هر فایلی (تا جایی که میدونم هر بافری که میشه داخلش تایپ کرد) کد elisp نوشت و با C-x C-e اجراش کرد. مثلا وسط کد نوشتن جای این که M-x بزنید، داخل همون فایل فانکشن رو مینویسید و اجراش میکنید و بعد لاین رو حذف میکنید.
- کلید تب به صورت پیش فرض indent اون خط رو اصلاح میکنه.
- سیستم daemon client. هم زمان باز شدن پنجره رو صفر میکنه و هم میتونید باهاش از طریق شل یا ابزار های مختلف به ایمکس فرمان بدید.
ضمنا دیگه نیاز نیست نگران اشتباهی بستن پنجره باشید.
پیشنهاد میدم ویدئو زیر از protesilaos stavrou رو براش ببینید:
Basics of Emacs client (`emacsclient' program)
- تو نسخه جدید ایمکس، use-package به صورت builtin وجود داره که استفاده ازش کمک میکنه کانفیگ خیلی منظم تر بشه (علاوه بر بهبود سرعت لود اولیه و...).
- وجود major modes و prog-mode. تا حدی مشابه file type هستن، اما انگار درک خیلی بهتری دارن.
برای لیست زبان هایی که دیفالت major mode شون ردیفه قبلا لینک داده بودم.
- سیستم راهنماش. چند نکته راجبش هست:
1- راهنما های بخش های مختلف کی بایند هاشون جدا و دسته بندی شده.
مثلا C-h v برای variable ها.
2- وقتی راهنمای function یا variable یا... رو چک میکنید، داخل split ای که براش باز میشه فقط مطالب مربوط به همون function یا variable یا... رو میبینید.
3- داخل راهنما گفته شده که اون function یا... برای کدوم پکیج هست.
4- اگه درست یادم باشه مقدار پیشفرض و مقدار فعلی اون variable یا... رو میگه.
- گرافیکی بودنش و پشتیبانی عالی از ligatures و زبان فارسی و...
اینا قابلیت هایی بودن که تو چند ساعت اول کار با ایمکس به چشمم اومدن و هنوز قابلیت هایی مثل compiler و debugger رو نگاه هم ننداختم.
🔅@LinFAQ
🔅@LinAcademy
Wikipedia
Org-mode
Org Mode (also: org-mode; /ˈɔːrɡ moʊd/) is a mode for document editing, formatting, and organizing within the free software text editor GNU Emacs and its derivatives, designed for notes, planning, and authoring. The name is used to encompass plain text files…
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs
(خیلی فواصل نکات نامنظم شده) راجب نمایش انواع داکیومنت داخل emacs:
- ایمکس یه DocView mode داره که میتونید باهاش انواع فرمت های داکیومنت رو ببینید.
- برای نمایش هم کاملا مشابه بقیه فایل ها عمل میکنید، مثلا
- برای نمایش pdf از ghostscript یا mupdf استفاده میکنه، پس طبیعتا حداقل یکیشون باید نصب باشه.
- اگه محتوای داکیومنت بروز شده بود، میتونید برای refresh کردن محتوایی که داره داخل DocView نمایش داده میشه از کلید g استفاده کنید.
- با
- اصولا برای هر فرمت داکیومنتی که خودش اشاره کرده جوابه، اما احتمالا چون هیچ آفیسی روی سیستم نصب نداشتم نتونستم ppt رو با ایمکس باز کنم.
- میتونید این رو هم جهت مطالعه بیشتر چک کنید.
- ضمنا pdf-tools رو هم نگاه بندازید خوبه، این stackoverflow رو هم میتونید براش چک کنید.
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs
(خیلی فواصل نکات نامنظم شده) راجب نمایش انواع داکیومنت داخل emacs:
- ایمکس یه DocView mode داره که میتونید باهاش انواع فرمت های داکیومنت رو ببینید.
- برای نمایش هم کاملا مشابه بقیه فایل ها عمل میکنید، مثلا
find-file test.pdf
از داخل ایمکس.- برای نمایش pdf از ghostscript یا mupdf استفاده میکنه، پس طبیعتا حداقل یکیشون باید نصب باشه.
- اگه محتوای داکیومنت بروز شده بود، میتونید برای refresh کردن محتوایی که داره داخل DocView نمایش داده میشه از کلید g استفاده کنید.
- با
C-c C-c
میتونید بین نمایش فایل با DocView و تکست سوییچ کنید.برای فایل هایی مثل pdf طبیعتا فقط DocView نیاز میشه، اما تو svg میتونه قضیه فرق کنه.
- اصولا برای هر فرمت داکیومنتی که خودش اشاره کرده جوابه، اما احتمالا چون هیچ آفیسی روی سیستم نصب نداشتم نتونستم ppt رو با ایمکس باز کنم.
- میتونید این رو هم جهت مطالعه بیشتر چک کنید.
- ضمنا pdf-tools رو هم نگاه بندازید خوبه، این stackoverflow رو هم میتونید براش چک کنید.
خودم تستش نکردم ولی فکر کنم از DocView عملکرد بهتری نشون بده.
source
🔅@LinFAQ
🔅@LinAcademy
www.gnu.org
39 Document Viewing
Next: Running Shell Commands from Emacs, Previous: Network Security, Up: The Emacs Editor [Contents][Index]
#روزی_یک_نکته با سهراب
دستهبندی: #آموزشی #کاربردی #Debian
بعد از نصب دبیان چه کارهایی رو باید انجام بدیم؟ 🫡
اگر شما به تازگی توزیع دبیان رو نصب کردین یا قصد نصب کردنشو دارید پیشنهاد میکنم این متن رو بخونید.
۱. بعد از نصب توزیع دبیان حتما مخازن nonfree و contrib رو فعال کنید.
چطور؟
با استفاده از ادیتوری که دوست دارید، فایل
/etc/sources.list
رو باز کنید و جلوی لینک مخازن مثل نمونه پایین اگه مخزن لینکش:
هست اون رو به
تغییر بدید.
این کار رو برای همه مخازن از جمله مخازن اپدیت انجام بدید.
۲. فعال کردن نتورک منیجر.
اگه توزیع دبیان رو با دسکتاپ مدنظرتون نصب کنید ، بعد از اولین لاگین ممکنه که در افزونه نتورک منیجر با عبارت no connection و یا در nmcli با عبارت unmanaged روبرو بشید.
چطور این رو درست کنیم؟
کافیه فایل
رو باز کنید ( حروف بزرگ و کوچیک رعایت شود)
و در این فایل managed=false رو به managed=true تغییر بدید و ذخیره کنید سپس نتورک منیجر رو ری استارت کنید.
۳. دادن دسترسی sudo به یوزر
معمولا بعد از نصب دبیان یوزری که ساختید دسترسی روت نداره و وقتی از sudo استفاده میکنید با خطا مواجه میشید.
برای درست کردن این نیز ۲ راه دارید
راه اول:
اضافه کردن یوزر به گروه sudo
برای این کار باید دستور:
رو بزنید و سپس با استفاده از دستور:
برسی کنید که آیا یوزر شما به این گروه اضافه شده و یا نه اگر این کار رو بکنید دسترسی sudo برای یوزر شما باز میشه.
راه دوم:
ادیت کردن مستقیم فایل sudoers
اگر به هر دلیلی راه بالا براتون کارنکرد میتونید از این راه هم برید
برای این کار اول دسترسی روت رو بگیرید
با استفاده از کامند su و وارد کردن رمز روت شما دسترسی روت رو میگیرید
سپس باید فایل
/etc/sudoers
رو با ادیتورتون باز کنید و بعد در اون فایل زیر خط
با توجه به یوزرنیمتون یکی مثل همون بنویسید مثلا اگه یوزرنیم شما sohrab هست باید
رو بنویسید و ذخیره کنید تا دسترسی sudo برای یوزرتون باز بشه.
۴. فعال کردن لیست یوزر ها در lightdm
اگه از lightdm استفاده میکنید ممکنه که ببینید که از شما برای لاگین کردن یوزرنیم میخواد بجای اینکه یوزرنیم شمارو نشون بده برای رفع این مشکل باید فایل کانفیگ lightdm که
هست رو باز کنید و قسمت
رو از کامنت بودن در بیارید ( عبارت # پشتش رو پاک کنید)
و یک نکته که توی پست بعدی میگم........
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #Debian
بعد از نصب دبیان چه کارهایی رو باید انجام بدیم؟ 🫡
اگر شما به تازگی توزیع دبیان رو نصب کردین یا قصد نصب کردنشو دارید پیشنهاد میکنم این متن رو بخونید.
۱. بعد از نصب توزیع دبیان حتما مخازن nonfree و contrib رو فعال کنید.
چطور؟
با استفاده از ادیتوری که دوست دارید، فایل
/etc/sources.list
رو باز کنید و جلوی لینک مخازن مثل نمونه پایین اگه مخزن لینکش:
deb https://deb.debian.org/debian/ bullseye main
هست اون رو به
deb https://deb.debian.org/debian/ bullseye main contrib non-free
تغییر بدید.
این کار رو برای همه مخازن از جمله مخازن اپدیت انجام بدید.
۲. فعال کردن نتورک منیجر.
اگه توزیع دبیان رو با دسکتاپ مدنظرتون نصب کنید ، بعد از اولین لاگین ممکنه که در افزونه نتورک منیجر با عبارت no connection و یا در nmcli با عبارت unmanaged روبرو بشید.
چطور این رو درست کنیم؟
کافیه فایل
/etc/NetworkManager/NetworkManager.conf
رو باز کنید ( حروف بزرگ و کوچیک رعایت شود)
و در این فایل managed=false رو به managed=true تغییر بدید و ذخیره کنید سپس نتورک منیجر رو ری استارت کنید.
sudo systemctl restart NetworkManager
۳. دادن دسترسی sudo به یوزر
معمولا بعد از نصب دبیان یوزری که ساختید دسترسی روت نداره و وقتی از sudo استفاده میکنید با خطا مواجه میشید.
برای درست کردن این نیز ۲ راه دارید
راه اول:
اضافه کردن یوزر به گروه sudo
برای این کار باید دستور:
usermod -aG sudo username
رو بزنید و سپس با استفاده از دستور:
getent group sudo
برسی کنید که آیا یوزر شما به این گروه اضافه شده و یا نه اگر این کار رو بکنید دسترسی sudo برای یوزر شما باز میشه.
راه دوم:
ادیت کردن مستقیم فایل sudoers
اگر به هر دلیلی راه بالا براتون کارنکرد میتونید از این راه هم برید
برای این کار اول دسترسی روت رو بگیرید
با استفاده از کامند su و وارد کردن رمز روت شما دسترسی روت رو میگیرید
سپس باید فایل
/etc/sudoers
رو با ادیتورتون باز کنید و بعد در اون فایل زیر خط
root ALL=(ALL) ALL
با توجه به یوزرنیمتون یکی مثل همون بنویسید مثلا اگه یوزرنیم شما sohrab هست باید
sohrab ALL=(ALL) ALL
رو بنویسید و ذخیره کنید تا دسترسی sudo برای یوزرتون باز بشه.
۴. فعال کردن لیست یوزر ها در lightdm
اگه از lightdm استفاده میکنید ممکنه که ببینید که از شما برای لاگین کردن یوزرنیم میخواد بجای اینکه یوزرنیم شمارو نشون بده برای رفع این مشکل باید فایل کانفیگ lightdm که
/etc/lightdm/lightdm.conf
هست رو باز کنید و قسمت
greeter-hide-users=false
رو از کامنت بودن در بیارید ( عبارت # پشتش رو پاک کنید)
و یک نکته که توی پست بعدی میگم........
source
🔅@LinFAQ
🔅@LinAcademy
LinFAQ
یک نکته که توی پست بعدی میگم
#روزی_یک_نکته با سهراب
دستهبندی: #آموزشی #کاربردی #Debian
ادامه نکته قبل
اگه هدفتون نصب دبیان sid هستش.
موقع نصب دسکتاپ انتخاب نکنید
دبیان رو به صورت مینیمال نصب کنید
و بعدش توی کانفیگ مخازن بعد از نصب که فایل
/etc/apt/sources.list
هستش رو باز کنید
همه مخازن داخلش رو پاک کنید چون دبیان sid نیازی به مخازن اپدیت دبیان نداره و رولینگ هست
جز این مخزن که مخزن اصلی هستش که این رو
به
تغییر بدید
یک دور دبیان رو کاملا اپدیت کنید:
تبریک الان دبیان sid دارید
دسکتاپی که هم دوست دارید یا دستی و یا با کامند
نصب کنید.
حالا چرا گفتم دسکتاپ نصب نکنید؟
چون اگه دسکتاپ نصب کنید و بعدش مخازن رو به sid تغییر بدید، حجم اپدیتی که ازتون میگیره زیاد هست و به صرفه نیست.
و حتما مراحل پست بالا رو برای sudo و lightdm و network manager انجام بدید.
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #Debian
ادامه نکته قبل
اگه هدفتون نصب دبیان sid هستش.
موقع نصب دسکتاپ انتخاب نکنید
دبیان رو به صورت مینیمال نصب کنید
و بعدش توی کانفیگ مخازن بعد از نصب که فایل
/etc/apt/sources.list
هستش رو باز کنید
همه مخازن داخلش رو پاک کنید چون دبیان sid نیازی به مخازن اپدیت دبیان نداره و رولینگ هست
جز این مخزن که مخزن اصلی هستش که این رو
deb https://deb.debian.org/debian/ bullseye main
به
deb https://deb.debian.org/debian/ sid main non-free contrib
تغییر بدید
یک دور دبیان رو کاملا اپدیت کنید:
sudo apt update && sudo apt upgrade
تبریک الان دبیان sid دارید
دسکتاپی که هم دوست دارید یا دستی و یا با کامند
tasksel
نصب کنید.
حالا چرا گفتم دسکتاپ نصب نکنید؟
چون اگه دسکتاپ نصب کنید و بعدش مخازن رو به sid تغییر بدید، حجم اپدیتی که ازتون میگیره زیاد هست و به صرفه نیست.
و حتما مراحل پست بالا رو برای sudo و lightdm و network manager انجام بدید.
source
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #shell
راجب چک کردن دستوری که alias اجرا میکنه:
کافیه از دستور زیر استفاده کنید:
مثال:
دستور زیر
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #shell
راجب چک کردن دستوری که alias اجرا میکنه:
این سری خیلی کوتاهه.
کافیه از دستور زیر استفاده کنید:
type <alias>
مثال:
دستور زیر
برای تعریف کردن alias
alias vim='nvim'
type updateداخل کانفیگ خودم خروجی زیر رو داره:
update is aliased to `sudo pacman -Syu --needed - < $HOME/nEwRA/packages.txt'
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #neovim
یه مطلبی بود که راجب یادگیری نئوویم نوشتم
اول ببین با کی بایند ها راحتی؟
میتونی توی فایل جا به جا شی و redo و undo کنی؟
بعد از یه مدت که دیگه نیاز نداشتی دستت رو ببری روی ماوس یا arrow keys، برو سراغ مباحث بعدی.
اگه هنوز با پیش فرض ها راحت نیستی، کی بایند ها رو یاد بگیر، ترمینال باز کن و بنویس vimtutor و باهاش پیش برو یا این که این ویدئو رو ببین.
بعد از یادگیری کی بایند ها در حد نیاز، چون با پایه ها راحتی ابزار رو گسترش میدی، پس باید بری سراغ کانفیگ جهت اضافه کردن قابلیت هایی که نیاز داری مثل suggestion بهتر یا... به نئوویم.
پیشنهاد میدم اول این ویدئو و این یکی رو ببینی تا متوجه شی نئوویم چه قابلیت هایی رو بدون پلاگین ارائه میده، بعد این ویدئو رو ببین تا یه کانفیگ پایه آماده با پلاگین بدست بیاری و یا این که برو سراغ nvpak که کانفیگ علی باشه.
در انتها مطالبی مثل macro میمونه که اگه بدونی خیلی کمکت میکنه.
جدای از این ها خیلی از قابلیت ها مثل کامند make هستن که کمک میکنه، اما توی جامعه خیلی کمتر میبینی و پیدا کردن مطالب براش به این راحتی نیست.
بعد از کل موارد بالا اگه به نقطه ای رسیدی که خواستی نئوویم رو از صفر کانفیگ کنی این منبع خیلی کمکت میکنه.
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #neovim
یه مطلبی بود که راجب یادگیری نئوویم نوشتم
اول ببین با کی بایند ها راحتی؟
میتونی توی فایل جا به جا شی و redo و undo کنی؟
بعد از یه مدت که دیگه نیاز نداشتی دستت رو ببری روی ماوس یا arrow keys، برو سراغ مباحث بعدی.
اگه هنوز با پیش فرض ها راحت نیستی، کی بایند ها رو یاد بگیر، ترمینال باز کن و بنویس vimtutor و باهاش پیش برو یا این که این ویدئو رو ببین.
خودم نحوه hjkl و esc و wq: رو یاد گرفتم و بعد هر چیزی نیازم شد مثل undo رو با یه سرچ ساده بدست آوردم.
تاکید میکنم، برای رفتن به نرمال مد به جای esc، اول alt رو نگه دار و بعد کاری که میخوای انجام بدی رو بزن. مثالش اینه که alt j میبرتت به نرمال مد و بعد کرسر رو یه خط پایین میبره.
بهتره توی این مرحله با visual mode آشنا بشی و نحوه جستجو داخل متن رو تا حد نیاز یاد بگیری.
بعد از یادگیری کی بایند ها در حد نیاز، چون با پایه ها راحتی ابزار رو گسترش میدی، پس باید بری سراغ کانفیگ جهت اضافه کردن قابلیت هایی که نیاز داری مثل suggestion بهتر یا... به نئوویم.
پیشنهاد میدم اول این ویدئو و این یکی رو ببینی تا متوجه شی نئوویم چه قابلیت هایی رو بدون پلاگین ارائه میده، بعد این ویدئو رو ببین تا یه کانفیگ پایه آماده با پلاگین بدست بیاری و یا این که برو سراغ nvpak که کانفیگ علی باشه.
در انتها مطالبی مثل macro میمونه که اگه بدونی خیلی کمکت میکنه.
جدای از این ها خیلی از قابلیت ها مثل کامند make هستن که کمک میکنه، اما توی جامعه خیلی کمتر میبینی و پیدا کردن مطالب براش به این راحتی نیست.
بعد از کل موارد بالا اگه به نقطه ای رسیدی که خواستی نئوویم رو از صفر کانفیگ کنی این منبع خیلی کمکت میکنه.
یه نکته ای رو داشت یادم میرفت، هر چیزی برات سوال شد داخل کامند مد h و بعد چیزی که میخوای راجبش بیشتر بدونی رو بزن.
source
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
راجب disown و nohup :
اگه بخواید ابزار گرافیکی رو از طریق ترمینال اجرا کنید 3 مسئله هست:
1- خروجی های ابزار گرافیکی به ترمینال فرستاده میشه و اگه دنبال پیدا کردن خطا یا... نباشید دیدنشون فقط رو مخه.
2- شل رو آزاد نمیکنه و ترمینال عملا بلا استفاده میشه.
3- بعد از بستن ترمینال، ابزار گرافیکی هم بسته میشه.
مورد دوم رو با
برای حل این قضیه 2 راه داریم:
1- استفاده از nohup.
مثال:
2- استفاده از disown. مثال:
البته یه قضیه هم راجب nohup هست: یه فایل nohup.out داخل مسیری که هستین میسازه و خروجی ها رو به جای ترمینال، داخل اون فایل قرار میده.
راجب توضیح دقیق این که disown و nohup چی کار میکنن و فرقشون چیه بهتره که این 3 لینک رو چک کنید:
https://unix.stackexchange.com/questions/3886/difference-between-nohup-disown-and
https://askubuntu.com/questions/439187/how-to-open-a-gui-application-and-disconnect-it
https://man.archlinux.org/man/nohup.1.en
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
راجب disown و nohup :
اگه بخواید ابزار گرافیکی رو از طریق ترمینال اجرا کنید 3 مسئله هست:
1- خروجی های ابزار گرافیکی به ترمینال فرستاده میشه و اگه دنبال پیدا کردن خطا یا... نباشید دیدنشون فقط رو مخه.
2- شل رو آزاد نمیکنه و ترمینال عملا بلا استفاده میشه.
3- بعد از بستن ترمینال، ابزار گرافیکی هم بسته میشه.
مورد دوم رو با
&
انتهای دستور میشه حل کرد، اما باز مورد اول و سوم میمونن.برای حل این قضیه 2 راه داریم:
1- استفاده از nohup.
مثال:
nohup zathura file.pdf &
دقت کنید اگه اون & انتها نباشه شل آزاد نمیشه.
2- استفاده از disown. مثال:
zathura file.pdf &
disown
نکته :
zathura (document viewer)
عه که استفاده شده
البته یه قضیه هم راجب nohup هست: یه فایل nohup.out داخل مسیری که هستین میسازه و خروجی ها رو به جای ترمینال، داخل اون فایل قرار میده.
راجب توضیح دقیق این که disown و nohup چی کار میکنن و فرقشون چیه بهتره که این 3 لینک رو چک کنید:
به هر حال توضیح من یه برداشت ناقص از این منابع میشد.
https://unix.stackexchange.com/questions/3886/difference-between-nohup-disown-and
https://askubuntu.com/questions/439187/how-to-open-a-gui-application-and-disconnect-it
https://man.archlinux.org/man/nohup.1.en
source
🔅@LinFAQ
🔅@LinAcademy
Ask Ubuntu
How to open a GUI application and 'disconnect' it?
I can run Sublime, for example, in the background by typing
sublime-text &
The & puts it into the background so that I can continue to run commands in my terminal. Alternatively, I can run
sublime-text &
The & puts it into the background so that I can continue to run commands in my terminal. Alternatively, I can run
👍4
#روزی_یک_نکته با حسن
دستهبندی: #آموزشی #کاربردی
بحث راجب این بود که چرا فایلی رو داریم انتقال میدیم یا کار های دیگه انجام میدیم باهاش توی لینوکس روی 100% زمان بیشتری طول میکشه یا گیر میکنه.
توضیح اتفاقی که میفته به صورت کامل :
اتفاقی که میفته از این قرار هست که هسته لینوکس فایلی که قراره کپی بشه با سرعت بالایی توی بافر حافظه اصلی (RAM) کپی میکنه و سرعت بسیار بالایی داره .
این وسط مدیر فایل وقتی هسته، فایل رو به بافر منتقل کرد فکر میکنه که واقعا فایل توی مقصد کپی شده (ولی در اصل فایل توی بافر (RAM) کپی شده و فایل منیجر سعی میکنه کپی کردن رو کنسل کنه !!! ولی هسته داره فایل رو از بافر به هارد یا یو اس بی کپی میکنه و فایل منیجر چاره ای نداره جز اینکه هنگ کنه و منتظر سیگنال هسته باشه و دقیقا بعد از اینکه هسته لینوکس کپی کردن رو تموم میکنه فایل منیجر هم تموم پنجره رو میبنده .
اتفاقی که میفته این هست که پیشروی کپی کردن رو به صورت ریل تایم نمیبینی ...!!!
راه حل هم داره .
راه حل این مشکل :
راه حل این هست که فضای بافر برای این عملیات رو محدود کرد به یک رقم خاص که هسته بعد از پر شدن این فضا دیتا رو روی مقصد رایت کنه
این فایل رو باید توی این مسیر ایجاد کرد :
و داخل این فایل این کامند رو گذاشت:
خب حالا این کامند چیه؟
این عدد به بایت هست و مقداری رو مشخص میکنه که هسته بعد از این رقم بافر دیتارو رایت کنه توی مقصد و پیشروی هم گام به گام با کپی نشون داده بشه .
حتما بعد از کانفینگ یک بار ریستارت کنید سیستم رو
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
بحث راجب این بود که چرا فایلی رو داریم انتقال میدیم یا کار های دیگه انجام میدیم باهاش توی لینوکس روی 100% زمان بیشتری طول میکشه یا گیر میکنه.
توضیح اتفاقی که میفته به صورت کامل :
اتفاقی که میفته از این قرار هست که هسته لینوکس فایلی که قراره کپی بشه با سرعت بالایی توی بافر حافظه اصلی (RAM) کپی میکنه و سرعت بسیار بالایی داره .
این وسط مدیر فایل وقتی هسته، فایل رو به بافر منتقل کرد فکر میکنه که واقعا فایل توی مقصد کپی شده (ولی در اصل فایل توی بافر (RAM) کپی شده و فایل منیجر سعی میکنه کپی کردن رو کنسل کنه !!! ولی هسته داره فایل رو از بافر به هارد یا یو اس بی کپی میکنه و فایل منیجر چاره ای نداره جز اینکه هنگ کنه و منتظر سیگنال هسته باشه و دقیقا بعد از اینکه هسته لینوکس کپی کردن رو تموم میکنه فایل منیجر هم تموم پنجره رو میبنده .
اتفاقی که میفته این هست که پیشروی کپی کردن رو به صورت ریل تایم نمیبینی ...!!!
راه حل هم داره .
راه حل این مشکل :
راه حل این هست که فضای بافر برای این عملیات رو محدود کرد به یک رقم خاص که هسته بعد از پر شدن این فضا دیتا رو روی مقصد رایت کنه
این فایل رو باید توی این مسیر ایجاد کرد :
etc/sysctl.d/90-dirty.conf
و داخل این فایل این کامند رو گذاشت:
vm.dirty_background_bytes=16777216 vm.dirty_bytes=50331648
خب حالا این کامند چیه؟
این عدد به بایت هست و مقداری رو مشخص میکنه که هسته بعد از این رقم بافر دیتارو رایت کنه توی مقصد و پیشروی هم گام به گام با کپی نشون داده بشه .
حتما بعد از کانفینگ یک بار ریستارت کنید سیستم رو
🔅@LinFAQ
🔅@LinAcademy
👍2👎1🔥1
LinFAQ
راه حل این مشکل :
راه حل موقت برای تست:
این کامند رو یک بار توی ترمینال بزنید
نکته: این راه حل موقتی هست و هربار سیستم بوت میشه باید دوباره بزنید ولی روش کانفینگ دائمی هست
میزان بافر اینجا ۱۵ مگابایت محدود شده .
🔅@LinFAQ
🔅@LinAcademy
این کامند رو یک بار توی ترمینال بزنید
echo 15728640 > /proc/sys/vm/dirty_bytes
نکته: این راه حل موقتی هست و هربار سیستم بوت میشه باید دوباره بزنید ولی روش کانفینگ دائمی هست
میزان بافر اینجا ۱۵ مگابایت محدود شده .
🔅@LinFAQ
🔅@LinAcademy
🥰1
#داستان_های_FOSS
دستهبندی: #داستان #آموزشی #دوالبوت
#dualboot
این قسمت مشکلات A.R.S با ویندوز و دبیان
#part1
ماجراجویی امروز داستان جالبی بود.
بزارید تعریف کنم. تا دوستان در این رابطه احتیاط کنن.
امروز یک سری تغییرات داخل پارتیشن لینوکسیم داده بودم.
این تغییرات شامل حذف یه سریاشون و extend کردن بود.
لینوکس با این موضوع هیچ مشکلی نداشت.
اما ویندوز به boot loop میخورد آخرش به recovery میرفت.
طبق معمول Automatic Repair Startup کار نمیکرد.
ابزاری عملا بدردنخور.
مجبور شدم ترمینال رو باز کنم به دستی رسیدگی کنم.
اولین موضوعی که باید بگم اینه که دوستان.
ابزار ریکاوری ویندوز باگ داره و اونطوری که میبینید نباید استفاده کنید.
روشی که برای من جواب داد عین این ویدیو بود
چند نکته راجب این ویدیو بگم.
در اینجا جدا از پارتیشن C پارتیشن دیگه ای که بارگذاری میشه system reserved هست.
منظور همون پارتیشن UEFI هستش. جاش همون رو بارگذاری کنید.
اگر تمامی مراحل رو درست برید احتمال اینکه ویندوزتون فیکس بشه بالاست.
سوتی که بنده دادم. از اینترنت یه سری مراحلی که انجام دادم شامل فرمت کردن پارتیشن UEFI بود که عملا GRUB مربوط به لینوکسم رو حذف کرد.
ادامه ماجراجویی در پست بعد
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #داستان #آموزشی #دوالبوت
#dualboot
این قسمت مشکلات A.R.S با ویندوز و دبیان
#part1
ماجراجویی امروز داستان جالبی بود.
بزارید تعریف کنم. تا دوستان در این رابطه احتیاط کنن.
امروز یک سری تغییرات داخل پارتیشن لینوکسیم داده بودم.
این تغییرات شامل حذف یه سریاشون و extend کردن بود.
لینوکس با این موضوع هیچ مشکلی نداشت.
اما ویندوز به boot loop میخورد آخرش به recovery میرفت.
طبق معمول Automatic Repair Startup کار نمیکرد.
ابزاری عملا بدردنخور.
مجبور شدم ترمینال رو باز کنم به دستی رسیدگی کنم.
اولین موضوعی که باید بگم اینه که دوستان.
ابزار ریکاوری ویندوز باگ داره و اونطوری که میبینید نباید استفاده کنید.
روشی که برای من جواب داد عین این ویدیو بود
چند نکته راجب این ویدیو بگم.
در اینجا جدا از پارتیشن C پارتیشن دیگه ای که بارگذاری میشه system reserved هست.
منظور همون پارتیشن UEFI هستش. جاش همون رو بارگذاری کنید.
اگر تمامی مراحل رو درست برید احتمال اینکه ویندوزتون فیکس بشه بالاست.
سوتی که بنده دادم. از اینترنت یه سری مراحلی که انجام دادم شامل فرمت کردن پارتیشن UEFI بود که عملا GRUB مربوط به لینوکسم رو حذف کرد.
ادامه ماجراجویی در پست بعد
🔅@LinFAQ
🔅@LinAcademy
YouTube
How to Fix Startup Repair in Windows 10 | System Reserved
This shows how to fix Startup Repair in Windows 10 when it breaks. This goes over rebuilding the System Reserved Partition. Follow Along Guide:
https://www.christitus.com/repair-windows-boot-partition/
CDN77 Content Delivery Network on christitus.com
li…
https://www.christitus.com/repair-windows-boot-partition/
CDN77 Content Delivery Network on christitus.com
li…
LinFAQ
ادامه ماجراجویی در پست بعد
#داستان_های_FOSS
دستهبندی: #داستان #آموزشی #دوالبوت
#dualboot
این قسمت مشکلات A.R.S با ویندوز و دبیان
#part2
حالا که ویندوز رو فیکس کردم.
نوبت فیکس کردن دبیان بود.
فکر میکردم کار ساده ای باشه ولی داستان پیچیده شد.
اول اینکه ورژن 11 دبیان رو داشتم برای live usb و دوم اینکه با داکیومنت دبیان جلو نرفتم اولش.
اگر میخواید خوب یاد بگیرید سیستم تعمیر کنید.
1- به Busybox مسلط باشید. یعنی دستورات POSIX و استانداردی که در خیلی از سیستم های Unix هست.
2- همیشه سعی کنید که از داکیومنتیشن پیش برید. (مگر ویندوز آشغال که برنامه هاشم درست نیست چه برسه داکیومنتاش)
وقتی که وارد دبیان شدم وارد بخش Graphical Rescue شدم و تمام مراحل رو که شبیه نصب دبیان هستند پیش رفتم.
ولی آخرش از شما میخواد که یه پارتیشن رو انتخاب کنید.
روش دستی رو برید و پارتیشنی انتخاب نکنید و مستقیم وارد ترمینال Busybox بشید.
و بقیش رو از اینجا پیش برید.
https://wiki.debian.org/GrubEFIReinstall
چند نکته مهم:
اول:
قبل از chroot کردن حواستون باشه که boot ماونت شده باشه و در دسترس باشه.
من فکر میکردم کرنل و initrd هام داخل خود پارتیشن روت هستن در حالی که نبودن و داخل boot بودن و حواسم نبود که اونارو mount کنم. سر این یکم زمان هدر رفت.
دوم:
این دستور تو سیستم من کار نمیکرد.
و نیاز به تغییر داشت. از طرفی:
The mount executable supplied with busybox does not support the -B option, use "mount -o bind" in this case.
بهتره معمولی به این صورت بزنید.
وقتی وارد محیط chroot شدید برای اینکه مستقیم بپرید داخل شل خودتون
بزنید.
من جای
و جای
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #داستان #آموزشی #دوالبوت
#dualboot
این قسمت مشکلات A.R.S با ویندوز و دبیان
#part2
حالا که ویندوز رو فیکس کردم.
نوبت فیکس کردن دبیان بود.
فکر میکردم کار ساده ای باشه ولی داستان پیچیده شد.
اول اینکه ورژن 11 دبیان رو داشتم برای live usb و دوم اینکه با داکیومنت دبیان جلو نرفتم اولش.
اگر میخواید خوب یاد بگیرید سیستم تعمیر کنید.
1- به Busybox مسلط باشید. یعنی دستورات POSIX و استانداردی که در خیلی از سیستم های Unix هست.
2- همیشه سعی کنید که از داکیومنتیشن پیش برید. (مگر ویندوز آشغال که برنامه هاشم درست نیست چه برسه داکیومنتاش)
وقتی که وارد دبیان شدم وارد بخش Graphical Rescue شدم و تمام مراحل رو که شبیه نصب دبیان هستند پیش رفتم.
ولی آخرش از شما میخواد که یه پارتیشن رو انتخاب کنید.
روش دستی رو برید و پارتیشنی انتخاب نکنید و مستقیم وارد ترمینال Busybox بشید.
و بقیش رو از اینجا پیش برید.
https://wiki.debian.org/GrubEFIReinstall
چند نکته مهم:
اول:
قبل از chroot کردن حواستون باشه که boot ماونت شده باشه و در دسترس باشه.
من فکر میکردم کرنل و initrd هام داخل خود پارتیشن روت هستن در حالی که نبودن و داخل boot بودن و حواسم نبود که اونارو mount کنم. سر این یکم زمان هدر رفت.
دوم:
for i in /dev /dev/pts /proc /sys /sys/firmware/efi/efivars /run; do sudo mount -B $i /mnt$i; done
این دستور تو سیستم من کار نمیکرد.
و نیاز به تغییر داشت. از طرفی:
The mount executable supplied with busybox does not support the -B option, use "mount -o bind" in this case.
بهتره معمولی به این صورت بزنید.
mount /dev -o bind /mnt/dev
mount /dev/pts -o bind /mnt/dev/pts
...
وقتی وارد محیط chroot شدید برای اینکه مستقیم بپرید داخل شل خودتون
sudo su
بزنید.
من جای
grub-install
grub-install --efi-directory=/boot/efi
و جای
update-grub
grub-mkconfig -o /boot/grub/grub.cfgاستفاده کردم جهت اطمینان بیشتر. شما هم میتونید استفاده کنید.
🔅@LinFAQ
🔅@LinAcademy
👍2
LinFAQ
#داستان_های_FOSS دستهبندی: #داستان #آموزشی #دوالبوت #dualboot این قسمت مشکلات A.R.S با ویندوز و دبیان #part2 حالا که ویندوز رو فیکس کردم. نوبت فیکس کردن دبیان بود. فکر میکردم کار ساده ای باشه ولی داستان پیچیده شد. اول اینکه ورژن 11 دبیان رو داشتم برای…
#داستان_های_FOSS
دستهبندی: #داستان #آموزشی #دوالبوت
#dualboot
این قسمت مشکلات A.R.S با ویندوز و دبیان
#part3
در ضمن. اگر دیدید که فایل های inf درایور رو داخل live media ویندوز نیاز دارید.
میتونید داخل فلش کپی کنید و از همون داخل خط فرمان با این دستور لودش کنید.
داکیومنتش خوب توضیح داده:
drvload:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/drvload-command-line-options?view=windows-11
همینطور داکیومنت دستورات دیگه ای که ممکنه استفاده کنید:
bootsect:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bootsect-command-line-options?view=windows-11
bootrec:
https://support.microsoft.com/en-us/topic/use-bootrec-exe-in-the-windows-re-to-troubleshoot-startup-issues-902ebb04-daa3-4f90-579f-0fbf51f7dd5d
BCDBoot:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdboot-command-line-options-techref-di?view=windows-11
راستش جز اولی بقیه مفید واقع نشدن چون مثل لینوکس لاگ یا چیز بدردبخوری نشون نمیده که بدونیم مشکل از کجاست.
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #داستان #آموزشی #دوالبوت
#dualboot
این قسمت مشکلات A.R.S با ویندوز و دبیان
#part3
source_part
در ضمن. اگر دیدید که فایل های inf درایور رو داخل live media ویندوز نیاز دارید.
میتونید داخل فلش کپی کنید و از همون داخل خط فرمان با این دستور لودش کنید.
داکیومنتش خوب توضیح داده:
drvload:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/drvload-command-line-options?view=windows-11
همینطور داکیومنت دستورات دیگه ای که ممکنه استفاده کنید:
bootsect:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bootsect-command-line-options?view=windows-11
bootrec:
https://support.microsoft.com/en-us/topic/use-bootrec-exe-in-the-windows-re-to-troubleshoot-startup-issues-902ebb04-daa3-4f90-579f-0fbf51f7dd5d
BCDBoot:
https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdboot-command-line-options-techref-di?view=windows-11
راستش جز اولی بقیه مفید واقع نشدن چون مثل لینوکس لاگ یا چیز بدردبخوری نشون نمیده که بدونیم مشکل از کجاست.
source
🔅@LinFAQ
🔅@LinAcademy
Docs
Drvload Command-Line Options
#روزی_یک_نکته با رضا
دستهبندی: #آموزشی #کاربردی #sshpass
نمیدونم شده براتون پیش بیاد موقع ssh زدن ، خسته بشید از رمز زدن
یا رمز رو بخواهید داخل فایل بزارید اون فایل رو بخواهید استفاده کنید
یا یه متغیر تعریف کنید رمز اونجا بزارید
خب برای همه اینکارا یه ابزار هست
به اسم sshpass میتونید از مخازن بگیرید اکثر مخازن های رسمی هم دارنش
حالا چجوری کار میکنه
یکسری فلگ داره
مثل
حالا خب چندتاشون مثال میزنم
یا alias براش بزارین
اینم یه سری لینک مفید
man sshpass
توضیح با مثال flag ها
اینم یه cheat sheet خوب
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #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
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #latex #rubber
راجب rubber برای کامپایل latex:
مقدمه: اگه از latex/xelatex برای کامپایل استفاده کنید، نیاز به چند سری کامپایل برای گرفتن خروجی درست هست وگرنه داخل pdf تولید شده، فهرست یا... درست نمایش داده نمیشن.
سرچ زدم و ظاهرا یه راه حل ساده داره: rubber
داخل مخازن رسمی آرچ بیسا هستش، بقیه توزیع ها رو نمیدونم.
برای کامپایل هم خیلی ساده از دستور زیر استفاده میکنید:
بخش وسطش هم برای اینه که اگه متنتون فارسی باشه اصولا با xelatex برای کامپایل سر و کار دارید و این میگه که از xelatex استفاده بشه.
مثال:
جهت اطلاعات بیشتر میتونید من پیجش رو بخونید.
منبعی که منو با rubber آشنا کرد این stackoverflow بود.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #latex #rubber
راجب rubber برای کامپایل latex:
مقدمه: اگه از latex/xelatex برای کامپایل استفاده کنید، نیاز به چند سری کامپایل برای گرفتن خروجی درست هست وگرنه داخل pdf تولید شده، فهرست یا... درست نمایش داده نمیشن.
سرچ زدم و ظاهرا یه راه حل ساده داره: rubber
داخل مخازن رسمی آرچ بیسا هستش، بقیه توزیع ها رو نمیدونم.
برای کامپایل هم خیلی ساده از دستور زیر استفاده میکنید:
rubber -m xelatex <file>
"اسم file رو باید بدون پسوند tex بنویسید"
بخش وسطش هم برای اینه که اگه متنتون فارسی باشه اصولا با xelatex برای کامپایل سر و کار دارید و این میگه که از xelatex استفاده بشه.
مثال:
rubber -m xelatex myfile
جهت اطلاعات بیشتر میتونید من پیجش رو بخونید.
منبعی که منو با rubber آشنا کرد این stackoverflow بود.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
👍1