لینوکس و من

نوتیفیکیشن های آندروید در گنوم، شماره ۲!

نویسنده : امین | تاریخ: 1396/04/2

قبلا در این مورد نوشته بودم.ما میخوایم نوتیفیکشن های آندروید در گنوم نشون داده بشن. ابزار قبلی nuntius بود که نیاز بود گوشی و pc با بلوتوث به هم متصل بشن. اما ابزار دیگه ای وجود داره که نیازی به بلوتوث نداره و با شبکه wifi این کارو میکنه. برای اینکه این اتفاق بیفته، باید هر دو دستگاه به یک شبکه متصل باشن.

کافیه Linconnect رو از گوگل پلی نصب کنید و در سیستم آرچی خودتون هم از AUR سرور اون رو نصب کنید:
yaourt  linconnect

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

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

نویسنده : امین | تاریخ: 1396/04/2

با آپدیت ۳.۲۴ گنوم تم 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 رو بذارید. این کد رنگ سبز و آبی این تم ها است که با هم متفاوته.

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

نویسنده : امین | تاریخ: 1396/03/20

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

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

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

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

نویسنده : امین | تاریخ: 1396/03/5

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

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

نویسنده : امین | تاریخ: 1396/01/16

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

#!/bin/bash
#
# A script to add an image as a watermark over videos or image files.
# I'm not a developer, and I wrote this script just for my needs.
# 07 November 2016
# Amin medicamin@gmail.com http://linuxvaman.ir
# Feel free to make this script better :)
#

path_of_first_file=$(dirname "$2")
name_of_first_file=$(basename "$2")

new_name="$(echo "wmark-$name_of_first_file")"
new_output=$(echo "$path_of_first_file/$new_name")


if [ $# -lt 1 ]
then
    echo
    echo "A simple script to add an image as a watermark over videos or image files."
    echo "As of simplicity of usage, all watermarks will be added to the northwest area of the image or the video files."
    echo "to change these positions you should edit the script codes"
    echo
    echo "-i     add watermark to a single image "
    echo "example: wmark -i /path/to/image.png /path/to/watermark.jpg"
    echo
    echo "-v     add watermark to a single video "
    echo "example: wmark -v /path/to/video.mpg /path/to/watermark.jpg"
    echo
    echo "-ia     add watermark to all image files in a directory that wmark runs in"
    echo "example: wmark -ia /path/to/watermark.jpg"
    echo
    echo "-va     add watermark to all video files in a directory that wmark runs in "
    echo "example: wmark -va /path/to/watermark.jpg"
    echo
    echo "-r     replaces the space in all filenames with a dash "
    echo "example: wmark -r"
    echo
exit
fi


case $1 in

#Here you can change "northwest" to these variables: northeast, southwest, southeast
-i)
composite -dissolve 70% -gravity northwest -geometry +10+10 "$3" "$2" "$new_output"
echo
echo "New image saved in: " "$path_of_first_file"\/$new_name
exit 0
;;

#As ffmpeg is more complex, you should know the resolution of the video file to change the possition of the watermark, by editing "overlay=15:10" (top:left)
-v)
ffmpeg -i "$2" -i "$3" -filter_complex "overlay=15:10" -preset veryfast "$new_output"
echo
echo "New video saved in: " "$path_of_first_file"\/$new_name
exit 0
;;

#Here you can change "northwest" to these variables: northeast, southwest, southeast
-ia)
for i in *.png *.jpg;
do
composite -dissolve 70% -gravity northwest -geometry +10+10 "$2" $i wmark-$i
done
echo
exit 0
;;

#As ffmpeg is more complex, you should know the resolution of the video file to change the possition of the watermark, by editing "overlay=15:10" (top:left)
-va)
for i in *.mp4 *.flv *.mpg *.rm;
do
ffmpeg -i $i -i "$2" -filter_complex "overlay=15:10" -preset veryfast wmark-$i.mp4
done
echo
exit 0
;;

-r)
for i in *\ *; do mv "$i" "${i// /-}";
done
echo
exit 0
;;

esac




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

مخازن مانجارو روی سرورهای ایران

نویسنده : امین | تاریخ: 1395/12/6

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

مخازن مانجارو وجود نداشت، با ایمیلی که بهشون زدم اونها ظرف مدت بسیار کوتاهی پاسخ دادند و مخازن مانجارو هم به این لیست اضافه شد. اینجا چند نکته وجود داره که لازمه بنویسم:
  • اولا تشکر از گردانندگان این پروژه، هم بخاطر کاری که میکنند و هم بخاطر پاسخ گویی‌. تلاششان تحسین بر انگیزه.
  • بودن مخازن در داخل ایران خوبیش اینه که میشه با سرعت بسیار بالاتری بسته ها رو دانلود کرد. اما طی چند بار تستی که بنده در روزهای مختلف داشتم هر بار سرعت دانلود از سرورهای خارج از کشور (که خود پکیچ منیجر مانجارو اونها رو لیست میکنه) به مراتب بیشتر از سرعت دانلود از این سرور بود. حداقل سه برابر. در یک ایمیل موضوع رو مطرح کردم و پاسخ دادند که اونها با سرعت بسیار بالایی دارن استفاده میکنن و مشکلی در این زمینه نمیبینند. متاسفانه بخاطر این موضوع من نمیتونم از این مخازن استفاده کنم. بسیار عجیبه که دانلود از سرور مثلا انگلستان خیلی سرعت بیشتری به من میده تا دانلود از سروری که بیخ گوشمون هست!
اگر شما کاربر مانجارو هستید و میخواید که این رو امتحان کنید، فایل زیر رو باز کنید و سرورهای دیگه رو کامل پاک کنید و سرور ایران رو بهش اضافه کنید. بعد هم دیتابیس رو رفرش کنید:
sudo gedit /etc/pacman.d/mirrorlist
-------------------------------------------
Server = http://repo.sadjad.ac.ir/manjaro/stable/$repo/$arch

sudo pacman -Syy
در خط سرور عبارت stable در توضیحات سایت دانشگاه سجاد branch$ نوشته شده. که میبایست در این فایل تغییر کنه. در غیر این صورت با پیام خطای سینک مواجه میشید. نسخه های دیگه unstable و testing هستتند.

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

نویسنده : امین | تاریخ: 1395/11/27

در آرچ یه چیزی هست به نام 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')



لینک‌های مرتبط

نصب آرچ

نویسنده : امین | تاریخ: 1395/11/27


آماده شدن برای نصب آرچ!

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

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

نویسنده : امین | تاریخ: 1395/11/24

برای اینکه موقع 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
قسمت نارنجی میتونه هر دستور دیگه ای باشه.

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

نویسنده : امین | تاریخ: 1395/11/23

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

برای اینکه وقتی هدفون رو میکشیم (اصطلاحا 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
توجه کنید که مراحل بالا بسیار خلاصه شده است و کارهای بسیاری میشه از این روش انجام داد که همون طور که گفتم در ویکی آرچ میتونید بصورت کامل بخونید.

1 2 3 4 5 6 7 ...