- Последний пост
- 12 апр.
- Последнее чтение
- 14 авг.
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- персидский
- В каталоге с
- 14 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
#روزی_یک_نکته با پاکروح دستهبندی: #آموزشی #کاربردی #مرورگر #امنیت امروز یه چیز باحال یاد گرفتم که احتمالاً به درد خیلیاتون میخوره؛ مخصوصاً کسایی که با Adobe Connect سروکله میزنن و هنوز گیر نسخهی قدیمی و فلشمحور میافتن. ماجرا چی بود؟ روی یه سری از سرورها، Adobe Connect هنوز سعی میکنه نسخهی قدیمی رو لود کنه؛ درحالیکه مرورگر و سیستم کاملاً HTML5 ساپورت میکنن. حقهش چیه؟ اگه فکر کنه سیستم شما ChromeOS هست، اجباراً نسخه HTML5 رو بالا میاره و اینجاست که uBlock Origin وارد میشه! امروز یاد میگیریم چطور فقط با یه ترفند کوچیک، Adobe Connect رو مجبور کنیم نسخهی HTML5 رو بیاره بالا. مرحله ۱: ورود به داشبورد uBlock Origin از بالای مرورگر روی آیکون uBlock Origin کلیک کنید و بعد روی گزینهای که شبیه چرخدنده هست بزنید. این میبردتون داخل Dashboard. مرحله ۲: رفتن به بخش "My filters" از سمت چپ منو، گزینه My filters رو انتخاب کنید. اینجا همون جاییه که میتونید قانونهای اختصاصی برای سایتها ثبت کنید. مرحله ۳: اضافه کردن قانون مخصوص HTML5 حالا فقط این خط جادویی رو اضافه کنید: site_adobe_connect.ir##+js(set, chromeOS, true) به جای site_adobe_connect.ir آدرس سرور Adobe Connect خودتون رو بزنید. این قانون کاری میکنه Adobe Connect فکر کنه شما از ChromeOS استفاده میکنید و خودش اتومات میره سمت نسخه HTML5 😎 مرحله ۴: ذخیرهسازی بالای صفحه روی Apply changes بزنید. تمام شد! از این به بعد هر بار وارد کلاس یا جلسه شوید، HTML5 بالا میآید بدون هیچ دردسر یا افزونه اضافی. مرحله ۵ (اختیاری اما باحال): اگه چندتا سرور مختلف دارید، میتونید نسخه عمومیترش رو بذارید: ||*.adobeconnect.com##+js(set, chromeOS, true) این برای تمام سرورهای Adobe Connect کار میکنه. و تمام! بدون نصب برنامه، بدون Flash Player، بدون بازنویسی URL — فقط با یه حرکت تمیز و هوشمندانه ✨ @LinAcademy | @LinFAQ
#روزی_یک_نکته با پاکروح دستهبندی: #آموزشی #کاربردی #گرافیک #لینوکس امروز یه اتفاق جالب برام افتاد: داشتم با سیستم کار میکردم، طبق معمول نرم افزار عزیز متاتریدر باز بود، یهو تصویر کامل قفل کرد! موس نمیجنبید، صفحه خشک شد، ولی موزیک هنوز پخش میشد! یعنی سیستم فریز گرافیکی کرده بود، نه کرش کامل. اولش فکر کردم باید ریست کنم، ولی بعد فهمیدم لازم نیست! کافیه فقط درایور گرافیک رو دوباره بارگذاری کنم تا دسکتاپ برگرده سر جاش — بدون از دست دادن هیچ کاری. راهش خیلی سادهست 👇 # برای GNOME sudo systemctl restart gdm # برای KDE sudo systemctl restart sddm # برای NVIDIA sudo modprobe -r nvidia_drm nvidia_modeset nvidia && sudo modprobe nvidia # برای AMD sudo modprobe -r amdgpu && sudo modprobe amdgpu اگه صفحه کامل هنگ کرده بود: 1. با Ctrl + Alt + F2 برو tty 2. وارد شو 3. دستور بالا رو بزن 4. بعد با Ctrl + Alt + F1 (یا F7) برگرد با این کار، بدون ریست، تصویر دوباره زنده میشه 😎 درنهایت می تونید براش یه شل اسکریپت بنویسید و یه Bind براش تعریف کنید خیلی خیلی کم پیش میاد ولی اگه پیش بیاد شما دیگه راه حلش رو دارید. @LinAcademy | @LinFAQ
#روزی_یک_نکته با حسن دستهبندی: #آموزشی #کاربردی #کرنل #لینوکس امروز اومدیم یه مشکل کوچیک موقع انتقال فایل رو در لینوکس حل کنیم. حالا این مشکل چیه؟ تصور کنید شما یه فایل بزرگ رو کپی میکنید. کرنل لینوکس فایل رو به حافظه (RAM) منتقل میکنه. اما همین کار ممکنه باعث بشه که مدیر فایل شما فکر کنه همه چیز تمومه چون سرعت حافظه (RAM)، از SSD یا USB سریع تره در حالی که فایل هنوز در حال انتقال از حافظه به هارد یا USB هست. خب راه حل چیه ؟ محدود کردن بافر میتونیم به لینوکس بگیم: "وقتی این مقدار داده توی حافظه جمع شد، تازه شروع کن به انتقال به مقصد" این کار باعث میشه که پیشرفت کپی فایل به صورت های مرحلهای و واقعی جلوتر بره؛ یعنی شما میتونید قدم به قدم پیشرفت رو ببینید و از عدم هماهنگی سیستم جلوگیری بشه. چطوری این کار رو میتونید انجام بدیم؟ خیلی ساده است: 1. وارد مسیر /etc/sysctl.d/ بشید و یک فایل به اسم 90-dirty.conf میسازیم. 2. توی اون فایل، دو خط زیر رو قرار میدیم: vm.dirty_background_bytes=16777216 vm.dirty_bytes=50331648 حالا این اعداد چیه؟ • مقدار 16777216 بایت معادل 16 مگابایت هست. یعنی وقتی فضای بافر به این مقدار رسید، عملیات رو شروع کنه • مقدار 50331648 بایت هم برابر با 50 مگابایت هست؛ یعنی اگر دادهٔ بیشتری تجمع پیدا کنه، کرنل بلافاصله به نوشتن روی مقصد اقدام میکنه. یه نکته مهم هم داره: بعد از اعمال این تنظیمات، سیستمتون رو ریستارت کنید تا تغییرات به درستی اعمال بشه. @LinAcademy | @LinFAQ
😁😁 دوباره یک سال دیگه رو در کنار هم بودیم 🤩🥳 سالی که گذشت سالی پر از ماجرا های عجیب و تغییرات توی دنیای تکنولوژی بود، گنوم ۴۸ و گیمپ ۳ و تغییر اینتل و قدرت گرفتن AMD، هوش مصنوعی های جدید توی چین و حتی ایردراپ های عجیب تلگرامی، ولی درکنار همه اینا یه چیزی هنوز باقی مونده و هست و امید دارم که تا همیشه ماندگار باشه و اونم شور و اشتیاقی هستش که برای پیداکردن دانش ها و تست کردن چیزای جدید داریم. سال جدید رو به همه دوست داران آزادی 🕊و نرم افزار آزاد 🐧 تبریک میگم، باشه که امسال خوبی های بیشتری رو تجربه کنیم 🙂↔️🙂↕️ و بیشتر از هرساله دیگه ای از زندگی لذت ببریم✨ با تشکر تیم ادمین های جامعه لین آکادمی ❤️ به ما بپیوندید : @LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #آموزشی #کاربردی #fzf #bash خب بریم 5 تا فانکشن bash ردیف شده با fzf که به کار میاد ببینیم این بخش رو به bashrc اضافه کنید تا با Ctrl r بتونید هیستوری بش رو ببینید یا...: eval "$(fzf --bash)" لیست فایل ها (از جمله فایل های پنهان به جز فایل های داخل .git) function ff() { vim "$(fd --type f --hidden --exclude .git | fzf --preview 'cat {}' --select-1 --exit-0)" } ترکیب cd و fzf(از جمله دایرکتوری های پنهان به جز .git): function fcd() { cd "$(fd --type d --hidden --exclude .git | fzf --preview 'ls -la {}' --select-1 --exit-0)" || exit } لیست فایل ها و باز کردنشون با fzf: open() { xdg-open "$(fd --type f | fzf)" } دستورات جهت حذف و نصب پکیج ها: ( البته در pacman ) install() { pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S } uninstall() { pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns } Source @LinAcademy | @LinFAQ
#روزی_یک_نکته با دلاتو دستهبندی: #آموزشی #کاربردی #emacs #vterm #shell خب برای اینکه bash با vterm هماهنگ کنیم باید چیکار کنیم؟ (بر اساس bash میگم، خودتون با بقیه شل ها مچش کنید) اول داخل bashrc کد زیر رو اضافه میکنیم: if [[ "$INSIDE_EMACS" = 'vterm' ]] \ && [[ -n ${EMACS_VTERM_PATH} ]] \ && [[ -f ${EMACS_VTERM_PATH}/etc/emacs-vterm-bash.sh ]]; then source ${EMACS_VTERM_PATH}/etc/emacs-vterm-bash.sh fi خب تموم شد حالا الان اگه داخل vterm از cd استفاده کنید، مسیر کل ایمکس تغییر میکنه Source @LinFAQ | @LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #آموزشی #کاربردی #shell #prompt تا حالا شده براتون سوال بشه فریمورک های شل مثل oh my zsh / oh my bash چجوری تشخیص میدن وضعیت کامند قبلی رو؟ یا چجوری درک میکنن از وضعیت git پروژه هاتون و داخل شل نشونتون میدن؟ خب کار سختی نیست فقط به این پرامت ها نیاز داری برای git این فایل رو source میکنیم source /usr/share/git/completion/git-prompt.sh بعد بلوک زیر رو به پرامپت شل اضافه میکنیم $(__git_ps1 " (%s)") و برای نشون دادن وضعیت کامند قبلی طبق عکس نیاز به این دارید [$(if [[ $? -eq 0 ]]; then echo -e "✔️"; else echo -e "✖️"; fi)] اینم ترکیب جفتشون با کمی رنگ source /usr/share/git/completion/git-prompt.sh PS1='\w\e[34m$(__git_ps1 " (%s)")\e[0m [$(if [[ $? -eq 0 ]]; then echo -e "\e[32m✔️\e[0m"; else echo -e "\e[31m✖️\e[0m"; fi)] \e[32m\$\e[0m ' source1 source2 @LinAcademy | @LinFAQ
#روزی_یک_نکته با دلاتو دستهبندی: #کاربردی #أموزشی #emacs #vterm برای بدست آوردن یه ترمینال با امکانات کامل داخل emacs باید چیکار کنیم؟🤔 فقط کافیه از vterm استفاده کنید: (use-package vterm ensure t) برای پنهان کردن modeline داخل vterm هم از دستور زیر استفاده کنید: (add-hook 'vterm-mode-hook (lambda () (setq mode-line-format nil))) ضمنا نیازه که cmake هم روی سیستمتون نصب باشه. @LinFAQ | @LinAcademy
#روزی_یک_نکته با A.R.S دستهبندی:#کاربردی #آموزشی #xargs خب بریم یکم با دستور xargs که یکی از باحال ترین دستورات خط فرمانی برای استفاده از دستوراتی که اجازه pipe کردن بهتون نمیدن آشنا بشیم. خب اصلأ Xargs مخفف چیه؟🤔 (extended arguments) نحوه کار باهاش command1 | xargs command2 مثال اول: تو دستور پایین میبینید که ls قابلیت pipe کردن نداره. :( ls | ls میایم و پاس میدیم به xargs ، میبینیم که یه فلگ I هست که مشخص میکنه که جایگشتمون چی باشه. جاش هر چیزی میتونیم بزاریم ولی خب این مرسوم تره. دستور xargs میاد و دستور جلوش رو برای هر خط از خروجی ls ران میکنه. ls | xargs -I {} ls "/home/$USER/{}" البته ما میدونیم که خود ls هم میتونه حرکتی شبیه این رو بزنه. ls * ولی خب جاهایی هست که چنین چیزی رو نداریم. مثلا تو دایرکتوری میخواید یه فایل از 1 تا 1000 درست کنید. seq 1000 | xargs -I {} touch {}.txt یا حتی تغییر نام بدید. ls | cut -d. -f1 | xargs -I {} mv {}.txt {}.text یا حتی فایل ها رو دیلیت کنید. find . -type f -name "*.text" | xargs rm خود find هم قابلیتی داره که اجازه اجرای دستوری برای هر کدوم از نتایج جستجو رو داره ولی به سرعت xargs نمیرسه. find . -type f -name "*.txt" -exec rm {} \; اینم یه ویدیو کامل تر Source @LinFAQ | @LinAcademy
без подписи
#روزی_یک_نکته با رضا چطور شل سیستم رو عوض کنیم؟ #اموزشی #کاربردی #Linux #Shell #Customization خب یه مدتی نبودیم بریم سراغ نکته تو لینوکس، شل (shell) مثل پل ارتباطی بین کاربر و سیستم عمل میکنه. شل پیشفرض در بیشتر لینوکسها، Bash (Bourne-Again SHell) هست ولی میتونیم شل رو به گزینههای دیگه مثل Zsh Fish Tcsh تغییر بدیم. برای تغییر شل: 1. اول باید ببینیم چه شلهایی تو سیستم داریم. تو ترمینال این دستور رو بزنیم: cat /etc/shells این دستور لیست همه شلهای موجود تو سیستم رو نشون میده. 2. حالا برای اینکه ببینیم الان از کدوم شل رو استفاده میکنیم ، باید این دستور رو بزنیم: echo $SHELL این دستور شل فعلی رو نشون میده. 3. حالا اگه میخوایم شل رو عوض کنیم، این دستور رو بزنیم: chsh -s /bin/zsh این دستور شل رو به Zsh تغییر میده. 4. بعد از اجرای دستور، باید از ترمینال خارج بشیم و دوباره وارد سیستم بشیم تا تغییرات اعمال بشه. 5. برای برگشتن به Bash، کافیه همین مراحل رو تکرار کنیم و به جای /bin/zsh /bin/bash رو وارد کنیم. با این روش میتونیم شل دلخواهمون رو انتخاب و محیط کاری خودمون رو سفارشیسازی کنیم. @LinAcademy @LinFAQ
#روزی_یک_نکته با رضا #اموزشی #کاربردی #kvantum #qt خیلی وقت بود چیزی نگفته بودم اینجا تا به مشکل خوردم شده تا حالا برای مثال از kde سوییچ کنی به یه wm یا de تم های اپ های qt بهم بریزه ؟ خب دیگه این مشکل نداری نگران نباش فقط کافیه این دو پکیج نصب کنی qt6ct kvantum خب نصب کردیم بعدش چیکار کنیم؟🤔 این /etc/enviroment مسیر رو پیدا میکنین و فایل رو ادیت میکنیم و این دو لاین زیر رو اضافه میکنیم QT_QPA_PLATFORMTHEME=qt6ct QT_STYLE_OVERRIDE=kvantum خب حالا یکبار دسکتاپ لاگ اوت میکنیم بعد میریم سراغ qt6ct تنظیمات انجام میدیم و بعد داخل kvantum تم رو ست میکنیم و تمام قابل استفاده است. تشکر از سهراب بابت کمک @LinAcademy @LinFAQ
دوستان به کانال اصلی لین آکادمی بپیوندید، همه پست های مجموعه کانال های لین آکادمی رو می تونید از کانال اصلی دنبال کنید. همچنین لیست کاملی از کانال های مجموعه لین آکادمی در کانال اصلی پین شده. 🔅@LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #کاربردی #آموزشی #emacs #buffer جا به جا کردن بافر ها بین split ها داخل ایمکس: کافیه از پکیج buffer-move استفاده کنید: (use-package buffer-move) بعد با دستورات buf-move-up و buf-move-down و buf-move-left و buf-move-right میشه بافر ها رو بین اسپلیت ها عوض کرد (که طبیعتا براشون کی بایند ردیف میکنید). Source 🔅@LinFAQ 🔅@LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #کاربردی #آموزشی #emacs نمایش trailing space داخل ایمکس: (setq-default show-trailing-whitespace t) Source اینم یه لینک دیگه 🔅@LinFAQ 🔅@LinAcademy
🎉🎉🎉🎉🎉🎉🎉🎉🎉 ز کوی یار میآید نسیم باد نوروزی از این باد ار مدد خواهی چراغ دل برافروزی آغاز سال جدید رو به تمامی شما دوستداران نرم افزار آزاد تبریک میگم. امیدوارم که سالی پر از موفقیت، سلامتی، آرامش و خوشحالی (و همینطور پر از کامیت های مفید) پیش رو داشته باشید. 🎉🎉🎉🎉🎉🎉🎉🎉🎉 🔅@LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #کاربردی #آموزشی #emacs #treesitter ردیف کردن tree-sitter داخل ایمکس: گام اول باید require ش کنید. گام دوم لیست کردن گرامر هاست. گام سوم نصبشونه. گام چهارم باید به major mode ها hook شون کنید که جایگزین بشن. نمونه: خط های 443 و 444 که کامنتشون کردم مربوط به مرحله سوم یعنی نصب هست و برای این کامنت هستن که با هر بار اجرای ایمکس از نو clone نشه و... بعد اگه eglot استفاده میکنید یا هر چیزی هست که به major mode اولیه hook شده، باید به این مد هم hook بشه وگرنه اجرا نمیشه، نمونه. منبع جهت توضیح کامل: لیست گرامر ها: میدونم توضیحاتم کم بود ولی دلیل این بود که منبع گفته شده، به صورت کامل توضیح داده و توضیح قضیه طولانی میشد برای همین خلاصه گفتم اگه سوالی هم داشتید (که با وجود توضیح کمم احتمالا پیش بیاد) راحت باشید و بپرسید. در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید. 🔅@LinFAQ 🔅@LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #آموزشی #کاربردی #emacs #eshell اجرای دستورات شل به صورت async داخل ایمکس: کافیه M-x رو بزنید و بعد async-shell-command رو انتخاب کنید و بعد از اینتر زدن دستورتون رو وارد کنید. اگه project-async-shell-command رو انتخاب کنید دستور داخل root پروژه اجرا میشه (که هنوز نمیدونم چجوری تشخیص میده و باید بیشتر تحقیق کنم و پیش برم). 🔅@LinFAQ 🔅@LinAcademy
#روزی_یک_نکته با دلاتو دستهبندی: #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
#روزی_یک_نکته با دلاتو دستهبندی: #آموزشی #کاربردی #emacs #corfu اضافه کردن auto completion به ایمکس: کافیه پکیج corfu رو نصب کنید، مراحل کامل کانفیگ و نصب اینجا گفته شده و چون یکم دستورات طولانی هستن اینجا تایپ نمیکنم که شلوغ نشه... و خب همش کپی پیسته. راجب اون popup menu ای که داره توضیحات نشون میده، برای فعال کردنش (corfu-popupinfo-mode) رو به بخش init ااون use-package اضافه کنید، اگه موفق نشیدید یا سوالی داشتید راحت باشید و بپرسید. 🔅@LinFAQ 🔅@LinAcademy