Linuxor ?
21.6K subscribers
1.33K photos
159 videos
10 files
1.02K links
اخبار لحظه ای تکنولوژی و معرفی ابزار های کامپیوتری و برنامه نویسی!

تبلیغات و ارتباط با من :
@LinuxorContact
Download Telegram
یه جایگزین خوب برای دستور cat

ابزار bat یه میتونه یه جایگزین خوب برای cat باشه البته فقط توی کامپیوتر شما نه توی لینوکس !!! چون لینوکس یکی از اهدافش اینه ساده باشه.

ابزار bat میتونه syntax اکثر فایل ها رو بفهمه و اونارو رنگی کنه و باعث خوانایی بیشتر اونا بشه

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

tail -f /var/log/pacman.log | bat --paging=never -l log

میتونید لاگ های pacman رو به صورت سینتکس هایلایت ببینید.


به نقل از توسعه دهنده هاش میتونید باهاش man پیج هارو هم سینتکس هایلایت کنید :

برای این کار باید متغیر محیطی MANPAGER رو تعریف کنید :

export MANPAGER="sh -c 'col -bx | bat -l man -p'" man 2 select

(اگه دبیان بیس هستید بجای bat بنویسید batcat)

🐧 @Linuxor
👍2
System Monitoring Center

تقریبا هیچ توزیعی ابزاری به کاملی System Monitoring Center نداره با این ابزار میتونید یه مانیتور کلی از اطلاعات سخت افزاری و نرم افزاری کامپیوترتون داشته باشید.

از جمله کاربرد های این برنامه
مانیتور کردن
CPU , GPU , RAM , disk , Network
مدیریت کردن
processes, users, startup applications and services (systemd)
و اطلاعات کلی درباره سیستم و سنسور ها


لینک صفحه ریلیز و دانلود

نیازمندی ها :

+ python 3 (Programming language)
+ GTK3 (GUI)
+ python3-opengl (for FPS counting)

🐧 @Linuxor
👍3
یه ابزار کامندلاین قدرتمند برای دانلود از یوتیوب

بدون شک هیچ ابزاری بهتر از youtube-dl نمیتونید پیدا کنید که این همه قابلیت رو باهم داشته باشه ، به طوری که کلی از سایت های دانلودر از این ابزار برای دانلود استفاده میکنند ، سوال اینجاست چرا این ابزار روی کامپیوتر شما نباشد؟

دانلود و نصب :
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+rx /usr/local/bin/youtube-dl


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

🐧 @Linuxor
خودکار سازی توی لینوکس !!


با ابزار at میتونید یه سری فعالیت رو توی یه زمان خاصی اجرا کنید مثلا میتونید با این ابزار به کامپیوتر خودتون بگید ساعت 10:00 یه ناتفیکیشن به شما بده که یادتون بمونه ایمیل هاتون رو چک کنید.


بعد از نصبش از پکیج منیجرتون حتما سرویس atd رو enable کنید

sudo systemctl enable --now atd



راهنما :
at 07:30

یعنی ساعت هفتو نیم صبح (با اجرا کردن از شما اون برنامه خاصی که میخاید اجرا کنید رو ازتون میپرسه بعش با Ctrl+D میره توی صف برای انجام اون برنامه توی زمان داده شده)


روش بعدی استفاده از at استفاده از pipe هست

echo "YOUR_COMMAND" | at 07:30

مثلا
echo "notify-send 'Hi Linuxor !' " | at 07:30

ساعت هفتو نیم به شما یه نوتفیکیشن میده با متن Hi Linuxor


از فرمت زیر هم میتونید استفاده کنید
at now +3 hours
که به سه ساعت دیگه اشاره داره
بجای hours از minutes , days , weeks هم میتونید استفاده کنید
به صورت های مختلفی میشه از at استفاده کرد پیشنهاد میکنم حتما من پیجش رو بخونید


