اجرای یک برنامه ویندوزی در لینوکس در پس‌زمینه

برای یک پروژه نیاز داشتیم که یه برنامه ویندوزی که خروجی کنسول داشت را توی لینوکس اجرا کنیم. مشکل این بود که وقتی برنامه را اجرا می‌کردی با وجودی که در پس‌زمینه کار می‌کرد اما به محض اینکه ارتباط sshای که دستور شروع اجرا برنامه را داده بود، بسته می‌شد. برنامه خطا می‌داد و می‌ترکید!
دو راه حل برای اینکار پیدا کردیم:
۱. اولین تجربه این بود که با استفاده از vnc یک محیط گرافیکی ایجاد کردیم و گفتیم که برنامه توی اون اجرا بشه! مشکل حل شد. توی محیط x که از طریق vnc باز شده بود. برنامه هم بعد از بستن ارتباط ssh کار می‌کرد.
۲.راه حل دوم این بود که از دستور nohup استفاده کنیم. برای اطلاعات بیشتر برین man دستور را بخونید! 🙂
اما برای روش اول (که حتی به درد نرم‌افزارهای عادی ویندوز هم قابل استفاده است) باید اول سرویس‌دهنده vnc نصب کنید:

یه رمز برای اتصال به vnc تعیین کنید:

بعد یه محیط x باهاش استارت کنید:

حالا کافیه که بگید برنامه بره اون تو اجرا بشه:

تمام!