بلاگ پارسی سلمان م.

گنو، تریسکل، نرم‌افزار آزاد، ای‌مکس، اوبونتو، مهندسی عمران، برنامه‌نویسی، گنو/لینوکس، ...

بلاگ پارسی سلمان م.

گنو، تریسکل، نرم‌افزار آزاد، ای‌مکس، اوبونتو، مهندسی عمران، برنامه‌نویسی، گنو/لینوکس، ...

آخرین نظرات
  • ۲۱ ارديبهشت ۰۱، ۱۸:۵۰ - فاطمه
    مرسی

امروز می‌خوام یه کتاب خوب بهتون معرفی کنم.

نام کتاب: تولید نرم‌افزار متن‌باز، چگونه یک پروژه‌ی نرم‌افزار آزاد موفق را اداره کنیم.

نویسنده: کارل فوگل

زبان: انگلیسی

محتوای آزاد؟: بلی (Creative Commons Attribution-ShareAlike 3.0)

طریقه‌ی دسترسی: http://www.producingoss.com


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



Book: Producing Open Source Software; How to Run a Successful Free Software Project

Author: Karl Fogel

Language: English

Free Content?: Yes (Creative Commons Attribution-ShareAlike 3.0)

Access: http://www.producingoss.com

  • سلمان محمدی

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

نکته‌های طلایی در یادگیری کلیدهای ترکیبی ای‌مکس:

  1. C معادل کلید Ctrl است.
  2. M معادل کلید Alt است. (M کوته‌نوشت کلمه‌ی Meta است)
  3. C-x C-s به معنای گرفتن کلید Ctrl و سپس به ترتیب فشردن کلیدهای x و s و سپس رها کردن کلید Ctrl است.
  4. C-x 2 به معنای گرفتن کلید Ctrl و سپس فشردن کلید x و سپس رها کردن تمامی کلیدها و سپس فشردن کلید 2.

خب حالا شروع می‌کنیم. من تمامی دستورها رو با صفحه‌کلید می‌گم با موشواره هم می‌شه خیلی از کارها رو کرد.
  1. ابتدا ای‌مکس رو اجرا می‌کنیم.
  2. C-x C-f رو می‌زنیم.
  3. حالا اسم پرونده‌ای که می‌خوایم ذخیره کنیم رو می‌نویسیم مثلا mycode.c (به پایین ای‌مکس نگاه کنید!) و سپس Enter رو فشار می‌دیم. ( توی این مرحله فایل مورد نظر ما ذخیره نشده و فقط جاش و اسمش رو  مشخص کردیم)
  4. حالا فرض کنید می‌خوایم که کد به زبون سی بنویسیم. کد مورد نظر رو می‌نویسیم.
  5. حالا با استفاده از C-x C-s اون رو ذخیره می‌کنیم.
  6. اکنون M-! که بدلیل موقعیت !، معادل هست با (Alt+Shift+1) را فشار می‌دهیم (به پایین ای‌مکس توجه کنید، الان ما می‌تونیم همون دستورهایی که توی ترمینال وارد می‌کردیم را این‌جا وارد کنیم)
  7. اکنون با استفاده از دستور مثلا gcc mesale1.c فایل مورد نظرمون رو کامپایل می‌کنیم.

__________________________

پست بعد در رابطه با آموزش ای‌مکس:

