LinFAQ
313 subscribers
23 photos
4 videos
3 files
54 links
GNU/Linux FAQ

Advertise : @LinAdvertise

By @LinAcademy
Download Telegram
🥱3
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش ریکاوری با برنامه photorec


دسته بندی:#آموزش

🔅@LinFAQ
🔅@LinAcademy
نام : حل مشکل صدا در آرچ ( اپدیت may سال 2023 )

دسته بندی : #HotFiX

توضیحات : بعد از آخرین آپدیت آرچ لینوکس و تغییر مخازن آرچ به گیت لب، ممکنه بعضی از دوستان که بطور خاص از PipeWire هم برای صدای سیستم استفاده می کنن در برخی محیط ها با مشکل صدا رو به رو شده باشن ( مثلا بعد از استفاده از Proton یا جدا کردن هدفون )، خب دلیل این مشکل چیه ؟!
متاسفانه یک باگ در درایور صوتی wireplumber به وجود اومده که این مشکل رو می سازه، خب اینجای کار حتماً میگید پس راه حل چیه از PulseAudio استفاده کنم و بیخیال قابلیت ها و کانفیگ های خودم روی PipeWire بشم ؟
نه دوستان فقط کافیه بجای wireplumber از pipewire-media-session استفاده کنید به همین سادگی، بریم سراغ فرآیند نصب :

۱ - بسته های زیر پیش نیاز فعال شدن pipewire-media-session هستن.

sudo pacman -S pipewire pipewire-alsa pipewire-pulse pipewire-jack 
بعد از نصب پیش نیاز ها میریم سراغ مرحله بعد

۲ - نصب بسته pipewire-media-session کار راحتی هستش توی مخازن آرچ موجود و کافیه به راحتی با pacman نصبش کنید.

sudo pacman -S pipewire-media-session
اینجا اگر ازتون پرسید که آیا جایگزین wireplumber بشه یا نه کافیه تایید کنید، بعد از نصب ممکنه خودش بصورت اتوماتیک سرویس خودش رو فعال کنه ولی استارت نمی کنه.

۳ - فعال سازی و استفاده از pipewire-media-session بسیار راحت، شما دو راه برای فعال سازی اون دارید یا به کمک systemd و رقبا اون رو توی سرویس هاتون فعال کنید.

systemctl enable —user —now pipewire-media-session
یا این که اون رو توی آتو استارت هاتون قرار بدین.

pipewire-media-session &
به همین سادگی.

💠 نکته : شما نیاز دارید قبل از استفاده از PipeWire درایور های صوتی alsa و کدک های صوتی gst رو نصب کنید.
💠 نکته : این آموزش فقط برای افرادی بود که از PipeWire استفاده می کنند ولی شما برای مدیریت اون می تونید از pavucontrol-qt هم استفاده کنید که در اصل برای PulseAudio ساخته شده.


🔅@LinFAQ
🔅@LinAcademy
1
آموزش نصب پلاگین های ویدیو و صدا در توزیع فدورا

توضیحات : در برخی موارد به علت عدم نصب نبود پلاگین ها ویدیو در مرورگر و پخش کننده های ویدیویی پخش نمی شود

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

برای حل این مشکل به ترتیب دستورات زیر را در ترمینال وارد کنید :


sudo dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel

sudo dnf install lame\* --exclude=lame-devel

sudo dnf group upgrade --with-optional Multimedia

🔅@LinFAQ
🔅@LinAcademy
admin-scripts.tar.xz
207.8 KB
LinFAQ
admin-scripts.tar.xz
مجموعه اسکریپت مورد نیاز ادمین سیستم

دسته بندی : #مدیریت‌اسکریپت

🔅@LinAsk
🔅@LinAcademy
1
راهنمای نصب آرچ

دسته بندی : #آموزش

توضیحات : اگر دنبال نصب آروچ هستین و داکیومنتی نیاز دارین که همه چیز رو دور هم جمع کرده باشه که نخواید برای نصب آرچ چندین صفحه رو بخونید این می تونه مفید باشه.

لینک :
Github


💠 نکته : این آموزش برای کپی و پیست نیست، برای این که، بتونید از طریقش یادبگیرید.
پس قبل از استفاده از اون تمام مراحل رو درک کنید و حتی ابزار های جایگزین رو هم جست و جو کنید و بشناسید.


🔅@LinFAQ
🔅@LinAcademy
👍2👎1
چرا مانجارو استفاده نکنیم.

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

