| SQUEAK(1) | Squeak Smalltalk System | SQUEAK(1) |
نام (NAME)
squeak, inisqueak - ماشین مجازی و نصبکننده Unix Squeak
خلاصه دستور (SYNOPSIS)
inisqueak
squeak [ option... ] [ image ] [ script [
argument... ] ]
توضیحات (DESCRIPTION)
squeak ماشین مجازی برای سامانه Squeak Smalltalk است. این برنامه برای کارکرد صحیح به سه فایل نیاز دارد: یک فایل image شامل یک “تصویر لحظهای” از یک نشست فعال Squeak، یک فایل changes شامل کد منبع متدهای تغییریافته در image، و یک نسخه از (یا پیوندی به) یک فایل سیستمی مشترک sources شامل کد منبع متدهایی که پس از آخرین ارتقای نسخه اصلی تغییری نکردهاند.
فایلهای image و changes حاوی وضعیت نشست Squeak کاربر هستند که در میان نشستهای متوالی ماندگار است. بنابراین معمولاً نسخههای اختصاصی از این فایلها مورد نیاز است. اسکریپت inisqueak بررسی میکند که نصب محلی Squeak سالم باشد و سپس فایلهای مورد نیاز را در دایرکتوری کاری جاری کپی میکند. اگر inisqueak با مشکلی مواجه نشود، با اجرای squeak برای آغاز یک نشست Squeak با استفاده از فایلهای image و changes تازه کپیشده به کار خود پایان میدهد.
inisqueak باید تنها یکبار، هنگام استفاده از Squeak برای نخستین بار، جهت ایجاد یک نشست “شخصی” جدید برای Squeak اجرا شود. پس از آن، squeak باید هر بار که قرار است آن نشست از سر گرفته شود، اجرا گردد. inisqueak هیچ گزینه یا آرگومانی ندارد. کافی است با دستور 'cd' به دایرکتوریای بروید که قرار است حاوی نسخههای کاری فایلهای image و changes باشد، و سپس آن را اجرا کنید.
squeak مجموعهای از گزینهها (توضیح داده شده در زیر) و سپس یک نام image اختیاری (که نباید با علامت منفی '-' شروع شود) را میپذیرد. اگر نام یک image در خط فرمان داده شود، آنگاه squeak تلاش میکند تا آن ایمیج را اجرا کند. در غیر این صورت، squeak متغیر محیطی SQUEAK_IMAGE را بررسی کرده و در صورت تنظیم بودن، از مقدار آن به عنوان نام ایمیجی که باید اجرا شود استفاده میکند. در غیر این صورت، squeak به دنبال ایمیجی به نام 'squeak.image' در دایرکتوری جاری میگردد. اگر فایل ایمیج وجود نداشته باشد، squeak پیامی چاپ میکند مبنی بر اینکه در یافتن کدام فایل ایمیج ناموفق بوده و سپس خارج میشود. اگر پسوند '.image' در آرگومان image یا در مقدار متغیر SQUEAK_IMAGE وجود نداشته باشد، بهطور خودکار به انتهای آن افزوده خواهد شد.
پس از آرگومان image میتواند نام یک script بیاید. این نام یک «سند» است که باید شامل کد Smalltalk برای اجرا در زمان راهاندازی باشد. این سند میتواند نام یک فایل یا یک URL باشد که با 'http:' شروع میشود. هر آرگومانی که پس از نام script بیاید نادیده گرفته میشود، اما از درون Squeak از طریق متد getSystemAttribute: در دسترس script قرار میگیرد. (بخش SCRIPTS در زیر را ببینید.)
اگر image به صورت '--' داده شود، آنگاه squeak بلافاصله پردازش آرگومانها را متوقف میکند (و به گونهای رفتار میکند که گویی image مشخص نشده است). این ویژگی برای مشخص کردن یک script (احتمالاً همراه با آرگومانهای اسکریپت) بدون تعیین یک image صریح، مفید است.
گزینهها (OPTIONS)
گزینههای خط فرمان به دو دسته تقسیم میشوند: گزینههای «عمومی» که توسط ماشین مجازی پایه (base VM) شناخته میشوند و گزینههای «خاص» که به یک درایور نمایشگر یا صدای خاص وابستهاند. گزینههای عمومی همواره توسط squeakشناخته میشوند، در حالی که یک گزینهٔ خاصِ معین تنها پس از بارگذاری درایور مربوطه توسط squeak شناسایی خواهد شد. برای جزئیات بیشتر به گزینهٔ '-vm' در زیر مراجعه کنید.
گزینههای عمومی شناختهشده توسط squeak به شرح زیر هستند:
- -encoding enc
- کدگذاری
نویسهٔ
داخلی مورد
استفاده
توسط Squeak را
مشخص
میکند. این
گزینه بر
تبدیلی که
ماشین
مجازی
هنگام وارد
کردن متن
(از
صفحهکلید
یا از طریق 'paste'
از یک گزینش
خارجی) یا
صادر کردن
متن
(چسباندن
متن از Squeak به
برنامهای
دیگر، یا
هنگام
ایجاد نام
فایلهای
حاوی
نویسههای
خاص) انجام
میدهد،
تأثیر
میگذارد.
به عبارت
دیگر، بر
تطابق بین
آنچه Squeak روی
صفحه نمایش
میدهد و
آنچه به
برنامههای
خارجی
میفرستد
(یا از
آنها
دریافت
میکند)
اثرگذار
است. مقدار
صحیح به
نحوهٔ
کدگذاری
قلمهای
داخلی Squeak
بستگی دارد.
ایمیجهای
فعلی با
قلمهای
سنتی
مکینتاش 'New York'
عرضه
میشوند که
از کدگذاری
Mac Roman استفاده
میکنند؛
بنابراین
این
کدگذاری،
کدگذاری
داخلی
پیشفرض
است. اگر
قلمهای
دیگری (از X11
یا جای
دیگر) به
ایمیج وارد
شوند و به
عنوان
قلمهای
سیستمی
استفاده
گردند، این
تبدیل
پیشفرض
برای علائم
تفکیککننده
و
نویسههای
خاص نتایج
نادرستی
خواهد داد.
در چنین
مواردی
میتوان از
گزینهٔ -encoding
برای تغییر
کدگذاری
داخلی
استفاده
کرد، برای
مثال:
-encoding ISO-8859-15
(معروف به Latin9) که برای بسیاری از قلمهای طراحیشده برای زبانهای اروپایی مناسب خواهد بود.
- -help
- خلاصهٔ کوتاهی از نحو خط فرمان، گزینهها و درایورهای موجود را چاپ کرده و سپس خارج میشود.
- -memory size[mk]
- درخواست میکند که یک هیپ (heap) ثابت به اندازهٔ size بایت برای ایمیج Squeak تخصیص داده شود. اگر پسوند `k' داده شود، آرگومان بر حسب کیلوبایت بیان شده است. اگر پسوند `m' داده شود، آرگومان بر حسب مگابایت بیان شده است. از این گزینه نباید استفاده شود، مگر آنکه دلیل موجهی برای این کار وجود داشته باشد، چرا که محدودیتی دلخواه بر اندازهٔ حافظهٔ اشیاء Squeak اعمال میکند.
- -mmap size[mk]
- درخواست میکند که یک هیپ متغیر با حداکثر size بایت تخصیص یابد. (پسوندها همانگونه هستند که برای گزینهٔ '-memory' شرح داده شد.) squeak در ابتدا هیپی به اندازهٔ کافی بزرگ برای نگهداری ایمیج، به همراه مقدار کمی فضای مازاد تخصیص میدهد. اگر در هر زمان Squeak برای ایمیج خود به حافظهٔ بیشتری نیاز داشته باشد، فضای اضافه به صورت پویا تخصیص خواهد یافت. به همین ترتیب، هنگامی که حافظه دیگر مورد نیاز نباشد، آزاد شده و به سیستم بازگردانده میشود. آرگومان size یک حد بالایی برای میزان رشد هیپ به این روش تعیین میکند. squeak بهطور پیشفرض از یک هیپ پویا استفاده میکند که حداکثر اندازهٔ آن روی ۷۵٪ از حافظهٔ مجازی در دسترس یا ۱ گیگابایت (هر کدام که کمتر باشد) تنظیم شده است.
- -noevents
- سازوکار ورودی رویدادمحور جدید (ایمیج ۲.۸ و بالاتر) را غیرفعال میکند. این گزینه فقط برای آزمایش سازگاری عقبرو با ایمیجهای قدیمیتر کاربرد دارد و نباید استفاده شود.
- -notimer
- استفاده از تایمر بازهای (interval timer) را برای رهگیری زمان با تفکیکپذیری پایین غیرفعال میکند. (اگر با ورودی/خروجی فایل، صدا یا سوکت مشکلی دارید که پیام `interrupted system call' را گزارش میدهد، تنظیم این پرچم ممکن است کمک کند.)
- -pathenc enc
- کدگذاری نویسهٔ خارجی مورد استفاده توسط Squeak را هنگام دسترسی به سیستمفایل (نام مسیرهای فایل و دایرکتوری) مشخص میکند. مقدار صحیح به ویژگیهای پلتفرم محلی بستگی دارد. اگر هیچ تبدیل کدگذاریای نباید انجام شود، این مقدار باید روی همان کدگذاری که Squeak به طور داخلی استفاده میکند تنظیم گردد (گزینهٔ -encoding را ببینید). در غیر این صورت، ISO-8859-15 (معروف به Latin9) ممکن است در یک سیستمفایل با پشتیبانی از نویسههای ۸ بیتی منطقی باشد، و UTF-8 برای سیستمفایلهایی که از نام مسیرهای مبتنی بر یونیکد استفاده میکنند مناسب است. مقدار پیشفرض UTF-8 است که برای Mac OS X و توزیعهای بسیار جدید GNU/Linux صحیح است، و (در دنیایی ایدئال) سرانجام توسط تمام انواع Unix پذیرفته خواهد شد.
- -plugins path
- مکان
جایگزینی
را برای
افزونههای
خارجی
(مجموعهای
از توابع
اولیه/پریمیتیوهای
نامدار) و
درایورها
(برای
نمایشگر و
صدا) مشخص
میکند.
آرگومان path
حاوی
الگویی است
که در آن هر
رخدادی از
`%n' با نام
افزونه یا
درایوری که
در حال
بارگذاری
است
جایگزین
خواهد شد. path
میتواند
نام یک
دایرکتوری
یا خود
افزونه
باشد و
میتواند
مطلق یا
نسبی (نسبت
به
دایرکتوریای
که squeak در آن
اجرا شده)
باشد. اگر
یک افزونه
یا درایور
در مکان
مشخصشده
توسط path
یافت نشود،
جستجو در
مکانهای
پیشفرض
ادامه
مییابد..TP -textenc
enc
رمزگذاری
نویسه
خارجی مورد
استفاده
توسط Squeak را
هنگام
تبادل متن
بریدهدان
با سایر
برنامهها
مشخص
میکند.
پیشفرض در
Mac OS X برابر با
UTF-8 و در سایر
سیستمهای
Unix برابر با
ISO-8859-15 (معروف
به Latin9) است.
توجه داشته
باشید
برنامههای
X11 که
درخواست
تبدیل
انتخاب (selection)
به
دادههای
UTF8_STRING را
دارند،
فارغ از این
تنظیم، متن
بریدهدان
را
(بهدرستی)
با
رمزگذاری
UTF-8دریافت
خواهند کرد.
Squeak زیرمجموعهای از نامهای رمزگذاری تعریفشده توسط IANA را شناسایی میکند. (اگر ترجیح میدهید به جای نماد یورو از نماد ارز بینالمللی در متن خارجی استفاده کنید، ممکن است بخواهید این مقدار را روی ISO-8859-1، معروف به Latin1 تنظیم کنید.)
- -version
- سه خط یا بیشتر از اطلاعات نسخه را به شرح زیر چاپ میکند:
- •
- معماری پیکربندیشده برای ماشین مجازی در زمان کامپایل، «شماره توالی» کامپایل، زمان و تاریخ کامپایل، و نام (و نسخه، در صورت مشخص بودن) کامپایلری که برای کامپایل squeak استفاده شده است؛
- •
- اطلاعات کامل uname(1) برای میزبانی که ماشین مجازی روی آن کامپایل شده است؛
- •
- محل پیشفرض نصب افزونهها و درایورها؛
پس از چاپ موارد فوق، ماشین مجازی خارج میشود.
- -vm driver
- از squeak
میخواهد
یک درایور
صدا/نمایشگر
را
بارگذاری
کند. برای
هر دستگاه
پشتیبانیشده
یک درایور
متناظر
وجود دارد
که squeak در طول
مقداردهی
اولیه
بارگذاری
میکند. مگر
اینکه خلاف
آن مشخص شده
باشد، squeak
درایورهای
پیشفرض
معقولی را
برای
بارگذاری
تعیین
خواهد کرد.
این انتخاب
را میتوان
با استفاده
از این
گزینه لغو
کرد.
آرگومان driver
فهرستی از
یک یا چند
«انتساب»
به صورت زیر
است:
class=device
که با فاصله یا ویرگول از هم جدا شدهاند. ترکیبهای پشتیبانیشده در حال حاضر عبارتند از:
- display=X11
- برای نمایش پنجره Squeak روی یک کارساز سامانه پنجره X محلی یا راه دور.
- display=Quartz
- برای نمایش روی میزکار محلی Mac OS X.
- display=none
- برای غیرفعال کردن کامل نمایشگر (و صفحهکلید/ماوس). (این درایور اساساً برای اجرای برنامههای کاربردی «کارساز» در Squeak مفید است.)
- sound=OSS
- ورودی و خروجی صدا را از طریق Open Sound System فراهم میکند. (اگر دستگاهی به نام '/dev/dsp' دارید، احتمالاً این همان گزینهای است که میخواهید.)
- sound=MacOSX
- ورودی/خروجی صدا را از طریق Core Audio در Mac OS X فراهم میکند.
- sound=NAS
- ورودی/خروجی صدا را از طریق Network Audio System فراهم میکند.
- sound=Sun
- صدا را روی سختافزار Sun Microsystems فراهم میکند.
- sound=none
- صدا را به طور کامل غیرفعال میکند. squeak هنگامی که این درایور بارگذاری شود، تلاشی برای پخش یا ضبط صدا نخواهد کرد.
گزینههای مخصوص درایور نمایشگر X11 به شرح زیر است:
- -browserWindow id
- مشخصکننده id پنجرهای است که squeak باید برای نمایش خود استفاده کند. این گزینه برای استفاده در زمانی در نظر گرفته شده که Squeak به عنوان یک افزونه مرورگر وب در حال اجرا است.
- -display server
- مشخص میکند که Squeak باید به کارساز نمایش (display server) مشخصشده متصل شود، به جای اینکه برای یافتن نام کارساز مورد استفاده به متغیر محیطی DISPLAY (رفتار پیشفرض) مراجعه کند.
- -cmdmod N
- به ماشین مجازی (VM) میگوید که کلید تبدیلساز N را روی صفحهکلید به کد کلید تبدیلی که image برای کلید Command انتظار دارد، نگاشت کند.
- -optmod N
- به ماشین مجازی (VM) میگوید که کلید تبدیلساز N را روی صفحهکلید به کد کلید تبدیلی که image برای کلید Option انتظار دارد، نگاشت کند.
- -compositioninput
- پشتیبانی از یک پنجره همپوشانی (overlay window) را فعال میکند که در آن نویسههای مجزا (مانند هیراگانای ژاپنی) پیش از آنکه توسط image به عنوان یک نویسه واحد (مانند کانجی ژاپنی) تفسیر شوند، ترکیب میشوند.
- -xicfont font
- به VM اعلام میکند که از قلم ( font) مشخصشده در پنجره همپوشانی ترکیب استفاده کند.
- -fullscreen
- باعث میشود پنجره Squeak تا حد ممکن بیشترین فضای صفحه را اشغال کند. مستلزم '-notitle' است.
- -headless
- نمایشگر گرافیکی و ورودی ماوس/صفحهکلید را غیرفعال میکند. این حالت عملیاتی اساساً برای سرورها مفید است.
- -iconic
- از مدیر پنجره میخواهد که پنجره Squeak را هنگام راهاندازی نمادین (کوچک) کند.
- -lazy
- باعث میشود Squeak هر زمان که پنجره اصلی پنهان (unmapped) شد، به حالت تعلیق (snooze) برود. این گزینه را میتوان زمانی استفاده کرد که به نظر برسد Squeak در حالت بیکاری زمان CPU را مصرف میکند (که معمولاً نباید اینطور باشد). توجه داشته باشید اگر این گزینه فعال باشد، هنگامی که پنجره Squeak پنهان است، squeak به هیچ محرک خارجی پاسخ نخواهد داد (به جز ارائه انتخاب X به درخواستکنندگان، در حالتی که Squeak مالک آن باشد)..TP -mapdelbs کلید Delete را روی Backspace نگاشت میکند. Backspace نویسهٔ سمت چپ مکاننما را پاک میکند و Delete معمولاً نویسهٔ سمت راست مکاننما را پاک میکند. با این گزینه، Delete مانند Backspace عمل خواهد کرد. رفتار Backspace تغییر نمیکند.
- -noxdnd
- پشتیبانی از پروتکل کشیدن و رها کردن (drag-and-drop) در سامانهٔ پنجرهای X را غیرفعال میکند.
- -nointl
- مدیریت کلیدهای مرده (dead keys) را در صفحهکلیدهای بینالمللی غیرفعال میکند. بدون این گزینه، اگر یکی از متغیرهای LC_ALL یا LC_CTYPE در محیط مقداردهی شده باشد، پردازش کلیدهای مرده فعال است.
- -notitle
- نوار عنوان پنجرهٔ Squeak را (در صورت پشتیبانی مدیر پنجره) غیرفعال میکند. این گزینه بهطور ضمنی با '-fullscreen' فعال میشود.
- -swapbtn
- دکمههای زرد و آبی را با هم جابهجا میکند. (بهطور سنتی، دکمهٔ قرمز در سمت چپ، زرد در وسط و آبی در سمت راست قرار دارد. این نامهای رنگارنگ از زیراکس آلتو (Xerox Alto) میآیند که زبان Smalltalk نخستین بار روی آن پیادهسازی شد.) Squeak معمولاً دکمههای ۱، ۲ و ۳ در X را به ترتیب به دکمههای red، yellow و blue نگاشت میکند. با این گزینه، دکمههای ۱، ۲ و ۳ در X را به دکمههای red، blue و yellow نگاشت میکند.)
- -xasync
- باعث میشود Squeak از بهروزرسانیهای ناهمگام نمایشگر استفاده کند. ماشین مجازی معمولاً اتصال نمایشگر را در فواصل زمانی منظم تخلیه و همگامسازی میکند. استفاده از این گزینه همگامسازی را غیرفعال میکند و آن را تنها زمانی انجام میدهد که ایمیج صراحتاً درخواست کرده باشد.
- -xshm
- استفاده از افزونهٔ حافظهٔ مشترک X (X Shared Memory) را در کارسازهایی که از آن پشتیبانی میکنند فعال میسازد. این کار میتواند کارایی نمایش را به میزان چشمگیری ارتقا دهد، اما تنها زمانی کار میکند که Squeak روی خود کارساز در حال اجرا باشد.
گزینههای مخصوص راهانداز نمایش FBDev به شرح زیر هستند:
- -fbdev device
- بهجای مقدار پیشفرض '/dev/fb0' از device فریمبافر مشخصشده استفاده میکند.
- -kbmap mapfile
- نگاشت
صفحهکلید
را بهجای
خواندن از
هستهٔ در
حال اجرا،
از mapfile
مشخصشده
بارگذاری
میکند.
توجه داشته
باشید که squeak
(در حال
حاضر)
نمیتواند
فایلهای
نگاشت
فشردهشده
یا
«کوتاهنویسیشده»
(مانند
موارد
موجود در
/usr/share/keymaps یا /lib/kbd/keymaps) را
بخواند.
برای ایجاد
یک فایل
نگاشت کلید
که برای squeak
قابل
استفاده
باشد،
برنامهٔ
زیر را از
کنسول اجرا
کنید:
dumpkeys -f -n --keys-only > key.map
اگر squeak هنگام تلاش برای بارگذاری mapfile با مشکلی مواجه شود، یک پیام خطا چاپ کرده و خارج میشود. برای اطلاعات بیشتر دربارهٔ ساختار فایل نگاشت کلید، keymaps(5) را ببینید. برنامههای dumpkeys(1)، loadkeys(1)و showkey(1) را میتوان برای اصلاح نگاشت صفحهکلید قبل از ایجاد فایل نگاشت برای squeak به کار برد.
- -msdev device
- از device ماوس مشخصشده بهجای مقدار پیشفرض استفاده میکند. رفتار پیشفرض این است که به ترتیب '/dev/psaux'، '/dev/input/mice' و '/dev/adbmouse' بررسی شوند و از نخستین موردی که دستگاه فیزیکی به آن متصل است استفاده گردد.
- -msproto protocol
- از protocol ماوس مشخصشده بهجای پیشفرض استفاده میکند. پروتکلهای پشتیبانیشده 'ps2' و 'adb' هستند. مقدار پیشفرض برای ماوسهای متصل به '/dev/psaux' یا '/dev/input/mice' برابر 'ps2' و برای ماوسهای متصل به '/dev/adbmouse' برابر 'adb' است.
- -vtlock
- تغییر پایانهٔ مجازی (VT) را غیرمجاز میکند؛ صرفنظر از اینکه درخواست از صفحهکلید ارسال شده باشد یا از برنامهای دیگر مانند chvt(1).
- -vtswitch
- تغییر پایانهٔ مجازی (VT) از صفحهکلید را فعال میکند. توجه داشته باشید که اگر گزینهٔ '-vtlock' نیز فعال باشد، این گزینه عملاً غیرفعال خواهد بود.
گزینههای مخصوص راهاندازهای صوتی OSS و MacOSX به شرح زیر هستند:
- -nomixer
- توابع پایهای (primitives) را که تنظیمات میکسر (صدا) را تغییر میدهند غیرفعال میکند. اگر ترجیح میدهید Squeak این تنظیمات را دستکاری نکند (چرا که در نهایت مسئولیت آنها بر عهدهٔ برنامه میکسر یا بخش کنترل صدای مورد استفاده شماست)، این گزینه برای شما مناسب است.
گزینههای مخصوص راهانداز صوتی ALSA به شرح زیر هستند:
- -capture device
- از device ورودی نامبرده برای ضبط صدا استفاده میکند.
- -playback device
- از device خروجی نامبرده برای پخش صدا استفاده میکند.
چندین گزینهٔ رایج منسوخ شدهاند و صرفاً برای سازگاری با گذشته ارائه میشوند. این گزینهها نباید استفاده شوند و در نسخههای آینده حذف خواهند شد:
- -display dpy
- معادل با '-vm display=X11 -display dpy' است.
- -headless
- معادل با '-vm display=X11 -headless' است.
- -nodisplay
- معادل با '-vm display=none' است.
- -nosound
- معادل با '-vm sound=none' است.
- -quartz
- معادل با '-vm display=Quartz' است..SH "محیط (ENVIRONMENT)" بسیاری از گزینههایی که میتوان در خط فرمان تنظیم کرد، از طریق متغیرهای محیطی نیز قابل تنظیم هستند.
- SQUEAK_ASYNC
- در صورت تنظیم در محیط، معادل پرچم '-xasync' است. (مقدار آن نادیده گرفته میشود.)
- SQUEAK_CAPTURE
- نگاه کنید به '-capture'.
- SQUEAK_COMPOSITIONINPUT
- در صورت تنظیم در محیط، معادل پرچم '-compositioninput' است. (مقدار آن نادیده گرفته میشود.)
- SQUEAK_ENCODING
- نام کدگذاری نویسه داخلی مورد استفاده توسط Squeak. در صورت تنظیم، معادل دادن گزینه خط فرمان '-encoding' است.
- SQUEAK_FBDEV
- نام دستگاه framebuffer برای استفاده هنگام اجرا روی کنسول. گزینه '-fbdev' را ببینید.
- SQUEAK_FULLSCREEN
- در صورت تنظیم، معادل '-fullscreen' است.
- SQUEAK_ICONIC
- معادل پرچم '-iconic' است.
- SQUEAK_IMAGE
- نام فایل image برای اجرا، در صورتی که هیچ آرگومان image در خط فرمان مشخص نشده باشد.
- SQUEAK_KBMAP
- نام فایل نگاشت کلید (keymap) برای استفاده هنگام اجرا روی کنسول. گزینه '-kbmap' را ببینید.
- SQUEAK_LAZY
- معادل پرچم '-lazy' است.
- SQUEAK_MAPDELBS
- معادل پرچم '-mapdelbs' است.
- SQUEAK_MEMORY
- اندازه اولیه heap، همراه با پسوند اختیاری 'k' یا 'm'. معادل پرچم '-memory size[km]' است.
- SQUEAK_MSDEV
- نام دستگاه موشواره برای استفاده هنگام اجرا روی کنسول. گزینه '-msdev' را ببینید.
- SQUEAK_MSPROTO
- نام پروتکل موشواره برای استفاده هنگام اجرا روی کنسول. گزینه '-msproto' را ببینید.
- SQUEAK_VTLOCK
- در صورت تنظیم، معادل تعیین گزینه '-vtlock' در خط فرمان است.
- SQUEAK_VTSWITCH
- در صورت تنظیم، معادل تعیین گزینه '-vtswitch' در خط فرمان است.
- SQUEAK_NOEVENTS
- در صورت تنظیم، معادل '-noevents' است.
- SQUEAK_NOINTL
- در صورت تنظیم، معادل '-nointl' است.
- SQUEAK_NOMIXER
- در صورت تنظیم، معادل '-nomixer' است.
- SQUEAK_NOTIMER
- در صورت تنظیم، معادل '-notimer' است.
- SQUEAK_NOTITLE
- در صورت تنظیم، معادل '-notitle' است.
- SQUEAK_PATHENC
- نام کدگذاری نویسه که برای ایجاد نامهای فایل و دایرکتوری استفاده میشود. در صورت تنظیم، معادل دادن گزینه خط فرمان '-pathenc' است.
- SQUEAK_PLAYBACK
- نگاه کنید به '-playback'.
- SQUEAK_PLUGINS
- نگاه کنید به '-plugins'.
- SQUEAK_SWAPBTN
- در صورت تنظیم، معادل '-swapbtn' است.
- SQUEAK_TEXTENC
- نام کدگذاری نویسه مورد استفاده برای کپی/جایگذاری متن از/به برنامههای خارجی. در صورت تنظیم، معادل دادن گزینه خط فرمان '-textenc' است.
- SQUEAK_VM
- شامل نامهای یک یا چند راهانداز است که باید در طول مقداردهی اولیه بارگیری شوند. برای جزئیات، گزینه '-vm' را ببینید.
- SQUEAK_XICFONT
- در صورت تنظیم در محیط، نام پیشفرضی برای قلم همپوشانی ترکیب (composition overlay font) فراهم میکند؛ پرچم '-xicfont' را ببینید.
- SQUEAK_XSHM
- معادل '-xshm' است.
اگر یک متغیر محیطی و یک گزینه خط فرمان بر سر یک مقدار خاص تداخل داشته باشند، معمولاً مقدار خط فرمان اولویت دارد. استثنای این قاعده گزینه '-vm' است. متغیرهای محیطی پیش از آرگومانهای خط فرمان پردازش میشوند و از '-vm' نمیتوان برای تخلیه راهاندازی استفاده کرد که هنگام پردازش محتویات 'SQUEAK_VM' بارگیری شده است.
squeak همچنین محیط را برای LC_ALL و LC_CTYPE بررسی میکند. در صورت تنظیم هر یک از این متغیرها، پشتیبانی از صفحهکلیدهای بینالمللی (از جمله کلیدهای مرده برای نشانههای زیر و زبر) فعال میشود. برای جلوگیری از فعال شدن این پشتیبانی حتی زمانی که یکی یا هر دوی این متغیرها تنظیم شده باشند، از گزینه '-nointl' استفاده کنید (یا SQUEAK_NOINTL را در محیط تنظیم نمایید). برای مثال، جهت اجرای squeak با پشتیبانی از کلیدهای مرده روی صفحهکلیدهای اسپانیایی، همراه با کدگذاری Latin-1 برای نویسههای خارجی و کدگذاری پیشفرض قلم داخلی MacRoman، دستور squeak را به این صورت اجرا کنید:
export LC_CTYPE=es_ES export SQUEAK_TEXTENC=latin1 squeakبرنامهٔ Squeak میتواند هنگام راهاندازی، یک فایل «اسکریپت» حاوی کد Smalltalk را بارگذاری و اجرا کند. نام فایل باید بهعنوان آرگومان script به squeak داده شود. برای نمونه، با فرض اینکه ایمیج 'foo.image' حاوی یک پنجرهٔ باز Transcript باشد، کد زیر برنامهٔ «سلام دنیا» را برای Squeak نشان میدهد:
Transcript cr; show: 'Hello, world'.
اگر این اسکریپت در فایلی به نام 'hello.sq' باشد، میتوان آن را به این صورت اجرا کرد:
squeak foo.image hello.sq
همچنین میتوان با افزودن یک «خط مفسر» (interpreter line) به ابتدای اسکریپت، اسکریپتهای «خودمفسر» ایجاد کرد. میتوان فایل 'hello.sq' را به این شکل تغییر داد:
#!/usr/bin/squeak -- Transcript cr; show: 'Hello, world'.
و سپس با دستور زیر آن را قابلاجرا کرد:
chmod +x hello.sq
و پس از آن با اجرای مستقیم فایل اسکریپت، آن را فراخوانی نمود:
SQUEAK_IMAGE="foo.image" export SQUEAK_IMAGE ./hello.sq
اگر هرگونه argument (آرگومان) پس از نام script وجود داشته باشد، میتوان آنها را از درون اسکریپت با استفاده از متد
Smalltalk getSystemAttribute: n
بازیابی کرد، که در آن n شاخص (اندیس) آرگومان است که برای نخستین آرگومان از ۳ شروع میشود. (برای توضیحات مربوط به معانی هر یک از شاخصها، یادداشت متد
SystemDictionary>>getSystemAttribute:
را در ایمیج بررسی کنید.)
بهعنوان نمونهای از این موضوع، در زیر برنامهٔ 'echo' که بهصورت یک اسکریپت Squeak نوشته شده آمده است:
#!/usr/bin/squeak --
"Echo arguments to the Transcript."
| i a |
i := 2.
[(a := Smalltalk getSystemAttribute: (i := i + 1))
notNil]
whileTrue: [Transcript space; show: a].
هنگامی که بهصورت زیر اجرا شود:
./echo.sq one two three
این اسکریپت عبارت 'one two three' را در پنجرهٔ Transcript چاپ خواهد کرد..SH "خطاها (DIAGNOSTICS)"
- inisqueak
- در حین انجام وظایف خود، چندین پیام اطلاعرسانی چاپ میکند. اگر با مشکلی مواجه شود، پیش از توقف، پیام مناسبی را چاپ میکند. این پیامها باید به اندازه کافی واضح و گویا باشند.
- squeak
- در حالت عادی معمولاً اصلاً چیزی چاپ نمیکند. اگر چیزی چاپ کند، نشاندهنده وجود یک مشکل است. پیامها باید به اندازه کافی واضح و گویا باشند.
فایلها (FILES)
/usr/lib/squeak/SqueakV4.sources
/usr/lib/squeak/Squeak*.image /usr/lib/squeak/Squeak*.changes
./SqueakV4.sources
./name.image
./name.changes
/usr/lib/squeak/4.10.2-2614/*.so
/usr/lib/squeak/4.10.2-2614/*.la
/usr/bin/squeak
/usr/bin/inisqueak
/usr/man/man1/squeak.1
/usr/share/doc/squeak-4.10.2-2614/*
فایلهای image و changes که حاوی یک نشست ذخیرهشدهٔ Squeak هستند، ارتباط نزدیکی با یکدیگر دارند. آنها باید همواره با یکدیگر استفاده شوند، هرگز نباید از هم جدا گردند، و تحت هیچ شرایطی نباید یک image با فایل changes متعلق به image دیگری اجرا شود. عدم پایبندی به این موارد میتواند باعث مخدوش شدن کدهای منبع متدها در image و عدم امکان بازیابی آنها شود.
ماشین مجازی Unix Squeak بهطور کامل از OpenGL در هر دو درایور نمایش X11 و Quartz پشتیبانی میکند. Open Croquet با هر یک از این دو درایور بهخوبی اجرا خواهد شد (و بسیاری از کاربران Mac OS X حتی امکان انتخاب درایور مورد استفاده را نیز خواهند داشت :).
گزارش باگها (BUGS)
اگر یک گزینهٔ دودویی (binary) توسط یک متغیر محیطی فعال شده باشد، هیچ راهی برای غیرفعال کردن آن از طریق خط فرمان وجود ندارد.
بهطور مشابه، درایورهای مشخصشده در متغیر محیطی SQUEAK_VM را نمیتوان با ارسال گزینهها در خط فرمان لغو یا بازنویسی کرد.
squeak هرگز نباید دچار خرابی (crash) شود. در صورت وقوع غیرمحتمل کرش، یا چاپ هر گونه پیامی که به نظر نمیرسد ناشی از آرگومانهای نادرست یا عملیات غیرمجاز از درون یک برنامهٔ Squeak باشد، لطفاً یک گزارش باگ به این نشانی بفرستید: <ian.piumarta@squeakland.org>. (گزارشهای باگ را به فهرست رایانامهٔ عمومی «squeak-dev» ارسال نکنید، چرا که خوانده نخواهند شد. اگر احساس میکنید که حتماً باید یک گزارش باگ را در یک فهرست رایانامه ارسال کنید، آن را علاوه بر نشانی رایانامهٔ بالا، به فهرست رایانامهٔ «vm-dev» اسکوئیک ارسال نمایید.)
نویسندگان (AUTHORS)
این صفحهٔ راهنما توسط Ian Piumarta نوشته شده است.
همچنین ببینید (SEE ALSO)
Dan Ingalls، Ted Kaehler، John Maloney، Scott Wallace و Alan Kay، Back to the Future: The Story of Squeak, A Practical Smalltalk Written in Itself. Proc. OOPSLA'97.
صفحهٔ خانگی رسمی Squeak:
فهرست رایانامهٔ عمومی «squeak-dev» (نه برای گزارشهای باگ مربوط به VM):
فهرست رایانامهٔ «vm-dev» مربوط به Squeak (در میان موارد دیگر):
جدیدترین توزیعهای سورس و باینری Unix Squeak:
| Squeak Smalltalk System |