<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
    <channel>
      <title>Latest Posts in سیستم عامل لینوکس</title>
      <link>http://www.iossd.org/forum/rss</link>
      <description>RSS Feed for Posts in سیستم عامل لینوکس on http://www.iossd.org/forum/rss</description>
      <language>en-en</language>
      <docs>http://backend.userland.com/rss</docs>
      <generator>PHP/5.1.6</generator>    <item>
<title>اجرای یک اسکریپت شل از منو Applications</title>
    <link>
http://www.iossd.org/forum/rss/index.php?page=findpost&amp;post=95
</link>
    <description>
سلام،

دیروز Karmic Koala AMD64 نصب کردم ولی نرم افزار [url=http://www.miksoft.net/mobileMediaConverterDown.htm]Mobile Media Converter[/url] بسته ۶۴ بیتی deb نداشت. به همین خاطر بسته tar.gz اونو یه جایی باز کردم تا خود Karmic با این کتابخونه ia32 اجراش کنه. نقطه ورود این بسته یه اسکریپت شل هست به نام MobileMediaConverter به صورت زیر:

[code]#!/bin/bash
export LD_LIBRARY_PATH=./lib
./lib/mmc &amp;quot;$@&amp;quot;[/code]

از توی ترمینال همه چی خوب بود و برنامه به خوبی اجرا شد. ولی وقتی یه ورودی به منوی Applications &amp;gt; Sound &amp;amp; Video اضافه کردم:
[code]
Type: Application
Name: Mobile Media Converter
Command: /home/myusername/apps/MobileMediaConverter/MobileMediaConverter
Comment: Mobile Media Converter[/code]

و اون گزینه رو اجرا کردم...
... خوب، هیچ اتفاقی نیفتاد. هیچی اجرا نشد. خلاصه بعد از کلی سر و کله زدن با لانچرهای گنوم فهمیدم که اونا مسیر دایرکتوری کاری رو برای اسکریپتها تنظیم نمی کنن. برای همین توی خط آخر اسکریپت بالا، فایل اجرایی mmc اصلا پیدا نمی شه و چون دیگه ترمینال هم باز نیست، من نمی تونم پیغام خطا رو ببینم. پس اسکریپت رو به صورت زیر تغییر دادم:

[code]#!/bin/bash
MMC_DIR=`dirname $0`
export LD_LIBRARY_PATH=$MMC_DIR/lib
$MMC_DIR/lib/mmc &amp;quot;$@&amp;quot;[/code]

همونطور که می دونین پارامتر صفرم ($0) که به هر برنامه ای پاس می شه، مسیر فایل اجرایی یا اسکریپت اون برنامه به اضافه اسم اون برنامه س. مثلا برای این مورد خاص:

[code]/home/myusername/apps/MobileMediaConverter/MobileMediaConverter[/code]

برنامه dirname هم از همچین عبارتی قسمت دایرکتوری اونو بر می گردونه، البته بدون اسلش آخرش. مثلا:

[code]/home/myusername/apps/MobileMediaConverter[/code]
حالا اینطوری $MMC_DIR/lib/mmc تبدیل می شه به
[code] /home/myusername/apps/MobileMediaConverter/lib/mmc[/code]
 و مسیر کامل فایل اجرایی مشخص می شه.

با اینکار لانچر گنوم هم برنامه رو درست اجرا کرد.
</description>
<author></author>
<media:title>اجرای یک اسکریپت شل از منو Applications</media:title>
    <media:text type="html">
سلام،

دیروز Karmic Koala AMD64 نصب کردم ولی نرم افزار [url=http://www.miksoft.net/mobileMediaConverterDown.htm]Mobile Media Converter[/url] بسته ۶۴ بیتی deb نداشت. به همین خاطر بسته tar.gz اونو یه جایی باز کردم تا خود Karmic با این کتابخونه ia32 اجراش کنه. نقطه ورود این بسته یه اسکریپت شل هست به نام MobileMediaConverter به صورت زیر:

[code]#!/bin/bash
export LD_LIBRARY_PATH=./lib
./lib/mmc &amp;quot;$@&amp;quot;[/code]

از توی ترمینال همه چی خوب بود و برنامه به خوبی اجرا شد. ولی وقتی یه ورودی به منوی Applications &amp;gt; Sound &amp;amp; Video اضافه کردم:
[code]
Type: Application
Name: Mobile Media Converter
Command: /home/myusername/apps/MobileMediaConverter/MobileMediaConverter
Comment: Mobile Media Converter[/code]

و اون گزینه رو اجرا کردم...
... خوب، هیچ اتفاقی نیفتاد. هیچی اجرا نشد. خلاصه بعد از کلی سر و کله زدن با لانچرهای گنوم فهمیدم که اونا مسیر دایرکتوری کاری رو برای اسکریپتها تنظیم نمی کنن. برای همین توی خط آخر اسکریپت بالا، فایل اجرایی mmc اصلا پیدا نمی شه و چون دیگه ترمینال هم باز نیست، من نمی تونم پیغام خطا رو ببینم. پس اسکریپت رو به صورت زیر تغییر دادم:

[code]#!/bin/bash
MMC_DIR=`dirname $0`
export LD_LIBRARY_PATH=$MMC_DIR/lib
$MMC_DIR/lib/mmc &amp;quot;$@&amp;quot;[/code]

همونطور که می دونین پارامتر صفرم ($0) که به هر برنامه ای پاس می شه، مسیر فایل اجرایی یا اسکریپت اون برنامه به اضافه اسم اون برنامه س. مثلا برای این مورد خاص:

[code]/home/myusername/apps/MobileMediaConverter/MobileMediaConverter[/code]

برنامه dirname هم از همچین عبارتی قسمت دایرکتوری اونو بر می گردونه، البته بدون اسلش آخرش. مثلا:

[code]/home/myusername/apps/MobileMediaConverter[/code]
حالا اینطوری $MMC_DIR/lib/mmc تبدیل می شه به
[code] /home/myusername/apps/MobileMediaConverter/lib/mmc[/code]
 و مسیر کامل فایل اجرایی مشخص می شه.

با اینکار لانچر گنوم هم برنامه رو درست اجرا کرد.
</media:text>
<p>http://www.iossd.org/forum/rss</p>
</item>   </channel>
</rss>