توضیحات: حتما براتون سوال شده چرا مانجارو توی جوامع جدیدا منفور شده یا میگن استفاده نکنید، توی این پست قرار به این پرداخته بشه.

مرجع و لینک :

w.eggman.ir

🔅@LinFAQ
🔅@LinAcademy
👎4👍3
چگونه تاخیر دوربین هنگام استفاده در MPV را حذف کنیم ؟

دسته بندی ‌: #کاربردی

دستور زیر را در ترمینال وارد کنید :

mpv --profile=low-latency --untimed /dev/video0

نکته : ‌اگر از دو عدد وب کم استفاده می کنید بجای 0 از 1 استفاده کنید

🔅@LinAsk
🔅@LinAcademy
👏1
چگونه توسط wget یک لیست رو دانلود کنیم ؟

دسته بندی ‌: #کاربردی

۱ : ابتدا یک فایل متنی ایجاد کرده و لینک های دانلود را در آن جایگذاری کنید ( الان اکثر سایت ها گزینه کپی کردن همه لینک ها رو دارن )

۲ : سپس ترمینال را باز کرده و به مسیر فایل متنی رفته و از اپشن -i برای اینکار استفاده کنید

wget -i file-name.txt


🔅@LinAsk
🔅@LinAcademy
👍1👏1
روش اضافه کردن گلاسوری های بابیلون در نرم افزار GoldenDict

دسته بندی ‌: #کاربردی

۱ : ابتدا بسته به نیازتان دیکشینری مورد نظر را دانلود کنید
۲ : اگر داخل فایل فشرده باشه استخراج کنید و درنهایت فایل های با پسوند .BGLخواهید داشت
۳ : وارد نرم افزار GoldenDict شده و گزینه Edit سپس گزینه Dictionaries را انتخاب کنید
۴ : در پنجره باز شده وارد تب Files شده و گزینه Add را بزنید
۵ : مسیر فایل های دانلود شده را داده و روی گزینه Apply کلید کنید


نکته :

۱ : علاوه بر دیکشینری های بابیلون شما میتوانید از تب WikiPedia ادرس ویکی پدیای فارسی را داده تا کلمه مورد نظر شما در ویکی پدیا نیز جستجو شود

۲ : همچنین میتوانید سایت های ترجمه را از تب Websites اضافه کنید

راهنمایی : جهت فعال یا غیره فعال کردن دیکشینری مورد نظر از نوار ابزار > قسمت دیکشینری استفاده کنید ( با علامت ستاره قرمز مشخص شده )

🔅@LinAsk
🔅@LinAcademy
2👍1
حل مشکل Warp

دسته بندی : #دی‌ان‌اسDNS

شرح ماجرا : بعضی از کاربر ها گذارش کردن که وقتی می خوان به Warp وصل بشن توی توزیع خودشون متاسفانه مشکل قطع و وصل شدن مکرر رو تجربه می کنن، دلیل این مشکل جلوگیری سیستم شما از تغییر DNS هستش، شما برای حل این مشکل باید سرویس systemd-resolved رو کانفیگ کنید.

۱ : به کمک ادیتور تحت ترمینال خودتون با مجوز ریشه فایل
/etc/systemd/resolved.conf
رو باز کنید.
۲ : دنبال ResolveUnicastSingleLabel بگردید و اون رو از کامنت خارج کنید.
۳ : مقداری اولیه متغییر رو از no به yes تغییر بدید و فایل رو ذخیر کنید.
۴ : سرویس رو به کمک systemctl ریستارت کنید.
systemctl restart systemd-resolved.service

💠 نکته : همیشه ممکن مشکل از این بخش نباشه برای اطلاعات بیشتر می تونید ریپوی گیت هاب cloudflare-docs رو مطالعه کنید.

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

دسته‌بندی: #کاربردی

راجب wrap داخل نئوویم:
تو یه سری تکست ادیتور ها وقتی کاراکتر های لاین بیشتر از فضای قابل نمایش میشه، ادامه متن داخل همون خط میمونه و پنهان میشه.
اما تو یه سری دیگه مثل ویم طوری نمایش داده میشه که به ظاهر چند خط به نظر میاد، چون آپشن wrap دیفالت on هست.
اگه میخواید حالت اول ایجاد بشه میشه مقدار wrap رو false کرد.
ضمناً help اش رو چک کنید

( :h 'warp' )

چون 2 تا آپشن دیگه رو هم پیشنهاد داده که فکر کنم مفید باشه.

🔅@LinFAQ
🔅@LinAcademy
2
#روزی_یک_نکته با دلاتو

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

داخل نئوویم برای کانفیگ با لوا:

خب میشه از vim.o و vim.opt استفاده کرد که یکم ظاهرا فرق دارن...
اما جدای از اون، برای vim.o هم چیزایی مثل vim.bo و vim.wo داریم.
ظاهرا میشه جای همشون vim.o استفاده کرد و ایرادی نداره، اما اگه بخوایم دقیق باشیم و ببینیم هر کدوم کجا کاربرد داره کافیه به help اون آپشن نگاه کنیم، مثلا با چک کردن
( :h 'shiftwidth' )
میبینیم نوشته local to buffer پس vim.bo مناسبشه.
طبیعتا vim.wo مناسب local to window هست.

source

🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو

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

برا داشتن لیست ابزار های نصب شده داخل پکمن:
کاری که انجام دادم این بود که لیست کل پکیج های نصب شده رو داخل یه فایل نگه داشتم (هر خط اسم یه پکیج)، مثلا توی مسیر زیر:

/home/user/packages.txt

خب حالا هر بار میخوام سیستم رو بروز کنم یا پکیجی رو نصب کنم از دستور زیر استفاده میکنم (که میشه براش یه alias ردیف کرد):

sudo pacman -Syu --needed - < /home/user/packages.txt

(چون sudo اولش هست اگه ~ استفاده کنم تو home یوزرم دنبال فایله نمیگرده...
برای همین مسیر کامل دادم، هنوز تست نکردم
$HOME
جواب هست یا نه)، که خب لیست فایل رو میگیره و اگه نصب نبودن همزمان با بروز کردن سیستم اون هارو هم نصب میکنه
(فلگ needed-- برا اینه که اگه از قبل اون پکیج ها نصب و بروز بودن دوباره نصبشون نکنه).
میتونید یه alias ردیف کنید براش:

alias update='sudo pacman -Syu --needed - < /home/user/packages.txt'

اینطوری برا نصب پکیج، کافیه اسم پکیج رو به اون فایل اضافه کنید و بعد update رو اجرا کنید.

برا لیست کردن پکیج های نصب شده میشه از دستور زیر استفاده کرد:

pacman -Qqe > pkglist.txt

منبع: https://wiki.archlinux.org/title/pacman/Tips_and_tricks#List_of_installed_packages

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

اگه بخواید بر اساس اون لیست کل پکیج ها حذف/ نصب بشن (هر پکیجی که تو لیست نبود ولی نصب بود حذف بشه و هر پکیجی که تو لیست بود ولی نصب نبود نصب بشه) میشه از این بخش ویکی کمک گرفت:


در نهایت این شیوه ها برای نصب دوباره پکیج ها روی سیستم جدید و به صورت کلی مدیریتشون کمک میکنه.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دسته‌بندی: #کاربردی #آموزشی
دیروز گفته بودم وقتی از '~' استفاده کردم جواب نداد، اون موقع کامند رو برای تست توی یه فایل انداخته بودم و اسکریپت رو به صورت
sudo ./test.sh

ران میکردم، ولی الان که مستقیم دستور رو ران کردم حتی با استفاده از ~ هم مسئله ای پیش نیومد.
یه حدسی که دارم اینه که الان سمت راست دستور که با > به سمت چپ داده میشه مستقیم اجرا میشه، ولی وقتی داخل اسکریپت بود و اسکریپت رو با sudo ران میکردم هر 2 بخش دستور با sudo ران میشد؟
حدس دومم اینه که چون داخل اسکریپت بود ~ رو تبدیل نمیکرد؟ که نباید اینطوری باشه پس حدس اولم منطقی تر بنظر میاد... فکر کنم وقتی داخل اسکریپت بود به صورت

sudo pacman -Syu --needed - < sudo ~/path/to/file.txt

