خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش استفاده از Screen در لینوکس
آیا تا به حال با این شرایط روبرو شده اید که یک کار طولانی مدت را روی یک دستگاه ریموت انجام دهید و ناگهان اتصال شما drop شده و SSH Session قطع شود و کار شما از بین رود؟ احتمالا این مورد برای همه ما رخ داده است. خوشبختانه، ابزار screen در لینوکس وجود دارد که به ما امکان می دهد Session ها را از سر بگیریم یا به عبارت دیگر resume کنیم.
Screen یا GNU Screen یک ترمینال مالتی پلکسر است. به عبارت دیگر، به این معنی است که شما می توانید یک screen session را شروع کنید و سپس هر تعداد پنجره (ترمینال مجازی) را در داخل آن Session باز کنید. فرآیندهایی که در Screen اجرا می شوند، زمانی که پنجره آنها قابل مشاهده نباشد، حتی اگر اتصال شما قطع شود، همچنان در حال اجرا می مانند.
چنانچه screen روی توزیع لینوکس تان نصب نیست، با دستورات زیر می توانید آن را نصب کنید.
به منظور استارت screen session، کافیست دستور زیر را در اجرا کنید:
یک screen session را باز می کند، یک پنجره جدید ایجاد می کند و یک shell در آن اجرا می شود.
بدین ترتیب یک screen session را باز کرده و می توانید لیستی از دستورات را با تایپ کردن مورد زیر بدست اورید:
Session های نامگذاری شده زمانی مفید هستند که چندین session روی Screen باز شده باشند. برای ایجاد یک session با نام، دستور screen را با آرگومان های زیر اجرا کنید:
هنگامی که یک screen session جدید را استارت می کنید، یک پنجره واحد با یک shell در آن ایجاد می کند. شما می توانید چندین پنجره در داخل یک Screen session داشته باشید.
برای ایجاد یک پنجره جدید با shell، کلیدهایCtrl+a و c را تایپ کرده و اولین عدد موجود از محدوده 0...9 به آن اختصاص داده می شود. در زیر برخی از رایج ترین دستورات برای مدیریت پنجره Screen لینوکس آورده شده است. توضیحات کاملا مشخصه و انگلیسی ساده اس:
برنامه در حال اجرا در screen session پس از جدا شدن از session به کار خود ادامه می دهد.
در صورتی که چندین screen session روی دستگاه شما اجرا می شود، باید شناسه screen session را بعد از کلید r اضافه کنید. برای یافتن session ID، باید screen session های جاری در حال اجرا را لیست کنید:
اگر می خواهید صفحه 10835.pts-0 را بازیابی کنید، دستور زیر را تایپ کنید:
هنگامی که screen اجرا می شود، پارامترهای پیکربندی خود را از etc/screenrc و ~/.screenrc در صورت وجود فایل می خواند. با استفاده از فایل screenrc. میتوانیم تنظیمات پیشفرض screen را مطابق با نیاز خود تغییر دهیم.
در اینجا یک نمونه پیکربندی ~/.screenrc با چند خط پیکربندی سفارشی شده را می توانید مشاهده کنید:
در خط فرمان screen را تایپ کنید. سپس برنامه مورد نظر را اجرا کنید. از کلیدهای Ctrl-a + Ctrl-d برای detach یا جدا شدن از screen session استفاده کنید. با تایپ screen -r دوباره به screen session مورد نظرتان وصل شوید.
Screen یا GNU Screen یک ترمینال مالتی پلکسر است. به عبارت دیگر، به این معنی است که شما می توانید یک screen session را شروع کنید و سپس هر تعداد پنجره (ترمینال مجازی) را در داخل آن Session باز کنید. فرآیندهایی که در Screen اجرا می شوند، زمانی که پنجره آنها قابل مشاهده نباشد، حتی اگر اتصال شما قطع شود، همچنان در حال اجرا می مانند.
Install Linux GNU Screen
پکیج screen امروزه در اکثر توزیعهای لینوکس از قبل نصب شده است. با تایپ کردن دستور زیر می توانید بررسی کنید که روی سیستم شما Screen نصب شده یا خیر:screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
چنانچه screen روی توزیع لینوکس تان نصب نیست، با دستورات زیر می توانید آن را نصب کنید.
نصب Screen روی اوبونتو و دبیان:
sudo apt update
sudo apt install screen
نصب Screen روی CentOS 8 و Fedora:
sudo yum install screen
به منظور استارت screen session، کافیست دستور زیر را در اجرا کنید:
screen
یک screen session را باز می کند، یک پنجره جدید ایجاد می کند و یک shell در آن اجرا می شود.
بدین ترتیب یک screen session را باز کرده و می توانید لیستی از دستورات را با تایپ کردن مورد زیر بدست اورید:
Ctrl+a ?
Session های نامگذاری شده زمانی مفید هستند که چندین session روی Screen باز شده باشند. برای ایجاد یک session با نام، دستور screen را با آرگومان های زیر اجرا کنید:
screen -S session_name
هنگامی که یک screen session جدید را استارت می کنید، یک پنجره واحد با یک shell در آن ایجاد می کند. شما می توانید چندین پنجره در داخل یک Screen session داشته باشید.
برای ایجاد یک پنجره جدید با shell، کلیدهایCtrl+a و c را تایپ کرده و اولین عدد موجود از محدوده 0...9 به آن اختصاص داده می شود. در زیر برخی از رایج ترین دستورات برای مدیریت پنجره Screen لینوکس آورده شده است. توضیحات کاملا مشخصه و انگلیسی ساده اس:
Ctrl+a c Create a new window (with shell).
Ctrl+a " List all windows.
Ctrl+a 0 Switch to window 0 (by number).
Ctrl+a A Rename the current window.
Ctrl+a S Split current region horizontally into two regions.
Ctrl+a | Split current region vertically into two regions.
Ctrl+a tab Switch the input focus to the next region.
Ctrl+a Ctrl+a Toggle between the current and previous windows
Ctrl+a Q Close all regions but the current one.
Ctrl+a X Close the current region
Detach from Linux Screen Session
هر زمان که بخواهید میتوانید با تایپ کردن دستور زیر، از screen session جدا شوید:Ctrl+a d
برنامه در حال اجرا در screen session پس از جدا شدن از session به کار خود ادامه می دهد.
Reattach to a Linux Screen
برای از سر گیزی screen session از دستور زیر استفاده کنید:screen -r
در صورتی که چندین screen session روی دستگاه شما اجرا می شود، باید شناسه screen session را بعد از کلید r اضافه کنید. برای یافتن session ID، باید screen session های جاری در حال اجرا را لیست کنید:
screen -ls
There are screens on:
10835.pts-0.khoshamoz-desktop (Detached)
10366.pts-0.khoshamoz-desktop (Detached)
2 Sockets in /run/screens/S-khoshamoz.
اگر می خواهید صفحه 10835.pts-0 را بازیابی کنید، دستور زیر را تایپ کنید:
screen -r 10835
هنگامی که screen اجرا می شود، پارامترهای پیکربندی خود را از etc/screenrc و ~/.screenrc در صورت وجود فایل می خواند. با استفاده از فایل screenrc. میتوانیم تنظیمات پیشفرض screen را مطابق با نیاز خود تغییر دهیم.
در اینجا یک نمونه پیکربندی ~/.screenrc با چند خط پیکربندی سفارشی شده را می توانید مشاهده کنید:
~/.screenrc
# Turn off the welcome message startup_message off
# Disable visual bell vbell off
# Set scrollback buffer to 10000 defscrollback 10000
# Customize the status line hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
Basic Linux Screen Usage
پایه ای ترین مراحل برای شروع کار با screen را می توانید ببینید:در خط فرمان screen را تایپ کنید. سپس برنامه مورد نظر را اجرا کنید. از کلیدهای Ctrl-a + Ctrl-d برای detach یا جدا شدن از screen session استفاده کنید. با تایپ screen -r دوباره به screen session مورد نظرتان وصل شوید.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: