لینوکس و من

لینوکس و من

لینوکس و من

حاصل تجربیات ما از سر و کله زدن ها با لینوکس

بایگانی

۲۱۳ مطلب با موضوع «ترفند» ثبت شده است

دستورات پر کاربرد vim


میشه گفت اینها پرکاربرد ترین دستورات ویم هستن.
امیدوارم به دردتون بخوره :)

اصلاح تم Arc در گنوم ۳.۲۴

با آپدیت ۳.۲۴ گنوم تم Arc و Arc-maia در قسمت نوتیفیکیشن ها دچار یه مشکل خفیفی شده بود. در ادامه مطلب، میگیم که چطوری این موارد برطرف شدند:
  • رنگ متن نوتیفیکیشن ها بسیار کمرنگ بودند
  • آب و هوا نسبت به ساعت عقب تر قرار گرفته بود و وقتی روش کلیک میکردی سیاه میشد
  • ساعت و آب و هوا که روی هم قرار دارند همخوانی نداشتند
  • رنگ دایره تاریخ امروز خاکستری بود
  • کلیک روی دکمه Clear All اون رو سیاه میکرد!
از اونجایی که این تم پر طرفداریه، در فروم مانجارو هم این مشکل مطرح شده بود، که بعد از این که این اصلاحات انجام شد قرار شد در نسخه های بعدی این تغییر صورت بگیره.
و اما روند کار این طوریه که ما اول باید اصطلاحا یک child theme درست کنیم. child theme یعنی یک تم که خصوصیاتش رو از تم اصلی یا مادر به ارث میبره!‌ و تغییراتی رو در اون اعمال میکنیم بدون اینکه به تم اصلی کاری داشته باشیم. این طوری فایلهای اصلی دست نخورده میمونن و بعد از هر آپدیت دیگه تغییرات ما از بین نمیرن.
برای اینکار باید فولدرهای مورد نظر رو بسازیم. اما به جای اینکه تک تک بیایم این کار رو بکنیم میتونیم با چنین دستوری این کار رو بکنیم:
install -D <(echo ) ~/.local/share/themes/Arc-maia-modified/gnome-shell/gnome-shell.css

بعد فایلی رو که ساختیم با ویرایشگر دلخواهمون باز میکنیم:
gedit ~/.local/share/themes/Arc-maia-modified/gnome-shell/gnome-shell.css

و متن زیر رو داخلش قرار میدیم و ذخیره میکنیم:
@import url("/usr/share/themes/Arc-Maia/gnome-shell/gnome-shell.css");

.search-provider-icon,
.list-search-result, .app-well-app .overview-icon,
.app-well-app.app-folder .overview-icon,
.grid-search-result .overview-icon {
  color: white;
  border-radius: 2px;
  padding: 6px;
  border: 1px solid transparent;
  transition-duration: 0ms;
  text-align: center;
    font-size:16px;
}