اجراش میکرد؟
این سری بیشتر سوالی شد (((=
ولی به هر حال، چون قراره alias باشه پس هم
~
و هم
$HOME
و هم مسیر کامل جوابن.

🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو

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

یه سری دستور برای جستجو و نصب و حذف راحت تر پکیج ها داخل پکمن با کمک
fzf
(فقط چون با fzf ردیف شدن جای alias باید با function ردیفشون کرد):

https://wiki.archlinux.org/title/fzf

https://wiki.archlinux.org/title/pacman/Tips_and_tricks#Browsing_packages

🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو

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

راجب statusline و احتمالا چند تا مورد دیگه داخل (نئو)ویم:

همونطور که میدونید
ویم (vim)
و
نئوویم (nvim)

وقتی laststaus روی مقدار 2 یا 3 باشه یه statusline رو پایین صفحه نمایش میدن.
به صورت پیش فرض (بدون هیچ کانفیگ و پلاگینی)

این statusline اطلاعات نسبتا زیادی شامل فایل و مسیر، فلگ ها مثل read only، وضعیت فایل که ویرایش شده یا نه، خطی که روش هستیم و... رو نمایش میده.
خب برای شخصی سازیش میشه تو 40/50 لاین یه استیتوس لاین کامل تر ساخت یا یه پلاگین نصب کرد یا هزار راه دیگه.
نحوه ساختش هم اینطوری هست که میگیم

set statusline=something

و بعد مقادیر رو در ادامش اضافه میکنیم، اگه بخوایم موردی رو هم به statusline موجود اضافه کنیم از
=+
به جای
=

استفاده میکنیم، داخل لوا هم وضعیت کم و بیش همینه:
vim.o.statusline = 'something'
vim.o.statusline = vim.o.statusline .. 'something'


خب یه سوالی پیش میاد:
اگه بخوایم statusline دیفالت رو نگه داریم و یکی 2 آپشن بهش اضافه کنیم نمیتونیم از همین شیوه بالا پیش بریم و فقط مقدار دهی اولیه رو انجام ندیم؟
مثلا بخوایم شماره بافر رو به statusline مون اضافه کنیم ولی بقیش دیفالت بمونه نمیتونیم از

vim.o.statusline = vim.o.statusline .. ' %n'

استفاده کنیم؟
و نکته امروز به اینجا ختم میشه که جواب خیلی شیک و مجلسی "نه" هست، ظاهرا هیچ مقدار دهی اولیه ای برای statusline وجود نداره و بعد انجام دستور بالا
(در صورتی که پلاگین یا کانفیگی برای statusline انجام نداده باشید)

تنها چیزی که داخل statusline میبینید شماره بافر فعلی هست.

🔅@LinFAQ
🔅@LinAcademy
👍1
#روزی_یک_نکته (این سری) با mohammad.b

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

برای نوشتن استرینگ چند خطی داخل bash

یک فایل temp میسازه و محتوای بین بلاکو توش میذاره و میده به برنامه مثل:

cat <<test_multistring
hi world
test
test_multistring

معادل:
echo -e "hi world\ntest" > /tmp/test.txt

cat /tmp/test.txt && rm /tmp/test.txt


و بلاک اخرش(توی اینجا test_multistring) here doc ها باید بدون space/tab باشه.

source

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

#آموزشی #کاربردی
بعد نصب دوبار توزیع ارچ در یک روز داشتم و دیدم برای کسی دیگه هم پیش اومده که فولدر های
Downloads
Desktop
Music
و...
ساخته نمیشه فک میکردم باگی چیزی باشه ولی خب نفهمیدم آخر برای چیه ولی خب دلاتو این پکیج معرفی کرد

xdg-user-dirs

که با این دستور

xdg-user-dirs-update

کار می‌کنه طبیعتا دستی هم اجرا میشه ولی باید
داخل این مسیر

~/.config/user-dirs.dirs

به این صورت وارد کنی

XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_VIDEOS_DIR="$HOME/Videos"

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


برای خود من که با دستور

xdg-user-dirs-update

درست شد

لینک ویکی ارچ : source

🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با mohammad.b

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

عکس توی ترمینال
نمیشه بشه هم چیز خوبی در نمیاد (یکم پیچیده میشه و باید ترمینالت ساپورت کنه) چون ترمینالا فقط کاراکتر میشناسن (ascii, unicode)
پس چطور این ابزارا مثل
libsixel
icat
ueberzug
کار میکنن:
libsixel
icat (kitty):
یک پروتکل خاص دارن و میان از

control characters

استفاده میکنن. بعد ترمینالت وقتی فلان کنترل کاراکتر رو میگیره میفهمه این عکسه و فلان پیکسلارو فلان جا باید یه رنگی بکنه برای همین برای این دوتا باید ترمینالت ساپورت کنه.
ueberzug (rip):
میاد مستقیم به X server میگه یک پنجره توی x, y ترمینالت بسازه و عکسو توش بزار برای همینم نیازی به ساپورت ترمینالت نداره

Source

توضیح سایت kitty راجبش

🔅@LinFAQ
🔅@LinAcademy
🔥2