چچچ (۸): رنگی کردن خروجی فرمان ls در BASH
خیلی وقت بود که دنبال این بودم که بفهمم چطوری خروجی ls رو توی bash رنگی کنم و از این حالت مردهی سادش در بیارم. خوبی این رنگبندی موقعی معلوم میشه که توی دایرکتوریهای تو در تو گم میشی. خلاصه یه پست از پیروزان عزیز امروز بانی خیر شد و من رو مجبور کرد که به سمت حل این مشکل برم و چیزایی یاد بگیرم. البته ناگفته نمونه که پیروزان هم چیز جالبی معرفی کرد که در ادامهی مطلب توضیح استفاده ازش رو میدم.
برای رنگ کردن نتیجهی خروجی خود دستور ls یه آرگومانی به این صورت داره --color که خروجی رو رنگی میکنه. یعنی هر بار که میخواین خروجی رنگی بگیرین باید یه همچین دستوری رو بزنین:
[bash]
ls –color
[/bash]
که خوب این یه کم ممکنه خسته کننده باشه. برای رفع مشکلش هم که طبیعیه میتونین از alias استفاده کنین، و برای ماندگار شدنش یه همچین خطی رو به فایل .bashrc تون اضافه کنین:
[bash]
alias ls=»ls –color=always»
[/bash]
این دقیقا کاریه که خیلی از توزیعها به صورت پیشفرض انجامش میدن. ولی خوب همونطور که گفتم دوست عزیزم پیروزان یه چیز جالبتر هم معرفی کرده بود. ماجرا از این قراره که این آرگومان --color که بحثش رو کردیم، بر میگرده از یه فایلی به اسم DIR_COLORS توی شاخهی etc الگوی رنگبندیش رو بر میداره (که البته با توجه به توزیعهای مختلف ممکنه جای این فایل فرق کنه). حالا یه آدم باحال نشسته و رنگبندی متنوعی برای سیصد نوع فایل مختلف آماده کرده و توی این کانال git منتشر کرده. برای استفاده از این فایل اول اون رو دانلود کنین و برای مثال توی شاخهی خانگی لینوکستون ذخیره کنین. حالا با اضافه کردن خط زیر توی فایل .bashrc از رنگبندی جدید لذت ببرین:
[bash]
eval $(dircolors -b LS_COLORS)
[/bash]
نمونهای از خروجی این فایل به صورت زیره:
عشق لینوکسی (۱): چسباندن چند فایل PDF
گاهی وقتها هست که در حین کار با کامپیوتر محتاج انجام کاری میشوید که تا به حال تجربه نکردهاید. این کار هر چقدر هم کوچک که باشد، ولی شما شدیدا به انجام آن نیاز دارید! این بار من میخواستم چند فایل PDF را به هم بچسبانم تا وقتی برای پرینت میبرم، اشک متصدی در نیاید 😉
قبلا برنامههایی را برای ویندوز دیده بودم که چنین کاری میکردند، پس شروع به جستجو کردم، ولی با رسیدن به سایت محبوب Linux.com با یک ابزار ساده که اتفاقا روی اسلکورم نصب بود و از وجودش خبر نداشتم آشنا شدم. طبق گفتهی این مقاله تنها کافی بود از دستوری به شکل زیر استفاده کنم:
[bash]
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finished.pdffile1.pdf file2.pdf
[/bash]
و بله کار برایم به درستی جواب داد، اما در بعضی شرایط نتایج عجیبی در بر داشت! یکی از فایلهایی که میخواستم به بقیه بچسبانم، نوشتههایی با حاشیه رنگی داشت، در حین پروسهی چسباندن، اخطارهایی با همین موضوع دریافت کردم و در okular برنامهی نمایش PDF در KDE هم کادر رنگی نمایش داده میشد ولی خبری از نوشتهها نبود. من هم زیاد به خودم سختی ندادم و بیخیال این نوشتهها شدم، اما بعد از پرینت، دیدم که همه چیز سر جایش است!
بگذریم، بیایید نگاهی به آپشنهای این دستور بیاندازیم:
[bash]
gs
[/bash]
خوب کار این بخش که کاملا معلوم است، برنامهی ghostscript را اجرا میکند.
[bash]
-dBATCH
[/bash]
وقتی که برنامه یک بار فایلها را پردازش کرد، باید بسته شود، اگر این آپشن را وارد نکرده باشید، برنامه همچنان به کارش ادامه میدهد.
[bash]
-dNOPAUSE
[/bash]
ghostscript را مجبور میکند، بدون این که برای تعامل با کاربر pause شود به کارش ادامه دهد.
[bash]
q
[/bash]
از نمایش پیغامها در حین کار برنامه جلوگیری میکند.
[bash]
-sDEVICE=pdfwrite
[/bash]
به ghostscript میفهماند از نویسندهی PDF توکار ghostscript برای تولید فایل استفاده کند.
[bash]
-sOutputFile=finished.pdf
[/bash]
این قابلیت را به دستورمان اضافه میکند که نام فایل خروجی را معین کنیم، در اینجا نام فایل خروجی finished.pdf است.
در ادامهی دستور هم که نام فایلهای pdf مورد نظرتان را وارد میکنید. به نظرم بهتر است برای صرفهجویی در مصرف کیبورد فایلها را در یک پوشهی خالی کپی کرده و در این قسمت به جای نام فایلها یک «*» قرار دهیم 😉
پی نوشت: ناگفته نماند که در لینکی که در بالا گفتم، ابزارهای دیگری نیز معرفی شده است که دیدنشان خالی از لطف نیست!
نصب TeXLive بدون درد و خونریزی!
شاید این مساله انجام کارهای کامپیوتری، آن هم بدون درد و خونریزی، به یک کلیشهی تکراری تبدیل شده باشد. اما اگر شما هم قصد تجربهی LaTeX با زبان فارسی را دارید، و احتمالا ویژگیهای بستهای به اسم xepersian وسوسهتان کرده که آن را در اولویت بستههای فارسی قرار دهید، باید انتخابتان را بکنید! MikTex یا TeXLive. انتخاب احتمالا آسان است، چون MikTex تنها برای ویندوز توسعه داده میشود، ولی، TeXLive روی انواع پلتفرمها قابلیت نصب دارد. خوب حالا حتما میگویید که: ای بابا، اگه بستهها نصبشان به این آسانی است، پس درد و خونریزیای که میگویی کجاست؟
جوابتان از این قرار است که با وجود این که شما میتوانید تک لایو را از روی مخازن یا در مورد اسلکور با اسلکبیلد نصب کنید، اما آپگرید کردن این بستههای نصب شدهتان، وابسته به این میشود که این بستهها روی همان مخازن آپگرید شوند! یعنی مراحل به روز رسانی برای بستهای مثل xepersian با این روش میشود، اول توسعه دهنده بسته، نسخهی آخر را منتشر کند، سپس توزیعی مثل تک لایو، بسته را به آخرین نسخهای که ذکرش رفت آپگرید کند و در آخر توزیعتان، از آخرین نسخه تک لایو بستهای بسازد! حالا فکر میکنید از مرحله اول تا سوم، توسعه دهندهای مثل وفا خلیقی (توسعه دهندهی xepersian ) چند نسخهی به روز رسانی ارائه کرده؟ جواب سنگین است، برای من، ۲۰ نسخه! پس احتمالا حالا، باید اهمیت این به روزرسانی را درک کرده باشید!
خوب حالا چگونه نصبش کنیم؟ با وضع اینترنت ما، به خصوص در هفتههای اخیر، تنها انتخابمان همان iso است که از این لینک قابل دریافت است. حجمی برابر با ۲.۳ گیگابایت انتظارتان را میکشد (البته مزیت این DVD این است که شما میتوانید از آن برای نصب تکلایو روی انواع سیستمها نظیر مک و ویندوز هم استفاده کنید). پس از دانلود بسته را از حالت iso خارج کنید. سلیقه خودتان است، یا میتوانید روی یک فولدر دیگر Mountاش کنید، و یا مثل من خز بازی در آورده و با Ark اکسترکتش کنید. پس از باز کردن بسته به پوشهی مربوطه بروید، و دستور زیر را وارد کنید.
[bash]
sudo ./install-tl
[/bash]
خوب همانطور که پیداست با این کار اسکریپت نصب را فعال کردهاید. و با تایپ یکی دو حرف میتوانید بسته را نصب کنید (البته نه کاملا!). من ترجیح دادم که از محیط گرافیکی نصب استفاده کنم که یک پیشنیاز را باید نصب میکردم تا این محیط که با Perl نوشته شده اجرا شود. این پیشنیاز perl-tk نام دارد که اسلکوریها میتوانند از این اسلکبیلد استفاده کنند.
پس از نصب بستهی ذکر شده، حالا همان دستور قبلی را با یک آپشن اضافی صدا میزنیم:
[bash]
sudo ./install-tl -gui
[/bash]
میتوانید تنظیمات مربوطه را ببینید، و در صورتی که نیاز بود جایی را تغییر دهید. نصب حدود یک ربع ساعت برای من طول کشید. پس از پایان نصب، در متنهایی که روی صفحه نمایش داده میشود (چه در حالتی که از محیط گرافیکی استفاده میکند باشید و چه در ترمینال، این متن را خواهید دید) به شما از بابت نصب تکلایو تبریک گفته میشود، و میخواهد که آدرس مربوط به فرامین تکلایو را به PATH سیستمتان اضافه کنید.
این آدرس برای من از این قرار بود:
[bash]
/usr/localc/texlive/2011/bin/x86_64-linux/
[/bash]
این کار را میتوانید با ویرایش فایل /etc/profile انجام دهید. خوب با خوشم خوشمهای فراوان، از پس نصب تک لایو هم بر آمدیم که خوشبختانه تمام کارهایی که انتظار داشتم را درست انجام داد. حالا شاید بخواهید همین الان آپگرید کنید. برای به روزرسانی، شما از ابزاری به اسم texlive manager استفاده میکنید که با استفاده از یکی از دستورات زیر میتوانید بهشان دسترسی داشته باشید:
[bash]
tlmgr {for text mode}
tlmgr -gui {for graphical mode (recomended)}
[/bash]
آپگرید به آخرین نسخهی تکلایو، حجم زیادی را برای اولین بار طلب میکند. روش جایگزین دیگری در این زمینه وجود دارد که در پست دیگری به آن میپردازم.
تغییر (تثبیت) اعلان خط فرمان اسلکور
اعلان خط فرمان لینوکس در عین سادگیاش میتواند شدیدا کاربردی باشد! در توزیعهای مختلف دیده بودم که این اعلان خط فرمان فقط در علائم کاربری $ و ریشه # متفاوت از هم بود، اما در اسلکور، یک نکته عجیب در این مورد برایم وجود داشت! آن هم این که در حالت عادی اعلان فرمان به صورت:
[bash]
user@hostname $
[/bash]
نشان داده میشد، اما وقتی مثلا در کنسول KDE یک Tab جدید باز میکردم، اعلان به صورت زیر تغییر میکرد که متاسفانه، هیچ قابلیت به درد بخوری در خود نداشت:
[bash]
bash.4.?: $
[/bash]
این مشکل از وقتی که از برنامه Yakuake برای دسترسی راحتتر به ترمینال استفاده میکردم، بیشتر به چشم میآمد، و عملا تمامی اعلان فرمانهایش به همین شکل بود. پس تصمیم گرفتم یک بار برای همیشه، بیسوادی را کنار بگذارم و حلش کنم. مشکل به دو فایل زیر مربوط میشد:
[bash]
/etc/bashrc
~/.bashrc
[/bash]
که متاسفانه هیچکدامشان در اسلکور به صورت پیشفرض وجود نداشتند، و از قرار آن اعلان سالم اول کار هم از فایل HOSTNAME موجود در شاخه etc استفاده میکرد. خوب پس کافی بود یکی از این فایلها را بسازم، و از آنجایی که ساختن فایل دوم، به نظرم آسانتر آمد، با دستور vim ~/.bashrc اقدام به ساختنش کردم، و خط زیر را به آن اضافه کردم:
[bash]
PS1=»[u@hw]$ »
[/bash]
ترمینال را یک بار بستم و باز کردم، و همهچیز خوب بود. حالا میماند توضیحات این خط دوم:
- ! : شماره فعلی تاریخچه فرمان را نشان میدهد.
- # : شماره دستور آخرین دستور را نشان میدهد.
- $ : اعلان فرمان استاندارد را نشان میدهد.
- W : فقط دایرکتوری کاری جاری را نشان میدهد.
- : فقط یک بک اسلش نشان داده میشود.
- d : روز، ماه و شماره روز را نمایش میدهد. مثلا : Sat Jan 23
- h : نام کامپیوتر میزبان را نشان میدهد.
- n : یک خط جدید باز میکند.
- s : نام پوسته فرمان را نشان میدهد. مثلا bash
- t : زمان را بصورت ساعت، دقیقه و ثانیه نمایش میدهد. برای مثال : 10:14:40
- u : نام کاربر را نمایش میدهد.
- w : مسیر کامل دایرکتوری جاری را نمایش میدهد.
من این تنظیمات را از مطلب «آموزش کامل خط فرمان» که در سایت تکنوتاکس قرار داشت، بدست آورده بودم، ولی الان هر چه گشتم لینک پیدا نکردم، که اضافه کنم!
برای این که نتیجهی اعلانتان را ببینید و یا این که اگر لازم شد در موقعیت خاصی وضعیت اعلانتان را عوض کنید (البته نه برای همیشه، فقط برای نشست حاظر) کافیست از دستور زیر در ترمینال استفاده کنید:
[bash]
export PS1=»[u@hw]$ »
[/bash]
فکر کنم به عنوان یک نکته کوچک، دیگر همینقدر توضیح دادن کافی باشد. 😉
نصب و اجرای Anki در اسلکور
این بار نرمافزاری بسیار کوچکتر از قبل، دغدغهی نصب و اجرای یک نرمافزار در محیط اسلکور را برایم فراهم کرد! Anki نرمافزار شبیه ساز محیط فلش کارت را به دلیل خاصیتش، قبل از این میشناختم. ولی با شکست در اجرایش و همچنین نبود فلش کارت مناسب زیاد توجهی بهش نکردم. اما اینبار با ورود فلش کارتهای ایمان، وضع فرق کرد. میدانستم که کاملترین نمونهی این نرمافزارها همین Anki است. از همه جالبتر هم بخش آمار و نمودارهایش بود که بسیار وسوسهام میکرد این نرمافزار را نصب کنم. در ادامه مراحل نصب را مرور میکنیم!
قبل از هر کاری pysetuptools را از اینجا دریافت و نصب کنید. دیگر پیش نیازهای اولیهتان برای نصب اینها هستند:
[bash]
sqlalchemy 0.4.3
simplejson 1.7.3
[/bash]
بستهی دوم (simplejason) را میتوانید با استفاده از Slackbuild موجود در این آدرس نصب کنید. برای SQLAlchamy هم من آخرین نسخهی موجود را نصب کردم! برای این کار کافیست آخرین نسخه را از اینجا دریافت کنید، و Slackbuild نسخه قدیمی را نیز از اینجا بگیرید، حالا فایل Slackbuild را با یک ویرایشگر متن باز کنید، همان اوایل متن مقدار جلوی VERSION را به مقدار دلخواهتان تغییر دهید (برای من چنین چیزی از آب در آمد VERSION=0.7.2 ) حالا اگر میخواهید این نرمافزار قدرت گراف کشیدن داشته باشد به ترتیب باید از پس بستههای زیر هم بر بیایید. (لینک Slackbuildهای مربوطه از این شمارهها قابل دسترسی است: ۱، ۲، ۳، ۴)
[bash]
– python-numpy (numpy)
– python-matplotlib (matplotlib)
[/bash]
برای داشتن چند قابلیت دیگر نظیر ضبط صدا و یا وارد کردن فایل XML هم نیاز به چند پیشنیاز دارید که با استفاده از فایل README موجود در پوشهی Anki میتوانید با آنها آشنا شوید. (من اونها رو تست نکردم، و برای نصب هم نیازی به اونها نداریم).
پس از نصب پیشنیازها آخرین نسخهی Anki را از اینجا دریافت کنید. آن را از حالت فشرده خارج کرده و سپس به مسیر زیر بروید:
[bash]
cd anki-YOUR-VERSION/libanki
[/bash]
لطفا توجه داشته باشید که فایلی با نام setup.py در پوشهی اول Anki هم موجود هست، ولی ما به آن کار نداریم، و عملیات نصب را با setup.py موجود در پوشه libanki انجام میدهیم. برای شروع عملیات نصب دستور زیر را اجرا کنید:
[bash]
python setup.py install
[/bash]
دستور فوق را یا با کاربر root و یا با استفاده از sudo اجرا کنید. پس از پایان عملیات نصب میتوانید برنامه را با دستور anki اجرا کنید. متاسفانه نصاب این برنامه برای anki در منوی KDE هیچ گزینهای اضافه نمیکند، پس باید زحمت این را شما بکشید. ظاهرا الان برنامه درست کار میکند، اما برای دیدن روی بد سکه، سعی کنید فلش کارت جدیدی ایجاد کنید و یا یک فلش کارت به آن اضافه کنید. متاسفانه با اخطار زیر روبرو میشوید:
[bash]
Traceback (most recent call last):
File «/usr/lib/python2.6/site-packages/ankiqt/ui/main.py», line 953, in onNew
self.deck.initUndo()
File «/usr/lib/python2.6/site-packages/anki/deck.py», line 3415, in initUndo
(null, ‹delete from %(t)s where rowid = ‹ || new.rowid); end»»» % {‹t›: table})
File «/usr/lib/python2.6/site-packages/anki/db.py», line 114, in statement
return self.execute(text(sql), kwargs)
File «/usr/lib/python2.6/site-packages/anki/db.py», line 90, in execute
x = self._session.execute(*a, **ka)
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/orm/session.py», line 724, in execute
clause, params or {})
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/engine/base.py», line 1191, in execute
params)
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/engine/base.py», line 1271, in _execute_clauseelement
return self.__execute_context(context)
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/engine/base.py», line 1302, in __execute_context
context.parameters[0], context=context)
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/engine/base.py», line 1401, in _cursor_execute
context)
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/engine/base.py», line 1394, in _cursor_execute
context)
File «/usr/lib/python2.6/site-packages/SQLAlchemy-0.6.7-py2.6.egg/sqlalchemy/engine/default.py», line 299, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (OperationalError) cannot create trigger on system table u»ncreate temp trigger
_undo_sqlite_stat2_itnafter insert on sqlite_stat2 beginninsert into undoLog valuesn(null,
‹delete from sqlite_stat2 where rowid = ‹ || new.rowid); end» ()
[/bash]
خوب برنامه به دلایلی (که هنوز هم نفهمیدم چیه!) این اخطار رو از قرار فقط برای جماعت اسلکور کار بر میگرداند! برای حل این مشکل نیز کافیست، برنامه را دوباره استارت کنید و با استفاده از کلید Download موجود در صفحه اصلی، اقدام به بارگذاری یکی از فلشکارتهای مربوط کنید. به طرز عجیبی برنامه پس از آن کاملا درست کار میکند و شما هم میتوانید با استفاده از آن، بر دانستنیهای دائمتان بیافزایید 😛
چرا باید LaTeX را دوست داشت؟
همین دیروز بود که به دوستم علی میگفتم «اگر هر جایی و به هر دلیلی به کلمهٔ LaTeX برخوردی، گوشهات رو بگیر و در رو!». خوشبختانه، لاتک با تمام سختیها و پیچیدگیهای لعنتیاش، اینقدر برایم گیرا بود که کار با آن را ادامه دهم تا برایم اثبات کند که نه، جز لاتک با هر حروفچین دیگری کار کردن، حرام است!
تازه تجربهٔ خروجی گرفتن از یک فایل tex را از سر گذراندهام و خیلی خیلی زود است که بخواهم دلیل و مدرک سنگینی بیاورم که «آره آقا، از فردا هر کس با لاتک مطلب ننوشت، و یا کار با لاتک را ندانست، از ما نیست!». اما میخواهم برای فعلا و ثبت در خاطراتم، اینجا بنویسم که چگونه کفهٔ ترازو به نفع لاتک برایم پایین رفت:
- انگلیسی نوشتن، و ساده نوشتن در لاتک، فوقالعاده آسان است! اما وای به حالتان اگر بخواهید فارسی بنویسید، در این صورت باید یک دورهٔ کامل برنامهنویسی بستههایش را بگذرانید (به این شوریها هم که گفتم نیست، در آینده بیشتر در این مورد مینویسم) .
- آسانترین کار ممکن در لاتک، پانویس نوشتن است، که خوب من هنوز هم بلد نیستم که در هیچ کدام از ورد پرسسورهای رایج انجامش دهم!
- فهرست کردن مطالب در لاتک فقط زحمت نوشتن tableofcontent/ را میطلبد!
- تمام سختگیریهای لاتک در مورد پاراگرافها، خطوط، علامتهای مختلف و قابلیتهایش برای تعیین کردن سر فصل، و بخشها نتیجهای فوقالعاده زیبا و خوانا را به شما باز میگرداند (ولی آنچنان دهانی از شما… که…) !
- افزودن تصویر در لاتک به قدری سخت هست، که هنوز جرات نکردهام نزدیکش شوم!
- همهٔ تجربیات بالا را اضافه کنید، به درد و خونریزی شدیدی که باید برای افزودن قابلیتهای تایپ فارسی بدون درد و خونریزی در لاتک متحمل شوید!
- نوشتن مقاله در لاتک، عملا حکم یک برنامهنویسی تمام عیار را دارد!
در کل پس از سبک سنگین کردن قضایای بالا من هم به این نتیجه رسیدم که اگر حرف از با سواد بودن در جامعهٔ امروزی میزنید، و برای مهندس مهندس شنیدن، آب دهانتان سر ریز میشود، حداقلش این است که مقالاتتان را با LaTeX آماده کنید، نه مثل استاد گرامیمان، به مسلط بودن به مجموعه نرمافزار آفیس افتخار ورزید! (گفتم «من هم» ، چون آرش آبادپور و امین ثابتی عزیز در این مورد قبلا سخنها راندهاند) .
فعلا میتوانید برای منبع، به اینها که امین عزیز نشان داده است مراجعه کنید، البته تگ لاتک وبلاگ هر دوی این عزیزان (آرش و امین) خواندنش خالی از لطف نیست.
در ضمن دلتان را هم به این خوش نکنید که لاتک را در وب فارسی جستجو کنید، چون نتیجهاش انواع کاندوم است که نثارتان میشود 😉
نبض سیستمتان در دستان شما
زیاد اهل خوشگل کردن دسکتاپم نیستم. حقیقتش این است که تصویر پسزمینه را هم ممکن است همان که پیشفرض است بگذارم و تغییر ندهم. – نمیدانم، شاید این عادت از همان سیستم قدیمی و ویندوز XP برایم باقی مانده، که برای لود بکگراند غیر پیشفرض جانش بالا میآمد. -.
پس از ارتقا KDE به نسخهٔ ۴،۷ و پیدا کردن این سایت که پسزمینههای فوقالعادهای در خود جای داده (تشکر دوباره از بردیا که در گوپس معرفیاش کرد)، خواستم یکی از معدود پلاسمویدهایی را که استفاده میکنم را دوباره نصب کنم. نتیجه به حدی برایم دلنشین شد که آن را اینجا به اشتراک میگذارم.
Yasp-Scripted را میتوانید از اینجا دانلود و نصب کنید (کار زیاد سختی نیست، باید از سورس اقدام کنید که در فایل INSTALL طبق معمول همه توضیحات داده شده). ولی بسته به سیستمتان بعد از افزودن پلاسموید به میزکار ممکن است نتیجهای نگیرید (که من هم نگرفتم!). موضوع سر فایل. yasp.script که در پوشهٔ خانگیتان میتوانید پیدایش کنید. این فایل کدهای مربوط به نحوه و امکانات نمایش پلاسموید را در اختیار دارد که ممکن است با سیستم شما همخوان نباشد. خوشبختانه تعدادی دیگر از نمونههای این فایل را میتوانید در شاخه yasp_scripts موجود در سورس کد بیابید. گزینههای مختلف را امتحان کنید، احتمالا به نتیجه میرسید. بعد هم میتوانید با توجه به سلیقه و امکانات سختافزاریتان، فایلی که برایتان اثربخش بوده را شخصی سازی کنید.
من نمونهای از این فایل را که برای خودم آماده کردم دز اینجا قرار دادهام که میتوانید دریافت کنید. این فایل را برای CPU چهارهستهای آماده کردهام و بخشهای مربوط به سنسور حرارتش را حذف کردهام (هر چه تلاش کردم نتوانستم به کارش بیاندازم) . ترتیب رنگها هم تنها ترتیب رنگی است که اصولا یادم نمیرود (رنگین کمان) . در کل چیز جالبی در میآید اگر روی یک بکگراند روشن پیاده شود. نمونه میزکار من را در زیر مشاهده میکنید.
حل دو مشکل احتمالی پس از نصب اسلکور
دیروز پس از مدتها و از روی بیکاری تصمیم به نصب دوبارهٔ اسلکور روی سیستمم گرفتم، و پس از نصب با دو مشکل برخورد کردم که میخوام تو این قسمت روشهای حلشون رو بیان کنم.
۱- شماره ویدئو مد:
ممکنه مثل دیروز من و تعدادی دیگه که نتونستن با کمک گرفتن از انجمنها مشکلشون رو حل کنن، شما هم پس از لود شدن Lilo به صورت بلافصل با پیغام زیر روبرو بشید:
[bash]
Bios data check successful
undefined video mode number: ۳۱۶
[/bash]
خط اول که برای همهتون آشناست، ولی خط دوم ممکنه با مقادیر مختلفی به شما نمایش داده بشه، که در پی اون شما ۳۰ ثانیه وقت دارین که یا یکی از ویدئو مدهای توی لیست که با Enter ظاهر میشه رو انتخاب کنید، و یا با مد پیشفرض به ادامه لود اسلکور بپردازین. برای حل این مشکل کافیه اول با یه ویرایشگر فایل زیر رو باز کنید:
[bash]
/etc/lilo. conf
[/bash]
بعد چک کنید که آیا یکی از مقادیر VESA Frame buffer console @… فعال هست یا نه! احتمالا هست، و نیاز به تغییر چیزی ندارین، اگه هم نبود کافیه که # کنار گزینهٔ دلخواهتون رو بردارین. حالا این فایل رو ذخیره کنید و دستور زیر رو اجرا کنید:
[bash]
lilo
[/bash]
تموم شد. این مشکل حل شد. احتمال میدم این مشکل به خاطر اینه که این دستور بعد از نصب و کانفیگ لیلو در مراحل نصب اسلکور درست اجرا نمیشه. البته توجه داشته باشید که من در حین نصب نسخهٔ کارنت اسلکور به این مشکل بر خوردم.
۲- نصب راهانداز گرافیکی Nvidia:
ممکنه خبر داشته باشین که از نسخهٔ ۱۳.۳۷ اسلکور از یک راهانداز به اسم nouveau به عنوان جایگزین راهاندازهای رسمی Nvidia استفاده میکنه که خوب برای من یکی که دوست دارم از راهانداز رسمی استفاده کنم، یه مشکلی پیش میآره. اون هم اینکه اجازه نمیده راهانداز رسمی رو نصب کنم. برای حل این مشکل باید سه مرحلهٔ سادهٔ زیر رو انجام بدین:
اول به آدرس زیر برین و بستهٔ xf86-video-nouveau-blacklist-noarch-1.txz رو با استفاده از installpkg نصب کنید:
[bash]
extra/xf86-video-nouveau-blacklist
[/bash]
و بعد از اون سیستم رو دوباره راهاندازی کنید. حالا دستور pkgtool رو توی ترمینال اجرا کنید، و در بخش Remove (گزینهٔ مربوط به پاک کردن بستههایی که در حال حاظر روی سیستم نصب شدهاند) به دنبال بستهای با اسمی مشابه زیر بگردید:
[bash]
xf86-video-nouveau-8bb835463-x86-64-1
[/bash]
توجه کنید که از خط تیرهٔ سوم به بعد ممکنه تغییراتی رو در نسخههایی که روی سیستم شما نصب هست شاهد باشید، و حتما توجه داشته باشید که بستهای که چند دقیقه قبل نصب کردیم رو انتخاب نکنید. حالا که بستهٔ مورد نظر رو انتخاب کردین، کافیه اون رو به دست pkgtool بسپارین تا پاکش کنه. پس از حذف این بسته از pkgtool خارج بشین و به سراغ نصب درایور رسمی Nvidia برین.
راه اندازی بلوتوث در اسلکور
خوب بعد از مدتی غیبت، توی این وبلاگ میخوام یه آموزش کوچیک رو به اشتراک بگذارم. یکی از ابزارهایی که خیلی به درد PC میخوره و کمک زیادی به اشتراک فایلها بین ابزارهای مختلف میکنه بلوتوثه! من یه چندتایی از این دانگلهای بلوتوث داشتم که همشون به مرور زمان خراب شدن. ولی خیالم راحت بود که توی اوبونتو این ابزارها خیلی راحت، بعد از نصب به کار میافتن!
چند روز پیش که به لطف پسردایی یکی از این دانگلها البته سالمش رو صاحب شدم ( میگم به لطف چون مجانی بود ) خواستم Bluetooth Devices که توی منوی KDE دیده بودم رو باز کنم، دیدم که ای داد اخطار داد. مشکل سر این بود که Daemon مربوط به بلوتوث توی اسلکور فعال نشده بود. و خوب فعال کردنش کار خاصی نداره. کافیه به آدرس زیر بریم و با دستور دوم Daemon رو Executable کنیم ( اجرایی بشه ) ، و با دستور سوم فعالش کنیم:
[bash]
cd /etc/rc.d
chmod +x rc.bluetooth
./rc.bluetooth start
[/bash]
حالا ممکنه مثل من بخواین که دیگه سیستم خود به خود هنگام لود، این Daemon رو فعال کنه، کافیه مثل قبل که اینجا یاد دادم، کدهای زیر رو داخل rc.local اضافه کنید:
[bash]
#start bluetooth
if [ -x /etc/rc.d/rc.bluetooth ]; then
/etc/rc.d/rc.bluetooth start
fi
[/bash]
و همچنین برای خاموش کردنش در هنگام شاتداون سیستم، کدهای زیر رو به rc.local_shutdow :
[bash][/bash]
# Stop bluetooth
if [ -x /etc/rc.d/rc.bluetooth ]; then
/etc/rc.d/rc.bluetooth stop
fi
[bash][/bash]
نصب VirtualBox در اسلکور 64 بیتی کارنت و معمولی!
نصب ماشین مجازی ساز ویرچوال باکس حداقل برای دانشجوهایی مثل من که دوست دارند با لینوکس کار کنن و استادایی دارن که کار با نرمافزارهای کرک شده رو قراره ازشون امتحان بگیرن، یه امر حیاتیه! نصب ویرچوال باکس روی اسلکور چندتا تکنیک کوچولو لازم داره که میخوام توی این پست بنویسم که در آینده اگه بهشون نیاز پیدا کردم، در دسترس باشن!
اول از همه به قابلیت چند کتابخانهای توی اسلکور نیاز دارید که میتونید از سه تا لینک روبرو کمک بگیرین: +, +, +. و دوم بستهی Acpci رو از اینجا دریافت و نصب کنین.
برای نصب مثل آدمیزاد این نرم افزار کافیه اول با دستور زیر یه گروه برای ویرچوال باکس بسازین:
[bash]
groupadd -g 215 vboxusers
[/bash]
و بعد هم با استفاده از این دو Slackbuild +, + بستههای Virtualbox-ose و Virtualbox-kernel رو نصب کنید. ( اگه برای دانلود بستههای Virtualbox-ose مشکلی داشتین تا مدتی میتونین اون رو از روی سرور من یعنی اینجا دانلود کنید.)
ولی میمونه یه نکته که برای موقعیه که شما از نسخهی کارنت اسلکور استفاده میکنین. بنا به دلایلی که برام آخرش هم روشن نشد که چرا توی 13.1 این اتفاق نیافتاد، ممکنه با این اخطار روبرو بشین:
[bash]
<code>kmk[2]: *** Waiting for unfinished jobs….
kmk[2]: Leaving directory `/tmp/VirtualBox-3.2.0_OSE›
kmk[2]: Entering directory `/tmp/VirtualBox-3.2.0_OSE›
kmk[2]: *** Exiting with status 2
kmk[1]: *** [pass_binaries_this] Error 2
kmk[1]: Leaving directory `/tmp/VirtualBox-3.2.0_OSE›
kmk: *** [pass_binaries_order] Error 2</code>
[/bash]
خوب من چون علاقهای به این نداشتم که از بسته کامپایلش کنم، یه روش آرتیستی بهتون میگم که برای خودم تا الانش که جواب داده. وقتی که Slackbuild شروع به کار کرد، خوب کدهای خروجی رو نگاه کنین، تا برسین به جایی که Enjoy رو ببینین. میشه تقریبا بعد از کامپایل و شروع make . به عبارت دیگه جایی که از پروسهی چک کردن بستههای پیشنیاز فارغ شده. همینجا یه Ctrl+z بزنین دستور زیر رو بزنین:
به روز رسانی: آموزشی که اینجا نوشتم مربوط به 3.2.10 هست ولی توی Virtualbox 4.0.4 هم همین مشکل پا برجاست و با همین روش حل میشه!
به روز رسانی: از قرار اگه یه کم توجه میکردم نیازی به این آرتیست بازی هم نیست! توی بستهی Slackbuildی که میگیریم یه فایل به اسم localConfig.kmk هست که تغییراتی که در ادامه ذکر کردم رو توی همون اعمال کنید حله!
[bash]
vim /tmp/SBo/VirtualBox-3.2.10_OSE/LocalConfig.kmk
[/bash]
اگه احیانا دیدین که این فایل موجود نبود، با fg 1 بزارین یکم دیگه Slackbuild کارش رو بکونه و بعد Ctrl+z رو بزنین و ادامه بدین:
توی آخر فایل اضافه کنین:
[bash]
VBOX_WITH_WARNINGS_AS_ERRORS :=
[/bash]
و حالا با fg 1 پروسهی Slackbuildمون رو که استاپ کرده بودیم، بر میگردونیم که کارش رو بکنه. اگه همهچی درست انجام شده باشه دیگه مشکلی نداریم.
حالا که نصب رو انجام دادیم، میریم که VirtualBox رو باز کنیم، و ماشین مجازیمون رو از توش اجرا کنیم. ولی از اونجایی که کور خوندیم، اجرا نمیشه. چرا؟ بخاطر این که Vboxdrv اجرا نشده. چیکار کنیم؟ میزنیم:
[bash]
/etc/rc.d/rc.vboxdrv start
[/bash]
حالا اجرا میشه. ولی مشکل اینجاست که بعد از یه خاموش روشن باس دوباره این کار رو انجام بدیم. برای این که از این تکرار ملالتبار خلاص بشیم، کافیه بزنیم:
[bash]
vim /etc/rc.d/rc.local
[/bash]
و خطهای زیر رو بهش اضافه کنیم:
[bash]
#start vboxdrv
if [ -x /etc/rc.d/rc.vboxdrv ]; then
/etc/rc.d/rc.vboxdrv start
fi
# Start vboxnet
if [ -x /etc/rc.d/rc.vboxnet ]; then
/etc/rc.d/rc.vboxnet start
fi
[/bash]
به فاصلهها حتما دقت کنین. و برای این که تغییراتی که تو روشن شدن سیستم دادیم، موقع خاموش شدن به حالت قبل برگردونیم بزنین:
[bash]
vim /etc/rc.d/rc.local_shutdown
[/bash]
و توش کدهای زیر رو وارد کنید:
[bash]
top vboxdrv
if [ -x /etc/rc.d/rc.vboxdrv ]; then
/etc/rc.d/rc.vboxdrv stop
fi
# Stop vboxnet
if [ -x /etc/rc.d/rc.vboxnet ]; then
/etc/rc.d/rc.vboxnet stop
fi
[/bash]
همین. از مجازی سازی با VirtualBox لذت ببرین!