http://salman-m.blog.ir/1391/12/some-useful-emacs-hotkeys

    • سلمان محمدی

    بهتر بود که عنوان رو عوض کنیم و بگیم که «گنو ایمکس چه چیزی نیست»  گنو ای‌مکس (GNU Emacs) یک ویرایشگر متن است یا به عبارت دقیق‌تر یک سیستم‌عامل است که خود را به عنوان یک ویرایشگر متن معرفی می‌کند. این موجود عجیب الخلقه، هر کاری که تصور کنید انجام می‌دهد. در این جا یعضی مسایل ساده در ای‌مکس را براتون توضیح می‌دم، چون خودمم هم وقتی پیچیده میشه نمی‌فهمم که چی به چی میشه ;)

    وقتی که این جناب ای‌مکس نسخه‌ی ۲۳ رو باز می‌کنید این شکلی هستش:

    ولی بعد از مدتی به این شکل در می‌یاد:



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

    نصب کردن ای‌مکس:
    برای نصب کردن ای‌مکس بایستی که دستور زیر رو توی ترمینال وارد کنید. (اگه ویندوزی یا مکی هستید به پیوندی که بعد از این قسمت می‌یاد توجه کنید)
    • گنو یا گنو/لینوکس بر مبنای دبیان (تریسکل، دبیان، اوبونتو، مینت و غیره) :
    $ sudo apt-get install emacs
    • گنو/لینوکس بر مبنای فدورا:
    $ su -c 'yum install emacs'
    مقداری پیش‌نیاز:
    یکی از چیزایی که باعث میشه دهن کسانی که برای اولین‌بار هست با ای‌مکس آشنا میشن، آسفالت بشه! اینه که کلیدهای ترکیبی اون رو تا به حال تجربه نکردن. این رو گفتم تا بعدن خوف نکنید :)

    __________________________
    پست بعد در رابطه با آموزش ای‌مکس:
    http://salman-m.blog.ir/1391/12/emacs-keyboard-shortcuts-introduction
    • سلمان محمدی

    در پست قبل (سیستم کنترل نسخه و بعضی از اصطلاح‌های آن) در رابطه با سیستم‌های کنترل نسخه و روال کلی کار با آن‌ها توضح دادیم. الآن بنظر من برای یادگیری گیت (git) روال کلی می‌تونه این باشه.
    ۰. گیت رو روی سیستم نصب کنیم.

    $ sudo apt-get install git
    یا
    $ su -c ' yum install git'

    ۱. روی http://gitorious.org یک حساب بسازیم.
    ۲. این برگه‌ی تقلب (cheatsheet) رو بخونیم.
    ۳. حالا هرچی توی اون برگه نوشته رو روی حسابمون توی gitorious امتحان کنیم.
    ۴. اگر مرحله‌ی سه برامون سخت بود برای افزایش اطلاعات علمی خودمون این راهنما رو رو بخونیم.
    نکته: راهنماهایی که معرفی کردم، راهنماهای رسمی گیت هستن.

    • سلمان محمدی

    در تریسکل ۶ بعد از نصب محیط یونیتی به صورت پیش‌فرض منوهای جهانی (global menu) فعال نیستند. برای فعال کردن اون باید که بسته‌های زیر رو نصب کنید.

    $ sudo apt-get install appmenu-gtk3 appmenu-gtk appmenu-qt
    و برای فعال کردن اون در Abrowser (تغییر نام یافته‌ی فایرفاکس)،
    $ sudo apt-get install abrowser-globalmenu
    و در لیبره‌آفیس: (نسخه‌ی آزمایشی)
    $ sudo apt-get install lo-menubar
    *پانویس: منوهای جهانی، منوهایی هستند که در محیط یونیتی همیشه بالای صفحه قرار دارند و به نرم‌افزار متصل نیستند.
    منبع: +
    • سلمان محمدی

    من دما رو توی تریسکل ۶ و اوبونتو ۱۲٫۱۰ روی سیستم خودم، براتون می‌ذارم. دما بشدت کاهش پیدا کرده (در بعضی از موارد نصف شده) و فن هم دیگه عین موتور جت کار نمی‌کنه! (دو کارت گرافیکه اینتل، رادئون)

    تو تریسکل ۶:

    هسته:

    Linux 3.5.0-25-generic x86_64
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:        +47.0°C  (crit = +128.0°C)
    temp2:        +58.0°C  (crit = +128.0°C)
    temp3:        +29.0°C  (crit = +128.0°C)
    temp4:        +43.0°C  (crit = +128.0°C)
    temp5:        +20.0°C  (crit = +128.0°C)
    temp6:         +0.0°C  (crit = +128.0°C)
    temp7:         +0.0°C  (crit = +128.0°C)
    temp8:         +0.0°C  (crit = +128.0°C)

    coretemp-isa-0000
    Adapter: ISA adapter
    Physical id 0:  +49.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 0:         +47.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 1:         +49.0°C  (high = +86.0°C, crit = +100.0°C)
    اوبونتو ۱۲٫۱۰:
    Linux 3.5.0-17-generic x86_64
    acpitz-virtual-0
    Adapter: Virtual device
    temp1:        +82.0°C  (crit = +128.0°C)
    temp2:         +70.0°C  (crit = +128.0°C)
    temp3:        +38.0°C  (crit = +128.0°C)
    temp4:        +62.0°C  (crit = +128.0°C)
    temp5:        +20.0°C  (crit = +128.0°C)
    temp6:         +0.0°C  (crit = +128.0°C)
    temp7:         +0.0°C  (crit = +128.0°C)
    temp8:         +0.0°C  (crit = +128.0°C)

    coretemp-isa-0000
    Adapter: ISA adapter
    Physical id 0:  +80.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 0:         +68.0°C  (high = +86.0°C, crit = +100.0°C)
    Core 1:         +80.0°C  (high = +86.0°C, crit = +100.0°C)

    radeon-pci-0100
    Adapter: PCI adapter
    temp1:        +70.0°C

    اینم مشخصات سامانه‌ای که ازش استفاده می‌کنم.
    00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
    00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
    00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
    00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
    00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
    00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
    00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
    00:1c.1 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 2 (rev b4)
    00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b4)
    00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b4)
    00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b4)
    00:1c.7 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 (rev b4)
    00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
    00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 04)
    00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 04)
    01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Caicos [Radeon HD 6400M/7400M Series]
    24:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller (rev 30)
    24:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller (rev 30)
    24:00.3 System peripheral: JMicron Technology Corp. MS Host Controller (rev 30)
    25:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
    26:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168 PCI Express Gigabit Ethernet controller (rev 06)
    27:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
    • سلمان محمدی

    دیروز داشتم با روبن (Ruben) (مدیر پروژه‌ی تریسکل) توی IRC صحبت می‌کردم که از قضا همون موقع محمدرضا حقیری بهش پیغام می‌ده و روبن هم فکر می‌کنه که من هستم! محمدرضا بهم گفت: «اون بنده‌ی خدا من رو با تو اشتباه گرفته! و بهم میگه که با یه آی‌دی دیگه اومدی» :D نمی‌دونم چی باعث شد که روبن همچین فکری بکنه، ولی در هر صورت اتفاق جالبی بود.

    ویرایش: پیغام محمدرضا این بوده: ...Hi Ruben, I'm an Iranian Linux developer

    • سلمان محمدی

    همان‌طور که خودتون بهتر از من می‌دونید در قالب پیش‌فرض تریسکل ۶ (Trisquel) دکمه‌ها در سمت راست قرار دارند،‌ برای اینکه اون‌ها رو به سمت چپ ببریم بایستی که دستور زیر رو توی ترمینال بزنیم.

    gconftool-2 --set /apps/metacity/general/button_layout --type string close,minimize,maximize:menu

    برای تغییر در ترتیب اون‌ها هم می‌تونید که جای کلمه‌های close، minimiz و maximize رو عوض کنید.

    منیع: +
    • سلمان محمدی