برای دیدن لیست کار های درصف از سویچ -l استفاده کنید
at -l
برای حذف هم شماره اون فعالیت رو بردارید و با سویچ -r حذفش کنید (مثلا جاب سوم)
at -r 3

برای تکرار فعالیت در بازه یا زمان مشخص میتونید بجای at از کرون جابز استفاده کنید
البته کرون بیشتر به درد سرور ها میخوره مثلا باهاش میشه هر شب ساعت ۱۱ از سرور بکاپ گرفت یا مثلا یه اسکریپت رو توی بازه زمانی مشخص مثلا هر ۵ دقیقه یکبار اجرا کرد و کلی کار باحال دیگه کرد که منو تو ازش بی خبریم !!

🐧 @Linuxor
👍4
استخراج متن از عکس !!

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


اما این قابلیت ، قابلیت جدیدی نیست حدود دو دهه پیش اولین ابزار های نیمه حرفه برای این کار ظهور کردند اما اون موقع نیاز به این ابزار ها به قدر الان نبود ابزار gImageReader یه ابزار اپن سورسه که میتونید باهاش این کارو به راحتی یه کلیک انجام بدید .

+ صفحه دانلود و ریلیزش

🐧 @Linuxor
👍2
Linuxor ?
استخراج متن از عکس !! وقتی که یه متن داخل عکس باشه و بخوایم کپیش کنیم توی حالت عادی عملا غیر ممکنه و مجبوریم کلی وقت و انرژی بزاریم که اونو تایپ کنیم ، این انرژی ها و وقت های هدر رفته به قدری زیاد شد که کمپانی های بزرگ مثل اپل هم حتی مجبور شدن این قابلیت…
اگه توی لینوکس فنی هستید یا به اصطلاح لینوکسور هستید باید بهتون بگم ابزار gImageReader فقط یه پوسته گرافیکی برای tesseract-ocr هست tesseract-ocr یکی از بزرگ ترین پروژه های پردازش متنه که توسط HP اوپن سورس شده و درحال حاظر گوگل داره روی توسعه ش کار میکنه

این پروژه در حال حاظر از 100 زبان زنده دنیا از جمله فارسی پشتیبانی میکنه

از tesseract-ocr میتونید حتی توی برنامه های خودتون استفاده کنید و برنامه هایی با تعامل بالا با یوزر بسازید

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

tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]

+ راهنمای استفاده کامندلاین

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

🐧 @Linuxor
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
یه ابزار برای تایپ کردن هوشمند توی لینوکس !!

ابزار espanso این امکانو بهتون میده که با تایپ یه شورتکات معادل اون رو تایپ کنید مثلا با تایپ
:date
خودکار برنامه اون رو با تاریخ جاری عوض میکنه.

(تلگرام هم یه همچین قابلیتی برای جستجوی ایموجی داره ؛ اگه کولون رو تایپ کنید و جلوش اسم یه ایموجی رو بنویسید اون ایموجی رو براتون میاره مثلا iran: پرچم ایران رو میاره )

ابزار espanso تقریبا روی هرجایی کار میکنه (حتی توی ترمینال) و به راحتی میتونید شخصی سازیش کنید و کلی قابلیت جالب بهش اضافه کنید.


هرچقدر از باحالی این ابزار بگم بازم کم گفتم این ابزار یه پکیج منیجر built-in داره که میتونید پکیج هایی که مردم قبلا شخصی سازی کردن رو استفاده کنید.
همچنین میتونید یه اسکریپت خاص رو بهش وصل کنید و با تایپ یه کلمه خروجی اسکریپت رو ببینید !!
اگه با Regex آشنایی دارید با Regex triggers میتونید کلی حرکت باحال بزنید.


+ صفحه ریلیز و دانلود
+ صفحه گیتهاب

🐧 @Linuxor
👍4
یه سایت فوق العاده کاربردی برای چیت شیت

