تبلیغات
لینوکس و من - مطالب امین
لینوکس و من

چرا و چگونه لینوکسی شویم ۵: فارسی در لینوکس

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

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

۱- اضافه کردن زبان فارسی به کیبورد
از اپلیکیشن ها Settings رو باز کنید. در اینجا کلی تنظیمات نهفته است که کم کم معرفی میشن.


برای اینکه زبانی رو به کیبوردمون اضافه کنیم، روی Region & Language کلیک کنید. چیزی شبیه به این خواهید دید:


روی + کلیک کنید و بعد وارد مرحله بعد میشید. در اینجا روی علامت سه نقطه کلیک کنید تا لیست زبان های به جز انگلیسی نمایش داده بشه. اگر Persian در اونجا بود که اضافه اش میکنید، اگر نبود باز روی علامت سه نقطه کلیک میکنید و بعد از بین لیست زبانها Persian رو انتخاب میکنید.
بعد از اینکه زبان فارسی اضافه شد، یک بار در Terminal (محیط متنی) دستور زیر رو اجرا کنید: (به این علت)
dconf write /org/gnome/desktop/input-sources/xkb-options "['grp:alt_shift_toggle']"



حالا زبان فارسی اضافه شده و شما میتونید با کلیدهای Alt + Shift سمت چپ کیبورد زبان رو عوض کنید.
بیشتر بدانید!: حرف پ روی حرف M روی کیبورد قرار داره. و حرف ژ‌ با گرفتن شیفت + ز نوشته میشه.

۲- نصب فونت های فارسی
برای نوشتن فارسی لزومی نداره حتما فونتهای فارسی رو نصب کنیم. اما برای اینکه سایت های اینترنتی فارسی بهتری داشته باشیم و همچنین در نوشته هامون از فونتهای مختلف استفاده کنیم، فونتهای فارسی و همچنین یکی دو تا فونت ویندوز که بهتره باشن (مثل Times و Tahoma) در این فایل آماده کردم که میتونید دانلود کنید.
یک فولدر در پوشه Home خودتون بسازید و اسمش رو بذارید fonts و
بعد از اینکه این فایل رو دانلود کردید، محتویات اون رو از حالت فشرده خارج کنید: روش دبل کلیک کنید و فولدر داخلش رو بکشید و رها کنید داخل پوشه fonts
و بعد پوشه fonts را تغییر نام (rename) کنید و یک نقطه در ابتدای اون بذارید. یعنی بشه fonts.
و بعد یک بار این دستور را در ترمینال اجرا کنید تا فونت های جدید به سیستم شناسونده بشن.
fc-cache -f -v
بیشتر بدانید!: در لینوکس هر کاربری که در اون سیستم عامل تعریف شده میتونه تنظیمات کاملا متفاوتی از کابران دیگه داشته باشه. (فلسفه وجود پوشه Home همینه اصلا) در این پوشه هزار و یک فایل تنظیماتی وجود داره که توسط برنامه هایی که اون کاربر استفاده میکنه تولید میشن. حتی کاربران میتونن فونتهایی رو داشته باشن که دیگر کاربران نداشته باشن. چون کاربران دیگه به فولدر Home همدیگه به هیچ وجه دسترسی ندارند.
پوشه ای به نام fonts. در Home یک کاربر محلی برای نگه داری فونتهای اختصاصی اون کاربره. اما اگر مدیر سیستمی چند کاربره تصمیم داره فونتی رو نصب کنه که همه ی کاربران از اون استفاده کنند باید اون رو در پوشه ای در مسیر /usr/share/fonts/ بذاره. که این الان برای ما چندان لزومی نداره.

۳- فعال کردن راست به چپ در آفیس لینوکس (LibreOffice)
برای اینکار، از اپلیکیشن ها writer رو باز کنید و از منوی Tools و بعد Options محلی رو که در عکس مشخص کردم پیدا کنید و زبان Persioan رو اونجا انتخاب کنید. در عکس مشخصه.


