screen یک ابزار مفید برای root

فرض کنید شما به یک سیستم عامل Unix مانند که با شما فاصله زیادی دارد فقط از طریق ssh دسترسی دارید و باید آن را مدیریت کنید و سرویس هایی را که لازم است مورد بررسی قرار دهید . برنامه ای بر روی آن نصب کنید . در حال نصب برنامه ای مانند snort هستید که یم دفعه ارتباط ssh شما در اثر این اینترنت درب و داغون قطع می شود و شما مجبور هستید تا دوباره به آن سیستم  ssh کنید و دوباره نصب snort را از اول آغاز کنید تازه خدا کند که در اثر خرابی اینترنت دوباره ارتباط شما قطع نشود .

در دنیای سیستم عامل هایی مانند Unix برنامه پرقدرت و بسیار مفید screen به داد شما می رسد و به شما کمک می کند تا باخیال راحت به کار خود ادامه دهید و اگر چنانچه ارتباط شما با server قطع شد این screen است که کار شما را ادامه می دهد و شما در مراجعه بعدی می توانید ببینید که snort نصب شده است و شما باید آن را config کنید .

پس screen یک ابزار است که کار هایی را به آن سپرده و این ابزار این کار ها را برای شما  ادامه می دهد و شما با خیال راحت به بقیه کار های خود می توانید برسید.

در FreeBSD برای نصب screen کافی است دستور زیر را در ترمینال تایپ کنید .

# cd /usr/ports/sysutils/screen
# make install clean

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


mfaridi% screen

بعد از تایپ  یک پنجره جدید برای شما باز می شود  کافی است در این پنجره space را فشار دهید تا به خط فرمان یا ترمینال هدایت شوید حالا می توانید دستور هایی را که لازم دارید تایپ کنید . فرض کنید می خواهید snort را نصب کنید .

برای کار کردن با screen کافی است از کلیده های ترکیبی زیر استفاده کنید :

۱- کلیدهای Ctrl+a+c با هم باعث می شود که در صفحه screen صفحه دیگری باز شود تا شما بتوانید دستور تازه ای در آن تایپ کنید.

۲- کلید های Ctrl+a+w به شما نشان می دهد که چندتا screen باز شده است .

۳- کلیدهای Ctrl+a+a باعث می شود اگر شما چند screen باز کرده باشید و در هر کدام کاری را انجام می دهید به screen قبل از screen حالا مراجعه کنید و برگردید.

۴- کلیدهای Ctrl+a+n باعث می شود شما از این screen ی که الان هستید به یک screen بالاتر بروید و در آنجا کار هایی را انجام دهید .

۵- کلید های Ctrl+a+p باعث می شود شما  از این screen ی که الان هستید به یک screen قبل برگردید و در آنجا کار هایی را انجام دهید .

۶- و اما مهمترین کار screen با فشار دادن کلید های Ctrl+a+d باعث می شود که از screen خارج شوید و به اصطلاح detach شوید بدون آنکه کار شما قطع شود شما از screen خارج شده اید اما screen کار نا تمام شما را ادامه می دهد و شما می توانید به بقیه کار های خود برسید.

۷- کلید های Ctrl+a+A باعث می شود که صفحه ای باز شود و از شما خواسته شود که برای این screen ی که الان دارید کار می کنید یک اسم یا name بگذارید . این گزینه زمانی به درد می خورد که شما screen های زیادی را باز کرده باشید .

بعد از فشار دادن کلید های Ctrl+a+d شما از screen خارج می شوید ولی کار های شما با استفا ده از screen ادامه پیدا می کند و به خط فرمان بر می گردید و می توانید دستور های جدیدی را تایپ کنید .

حال اگر بخواهید دوباره به screen بر گردید و ببنید که مراحل نصب snort تا کجا ادامه پیدا کرده است  کافی  است در ترمینال دستور زیر را  تایپ کنید.

mfaridi% screen  -ls

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

23746.pts-40.mfaridi     (Detached)

خروجی بالا نشان می دهد که یوزر mfaridi یک screen به شماره 23746 را اجرا کرده است و دارد در آنجا کاری را انجام می دهد . خوب برای اینکه به محیط screen بر گردیم کافی است در ترمینال دستور زیر را تایپ کنیم :

mfaridi% screen -r

بعد از تایپ دستوپر بالا به محیط screen بر می گردید و می توانید پیگیری کنید که نصب snort تا کجا پیش رفته است و اگر دوست داشتید می توانید دوباره کلید های Ctrl+a+d را فشار دهید تا detach شوید و به بقیه کار های خود بپردازید.

اگر چند screen باز کرده باشید خروجی دستور

mfaridi% screen -ls

ممکن است به صورت زیر باشد .

23746.pts-40.mfaridi     (Detached)
22140.pts-118.mfaridi    (Detached)

این یعنی اینکه یوزر mfaridi دو screen به شماره های 23746 و 22140 را اجرا کرده است .

فرض کنید می خواهید بدانید در screen شماره 22140  کار ها تا کجا پیش رفته است کافی است در ترمینال دستور زیر را  تایپ کنید .

mfaridi% screen -r 22140.pts-118.mfaridi

این یعنی اینکه screen شماره 22140  از حالت detach خارج شود .

پس فهمیدیم اگر چند screen باز کردیم برای برگشت به هر کدام کافی است در جلوی عبارت screen -r شماره مربوط به screen ی را که احتیاج داریم را تایپ کنیم.

جالب بود نه ؟

در FreeBSD یک برنامه دیگر به نام tmux وجود دارد که کار screen را انجام می دهد ولی تفاوتی که با screen دارد این است کع اولا license آن متعلق به FreeBSD است و ثانیا کلیدهای ترکیبی Ctrl+a جای خود را به Ctrl+b داده است .