چیت شیت چیه؟
تابحال براتون پیش امده که برای مدتی از یه چیزی استفاده نکنید و روش استفاده از اون رو یادتون رفته باشه؟ مسلما نمیرید دوباره اونو از اول یاد بگیرید چون یه چیزایی ازش یادتون هست و از ابتدا شروع کردنش کار بیهوده ایه ؛ اینجاست که چیت شیت (کوییک رفرنس هم بهش میگن) به کارتون میاد ، چیت شیت در واقع یه برگه تقلبه کوچیکه که فقط نکته های مهم توش نوشته شده و معمولا هم نکته های ابتدایی توش نوشته نمیشه (البته اینم بگم اگه مثل من تنبلید میتونید بجای دیدن اموزش و داکیومنشن مستقیم از چیت شیت استفاده کنید).


سایت devhints.io یکی از سایت های باحال توی این زمینه س که کلی چیت شت در مورد موضوع های مختلف داره اگه اولین باره اسمشو میبینید حتما بهش سر بزنید.

چند تا از چیت شیت های لینوکسی :

+ چیت شیت bash scripting
+ چیت شیت vim
+ چیت شیت GNU grep
+ چیت شیت MakeFile

🐧 @Linuxor
👍6
توی این پست میخام لیست تمام دستورات ls دار رو بهتون معرفی کنم (درواقع داریم یه ls از دستورات ls دار میگیریم :)
ls
اینو دیگه باید همه بدونن محتوای داخل دایرکتوری رو نشون میده

lsusb
اطلاعاتی درباره usb باس ها و دستگاه هایی که به پورت usb وصل شدند میدهد

lspci
لیست تمام دستگاه های pci هارو نشون میده


lsblk
لیست بلاک دیوایس ها را نشان میدهد (مثلا حافظه های خارجی متصل یا هارد دیسک ها)


lscpu
اطلاعاتی در باره سی پیو (ها) میدهد


lshw
سخت افزار ها و اطلاعاتی درباره آنها


lslogins
اطلاعاتی درباره یوزر ها


lsof
لیست فایل های باز و پروسه های مربوط به آن را نشان میدهد

lsmod
لیست تمام ماژول هایی که کرنل لود کرده را نشان میدهد


lslocks
اطلاعاتی درباره همه فایل های lock شده نشان میدهد


lsattr
اتریبیوت های فایل ها را در دایرکتوری جاری نشان میدهد

lsmem
رنج تمام رم های سیستم با وضعیت آنلاین بودن آنها را نشان میدهد

lsns
لیست اطلاعات درباره نیم اسپیس جاری یا داده شده بهش را نشان میدهد


lsinitramfs
لیست اطلاعات داخل ایمیج یه initramfs رو میده
(اینم بدونید ایمیج های intiramfs ها داخل فولدر boot/ هستند)


lsipc
اطلاعاتی درباره امکانات ipc که درحال حاضر در سیستم پیاده هستند را نشان میدهد

lspgpot
تمام ownertrust را از کلید های pgp استخراج کرده و لیستشون میکنه

🐧 @Linuxor
👍5
شل فیش رو تابحال امتحان کردید؟؟

اصلا شل چیه؟
شل در واقع یه محیطی برای اجرای فرمان هاست که توی بیشتر توزیع ها شل پیشفرض bash هست

+ نکته : با echo $0 میتونید ببینید در حال حاضر از چه شلی استفاده میکنید.

حالا که فهمیدید شل چیه بریم سراغ fish :

+ قابلیت شخصی سازی بیشتری نسبت به zsh و bash داره
+ یه محیط رنگی و باحالی بهتون میده
+ موقع وارد کردن یه دستور یا سوییچ hint ش رو به صورت کمرنگ نشون میده (عکس بالا)
+ موقعی که TAB میزنید با arrow ها میتونید گزینه مورد نظرتون رو انتخاب کنید
+ و یه سری قابلیت دیگه که توی سایتش میتونید پیداشون کنید.

نصب فیش (دبیان بیس) :

sudo apt-add-repository ppa:fish-shell/release-3