بیشتر بدانید!: نوشتن از سمت راست فرق داره با نوشتن از جهت راست به چپ! اولی رو میگن Text Alignment و دومی رو میگن Text Direction که میشه Right to Left یا RTL نوشت یا Left to Right یا LTR نوشت.
وقتی شما Text alignment رو از سمت راست قرار میدید، درواقع کلمات و جملات به سمت راست صفحه منتقل میشن. ولی وقتی Text Direction رو RTL قرار میدید، نوشتار از سمت راست آغاز میشه. که برای زبانهایی مثل فارسی که از راست به چپ نوشته میشن،‌ لازمه که نوشتار RTL باشه و فقط بردن کلمات به سمت راست صفحه کافی نیست.
نوشتن اعداد فارسی: بر خلاف ویندوز، لینوکس این شعور رو داره که بدون تنظیمات خاصی وقتی زبان کیبورد فارسی است اعداد به صورت فارسی تایپ شوند، و وقتی زبان کیبورد انگلیسی است، اعداد به انگلیسی تایپ شوند. اگر فایل word باز کردید و دیدید اعداد انگلیسی هستند و متن فارسی، اشکال از نگارش اون فایل است. یعنی تایپیست اگر میخواست عددهاش فارسی باشن، باید در حین تایپ فارسی بدون عوض کردن زبان کیبورد عدد را تایپ میکرد.

۴- تغییر زبان تمام سیستم به فارسی
ممکنه بپرسید آیا امکانش هست که زبان تمام سیستم (منوها،‌برنامه ها، و ... ) به فارسی تبدیل بشه؟ بله، تا حدودی فارسی خواهند شد،‌ اما اکیدا توصیه میکنم که دنبال این قضیه نباشید. چون اولا کامل نیست و در سیستم دو گانگی زشتی بوجود میاد. دوما انگلیسی یاد بگیرید!!

ادامه پشتیبانی Flash در لینوکس

نویسنده : امین | تاریخ: 1395/08/17

بعد از ۴ سال که شرکت ادوبی تصمیم گرفت دیگه توسعه Flash رو برای لینوکس متوقف کنه و فقط آپدیت های امنیتی برای نسخه 11 برای لینوکس ارائه بده، حالا در یک چرخش ناگهانی اقدام به انتشار نسخه 24 فلش برای پلتفرم لینوکس کرده. البته امکانات پیشرفته ای مثل GPU Acceleration و یک سری چیزای دیگه رو پشتیبانی نخواهد کرد.
اگر در آرچ هستید میتونید اون رو از AUR نصب کنید. که در حال حاضر با نام flashplugin-beta در AUR وجود داره.



اما نکته تاسفباری که وجود داره اینه که ادوبی ایران رو تحریم کرده.و بسته مورد نظر از سایت ماکرومدیا دانلود نخواهد شد. دو راه برای دور زدن این موضوع وجود داره.
  1. اول اینکه با tor در ترمینال آشنا باشید و پروسه نصب رو از طریق اون انجام بدید.
  2. دوم استفاده از سرویسی مثل filegir.com هست. در این سرویس که با اکانت test تا ۱۰ مگابایت میتونید لیچ کنید، میبایست لینکی که در فایل PKGBUILD برای دانلود بسته فلش از سایت ماکرومدیا هست رو به فایل‌گیر بدید تا اون رو روی سرورهای خودش دانلود کنه. و بعد لینکی رو که فایل‌گیر برای دانلود به شما میده جایگزین لینک اصلی بکنید. و بعد پروسه نصب رو ادامه بدید.

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

با SafeEyes به چشمهایتان استراحت بدهید

نویسنده : امین | تاریخ: 1395/08/15

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

برای نصب این برنامه در آرچی ها،‌ کافیه از AUR اون رو نصب کنید:

yaourt -S safeeyes

و بعد از منوی برنامه ها اجراش کنید. تنظیمات مربوط به زمان ها رو میتونید از منوی برنامه تغییر بدید. اما به نظر من همین مقادیر پیشفرض مناسب هستند.

برگ خلاصه دستورات کاربردی لینوکس

نویسنده : امین | تاریخ: 1395/08/13

در گشت و گذار به یک برگه خلاصه یا اصطلاحا Cheat Sheet رسیدم که دستورات اصلی لینوکس رو لیست کرده.
بد نیست نگاهی بهش بندازیم و کلی چیز ازش یاد بگیریم


برای بزرگنمایی روی عکس کلیک کنید

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