.message-title {
    color: #5c616c; }
.message-content {
    color: #5c616c; }

.weather-button:hover,
.weather-button:focus,
.events-section-title:hover,
.events-section-title:focus,
.world-clocks-button:hover,
.world-clocks-button:focus {
  background-color: #fafafa;
  border: none; }

.weather-button {
  padding: 7px 10px 7px 10px; }

.world-clocks-button {
  border: none; }

.button:hover, .notification-banner .notification-button:hover, .hotplug-notification-item:hover, .button:active, .notification-banner .notification-button:active, .hotplug-notification-item:active, .button:active:focus, .notification-banner .notification-button:active:focus, .hotplug-notification-item:active:focus,
.datemenu-today-button:active,
.world-clocks-button:active,
.weather-button:active,
.events-section-title:active {
  color: white;
  background-color: #16A085; }

.world-clocks-header,
.weather-header,
.events-section-title {
  color: black;
  font-weight: bold; }

.weather-box {
  spacing: 0.4em; }
.calendar-today {
background-color: #16A085;
color: #fff;
border-width: 0; }   
بعد باید یک بار گنوم رو ری استارت کنیم. کلید Alt+F2 رو میزنیم و تایپ میکنیم r و اینتر میزنیم (فقط در Xorg و نه در wayland)
حالا میتونیم تم Arc-maia-modified رو برای تم shell در Tweaks انتخاب کنیم.

اگر شما از تم Arc استفاده میکنید (نه Arc-maia) پس نام فولدرها رو هم درست کنید. و همچنین در کد بالا هر جایی که 16A085 هست باید 5c616c رو بذارید. این کد رنگ سبز و آبی این تم ها است که با هم متفاوته.

أموزش نصب DDE روی آرچ لینوکس



DDE یکی از زیبا ترین دسکتاپ های گنو/لینوکسیه.این دسکتاپ ,دسکتاپ پیشفرض توزیع دیپین هست.
Deepin desktop enviroment or DDE
تو این مطلب میخوام روش نصب این دسکتاپ روی آرچ لینوکس رو توضیح بدم.
***این کد هارو کپی پیست نکنید.ویکی آرچ رو بخونید و دقیقا درک کنید که چیکار دارید میکنید :)
اول از همه xorg و بسته های مرتبط به اون رو نصب کنید.
$sudo pacman -S xorg xorg-server xorg-xinit  xorg-server-utils
$ جزو دستور نیست.
حالا با توجه به کارت گرافیکتون,درایور مناسبش رو نصب کنین.
برای کارت گرافیک  اینتل:
$sudo pacman -S xf86-video-intel
برای کارت گرافیک  AMD:
 $sudo pacman -S xf86-video-ati
برای کارت گرافیک NVIDIA:
$sudo pacman -S  xf86-video-nouveau
پخش کدک های معمول صوتی:
 $sudo pacman -S gst-libav gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-plugins-base gst-plugins-base-libs gstreamer
پلاگین pulseaudio:
 $sudo pacman -S pulseaudio
حالا بریم سراغ نصب میز کار.
میز کار رو با این دستور نصب کنید:
 $sudo pacman -S deepin
بعد از نصب اون,میتونین بسته ی deepin-extra رو هم نصب کنین.که شامل یه سری برنامست که خود دیپین داره توسعش میده.
برنامه های موجود در بسته ی  deepin-extra:
deepin music
deepin movie
deepin screenshot
deepin calendar
و اگر نمیخواین همشونو نصب کنین و فقط یکیشونو میخواین,میتونین با این دستور نصبش کنین.
 $sudo pacman -S deepin-*
جای * اسم نرم افزاری که میخواین رو بنویسین.
این میز  کار از lightDM به عنوان login-manager استفاده میکنه.هر چند میتونین هر لاگین منیجر دیگه ای روهم نصب کنین.لیست لاگین منیجر ها
حالا باید فایل کانفیگ lightDM رو دستکاری  کنیم.
 $vi /etc/lightdm/lightdm.conf
تو این فایل,دنبال عبارت زیر بگردین:
 #greeter-session=example-gtk-gnome
از حالت کامنت خارجش کنین(# اولشو حذف کنین) و به عبارت زیر تغیرش بدین:
 greeter-session=lightdm-deepin-greeter
حالا دستور زیر رو وارد کنین تا lightdm آماده کار بشه:
 $systemctl enable lightdm-service
و سیستم رو ریبوت کنین.یا با این دستور وارد محیط گرافیکی بشین:
 $systemctl start lightdm.service
تصاویری از محیط DDE

فایرفاکس خیلی دیر باز می شود

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

اگر شما هم چنین مشکلی دارید، بعد از اینکه افزونه های اضافی و قدیمی رو غیر فعال کردید و کش مرورگر رو خالی کردید و همچنان این مشکل پابرجا بود، بد نیست این راه رو یه امتحان بکنید. فایل زیر رو با ویرایشگر خودتون باز کنید:
/etc/hosts
و بعد خط زیر رو بهش اضافه کنید و به جای hostname اسم کامپیوتر خودتون رو بنویسید. این اسم با همین دستور hostname نمایش داده میشه.
127.0.0.1    hostname

و اگر localhost نوشته بود، اون رو به هاست‌نیم خودتون تغییر بدید.

یک اسکریپت برای واترمارک عکس و ویدیو

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

اسکریپت رو خوب نگاه کنید تا با طرز کارش آشنا بشید. این اسکریپت رو با نام مثلا wmark جایی ذخیره کنید و براش یک alias بسازید. اونوقت میتونید باهاش کار کنید. یک بار wmark رو در ترمینال اجرا کنید تا خودش راهنماییتون کنه و مثال بزنه.

تغییر الویت اجرای یک برنامه خاص در لینوکس

شاید برخی اوقات نیاز باشه الویت اجرای یک فرآیند خاص (یا چند فرآیند) که توسط سی پی یو پردازش میشه بالا یا پایین بره که این برنامه ساده که با پایتون نوشته شده این کار رو انجام میده.(لازم به ذکر است که آدرس ها و فایل های مورد استفاده به نسبت کاربرد باید تغییر کنند)

کد در 

قرص تقویتی برای مانجارو!

در آرچ یه چیزی هست به نام powerpill که کارش اینه که با استفاده از reflector سریعترین سرورهای مخازن رو پیدا کنه و با استفاده از aria2 سرعت دانلود بسته ها رو چندین برابر کنه. و حتی با rsync سرعت سینک کردن مخازن هم بیشتر میکنه! پس عجب قرص تقویتی‌ای است!

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

اما برای اینکه چیزهایی که از AUR نصب میکنیم (بوسیله yaourt یا ابزارهای دیگه) هم برای دانلود از aria2 استفاده کنند، میبایست فایل تنظیمات makepkg را باز کنیم و تنظیمات مربوط به دانلود رو به این تغییر بدیم:
/etc/makepkg.conf
------------------------

DLAGENTS=('ftp::/usr/bin/aria2c %u -o %o' 'http::/usr/bin/aria2c %u -o %o' 'https::/usr/bin/aria2c %u -o %o' 'rsync::/usr/bin/rsync -z %u %o' 'scp::/usr/bin/scp -C %u %o')



پخش صدا هنگام lock و unlock شدن دسکتاپ Gnome

برای اینکه موقع unlock و lock شدن دسکتاپ در گنوم یک اسکریپت دلخواه اجرا بشه (در اینجا پخش یک صدا)، میتونیم با یه اسکریپت خیلی ساده این کار رو بکنیم. اسکریپت زیر رو در یک فایل ذخیره کنید و مجوز اجرایی بهش بدید. و بعد بذاریدش توی استارتاپ:
#!/bin/bash

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
  while read x; do
    case "$x" in
      *"boolean true"*) play '/home/amin/themes/lock.ogg';;
      *"boolean false"*) play '/home/amin/themes/unlock.ogg';;
    esac
  done
قسمت نارنجی میتونه هر دستور دیگه ای باشه.

قطع صدا به هنگام بیرون کشیدن هدفون

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

برای اینکه وقتی هدفون رو میکشیم (اصطلاحا unplug میکنیم) صدای لپتاپ در حالت Mute قرار بگیره، میتونیم از acpid کمک بگیریم. acpid چیزیه که حواسش به اتفاقاتی که در لپتاپ میفته هست! و میتونه دستوراتی رو طبق اتفاقاتی که میفته اجرا کنه. مثلا وقتی شارژر وصل شد، فلان اتفاق بیفته. یا وقتی لپتاپ رو میبندیم، یا هدفون یا میکروفون رو وصل/قطع میکنیم و ...

من اینکار رو در Manjaro که یک توزیع Arch based هست انجام دادم. توضیحات کاملی در ویکی آرچ در این لینک موجوده. بنابراین ابتدا acpid رو نصب کنید و سرویسش رو اجرا و فعال کنید:
1. sudo pacman -S acpid
2. sudo systemctl enable acpid
3. sudo systemctl start acpid
این فایل رو در مسیر زیر با محتوای زیر بسازید:
/etc/acpi/events/headset
-------------------------------

event=jack/headphone HEADPHONE unplug
action=amixer set Master toggle



حالا یک بار سرویس acpi رو restart کنید:
sudo systemctl restart acpid
توجه کنید که مراحل بالا بسیار خلاصه شده است و کارهای بسیاری میشه از این روش انجام داد که همون طور که گفتم در ویکی آرچ میتونید بصورت کامل بخونید.

ساخت صفحه در گیت هاب


یکی از ویژگی های خوب گیت هاب اینه که یک هاست مجانی,امن و قدرتمند با امکان ساخت سایت های استاتیک رو برای کاربرهاش فراهم میکنه.
سایت گیت هاب این موضوع رو تحت عنوان (صفحات گیت هاب یا github pages ) بیان کرده.
برای ساخت صفحه در گیت هاب به ادامه مطلب مراجعه کنین ;)