sudo apt update

sudo apt install fish


برای نصب روی بقیه os ها به صفحه گیتهابشون برید.

+ برای اجرا هم دستور fish رو بزنید با دستور exit هم به شل قبلی بر میگردید

+ اگه خواستید به شل پیشفرض تبدیلش کنید این صفحه رو دنبال کنید

🐧 @Linuxor
👍2
میدونستید GNOME یه اسکرین ریکوردر مخفی داره؟؟

با ترکیب این چهار تا کلید ریکورد شروع میشه

Ctrl + Alt + Shift + R

البته محدودیت 30 ثانیه ای داره که با دستور زیر میتونید تغییرش بدید
gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 600

دستور بالا روی 600 ثانیه تنظیمش میکنه اگه خواستید این محدودیت نباشه 0 رو وارد کنید


+ با همون کلید ها ریکورد متوقف میشه
+ فایل ویدیو به فرمت webm توی فولدر videos هومتون ذخیره میشه


🐧 @Linuxor || itsfoss
👍4
Linuxor ?
موقع اجرای دستور با sudo باید :
اگر با یوزر x دستور sudo whoami را اجرا کنیم خروچی کدام گزینه میشود؟
Final Results
42%
x
38%
root
8%
sudo: command not found
12%
whoami: command not found
Linuxor ?
اگر با یوزر x دستور sudo whoami را اجرا کنیم خروچی کدام گزینه میشود؟
جواب درست گزینه دومه :

یه توضیح هم بدم به اونایی که گزینه اول رو زدن ؛
ابزار sudo کارش اجرای دستور با یه یوزر دیگه هست و ابزار whoami هم اسم یوزری که اجراش کرده رو بر میگردونه .
به عنوان مثال ما اگه بخوایم ابزار whoami رو با یوزر linuxor اجرا کنیم میزنیم ؛
sudo -u linuxor whoami
در نتیجه خروجی linuxor رو برمیگردونه اگه مشخص نکنیم با چه یوزری میخایم ابزار رو ران کنیم یعنی
sudo whoami
به صورت دیفالت با یوزر root اجراش میکنه

+ البته اینم بدونید که هر یوزری نمیتونه از sudo استفاده (چرا)

بریم سراغ گزینه ۳ و ۴ :
البته شکل درست ارور به صورت زیره :
sudo: whoami: command not found
ولی به هرحال این ارور زمانی رخ میده که اون یوزری که میخوایم با sudo باهاش کامند رو ران کنیم نتونه ابزار مورد نظر رو پیدا کنه (مثلا اون ابزار به صورت لوکال نصب شده باشه)

🐧 @Linuxor
👍2
میدونید زمان بوت شدن کامپیوترتون چقدره؟؟

چندی پیش وقتی کامپیوتری روشن میشد init اولین پروسه ای بود که اجرا میشد و وظیفه داشت بقیه برنامه ها و سرویس ها را بالا بیاره اما وقتی os ها پیشرفته تر شدن کم کم init هم به سمت ناکارمدی رفت تا به امروز چندین جایگزین برای init ساخته شده اما هرکدوم از اونا بنا به دلایلی کنار گزاشته شده. اما systemd تونست نظر اکثر os هارو جلب کنه و تا به امروز که دارم این پست رو مینویسم اکثر توزیع ها دارن ازش استفاده میکنن.


همونطور که دیدیم systemd اولین پروسه ای هست که اجرا میشه پس میدونه کامپیوتر چقدر طول کشیده تا بوت بشه و بالا بیاد.(البته خیلی بیشتر از این چیزا میدونه :)
دستور :
systemd-analyze
مدت زمان بالا امدن os رو به صورت بخش به بخش بهتون نشون میده ؛ نمونه :

Startup finished in 3.957s (kernel) + 8.402s (userspace) = 12.360s
graphical.target reached after 6.904s in userspace