غیر فعال کردن Auto extract در Nautilus جدید

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

آپدیت گنوم معمولا هیجان انگیزه! هم خوبه هم بد. خوب از این جهت که گنوم روز به روز در حال پیشرفت و اضافه شدن ویژگی های کاربردی جدید تر هست، اما بد از این جهت که یه کارایی هم میکنه که به نظر من مخالف روح آزادی است! یعنی شما رو مجبور میکنه به همین چیزی که در پیش رو دارید. مگه اینکه برنامه نویس باشید و بتونید خواسته خودتون رو اجرایی کنید.
یکی از تغییراتی که در نسخه 3.22 کرده اینه که Nautilus به صورت خودکار وقتی روی یک فایل فشرده کلیک کنید اون رو extract میکنه. و اجازه نمیده شما محتوای فایل رو اول ببینید و بعد اگر خواستید extract کنید.
خوشبختانه این بار برخلاف اجباری که در پیدایش ویژگی های جدید همراه گنوم بود، گزینه ای برای غیر فعال کردن این ویژگی وجود داره:


با فعال / غیر فعال کردن این گزینه میتونید این ویژگی رو کنترل کنید.

چرا و چگونه لینوکسی شویم ۴: سلام به دنیای جدید

نویسنده : امین | تاریخ: 1395/08/8

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

مسائل مختلفی هست که باید به اونها بپردازیم که یکی یکی انشاالله در این مطلب و مطالب بعدی به اونها می پردازیم.

در ادامه مطلب همراه باشید...
ادامه مطلب

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

نویسنده : امین | تاریخ: 1395/08/3

ممکنه براتون پیش بیاد که بخواید وقتی مثلا به مدت سه دقیقه از کامپیوترتون استفاده نکردید یک اتفاقی بیفته. مثلا من همیشه یادم میره کلید Numlock رو خاموش کنم، و از اونجایی که در کیبورد من عدد 1 در حالت Numlock خاموش مساوی است با End این موضوع خیلی روی اعصابه، و هر وقت که میزنم End تایپ میکنه 1. بنابراین میام به سیستم میگم هر وقت به مدت ۵ ثانیه کسی بهت دست نزد numlock رو خاموش کن. خیلی کارها میشه با این اسکریپت کرد...

اول از همه پیش نیاز های این اسکریپت رو نصب میکنیم. در توزیع خودتون اینها رو باید نصب کنید: sdotool , xprintidle , wmctrl و بعد اسکریپت زیر رو در یک فایل با پسوند py ذخیره میکنیم:
#!/usr/bin/env python3
import subprocess
import time
import sys

idletime = int(sys.argv[1])
command = sys.argv[2]

get = lambda cmd: subprocess.check_output(cmd).decode("utf-8").strip()

def get_res():
    xr = [s for s in get(["xrandr"]).split() \
          if "+0+0" in s][0].split("x"); xr[1] = xr[1].split("+")[0]
    return xr

res = get_res()

def check():
    front = [l for l in get(["xprop", "-root"]).splitlines() \
             if "_NET_ACTIVE_WINDOW(WINDOW):" in l][0].split("#")[-1].strip()
    front = front[:2]+(10-len(front))*"0"+front[2:]
    try:
        wdata = subprocess.check_output(
            ["wmctrl", "-lG"]
            ).decode("utf-8").splitlines()
        match = [l for l in wdata if front in l][0].split()[4:6]
        if match == res:
            return True
        else:
            return False
    except subprocess.CalledProcessError:
        pass

minus = 0; real_idle = 0; t1 = 0; due_1 = False
while True:
    time.sleep(1)
    fscreen = check()
    t2 = int(int(get(["xprintidle"]))/1000)
    if t2 < t1:
        minus = 0; real_idle = 0
    else:
        if fscreen == True:
            minus = t2
    real_idle = t2 - minus
    due_2 = [real_idle > idletime][0]
    if all([real_idle > idletime, due_1 != due_2]):
        subprocess.Popen(["/bin/bash", "-c", command])
    due_1 = due_2
    t1 = t2
و بعد مجوز اجرایی به این اسکریپت میدیم.
برای خاموش کردن numlock هم از numlockx استفاده میکنیم که با off خاموش و با on روشن میکنه. مثلا numlockx off

برای استفاده از این اسکریپت به صورت زیر عمل میکنیم:
python3 /pat/to/idle.py 5 "numlockx off"

دستور بالا (باید مکان اسکریپت و نام اون رو طبق چیزی که میخواید تغییر بدید) پس از اجرا شدن (که ما اون رو در کرون میذاریم تا موقع استارتاپ اجرا بشه) پس از ۵ ثانیه استفاده نکردن از سیستم کلید numlock رو خاموش میکنه. شما به جای متغیر زمان و دستور میتونید هر چیز دیگه ای رو بذارید.

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

هومن هم به لینوکس و من پیوست

نویسنده : امین | تاریخ: 1395/07/19

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

امید نظری، همراه جدید لینوکس و من

نویسنده : امین | تاریخ: 1395/07/18

سلام. خوشحالم که اعلام کنم امید نظری از این به بعد در لینوکس و من هم مینوسیه. شما هم اگر خواستید جزوی از نویسندگان لینوکس و من باشید میتونید در این لینک بگید.

پخش آلارم هنگام Low battery

نویسنده : امین | تاریخ: 1395/07/18

در دسکتاپ گنوم، وقتی باتری لپتاپ به مقدار مشخصی برسه، نوتیفیکیشن هشدار داده میشه. اما این نوتیفیکیشن صدا نداره. یکی از دوستان پرسیده بود که چطور میشه کاری کرد که وقتی باتری به درصد خاصی میرسه نوتیفیکیشن همراه با آلارم پخش بشه؟
دو راه برای اینکار هست. یکی اینکه از udev استفاده کنیم، که در ویکی آرچ توضیح داده شده. اما من استفاده کردم و موفقیت آمیز نبود. ظاهرا هر لپتاپی اینجور نیست که اطلاعات باتری رو به udev بفرسته. راه دوم که کار راه بندازه و زیادم بد نیست استفاده از cron است. یعنی یه اسکریپتی بنویسیم که هر مثلا ۶ دقیقه درصد باتری رو چک کنه و اگه کمتر مقدار تعیین شده بود کاریو که ما میخوایم انجام بده.
اسکریپتی که در ویکی آرچ نوشته بود و من هم کمی شخصی سازیش کردم در زیر میبینید:
#!/bin/sh
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
acpi -b | awk -F'[,:%]' '{print $2, $3}' | {
    read -r status capacity

    if [ "$status" = Discharging -a "$capacity" -lt 15 ]; then
        logger "Critical battery threshold"
        /usr/bin/notify-send -u critical --hint int:transient:1 -i "/usr/share/icons/hicolor/256x256/apps/gnome-power-manager.png" "Battery at $capacity%" "Battery percent is too low. Connect AC Adapter." && play /home/amin/Programs/lowbat.mp3
    fi
echo "Battery has $capacity% capacity"
}
چند نکته در مورد این اسکریپت:
برای مشخص کردن درصد باتری از acpi استفاده شده. و برای پخش صدا از sox و برای نمایش نوتیفیکیشن از notify-osd. بنابراین هر کدوم رو که ندارید نصب کنید.
در خط دوم اسکریپت (رنگ زرد) برای اینکه cron بتونه پیامهای notify-osd رو اجرا بکنه،‌ باید یه همچین چیزی در اسکریپت باشه. عدد 1000 همون user id نام کاربری شماست که باید با دستور echo $UID ببینید چنده. که معمولا اگه اولین کاربری باشید که در لینوکستون ساختید 1000 هست.
خطوط نارنجی هم مشخص کننده آدرس فایلهاست (آیکن و صدای آلارم).
محتوای پیام رو هم که خودتون میتونید ویرایش کنید. مقدار 15 هم که با رنگ سبز مشخص شده همون درصدی است که تعیین کردیم که اگر پایین تر از اون بود هشدار داده بشه. به دلخواه خودتون میتونید مقدارش رو مشخص کنید.
اسکریپت بالا رو جایی ذخیره کنید و اون رو با روشی که بلد هستید به cron بسپارید. بازه های زمانی ۶ دقیقه فکر میکنم مناسب باشه.

... 2 3 4 5 6 7 8 ...