اگه به نظرتون مدت زمان بالا امدن os تون زیاده با دستور زیر
systemd-analyze blame
میتونید به صورت نزولی زمان اجرا سرویس ها و پروسه هارو ببینید و با systemctl اون سرویسی که مدت زمان بوت رو زیاد کرده رو disable کنید. (البته قبلش درباره اون سرویس بخونید چون بعضی سرویس ها حیاتی هستن)

🐧 @Linuxor
👍4
Linuxor ?
میدونید زمان بوت شدن کامپیوترتون چقدره؟؟ چندی پیش وقتی کامپیوتری روشن میشد init اولین پروسه ای بود که اجرا میشد و وظیفه داشت بقیه برنامه ها و سرویس ها را بالا بیاره اما وقتی os ها پیشرفته تر شدن کم کم init هم به سمت ناکارمدی رفت تا به امروز چندین جایگزین…
اگه علاقه دارید روند بوت شدن رو ببینید میتونید
با دستور
systemd-analyze plot > linuxor.svg
روند بوت شدن رو به صورت نمودار ببینید

+ بنا به توضیحات فایل svg ، فایل svg تولید شده با مروگر chrome یا firefox ترجیحا باز شود

با دستور
systemd-analyze dot | dot -Tsvg > linuxor.svg
هم میتونید نمودار وابستگی رو توی یه فایل svg ببینید. (عکس بالا)

🐧 @Linuxor
💅1
میدونید xdg-utils چیه ؟؟
درواقع یه واسط بین دسکتاپ و اپلیکیشنه برای مثال وقتی توی مرورگر دسکتاپتون یه url وارد میکنید که نیازه مثلا با اپلیکیشنی مثل تلگرام باز بشه (عکس بالا) ابزار xdg-open این کارو براتون میکنه

این ابزار رو توی ترمینال هم میتونید استفاده کنید مثلا
xdg-open .
که خیلی پرکاربرده , فولدر جاری رو با فایل منیجر باز میکنه
xdg-open google.com
سایت گوگل رو با مرورگر پیشفرض باز میکنه

xdg-open tg://setlanguage
منوی تغییر زبان تلگرام رو باز میکنه ( تلگرام کلی از این دیپ لینک ها داره )

xdg-screensaver activate
‌اسکرین سیور رو فعال میکنه (البته بعید میدونم الان برای دسکتاپ هاتون باشه برای من که جاشو صفحه لاک گرفته بود و اینم بگم نیازی به بودنش هم نیست چون توی مانیتور های قدیمی وقتی صفحه برای مدتی ثابت بود مانیتور اسیب میدید اما مانیتور های الان این مشکلو ندارن )

یه سری دستور دیگه هم داره که خودتون توی ترمینال xdg رو بزنید و چند تا TAB بزنید میتونید ببیندشون.
🐧 @Linuxor
👍5
از ماشین مجازی برو تو اون یکی سیستم عاملت !

لنگ یه برنامه ویندوزی بودم هی مجبور میشدم سیستم رو خاموش روشن کنم برم تو گراب ویندوز رو بوت کنم , از یه طرفی هم هیچی توی ویندوز نداشتم یعنی موقع استفاده از اون برنامه کار دیگه ای نمیتونستم کنم چون برنامه هام همه توی اوبونتوم بود.

تا همین امروز اصلا ویرچوال باکس به ذهنم نرسیده بود , واقعا راهکار ساده بود : از ماشین مجازی ویندوزت رو بوت کن !! اینجوری هم میشه از هردو سیستم عامل استفاده کرد هم اگه منابع سیستمتون کمه از هرکدومشون تکی استفاده کرد.

برای اینکار اول virtualbox رو روی سیستم لینوکسیتون نصب کنید

بعد با دستور زیر یه vmdk بسازید
sudo VBoxManage internalcommands createrawvmdk -filename linuxor.vmdk -rawdisk /dev/nvme0n1
ادرس اون هاردی که روش اون یکی سیستم عامله (که برای من ویندوز بود) رو بجای /dev/nvme0n1 بزارید.
بعد با دستور
sudo virtualbox
ماشین مجازی رو با روت بالا بیارید
بعد new رو بزنید و از قسمت Export Mode و گزینه Use an existing virtual hard disk file رو بزنید و فایل vmdk که بالا ساختید رو بهش بدید و روشنش کنید !!
🐧 @Linuxor
👍5
Linuxor ?
از ماشین مجازی برو تو اون یکی سیستم عاملت ! لنگ یه برنامه ویندوزی بودم هی مجبور میشدم سیستم رو خاموش روشن کنم برم تو گراب ویندوز رو بوت کنم , از یه طرفی هم هیچی توی ویندوز نداشتم یعنی موقع استفاده از اون برنامه کار دیگه ای نمیتونستم کنم چون برنامه هام همه…
⚠️ دوستان توی این آموزش ، سعی نکنید سیستم عاملی که الان توش هستید رو با ماشین مجازی بوت کنید

من همینجوری امدم با ماشین مجازی که توی ابونتوم بود همون ابونتویی که توش بودم رو بالا اوردم، بالا امد و ظاهرا مشکلی نداشت تا اینکه سیستم رو خاموش روشن کردم دیدم ابونتوم دیگه بالا نمیاد ؛ فایل سیستم ابونتوم پر ارور شده بود :)

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

مشکل هم دقیق نمیدونم علتش چی بود :
احتمالا توی ژورنالینگ فایل سیستم کانفلیکت به وجود امده بود
(فایل سیستم ژورنالینگ : توی فایل سیستم های لینوکسی یه مکانیزمی هست که هر کاری که قراره با فایل سیستم کنید رو ثبت میکنه و هروقت اون کار تموم شد میگه من اون کارو تموم کردم ، اینجوری وقتی مثلا برق بره سیستم عامل میفهمه اخرین کاری که داشته میکرده چی بوده همونو ادامه میده ، مثل ویندوز های قدیم دوساعت نمیره توی مود ریپیر )

حالا فرض کنید دوتا ژورنالر هست که قراره یه جا اطلاعاتشون رو ثبت کنن :)

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


🐧 @Linuxor
Linuxor ?
بعد از آپدیت کرنل لینوکس
توضیحات و جواب کوییز

+ روند دانلود و بروزرسانی کرنل مثل یک پکیج عادیه و بعد اولین ریبوت دستی خودش روی کرنل جدید بوت میشه پس گزینه 1 غلطه


+ کرنل جدید ممکنه توش مشکلاتی باشه و یا با دستگاه شما سازگار نباشه پس کرنل قبلی رو نگه میداره تا اگه مشکلی پیش امد بتونید برگردید به قبلی ، در نتیجه گزینه 2 هم غلطه
(کرنل هاتون توی فولدر boot/ هستند میتونید وقنی که سیستم بوت میشه از منوی GRUB اون رو تغییر بدید)

+ بعد آپدیت کرنل تمامی درایور های مربوط به کرنل مجددا بیلد و کانفیگ میشوند (البته اگه درایور از DKMS پشتیبانی کنه نیازی به بیلد و کانفیگ دستی نیست)


+ کرنل هیچ ربطی به یوزر خاصی نداره پس گزینه 4 هم غلط محضه (البته این گزینه فقط یه شوخی بود، تا توزیع بالا نیاد یوزر هیچ معنی نداره و وقتی که توزیع بالا امده باشه قطعا کرنل بالا امده)



کرنل چیز ترسناکی نیست گاهی اوقات با اپدیت کردنش سرعت سیستمتون بالاتر میره و یا اینکه عملکرد سخت افزار هاتون بهتر میشه
گاهی اوقات هم یه سری مشکلات جدید توی سیستمتون به وجود میاره !! ولی ترسی نداره همونطور که گفتم میتونید مثل آب خوردن کرنلتون رو به کرنل قبلی برگردونید :)


🐧 @Linuxor
👍9